BERKELEY UNIX 4.2下的EGP网关( 三 )


时间内没有被EGP更新,该外部路由表项被删除 。
假如获得了多个EGP邻居,对来源于他们的更新报文按照接收的先后顺序做相同的处理 。
在最坏的情况中,即一个路由变成时间比较久的路由而且该较旧的路由最初没有被公布为不
可达时,可以使用两个轮询间隔去更新一个路由 。With the current poll interval this could be 4
minutes. 在Unix 4.2 BSD下,TCP连接(传输控制协议)在空闲6分钟之后被自动地关闭 。所
以最坏的情况也不会导致TCP连接自动结束 。o
2.1.2输出更新
输出更新包括来自内部路由表的直接地和静态网络,除了与 EGP邻居共享的网络之外 。。
答应在更新中被通知的网络可以在初始化时用EGPINITFILE规定 。这些答应精确的路由以
排除来自(可能的)路由回路情况下的外部更新 。其它必须有这个选项的情况是,非路由网
关属于一个不同的AS而这个AS还没有实现EGP时 。它的路由可能需要被归入核心路由
表但是他们没有被答应在输出更新中被告知 。
假如内部路由表包括其他的在与 EGP邻居共享的网络上的内部网关,它们将被作为他们所
连网络的合适初站而包含在更新中 。
到网络的距离按照内部路由表进行设置,除非路由标志为down,而在这样情况下距离设置
为255 。目前路由仅在输出接口当机时才被标记为down 。为了给各输出更新做预备,预
先用SIOCGIFFLAGS ioctl系统调用校验所有接口的状态 。
未经请求的更新不予发送 。
2.2邻居获取
EGPINITFILE列出了可信赖的EGP邻居网关的地址,在初始化时读取 。这些通常是核心
网关,因为只有核心网关提供完整的internet路由选择信息 。编写的时候在阿帕网上存在
三个核心网关支持EGP Css - GATEWAY, ISI - GATEWAY和PURDUE - CS - GW,而且两个
在MILNET, BBN - MINET - A - GW和AERONET - GW上 。
EGPINITFILE还包含每次所能获得的网关的最大值 。期望值通常为一 。假如这个网关被
公布为down,另一个列表中的网关于是在充分的时间内将被自动地获取以确保当前路由不
超时 。
该网关将仅接受来安闲可信赖列表中邻居的获取,而且假如它已经获得它的最大量限额就不
会接受他们 。这个防止接受来自可能不可靠的来源的更新 。
因为不是所有核心网关都运行EGP,所以不包含获得核心网关不在信任列表中的但是已经
通过更新报文间接地获悉的核心网关的功能 。
新的获取请求被发给邻居,为了使他们出现在EGPINITFILE中 。新的请求假如不大于还
有待于获得的邻居的最大数的话就被立即发送 。许多突发请求用32秒间隔最多重传5次,
这时候获取重发间隔增加到4分钟 。只要已经获得了最大数量的邻居,具有突出的请求的
unacquired邻居被发送到Ceases 。这方法提供一种快速响应妥协,当邻居没有最初响应而
且期望最小化一个可能是已发出一个确认但还没收到证实的停止的邻居 。假如该指定的邻
居的最大数没能获得,请求被无穷地重传输到全部unacquired邻居 。
2.3 Hello和Poll轮询间隔
请求和确认信息包含Hello和Poll间隔的最小值 。由他和核心网关告知的最小数当前分别
是30和120秒 。
收到的间隔要检查上界以便防止其值无意义 。当前上界是分别定在120和480秒 。假使
某邻居超出上界,则被认为是非法的并且不再发送要求达一小时 。这个答应去改正这种情
况,在另一处的网关正常运行直到那个网关自动地重新恢复而不必产生过多不必要的网络信
息流通量 。

推荐阅读