BGP邻居关系的建立.docx

上传人:b****1 文档编号:74295 上传时间:2023-04-28 格式:DOCX 页数:15 大小:44.50KB
下载 相关 举报
BGP邻居关系的建立.docx_第1页
第1页 / 共15页
BGP邻居关系的建立.docx_第2页
第2页 / 共15页
BGP邻居关系的建立.docx_第3页
第3页 / 共15页
BGP邻居关系的建立.docx_第4页
第4页 / 共15页
BGP邻居关系的建立.docx_第5页
第5页 / 共15页
BGP邻居关系的建立.docx_第6页
第6页 / 共15页
BGP邻居关系的建立.docx_第7页
第7页 / 共15页
BGP邻居关系的建立.docx_第8页
第8页 / 共15页
BGP邻居关系的建立.docx_第9页
第9页 / 共15页
BGP邻居关系的建立.docx_第10页
第10页 / 共15页
BGP邻居关系的建立.docx_第11页
第11页 / 共15页
BGP邻居关系的建立.docx_第12页
第12页 / 共15页
BGP邻居关系的建立.docx_第13页
第13页 / 共15页
BGP邻居关系的建立.docx_第14页
第14页 / 共15页
BGP邻居关系的建立.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

BGP邻居关系的建立.docx

《BGP邻居关系的建立.docx》由会员分享,可在线阅读,更多相关《BGP邻居关系的建立.docx(15页珍藏版)》请在冰点文库上搜索。

BGP邻居关系的建立.docx

BGP邻居关系的建立

实验四十九:

BGP邻居关系的建立

 

 

实验目标:

理解并掌握BGP邻居关系的建立

实验TOP:

R1

01

!

02

hostnameR1

03

!

04

noipdomainlookup

05

!

06

interfaceLoopback0

07

ipaddress1.1.1.1255.255.255.0

08

!

09

interfaceSerial1/0

10

ipaddress12.1.1.1255.255.255.0

11

serialrestart-delay0

12

!

R2

01

!

02

hostnameR2

03

!

04

noipdomainlookup

05

!

06

interfaceLoopback0

07

ipaddress2.2.2.2255.255.255.0

08

!

09

interfaceSeria1/0

10

ipaddress23.2.2.2255.255.255.0

11

serialrestart-delay0

12

!

13

interfaceSeria2/0

14

ipaddress12.1.1.2255.255.255.0

15

serialrestart-delay0

16

!

R3

viewsourceprint?

01

!

02

hostnameR3

03

!

04

noipdomainlookup

05

!

06

interfaceLoopback0

07

ipaddress3.3.3.3255.255.255.0

08

!

09

interfaceSerial2/0

10

ipaddress23.2.2.3255.255.255.0

11

serialrestart-delay0

12

!

批注:

路由器接口默认是关闭的,所以应将对应的接口开启 

BGP的数据包类型:

1.Open(打开)消息:

TCP会话建立之后,俩个邻居都要发送Open消息,每个邻居都利用该消息表示自己并指定BGP会话参数。

2.Keeplive(保持激活)消息:

如果路由器接受其邻居发送来的Open消息中指定的参数,则响应一条Keeplive消息。

此后,默认每60秒发送一条Keeplive消息。

3.Update(更新)消息:

用于宣告可行路由,已撤销路由或者俩者。

4.Notification(通告)消息:

路由器只要检查到差错,就会发送Notification消息并关闭BGP连接。

 

BGP会话状态:

 

1.Idle:

初始化状态.当BGP进程初始化之后,进入Connect状态,监听TCP会话的建立.

2.Connect:

本地路由器等待TCP会话建立的完成.如果该过程成功,本地路由器向对方发送 Open信息,并进去OpenSent状态;如果该过程失败,本地路由器将重置ConnectRetry计时器,并进入Active状态.如果当路由器处于Connect状态时,计时器的值倒数为0,本地路由器将尝试另外一条连接,重置计时器的值,并且仍旧处于Connect状态.

3.Active:

