1、摘要
当前的BGP协议[BGP-4]只能广播IPV4[IPV4]的路由信息,本文档定义一种BGP-4的
扩展机制,这种机制能够使BGP-4携带多种网络层协议(如IPV6,IPX等网络层协议)的
路由信息。这种扩展机制是向后兼容的:支持这种扩展的路由器能够和不支持扩展的路由器
完全交互。
2、概述
BGP-4支持的三种IPV4信息分别是:Next-hop属性(用一个IPV4地址表示)、Aggregator
属性(包含一个IPV4地址)和NLRI属性(IPV4地址前缀)。本文档介绍的这种扩展假设任
合BGP-4发言人(包括支持多协议扩展机制的发言人)都必须有一个IPV4地址(用在
Aggregator属性中)。因此,为了让BGP-4支持多种网络层协议的路由,只须做两件事,(a):
把Next-hop信息同一个特定的网络层协议联系起来,(b):把NLRI同一个特定的网络层协
议联系起来。同时用RFC1700中定义的地址族区分各种不同的网络层协议。
显而易见,下一跳信息(Next-hop属性提供的)只有在广播可达目的地的结合点才有用,
在广播不可达目的地的结合点,下一跳信息根本没用。这就预示着,可达性信息的广播应该
根据下一跳的广播分类,那些可达性目的地址的广播应该从不可达地址的广播中独立出来。
为了提供的向后兼容,同时也为了简化BGP-4的多协议扩展机制,引进两个新的BGP-4
属性,它们是:多协议可达NLRI(MP-REACH-NLRI)和多协议不可达NLRI
(MP-UNREACH-NLRI)。MP-REACH-NLRI用来携带可达信目的地址以及转发到这些目的
地址的下一跳的地址,MP-UNREACH-NLRI用来携带不可达的目的地址。这两个属性都是
可选非过渡的。这样,不支持多协议扩展机制的BGP发言人就可以忽略这些属性所表达的
信息,并且不把这些信息广播给它的其它邻居。
3、多协议可达NLRI的实现
MP-REACH-NLRI是一个可选非过渡属性,主要有以下作用:
?
(a) 向一个对等体广播可用路由。
(b) 答应路由器广播该路由器的网络层地址以便作为在MP-NLRI属性中到达NLRI
信息所表示的目的地的下一跳地址。
(c) 答应路由器报告部分或全部的本地系统中存在的子网接入点(Sub-networkPoints
ofAttachment,SNPAS)。
每个属性项都包含如下图所示的一个或者多个三元组(AddressFamilyInformation,
NextHopInformation,NetworkLayerReachabilityInformation):
+---------------------------------------------------------+
AddressFamilyIdentifier(2octets)
+---------------------------------------------------------+
SubsequentAddressFamilyIdentifier(1octet)
+---------------------------------------------------------+
LengthofNextHopNetworkAddress(1octet)
+---------------------------------------------------------+
NetworkAddressofNextHop(variable)
+---------------------------------------------------------+
NumberofSNPAs(1octet)
+---------------------------------------------------------+
LengthoffirstSNPA(1octet)
+---------------------------------------------------------+
FirstSNPA(variable)
+---------------------------------------------------------+
LengthofsecondSNPA(1octet)
+---------------------------------------------------------+
SecondSNPA(variable)
+---------------------------------------------------------+
...
+---------------------------------------------------------+
LengthofLastSNPA(1octet)
+---------------------------------------------------------+
LastSNPA(variable)
+---------------------------------------------------------+
NetworkLayerReachabilityInformation(variable)
+---------------------------------------------------------+
这些域的意义和使用入下所说:
地址类标识:
表示网络层协议所属的地址类,用RFC1700中定义的地址族区分各种不同的类型的
地址。
子地址类标识:
提供关于NLRI类型的附加信息。
下一跳地址长度:
一个字节长,这个值表示下一跳地址的长度
下一条地址:
可变长域,用来表示到达目的系统经过的下一个路由器的地址列表。
SPNA的个数:
一个字节长,包含独立的SPNA的个数。假如值为0。则表示没有子网接入点。
第N个SNPA的长度:
一个字节长,表示第N个SNPA的长度。
下一跳的第N个SNPA:
可变长域,在下一跳地址域中说明的路由器所拥有的一个SNPA。这个域的值是一个
整数。
NLRI(网络层可达性信息):
一个可变长的NLRI信息列表,假如子地址类标识的值设为后面定义的任何一个值,
则NLRI都按后面所介绍的编码机制进行编码。
下一跳信息携带了MP-REACH-NLRI路径属性中定义的边界路由器的网络层地址,这
个地址应作为在MP-NLRI中列出的目的地址的下一跳。当向一个外部对等体广播
MP-REACH-NLRI时,假如将要广播的外部对等体和该接口在同一个子网,路由器可能会
用它的某一个接口地址作为属性中的下一跳地址。这个下一跳称为“firstparty"下一跳。一
个BGP发言人在下一跳属性中可以向一个外部邻居广播它的任何一个内部邻居的接口地
址,假如该外部邻居同该接口地址所属路由器在同一个子网的话,这个下一跳被称为“third
party"下一跳。一个BGP发言人可以在下一跳属性中把任何一个外部邻居的IP地址填入,
假设该外部邻居的IP地址是从一个外部邻居学到的并且将要广播的外部邻居同该IP地址在
同一个子网,这是“thirdparty”下一跳的另外一种形式。
一般情况下,BGP的这种扩展机制都是选用那些能使最短可用路径可用的下一跳作为
要广播的下一跳信息。一个BGP发言人也必须有能力支持不广播“thirdparty"下一跳信息,
从而可以处理桥接或策略带来的影响。
BGP发言人也永远不能向一个邻居广播值为该邻居IP地址的下一跳信息,也永远不能
把自已的IP地址作为下一跳。
当一个邻居向内部对等体广播路由时,它不能修改该路由下一跳信息。而BGP发言人
通过内部邻居收到的路由信息,它只是把数据转发到下一跳所说的地址,假如在下一跳属性
中表示的地址与本地或远端BGP发言人在同一个子网的话。
携带MP-REACH-NLRI的更新报文也必须携带ORIGIN和AS-PATH属性,而且在IBGP
对等体相互广播路由信息时,还必须携带LOCAL-PREF属性。假如从某个外部邻居学到一
个路由,本地系统应该检查AS-PATH中最左边的AS号是否与发送该报文的BGP邻居的
AS号相同。假如不同,本地系统就会向该邻居发送NOTIFICATION报文。
4、多协议不可达NLRI:
MP-UNREACH-NLRI是一个用来撤销多个不可用路由的可选非过渡属性每一个属性项
都包含如下图所示的一个或者多个三元组(AddressFamilyInformation,UnfeasibleRoutes
Length,WithdrawnRoutes):
+---------------------------------------------------------+
AddressFamilyIdentifier(2octets)
+---------------------------------------------------------+
SubsequentAddressFamilyIdentifier(1octet)
+---------------------------------------------------------+
WithdrawnRoutes(variable)
+---------------------------------------------------------+
这些域的意义和使用:
地址类标识:
表示网络层协议所属的地址类,用RFC1700中定义的地址族区分各种不同的类型
的地址。
子地址类标识:
提供关于NLRI类型的附加信息。
撤销路由:
要撤销路由的NLRI列表,假如子地址类标识的值设为后面定义的任何一个值,则
NLRI都按后面所介绍的编码机制进行编码。
携带MP-UNREACH-NLRI属性的更新报文不用携带任何其他路径属性。
5、NLRI编码:
NLRI都是由如下图所示的一个或者多个二元组编码(长度,前缀地址):
+---------------------------+
Length(1octet)
+---------------------------+
Prefix(variable)
+---------------------------+
各域意义如下:
长度:
表示地址前缀的长度共有多少位,长度0表示该前缀与所有地址匹配。
前缀:
一个地址前缀,它后面可能会填充一些“补丁”以使该域的总长度是字节的整数
倍。注重,“补丁”里的数字是无关的。
6、子网地址类标识
多协议可达NLRI(MP-REACH-NLRI)和多协议不可达NLRI(MP-UNREACH-NLRI)
属性中的子网地址类在本文档中按下面的定义编码:
1:用于单播转发(unicastforwarding)的NLRI。
2:用于组播转发(multicastforwarding)的NLRI。
3:用于单播转发和组播转发的NLRI。
本文档把“0”和128-255之间的值保留给非凡厂商应用,除了这些保留值以外,所有
其他子网地址类的编码只有IETF和IESG才有权力改变和定义。
7、安全考虑
BGP的这种扩展机制不会改变它的任何基本安全属性
8、致谢
作者感谢IDR工作组成员,他们提出了宝贵的建议。
9、参考文献
[BGP-4]Rekhter,Y.,andT.Li,"ABorderGatewayProtocol4
(BGP-4)",RFC1771,March1995.
[IPv4]Postel,J.,"InternetProtocol",STD5,RFC791,
September1981.
[RFC1700]Reynolds,J.,andJ.Postel,"AssignedNumbers,"STD2,
RFC1700,October1994.(seealso
http://www.iana.org/iana/assignments.Html)
10、作者信息
TonyBates
CiscoSystems,Inc.
170WestTasmanDrive
SanJose,CA95134
EMail:tbates@cisco.com
RaviChandra
CiscoSystems,Inc.
170WestTasmanDrive
SanJose,CA95134
EMail:rchandra@cisco.com
DaveKatz
JuniperNetworks,Inc.
3260JaySt.
SantaClara,CA95054
EMail:dkatz@jnx.com
YakovRekhter
CiscoSystems,Inc.
170WestTasmanDrive
SanJose,CA95134
EMail:yakov@cisco.com
11、版权说明
Copyright(C)TheInternetSociety(1998).AllRightsReserved.
Thisdocumentandtranslationsofitmaybecopiedandfurnishedto
others,andderivativeworksthatcommentonorotherwiseeXPlainit
orassistinitsimplementationmaybeprepared,copied,published
anddistributed,inwholeorinpart,withoutrestrictionofany
kind,providedthattheabovecopyrightnoticeandthisparagraphare
includedonallsUChcopiesandderivativeworks.However,this
documentitselfmaynotbemodifiedinanyway,suchasbyremoving
thecopyrightnoticeorreferencestotheInternetSocietyorother
Internetorganizations,exceptasneededforthepurposeof
developingInternetstandardsinwhichcasetheproceduresfor
copyrightsdefinedintheInternetStandardsprocessmustbe
followed,orasrequiredtotranslateitintolanguagesotherthan
English.
Thelimitedpermissionsgrantedaboveareperpetualandwillnotbe
revokedbytheInternetSocietyoritssuccessorsorassigns.
Thisdocumentandtheinformationcontainedhereinisprovidedonan
"ASIS"basisandTHEINTERNETSOCIETYANDTHEINTERNETENGINEERING
TASKFORCEDISCLAIMSALLWARRANTIES,EXPRESSORIMPLIED,
INCLUDINGBUTNOTLIMITEDTOANYWARRANTYTHATTHEUSEOFTHE
INFORMATIONHEREINWILLNOTINFRINGEANYRIGHTSORANYIMPLIED
WARRANTIESOFMERCHANTABILITYORFITNESSFORAPARTICULARPURPOSE.