边界网关协议学习指引( 十 )


2、AS10接收到从AS20来的路由后 , 根据AS20附加上的团体属性就可以正确的区分出这两部分路由 , 这样在向外通告的时候 , 就仅仅通告AS30传播给AS20的路由 , 而AS20自己产生的路由则进行过滤 。
需要注重的是 , 通常的团体属性都是四个字节的整数 , 这在某些情况下不能适应实际情况 , 于是人们根据实际的需要 , 对团体属性进行了扩展 , 即所谓的扩展团体属性 。扩展团体属性跟普通团体属性不同的是 , 扩展团体属性是8字节长度的 , 而普通团体属性则只有四个字节 。
到这里 , 团体属性就介绍完了 , 读者一定要领会团体属性的本质 , 它是一种分组路由的方式 。
& 注重:
1、团体属性是网络治理员根据特定的目的附加在路由上面的 , 团体属性的数值完全由治理员决定 , 但也有一些广泛应用的团体属性 , 这些属性的值都已经约定好了 , 主要有:
NO_EXPORT
NO_ADVERTISE
NO_EXPORT_SUBCONFED
至于这些团体属性的不同含义 , 请参考相应的文档 。
3.2 BGP多协议扩展(MBGP)
目前的BGP协议已经发展到了第四版 , 即所谓的BGP-4 。BGP-4现在已经能很好的适应基于IPV4的INTERNET , 而且也得到了最广泛的使用 。但BGP-4一个最大的缺点就是不能适应非IPV4协议 , 比如IPX , IPV6等 , 而这些协议的应用也因为IPV4的固有缺点而越来越广泛 。所以我们必须扩展BGP-4协议来适应这些协议传播和控制的要求 。
我们的目标是向下兼容性 , 也就是说 , 我们的扩展必须对仅能支持BGP-4协议的路由器来说是透明的 , 更进一步说 , 就是仅仅支持BGP-4的路由器能够和支持扩展BGP-4协议的路由器 正常通信 。我们把扩展的BGP-4协议就叫做MBGP(Multi-protocol BGP) 。
要做到这种透明性 , 我们可以通过分析BGP-4路由传播的数据报格式来寻找解决方案 。一般情况下 , BGP-4在向外通告路由的时候 , 是按照下列格式的:
{属性值一 , 属性值二 , 属性值三 , 。。。 , IP地前缀1 , IP地址掩码位
数1 , IP地址前缀2 , IP地址掩码2 , 。。。}
其中的IP地址前缀1 , 2 , 。。。等都必须有共同的属性 , 否则必须分开传播 。可以看出 , IP地址前缀和掩码位数都是针对IPV4的 , 所以不能改变 , 而属性则是可变化的 , 所以我们考虑引入新的属性来解决这个问题 。
我们引入一个非凡的属性:MP_REACH_NLRI(网络层可达信息) , 来传输非IPV4路由 , 这个属性按照下列格式组织:
{地址家族 , 地址子家族 , 下一跳长度 , 下一跳 , 地址前缀长度1 , 地址
前缀1 , 地址前缀长度2 , 地址前缀2 , 。。。。}
可以看出 , 跟普通的BGP-4协议不同的是 , MBGP协议把其他协议的路由信息完全封装在MP_REACH_NLRI属性里边 , 这样假如对方不支持多协议扩展 , 即不熟悉属性MP_REACH_NLRI , 则仅仅把该属性忽略掉即可 。
在上面的组织格式中 , 地址家族和地址子家族结合起来代表了某种非IPV4协议 , 比如MPLS-VPN , IPV6等 , 而在这些非IPV4协议中 , 下一跳的长度不象IPV4那样固定为4字节 , 所以必须给出下一跳长度 , 并紧跟着下一跳 。接下来便是路由信息了 , 跟普通的IPV4路由一样 , 只要给出地址前缀长度和地址前缀的值就可以确定一条路由了 , 比如 , 我们要通告路由192.168.0.0 , 这时候只要把地址前缀长度写为16 , 而地址前缀写为192.168即可 。
完成这样的扩展之后 , 我们就可以使用MBGP通告各种各样的非IPV4路由了 。最典型的就是目前比较流行的MPLS-VPN , 在这种技术中 , 各个VPN可能使用相同的IP地址 , 这样为了区分这些不同的VPN中的IP地址 , 我们给每个IP地址增加了一个8字节路由区分符 , 这样VPN路由就可以组成这样的形式:

推荐阅读