BGP边界网关协议
路由分类:
BGP概述:
-BGP: 边界网关协议
BGP 是公有协议,任何厂商的设备都支持 BGP
BGP 位于 OSI的第 7 层(应用层)
备注:OSPF基于IP协议,为了可靠性,数据库同步:协商主从关系,序列号、有确认机制
BGP的作用:
1)非常稳定
2)可以传输大量的路由,支持大规模网络
3)具有非常丰富的路由控制策略,可以实现灵活的选路
在AS之间动态的交互路由信息,实现公司与公司之间的互访
特点:
1)稳定,基于TCP协议建立的,使用端口号TCP179,所以非常稳定
2)传递大量路由,可以跨多跳建立邻居关系
3)路由控制策略丰富
BGP邻居类型:
EBGP: 运行于不同的AS
IBGP: 运行于同一AS内部
BGP特征:
·BGP 使用传输层协议为 TCP,TCP 端口号179。路由器之间的 BGP 会话基于 TCP 连接而建立。
运行 BGP 的路由器被称为 BGP 发言者 (BGP Speaker) ,或 BGP 路由器
·两个建立 BGP 会话的路由器互为对等体 (Peer) ,说人话,就是 BGP邻 居
·BGP 对等体之间交换 BGP 路由信息,说人话,BGP 在邻居之间传递路由
·BGP 路由器只发送增量的 BGP 路由更新,或进行触发式更新 (不会周期性更新)
·BGP 能够传递大批量的路由,可在大规模网络中应用。
AS:
AS号(Autonomous System Number):自治系统;
-AS通常使用“数字”来表示,成称AS号
-AS号的范围是从0到65535,其中0被保留不使用
-AS编号取值范围
&:之前:2字节表示,取值范围:1-65535
#私有AS号:64512-65534,可以用于在私有互联网中标识自治系统,但不会在公共互联网中出现。这些私有AS号通常用于连接组织的内部网络。
&:目前是4个字节:1-4294967295
4字节AS号的范围是从0到4294967295,其中0号AS被保留不使用
私有AS号范围是4200000000至4294967294
4字节AS号由IANA管理,并由全球RIR(区域互联网注册局)负责分配
BGP协议概述
报文类型:
open :用于建立邻居关系(类似于 hello 报文
keep alive : 用于维护邻居关系,周期性发送60s,保持 BGP 连接(类似于 hello)
update用于传递路由和撤销路由(类似于 LSU 报文
-notification : 通知报文,用于通知 BGP 居之间的报错信息,用于断开 BGP 连接
router-refresh : 重传报文请求邻居重新发送路由信息
BGP的六个状态:
1)idle :初始化状态
-tcp未连接状态,邻居的状态为idle , 当bgp设备和邻居进行tcp 连接时,会从当前的状态转为connect 状态
2)connect 状态: tcp 连接状态
-如果tcp 建立连接成功,bgp 设备会向邻居发送open报文,状态也会转为opensent 状态
-如果tcp 建立连接失败,bgp设备的状态会转为active 状态
3)active 状态:活跃状态
- 在当前状态下,bgp 设备依然没有放弃希望,依然试图继续建立tcp 连接,如果成功,状态依然可以转为opensent 状态
-如果依然失败,bgp会停留在active 状态
备注:如果重传计时器超时,依然没有收到邻居回应,bgp设备会心灰意冷的返回上一个状态,上一个是connect 状态
3) opensent 状态: open报文已发送状态,已向邻居发送open报文
-如果bgp设备给邻居发送open报文后,如果收到来自邻居的回复,并且回复的报文是正确的,bgp 设备会继续发送报文,发送什么报文呢? 发送keep alive 报文,状态转为 open comfirm 状态
-如果bgp设备给邻居发送open报文后,如果收到来自邻居的回复,但是回复的报文有错误,bgp 设备会向邻居发送notification 报文(用于断开bgp连接状态),断开后会跳转到最初的idle 状态
5)open comfirm : open报文确认状态
-如果收到邻居发来的keep alive 报文,状态会转为established 建立状态
-如果收到邻居发来的notification 报文,状态会跳转为 idle 状态
6)established : 连接已建立状态
-如果收到邻居发来的正确的update 报文或者keepalive 报文,bgp就会认为邻居是正常的
- 如果收到邻居发来的错误的update 报文或者keepalive 报文,bgp设备会发送notification 报文,通知邻居,我们分手把,不做邻居了,会回到idle 初始化状态
BGP路由重新传输命令:refresh bgp all export
EBGP中路由搬运时始发路由器,会将下一跳改为自己与对端设备建立邻居的接口IP
BGP水平分割:
内内不相传:从内部邻居学来的路由,不会在传给内部邻居
BGP通告原则:
BGP路由器只会讲自己认为最好的路由传给邻居
从EBGP学来的路由会传给自己所有的BGP邻居
从IBGP学来的路由,不会在传给IBGP内部邻居(水平分割)
BGP与ospf同步,华为默认关闭