现代通信交换技术课程设计之BGP协议.docx

上传人:小飞机 文档编号:2092747 上传时间:2023-01-09 格式:DOCX 页数:20 大小:1.45MB
返回 下载 相关 举报
现代通信交换技术课程设计之BGP协议.docx_第1页
第1页 / 共20页
现代通信交换技术课程设计之BGP协议.docx_第2页
第2页 / 共20页
现代通信交换技术课程设计之BGP协议.docx_第3页
第3页 / 共20页
现代通信交换技术课程设计之BGP协议.docx_第4页
第4页 / 共20页
现代通信交换技术课程设计之BGP协议.docx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《现代通信交换技术课程设计之BGP协议.docx》由会员分享,可在线阅读,更多相关《现代通信交换技术课程设计之BGP协议.docx(20页珍藏版)》请在三一办公上搜索。

1、现代通信交换技术课程设计设计题目:BGP协议姓 名: 学 号: 班 级: 指导老师: 201 年 月目录1 BGP概述11.1 BGP协议的定义11.2 BGP协议的发展经历11.3 BGP协议基本思想11.4 BGP协议特性12 BGP协议详解22.1 BGP协议的消息类型22.2 BGP报文种类22.3 自治系统52.5 BGP路由属性62.5.1 BGP路由属性的分类62.5.2常见的路由属性72.5.3 BGP路由传递112.5.4 BGP如何根据属性完成决策112.6 BGP过滤功能123 BGP的应用123.1 BGP的使用原则123.2 BGP协议中消息的应用133.3 BGP的

2、同步133.4 成为BGP路由的途径14参考文献17附录 缩略语181 BGP概述1.1 BGP协议的定义BGP(Border Gateway Protocol)是一种自治系统间的动态路由协议,它的基本功能是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号序列属性的路径可达信息,来构造自治区域的拓扑图,从而消除路由环路并实施用户配置的路由策略。1.2 BGP协议的发展经历BGP协议从1989年以来就已经开始使用。它最早发布的三个版本分别是RFC1105(BGP-1)、RFC1163(BGP-2)和RFC1267(BGP-3),当前使用的是RFC1771(BGP- 4)。随着INTE

3、RNET的飞速发展,路由表的体积也迅速增加,自治区域间路由信息的交换量越来越大,影响了网络的性能。BGP支持无类别域间选路CIDR(Classless Inter-domain Routing),可以有效的减少日益增大的路由表。BGP-4正迅速成为事实上的Internet边界路由协议标准。1.3 BGP协议基本思想不采用RIP、OSPF的原因:(1)RIP记录的只有下一跳,没有真正定义到目的地的完整路径,RIP跳数上限只有16,不适合较大规模网络(2)OSPF的LSDB随网络规模的增加成几何数增长。 BGP的提出是面向AS之间的路由选择。BGP是基于路径向量路由的思想,但从设计上避免了环路的产

4、生。BGP要给出到目的地的完整路径,不关心跳数、费用的量度,而是关心所要经过的自治系统。1.4 BGP协议特性(1)BGP使用TCP作为其传输协议,端口号179(2)BGP对拓扑结构没有限制(3)路由更新只发送增量路由,减少占用带宽(4)采用路由策略,对AS的入口出口路由进行控制(4)支持CIDR,便于扩展2 BGP协议详解2.1 BGP协议的消息类型RFC1771中规定了四种BGP消息类型:打开消息(open)、更新消息(update)、通知消息(notification)、保持激活消息(keep-alive)。以下进行分述:(1) 打开消息(open)用于打开与相邻路由器的TCP链接,创建

5、邻居关系。打开消息紧跟在固定大小的BGP之后。(2) 更新消息(update)用于在BGP对等体间传送路由选择信息。更新数据包中的信息可以构建一个描述不同自治系统间的关系的图。更新消息可以用于向对等体通告单个有效路由,或者使多个失效路由停止服务。更新消息还可以同时通告有效路由和使多个失效路由停止服务。更新消息包括固定大小的包头以及一些特殊可选字段。(3) 通知消息当网络检测到出错时就会发送一个通知消息。BGP的连接也就会在发送完通知消息后立即关闭。(4) Keep-alive消息BGP不使用基于传输协议的保持激活机制来确认对等体是否可达。事实上,对等路由器通过足够快的频率交换保持激活消息以使保

6、持定时器不溢出。保持激活消息发送间隔时间比较合理的最大值是保持时间间隙的三分之一。要按照保持时间间隙函数值来调整保持激活消息的发送频率。如果保持时间协商结果为0,则不必周期性的发送保持激活消息。保持激活消息只有消息头,它的长度只有19Byte。2.2 BGP报文种类(1)报文头图1 报文头格式l Type(类型)1Byte,指示报文类型,如OPEN、UPDATE报文等 。l Marker(标记)16Byte,包含消息接收者可以预测的值。标记可以用来探测BGP对端的同步丢失,认证进入的BGP报文。l Length(长度)2Byte,无符号整数,指定了消息的全长,包括头部字节。 (2)Open报文

7、图2 Open报文格式l Version发端BGP版本号l My Autonomous System本地AS号l Hold Time发送方提供建议的保持定时器的设定秒数保持定时器规定了BGP邻居认为发送方信息有效的时间长度。如果BGP对等体之前的OPEN报文中Hold Time时间不一致,选择较小的Hold Time。l BGP Identifier发端的路由器标识符。该值是在BGP对等体之间进行握手操作的过程中确定的,并且在每个本地接口及每个BGP对等体之间是保持不变的。l Optional parmeters Len可选的参数的长度l Optional Parameters可选的参数(3)

8、Keep-alive报文图3Keep-alive报文格式l Keep-alive报文主要用于对等体路由器间的运行状态以及链路的可用性确认。报文的组成只包括一个BGP数据报头。Keep-alive 消息在对等路由器间的交换频度以保证对方保持定时器不超时为限。l 当一台路由器与其邻居建立BGP连接之后,将以Keep-alive interval设定的时间间隔周期性地向对等体发送Keep-alive 报文,表明该连接是否还可保持。l 缺省情况下,发送Keep-alive 的时间间隔为 60 秒,Hold Time是180秒。每次从邻居处接收到Keep-alive报文将重置Hold Time定时器,如

9、果Hold Time定时器超时,peer就认为对等体Down。(5) Update报文Update报文是BGP系统中最重要的信息,用于在同伴之间交换路由信息,它最多由三部分构成:不可达路由(unreachable)、路径属性(path attributes)、网络可达性信息(NLRI,network layer reach-ability information)。图4 Update报文格式l Unfeasible Routes Len (2字节无符号整数) 不可达路由长度l Withdrawn Routes (变长) 撤消路由l Path Attribute Len (2字节无符号整数) 路

10、由属性长度l Path Attributes (变长) 路由属性l Network Layer Reach-ability Information (变长) 网络可达信息(6)Notification报文Notification报文主要在发生错误或对等体连接被关闭的情况下使用,该消息携带各种错误代码(如定时器超时等),以及辅助错误代码及错误信息。图5 Notification报文格式表1错误代码123456错误类型消息头错Open消息错Update消息错保持时间超时状态机错退出l Error code错误代码。l Errsubcode辅助错误代码。l Data依赖于不同的错误代码和辅助错误代码

11、,用于标识错误原因。2.3 自治系统自治系统定义:由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。自治系统内部的路由协议(IGP),自治系统之间的路由协议(EGP)。(1)每个自治系统都有唯一的自治系统编号,这个编号是由因特网授权的管理机构分配的。(2)引入自治系统的基本思想:通过不同的编号来区分不同的自治系统。这样,当网络管理员不期望自己的通信数据通过某个自治系统时,这种编号方式就十分有用了。或许,该网络管理员的网络有能力访问这个自治系统,但由于它可能是由竞争对手在管理,或是缺乏足够的安全机制,因此,可能要回避它。通过采用路由协议和自治系统编号,路由器就可以确定彼此间的路径和路

