1,BGP 报文
Open: 建邻居, 交换 versionAS 号 holdtimeBGP identifier(即 RouterID) 可选参数长度可选参数
Keepalive: 保持邻居 , 即和 BGP 对等体的 keepalive 消息
Update: 路由更新 ,NLRI(前缀和前缀长度) 路径属性被撤销路由每个 update 只有一个路径信息
Notification: 出错关闭连接 , 检测到错误条件时发送 notification, 然后立即关闭 BGP 连接
Route-refresh: 路由策略变化时, 重新请求
备注:
BGP RouterID 选择方法同 OSPF
IGP 建邻居和保持邻居都是 hello 包; BGP 建邻居 open, 保持邻居 keepalive
思科默认 keepalive 是 60s,holdtime 是 180s, 即 180s 收不到 keepalive 即失效
2,BGP 状态
Idle: 初始状态, 查找邻居路由
Connect: 已找到路由, 开始发送 TCP 包尝试 TCP 三次握手, 成功则进入 OpenSent, 失败则进入 Active 反复尝试
Active: 继续发送 TCP 包 TCP 连接建立失败, 反复尝试
OpenSent: 发送 Open 包, 等待对方 Open 包收到对端 Open 后, 成功则进入 OpenConfirm, 出错则发送 notification
OpenConfirm: 发送 keepalive 包, 等待对端 keepalive/notification 前者则进入 established, 后者则进入 idle
Established: 收到 keepalive, 开始交换 updateshow ip bgp summary 最后一列会显示数字
状态迁移表:
状态 | 操作 | 成功 | 失败 |
idle | 查邻居路由 | 进入 connect | 进入 idle |
connect | 发 TCP 包建 TCP | 进入 opensent | 进入 active |
active | 发 TCP 包建 TCP | 进入 opensent | 进入 active |
opensent | 发 open 等待一致 open | 进入 openconfirm | 发送 notification |
openconfirm | 发 keepalive 等待 keepalive/notification | 前者进入 established | 后者进入 idle |
established | 交互 update | 无 | 无 |
停在 idle: 本端问题, 没有路由, 查看 IGP 是否有问题
停在 active: 对端问题, 邻居没有本端路由表, 邻居配错了对端地址, 邻居没有配命令, 邻居 AS 号配错, neighbor 对端与更新源不对
3, 建邻居和通告路由使用命令
IGP | BGP | |
建邻居,即发 hello 包 | network | neighbor |
通告路由 | network | network |
备注: 建邻居后, 一端 TCP179, 另一端随机端口, 另外建立两条链路, 然后随机拆掉一条
BGP - 2,BGP 报文和 BGP 状态
来源: http://www.bubuko.com/infodetail-2498873.html