该状态下,本地路由器尝试向对方发起一条TCP会话,如果会话成功建立,本地路由器将发送Open信息,并进入到OpenSent状态;如果连接失败,将重置ConnectRetry计时器的值为0,并回到Connect状态;如果本地路由器从一个不预期的远程路由器那里收到一条连接请求,本地路由器将拒绝该连接仍旧处于Active状态,并重置ConnectRetry计时器.

4.OpenSent:

TCP会话成功建立后,将进入该状态.本地路由器将发送Open信息,并等待对方给予Open信息做为回应.如果本地路由器从对方那里收到了有效的Open信息,本地路由器将发送Keepalive信息给远程路由器,双方协商BGP会话参数,并进入到OpenConfirm状态;如果在该状态下,TCP会话突然断开,本地路由器将中断BGP会话,重置ConnectRetry计时器,并回退到Active状态.

5.OpenConfirm:

当本地路由器收到对方回应的有效Open信息,进入该状态.本地路由器发送Keepalive信息,并等待对方给予回应.

6.Established:

当本地路由器收到对方回应的Keepalive信息后,BGP对等体会话关系完全建立.

BGP邻居关系构建的过程:

 

BGP总是以IDLE状态为起始点,该状态拒绝所有入站的连接,当启动BGP后,BGP进程会初始化所有BGP资源,初始化去往邻居的TCP连接,并侦听来自邻居的TCP初始化。

将状态改成Connect,在该状态下,BGP进程一直等待TCP连接的完成,如果TCP连接建立成功,BGP进程将会向邻居发送Open消息并进入Opensent状态。

该状态下,BGP会一直等待直至侦听到来自邻居的Open消息,接收到Open消息后,会检查消息的每个字段,如果消息没有差错,则发送Keeplive消息并设置Keeplive定时器,才外还要协商时间,以便确定一个较小的保持时间值,根据对等体的AS号,可以确定对等体连接是内部连接还是外部连接,并迁移到Openconfirm状态。

在这个状态下,BGP进程将等待Keeplive消息或Notification消息。

如果收到的是Keeplive消息,则迁移到Established状态,如果接收到的是Notification消息或断开TCP连接的请求,则迁移到空闲状态。

 

下面我们做BGP的配置,R1与R2建立IBGP邻居,研究IBGP邻居关系的建立:

 

邻居卡在IDLE状态

R2(config)#routerbgp23

R2(config-router)#neighbor3.3.3.3remote-as23

R2(config-router)#neighbor3.3.3.3update-sourceloopback0

 

R3(config)#routerbgp23

R3(config-router)#neighbor2.2.2.2remote-as23

R3(config-router)#neighbor2.2.2.2update-sourceloopback0

 

验证:

我们可以通过showipbgpsummary命令来验证本路由器与其他路由器之间的邻居关系是否正常建立。

 

R2#showipbgpsu

BGProuteridentifier2.2.2.2,localASnumber23

BGPtableversionis1,mainroutingtableversion1

 

Neighbor       V   ASMsgRcvdMsgSent  TblVer InQOutQUp/Down State/PfxRcd

3.3.3.3        4   23      0      0       0   0   0never   Idle

 

注:

我们发现R2的邻居关系处在IDLE状态,因为我们在R2上指邻居时指的是R3的环回口3.3.3.3/24,而在R2的路由表中没有去往3.3.3.3/24网段的路由信息(R3也没有去往R2的2.2.2.2/24网段的路由),所以R2的邻居状态会卡在Idle。

解决办法:

在R2、R3上起IGP协议,或者指一条静态路由

 

邻居卡在Active状态

(1)

R2(config)#routerbgp23

R2(config-router)#neighbor3.3.3.3remote-as23

R2(config)#iproute3.3.3.0255.255.255.0s1/0

 

R3(config)#iproute2.2.2.0255.255.255.0s1/1

R3(config)#routerbgp23

R3(config-router)#neighbor2.2.2.2remote-as23

 

验证:

 

R2#showipbgpsu

BGProuteridentifier2.2.2.2,localASnumber23

BGPtableversionis1,mainroutingtableversion1

 

Neighbor       V   ASMsgRcvdMsgSent  TblVer InQOutQUp/Down State/PfxRcd

3.3.3.3        4   23      0      0       0   0   0never   Active

 

注:

此时R2的邻居关系卡在Active状态,我们上面用了R2和R3的环回口来构建邻居关系,所以发送open包的目的地是环回口,而更新源是物理端口,所以会出现交叉不相等。

如图:

(2)

R2(config)#iproute3.3.3.0255.255.255.0s1/0

R2(config)#routerbgp23

R2(config-router)#neighbor3.3.3.3remote-as23

R2(config-router)#neighbor3.3.3.3update-sourceloopback0

R2(config-router)#neighbor3.3.3.3password 0123

 

 

R3(config)#iproute2.2.2.0255.255.255.0s1/1

R3(config)#routerbgp23

R3(config-router)#neighbor2.2.2.2remote-as23

R3(config-router)#neighbor2.2.2.2update-sourceloopback0

 

验证:

 

R2#showipbgpsu

BGProuteridentifier2.2.2.2,localASnumber23

BGPtableversionis1,mainroutingtableversion1

 

Neighbor       V   ASMsgRcvdMsgSent  TblVer InQOutQUp/Down State/PfxRcd

3.3.3.3        4   23      0      0       0   0   0never   Active

 

 

注:

我们发现R2和R3的邻居关系卡在了Active状态,因为R2在指邻居时配置了密码,R3没有配置,所以在收到Open包后里面的参数不一致,使R2、R3卡到了Active状态。

(3)

 

R2(config)#iproute3.3.3.0255.255.255.0s1/0

R2(config)#routerbgp23

R2(config-router)#neighbor3.3.3.3remote-as23

R2(config-router)#neighbor3.3.3.3update-sourceloopback0

 

R3(config)#iproute2.2.2.0255.255.255.0s1/1

R3(config)#routerbgp23

R3(config-router)#neighbor2.2.2.2remote-as23

R3(config-router)#neighbor2.2.2.2update-sourceloopback0

 

验证:

 

R2#showipbgpsu

BGProuteridentifier2.2.2.2,localASnumber23

BGPtableversionis1,mainroutingtableversion1

 

Neighbor       V   ASMsgRcvdMsgSent  TblVer InQOutQUp/Down State/PfxRcd

3.3.3.3        4   23      4      4       0   0   000:

00:

45Active

注:

发现R2和R3邻居关系处在Active状态,因为在做配置时,我们只做了R2到R3的路由,没有做R3到R2的路由,所以R2无法收到R3发送的Open消息,所以会卡在Active状态。

 

R2与R3之间建立IBGP的正确配置:

 

 

R2(config)#iproute3.3.3.0255.255.255.0s1/0

R2(config)#routerbgp23

R2(config-router)#neighbor3.3.3.3remote-as23

R2(config-router)#neighbor3.3.3.3update-sourceloopback0

 

 

R3(config)#iproute2.2.2.0255.255.255.0s1/1

R3(config)#routerbgp23

R3(config-router)#neighbor2.2.2.2remote-as23

R3(config-router)#neighbor2.2.2.2update-sourceloopback0

 

注:

由上面的实验可知在配置时一定要注意邻居路由是否可达,更新源是否交叉相等,会话参数是否一致。

 

 

接下来研究R1和R2之间EBGP邻居关系的建立:

 

当用物理端口构建邻居关系时,配置如下

 

R1(config)#iproute2.2.2.0255.255.255.0s1/0

R1(config)#routerbgp1

R1(config-router)#neighbor12.1.1.2remote-as23

 

 

R2(config)#iproute1.1.1.0255.255.255.0s1/1

R2(config)#routerbgp23

R2(config-router)#neighbor12.1.1.1remote-as1

 

观察邻居关系:

R1#showipbgpsu

BGProuteridentifier1.1.1.1,localASnumber1

BGPtableversionis1,mainroutingtableversion1

 

Neighbor       V   ASMsgRcvdMsgSent  TblVer InQOutQUp/Down State/PfxRcd

12.1.1.2       4   23      5      5       1   0   000:

01:

58       0

注:

邻居关系正常建立

 

 

用环回口建立邻居关系时,配置如下

 

R1(config)#iproute2.2.2.0255.255.255.0s1/0

R1(config)#routerbgp1

R1(config-router)#neighbor2.2.2.2remote-as23

R1(config-router)#neighbor2.2.2.2update-sourceloopback0

 

R2(config)#iproute1.1.1.0255.255.255.0s1/1

R2(config)#routerbgp23

R2(config-router)#neighbor1.1.1.1remote-as1

R2(config-router)#neighbor1.1.1.1update-sourceloopback0

 

观察邻居关系:

R1#showipbgpsu

BGProuteridentifier1.1.1.1,localASnumber1

BGPtableversionis1,mainroutingtableversion1

 

Neighbor       V   ASMsgRcvdMsgSent  TblVer InQOutQUp/Down State/PfxRcd

2.2.2.2        4   23      0      0       0   0   0never   Idle

 

注:

R1与R2的邻居关系处在Idle状态,在建立EBGP邻居关系时,除了要考虑路由可达性,交叉相等和会话参数一致外,还要关注一个TTL值,默认的TTL值是1,在建立EBGP时,数据包出一个AS,TTL值减一,所以当R2发送的数据包出路由器时TTL值减成零,路由器将会丢弃这个包,所以无法正常建立邻居关系。

解决办法:

在R2和R3上更改TTL值的大小,改到大于等于2即可

R1(config-router)#neighbor2.2.2.2ebgp-multihop2

R2(config-router)#neighbor1.1.1.1ebgp-multihop2

 

BGP的AD值及开销的计算:

IBGP默认的AD值是200,EBGP默认的AD值是20。

BGP没有单独的计算开销的方法,它依赖于IGP来计算开销。

我们在R1、R2、R3各起一个环回口,并通告到BGP进程中

 

r1(config)#inlo10

r1(config-if)#ipadd10.10.10.10255.255.255.0

r1(config-if)#exit

r1(config)#routerbgp1

r1(config-router)#network10.10.10.0mask255.255.255.0

 

 

r2(config)#inlo10

r2(config-if)#ipadd20.20.20.20255.255.255.0

r2(config-if)#routerbgp23

r2(config-router)#network20.20.20.0mask255.255.255.0

 

 

r3(config)#inlo10

r3(config-if)#ipadd30.30.30.30255.255.255.0

r3(config-if)#routerbgp23

r3(config-router)#network30.30.30.0mask255.255.255.0

 

 

我们来观察R2的路由表:

 

r2#showiproute

Codes:

C-connected,S-static,R-RIP,M-mobile,B-BGP

      D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterarea

      N1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2

      E1-OSPFexternaltype1,E2-OSPFexternaltype2

      i-IS-IS,su-IS-ISsummary,L1-IS-ISlevel-1,L2-IS-ISlevel-2

      ia-IS-ISinterarea,*-candidatedefault,U-per-userstaticroute

      o-ODR,P-periodicdownloadedstaticroute

 

Gatewayoflastresortisnotset

 

    1.0.0.0/24issubnetted,1subnets

S      1.1.1.0isdirectlyconnected,Serial1/1

    2.0.0.0/24issubnetted,1subnets

C      2.2.2.0isdirectlyconnected,Loopback0

    3.0.0.0/24issubnetted,1subnets

S      3.3.3.0isdirectlyconnected,Serial1/0

    20.0.0.0/24issubnetted,1subnets

C      20.20.20.0isdirectlyconnected,Loopback10

    23.0.0.0/24issubnetted,1subnets

C      23.2.2.0isdirectlyconnected,Serial1/0

    10.0.0.0/24issubnetted,1subnets

B      10.10.10.0[20/0]via1.1.1.1,00:

06:

25

    12.0.0.0/24issubnetted,1subnets

C      12.1.1.0isdirectlyconnected,Serial1/1

    30.0.0.0/24issubnetted,1subnets

B      30.30.30.0[200/0]via3.3.3.3,00:

04:

11

 

注:

我们发现R2学习R1的10.10.10.10/24的AD值是20,开销是0,学习R3的30.30.30.30/24的AD值是200,开销也是0,因为R1学习10.10.10.10/24网段的开销是0(直连),R3学习30.30.30.30/24网段的开销也是0(直连),所以他们将开销值和路由信息一块封装进数据包发送给R2,所以R2学习10.10.10.10/24和30.30.30.30/24的开销都是0。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2