12、由信息的交换方法。(3)自治系统的编号范围是1到65535,其中1到64511是注册的因特网编号,64512到65535是私有网络编号。2.4 BGP两种邻居IBGP和EBGP图6(1) 如果两个交换BGP报文的对等体属于同一个自治系统,那么这两个对等体就是IBGP对等体(Internal BGP),如RTB-RTD。(2) 如果两个交换BGP报文的对等体属于不同的自治系统,那么这两个对等体就是EBGP对等体 (External BGP),如RTA-RTB。(3) 虽然BGP是运行于自治系统之间的路由协议,但是一个AS的不同边界路由器之间也要建立BGP连接,只有这样才能实现路由信息在全网的传递

13、,如RTB和RTD,为了建立AS100和AS300之间的通信,我们要在它们之间建立IBGP连接。(4) IBGP对等体之间不一定是物理上直连的,只要TCP连接能够建立即可。为了IBGP对等体路由通告的可靠性,我们一般采用loopback接口建立IBGP邻居关系,同时必须指定路由更新报文的源接口。(5) 路由器一般默认要求EBGP对等体之间是有物理上的直连链路,同时一般也提供改变这个缺省设置的配置命令。允许同非直连相连网络上的邻居建立EBGP连接,这时需要修改EBGP的最大跳数。 2.5 BGP路由属性如何过滤某些BGP路由?如何影响BGP的选路?等这些问题可以通过使用BGP丰富的路由属性,就可

14、以得到解决。BGP路由属性是一套参数,它对特定的路由进行更详细的描述。2.5.1 BGP路由属性的分类(1)从路由属性传递时的可选性来划分:1) 必遵属性:在路由更新数据报文中必须携带的路由属性,如果缺少必遵属性,路由信息就会出错。2) 可选属性:可以选择携带的属性。(2)从路由属性传递时的范围来划分:1) 过渡属性:具有AS间可传递性的属性就是过渡属性,过渡属性的域值可以被传递到其他AS中去并继续起作用。2) 非过渡属性:只在本AS内部传播,出了自治系统,该属性不再传递。以下列出几种常用属性的情况:表2属性名必遵/可选过渡/非过渡Origin必遵过渡AS-Path必遵过渡Next-hop必遵

15、过渡MED可选非过渡Local-preference可选非过渡Community可选过渡2.5.2常见的路由属性表3序号名称序号名称1Origin9Cluster-List2AS-Path10Destination Pref (MCI)3Next hop11Advertiser (Baynet)4Local-Preference12Rcid-Path (Baynet)5Atomic-Aggregate13MP_Reach_NLR6Aggregator14MP_Unreach_NLRI7Community15Extended_Communities8Originator-ID16MED(1) O

16、rigin:起点属性定义路由信息的来源,标记一条路由是怎样成为BGP路由的。起点属性是一个必遵过渡属性,它指示BGP路由的起源。图71) 路由是由“network”命令注入的,则Origin属性是IGP。2) 路由是由“redistribute”命令注入的,则Origin属性是Incomplete(不完全)。3) 由于IGP比Incomplete 人为操纵的程度高,其优先级高。(2)As-PathAS路径属性,是路由经过的AS的序列,即列出此路由在传递过程中经过了哪些AS,它可以防止路由循环,并用于路由的过滤和选择。 图8图9(3)Next hop下一跳属性,包含到达更新消息所列网络的下一跳边

17、界路由器的IP地址。 图10(4)MED属性当某个AS有多个入口时,可以用MED属性来帮助其外部的AS选择一个较好的入口路径。一条路由的MED值越小,其优先级越高,与Cost值类似。 图111) 除非配置了“a-ways-compare-med”,其他时候永远只比较来自同一AS的路径。2) 不跨越AS传播3) 通过配置router-map来设定(5)Local-Preference本地优先级属性,用于在AS内优选到达某一目的地的路由,反映了BGP发言人对每条BGP路由的偏好程度,属性值越大越优。 图12(6)Community团体属性,团体属性标识了一组具有相同特征的路由信息,与它所在的IP子

