下载  >  网络技术  >  网络基础  > 08 网络之路 第八期——BGP专题.pdf

08 网络之路 第八期——BGP专题.pdf 评分

08 网络之路 第八期——BGP专题.pdf
[综述篇] 网○络○之○路 ROUTE TO NETWORK BGP综述 文/朱皓 BGP的出现 要全面了解BGP,首先我们要回答以下看上去很简单的问题:为什么需要BGP,也就是说 BGP是如何产生的,它解决了什么问题。带着以上问题,我们先简单的回顾一个路由协议发 展的轨迹。 首先路由的实质是描述一个网络结构的表达方式,路由表其实是一个结果的集合。在 早期的 ARPANet网络时代,网络规模有限,路由数量也不大,因此所有的路由器可以维护整 个网络拓扑,那时候使用的路由协议叫GP( Gateway-to- Gateway protoco l)。GGP自然成 为第一个内部网关协议(|GP)。在1980年左右。当时的网络管理者遇到了与今天类似的问 题:网络规模扩大导致的路由数量不断增长。为了解决这种网络规模的增长问题,提出了自 治系统的概念(AS),也可以叫做路由管理域。在AS内部使用一种路由协议,然后在AS之间 使用另一种路由协议。这样做的好处显而易见,不同的网络可以自己选择GP协议,然后再 通过一个统一的AS问协议进行互连就可以了。 在1GP的发展领域中,先是RIP成为P路由的主流,后期发展出更高级的|GP协议包括 0SPF和ISS,这些协议自动化程度更高、更智能更可靠。而|GRP和EGRP是CISC0的私有协 议,也是属于lGP的范畴。同一个AS的路由器间是有相互信任关系的,而且这些路由器往往 由同样的管理人员维护,因此GP的自动发现和路由计算信息泛洪处于完全开放的状态,人 工干预的行为是比较少的。 不同AS互相连接的需求,推动产生了外部网关协议(EGP),EGP的主要目的是在不同 的AS之间传递路由协议。而不同的AS之间往往是直接相连,大多数AS互联行为只涉及少量的 边界路由器(ASBR),所以EGP的设计也非常简单。EGP的RFC827发布于1982年,看上去似 综述篇 乎早于RP的第一个标准FRG1058,但其实在RFC1058之前,RIP已经被广泛的使用。在当时, RIP+EGP成为一种标准的路由组合 EGP被设计的如此简单,以至于很快就不能满足网络管理的要求。EGP单纯的发布网络可 达信息,不做任何优选,也没有考虑环路避免。有人甚至认为EGP算不上是一个路由协议, EGP的众多缺陷,最终导致被BGP所取代。BGP的第一个FRG1105是1989年发布的,和EGP相比, BGP更像是一个路由协议,具有很多路由协议的特征,比如解决环路问题、收敛问题、触发更 新等等。 就像是不同的企业有各自的企业文化和标准,但是企业间的交往却要遵循统一的行为规 范和标准一样。对于AS间的路由交互,也必须有一个统一的标准。BGP相比EGP的众多优势, 使BGP成为唯一的外部网关协议,并广泛的使用在互联网上 综上所述,BGP是为了替代EGP而出现的一个外部网关协议,它必须能够进行路由优选 路由环路的避免、能够更髙效率的传递路由和维护大量的路由。因为BGP部署在不具有完全信 任关系的AS之间,因此需要BP有丰富的路由控制能力,并且可以通过一些简单统一的方法对 BGP进行扩展。 BGP的发展 BGPv1(RFC1105)定义了BGP最基础的一些协议特征。BGP在AS间传递路由,因此它非常 重要。为了保证BGP的可靠传输,使用了TCP作为传输层协议。使用TCP的好处是显而易见的, BGP可以利用TP现成的可靠性传输机制、重传、排序等机制来保证协议报文交互的可靠性。 对于TGP扩展带来的好处也可以被继承,比如TCP的MD5认证就可以为BGP所用 BGP是建立在两个不同的AS间,存在信任问题,所以BGP不能通过自动发现,而是需要手 动配置邻居,使用指定地址建立TCP关系。与AS外部节点建立的BGP关系叫做EBGP关系,与AS 内部节点建立的BGP关系是BGP关系。 BGP最重要的一个概念就是使用AS号来解决AS间的环路问题,如果收到某个路由信息携 带了自己的AS号,那么说明这个路由是已知路由,就不再处理它。如果AS号重复,那么说明 岀现了路由环路。在BGPⅵ中并没有As-path的概念,这个概念在BGPv2中被明确下来。BGP从 v1、2、v3、到现在的v4,也是不断地进行改良。BGP4+则主要是进行了多协议BGP的扩展, 也叫MP-BGP。关于MP一BGP的概念不是本季刊的讨论内容。 在AS內部,因为没有AS号的变化,防止环路需要采用其他的方法。BGP规定从IBGP邻居学 习到的路由不会传递给另一个lBGP邻居,简单地说就是lBGP间路由只传一跳,路由只传递一 次当然就不存在成环的问题。同时就要求AS内部的所有路由器都要两两建立BGP关系,这就 是BP技术中的BGP全连接。全连接在大型网络中是不可想象的,因此后来衍生出路由反射器 和BGP联盟两种技术(RFG1966和RFG1965)。路由反射器是在AS中指定一个节点作为反射器 所有的其他节点都与反射器建立BGP关系,反射器作为一个中间节点,在其他任何两个|BGP 间传递路由。所以反射器从理论上讲,在传递路由的时候,不应该改变路径属性信息,否则 网○络○之○路 ROUTE TO NETWORK 就破坏了BGP在AS内部避免环路的原则。但是基于实际应用的角度,不同的厂商对反射器的功 能做了很多特性,需要BGP的部署者谨慎使用。BGP联盟则是在AS内部做了重新规划,把一个 扁平化的AS又分为多个私有的AS,这样做的好处一方面可以分层的管理一个庞大的As,另 方面通过层次的划分,自然减少了全连接的需求。 BGP报文采用了TLV的结构,这种结构是非常利于扩展和向下兼容的。所以,随着网络的 发展,产生了大量关于BGP扩展的RFG,这更使得BGP成为永葆青春的外部网关协议 从最初的BGPⅥ1到BGPνv4,协议报文的种类和格式都做过调整,但是BGP的设计一直以简单 明了作为原则。从BGPv2开始,消息种类确定为4种。建立TCP连接后,使用0PEN消息触发BGP 关系建立过程,使用 UPDATE消息进行路由的发布和撤销,使用N0 TIFICATION消息通告出现错 误,使用 KEEPALIVE消息对BGP关系进行保活。可见BGP的路由通告是触发更新模式的,只有更 新的时候才发送 UPDATE,所以,需要 KEEPALIVE消息对BGP关系进行保活。BGP状态机也是在 BGPv2开始被确定为6种。 1990年出现的BGPv2(RFC1163)是一个重要的分水岭。首次出现了BGP路径属性的概念, 而且其中对属性的分类方法沿用至今,成为BGP路由策略的主要手段,为各种对路由的过滤、 标识、选择提供了多种多样的方法 路径属性分为4种,最基本的就是公认必遵属性。顾名思义这类属性必须在发布路由的时 候携带,描述了所发布路由的一些基本信息,包括:下一跳、 AS PATH和0 RIGIN。下一跳用于 路由计算、AS_PATH用于环路避免,0RIGN则用于路由选择。在BGP中,路由信息通过网络前 缀的方式进行描述,被叫做网络层可达信息(NLR,本文后面有些地方使用了‘BGP路由’这 个通俗的叫法,以方便理解)。NLRI这个描述更贴切一些,实际上BGP只传递了一些信息,用 于计算出路由,所以№LR必然是存在于 UPDATE消息中。在 UPDATE消息中,路由信息通过路径 属性+№LRI的方式表达出来。既然№LRI必须附加公认必遵的3种属性,那么一个 UPDATE只传递 相同路径属性的NLRI信息,这样实现就比较简单 公认必遵属性相对应的就是公认可选,也就是说这些属性必须被所有的BGP路由器所识 別,携带与否是可以选择的。其他两种可选可传递属性和可选不传递属性,很显然,两种属 性考虑到了协议的扩展性,对于设备不识别的属性,是可以透传或者忽略的。 各种各样的属性,一方面用于路由选择,另一方面相当于给路由做了标志,在不同的节 点,根据这些标志对路由做相应的过虑、修改等操作。也可以根据属性来实现一些BGP的扩展 特性。正是因为BGP使用在不完全可信的路由管理域之间,所以需要BGP具有对路由信息灵活 的控制手段,这是BGP最重要的特点之一。 网络设备根据NLR|中的网络前缀和对应的路径属性,进行路由计算,计算有可能需要依 赖IGP来完成。因为BGP关系可以建立在非直连的网络节点,只要建立TcP连接的地址通过GP 可达,就可以建立BGP关系并交互NLR信息。另外,NLRI对应的路径属性中携带了下一跳的信 息,下一跳也要通过GP进行査找,如果找不到到达下一跳的路由,那么就说明无法到达发布 NLRI的BGP节点,因此该BGP路由处于 inacti ve状态。很显然, inactive的路由信息是不应该 发送给其他任何一个对等体的。所以有必要在全局路由表之外,保留一个BGP路由表,通过这 综述篇 个表,可以看到BGP路由决策的部分结果。 在BGP实际的使用中,还有一个同步的概念,也就是IGP路由必须与BGP路由同步。前面 已经提到BGP关系是可以在非直连邻居间建立的,路由信息可以在BGP对等体之间传递,但是 没有配置BGP的中间链路节点,并没有这些BGP路由信息。路由归根结底是为转发报文而服务 的,当报文转发到这些中间链路节点时,会因为没有路由而被丢弃。这个现象很形象的被称 为BGP黑洞。解决BGP黑洞其实很简单,就是保证如果某个节点没有配置BGP的话,必须可以通 过GP获得这些BGP路由信息,这就叫IGP路由与BGP路由同步。在真实的网络设计中BGP黑洞是 很少出现的,因为如果AS是一个边缘AS,那么BGP多数只部署在AS连接其他AS的边界上。如果 AS是位于多个AS中间的区域,那么这个AS是一个核心区域,其中所有的路由器都会部署BGP并 且配置了 FULL-MASH的BGP关系。所以BGP黑洞是很少出现的特例,因此当前大多数厂商的实 现都是默认关闭了这种同步的检查。 1991年RFC1267定义了BGPv3,一个重要的补充是增加了连接的冲突处理机制,当两个节 点同时发起连接时,BGP1D大的一方发起的连接会被保留。 BGPv4(RFC1771)最重要的改变是BGP终于由有类的路由协议成为一个无类的路由 协议。这个改变源于有类地址的枯竭,为解决这个问题,1993发布的RFC1520定义了CIDR Classless nter- Domain rout ing)。而BGP作为唯一的As间路由协议,支持CIDR是必然 的 最新关于BGP4的RFG是4271,其中对于一些细节进行了进一步的说明,比如对NEXT-H0P属 性的处理原则、事件和状态机以及BP的路由决策流程等等。4271相比于1771的变化还是比较 多的,详细情况可以参看RFG4271的附录A BGP协议基本概念并不复杂,如果从BGP的使用场景和使用特点来看,理解起来很容易。 BGP的困难主要在于部署时如何适应网络拓扑的要求,和对路由进行控制,因为BGP控制路由 的手段非常多,而且这些控制都是需要管理员定义和部署。各种特性和控制手段组合在一起 使用时,会互相影响。 BGP的扩展 前面提到了BGP的一些基本概念:基于TCP的可靠连接、触发更新、AS内和AS间防止环路 的技术,通过各种属性实现的路由优选和路由控制策略、消息的类型等等。可以看岀BGP的各 种特征,都是来源于BGP使用的场合,需求决定了最终的实现,协议不过是统一了实现的方法 而已。 关于BGP扩展的RFC非常多,多数都是实现了不同的特性,也有一些是对BGP的分析,甚至 是BGP部署方面的建议和经验。下面列出的只是关于BGP的小部分RFC而已。 前面提到的BGP联盟出现在RFC1965(最新版为RFC5065),路由反射出现在RFG1966(最 新版为RFC4456)。 BGP路由扩展团体属性出现在RFG1997(最新版本为RFC4360) 网○络○之○路 ROUTE TO NETWORK 路由刷新功能岀现在RFG2918,路由刷新定义了一种新的BGP消息 Route- REFRESH,使用 这个消息可以要求对等体更新某个地址族的路由信息。 RFC2439定义BGP路由惩罚机制解决了路由不稳定对网络造成的影响。惩罚机制是通过两 个定时器来实现的,每次振荡会导致一个惩罚值的累加。如果超过某一个固定值,该路由就 不计算不发布,处于抑制状态。 RFG2842定义了BP携带能力集的方式(最新版为RFC3392),通过在0PEN消息中的能力 集字段,可以在BGP建链阶段完成双方能力的通告,并决定是否建立BGP关系和后续协议报文 的处理。 RFG2858(最新版为RFC4760)定义了多协议的BGP,扩展以支持非|Pv4的网络层可达信 息。目前最重要的 MPLS V門N技术就是通过BGP的多协议扩展,实现了路由交互 RFC2385定义了使用TGP的MD5保护BGP连接的方法,而为了加强key的处理,由RFC3562又 做了进一步的分析。 RFC4724定义了BGPθR,在双主控和控制转发分离的设备上实现协议的平滑重启,可以保 证转发不中断。RFG4781进一步定义了MPLS环境中的 BGP GR RFG1772描述了BGP4在 nternet上的使用方法,包括给出了关于拓扑的建议和一些路由处 理的过程。 RFC4272是研究BGP安全性的一个分析文档。 c4451甚至对MED属性进行了详细的分析,给出一些实现的建议 对BGP的诸多扩展是为了适应不断发展的网络结构,包括网终攻击的可能性。由这些RFC 支撑着的BGP毫无疑问已经成为 nternet上无法替代的一个路由协议,而且有越来越复杂的趋 势。笔者认为对于BGP的理解应该是基于应用的,从上面的一些RFC就可以看出来,BGP的协议 文档中很多是来源于应用的实践 在今天的BGP技术中,在NLRI上附加了很多增量的信息,用于实现各种差异化的需求。好 在BGP的协议基本构架决定了BGP是一个拥有良好扩展性和兼容性的路由协议。而且BGP技术可 以说是一种模块化的技术,在一个基本的协议构架上,可以通过各种扩展増加模块以支持各 种新的应用,而且有可能允许不同组件的共存。在最新的草案中,有一个是关于BGP能力集的 动态发布。允许在一个已经建立的BGP关系上通过0PEN消息宣称自己支持新的能力集,并且如 果不支持该能力集,可以忽略这个消息。并不会影响原有的BGP关系或路由通告。 对BGP的理解过程是一个渐进的过程,BGP的发展也是如此。还是套用刘宇在|P路由技术 胶片最后写的那句话做结尾 Routing is like a box of chocolate, you' d never know what you are going to get. 基础篇] 8 网○络O之O路 ROUTE TO NETWORK BGP基础 文/叶翀 概述 在开始之前,假设让我们来给通信协议画一个简单的素描 抛开对上层协议和复杂应用的支持不谈,通信协议最基本的功能是运行在两台或多台设 备之间,通过收集、发布、交换一些信息,来为设备间的通信建立通道,即实现支撑上层数 据互通。为了实现通信协议这个基本功能,需要解决三个问题: ●单台设备需要收集和存储哪些信息? ●设备之间如何交互和通信,来汇总出完整的信息? 信息汇总之后,进行怎样的决策,来得出通信通道? 对如上三个问题进一步分解,可以得出 协议发布哪些信息? ●协议需要哪些信息? ●如何描述和存储这些信息? 二、与谁交换信息? 选择哪一个底层协议作为承载进行通信交互? 动态发现交换对象—一邻居,还是静态配置邻居? ●邻居建立过程是怎样的? 、如何交换信息? 交换信息报文格式如何? 报文格式怎么做可以具备比较好的扩展性? 四、如何从信息中决策出最佳通信通道? 五、其他必要的考虑 通过这些问题,我们将在下文描述BGP的简单框架。当然这些仅仅是框架,它们只是BGP 协议最基础的部分。BP最强大的功能在于灵活的策略和多协议扩展支持,这些在本文中都没 有涉及,在本刊的其他文章中都会有详尽的介绍。 8

