bgp 建立邻居发送的报文_BGP邻居建立过程及报文详解

BGP邻居建立过程及报文详解

BGP是基于TCP的,要建立邻居首先得建立TCP连接,所以要保证邻居地址可达,可以利用IGP协议来完成邻居的连通性。

所以我们在R1和R2上分别配置静态路由完成邻居连通性

R1:ip route 10.10.10.10 255.255.255.255 192.168.1.2

R2: ip route 1.1.1.1 255.255.255.255 192.168.1.1

BGP配置如下:

R1:

router bgp 10                        //启用BGP协议 AS为10

no auto-summary           //关闭自动汇总

no synchronization//关闭同步(IOS 12.2后都是默认关闭)

neighbor 10.10.10.10 remote-as 10  //指定邻居和邻居AS

neighbor 10.10.10.10 update-source loop 0   //指定更新源否则(默认

为接口IP)

network 20.20.20.20 mask 255.255.255.255 //把路由发布到BGP中(有静态,半动态,纯动态注入)

R2:

router bgp 10                        //启用BGP协议 AS为10

no auto-summary           //关闭自动汇总

no synchronization//关闭同步(IOS 12.2后都是默认关闭)

neighbor 1.1.1.1 remote-as 10  //指定邻居和邻居AS

neighbor 1.1.1.1 update-source loop 0   //指定更新源否则(默认为接口IP)

注意:使用IBGP时默认跳数为255,EBGP的默认跳数为1,如果使用EBGP的LOOBACK地址建邻居,需手工指定跳数

neighbor 10.10.10.10 ebgp-multihop2 //后面接的是跳数1-255

BGP路由的发布:

静态注入:手工配置的静态路由,再由network发布到BGP中(如上面R1)

半动态注入:通过IGP协议学习到的路由,再通过network发布到BGP中

纯动态注入:通过把IGP路由重发布到BGP中

BGP邻居建立状态:

idle:初始状态

connect:BGP等待TCP连接的建立

active:TCP连接失败,重新建立TCP连接

opensent:TCP建立成功,发送open报文

openconfirm:收到正确的OPEN报文

established:BGP邻居建立成功

BGP邻居建立过程详解:

1.R1向指定的邻居发送TCP连接请求包,SIP=1.1.1.1 DIP=10.10.10.10 SP=40029 DP=179 SYN=1,Seq=0;

2.R2收到连接请求后同意则回应SIP=10.10.10.10 DIP=1.1.1.1 SP=179 DP=40029 SYN=1,ACK=1,确认号=1,Seq=0;

3.R1收到连接请求确认后再后发送确认,连接建立。SIP=1.1.1.1 DIP=10.10.10.10 SP=40029 DP=179 ACK=1,确认号=1 Seq=1;

4.TCP连接建立后,R1发送BGP open报文(类型1)。My AS=10,hold time=180s(哪边先确认TCP连接成功就发送OPEN报文)

BGP identifier=1.1.1.1(BGP标识,相当于OSPF的router-id,loopbackIP最大的地址)

BGP报文头部格式:

Marker(16字节):用于BGP认证,不使用认证时所有比特为1

length(长度):2字节 type(类型):1字节

类型1:open协商BGP参数,建立邻居关系

类型2:update传播BGP路由

类型3:notification报告错误,中止邻居关系

类型4:keepalive维持邻居关系,周期为60s

OPEN报文格式:

version(版本):1字节,现在为版本4

my as (自己的AS号):2字节,上面的AS为10

hold time(超时):2字节,默认为180s

BGP Identiffer(标识):4字节,为loopback中最大的IP

optional parameters length:可变长度(可先内容)

5.TCP连接成功R2也发外送OPEN报文My AS=10,hold time=180s

BGP identifier=10.10.10.10(loopback地址)

OPEN报文格式:

version(版本):1字节,现在为版本4

my as (自己的AS号):2字节,上面的AS为10

hold time(超时):2字节,默认为180s

BGP Identiffer(标识):4字节,为loopback中最大的IP

optional parameters length:可变长度(可先内容)

6.BGP邻居建立好后,每隔60s发送keepalive报文

keepalive报文格式为BGP的报文头,没有报文体,每60s发送。

7.当有路由被发布到BGP中(增量更新,只携带增加的路由信息)或有路由失效时,发送update报文:

update报文格式:

unfeasible routes length(2字节):不可到路由长度,如没有则为0

total path attribute length(2字节):BGP属性长度 属性有很多种,下次再详细讲解

path attributes(可变长):BGP路径属性 里面有经过的AS号

nework layer reachability information(可变长):可达路由信息,里面包含前缀长度和网络号

8.当路由失效时,也发送update报文:

update报文格式:

unfeasible routes length(2字节):不可到路由长度,这路由有不可达路由

withdrawn routes:撤消路由条目,包括前缀长度和网络号

total path attribute length(2字节):这里为0,没有数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值