09_BGP路由
约 2706 字大约 9 分钟
2026-03-14
1. BGP协议
我并不是网络工程师出身, 对于具体的交换机和路由器的配置我也不怎么清楚,下列的内容是我最近处理BGP问题的时候自己边查边学的,所以总感觉有些地方讲的不够透彻。
1.1 BGP协议和ISP
学习过计算机网络这门课的朋友们应该都听说过BGP协议(Border Gateway Protocol): 互联网是通过一个个自洽系统AS(Autonomous System)连接起来的,不过的管理机构分别控制自己的自洽系统,这个管理机构就是我们常说的ISP(Internet Service Provider)。
为了区分不通的AS系统,IANA(互联网号码分配局)为每个实体颁发了一个全球唯一的编号,这就是 ASN (Autonomous System Number)。并且IPV4网段是被ASN所拥有的,在查看到某一个IP后,可以通过这个网 址来查看对应IP地址现在在被哪个ASN宣称(宣称就是BGP路由的广播,通过宣称让全世界的路由器知道走向对应IP地址的流量应该发到哪个ASN里面)
比如说最常见的ASN如下所示,:
- AS4134 --> 中国电信163骨干网
- AS15169 --> Google
- AS16509 --> Amazon
常用查询网址
大家经常通过这两个网址来查看对应IP地址现在由哪个ASN所有,又由哪个ASN所宣称:
- https://ipinfo.io/
- https://bgp.he.net/ip
"ip": "2.59.151.x",
"asn": "AS40065",
"as_name": "CNSERVERS LLC",
"as_domain": "cnservers.com",
"country_code": "US",
"country": "United States",
"continent_code": "NA",
"continent": "North America"
}1.2 ASN在网路安全上的内容
在我们的日常生活中,肯定会好奇,为啥自己挂了VPN,结果在注册Ins或者Telegram,或者别的什么的时候,无法验证通过。这时候就是ASN在发力了:
精准区分“机房 IP”与“住宅 IP”: 一个来自美国的 IP,如果其 ASN 属于 DigitalOcean (AS14061) 或 Amazon (AS16509),那么 99% 的概率这是一台数据中心的服务器(即机房 IP,极大概率是爬虫、代理)。因为谁家好人从机房里面注册社交媒体呀,但如果其 ASN 显示为 Comcast Cable (AS7922),这代表该 IP 是直接由美国最大的家庭宽带服务商分配的,具有极高的真人属性,这就是电商和广告反欺诈系统极力渴求的“高信誉住宅 IP (Residential IP)”。
溯源 DDoS 攻击源头: 当遭遇僵尸网络发起的反射型 DDoS 攻击时,防御者通过聚合攻击包的源 IP 并反查 ASN,能迅速摸清哪些劣质的小型 IDC 数据中心没有开启源地址伪造过滤(BCP38),从而直接从 BGP 路由层切断来自这些高危 ASN 的所有入站流量。
BGP路由劫持: 因为整个互联网的寻路机制完全建立在各个 ASN 互相之间“基于信任的路由宣告”上。如果一个非法的 ASN 突然向全球广播:“所有去往 AS15169 (Google) 的流量,现在走我这里最近!” 那么由于 BGP 协议早期的设计缺陷(缺乏严格的加密校验机制),周边的路由器真的会把原本去往 Google 的流量全部导向这个恶意 ASN。
这种骇人听闻的底层攻击被称为 BGP 路由劫持 (BGP Hijacking)。历史上曾多次发生过某个国家的运营商由于错误配置或恶意目的,瞬间吞噬了全球飞往 YouTube 或特定加密货币交易所的海量流量,导致全球范围的大规模断网或流量监听。
1.3 谁在管理全球的IPV4?
全世界的互联网IPV4网段就这么多,目前是由非盈利组织 IANA 分配的,并且也是按层级进行分配的
- IANA (顶层):全球互联网数字分配机构。它把巨大的地址池分给全球 5 个 RIR(区域互联网注册机构)。
- RIR (区域级):几乎可以理解五大洲就是五个RIR
- FRINIC:负责整个非洲。
- APNIC:负责亚太地区(包括中国、日本、澳大利亚、东南亚等)。
- ARIN:负责北美地区(美国、加拿大及部分加勒比海岛屿)。
- LACNIC:负责拉美及加勒比海地区
- RIPE NCC:负责欧洲、中东及中亚。
- LIR/ISP (机构级):机房或运营商(如 FDC Servers)从 RIR 申请/购买地址, 比如华为,联通,XX机房这个样子
顺带一提,并不是说机房可以随便申请一堆IP地址,这个IP地址只能租赁,没有买断一说。一个/24的地址一年的年费差不多1300美元了。而且还有开户费,IP地址的年费,你的ASN号的年费。而且IPV4的地址早在2011年就耗尽了,基本不可能直接从PIR那里拿到新的地址,所以很多公司现在都是去二手市场找别的公司买,那就更贵了,所以现在都在大批的搞IPV6改造。
2. 机房里面的BGP路由走向
在之前的工作中,我做网络配置就是ssh登录上对应的机器,修改对应的网卡文件,ping一下网关,通了就不管我的事情了。不行,再找对应的网络工程师,但其实了解一个机房的宏观的路由走向很有必要
2.1 在机房里面的上网模式
1) IDC (Internet Data Center):互联网数据中心。这是一个通称,指的是专门存放服务器、提供电力、冷却和高速网络连接的物理建筑。
2) FDC (FDC Servers):具体的机房运营商公司的名字。它们在 IDC 楼内租用空间,并把服务器、带宽转租给其他的公司
3) NOC(网络运营中心): FDC的对应网络工作人员,理解和 400 一样普通模式(租用):你租个机柜,花钱让 FDC 直接分给你几个 IP。
专家模式(自有):你拥有一段 IP(66.51.65.0/24), 这段IP从ASN上来就是属于你的。 你可以给出凭证,让FDC的人把这个IP加到他的BGP路由表里面,这样全世界访问这个IP的流量就会进入他的机房,也就最终使得你可以在这个机柜里面使用对应的公网IP。
2.2 BGP-Session
所谓的BGP-Session就是两台路由器之间的连接,机柜里面不只有服务器,还有作为网关的交换机(三层交换机也当路由器用), 在物理上 机柜的交换机和FDC的交换机通过网线相连(或者逻辑相连),逻辑上在BGP路由中,两者互为邻居。当BGP协议更新的时候,两台机器通过TCP 169 端口握手,并且相互更新BGP路由
其实上面的内容就是当时学习计算机网络的时候看到的,只是那个时候在学习里面,没有这么直观的了解BGP路由的作用。
2.3 BGP路由走向的实例说明
下列从 美国 的一台机器(2.59.151.x) 访问 8.8.8.8,结合traceroute来理解一下
Bash: traceroute -n 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 2.59.151.1 0.182 ms 0.102 ms 0.099 ms # 服务器查看自己的路由表,送到默认网关
2 * * * # 机房ISP的ASN边界,路由器转发出机房的ISR
3 * * 198.32.176.X 0.354 ms # 进入ISP骨干网,比如Cogent的
4 * * 142.250.x.x 0.354 ms # 进入Google的ASN12169
5 8.8.8.8 0.377 ms 0.197 ms 0.387 ms # 现实世界的延迟不会这么低哦在要离开ISP的ASN的边缘,对应ISP的路由器内存里面跑着BGP协议,他会一直更新并收到来自其他ASN的BGP_Update内容:告诉它XX网段属于哪个ASN, 以便后续的BGP动态路由算法调用。
2.4 BGP层面的网络不通
假设你有自己的ASN号,同时也有自己的IP段,现在租了一个国外的IDC机房的机柜,就没有必要再找IDC机房使用他们的IP地址了,你只需要提供对应的IP地址凭证,在自己的路由器上宣告这个IP网段属于你这个ASN,然后使用BGP-session和机房的路由器连接,这样机房的路由器的路由表就更新了,借着继续一路向机房的上游更新,再向上游更新,直到全世界都知道去这个IP段的路由该怎么走了。
可以看到,整个流程是有明显的层次等级的,整个数据流的走向根据路由器的跳数而定,那假设我发邮件让机房的人更新路由后,怎么检查我的IP段从全世界来看BGP层面都是通的呢?那就是这个网址的妙用了:
https://ping.pe/
这个网址可以模拟从全世界各地,通过不通的ISP来traceroute到你的IP主机,这样就可以知道目前数据流究竟卡在哪个地方了,这样就可以从外界来看为啥ping不通了,对应的全部的ASN都提供一个叫 glassing的服务,用来测试
然后可以通过这个网址来看 某个一个ASN对应的上下游: https://bgp.tools/as/7195#prefixes
公网交换点(IXP = Internet Exchange Point)
就是“运营商们集体租一个机房/平台,大家把路由器插进去,直接互相交换流量”的地方。
Hurricane Electric = AS6939,完全正确!
HE.net 本身就是一个大 ASN(自治系统)。 它同时也是全球最大的 transit 提供商之一。 它在全球几百个 IXP(包括 IX.br)都有端口,所以它既能“查 IP 属于哪个 ASN”(通过 bgp.he.net 工具),自己也是一个参与者。 你在 bgp.he.net 上看到的信息,其实就是 从 HE 的几百台路由器视角 看到的全球 BGP 视图,不是“一台路由器”,而是 HE 整个网络的实时快照。
巴西最著名的是 IX.br São Paulo
BGP的收费模式
模式,是否付费,谁付钱给谁,为什么愿意转发别人的包,典型场景 Transit,是(单向付费),小网络 → 大网络付钱,因为收了钱,必须提供“全网访问”服务,包括转发到任何互联网目的地的流量,小 ISP / 企业向 Tier-1 / 大运营商买 transit Peering,通常免费(settlement-free),互不收费(bill-and-keep),因为双方流量对等或接近对等,互相省钱(都不用再付 transit 费),而且能改善性能、降低延迟,大内容商(如 Google、Netflix)与大 ISP 之间;规模相近的运营商之间