...展开详情
所需积分/C币:6 上传时间:2011-12-06 资源大小:6.69MB
举报 举报 收藏 收藏
分享 分享
H3C 网络之路 第三期——MPLS专题.pdf

已上传 全套专题,请进入 我的资源 中下载 H3C 网络之路 第一期----OSPF专题.pdf H3C 网络之路 第二期——QOS专题讨论.pdf H3C 网络之路 第三期——MPLS专题.pdf H3C 网络之路 第四期——IPsec专题.pdf H3C 网络之路 第五期——IPv6专题.pdf H3C 网络之路 第六期——交换专题.pdf H3C 网络之路 第七期——存储专题.pdf H3C 网络之路 第八期——BGP专题.pdf H3C 网络之路 第九期——语音专题.pdf H3C 网络之路 第十期——组播专题.pdf H3C 网络之路 增刊第一期——IPTV专项测试.

立即下载
数据结构与算法之美 完整版 全部资料 + 音频

开篇词 | 从今天起,跨过“数据结构与算法”这道坎 01 | 为什么要学习数据结构和算法? 02 | 如何抓住重点,系统高效地学习数据结构与算法? 03 | 复杂度分析(上):如何分析、统计算法的执行效率和资源消耗? 04 | 复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度 不定期福利第一期 | 数据结构与算法学习书单 05 | 数组:为什么很多编程语言中数组都从0开始编号? 06 | 链表(上):如何实现LRU缓存淘汰算法? 07 | 链表(下):如何轻松写出正确的链表代码? 08 | 栈:如何实现浏览器的前进和后退功能? 09 | 队列:队列在线程池等有限资源池中的应用 10 |

