📄 rfc827_exterior 网关 协议 (egp) .txt
字号:
通常, NR报文只作为一个轮询发送。 然而,来自一个外部邻机的两个连续的轮询之间,网关可能发送唯一的一个未经请求的NR报文给那个邻机。 这使他能够具有有限的能力去迅速地宣布网络可达性改变,它可能在上次轮询之后的间隔之内已经存在。 过多的未经请求的NR报文会被丢弃,或者返回一个错误报文。
NR报文应该在收到一个为轮询之后几秒钟内发送出去。 如果不及时地响应一个NR轮询会导致轮询网关断定被轮询网关不是任何网络的合适初站。?*}
作为轮询的响应发送的NR报文在他们的标示号码域中带有该轮询的的标识号码。未经请求NR报文携带上次收到的轮询的标识号码,以及"未经请求"位设置。(注意它允许每个轮询周期仅有一个未经请求的NR报文.)
为了易于发送未经请求NR报文, NR轮询报文拥有一个字节指出轮询间隔以分钟为单位。
来自非邻机的轮询以及来自没有声明为可达的邻机或者具有一个非法的IP源网络域的轮询应该由具有适当的"理由"域的EGP错误信息去响应。 如果G发送了一个具有IP源网络N的NR轮询给G ',同时G '不是G在网络N上的的一个邻机,(或G '没有到达网络N的接口)所以所以源网络域被认为是非法的。
被复制的轮询(连续的轮询具有相同的标识号码)应该由同样报文的复制品给以响应。如果那个报文被分段,每次应当发送相同的分段数目。注意没有处理来自单个邻机的突出轮询的规定。注意如果同一个分段没有发送响应复制品的轮询,错误的再装配将很可能发生。如果没有用分割,,那么用一个不同的(估计可能更近来的) NR报文响应一个复制轮询应该不会引起损害。
7间接邻机
变成一个外部网关的"直接邻机"需要三个步骤: ( a)邻机探测, ( b)运行一个邻机可达性协议,和( c)为NR报文定期轮询邻机。然而,假定网关G从G '收到一个NR报文,其中G '指出存在其他邻机G1,..., Gn,对于某组G '不是其合适的初站的网络每个都是一个合适的初站。那么G应该允许转发那些网络的通信量直接给G1,..., Gn中恰当的一个,而不必必须首先发送到G '。 既然这样, G可能被认为是一个G1,..., Gn的间接邻机,因为它是为了转发通信量,但是未执行邻机探测,邻机可达性,或用他们交换NR报文这些其他网关的一个邻机。邻机和网络可达信息可以通过G '间接地获得,因此称为“间接邻机”。我们说G是G1,..., Gn经由G '的一个间接邻机。
如果G是G '经由G "的一个间接邻机,并且G收到一个来自G "未提及G '的一个NR报文, G应该把G '看作已经变成不可达。
8怎样成为一个支线网络
最常见到的外部网关协议的应用可能就是能够使一个支线网关与一个国防高级研究项目管理局核心网关进行通信,从而使网络间的数据流--从前只能通过支线或者只能通过核心网关系统--可以能够互相访问。如上所述,一个支线网关可以看成是一个一级国际互联网络系统,它没有内部邻机。他经常用于局域网或者是网络到达一个具有一个核心网关的长途运输网络(例如阿帕网和卫星网)的接口。 在这种情况下,这个支线网络不需要核心网关转发他的任何去往只有通过这个支线网络才能够到达的东西。通常,支线网络不会给国际互联网络运输系统提供任何服务,不需要给来自或者是去往那些是否可达到网络的通信量进行传送。
支线应当具有一个网络表其中包含有少量核心网关地址(不会超过二个或三个),这些网关具有一个公用网络。 支线网关的责任运用这些网关启动邻机探测。 当一个支线网关和一个核心网关成为直接邻机的时候,核心网关就会开始发送hello报文。
当支线网关声明已经成为直接邻机的核心网关是可以到达的时候,他应该为那些每分钟不超过一次的NR报文轮询这些网关(或者按照在来自核心网关的Hello报文所说明的)。核心网关应当为NR报文轮询支线网关。
支线发送的 NR报文应该是最简单的允许。>也就是说,它应该仅拥有单个数据块,由它的自己的(经由它于核心网关邻接的网络的上的)地址开头,仅仅列出它是合适的初站的网络。通常这些正可能是无其它方式可以到达的网络。
核心网关发送完整的NR messages,包含有关所有其他在公用网络上的网关的介绍,核心网关(应该列入内部邻机)和其它网关(应该列入外部邻机,而且可能包含支线本身)。这些信息可能能使支线变成所有这些其他网关的一个间接邻机。
也就是说,支线应该转发通信量直接给这些其他网关,但是将不会和他们变成直接邻机。
核心网关总是报告距离小于128,如果该网络可以不经由核心系统(即,不穿越任何非核心网关的网关)到达,而且否则大于或等于128。
支线决不会把任何(直接或间接地邻机核心网关任何通信量送给到不是合适的初站的网关,在一个NR报文中指出的那样。 当然这么做不适用于使用源路由选项的数据报;凡是象这样的数据报应该总是被像在源路由任选字段中指出的一样转发,即使需要转发给不是一个合适的初站的网关。
如果支线的直接邻机全部失灵,它的职责是至少获取一个新直接邻机。 它通过选择一个已经成为间接邻机的核心网关然后用它执行邻机探测协议来完成。(不超过一个核心网关将同意变成一个在任一时刻给定的支线网关的直接邻机是可能的.)
如果该支线网关不及时响应来自核心网关的“Hello”报文,可能被声明为不可达。 如果该支线网关不及时响应来自核心网关的NR轮询报文,它的网络可能被声明为不可达。在这些情况中,核心网关可能丢弃驶往那些网络的通信量,给源主机返回ICMP "目的地网络不可达"。
支线网关应该完全地运行ICMP协议,以及外部网关协议。特别是,它必须响应ICMP echo请求,而且必须酌情发送ICMP目的地熄灭报文。 它也要求酌情发送ICMP重定向报文。
9局限性
不在本身里的组成一个网络路径选择算法。 另外,它不能提供实现通用路由算法必须的全部信息。 如果自治系统集的拓扑不是树形结构的(即,如果它拥有循环),外部网关协议未提供足够的拓扑的信息去防止回路。
如果任何网关发送了一个假信息NR报文,自称是去一个网络的合适的初站,但事实上根本不能到达,浦网那个网络的通信永不可能被送达。 Implementers must bear this in mind.
“邻机探测报文”
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 # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Identification # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
说明
内部和外部网关用“邻机探测报文”变成邻机。 EGP版本 1
类型
3
代码
Code = 0 “邻机探测请求”
Code = 1 “邻机探测应答”
Code = 2 邻机探测拒绝(参见信息字段)
Code = 3 “邻机终止”报文(参见信息字段)
Code = 4 “邻机终止”确认
校验和
EGP校验和是从EGP版本号域开始的EGP报文中16位字二进制反码和的16位二进制反码值。 为了计算该校验和,校验和域应该为零。
独立系统#_
这个16位数标识该独立系统,它包含作为报文的源的网关。
Info
对于拒绝报文,给与拒绝理由:
0 未指定的
1 不在潜在邻机表内
2 因管理设定而禁止
3 对于停止报文,给与不再成为邻机的理由∶
0 未指定
1 关机
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 # !Min Poll Intvl ! Zero !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Last Poll Id # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
说明
外部邻机运用EGP邻居“Hello”和I Heard You报文去判断相邻连通性。 当一个网关收到来自邻机的EGP邻居“Hello”报文时它应该响应以一个EGP I Heard You报文。 外部网关协议版本
1
类型
5
代码
Code = 0 用于“Hello”
Code = 1 用于I Heard you
校验和
EGP校验和是从EGP版本号域开始的EGP报文中16位字二进制反码和的16位二进制反码值。 为了计算该校验和,校验和域应该为零。
自治系统 #
这个16位数标识该独立系统,它包含作为报文的源的网关。
顺序号
帮助匹配请求和应答的序列号。
状态
0 没有状态信息
1 看起来我能访问到你
2 2 根据邻机可达性协议我访问不到你
3 3 根据网络可达性信息我访问不到你(例如来自阿帕网的1822 "目的地熄灭"报文)
4 4 由于我的网络接口问题我访问不到你
上一次轮询标识号
从此刻正准备给它发送报文的邻机那里最近收到的NR轮询报文的标识号码,。
最小轮询间隔
一个分钟数,在此期间网关不应该为NR报文轮询多于一次。
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 # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! IP Source Network ! Interval !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Identification # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
说明
想要接受来自外部网关的NR报文的网关将发送一个NR Poll报文。在该NR报文中提到的各网关在位于IP源网络域中的网络上具有一个接口。 外部网关协议版本 #
1
类型
2
代码
0
校验和
EGP校验和是从EGP版本号域开始的EGP报文中16位字二进制反码和的16位二进制反码值。 为了计算该校验和,校验和域应该为零。 自治系统 #
这个16位数标识该独立系统,它包含作为报文的源的网关。
标识号码
帮助匹配请求和应答的标识号码。
IP源网络
在该NR报文中提到的各网关在位于IP源网络域中的网络上具有一个接口。 IP源网络被标记为一字节的网络号码后面是两个字节的零为了A类网络两个字节的网络号码后面是一字节的零用于B类网络并且三字节的网络号码用于C类网络。
时间间隔
以分钟为单位的轮询间隔。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -