📄 rfc888.txt
字号:
a) 为这个报文包含数据块的网关G内部邻居的编号的数量(1字节)。习惯上,
这个数量应包含G自身的数据块,它应该第一一个出现。
b) 网关G外部邻居的号码的数量(1字节)为这个报文包含的数据块。
c) 于此报文相关的网络的地址。如果G和G'是网络N上的邻居,那末从G到
G'的NR报文中,这是网络N的地址。习惯上4个字节的地址已被分配给这
个地址末尾的1,2,或3个字节应为零。
各个数据块之间,第一个块是G自身,然后是G的所有内部邻居的块,再是外部邻
居的块。因为所有设计的网关位于同一个网络上,他们的地址已经给定,网关地址的网络部
分(1,2,或2字节)被省略以节约空间。
在这个网络列表中,每个网络地址是任意的一个两个或三个字节。这取决于;这是
一个A类B类或C类地址。没有可用的尾部字节。由一个烟头发送的NR报文应是最简单
的。也就是它仅有个数据块,以它的自身地址开头(在网络上它和相邻核心网关通用),列
出可到达哪儿的合适初站的网络。这些一般正是没有其他网络路径的网络。
核心网关应发送完整的NR报文。包含所有关于同一网络上的其他网关的信息,既
有核心网关(应被列为内部网关)也有其他网关(应被列为外部邻居,可能还包括烟头本身)。
这个信息应使烟头变成一个所有这些其他网关的间接邻居(见下文)。就是,如果合适的话
烟头应直接转发通信给这些其他网关,但不应该变成他们的直接邻居。
烟头绝不应转发给任何直接或间接相邻的核心网关任何对这些网关不是合适初站的
通信,象在一个NR报文中指出的那样。当然,这不能应用到正在使用源路由选项上的数据
报。任何这种数据报应总被按照在源路由选项域中指示的那样转发,即使要求转发到一个不
能作为合适初站的网关上。
6.NR报文轮询技术
没有网关必须发送NR报文给任何其他网关,除了作为一个来自直接邻居的NR轮询的
响应。然而,网关要求在几秒内(服从于两段限制的)去响应一个来自一个直接邻居的NR
轮询。即使网关相信那个邻居已停机。
EGP NR轮询报文为此而定义。没有网关可以为了一个NR报文而大于1分钟一次的轮
询其他网关。网关收到大于1分钟一次的轮询可能会简单的给以忽略或发回一个错误报文。
网关G将接收作为来自作为网关G'的轮询间隔最小的间隔和G'将作为来自网关G轮询
间隔最小间隔被规定为G和G'变成直接邻居的时间。所有邻居获取请求和邻居获取回答都
允许发送者规定它的想要的最小轮询间隔(以秒计算)。如果G规定到达G'也就是它的最
小轮询间隔为X, G'不应以大于X秒一次的频率轮询G。轮询必须只发送给有邻居获取协议
宣布为可达的直接邻居。
NR轮询报文含有一个由轮询网关选择的序列号。被轮询网关应在回应轮询时发送的NR
报文中返回这个序列号,以便以便时轮询网关能使收到的NR报文和轮询匹配。
总的来说,轮询应被重传一定次数(在重传间用一个合理的时间间隔)直到一个NR报
文被收到。若在最大重传次数之后没有收到NR报文,轮询网关应假定被轮询网关对任何网
关而言都不是一个合适的初站。轮询/重传算法的最佳参数应取取决于两个网关和连接他们
的网络的特性。收到的序列号于最近发出的轮询的鉴别号不匹配的NR报文被忽略。不存在
为多个突出的轮询给同一邻居的规定。
7.发送NR报文
通常,NR报报文仅被作为一个轮询的响应被发送。然而,在来自两个外部邻居的成功
轮询之间,一个网关可能发送一个且仅发送一个主动NR报文给那个邻居,这给他有限的权
利去快速的通告可能在上次轮询之后的间隔之内已出现的网络可达性变化。过多的NR报文
可能会被忽略,或被返回一个错误报文。
NR报文应在收到轮询之后几秒内发出。不及使得响应一个NR报文可能导致轮询网关
认定被轮询网关对于任何网络都不是一个合适的初站。作为轮询发送的NR报文载有轮询报
文的序列号报文域中的列号。主动NR报文含有收到的上个轮询的鉴别号,并且具有主动位
设置。(注意,这个允许只为单个NR报文/每轮询周期)
来自非邻居的,来自未被公布为可达的邻居或具有非法的IP源网络域轮询,应被回答
以具有合适原因域的EGP错误报文。如果G发送一NR轮询报文给G'(具有IP源网络N)
并且G'不是G的邻居(G有去往网络N的接口或,G'不具有到达网络N的接口),那末网
络域被认为非法。
一个网关不必在最小间隔内发送多于一个的NR报文,在邻居获取期间。产生意外时,
为了复制轮询(连续的轮询具有相同的序列号)却必须这样做,这种情况在轮询在传输中被
丢失时出现。网关应发送一个NR报文(回答中含有它的最近信息)给一个复制轮询。
8.间接邻居
一个外部网关变成一个间接邻居需要三个步骤:(a)邻居获取(b)运行可达协议还有
(c)为NR报文周期性的运行轮询邻居。假使那个网关G收到一个来自G'的NR报文。在
这个G'中指出存在一些邻居G1…Gn.对于一组网络而言每个都是一个合适的初站。那末应
被允许去为这些网络转发通信直接到G1…Gn中的合适的一个而不必首先发送给G'。在这
种情况下,G也许被认为是G1…Gn中的一个间接邻居,因为它视为转发通信的其他网关的
邻居,但不执行邻居获取,邻居可达性或用他们互换NR报文。邻居和网络可达性信息间接
的通过G'获得,所以指明“间接邻居”。我们说G是一个经由G'的 G1…Gn的间接邻居。
如果G是G'的经由G"的一个间接邻居并且G收到一个来自G"(不涉及G')的NR报
文,G应把G'当成不可达。
9.局限性
必须明确的了解,外部网关协议不在其内部建立路由算法。另外它不提供常规领域路由
算法实现所需的全部信息。如果拓扑不符合上面所给出的烟头所做的实现,外部网关协议就
不能提供足够的拓扑信息去防止循环。
若任意网关发出一个具有错误信息的NR报文,要求成为一个它实际上根本不可能到达
的网络的合适初站,去网那个网络的通信可能永远不会被投递。实现者必须记住这一点。
A 附录 A——EGP报文格式
外部网关协议运行在互联网协议之上,协议号为8(十进制)。
A.1 邻居获取报文
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! EGP Version # ! Type ! Code ! Info !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Checksum ! Autonomous System # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Sequence # ! NR Hello interval !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! NR poll interval !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
描述:
邻居获取报文有内部和外部网关用来变成互为邻居。
EGP Version #
2
Type
3
Code
Code =0,邻居获取请求
Code =1,邻居获取回答
Code =2,邻居获取拒绝(见信息域)
Code =3,邻居死亡报文(见信息域)
Code =4,邻居死亡确认
Checksum
EGP校验和是从EGP版本号域开始的EGP报文的1的反码和的16位1的反码。
为了计算校验和,校验域应为0。
Autonomous System #
此十六位数指出包含这个报文源网关的自治系统。
Info
对于拒绝报文,给出拒绝原因:
0 未指明
1 超出表空间
2 管理性禁止
为终止报文给出终止成为邻居的原因:
0 未指明
1 停机
2 不再需要
否则,这个域必须为0。
Sequence #
它用于帮助匹配请求和应答。
NR Hello interval
最小hello轮询间隔(以秒为单位)。
NR poll interval
最小NR轮询间隔(以秒为单位)。
A.2 邻居hello/I heard you 报文
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! EGP Version # ! Type ! Code ! Status !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Checksum ! Autonomous System # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Sequence # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
描述:
外部邻居使用EGP邻居hello和I heard you报文去判断邻居的连通性。当邻居
收到一个来自一个邻居的EGP邻居的hello报文时,它应用一个EGP“I heard you”报
文给以响应。
EGP Version #
2
Type
5
Code
Code=0, hello
Code=1, I heard you
Checksum
EGP校验和是从EGP版本号域开始的EGP报文的1的反码和的16位1的反码。
为了计算校验和,校验域应为0。
Autonomous System #
此十六位数指出包含这个报文源网关的自治系统。
Sequence #
它用于帮助匹配请求和应答。
状态
0 非给定状况
1 对我来说你看起来可达
2 由邻居可达性协议看来你不可达
3 由网络可达性信息看来(诸如来自ARPANET网的1822目的地死亡报文)看来
你不可达
4 由于我的网络接口问题看来你不可达
A3 NR轮询报文
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! EGP Version # ! Type ! Code ! Unused !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Checksum ! Autonomous System # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Sequence # ! Unused !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! IP Source Network !
描述:
说明
想要接受来自外部网关的NR报文的网关将发送一个NR Poll报文。 在NR报文
中提到的各网关在位于IP源网络域中的网络上具有一个接口。
EGP Version #_
2
类型
2
代码
0
校验和
EGP校验和是从EGP版本号域开始的EGP报文的1的反码和的16位1的反码。
为了计算该校验和,校验和域应该为零。
独立系统#_
这个16位号数识别该独立系统
包含那个是该报文的源的网关
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -