⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfcrfc955.txt

📁 本程序为在linux下实现FTP传输文件的实现
💻 TXT
📖 第 1 页 / 共 3 页
字号:
身(如果它与源端系统在同一子网内且直接可达)。
第二部分   协议规范
7.协议功能
本部分描述了协议中的部分功能。并非所有的应用都需要所有的这些功能支持。7.21
节指出了哪种功能应该被忽略掉,也指出了在某种功能不能正常工作时的正确行为。
7.1协议定时器
很多协议功能都是基于定时器的。这意味着这些功能只能在定时器限制的时间内执行。
协议中定义了两中最主要的定时器:配置定时器(CT)和保持定时器(HT)。
7.1.1配置定时器
配置定时器是一个本地定时器(每个系统的定时器都保持独立),用来执行配置报告功
能。这个定时器确定一个系统用什么样的频率来向子网内的其他系统报告自己的可用性。定
时越短,子网内的其他系统就能越快知道该系统的可用性。响应性的增加所付出的代价是在
子网内和接收系统内资源的使用增加。
7.1.2保持定时器
保持定时器应用于配置信息和路由重定向信息中。保持定时器的值在信息的源头设定,
在适当的PDU中传送。信息的接收方在定时期间保持这些信息。在定时器定时到时,过期
的配置或路由重定向信息必须被丢掉以保证协议的正确性。
更多的关于这些定时器的原理和应用可以在附录10中找到。
7.2配置报告功能
该功能用来使端系统和中介系统互相报告自己的可达性和当前的子网地址。这个功能在
每次ES或IS本地的配置定时器时间到时被调用。在收到其他端系统的配置查询PDU时它
也将被调用。
7.2.1端系统配置报告
一个端系统创建一个ESH PDU并传送到它所服务的所有NSAP。它还在ESH PDU中
发送一个SN_UNITDATA.Request作为子网的子网服务数据单元。
注意:向每个NSAP单独发送一个ESH PDU是由于网络实体标题和NSAP地址间缺乏
联系。如果所有的NSAP地址都按照这种联系的要求被指定为本地网络实体的网络实体标
题所表示的域的子域,那么每个ESH PDU就能够被转换成包含端系统网络实体标题。网络
实体标题暗示了在端系统中哪些NSAP是存在的。
保持定时器被设定为约是配置定时器的两倍,这个变量的值要足够大。使得即使所有其
他系统的ESH PDU都被丢弃(由于缺乏资源),或者在子网内丢失了,配置信息仍然能被
保存。这个值又必须足够小,使得中介系统能够及时地回复一个正在变为可用或不可用的端
系统。
参数SN_Destination_Address被设定为组地址,表示“所有中介系统网络实体”,这使
得广播子网上的一次传送能够送到所有可达的中介系统。
注意:用来表示“所有中介系统网络实体”的SN_Destination_Address的实际值是与子
网有关的并且各子网都不同。在一些广泛应用的子网中它表示上述意思或者是“所有端系统
网络实体”。让这些值标准化当然是件好事。
7.2.2中介系统配置报告
一个中介系统创建一个包含网络实体标题的ISH PDU并且在其中发送一个
SN_UNITDATA.Request作为SNSDU。
保持定时器被设定为大约是中介系统配置定时器参数的两倍。这个变量被设置为足够
大,使得即使所有的ISH PDU都被丢弃(由于资源不足),或者在子网内丢失了,配置信息
仍然能被保存。这个值又必须足够小,使得端系统能迅速终止使用有故障的中介系统,以阻
止网络中的“黑洞”的产生。
参数SN_Destination_Address被设定为组地址,表示“所有端系统网络实体”,这使得
广播子网上的一次传送能够送到所有可达的端系统。
7.3配置记录功能
配置记录功能收到ESH或者ISH PDU,提取配置信息,对本地网络实体的路由信息库
的相关的配置信息进行添加或修改。如果存储空间不足,这些PDU会被丢掉,不会有错误
信息报告。
注意:正如协议中描述的,端系统接收并仅仅记录ISH PDU,而中介系统接收并仅仅
处理ESH PDU。如果有必要的话,一个端系统也可以处理ESH PDU(在广播网中,通过适
当的组地址就可以很容易实现)。这样做可以使网络的一些潜在的性能得到提高,不过花费
了端系统上更多的存储空间,也使处理周期变长了。端系统通过记录其他端系统的配置信息,
有可能将NPDU直接路由到子网内的端系统上而不需要中介系统的重定向。
类似的,中介系统也可以选择接受其他中介系统的ISH PDU,这使得该协议可以作为
一个完全的IS-IS路由协议的初始化和拓扑维护部分。
以上这两种可能在以后将做更深入的讨论。
7.4旧配置清除功能
旧配置清除功能用来执行清除保持定时器已经到期的路由信息库中的配置入口。当ES
或IS的保持定时器到期,这个功能将会清除本地网络实体的路由信息库的相关入口。
7.5配置查询功能
配置查询功能在以下环境下执行:
1、端系统处于广播子网中;
2、当前子网中没有可达的IS(例如,自从上次旧配置清除功能将旧信息清除后未
能收到任何ISH);
3、网络层的路由PDU的功能需要获得SNPA地址以将PDU传到某个NSAP;并且
4、SNPA地址不能在本地通过转换得到,也无法在本地表中查找到。
注意:有一种现象很常见,一些孤立的局域网没有中介系统来获取路由信息。如果中介
系统暂时不可达,局域网内的通信就不可能实现,除非每个端系统或者子网上所有的NSAP
人为地加入SNPA地址。
当端系统需要发送一个NPDU到一个SNPA未知的目的NSAP去时,它就把一个
SN_UNITDATA.Request当作用户数据(SN_Userdata)放在NPDU中发送出去。其中的
SN_Destination_Address参数被设定为表示“所有端系统网络实体”的组地址。
接下来,该端系统便会收到一个包含着NSAP地址及其相应的SNPA地址的ESH PDU
(见7.6节)。在这种情况下,端系统对该NSAP执行配置记录功能。利用指定的SNPA,便
可以发送PDU到这个NSAP了。如果没有收到ESH PDU,端系统便会认为该NSAP不可达。
至于该操作要执行多少次才能作出这样的判断以及每次要等待多久由该系统自行决定,本协
议并未对此作出规定。
7.6配置响应功能
当广播子网中的一个端系统收到一个SN_Destination_Address参数被设定为“所有端系
统网络实体”的表示SN_UNITDATA.Indication含义的 NPDU,且该NPDU中所携带的NSAP
正是该端系统所有时,配置响应功能就开始执行。这项功能是在7.5所描述的配置查询功能
执行后发生的。
该端系统生成一个与配置报告功能所生成的类似的ESH PDU(见7.2.1),其内容是有
关本系统的。端系统生成一个SN_UNITDATA.Request,并将目的地址标明为它所收到的
NPDU的源地址发送出去。
7.7重定向请求功能
该功能只存在于中介系统中,并且与其路由功能和中继功能关系紧密,与“PDU路由
功能”也是相关的。该功能在“PDU路由功能”计算出数据PDU的下一跳后开始执行。
当中介系统准备转发一个NPDU时,它首先检查该NPDU中的SN_Source_Address。如
果该参数不是一个本地子网的端系统地址(通过查询配置记录功能得到的配置信息进行判
断),则该不对该NPDU进行进一步处理。
如果NPDU是直接从一个端系统上得到的,该中介系统的路由和中继功能的输出需要
被检查。该输出信息包含以下信息:
1、	一个本地子网标识符,该NPDU的发送要通过这个子网;
2、一个中介系统网络实体标题和子网地址,该NPDU要通过这个中介系统发送;或者
3、目的端系统的子网地址。
重定向请求功能应该能够判断自己即将转发出去的NPDU能够由源端系统直接发往目
的网络实体。如果以下任何条件成立,则源端系统将会被告知一个更好的路由(通过发送一
个RD PDU到该端系统):
1、下一跳指向目的系统并且在源端系统子网中目的地是直接可达的;或者
2、下一跳指向一个中介系统并且该系统与源端系统处在同一子网内。
如果有更好的路由存在,中介系统首先会对收到的NPDU做一般的处理并转发它。然
后,它会生成一个RD PDU,并往里面写入NPDU目的地地址、下一跳所处的子网地址、
ES重定向到的IS的网络实体标题(如果重定向直接指向目的端系统时这个信息可以省略)、
保持时间、服务质量、优先级、安全性参数(这些只是简单地从NPDU中拷贝过来)。保持
时间被设定为本地重定向定时器的时间。附录A中说明了如何为重定向定时器选定时间。
如果没有足够的资源在转发NPDU的同时生成并发送一个RD PDU,那么应优先转发
NPDU。接着中介系统用NPDU中的地址信息向源端系统发送一个RD PDU。
7.8重定向记录功能
重定向记录功能仅存在于端系统,当收到RD PDU时该功能便被调用。它提取重定向
信息并且对本地网络实体路由信息库中的相关的重定向信息进行添加或修改。其中最重要的
一项就是将目的地址映射到子网地址的重定向映射信息,它还说明了优先级,安全性,服务
质量和保持时间等映射所必需的参数。当然,如果重定向是指向另一个中介系统,那么网络
实体标题也是必不可少的。
注意:如果没有足够的空间来存放重定向信息,RD PDU将会被安全的释放掉。而发送
RD PDU的中介系统也将会代表这个网络实体继续以前的工作。
7.9重定向刷新功能
重定向刷新功能仅在端系统中进行。该功能在一个端系统作为目的地收到一个NPDU
时被调用。该项功能与在目的网络实体对收到的NPDU进行处理的功能(在ISO8473中称
为“PDU分解”)相关。本功能的目的是延长重定向的时间并且尽快的更正路由中的错误信
息。 源地址,优先级,安全性和服务质量等参数被提取出来并与路由信息库(这些信息的
保存是由重定向记录功能完成的)中的做比较。从SN_Source_Address参数可以找到该PDU
的上一跳地址。如果这个地址与存储在重定向信息中的下一跳地址相符,则保持定时器的值
将被复位到RD PDU中的保持定时器的初始值。
注意:当网络实体向某个目的地址发送数据时,该数据可能被转发回来。本功能的目的
在于避免此时过期的重定向信息的进入。鉴于在端系统到端系统的通信中只需一次重定向后
就无须中介系统了,这种功能特别适用于源和目的地在同一个子网内的情况。
为了防止黑洞的产生,这个功能必须在很保守的方式下进行,保持定时器的剩余时间仅
在上述情况下才能被修改。关于这方面的信息请参考附录10。
7.10旧的重定向的清除功能
该功能的目的是清除路由信息库中定时时间到的配置信息。当端系统和中介系统的保持
定时器时间到时,本地网络实体路由信息库中的相关入口就被清除了。
7.11 PDU头部错误检测
PDU头部错误检测功能是用来在中介系统和端系统处理PDU头部出错时进行保护。这
个功能的实现是由PDU头部的checksum区来完成的。每一个对PDU进行处理的节点都要
对checksum进行验证。如果checksum出错,则该PDU必须被丢弃。
头部错误检测功能是可选的,由始发端的网络实体进行选择。如果没有选用该功能,
checksum将被设为0。
如果该功能被始发端网络实体选用,checksum满足下列公式:
所有a(i)的模255和=0;(i=1→L)
所有的(L- i +1)*a(i)的模255和=0;(i=1→L)
L为PDU头部的字节数,a(i)为第i字节的值。最前面的字节为i=0。
当该功能被选用时,checksum的两个字节都不为0。
7.12功能的分类
在实际应用中并不需要用到第7节中所有的功能。这些功能被分为四大类:
A类:此类功能在所有的应用中都应该支持。
B类:此类功能在处理配置信息的系统中被支持。
C类:此类功能在处理重定向信息的系统中被支持。
D类:此类功能在任何系统中都是可选项。
如果系统收到了一个对无法执行的可选功能的调用,那么该PDU应被丢弃。
下表表示了各种功能的分类以及它们应用于何种系统。
功能
分类
系统类型
配置报告
配置记录
配置响应
旧配置清除
重定向请求
配置查询
重定向记录
重定向刷新
旧重定向清除
PDU头部错误检测
B
B
A
B
C
B
C
D
C
A
ES,IS
ES,IS
ES
ES,IS
IS
ES
ES
ES
ES
ES,IS
8.PDU的结构和编码
注意:本协议对PDU的编码是完全符合ISO8473的。
8.1结构
所有的协议数据单元的字节数都应是整数。PDU中的字节从1开始编号,这个编号顺
序也就是它们被放进SNSDU中的顺序。每个字节中的位的编号从1到8,1是低位,8是高
位。当连续的字节用来表示一个二进制数时,低位比高位更具意义。
任何支持本协议的子网都被要求用“most significant bit”和“least significant bit”说明
其字节传输的方式。这些信息将被用来定义PDU。
注意:编码过程中用到的图表采用以下表示方式:
a)	编号小的字节放在左边,大的放在右边;
b)	在字节中第8位到第1位从左到右放。
PDU中按以下顺序包含了以下部分:
1.	固定部分;
2.	网络地址部分;
3.	子网地址部分(如果需要);
4.	可选部分,如果需要;
8.2固定部分
8.2.1综述
固定部分包含了经常出现参数,包括协议数据单元的类型码(ESH,ISH,RD)。固定
部分的长度和结构都由PDU来定义。
固定部分为以下形式:




                                   字节
