边界网关协议 BGP( 七 )


前往某些外部目标网络X的出口网关A的地址 , 通过A向同一AS内其他边界网关发送的BGP OPEN消息中的BGP标识符进行声明 。为了路由流量到目标X , AS内的每个边界网关都封装流量到以网关A为地址的IP数据包 。然后 , 网关A解封装 , 将原始数据包发送到外部AS的对应网关 。
因为封装不依靠IGP来运输外部路由信息 , 所以在BGP和IGP之间无需同步 。
一些方法用来标识包含封装IP的数据包 , 如用IP协议类型码 , 必须在使用前定义 。
注重 , 假如一个封装后的数据包的长度非常接近MTU , 这个数据包将被那个执行封装的网关分片 。
A.2.4 遍布的BGP
假如一个AS内的所有路由器都是BGP发言人 , 那么就没有必要联系BGP和IGP 。这种情况下 , AS内的所有路由器拥有BGP路由的全部信息 。IGP只用来在AS中路由 , 不再有BGP路由被导入成IGP 。
假如路由器按此方式工作 , 它们必须能够完成对路由表的循环查找 。第一次查找将使用一条BGP路由来建立出口路由器 , 第二次查找将决定前往出口路由器的IGP路径 。
这种情形下 , IGP不携带任何外部信息 , 所有BGP发言人一旦获得路由的新信息 , 该AS内的路由器将很快会聚 。因为不存在为IGP的会聚延迟 , 一个应用能广播这些路由 , 而没有延迟 。
A.2.5 其他情况
有些AS的IGP , 可能既无法传输BGP信息 , 也无法标记外部路由(比如 , RIP) 。另外 , 封装可能不可行或不被接受 。这些情况下 , 以下两条规则须被遵守:
(1). 假如边界网关A从内部对等体接收到信息声称某些目标网络不可达 , 则它必须向所有外部对等体传递该信息 。
(2). 假如边界网关A从内部对等体接收到关于某些可达目标网络X的信息 , 则它必须拥有到X的IGP路由 , 而且有足够的时间使IGP路由会聚 , 否则无法将这些信息传递到任何外部对等体 。
以上规则只说明了传递BGP路由信息到其他AS的必要(但不充分)条件 。与标记的IGP相比 , 这些规则不能保证 , 在传递路由到其他AS之前 , 到出口网关的内部路由存在 。
假如IGP会聚时间比某小值X还小 , IGP和BGP不同步造成的时间窗也将小于X , 那么 , 路由不稳定是异常短暂的 , 这个问题就可以忽略 。至于这个X的合理取值 , 尚待研究 , 但至少应小于1秒 。
假如IGP会聚时间无法忽略 , 就需要不同的方法 。适合这种情形的机制和技术尚待深入研究 。

推荐阅读