18、网或自治系统无关。 2.5.3 BGP路由传递图13(1) 一般情况下一条路由是从自治系统内部产生的,它由某种内部路由协议发现和计算,传递到自治系统的边界,由自治系统边界路由器(ASBR)通过EBGP连接传播到其它自治系统中。路由在传播过程中可能会经过若干个自治系统,这些自治系统称为过渡自治系统。如:AS5。若这个自治系统有多个边界路由器,这些路由器之间运行IBGP来交换路由信息。这时内部的路由器并不需要知道这些外部路由,它们只需要在边界路由器之间维护IP连通性。如:AS2、AS3、AS4。还有一种自治系统称为Stub AS,如:AS1、AS6、AS7。其内部只有一个ASBR通过EBGP连接外

19、部,同外部其他AS的通信要靠过渡自治系统来转发数据。(2) 对一个具体的ASBR来说,其路由的来源有两种:从对等体接收的或者从IGP引入的。对于接收的路由,根据其属性(如AS路径、团体属性等)进行过滤,并设置某些属性(如本地优先级、MED值等),之后若需要的话,将具体的路由聚合为超网路由。BGP可能从多个对等体收到目的地相同的路由,根据规则选择最好的路由并加入IP路由表。对于IGP路由,则要经过引入策略的过滤和设置。BGP发送优选的BGP路由和引入的有效的IGP路由给对等体。 2.5.4 BGP如何根据属性完成决策(1)首先丢弃下一跳(next hop)不可达的路由;(2)优选最大衡重(wei

20、ght)的路由;(3)优选最高本地优先级(localpreference)的路径;(4)优选本路由器始发的路由;(5)优选经过AS(ASPath)最少的路由;(6)优选起点类型(origin)最低的路由;(7)优选MED值最低的路由;(8)优选从EBGP学来的路由;(9)优选AS内部最短的路径可以到达的路由;(10)优选BGP ID最低的路由器发布的路由。2.6 BGP过滤功能(1)可按照路由的IP地址过滤;(2)可按照路由经过的ASPath过滤;(3)可按照路由的属性过滤;(4)可按照路由到来的接口过滤;(5)可按照过滤的结果设置路由的属性;BGP过滤过程如下图所示: 图143 BGP的应用

21、3.1 BGP的使用原则(1)多条路径时,BGP Speaker 选择最优的路径给自己使用。(2)BGP Speaker 只把自己使用的路由通告给相邻体。(3)BGP Speaker把从EBGP获得的路由向所有相邻体通告(包括EBGP、IBGP)。(4)BGP Speaker从IBGP获得的路由不向它的IBGP相邻体通告。(5)BGP Speaker从IBGP获得的路由是否向它的EBGP相邻体通告(6)要视IGB与BGP的同步情况而定。3.2 BGP协议中消息的应用(1)通过TCP建立BGP连接时,发送open消息(2)连接建立后,如果有路由需要发送或路由变化时,发送Update消息通告对端路

22、由信息 (3)稳定后此时要定时发送Keep-alive消息以保持BGP连接的有效性 (4)当本地BGP在运行中发现错误时,要发送notification消息通告BGP对端(5)BGP使用TCP建立连接,本地监听端口为179。和TCP建立相同,BGP连接的建立也要经过一系列的对话和握手。TCP通过握手协商通告其端口等参数,BGP的握手协商的参数有:BGP版本、BGP连接保持时间、本地的路由器标识(Router ID)、授权信息等。这些信息都在Open消息中携带。(6)BGP连接建立后,如果有路由需要发送则发送Update消息通告对端。Update消息发布路由时,还要携带此路由的路由属性,用以帮助

23、对端BGP协议选择最优路由。(7)在本地BGP路由变化时,要通过Update消息来通知对端BGP对等体。(8)经过一段时间的路由信息交换后,本地BGP和对端BGP都无新路由通告,趋于稳定状态。此时要定时发送Keep-alive消息以保持BGP连接的有效性。对于本地BGP,如果在保持时间内,未收到任何对端发来的BGP消息,就认为此BGP连接已经中断,将断开此BGP连接,并删除所有从该对等体学来的BGP路由。(9)当本地BGP在运行中发现错误时,要发送notification消息通告BGP对等体。如对端BGP版本本地不支持、本地BGP收到了结构非法的Update消息等。本地BGP退出BGP连接时也

24、要发送notification消息。3.3 BGP的同步图15当不考虑同步的情况下,RTD将RTB获得的路由通告给RTE,RTE将指向AS100的路由的下一跳指向RTD,而RTD则将此路由指向RTC,但RTD获得的AS100的路由是RTB给的,RTC并不知道。3.4 成为BGP路由的途径BGP 的主要工作是在自治系统之间传递路由信息,而不是去发现和计算路由信息。所以,BGP 的路由信息需要通过配置命令的方式注入到BGP中。按照注入的方式可分为三类:纯动态注入、半动态注入、静态注入。(1)成为BGP路由的途径之一:纯动态注入图16纯动态注入是指:路由器将通过IGP路由协议动态获得的路由信息直接注

25、入到BGP中去。它可以把路由器获得的所有IGP 路由信息都引入到BGP系统中。这种方式配置简单,一次性引入所有的路由信息。相关命令:import-route protocol process-id med med | route-policy route-policy-name 1) Protocol指定可引入的外部路由协议,例如:isis、ospf、rip等 2) process-id当引入路由协议为isis、ospf或rip时,根据需要指定进程号。 3) med指定引入路由的MED度量值。4) route-policy-name从其他路由协议引入路由时,可以使用该参数指定的路由策略过滤路由

26、。(2)成为BGP路由的途径之二:半动态注入图17半动态注入是指:路由器有选择性的将IGP发现的动态路由信息注入到BGP系统中去。它和纯动态注入的区别在于:半动态注入一开始就有选择的注入路由信息;而纯动态是把所有的IGP路由信息都注入,然后再过滤(可选)。相关命令:network ipv4-address mask | mask-length route-policy route-policy-name 1) ipv4-addressBGP发布的IPv4网络地址,点分十进制形式。此网络或主机地址应该是由IGP动态路由协议发现的。2) mask/mask-lengthIP地址掩码或掩码长度。如果

27、没有指定掩码,则按有类地址处理。3) route-policy-name发布路由应用的路由策略。(3)成为BGP路由的途径之三:静态注入图18静态注入与半动态注入很类似,不同的是半动态注入的路由是由IGP动态路由协议发现的路由。而静态注入的路由是手工配置的静态路由。BGP提供了机制告诉对端先前的路由通告不再能使用。有三种方式供BGP发言者指示撤销某条路由的服务:(1)对于先前通告的路由,在Update消息的withdraw routes字段内通告了到目的地IP前缀,这样相应的路由被标志为不再使用;(2)通告有相同网络层可达信息的替代路由;(3)关闭BGP邻居之间的连接,这意味着从服务里撤销这一

28、对BGP对等体互相通告的所有的路由。一个UPDATE消息一次只能通告一条路由,但它可以携带多个路由属性。一个UPDATE消息一次也可通告多条路由,但它的路由属性必须相同。一个UPDATE消息可以同时携带多个被撤消的路由。参考文献1王喆、罗进文.现代通信交换技术.北京:人民邮电出版社,2008年6月2 (美)RandyZhang,MicahBarte著;黄博,葛建立译.BGP设计与实现.北京:人民邮电出版社,2008年3苏明发.浅谈BGP协议.网管员世界.2008(8)4 徐劲涛,余波. 浅议高级BGP路由协议. 江西通信科技.2009(3)5 孙轲. 关于BGP同步对路由选择的影响. 电脑知识

29、与技术.2010(19)6 刘亚萍,龚正虎,卢泽新. BGP路径选择问题的研究. 2005中国计算机大会附录 缩略语ASAutonomous System自治系统ASBRAutonomous System Border Router自治系统边界路由器BGPBorder Gateway Protocol边界路由协议CIDRClassless Inter-Domain Routing无类型域间选路EGPExterior Gateway Protocol外部网关协议IGPInterior Gateway Protocols内部网关协议LSDBInterior Gateway Protocols内部网关协议LSDBLink State Data-Base连接状态数据库NLRINetwork Layer Reach-ability Information网络可达性信息OSPFOpen Shortest Path First开放式最短路径优先RIPRouting Information Protocol路由信息协议TCPTransmission Control Protocol传输控制协议18

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号