网络层协议表示符
长度指示
版本/协议扩展标识
保留(必须为0)
0
0
0
类型
保持时间
校验
1
2
3
4
5
6,7
8,9

8.2.2网络层协议标识符
该域的值应该为1000 0010
注意:该值是临时性的,并非最终结论。
8.2.3长度指示
该长度用二进制数表示,最大值为254(1111 1110)。这个数值表示了整个PDU(包括
了整个头部)的字节数。255是保留值。
8.2.4版本/协议扩展标识
这个域的值是二进制数0000 0001。这个值表明这是一个ISO的标准版本。
8.2.5类型
类型码指明了协议数据单元的类型。其值为以下几种中的一种:


类型
位    5  4  3  2  1  
ESH  PDU
      0  0  0  1  0
ISH  PDU
      0  0  1  0  0  
RD  PDU
      0  0  1  1  0
8.2.6保持时间
保持时间俞指明了作为接收方的网络实体应该将PDU中的配置/路由信息保持多久。接
收方网络实体应该在定时时间到时将从该PDU中得到的任何信息都丢弃。保持时间是以两
个星期为单位的整数值。
8.2.7PDU校验
该值从整个头部计算而来。若等于0则表明没有采用校验。PDU头部错误检测功能保
证0不是一个合法的校验值。一个非0值表示该值不可忽略。如果校验出错,则该PDU应
被丢弃。
8.3网络地址部分
8.3.1综述
地址参数用来区分位置的不同。不同的PDU类型所携带的地址参数也不同。ESH PDU
携带一个源NSAP地址;ISH PDU携带一个中介系统网络实体标题;一个RD PDU携带一
个目的NSAP地址,也有可能是一个网络试题标题。
8.3.2网络协议地址信息(NPAI)编码
目的地址和源地址均是指网络服务接入点的地址,在ISO8348/AD2中定义。目的地址,
源地址和网络实体标题均是作为NPAI按照ISO8348/AD2所定义的二进制句法来进行编码
的。
地址信息是可变长度的。每个地址参数按照如下方法编码:
字节n
地址参数长度指示
字节n+1到n+m
地址参数值
8.3.3 ESH PDU源地址参数








此源地址是发送ESH PDU的网络实体多服务的NSAP的地址。它按照如下方法编码:

                                      字节
源地址长度指示
源地址
  10
  11
  …..
  m-1
8.3.4 ISH PDU的网络实体标题参数
此网络实体标题参数是发送ISH PDU的中介系统的网络实体标题。它按如下方式编码:
                             字节
网络实体标题长度指示
网络实体标题
  10
  11
  …..
  m-1
8.3.5 RD PDU目的地址参数
此目的地址是正在发送的RD PDU的中介系统转发的NPDU的相关地址。其按如下方
法编码:
                                      字节
目的地址长度指示
目的地址
  10
  11
  …..
  m-1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -