免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1340 | 回复: 0
打印 上一主题 下一主题

BGP 协议研究 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-28 15:35 |只看该作者 |倒序浏览

                                                                1. BGP简介
 
 BGP(边界网关协议)主要用于互联网AS(自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由。中国网通
、中国电信、中国铁通和一些大的民营IDC运营商都具有AS号,全国各大网络运营商多数都是通过BGP协议与自身的AS号来实现多线互联的。使用此方案来
实现多线路互联,IDC需要在CNNIC(中国互联网信息中心)或APNIC(亚太网络信息中心)申请自己的IP地址段和AS号,然后通过BGP协议将此段IP地址广播到其它的网络运营商的网络中。使用BGP协议互联后,网络运营商的所有骨干路
由设备将会判断到IDC机房IP段的最佳路由,以保证不同网络运营商用户的高速访问。
2. BGP拓扑模型
 
 当我们说一个在两个AS之间的连接时,意味着两件事:
物理连接:两个AS之间存在一条共享的数据链路子网,并且在该子网上,每个AS至少有一台自己的边界网关路由器。因此,每个AS的边界网关路由器可以转发数据包到其他AS的边界网关路由器,无需借助于AS内到AS间的路由。
 
 BGP连接:在各个AS的BGP发言人之间有一个BGP会话进程,一般在路由器179号端口上建立TCP回话.通过会话沟通路由,经过声明的AS到达某目标网络。3. BGP的路由选择
   BGP的消息报头由三个部分组成:标记、长度和类型。标记段占16个字节,用于安全检测和同步检测;长度段占2个字节,标明整个BGP消息的长度;类型段占一个字节,标明消息的类型。报头的后面可以不接数据部分,如Keepalive消息。 
  BGP消息有四种类型:OPEN,UPDATE,NOTIFICATION和KEEPALIVE,分别用于建立BGP连接,更新路由信息,差错控制和检测可到达性。 
 
 OPEN消息是在建立TCP连接后,向对方发出的第一条消息,它包括版本号、各自所在AS的号码(AS Number)、BGP标识符(BGP
Identifier)、协议参数、会话保持时间(Hold
timer)以及可选参数、可选参数长度。其中,BGP标识符用来标识本地路由器,在连接的所有路由器中应该是唯一的。这个标识符一般都使用接口上的最大
的IP地址(常常使用loopback接口来防止地址失效)。而会话保持时间,是指在收到相继的Keepalive或者Update信号之间的最大间隔时
间。如果超过这个时间路由器仍然没有收到信号,就会认为对应的连接中断了。如果把这个保持时间的值设为0,那么表示认为连接永远存在。UPDATE消息由
不可到达路由(Withdrawn Route)、路由属性(Route Attributes)和网络层可到达性(Network Layer
Reachability Information—NLRI)组成。 
 
 BGP路由属性是BGP
路由的核心概念。它是一组参数,在UPDATE消息中被发给连接对等体。这些参数记录了BGP路由信息,用于选择和过滤路由。它可以被看作选择路由的度量
尺度(metric)。路由属性被分为四类:公认强制(Well-known mandatory
attributes)、公认自由选择(Well-known discretionary attributes)、可选传递(Optional
transitive attributes)和可选非传递(Optional nontransitive
attributes)。公认的(Well-known)属性对于所有的BGP路由器来说都是可辨别的;每个UPDATE消息中都必须包含强制
(mandatory)属性,而自由选择的(discretionary)属性则是可选的,可包括也可不包括。对于可选的(Optional)属性,不是
所有的BGP工具都支持它。当BGP不支持这个属性时,如果这个属性是过渡性的(transitive),则会被接受并传给其他的BGP对等体;如果这个
属性是非传递性的(nontransitive),则被忽略,不传给其他对等体。 

  在技术文档RFC1771定义了1~7号的BGP
路由属性,依次是:1,ORIGIN(产生该路由信息的AS);2,AS_PATH(包已通过的AS集或序列);3,NEXT_HOP(要到达该目的下一
跳的IP地址,IBGP连接不会改变从EBGP发来的NEXT_HOP);4,MULTI_EXIT_DISC(本地路由器使用,区别到其他AS的多个出
口);5,LOCAL-PREF(在本地AS内传播,标明各路径的优先
级);6,ATOMIC_AGGREGATE;7,AGGREGATOR.RFC1997还定义了8,COMMUNITY.其中,1、2号属性是公认强
制;3、5、6是公认可选;7、8是可选过渡;4是可选非过渡。这些属性在路由的选择中,考虑的优先级是不同的,仅就这8个属性来说,其中优先级最高的是
LOCAL-PREF,接下来是ORIGIN和AS_PATH. 
  BGP所使用到的路由属性并不仅仅是这8个,其他的具体内容可以参阅RFC文档(RFC1771、1996、1997、1966、1863、2283)。   网络层可到达性(NLRI)包含了这样的二维数组,使用CIDR(Classless Interdomain Routing)技术,来聚合路由,以减缓BGP表的增长速度。
 
 BGP工作流程如下:首先,在要建立BGP会话的路由器之间建立TCP会话连接,然后通过交换OPEN信息来确定连接参数,如运行版本等。建立对等体连
接关系后,最开始的路由信息交换将包括所有的BGP路由,也就是交换BGP表中所有的条目。初始化交换完成以后,只有当路由条目发生改变或者失效的时候,
才会发出增量的触发性的路由更新。所谓增量,就是指并不交换整个BGP表,而只更新发生变化的路由条目;而触发性,则是指只有在路由表发生变化时才更新路
由信息,而并不发出周期性的路由更新。比起传统的全路由表的定期更新,这种增量触发的更新大大节省了带宽。路由更新都是由UPDATE消息来完成。
UPDATE包含了发送者可到达的目的列表和路由属性。当没有路由更新传送时,BGP会话用KEEPALIVE消息来验证连接的可用性。由于
KEEPALIVE包很小,这也可以大量节省带宽。在协商发生错误时,BGP会向双方发送NOTIFICATION消息来通知错误。
背景知识:

  • AS是同一个技术管理下的一组路由器,它们使用一
    种内部网关协议和一致的度量尺度来对数据包进行AS内部的路由,而使用外部网关协议来对发向其它AS的数据包进行路由选择。发展到现在,已经允许并且时常
    采用在一个自治系统AS中使用多个内部网关协议,甚至多个路由选择的度量标准。所以,现在的自治系统被扩展的定义为:共享同一路由选择策略的一组路由器。

  • IGP(Interior gateway
    protocols)——内部网关协议,定义为在一个自治系统内部使用的路由协议(包括动态路由协议和静态路由)。IGP的功能是完成数据包在AS内部的
    路由选择,或者说,是讲述数据包如何穿过本地AS的。RIPv1&v2,IGRP,EIGRP,OSPF,ISIS都是典型的IGP.
  • EGP(Exterior gateway protocols)——外部网关协议,定义为在多个自治系统之间使用的路由协议。它主要完成数据包在AS间的路由选择,或者说,讲述数据包为了到达目的IP,需要通过哪些AS.BGP4就是一种EGP.
  • IGP只作用于本地AS内部,而对其他AS一无所知。它负责将数据包发到主机所在的网段(segment)。EGP作用于各AS之间,它只了解AS的整体结构,而不了解各个AS内部的拓扑结构。它只负责将数据包发到相应的AS中,余下的工作便交给IGP来做。

  • 每个自治系统AS都有唯一的标识,称为AS号(AS number),由IANA(Internet Assigned Numbers
    Authority)来授权分配。这是一个16位的二进制数,范围为1~65535,其中65412~65535为AS专用组(RFC2270)。
                   
                   
                   
                   
                   
                   
                   
                   
                   
                   
                   

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/102060/showart_2010785.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP