思科BGP技术详解三

来源:本站原创 网络技术详解 超过1,394 views围观 0条评论

clip_image002

七、bdp的三张表:

1)邻居表:用show ip bgp nei 或:show ip bgp summary (常用)

2BGP:查看用 show ip bgp 显示有三个条目:哪个条目是学来的?2.03.0是常来的。

Network Next Hop Metric LocPrf Weight Path

*> 1.1.1.0/24 0.0.0.0 0 32768 i

*> 2.2.2.0/24 12.1.1.2 0 0 200 i

*> 3.3.3.0/24 12.1.1.2 0 200 300 i

I:本地的为空,小i移到前面了,代表IGP

*:表示是可用的路由。

>:是取优的路径(始终是会选择一条最优路径)

0.0.0.0:指本地BGP网络

200 300 i:从300200过来的,AS离我最近的放在最左边。

3)路由表: ”>”指向的那一条放进路由表中。

如图:

Best 最优的路径,始终会选一条最优的路径,不会形成负载,但可以用手工形成。

R2上有两个邻居,把BGP的邻居donw,但是直连接电路还是通的。方法:

Router bgp 200

Nei 12.1.1.1 shut

R2#Show ip bgp sum

Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd

12.1.1.1 4 100 25 33 0 0 0 00:00:43 Idle (Admin)(手动关闭 )

23.1.1.2 4 300 91 100 11 0 0 01:26:33 1

直连的能拼通:R2#ping 12.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 12.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 8/40/64 ms

R2#show ip bgp nei显示:两个邻居的状态:一个是:shutdown 一个时:Established状态。

BGP neighbor is 12.1.1.1, remote AS 100, external link

Administratively shut down

BGP neighbor is 23.1.1.2, remote AS 300, external link

BGP version 4, remote router ID 3.3.3.3

BGP state = Established, up for 01:28:33

八、消息类型:

BGP四种消息类型四个包:

Open

Dekpalive

Update

natification

clip_image001clip_image002用试验说明:如图:

clip_image004

计算机要桥接本地。启bgp 100 200 R4 R5先不要配置。R1AS 100 R2R3AS200,在交机上做端口映射。

SW1#monitor session 1 source int f0/1 监听会话1,源接口交换机机f0/1

Monitor session 1 destination int f0/3 监听会话,目的接口是:f0/3.

打开软件,wireshark,点击开始。到R1上打开f0/0接口。过一会后,再no shutdown.wiresshrk软件的过滤栏内输入bgp bgp包过滤出来。 BGp封装于TCP之上,端口号179.

九、包结构:

第一个包:open消息 作用:建立邻居关系。

包含:1.type 1 类型为1

2.版本为4,版本不相等不能建立邻居。

3.本地的ASmy AS

4.holdtime 180s 。可以修改,最小能改成3.keepalivetime60s.是由holdtiom 决定,是3倍的关系)。Holdtiom时间不相等也能建立邻居,建立邻居时则依据较小的时间。

5.BGPID:当OSPFBGp共存时,要保证Router ID一致。

6.用的是TCP协议,要完成三次握手。抓包试验:

试验: (TCP 的三次握手)

Internet protocol ,src12.1.1.1 (12.1.1.2),dst 12.1.1.2(12.1.1.1)

第二个包:keepalive 保活。(是一个空包)

包含:类型为4.

第三个包:updata:更新消息:

包含1.类型:2

2.path attribute:路径属性

3.网络可达性消息(NLRI-network layer reachability information :包含前缀和网络。

第四个包:notificationbgp 发生错误时,会发送natification报文

包含:1.type 类型:notification message 3

2.Error code 错误代码: open message error(open消息错误)

Error subcode错误子代码 : bad peer AS。对端的AS错误(不匹配的AS

十、BGP的邻接状态集:

1.idle:相当于down状态。什么也不干。 idle[ˈaidl].懒散的;空闲的

2.connet建立:建立TCP的连接。

3.active

4.opensent

5.openconfirm

6.eestablished

详细说明:

第一:idle 状态:初始化TCP的连接。

第二:connet状态:等待TCP的连接(是个瞬间),如果TCP连接成功,则发opensent消息,进入opensent状态。如不成功,则进入Active状态。

第三、Active状态:

第四、opensent:等待对方的Opensent 消息。收到消息,如匹配,则向对方发送keepalive消息,进入openconfirm状态。如不匹配,发送notification消息,回到idle状态,进行下一次的重传。

第五、openconfirm:等待对方发送keepalive消息。如收到keepalive消息,则进入下一状态;如收到notification消息,则进入idle状态。

第六、eestablished:说明邻居关系已经建立。可以发送updata消息,路由器可以更新了。

clip_image005clip_image006clip_image007十一、试验:

如上图:配通,

BGP也有router-id 选举规则,和原先一样,也可手动指定:bgp router-id 2.2.2.2

各接口配置地址,每个路由器上都有一个loop 0,将网络加入到BGp 中,

R1#Router bgp 100

Network 1.1.1.0 mask 255.255.255.0

R3#router bgp 200

Network 3.3.3.0 mask 255.255.255.0

R3# R3#show ip bgp nei

R3#show ip bgp nei

BGP neighbor is 23.1.1.1, remote AS 200, internal link 内部bgp即:IBGP

BGP version 4, remote router ID 2.2.2.2

BGP state = Established, up for 00:10:25,

Sent Rcvd

Opens: 1 1 发一个收一个OPENS包。

Notifications: 0 0

Updates: 1 1

Keepalives: 9 9

Route Refresh: 0 0

Total: 11 11

还包含

远端的Router-id

internal link :内部即IBGP

BGP state: 如显示established:代表邻居关系已经建立。

Keepalive :60s

R3#show ip bgp

学到了1.1.1.0/24的路由。是通过IBGP学过来路由。

Network Next Hop Metric LocPrf Weight Path

* i1.1.1.0/24 12.1.1.1 0 100 0 100 i

*> 3.3.3.0/24 0.0.0.0 0 32768 i

* i5.5.5.0/24 45.1.1.2 0 100 0 300 i

0.0.0.0 :是直连的链路,默认下一跳是0.0.0.0

I:表示是通过IGBP常来的路由。

R3#ping 12.1.1.1 不通,直连在任何情况下,路由下一跳应该到达。看一下路由表:

R3#show ip route ,显示没有1.1.1.1B路由。没有的原因是下一跳不可达。

34.0.0.0/24 is subnetted, 1 subnets

C 34.1.1.0 is directly connected, FastEthernet0/0

3.0.0.0/24 is subnetted, 1 subnets

C 3.3.3.0 is directly connected, Loopback0

23.0.0.0/24 is subnetted, 1 subnets

C 23.1.1.0 is directly connected, FastEthernet0/1

发现了一个问题:1.1.1.0R2的下一跳是12.1.1.1。不对了。应是:12.1.1.2

R1:#上用ping 3.3.3.3 source 1.1.1.1 不通。

原因:是的。到过1.1.1.0网络的下一跳是12.1.1.1了,应该是23.1.1.。引出了:

BGP网络中的“下一跳规则”:

EBGP邻居常来的路由,在向IBGP发送时,下一跳地址要改变(默认是不改变的)。

R2EBGpR1上学到1.1.1.1路由,下一跳是12.1.1.1,根据上述规则,R2在发给R3时,下一跳不变也是12.1.1.1,如果R3能正常收到路由,应该改成到R3R1的下一跳:。23.1.1.1

R2 # router bgp 200

R2#nei 23.1.1.2 next-hop-self 23.1.1.1 是指的我的邻居。

意思是:我给我的邻居23.1.1.2发送路由时下一跳变成我自己。

R3#show ip bgp

显示:有了R31.1.1.1的下一跳地址:23.1.1.1

Network Next Hop Metric LocPrf Weight Path

*>i1.1.1.0/24 23.1.1.1 0 100 0 100 i

*> 3.3.3.0/24 0.0.0.0 0 32768 i

* i5.5.5.0/24 45.1.1.2 0 100 0 300 i

水平分割:

没有收到。原因是IBGP有一个水平分割原则:

R3#Ping 1.1.1.1 source 3.3.3.3

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=3032转载请注明转自CCIE那点事
如果喜欢:点此订阅本站