




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《网络协议分析》课程大作业学姓班指导教师评语:边界网关协议(BGP)是运行于TCP上的一种自治系统的路由协议。BGP是唯一多路连接的协议。BGP构建在EGP的经验之上。BGP系统的主要功能是和其他的BGP系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了AS互联的拓扑图并由此清除了路由环路,同时在AS级别上可实施策略决策。1、背景知识BGP是自治系统间的路由协议。BGP交换的网络可达性信息提供了足够的信息来检测路由回路并根据性能优先和策略约束对路由进行决策。特别地,BGP交换包含全部ASpath和增长,它也不得不面对一些严重的规模问题,包括:(1)B类网络地址空间的耗尽。该问题的主要原因之一,是缺少适于中型组织的中等大小的网络;C类网络,最多拥有254个主机地址,实在太少,而B类网络允许最多65534个地址,却又太大无法充分使用。(2)互联网路由器中路由表的增长使目前的软件(和人们)无法有效管理。(3)32位IP地址空间的耗竭。很明显,前两个问题和最后一个问题可能分别在今后一两年内和三年内变得急迫。无类别域间路由(CIDR)试图解决这些问题,设计相应机制来降低路由表和对新IP网推迟使得互联网仍能有效运作,同时着手远期的解决方案。4对3做了扩展,支持路由信息的聚合及基于无类别域间路由体系()的路由减少。本备忘录论述了BGP4在互联网中的应用。本文档的所有讨论成一张一般的网络图,图上节点是AS,边是每对AS间的连接。AS内使用内部网关协议和统一度量来路由数据包,而通过外部网关协议将数据包路由到其他AS。该经典定义尚在发展,一些AS在其内部使用多种内部网关协议和度量。在此,强调一下自治系统在本文档中的含义,即使它采用多种IGP和度量,它的管理区别于其他AS,其内部路AS由一个管理机构管理,至少在外部看来它代表着该系统的路由信息。2、BGP特点BGP属于外部或域间路由协议。BGP的主要目标是为处于不同AS中的路由器之间进行路由信息通信提供保障。BGP既不是纯粹的矢量距离协议,也不是纯粹的链路状态协议,通常被称为通路向量路由协议。这是因为BGP在发布到一个目的网络的可达性的同时,包含了在IP分组到达目的网络过程中所必须经过的AS的列表。通路向量信息时十分有用的,因为只要简单地查找一下BGP路由更新的AS编号就能有效地避免环路的出现。BGP对网络拓扑结构没有限制,其特点包括:(1)实现自治系统间通信,传播网络的可达信息。BGP是一个外部网关协议,允许一个AS与另一个AS进行通信。BGP允许一个AS向其他AS通告其内部的网络的可达性信息,或者是通过该AS可达的其他网络的路由信息。同时,AS也能够从另一个AS中了解这些信息。与距离向量选路协议类似,BGP为每个目的网络提供的是下一跳(nexthop)结点的信息。(2)多个BGP路由器之间的协调。如果在一个自治系统内部有多个路由器分别使用BGP与其他自治系统中对等路由器进行通信,BGP可以协调者一系列路由器,使这些路由器保持路由信息的一致性。(3)BGP支持基于策略的选路(baserouting)。一般的距离向量选路协议确切通告本地选路中的路由。而BGPBGP路由器可以为域内和域间的网络可达性配置不同的策略。(4)可靠的传输。BGP路由信息的传输采用了可靠地TCP协议。(5BGP息之外,通告中还包括了通路向量(path),即去往该目的网络时需要经过的AS的列表,使接受者能够了解去往目的网络的通路信息。(6)增量更新。BGP不需要再所有路由更新报文中传送完整的路由数据库信息,只需变化的信息称为增量(delta)。(7)BGP支持无类型编制()及VLSM方式。通告的所有网络都以网络前缀加子网掩码的方式表示。(8)路由聚集。BGP允许发送方把路由信息聚集在一起,用一个条目来表示多个相关的目的网络,以节约网络带宽。(9)BGP还允许接收方对报文进行鉴别和认证,以验证发送方的身份。1BGP的结构和功能BGP用于在不同的自治系统(AS)之间交换路由信息。当两个AS需要交换路由AS都必须指定一个运行BGPAS与其他的AS交换路由信息。这个节点可以是一个主机。但通常是路由器来执行。两个AS中利用BGPBorderGatewayBorderRouter由于可能与不同的AS相连,在一个AS内部可能存在多个运行BGP的边界路由器。同一个自治系统(AS)中的两个或多个对等实体之间运行的BGP被称为IBGP(Internal/InteriorBGP)。归属不同的AS的对等实体之间运行的BGP称为EBGP(External/ExteriorBGP)。在AS边界上与其他AS交换信息的路由器被称作边界路由器(border/edgerouter)。在互联网操作系统(Cisco)中,IBGP通告的路由的距离为200,优先级比EBGP和任何内部网关协议()通告的路由都低。其他的路由器实现中,优先级顺序也是EBGP高于,而IGP又高于。BGP属于外部网关路由协议,可以实现自治系统间无环路的域间路由。BGP是沟通Internet广域网的主用路由协议,例如不同省份、不同国家之间的路由大多要依靠BGPBGP可分为IBGP(InternalBGP)和(ExternalBGP)。BGP的邻居关系(或称通信对端/对等实体)是通过人工配置实现的,对等实体之间通过TCP(端口179)会话交互数据。BGP路由器会周期地发送19字节的保持存活keepalive消息来维护连接(默认周期为30秒)。在路由协议中,只有BGP使用TCP作为传输层协议。IETF先后为BGP制定了多个建议,分别为:RFC4271:当前正使用的BGP协议版本,称之为BGP4。RFC1654:BGP4协议的第一个规范。RFC、RFC、RFC1267、RFC1771:BGP4之前的BGP版本。2BGP消息类型及状态转换BGP使用如下四种消息类型:(1)Open消息:Open消息是TCP连接建立后发送的第一个消息,用于建立BGP对等体之间的连接关系。(2KeepaliveBGP会周期性地向对等体发出Keepalive消息,用来保持连接的有效性。(3Update消息:Update消息用于在对等体之间交换路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息。(4NotificationBGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接会立即中断。BGP邻居建立中的状态和过程如下:(1)空闲(Idle):为初始状态,当协议激活后开始初始化,复位计时器,并发起第一个TCP连接,并开始倾听远程对等体所发起的连接,同时转向Connect状态。。(2)连接(Connect):开始TCP连接并等待TCP连接成功的消息。如果TCP连接成功,则进入OpenSent状态;如果TCP连接失败,进入Active状态。(3)行动(Active):BGP总是试图建立TCP连接,若连接计时器超时,则退回到Connect状态,TCP连接成功就转为Opensent状态。(4OPENOpensentTCP连接已建立,自己已发送第一个OPEN报文,等待接收对方的OpenNotification消息报文并退回到IdleKeepalive消息报文,Keepalive计时器开始计时,并转为Openconfirm状态。(5)OPEN证实(Openconfirm):BGP等待Keepalive报文,同时复位保持计时器。如果收到了Keepalive报文,就转为Established状态,邻居关系协商完成。如果系统收到一条更新或Keepalive消息,它将重新启动保持计时器;如果收到Notification消息,BGP就退回到空闲状态。(6EstablishedUpdate报文,同时复位保持计时器。3BGP路由通告原则BGP在进行路由通告的时候,需要遵循以下原则:(1)多条路径时,BGPSpeaker只选最优的给自己使用(负载均衡和FRR除外)。(2)BGPSpeaker只把自己使用的路由(最优路由)通告给相邻体。(3BGPSpeaker从EBGP获得的路由会向自己所有BGP相邻体通告(包括EBGP和)。(4)BGPSpeaker从IBGP获得的路由不向自己的IBGP相邻体通告(反射器除外)。(5)BGPSpeaker从IBGP获得的路由是否通告给自己的EBGP相邻体要根据IGP和BGP同步的情况来决定。(6)当收到对端的refresh报文并且本端邻居支持refresh能力,BGPSpeaker将把自己所有BGP路由通告给对等体。(7)GR过程中,主备倒换方在GR结束时BGPSpeaker会把自己所有BGP路由通告给对等体。四、实验结果与分析:BGP是建立在TCP之上的端口号为179AS国人只能和中国人说,外国人和外国人说)BGP是运用在AS之间的BGP的前身是EGP,EGP只能在AS之间简单的传递路由信息,不会对路由进行任何AS之间避免路由环路等问题,BGP一般运营在运营商的核心网先启动BGP的一端先发起TCP连接,如图所示,RTB先启动BGP协议,RTB使用随机端口号向RTA的179端口发起TCP连接。路由器是通过物理口去建立邻居的;Loopback也能建立,前提是必须要有路由,需要建立一个动态路由或者静态路由。源是12.1.1.1目的2.2.2.2源是2.2.2.2目的10.1.1.1没有匹配,即三次握手没有成功。AS号的分类:164511由IANA统一分配。6451265535私有企业或者自行分配。特点:BGP可以跨越多跳路由器建立邻居关系邻居关系:EBGP(外部网关边界协议):运行在不同AS之间的BGP路由器建立的邻居关系,默认的优先级是225,默认的TTL是1。IBGP(内部BGP协议):运行在相同AS之间BGP路由器建立的邻居关系,默认的优先级是225,默认的TTL是255。[R1]routerid1.1.1.1(标识路由器)[R1]bgp100(配置邻居关系)[R1bgp]peer2.2.2.2-number100(peer后面是对端邻居的接口地址,number后面是邻居路由器所在的AS号,ASIBGP邻居关系,ASEBGP邻居关系)PS:建立IBGP邻居关系是时,一般使用loopback接口的IP地址,因为loopback接口开启后一直处于UP状态,只要保证路由可达,邻居关系就会处于稳定状态。而建立EBGP邻居关系时,一般使用直接接口的IP地址,因为EBGP是跨AS建立邻居关系,邻居关系建立之前非直连接口之间的路由不可达。BGP邻居关系配置的优化[R1]routerid1.1.1.1(标识路由器)[R1]bgp100(配置邻居关系)[R1bgp]peer2.2.2.2-number100[R1bgp]peer2.2.2.2connectinterfaceLoopBack0(修改更新源,路由器默认是物理口建立可连接)报文:Openkeepliveupdaterouterefreshnotificationopen:邻居建立发送的第一个报文协商参数keeplive:周期性发送,去看链路是否正常update:去更新路由信息①更新路由属性相同的多个路由条目①更新路由不可达的路由条目(删除)routerefresh:当路由策略改变的时候会发送该报文去请求新的路由条目notification:当邻居失效就会发送这个报文一::BGP的初始状态,不会去接受任何邻居发来的任何请求二:connectOPENSENT发起链接,同时切换到Active状态。也就是说,只要在Connect状态,就证明BGP正在试图建立连接,而不是等候。①连接成功①连接不成功①请求超时三:active:请求连接,向邻居去请求连接的,在OPENSENT的时候,如果BGP链接忽然丢失,也会进入这个状态。第一种:请求成功connect第二种:请求不成功第三种:请求超时四:opensent对收来的open报文进行检查,如果有错误,系统就会发送一条出错通知消息并退回到IdleBGP就开始发送KeepaliveKeepalive计时器,开始计时。协商成功进入下一个状态五:opencomfirm:如果收到了一个Keepalive报文,就转入Established阶段,BGP邻居关系就建立起来了。如果TCP连接中断,就退回到Idle状态。六:establishBGP邻居关系已经建立,这时,BGP将和它的邻居们交换Update报文:经过一台路由器,并且经过解封装和重新封装以后的源地址和目标地址不变,这时候,TTL减1。BGP通告原则之一:仅将自己最优的路由发给邻居将个路由发布给邻居下一跳自我:下一跳是他就会把器也就接受到了这个达下一跳,把下一跳设置为从传到他的那个路由。路由器通过这个直连的下一跳,也就能通信了。4.4.4.4ocalBGP通告原则之二:通过EBGP获得的最优路由发布给所有BGP邻居BGPIBGP学到的最优路由不会发给其他的IBGPIBGP的水平分割)R3从R1通过EBGP学来的路由发送给R2,但是R2不会通过IBGP把来的路由发送给R4,所以,R4是不会接收到条路由的BGP通告原则之四:BGP与IGP的同步也就是把BGP的路由表和IGP的路由表同步华为默认关闭IBGP水平分割:从IBGP学到的最优路由不会发给其他的IBGP邻居、路由黑洞解决:1.全互联(TCP会话过多,资源占用就大了)2.路由的引入,把BGP的路由引入到IGP中前两个不是太靠谱,因为BGP有上万个路由条目,IGP只有几千个3.MPLSBGP路由信息处理当从BGP邻居接收到Update确定最佳路径。得出的最佳路径被存储到本地BGPlocal_RIBIP路由表BGP的属性公认:在Update报文当中,可以支持和识别的属性①公认必遵:在Update报文当中,必须携带的属性①公认任意:可以不携带在update报文当中可选:在update报文当中,可以不识别的属性可选过渡:本BGP路由器不识别的属性,但是可以把该属性传递给邻居可选非过渡:本BGP路由器忽略的属性,并且不传递给邻居五、小结与心得体会我收获了BGP最实用的方法:1、建立基本的BGP邻居关系在两个路由器之间的BGP对等通过二个步骤来完成:(1)用routerbgp命令建立BGP进程并明确本地AS号。(2)用neighborremoteas命令确定邻居以及邻居的AS号。通过对端物理接口的IPBGP配置不能提供冗余。2、通过环回接口来建立邻居这种配置能提供冗余,唯一的要求是在环回接口间保证连通性。来建立邻居关系就能提供更好地性能。坏掉,那么这并不会影响BGP路由协议对邻居关系的建立。3、路由通告进BGP要通过BGPBGP(1)通过把从IGP学习到的路由条目重分发进BGP中;(2)通过network命令把网络宣告进BGP中;(3)通过添加静态路由条目,然后再使用network命令把网络宣告进BGP中。4、如何向BGP邻居通告默认路由要给BGP对端通告一条默认路由,总共有三种方法可以实现。(1)如果只给特定的对端通告默认路由,那么可以通过neighbordefaultoriginate命令完成,使用这条命令时,不管本地的路由表中有没有默认路由都可以实现。(2BGP个步骤去完成。首先,建立一条指向NULL0的默认路由,然后,重分发进BGP进程,最后,在BGP进程中使用defaultinformation
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 插件化应用测试框架-全面剖析
- 生物防治病虫害-全面剖析
- 隐私计算与数据安全的融合框架-全面剖析
- 神经元激活模式研究-全面剖析
- 文具行业绿色发展-全面剖析
- 2025年成人高考《语文》模拟冲刺题库:诗歌创作与鉴赏能力测评试题
- 2025年小学语文毕业升学考试全真模拟卷(阅读写作强化版)六十二
- 地震灾害应急救援-全面剖析
- 航运业数字化转型路径探索-全面剖析
- 数字化在艺术品拍卖中的应用-全面剖析
- 胸腔闭式引流护理-2023年中华护理学会团体标准
- 2023年《移动式压力容器充装质量管理手册》
- 第二届全国物流设计大赛一等奖作品:北京交通大学一队全国决赛作品
- 全飞秒激光技术
- 水泥产品生产许可证实施细则
- ABB变频器ACS510说明书
- 城轨道交通接触网检修工职业标准
- QC成果减少隧道工程Ⅳ类Ⅴ类围岩超挖量
- LY/T 1763-2008沿海防护林体系工程建设技术规程
- 校园网站设计论文
- GB/T 17213.4-2015工业过程控制阀第4部分:检验和例行试验
评论
0/150
提交评论