路由协议-BGP
BGP-边界网关协议,用于在AS之间实现路由信息的交互
1、AS的概念
- 自治系统——在一个实体管辖下的拥有相同选路策略的ip网络
- BGP网络中的每一个AS都被分配一个唯一的AS号,用于区分不同的AS。AS号分为两字节AS号和四字节AS号
- 中国电信163 AS号:4134
- 中国电信CN2 AS号:4809
2、使用BGP的理由
- BGP能够承载大批量的路由前缀(Ipv4、ipv6、组播等)
- 支撑MPLS/VPN的应用,传递客户VPN路由
- 具备强大的路由策略能力,定义了丰富的路径属性
- 支持多协议的扩展
3、BGP协议特征
- BGP使用TCP为传输层协议,使用TCP端口179号。BGP路由之间基于TCP建立BGP会话。BGP对等体之间无需直连。
- 运行BGP的路由器被称为BGP Speaker。两台BGP路由器需建立对等体关系才能交互BGP路由。存在两种类型的BGP对等体关系——EBGP以及IBGP。
- 在BGP对等体关系建立完成后,BGP路由器只发送增量更新或者触发更新(不会周期性更新)
- BGP具有丰富的路径属性和强大的策略工具
- BGP能够承载大批量的路由前缀,用于大规模的网络中。
4、BGP报文类型
报文名称 | 作用是什么 | 什么时候发包 |
---|---|---|
OPEN | 协商BGP邻居的各项参数,建立邻居关系 | OPEN是TCP连接建立后发送的第一个报文 |
UPDATE | 用于对等体之间交换路由信息 | 连接建立后,有路由需要发送或路由变化时,发送UPDATE通告对端路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息 |
NOTIFICATION | 当BGP检测到错误状态时,就向对等体发出这个消息,之后BGP连接会立即中断 | 当BGP在运行中发现错误时,要发送NOTIFICATION报文通告BGP对端 |
KEEPALIVE | 维持邻居关系 | 定时发送KEEPALIVE报文以保持BGP邻居关系的有效性 |
Route-refresh | Route-refresh消息用来要求对等体重新发送指定地址族的路由信息 | 当路由策略发生变化时,触发请求邻居重新通告路由 |
5、BGP的邻居状态机
Peer状态名称 | 发什么包 | 在做什么 |
---|---|---|
Idle | 尝试建立TCP连接 | 开始准备TCP的连接并监视远程peer启动TCP连接,启用BGP时,要准备足够的资源 |
Connet | 发TCP包 | 正在进行TCP连接,等待完成中,认证都是在TCP建立期间完成的。如果TCP连接不上则进入Active状态,反复尝试连接 |
Active | 发TCP包 | TCP连接没有建立成功,反复尝试TCP连接 |
OpenSent | 发Open包 | TCP连接已经建立成功,开始发送Open包,Open包携带参数协商对等体的建立 |
OpenConfirm | 发Keepalive包 | 参数,能力特征协商成功,自己发送Keepalive包,等待对方的Keepalive包 |
Established | 发Update包 | 已经收到对方的Keepalive包,双方能力特性一致,开始使用Update通告路由信息 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)