立即下载
论文研究-基于ControlLogix和Intouch的无轴传动实验平台设计 .pdf

基于ControlLogix和Intouch的无轴传动实验平台设计,刘兴华,饶志波,设计了一种基于ControlLogix5555控制器、1756-M08SE运动控制模块、两个Ultra3000数字伺服驱动器和SERCOS网络的无轴传动伺服系统实验平台,并应�

立即下载
html+css+js制作的一个动态的新年贺卡

该代码是http://blog.csdn.net/qq_29656961/article/details/78155792博客里面的代码,代码里面有要用到的图片资源和音乐资源。

立即下载
Camtasia 9安装及破解方法绝对有效

附件中注册方法亲测有效,加以整理与大家共享。 由于附件大于60m传不上去,另附Camtasia 9百度云下载地址。免费自取 链接:http://pan.baidu.com/s/1kVABnhH 密码:xees

立即下载
电磁场与电磁波第四版谢处方 PDF

电磁场与电磁波第四版谢处方 (清晰版),做天线设计的可以作为参考。

立即下载
压缩包爆破解密工具(7z、rar、zip)

压缩包内包含三个工具,分别可以用来爆破解密7z压缩包、rar压缩包和zip压缩包。

立即下载
算法第四版 高清完整中文版PDF

《算法 第4版 》是Sedgewick之巨著 与高德纳TAOCP一脉相承 是算法领域经典的参考书 涵盖所有程序员必须掌握的50种算法 全面介绍了关于算法和数据结构的必备知识 并特别针对排序 搜索 图处理和字符串处理进行了论述 第4版具体给出了每位程序员应知应会的50个算法 提供了实际代码 而且这些Java代码实现采用了模块化的编程风格 读者可以方便地加以改造

