BGP路由协议详解(完整篇)

网络流量监测BGP路由协议详解
制作人:张选波
太阳能充电背包二〇〇九年六月二十二日
一、BGP的概况
BGP最新的版本是BGP第4版本(BGP4),它是在RFC4271中定义的;一个路由器只能属于一个AS。AS的范围从1-65535(64512-65535是私有AS号),RFC1930提供了AS 号使用指南。
BGP的主旨是提供一种域间路由选择系统,确保自主系统只能够无环地交换路由选择信息,BGP路由器交换有关前往目标网络的路径信息。
BGP是一种基于策略的路由选择协议,BGP在确定最佳路径时考虑的不是速度,而是让AS能够根据多种BGP属性来控制数据流的传输。
1、BGP的特性
BGP将传输控制协议(TCP)用作其传输协议。是可靠传输,运行在TCP的179端口上(目的端口)
由于传输是可靠的,所以BGP0使用增量更新,在可靠的链路上不需要使用定期更新,所以BGP使用触发更新。
类似于OSPF和ISIS路由协议的Hello报文,BGP使用keepalive周期性地发送存活消息(60s)(维持邻居关系)。
BGP在接收更新分组的时候,TCP使用滑动窗口,接收方在发送方窗口达到一半的时候进行确定,不同于OSPF等路由协议使用1-to-1窗口。
丰富的属性值
可以组建可扩展的巨大的网络
2、BGP的三张表
邻居关系表
⏹所有BGP邻居
转发数据库
涂塑钢管连接
⏹记录每个邻居的网络
⏹包含多条路径去往同一目的地,通过不同属性判断最好路径
⏹数据库包括BGP属性
路由表
⏹最佳路径放入路由表中
⏹EBGP路由(从外部AS获悉的BGP路由)的管理距离为20
⏹IBGP路由(从AS系统获悉的路由)管理距离为200
智能识别技术如下图所示。
邻居表,包含与之建立BGP连接的邻居
⏹使用命令show ip bgp summary可以查看到
Router#sh ip bgp summary
BGP router identifier 11.1.1.1, local AS number 100
BGP table version is 8, main routing table version 8
5 network entries using 585 bytes of memory
6 path entries using 312 bytes of memory
4/3 BGP path/bestpath attribute entries using 496 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1417 total bytes of memory
收腰羽绒服BGP activity 5/0 prefixes, 6/0 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.1.1.1    4 100 14 18 8 0 0 00:09:32    2
11.1.1.2    4 200 12 16 8 0 0 00:07:03    1
转发表,从邻居那里获悉的的所有路由都被加入到BGP转发表中。
⏹使用命令show ip bgp可以查看
Router#sh ip bgp
BGP table version is 8, local router ID is 11.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 10.1.1.0/24 0.0.0.0 0 32768 i
* i 10.1.1.1 0 100 0 i
*> 11.1.1.0/24 0.0.0.0 0 32768 i
*>i192.168.1.0 10.1.1.1 0 100 0 i
*> 192.168.2.0 0.0.0.0 0 32768 i
*> 192.168.3.0 11.1.1.2 0 0 200 i
路由表,BGP路由选择进程从BGP转发表中选出前往每个网络的最佳路由,并加入到路由表中。
⏹使用命令show ip route bgp可以查看
Router#sh ip route bgp
B 192.168.1.0/24 [200/0] via 10.1.1.1, 00:13:11
B 192.168.3.0/24 [20/0] via 11.1.1.2, 00:11:19
3、BGP消息类型
open:用来建立最初的BGP连接。(包含hold-time,router-id)
Keepalive:对等体之间周期性的交换这些消息以保持会话有效。(默认60秒)
Update:对等体之间使用这些消息来交换网络层可达性信息。
Notification:这些消息用来通知出错信息。
所有的BGP分组共享同样的公有首部,在学习不同类型的分组之前,先讨论公共首部,如下图所示,这个首部的字段如下。
标记:这个16字节标记字段保留给鉴别用
长度:这个2字节字段定义包括首部在内的报文总长度
类型:这个1字节段定义分组的类型,用数值1至4定义BGP消息类型
打开消息:主要是利用此报文建立邻居,运行BGP的路由器打开与邻居的TCP连接,并发送打开报文,如果邻居接受这种邻居关系,由响应保活报文。打开报文格式如下所示。
版本:这个1字节字段定义BGP的版本,当前的版本是4
自治系统:这个2字节字段定义自治系统号。
保持时间:这个2字节字段定义一方从另一方收到保活报文或更新报文之前所经过的最大秒数,若路由器在保持时间的期间内没有收到这些报文中的一个,就认为对方
是不工作的。
BGP协议标识:这是2字节字段,这定义发送打开报文的路由器,为此,这个路由器通常使用它的IP地址中的一个作为BGP标识符。
选项长度:打开报文还可以包含某些选项参数,若包含,则这个1字节字段定义选项参数总长度,若没有选项参数,则这个字段的值为0
选项参数:若选项参数长度的值不是0,则表示有某些选项参数,每一个选项参数本身又有两个字段,参数长度和参数值,到现在已定义的唯一的选项参数是鉴别。
如下图是采用ethereal采集到的BGP的打开消息报文。
更新报文:更新报文是BGP协议的核心,路由器使用它来撤销以前已通知的终点和宣布到一个新终点的路由,或两者都有,应该注意:BGP可以撤销好几个在以前曾通知过的终点,但在单个更新报文中则只能通知一个新终点,如下所示。焊接卡盘

本文发布于:2024-09-25 06:19:44,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/109768.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:路由   报文   使用   邻居   路由器   定义
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议