成功是留给有准备的人。
一、拓扑
二、基础配置
1、IGP
(1)AR-1,AR-2,AR-3运行OSPF协议
AR-1,AR-2的环回口宣告进OSPF协议,AR-3环回口不要宣告进OSPF
(2)AR-4与AR-5运行IS-IS协议,将各自环回口宣告进IS-IS协议
2、静态路由
在AR3与AR5互相配置指向对方环回接口的静态路由
3、BGP
IBGP: AR-1与AR-3通过环回口建立IBGP邻居(AS 100)
EBGP:AR-3与AR-4通过直连物理接口建立EBGP邻居
AR-3与AR-5通过环回接口建立EBGP邻居
[AR-5]bgp 200
[AR-5-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[AR-5-bgp]peer 3.3.3.3 next-hop-local
[AR-5-bgp]peer 3.3.3.3 ebgp-max-hop
其他设备配置类似
dis bgp peer
三、BGP状态停留测试
1、Idel空闲状态(不进行TCP连接也不发送任何BGP报文)
本BGP设备的IP路由表内不存在去往邻居的路由信息
(1)只在设备AR1配置了以下命令,其他设备没有配置BGP的相关信息
[AR-1]bgp 100
[AR-1-bgp]router-id 1.1.1.1
[AR-1-bgp]peer 3.3.3.3 connect-interface l0
[AR-1-bgp]peer 3.3.3.3 next-hop-local
dis bgp peer
(2)在IBGP全互联的情况下,执行以下命令
[AR-1-bgp]undo peer 12.1.1.2
[AR-2-bgp]undo peer 23.1.1.3
[AR-2-bgp]undo peer 12.1.1.1
[AR-3-bgp]undo peer 23.1.1.2
dis bgp peer
2、Connect连接状态
尝试TCP连接状态
(1)本地设备存在去往指定邻居的路由,但是中间设备不存在去往指定邻居的路由
[AR-1-bgp]undo peer 12.1.1.2
[AR-2-bgp]undo peer 23.1.1.3
[AR-2-bgp]undo peer 12.1.1.1
[AR-3-bgp]undo peer 23.1.1.2
dis bgp peer
(2)EBGP建立邻居数据包的TTL值消耗殆尽
AR6
isis 1
auto-cost enable
network-entity 49.0001.0000.0000.0006.00
#
interface GigabitEthernet0/0/0
ip address 56.1.1.6 255.255.255.0
isis enable 1
#
interface LoopBack0
ip address 6.6.6.6 255.255.255.255
isis enable 1
#
bgp 200
peer 3.3.3.3 as-number 100
peer 3.3.3.3 ebgp-max-hop 255
peer 3.3.3.3 connect-interface LoopBack0
peer 5.5.5.5 as-number 200
peer 5.5.5.5 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 3.3.3.3 enable
peer 5.5.5.5 enable
#
ip route-static 0.0.0.0 0.0.0.0 56.1.1.5
#
[AR-3-bgp]peer 6.6.6.6 ebgp-max-hop
[AR-6-bgp]peer 3.3.3.3 ebgp-max-hop
dis bgp peer
修改EBGP数据包中的TTL值为1
[AR-6-bgp]peer 3.3.3.3 ebgp-max-hop 1
[AR-3-bgp]peer 6.6.6.6 ebgp-max-hop 1
dis bgp peer
3、Active:活跃状态
TCP连接失败,完成重传计时器后重新发起新一轮TCP连接
dis bgp peer
(1)指定邻居地址错误
[AR-2-bgp]peer 12.1.1.3 as 100
[AR-2-bgp]undo peer 12.1.1.1
dis bgp peer
(2)与邻居R-ID重复(短暂出现在Active状态)
[AR-1-bgp]router-id 3.3.3.3
AR3的g0/0/1接口,开启抓包;(重新启动邻居状态)
四、总结
4.1 BGP5种报文类型
Open:协商邻居
TCP 会话建立起来自以后,两个邻居都要发送一个 Open 报文,每个邻居都使用该报文标识自己,并且规定自己的 BGP 运行参数。如果 open 消息被接受,则回送一条 keepalive 消息进行确认,确认后就能发送 update
Update:更新路由/撤销路由
Update报文进行路由信息的交换;Update报文既用来通告可用路由信息,也可以通告不可达需要撤销的路由信息
Notification:错误通告
当BGP检测到错误状态时,就会向对等体发出Notification通知报文,之后BGP连接会立即中断
Keepalive:保持邻居关系
如果路由器接受了邻居在 OPEN 消息中的参数,就会应答一个 Keepalive 消息,并且在此后 1/3 的 holdtime(但不小于 1S)为周期发送该消息,华为设备默认 60S一发,保持时间默认180S。如果协商后保持时间为 0,标识此邻居永远UP,则不发送 keepalive 保活消息
Route-refresh:用来刷新路由
路由刷新报文用来要求对等体重新发送指定地址族的路由信息
4.2 BGP状态机
1、Idle状态
Ide-----空闲状态
(1)BGP空闲状态,在Idle状态下BGP拒绝邻居发送的连接请求,此时等待由BGP系统发出的Start事件
(2)Start(管理员配置邻居)事件发生后,BGP会对自己的资源进行初始化,重置连接计时器(Connect Retry 默认32S)发起TCP连接请求,并开始侦听远端对等体发起的连接端口,并转至Connect状态
2、Connect状态
Connect-----连接状态-----发起TCP的三次握手
在Connect状态下,BGP启动连接重传定时器,等待TCP完成连接。
(1)如果TCP连接成功,那么BGP会向对等体发送Open报文,并转至OpenSent状态
(2)如果TCP连接失败,那么BGP转至Active状态
(3)如果连接重传定时器超时,BGP任没有收到BGP对等体的响应,那么BGP继续尝试TCP连接,停留在Connect状态。
3、Active状态
Actieve-----活跃状态-----不断重新发起TCP的三次握手
在Active状态下,BGP总是试图建立TCP连接
(1)如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent
(2)如果TCP连接失败,停留在Active状态
(3)如果连接重传定时器超时,任没有收到BGP对等体的响应,那么BGP转至Connect状态
4、OpenSent状态
openset-----发送open报文协商部居关系
在OpenSent状态,BGP等对等体的Open报文,并对收到的Open报文中的AS号,版本号,认证信息等进行检查
(1)如果收到的Open报文正确,那么BGP发送Keepalive报文,且重置Keepalive定时器,并转至OpenConfirm状态。
(2)如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体。并转至Idle状态。
5、OpenConfirm状态
Openconfim-----自己发送Keeplive-----等待对方的Keeplieve
在OpenConfirm状态下,BGP等待Keepalive或Notification报文。
(1)如果收到Keepalive报文,则转至Established状态(BGP邻居的最终状态)
(2)如果收到Notification报文,则转至Idle状态
6、Established状态
Established-----最终状态----接下来就可以发送UPdate
在Established状态下,BGP对等体之间交互Update,Keepalive,Route-refresh报文和Notification报文。
4.3 BGP邻居的建立
1、通用事项
(1)建立邻居之前请先检查本设备BGP的更新源地址与对端更新源地址网络互通。
(2)确保本设备为任何针对BGP邻居地址的TCP-179的限制或者策略
2、EBGP邻居建立
(1)不同AS号的BGP设备建立EBGP邻居,用于不同AS之间路由信息的传递
(2)EBGP建立邻居建议采用直连物理接口
(3)如果EBGP邻居之间存在多条直连路径,需要指定建立BGP邻居的更新源地址(connect-interface 接口编号)
(4)如果采用环回口建立EBGP邻居,必须补充以下两步
必须指定对等体的更新源地址
[AR-3-bgp]peer 12.1.1.1 connect-interface LoopBack 0 //指定与12.1.1.1建立邻居时更新源地址为本设备的环回口0必须更改建立邻居数据包的TTL值参数(EBGP的数据包,TTL默认为1)
[AR-3-bgp]peer 34.1.1.4 ebgp-max-hop //修改与34.1.1.4建立EBGP邻居的数据包TTL值为X,如果不明写则修改为255
(5)如果采用物理接口建立邻居,存在多条路径,且属于非直连状态时,需要指定更新源
3、IBGP邻居建立
(1)同AS号的BGP设备建立IBGP邻居,用来传递本AS内路由信息的传递
(2)IBGP建立邻居建议采用设备环回口,如果采用环回口建立邻居,必须执行以下动作
必须指定对等体的更新源地址
[AR-3-bgp]peer 12.1.1.1 connect-interface LoopBack 0 //指定与12.1.1.1建立邻居时更新源地址为本设备的环回口0(建立IBGP邻居建议采用环回口)
(3)如果采用物理接口建立邻居,存在多条路径,且属于非直连状态时,需要指定更新源
4.4 BGP邻居关系建立
4.5 BGP路由属性及所属类型
类型 | 属性类型代码 | 属性类型 |
---|---|---|
公认必须遵循 | 1 | Origin(源) |
公认必须遵循 | 2 | AS-Path(AS路径) |
公认必须遵循 | 3 | Next_Hope(下一跳) |
可选非过渡/可选非传递 | 4 | Multi_Exit_Dise(多出口区分) |
公认任意 | 5 | Local_Pref(本地优先级) |
公认任意 | 6 | Atomic_Aggregate |
公认任意 | 7 | Aggregator |
可选过渡/可选传递 | 8 | Community(团体) |
可选非过渡/可选非传递 | 9 | Originator_ID |
可选非过渡/可选非传递 | 10 | Cluster_List |
本人所有文章都受版权保护,著作权归艺博东所有!未经授权,转载必究或附上其原创链接。
转载:https://blog.csdn.net/HYD696/article/details/106827921