立即下载
jdk1.8下载

jdk1.8下载

立即下载
DroidCamX 6.5 电脑端和手机端(2018年版本)

DroidCamX 6.5 适配安卓8.0和win10系统。让你的安卓手机变成摄像头。

立即下载
身份证号对应籍贯表大全(共6456条)

身份证号对应籍贯表大全(共6456条),可以很方便查出身份证对应的籍贯,方便工作、项目使用

立即下载
DirectX修复工具V3.7在线修复版

DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b问题设计,可以完美修复该问题。本程序中包含了最新版的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难

立即下载
c语言程序设计pdf——谭浩强.pdf

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

立即下载
同济大学线代第六版PDF高清扫描版

同济大学的线代第六版PDF高清扫描版 要考数学3的同学可以下载看下 上传记录里面还有考数3的其他资源 有需要的可以自行下载

立即下载
高等数学第七版(同济大学)下册pdf

高等数学第七版(同济大学)下册教材pdf (PS:高等数学第七版上下册均有,因上传文件容量有限,因此分为两次上传,请有需要上册的朋友点开我的资源下载页进行下载)

立即下载
Spring相关的外文文献和翻译(毕设论文必备)

Spring相关的外文文献和中文译文,毕业设计论文必备。SSM框架可使用。

立即下载
中国大学MOOC课件爬取(含视频)

实现对中国大学MOOC上的视频、文档、附件进行爬取的Python源码,无GUI、未打包exe,支持多进程、断点续传、文件结构同网页中显示结构。PS:此处为1.5.6版本,欢迎大家加我交流或者提建议(可直接获取最新版本)

立即下载
《电路》邱关源-第五版-完整版.pdf

《电路(第5版)》是2006年05月高等教育出版社出版的图书,作者是邱关源。 本书为第5版,主要目标是适应电子与电气信息类专业人才培养方案和教学内容体系的改革以及高等教育迅速发展的形式。 全书共分18章: 电路模型和电路定律、电阻电路的等效变换、电阻电路的一般分析、电路定律、含有运放的电阻电路、储能元件、一阶电路和二阶电路的时域分析、相量法、正弦稳态电路的分析、含有耦合电感的电路、频率响应、三相电路、非正弦周期电流电路、线性动态电路的复频域分析、电路方程的矩阵形式、二端口网络、非线性电路、均匀传输线。 附录:磁路和铁心线圈、Pspice简介、MATLAB

立即下载
mysql 下载

mysql下载,mysql下载,mysql下载mysql下载,mysql下载

立即下载