RFC955_朝向一个处理过程应用的传输服务

来源:互联网 发布:mysql 评论 数量多 编辑:程序博客网 时间:2024/05/04 07:50
组织:中国互动出版网(http://www.china-pub.com/)RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)E-mail:ouyang@china-pub.com译者:译文发布时间:2001-11-24版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。 ISO8473基础上的端系统与中介系统间的路由信息的交换(ES-IS)1、介绍22、应用范围33.参考34、定义44.1参考模型定义44.2网络层结构定义44.3网络层地址定义44.4局域网定义44.5补充定义55.代号及缩写55.1 数据单元55.2协议数据单元55.3协议数据单元部分55.4参数65.5杂项66.协议总览66.1协议提供的信息66.2协议的子集66.3编址66.4协议假定已存在的服务76.5本地环境应提供的服务76.6子网类型87.协议功能97.1协议定时器97.2配置报告功能107.3配置记录功能117.4旧配置清除功能117.5配置查询功能117.6配置响应功能127.7重定向请求功能127.8重定向记录功能137.9重定向刷新功能137.10旧的重定向的清除功能137.11 PDU头部错误检测137.12功能的分类148.PDU的结构和编码148.1结构148.2固定部分158.3网络地址部分168.4子网地址部分178.5可选部分188.6端系统HELLO PDU198.7中介系统HELLO PDU208.8重定向 PDU21附录A  技术支持材料23A.1定时器的使用23A.2路由重定向信息的刷新和定时24A.3系统初始化25A.4重定向清除的优化251、介绍本协议是一套国际标准中的一个,它用来方便开放系统的互连。这一套标准包含了达到此目的所需的服务和协议。本协议的制定充分考虑到了开放系统互连参考模型中定义的相关层以及国际网络组织所定义的网络结构。特别要指出的是,本协议是一个网络层的协议。它允许端系统和中介系统之间交换配置和路由信息,以方便网络层的路由和中继操作。端系统与中介系统之间在网络层的通信与中介系统之间的通信是分开考虑的。本协议专门讨论前者。如果附加一个负责中介系统之间通信的协议,网络层的功能将大大加强。但即使没有这个附加的协议,本协议也是非常有用的。ES-IS协议提供了解决以下问题的方法:1、当一个端系统并非直接连接在另一个端系统上时,这个端系统如何发现中介系统的存在和可达性并通过它来将NPDU传送到另一个端系统。2、由于NSAP地址并不能提供子网中的目的地址,端系统如何发现同一个子网中的另一个端系统。3、中介系统如何发现与它直接相连的各个子网内的端系统的存在。ES-IS协议假定以下情况的存在:1、子网本身能够顺利地完成在本网内发送信息到子网连接点的工作。2、子网本身不能仅依靠NSAP地址在全网范围内与目的地址通信。注:由于以上的原因,应用层通信不能直接利用该协议提供的功能。ES-IS协议无连接的,它被设计用来:1、减少端系统之间通信前所需要的状态信息。2、减少端系统上用来存放路由信息所需的内存空间。3、降低路由算法的复杂性。本协议的设计是和提供无连接网络服务的协议有紧密的关系的。由于路由的种类与通信的种类密切相关,所以当网络层不是使用ISO协议时,本协议可能无法提供路由需要的信息。2、应用范围国际标准提供了一个协议,用来为使用ISO8473的网络层的端系统和中介系统维护路由信息。此处提到的协议均是需要无连接的服务。此标准指明了:a)端系统和中介系统的网络实体之间的配置和路由信息的传送过程;b)配置和路由信息所用的协议数据单元的编码;c)协议控制信息的正确的解释过程,以及d)在功能上要求与该标准的一致性。这些过程在如下条款定义:a)端系统和中介系统之间交换协议数据单元的交互过程;以及b)在网络实体和下层服务提供者之间交换子网服务原语的交互过程。本协议并未为路由和信息在中介系统间的传递指明协议元素和算法。这些功能是本协议所不能及的。3.参考ISO7489          信息处理系统------开放系统互连------基本参考型。DIS7489/DAD1    信息处理系统------开放系统互连------ISO7489  标准的补充(关于无连接传输)。ISO8348           信息处理系统------系统间电信及信息交换------网络服务定义的补充(关于无连接传输)。ISO8348/AD2       信息处理系统------系统间电信及信息交换------网络服务定义的补充(关于网络层地址)。ISO8473           信息处理系统------系统间电信及信息交换------提供无连接网络服务的协议。DIS8648           信息处理系统------系统间电信及信息交换------网络层的内部组织。SC21/N965         OSI框架管理------第七号工作草案。DIS8802           局域网。第一部分  综述4、定义4.1参考模型定义本文采用了以下概念(由ISO7489定义):a)网络层b)网络服务接入点c)网络服务接入点地址d)网络实体e)路由f)网络协议g)网络延时h)网络协议单元4.2网络层结构定义本文采用了以下概念(由DIS8648定义):a)子网b)端系统c)中介系统d)子网服务e)子网接入协议f)子网独立收敛协议4.3网络层地址定义本文采用了以下概念(由DIS8348/DAD2、网络服务定义的补充(关于网络层地址)定义):a)子网地址b)子网接入点4.4局域网定义本文采用了以下概念(由DIS8802局域网标准定义):a)组播地址b)广播地址4.5补充定义在本文中,以下定义适用:配置:隶属于同一子网的端系统和中介系统(由术语“系统类型”定义,涉及到网络服务接入点地址、网络实体、系统和子网络连接点间的通信)的集合。网络实体标题:网络实体标识符,它与网络服务接入点具有相同的句法结构,它能准确地定义一个网络实体中的端系统或中介系统。5.代号及缩写5.1 数据单元PDU       协议数据单元SNSDU     子网服务数据单元5.2协议数据单元ESH  PDU    端系统HELLO协议数据单元ISH  PDU     中介系统HELLO协议数据单元RD  PDU     重定向协议数据单元5.3协议数据单元部分NPID         网络层协议标识符LI            长度指示V/P           版本/协议扩展标识符TP            类型CS            校验NETL          网络实体标题长度NET           网络实体标题DAL           目的地址长度DA            目的地址SAL            源地址长度SA             源地址BSNPAL        目的地最佳路由的子网地址长度BSNPA         目的地最佳路由的子网地址HT             保持定时器5.4参数CT             配置定时器RT             重定向定时器5.5杂项ES             端系统IS              中介系统SN             子网SNACP         子网接入协议SNICP          子网独立收敛协议6.协议总览6.1协议提供的信息本协议向网络实体提供了两种信息来支持它的运行:a)配置信息;以及b)路由重定向信息配置信息允许端系统发现中介系统的存在和可达性,并且允许中介系统发现端系统的存在和可达性。这种发现是动态的,从而免除了在建立网络实体标识符(这是对网络协议数据单元路由所必须的)的过程中人为的干涉。配置信息同样也使得端系统能相互间得到对方的信息而不需要中介系统的介入。注意:术语“配置信息”并非广义的配置(如OSI系统管理采用的一样),而是仅仅指这里专门定义的功能。路由重定向信息由中介系统用来通知端系统采用一条更好的路由来传递NPDU到某目的地。这条更好的路由可能是同一子网中的另外一个IS,也可能是目的端系统本身(如果该目的端系统与源端系统处在同一子网内)。它也使得中介系统能简化端系统的路由决定,并且提高路由决定的效率,因为Ess可以在传送过程中使用更好的IS和子网。6.2协议的子集一个网络实体可以选择支持配置信息或路由重定向信息,或者两者都支持、或者都不。如果支持配置信息,并不需要该网络实体所属的整个子网都采用配置信息。6.3编址在本国际标准中源地址和目的地址涉及到的参数是OSI网络服务接入点地址。其句法和语义在专门文献ISO8348/DAD2中有所描述。6.4协议假定已存在的服务本协议所需要的服务由表格中的原语所定义:SN_UNITDATA     .Request                  .IndicationSN_Destination_Address,SN_Source_Address,SN_Quality_of_Service,SN_Userdata注意:这些服务原语用来描述协议机制和下面的实子网(或依靠收敛功能(该功运行在实子网或实数据链路上以提供所需服务)的子网)之间的抽象接口。6.4.1子网地址源地址和目的地址指明了公共或私有的子网的接入点(被称为子网接入点)。子网地址在各个子网中都做了定义。本协议设计时即考虑到子网应支持广播、组播或其他形式的多目的地址方式。作为单目的地址的一补充,参数SN_Destination_Address可能是以下几种多目的地址方式的一种:所有端系统网络实体所有中介系统网络实体当一个实子网不支持广播方式或其他多目的地址的传输方式时,网络可以采用收敛功能来支持通往这些目的地的多路传输。当SN_UNITDATA.Request原语中的SN_Destination_Address参数表示多目的地址时,其相应的SN_UNITDATA.Indication原语中的同一参数的值不应改变。除了以上所提到的特性以外,子网地址的句法和语义没有在本协议中做定义。6.4.2子网用户数据SN_Userdata是按一定顺序摆放的多个字节,这些字节在指定的子网接入点间是透明传输的。本协议要求系统支持能够提供无连接网络服务的最小的服务数据单元。6.5本地环境应提供的服务协议要求定时器服务支持协议实体的时间表事件。与S-定时器相关的三个原语:1.S-Timer Request;2. S-Timer Response;以及3. S-Timer Cancel。S-Timer Reques原语指示本地环境初始化一个指定名字的定时器,记录并且保持指定长的一段时间。S-Timer Response原语由本地生成,它指示延时时间已到。S-Timer Cancel原语指示本地环境取消定时器服务。如果参数没有说明,所有的指定名字的定时器都将被取消。如果没有定时器与参数吻合,该原语将不引起任何动作。S-定时器的服务原语的参数如下表所示:S—TIMER         .Request                  .ResponseS—Time,S—Name,S—SubscriptS—Name,S—SubscriptTime参数指示定时器的生存周期,而Name参数给每个定时器一个标签,subscript参数给每个定时器赋一个值使得相同名字的定时器能区分开来,name和subscript参数构成了该定时器唯一的参考描述。若定时器和某个协议功能联合使用,则该定时器将在该协议功能中定义。注意:该国际标准并没有指明定时器的值。任何有关这方面的推论都不是强制的。选择的时间器参数应能使服务质量得到保证并且满足各种服务所要求的种种特性。6.6子网类型为了评估在特定的端系统、中介系统和子网的各种配置下该协议的适用性,定义了三种一般的子网:1.点对点子网;2.广播子网;以及3.一般拓扑子网。这三种类型在以下来讨论:6.6.1点对点子网一个点对点子网支持两个系统。这两个系统可以是两个端系统或者一个端系统和一个单独的中介系统。一个连接着两个网络实体的点对点的数据链路就是一个点对点网络的例子。点对点子网的配置信息。在点对点子网内,协议的配置信息通知正在通信的网络实体以下内容:1.拓扑是否只由两个端系统构成;或者2.是否有其中一个系统是中介系统注意:在点对点子网内,如果两个系统都是中介系统,该协议就不在适用了,取而代之的是IS-IS协议。但这并不是说在IS-IS中配置信息不起作用。中介系统收到端系统的NSAP地址,这使得关于这些NSAP地址的可达信息和路由量度能够被散发到其他中介系统中去,从而使路由计算成为可能。6.6.2广播子网一个广播子网支持任意数量的端系统和中介系统,并且可以响应SN_UNITDATA.Request,传送SNPDU到所有这些系统或者其某个子集。一个典型的广播子网的例子是DIS8802第一类局域网。广播子网内的配置信息。在广播子网内,该协议的配置信息用来通知正在通信的网络实体以下内容:1.通知端系统子网内的每个中介系统的可达性、网络实体标题和SNPA地址。2.通知中介系统端系统的NSAP地址和子网地址。一旦中介系统得到这些信息,关于该NSAP的可达信息和路由量度便被散发到其他中介系统去以便计算路由。3.如果某中介系统失踪,端系统便在广播网内查询,看子网内特定的NSAP是否可达,如果可达,用哪个SNPA地址进行连接。广播网内的路由重定向。广播网采用路由重定向来使得中介系统可以通知中介系统到达某个NSAP的更好的路由。这个路由可能是子网内的另一个中介系统,也可能是目的端系统本身。6.6.3一般拓扑子网一个一般拓扑子网支持任意多数量的端系统和中介系统,但是不象广播子网那样支持无连接的多地址传送。X.25和ISO8208就属于这种类型。注意:广播子网和一般拓扑子网间的关键区别在于通过多路传输到达一个潜在的较大的子网子集所用的开销。在一般拓扑子网中,开销被假定为接近于传送一个PDU到子网中的各所有SNPA。相反,在广播子网中,开销被假定为接近于传送一个PDU到子网中的一个SNPA。介于这两中极端情况的情形当然会出现,此时,既可以把该子网当作广播子网,也可以当作一般拓扑子网。一般拓扑子网内的配置信息。在一般拓扑子网内,配置信息一般都不用,因为它很占用子网资源。一般拓扑子的网路由重定向。一般拓扑子网采用路由重定向来允许中介系统来通知端系统到某目的NSAP更好的路由。这个路由可能是另一个中介系统,也可能是目的端系统本身(如果它与源端系统在同一子网内且直接可达)。第二部分   协议规范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头部错误检测BBABCBCDCAES,ISES,ISESES,ISISESESESESES,IS8.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)000类型保持时间校验123456,78,98.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  0ISH  PDU      0  0  1  0  0  RD  PDU      0  0  1  1  08.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-18.3.4 ISH PDU的网络实体标题参数此网络实体标题参数是发送ISH PDU的中介系统的网络实体标题。它按如下方式编码:                             字节网络实体标题长度指示网络实体标题  10  11  …..  m-18.3.5 RD PDU目的地址参数此目的地址是正在发送的RD PDU的中介系统转发的NPDU的相关地址。其按如下方法编码:                                      字节目的地址长度指示目的地址  10  11  …..  m-18.4子网地址部分子网地址部分仅存在于RD PDU。它用来指示同一个子网内的另一个端系统或者中介系统的网络实体(它们可能是通向网络地址部分所指示的目的地的更好路由)的子网地址。子网地址参数的编码与网络地址参数相似。8.4.1 RD PDU子网地址参数子网地址参数按照如下方式编码:                             字节子网地址长度指示子网地址  m  m+1  …..  n-18.5可选部分8.5.1综述可选部分用来传送可选参数。PDU头部的可选部分说明如下:                          字节选项pq如果可选部分存在,它可能包含一个或多个参数。参数的个数由可选部分的长度和所限,可选部分的长度有下面的公式决定:PDU头部长度-(固定部分长度+地址部分长度+分段部分长度)也由个别的可选参数的长度所决定可选部分中定义的参数出现的顺序是不确定的,选项不允许有可重复性。收到选项重复的PDU对协议来说是一种错误。可选部分中的参数的编码形式说明如下:字节内容n参数编码n+1参数长度n+2  到   n+m+1参数值参数编码域采用二进制编码,并且不能扩展,最多可以表示255中不同的参数编码。事实上,没有哪一种参数编码的第8位和第7位的值是00,因此能提供的最大数量要少一些。其中,编码255(二进制1111 1111)被保留。参数长度域指示了参数值的字节数。这个长度是二进制正整数m,在理论上最大值是254,但实际值要小一些。例如,当可选部分只有一个参数时,参数编码和参数长度各占一个字节。这样,m受限于:m=252-(固定部分长度+地址部分长度+分段部分长度)后面的几个参数越大,则m越小。参数值指示了参数编码域中指定的参数的值。8.5.2安全性安全性参数传送数据PDU所要求的安全信息,这个数据PDU使得RD PDU产生。这个参数的编码和语义与ISO8473定义的安全性性参数类似。参数编码:   1100 0101参数长度:   可变参数值:     见ISO8473中的7.5.38.5.3服务质量保持服务质量传送数据PDU要求的服务质量信息,这个数据PDU使得RD PDU产生。这个参数的编码和语义与ISO8473定义的服务质量保持参数类似。参数编码:   1100 0011参数长度:   可变参数值:     见ISO8473中的7.5.68.5.4优先级优先级参数传送数据PDU要求的优先级信息,这个数据PDU使得RD PDU产生。这个参数的编码和语义与ISO8473定义的优先级参数类似。参数编码:   1100 1101参数长度:   可变参数值:     见ISO8473中的7.5.78.6端系统HELLO PDU8.6.1结构ESH PDU具有以下形式:                                                   字节网络协议标识符长度指示版本/协议扩展标识保留(必须为0)000类型保持时间校验源地址长度指示源地址选项      1      2      3      4      5      6,7      8,91011m-1mp-18.7中介系统HELLO PDU8.7.1结构ISH PDU具有以下形式:                                    字节网络协议标识符长度指示版本/协议扩展标识保留(必须为0)000类型保持时间校验网络实体标题长度指示网络实体标题选项    1  23456,78,91011m-1mp-18.8重定向 PDU8.8.1结构当PRD PDU向中介系统发送时具有以下形式:                                      字节网络协议标识符长度指示版本/协议扩展标识保留(必须为0)000类型保持时间校验目的地址长度指示目的地址子网地址长度指示子网地址网络实体标题指示 网络实体标题选项 1 2 3 4 5 6,7 8,91011m-1mm+1n-1nn+1p-1pq-1当PRD PDU向端系统发送时具有以下形式:                                      字节网络协议标识符长度指示版本/协议扩展标识保留(必须为0)000类型保持时间校验目的地址长度指示目的地址子网地址长度指示子网地址网络实体标题长度指示(=0)选项服务质量 1 2 3 4 5 6,7 8,91011m-1mm+1n-1nn+1p-1n+1附录A  技术支持材料A.1定时器的使用为了是配置功能和重定向功能能合时和正确得散步信息,本协议广泛采用了定时器。本节讨论了这些定时器如何使用,并给出了使用它们的背景。使用本协议的系统只从其它系统发出的PDU上得到其他系统的信息。在无连接的环境中,系统必须用更新的信息来判断自己掌握的信息是否正确。例如,如果一个系统变得不可达,唯一能被其它系统知道的途径是应该由它发出的信息丢失了。而本协议中定义的保持定时器保证了过时的信息不会总被保存着。有一种很有效的方法可以用来更新配置信息和重定向信息,那就是系统中保持着一个缓存。这个缓存定期地刷新,从而保证只有及时的信息才能被保存。与一般缓存不同的是,该缓存中信息的保存时间并非完全有本系统决定。相反,有信息的源端决定。有一些例子能很清楚地说明这点。A.1.1路由重定向保持定时器实例路由重定向信息是端系统通过要求重定向功能得到并保存的。中介系统很有可能将端系统重定向到另一个中介系统,而这个中介系统忽然变得不可达了(当路由算法正处在配置改变后的收敛过程中时这种情况就很有可能发生)。如果没有保持定时器,或者其值被设定得很大,端系统就会被重定向到一个黑洞去。而一般这个定时器的时间就设定为黑洞允许存在的最大时间。另外,如果将这个路由重定向定时器的值设置得过短,会引起另外一些我们不愿意看到的后果。首先,每个引起重定向的PDU都会使得额外的PDU被产生和传输,这会增加开销。另外,每次保持定时器时间到,被重定向的端系统至少使用错误的路由发送一个PDU。 A.1.2配置信息的保持定时器实例与以上类似的问题也发生在配置信息上。如果一个ISH PDU的保持定时器设置得很长,并且发出该ISH PDU的IS忽然变得不可达,就会形成黑洞。在这段时间内,端系统假定该中介系统会继续为它转发PDU,从而无法与其他系统正常通信。而当该定时器时间到时,该端系统才发现没有可用的中介系统。无论何种情况的问题发生,都要求错误信息的响应能够正确无误地找到源头。为了达到这一点,配置信息和路由重定向信息在源头计算好并准确无误地传到接收端。A.2路由重定向信息的刷新和定时本协议允许端系统在保持定时器还未时间到、并且为收到新的重定向信息的情况下对路由重定向信息进行刷新。这种过程在无连接网络中经常使用,它被称作“反转路径信息”、“前一跳缓存”等。刷新重定向信息有很明显的好处,但是如果处理得不好很可能出现严重后果。为了是重定向信息安全刷新,必须保证以下几点:1.已经收到的PDU的源地址必须和前面的RD PDU的目的地址一致。不可以把短地址、组地址或类似的地址当作一致的。2.收到的PDU中的服务质量参数必须与相应的重定向信息中的一致。不能保证服务质量参数相同的PDU通过同一路径发送。很有可能对某些服务质量参数来说某条路径是个黑洞。3.收到的PDU的前一跳必须与重定向信息中的下一跳相符。特别的,送来PDU的SN_UNITDATA.Indication原语中的SN_Source_Address参数必须与重定向中的SN_Destination_Address一致。着保证了接受重定向信息的IS正是原先的发送者。注意,以上条件仍然允许重定向刷新在最有利的情况下进行。比如目的地是另外一个ES。A.3系统初始化本协议被设计用来是两种系统能够尽可能自由地通信。所以,端系统要求子网上所有的中介系统报告配置信息、或者中介系统要求所有的端系统报告配置信息都是不可能的。在某种操作环境下,系统受到很大的限制。在网络达到正常运行之前,端系统必须先尽快发现一个中介系统。反过来,中介系统是否也要发现端系统呢?这基本上有配置定时器决定。在开销和配置信息的适用性上要有权衡。减少配置定时器的值意味着信息的适用性,同时也意味着开销的增加。我们推荐以下这种方法来解决以上冲突。当记录配置功能在任何一种系统中被引用时,该功能就必须判断这个信息是否之前是未知的。如果是,那么在系统的配置定时器时间到是就要引用该功能。然后配置报告功能生成HELLO PDU并送到原先未知的网络实体去。于是,当ES或IS变得可操作是就立即发出配置报告。一旦令一种系统发现了这个新的网络实体,它们就会使其知道自己的存在。这种方法带来的开销就要小得多。另外,由于新的配置信息被即使发现,定时器的时间被定期地延长以减少开销。还有一个忠告:由于第一个HELLO很可能丢掉,所以在系统初始化的阶段应当以很短的时间间隔发出HELLO包。注意,这种方法可能仅在IS或者ES,也可能在所有系统中执行。该过程仅是一个本地过程并且可能被本地系统改变。A.4重定向清除的优化一个ES会向一个被重定向信息所指定的IS发出NPDU,只到保持定时器时间到,即使该IS已经变得不可达。在某些情况下,有可能更快地发现黑洞的存在。特别的,,如果ES想得到它被重定向到的IS的HELLO包,并且保持定时器已经到时间了,所有关于该IS的信息都将被丢弃,其中包括重定向信息,即使重定向信息的时间还未到。RFCXXX——              ISO8473基础上的端系统与中介系统间的路由信息的交换(ES-IS)2RFC文档中文翻译计划
原创粉丝点击