BGP多线服务器联通走哪条路电信走哪条路怎么验证
先搞明白一件事:BGP不是一根线,是一张嘴对着好几个人喊话
我刚入行那会儿一直以为"BGP多线"就是机房拉了电信、联通、移动三根网线,谁来走谁的线,多简单。后来被师傅按头看路由表才发现,离谱,完全不是这么回事。
BGP(Border Gateway Protocol)干的事,本质是你这台服务器的IP段,同时向电信、联通、移动这几个运营商的骨干网"宣告":"这个IP在我这,找它走我这条路最近。"宣告出去之后,走哪条路根本不是机房说了算,是访问你的那个用户、他本地运营商的BGP路由表自己挑的。
打个比方:你家开了个店,在电信、联通、移动三张地图上都标了位置。一个联通的客人要来,导航软件(也就是他运营商的路由表)会自己算"哪条路最划算",可能走联通自己的骨干219.158,也可能因为某些互联结点拥堵给你绕到电信去。你这个店主是管不着的,能管的只有"客人走的时候我让他从哪条路回去"。
去程和回程是两码事,新人最容易栽这
这是我交的第一笔学费。客户投诉联通用户访问慢,我ping了半天电信线好得很,急得真的会谢。后来才搞懂——网络路径是不对称的。
去程(用户→服务器)
这条路由谁决定?用户本地运营商。你机房再牛也插不上手。联通用户来访问,是中国联通的骨干网根据它自己的BGP best path算法挑路,通常优先走它自己的AS4837。
回程(服务器→用户)
这条才是机房能控制的,机房的上联运营商、买的是普通线还是精品线,全看这里。很多"三网优化""三网精品"差别就差在回程走没走CN2这种高质量线路。
所以排查的时候,去程和回程一定要分开测,只测一边等于白测。
怎么一眼看出走的是电信还是联通?认骨干网IP段
验证路由最直接的办法就是traceroute(Windows是tracert,但我更推荐mtr或者besttrace,丢包延迟一起看)。跑出来一堆IP,关键是认中间那几跳的骨干网段,看到哪家的段就是走的哪家。
这张表是我自己整理贴在工位旁边的,背下来基本够用:
| 运营商/线路 | 骨干网IP段特征 | AS号 | 俗称 |
|---|---|---|---|
| 电信 163骨干 | 202.97.x.x | AS4134 | 电信普通线 |
| 电信 CN2 GT | 59.43.x.x | AS4809 | CN2 GT(次精品) |
| 电信 CN2 GIA | 59.43.x.x | AS4809 | CN2 GIA(顶级精品) |
| 联通 169骨干 | 219.158.x.x | AS4837 | 联通普通线 |
| 联通精品 9929 | 218.105 / 210.51 段 | AS9929 | 联通AS9929(高质量) |
| 移动骨干 | 221.183.x.x / 221.176.x.x | AS9808 / AS58453 | 移动线 |
这里有个坑:CN2 GT和GIA都是59.43开头、都是AS4809,光看段号区分不出来。区别在路由路径的细节——GIA在去回程都走优质节点、绕路少、延迟稳;GT经常去程精品回程掉163。想精确判断得看具体跳数走向,或者直接拿延迟和高峰期丢包说话,这个后面讲。
实测一把:同一台机器三网跑mtr长什么样
光说不练假把式。我拿一台标称"三网精品"的美西机器,分别从电信、联通、移动的探针节点跑了mtr,截关键跳数给你看个大概(IP打码了,看走向就行):
| 来源 | 第3-5跳骨干特征 | 判定线路 | 均值延迟 | 高峰丢包 |
|---|---|---|---|---|
| 电信用户 | 进59.43段→出59.43段 | CN2 GIA双向 | 148ms | 0% |
| 联通用户 | 219.158→59.43回 | 去程联通163,回程CN2 | 165ms | 0.3% |
| 移动用户 | 221.183全程 | 移动普通线 | 183ms | 1.2% |
看出门道没?这台机器电信确实是CN2 GIA双向,顶配,延迟也最稳。联通是去程普通163、回程才上CN2,所以延迟比电信高一截、高峰期偶尔抖。移动就是大路货221.183,延迟最高丢包最明显。
所以下次商家跟你说"三网精品",别信广告,自己跑一遍mtr,看进出两个方向的骨干段,假不了。我现在养成习惯了,到手第一件事就是三网各跑五分钟mtr存档,后面出问题好对比。
选机器这块,三网优化和三网精品别买错
讲到落地选机器,这是新人最容易花冤枉钱的地方。简单说:
如果你的用户主要在国内、对延迟敏感(游戏、实时业务),那回程线路质量直接决定体验,能上CN2 GIA或者联通AS9929这种就别省。如果只是企业官网、跑跑流量,普通三网BGP完全够,没必要为精品线多掏钱,那纯属浪费。
我之前帮朋友选海外机器对比过几家,发现标注得清清楚楚"三网精品/三网优化"的反而省心。比如129云(idc129.net)家就分得挺明白,他们美国高防-D型是8C16G、150Mbps峰值、200G防御,标的是三网精品霄龙CPU,适合那种又怕被打又要国内延迟低的游戏业务;马来西亚-C型是8C8G、50Mbps、三网优化金牌CPU,距离近延迟天然占优,跑企业应用够用还不贵。这种把线路类型写在脸上的,验证起来也方便,跑个mtr一对就知道有没有货不对板。
顺带一提,他们家还有越南胡志明市的轻量配置,1-4核、30Mbps带宽起、只计上行流量,适合做东南亚方向的中转或者小项目。具体配置和线路细节拿不准的,直接打客服热线400-9177118问就行,让对方报一下去回程走哪条骨干,比看广告页靠谱多了。
验证回程的小技巧:让对方ping你不如你看路由表
很多人验证回程喜欢让客户那边traceroute过来,但客户不一定会操作,也未必有探针。更稳的办法是用第三方路由测试平台,挂上多地多运营商的探针,一次性把去回程全打出来。besttrace带的IP地理库还能直接标出每一跳在哪个城市,绕路绕没绕一目了然。
判断回程有没有走精品线,重点看你服务器ping出去的时候,前几跳进的是不是59.43(CN2)或者AS9929那种段。如果出门第一跳就是202.97普通电信骨干,那回程精品基本就是吹的,别犹豫,截图找商家对峙。
还有个反常识的点:延迟低不代表线路好。普通线路在凌晨没人用的时候延迟可能比精品线还低,真正拉开差距的是晚高峰(20:00-23:00)的丢包和抖动。验证一定要卡着高峰期测,平峰期测出来的数据,参考价值真的不大。