现代通信交换技术课程设计设计题目:BGP协议姓名:学号:班级:指导老师:201年月目录1BGP概述...................................................................................................................................................11.1BGP协议的定义................................................................................................................................11.2BGP协议的发展经历........................................................................................................................11.3BGP协议基本思想............................................................................................................................11.4BGP协议特性....................................................................................................................................12BGP协议详解...........................................................................................................................................22.1BGP协议的消息类型........................................................................................................................22.2BGP报文种类....................................................................................................................................22.3自治系统...........................................................................................................................................52.5BGP路由属性....................................................................................................................................62.5.1BGP路由属性的分类...............................................................................................................62.5.2常见的路由属性.......................................................................................................................72.5.3BGP路由传递..........................................................................................................................112.5.4BGP如何根据属性完成决策..................................................................................................112.6BGP过滤功能..................................................................................................................................123BGP的应用.............................................................................................................................................123.1BGP的使用原则..............................................................................................................................123.2BGP协议中消息的应用..................................................................................................................133.3BGP的同步......................................................................................................................................133.4成为BGP路由的途径.....................................................................................................................14参考文献......................................................................................................................................................17附录缩略语................................................................................................................................................1811BGP概述1.1BGP协议的定义BGP(BorderGatewayProtocol)是一种自治系统间的动态路由协议,它的基本功能是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号序列属性的路径可达信息,来构造自治区域的拓扑图,从而消除路由环路并实施用户配置的路由策略。1.2BGP协议的发展经历BGP协议从1989年以来就已经开始使用。它最早发布的三个版本分别是RFC1105(BGP-1)、RFC1163(BGP-2)和RFC1267(BGP-3),当前使用的是RFC1771(BGP-4)。随着INTERNET的飞速发展,路由表的体积也迅速增加,自治区域间路由信息的交换量越来越大,影响了网络的性能。BGP支持无类别域间选路CIDR(ClasslessInter-domainRouting),可以有效的减少日益增大的路由表。BGP-4正迅速成为事实上的Internet边界路由协议标准。1.3BGP协议基本思想不采用RIP、OSPF的原因:(1)RIP记录的只有下一跳,没有真正定义到目的地的完整路径,RIP跳数上限只有16,不适合较大规模网络(2)OSPF的LSDB随网络规模的增加成几何数增长。BGP的提出是面向AS之间的路由选择。BGP是基于路径向量路由的思想,但从设计上避免了环路的产生。BGP要给出到目的地的完整路径,不关心跳数、费用的量度,而是关心所要经过的自治系统。1.4BGP协议特性(1)BGP使用TCP作为其传输协议,端口号--179(2)BGP对拓扑结构没有限制(3)路由更新只发送增量路由,减少占用带宽(4)采用路由策略,对AS的入口出口路由进行控制2(4)支持CIDR,便于扩展2BGP协议详解2.1BGP协议的消息类型RFC1771中规定了四种BGP消息类型:打开消息(open)、更新消息(update)、通知消息(notification)、保持激活消息(keep-alive)。以下进行分述:(1)打开消息(open)——用于打开与相邻路由器的TCP链接,创建邻居关系。打开消息紧跟在固定大小的BGP之后。(2)更新消息(update)——用于在BGP对等体间传送路由选择信息。更新数据包中的信息可以构建一个描述不同自治系统间的关系的图。更新消息可以用于向对等体通告单个有效路由,或者使多个失效路由停止服务。更新消息还可以同时通告有效路由和使多个失效路由停止服务。更新消息包括固定大小的包头以及一些特殊可选字段。(3)通知消息——当网络检测到出错时就会发送一个通知消息。BGP的连接也就会在发送完通知消息后立即关闭。(4)Keep-alive消息——BGP不使用基于传输协议的保持激活机制来确认对等体是否可达。事实上,对等路由器通过足够快的频率交换保持激活消息以使保持定时器不溢出。保持激活消息发送间隔时间比较合理的最大值是保持时间间隙的三分之一。要按照保持时间间隙函数值来调整保持激活消息的发送频率。如果保持时间协商结果为0,则不必周期性的发送保持激活消息。保持激活消息只有消息头,它的长度只有19Byte。2.2BGP报文种类(1)报文头Marker(16Byte)Length(2Byte)Type(1Byte)图1报文头格式Type(类型)——1Byte,指示报文类型,如OPEN、UPDATE报文等。Marker(标记)——16Byte,包含消息接收者可以预测的值。标记可以用来探测BGP3对端的同步丢失,认证进入的BGP报文。Length(长度)——2Byte,无符号整数,指定了消息的全长,包括头部字节。(2)Open报文VisionMyAutonomousSystemBGPIdentifierOptionalparmetersLenOptionalParametersHoldTime图2Open报文格式Version——发端BGP版本号MyAutonomousSystem——本地AS号HoldTime——发送方提供建议的保持定时器的设定秒数保持定时器规定了BGP邻居认为发送方信息有效的时间长度。如果BGP对等体之前的OPEN报文中HoldTime时间不一致,选择较小的HoldTime。BGPIdentifier——发端的路由器标识符。该值是在BGP对等体之间进行握手操作的过程中确定的,并且在每个本地接口及每个BGP对等体之间是保持不变的。OptionalparmetersLen——可选的参数的长度OptionalParameters——可选的参数(