AS:自治系统,是具有相同策略且被同一个管理机构所管理的一组设备。(如一个公司、一个市、一个省市等)
AS号具有16bit和32bit两种长度。(AS不够使用,在原有基础上增加16bit) AS号的书写方式有两种:
- 数字表示:1-65535或者1-42.9亿+。
- AA.NN表示:1-65535.1-65535。
AS号分为私网AS和公网AS: 公网AS:1-64511。 私网AS:64512-65534。 32bit的AS号表示方式中:4200000000-4294967294为私有AS号。
IGP和BGP的区别: 1.IGP计算最短路径,容易暴露网络内部环境。 2.IGP不适用于传递大量路由信息,原因是因为IGP需要计算路由。 3.IGP链接距离远,难以维护。
4.BGP不需要计算最短路径和路由,不会暴露内部环境。 5.BGP基于TCP,更加安全可靠。 6.BGP不需要计算路由,所以更适用于传递大量的路由。
BGP的基本概念: 1.BGP基于TCP建立,端口号179(BGP建立邻居之前,需要先建立TCP链接)。 2.建立BGP会话的设备之间称为对等体,对等体之间交换BGP路由。 3.BGP只会触发式更新和增量更新,不存在周期更新。 4.BGP也叫路径矢量路由协议,BGP路由携带大量的路由属性可以用来选路、防环。
BGP对等体类型: 1.IBGP对等体:在同一个AS内建立的对等体关系。 可以跨链路建立(在不同网段也可以建立),也可以使用直连链路建立邻居关系 2.EBGP对等体:在不同AS内建立的对等体关系。 EBGP使用直连链路来建立。 EBGP对等体可以使用环回口来建立邻居,但要求环回口相互通信(AS之间路由需要通过BGP传递)。
::: tip IBGP用直连建立和环回口建立本质上没什么区别,环回口建立的邻居更加可靠。 :::
BGP对等体
[AR1]bgp 100 创建AS 100
[AR1-bgp]router-id 10.1.1.1 BGP协议的RID
[AR1-bgp]peer 10.1.12.2 as-number 100 指定邻居且配置所属AS
AR2做上述同样的操作后,可以查询BGP对等体建立效果: 上述两台设备的AS相同,建立了IBGP的关系。
[AR3]bgp 100 创建AS 100
[AR3-bgp]router-id 10.3.3.3 BGP协议的RID
[AR3-bgp]peer 10.1.23.2 as-number 100 指定邻居且配置所属AS
上述两台设备的AS不同,建立了EBGP的关系。
建立环回口模拟跨链路:
先使用OSPF将网络宣告出去,使得IGP互通,才可以建立BGP。 如下使用OSPF将网络信息通告出去: 环回口可以相互通信: ::: tip 也可以使用静态路由,只要IGP互通即可。 :::
[AR1-bgp]peer 2.2.2.2 as-number 100 跨网段建立IBGP邻居关系
[AR1-bgp]peer 2.2.2.2 connect-interface LoopBack 0 使用环回口地址向对方发起TCP链接
双方只需要有一方配置即可,建议双方都配置。
部署EBGP对等体关系
AR2和AR4做BGP对等体:
[AR4]int lo 0
[AR4-LoopBack0]ip ad 4.4.4.4 32
[AR4]ip rou 2.2.2.2 32 10.1.24.2 使用静态建立连接
AR2和AR4做EBGP对等体关系:
[AR2]bgp 100
[AR2-bgp]peer 4.4.4.4 as-number 300 建立EBGP邻居
[AR2-bgp]peer 4.4.4.4 connect-interface LoopBack 0 使用环回口做更新源
[AR4]bgp 300
[AR4-bgp]peer 2.2.2.2 as-number 100
[AR4-bgp]peer 2.2.2.2 connect-interface LoopBack 0
BGP中更新源为发起连接的接口地址。 查看对等体关系: 上述经过32s后没有变为Establish状态。原因如下: ::: warning EBGP对等体之间传递的报文默认TTL是1,即只会传递1跳就结束了,如果使用直连的物理接口,1跳正好可以传递;如果直接使用环回口连接,传递1跳TTL值变为0,对方收到就会直接丢弃,无法使用环回口建立对等体关系。(可以认为报文到达直连算1跳,直连到环回口算1跳) 如果使用环回口建立EBGP对等体关系,需要把TTL值改大,保证双方报文交互。 ::: 改进:
[AR4-bgp]peer 2.2.2.2 ebgp-max-hop ?
INTEGER<1-255> Maximum hop
<cr> Please press ENTER to execute command
[AR4-bgp]peer 2.2.2.2 ebgp-max-hop 2 EBGP之间交互的协议报文TTL为1,非直连建立需更改最大跳数
[AR2-bgp]peer 4.4.4.4 ebgp-max-hop 2
如上,修改跳数后,AR2和AR4建立对等体关系。