组织:中国互动出版网(http://www.china-pub.com) RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm) E-mail:ouyang@china-pub.com 译者:王晨光(taucho taucho@yeah.net ) 译文发布时间:2001-5-8 版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必 须保留本文档的翻译及版权信息。 网络工作组 编者:D.Oran 请求评议文档:1142 数字设备公司 1990,2月 OSI IS-IS 域内路由协议 (RFC1142 OSI IS-IS Intra-domain Routing Protocol) 本备忘录的状态 这个RFC(Internet标准(草案))是ISO DP(ISO国际标准化组织,DP数据处理,建议草 案?)10589 的再版,用于互联网通讯服务。这不是一个互联网标准,此备忘录的发布是无 限制的。 注意:这个文档不是ASCII文本,官方文档是PostScript文件,包含图表。请使用这个备忘录的PostScript 文本。 ISO/IEC DIS 10589 (IEC 国际电工委员会) 信息技术——系统间的远程通讯和信息交换——中间系统到中间系统的用于连 接在无连接方式网络服务(ISO 8473)下协议的域内路由交换协议。 目录 1 应用领域和范围 2 参考 3 定义 4 符号和缩写 5 印刷排版协定 6 协议的概述 7 子网独立功能 8 子网相互功能 9 PDU(协议数据单元)编码和结构 10 系统环境 11 系统管理 12 一致 附件A PICS(协议实现一致性声明)格式 附件B 技术支持材料 附件C 执行方针和例子 附件D 拥塞控制和避免 简介: 本协议是一系列用来推动开放系统互连的国际标准之一。此一系列标准包括了完成这种 互连所必须的服务和协议。此协议的定位考虑到了其他相关的标准——在ISO 7498中定义的 层和在ISO 8648中定义的结构。特别指出,本协议是网络层上的协议。此协议允许路由领域 的中间系统之间交换配置和路由信息,从而促进了网络层上的选定路线和信息传播功能。本 协议被设计为用来紧密连接ISO 9542和ISO 8473。其中,ISO 9542被用来建立个人子网的 终端系统和中间系统之间的连通和互达,ISO 8473传送数据。用于路径计算和维护的相关算 法也同时被描述。域内IS-IS路由协议被设计为支持那些由多种子网组成的大型路由区域。 子网包括点到点连接,多点连接,X.25子网和广播通信子网例如ISO 8802局域网。为了支 持这种大型路由区域,作为域内路线选定的规定被设计为具有多层性。每一种系统存在于一 种特定的区域。在同一区域中的路径称为Level 1 路径。在不同区域间的路径称为Level 2 路 径。Level 2 的中间系统保持着路径到目的区域的轨迹。Level 1 的中间系统保持着在自己 区域中路径的轨迹。因为一个NPDU设计为另一个区域,当一个Level 1 中间系统发送NPDU 到最近的Level 2中时,是在自己的区域中,不管这个区域是如何定义的。这样,NPDU经过 Level 2路径到达目的区域,在此它在一次通过Level 1路径到达目标终端系统。 信息技术——系统间的远程通讯和信息交换——中间系统到中间系统的用于连 接在无连接方式网络服务(ISO 8473)下协议的域内路由交换协议。 1 应用领域和范围 此国际标准制定了一个协议,网络层应用该协议在中间系统中操作ISO 8473来维护路径 信息,从而能够在单路径领域中发送信息。该协议在此被描述为相关于一个无连接模式的基 本服务的规定。要想了解这种基于ISO 8208,ISO 8802和OSI 数据连接服务的子网服务,详 见 ISO 8473 及其附录3。 标准指定: a)用来传送结构和存在于单路径领域中间系统的网络实体之间的路径信息的过程; b)协议数据单元编码用于传送结构和路径信息; c)用来正确解释协议控制信息的过程; d)函数满足标准要求。 过程定义: a)位于中间系统的网络实体的交互作用通过协议数据单元的交换; b)位于网络实体和一基本服务提供者之间的交互作用通过原始子网服务的交换; c)当每个中间系统都有一个与其它系统相容的路径信息基础时,路径决定必须被所有中间 系统观察到。 2 参考 2.1 标准参考 下列标准包含了一些规定,通过在本文中涉及,这些规定成为国际标准。在出版的同时, 版本说明也同时有效。所有标准都可被修改,而且那些基于国际标准的协议的各方都被鼓励 从事对最新标准版本应用的可行性的研究。IEC和ISO的成员保持当前有效的国际标准的纪 录。 ISO 7498:1984,信息处理系统,开放系统互连基本参考模型。 ISO 7498/Add.1:1984, 信息处理系统,开放系统互连基本参考模型附录1:无连接方式传送。 ISO 7498-3:1989, 信息处理系统,开放系统互连基本参考模型部分3:命名和寻址。 ISO 7498-4:1989, 信息处理系统,开放系统互连基本参考模型部分4:管理结构。 ISO 8348:1987, 信息处理系统,数据通信网络服务定义。 ISO 8348/Add.1:1987,信息处理系统,数据通信网络服务定义附录1:无连接方式传送。 ISO 8348/Add.2:1988, 信息处理系统,数据通信网络服务定义附录2:网络层寻址。 ISO 8473:1988, 信息处理系统,在无连接方式网络服务下的数据通信协议。 ISO 8473/Add.3:1989, 信息处理系统,远程通讯和系统间数据交换,在无连接方式网络服务 下的协议 附录3:ISO 8473中假设的提供OSI数据连接服务的子网上的基本服务的规定。 ISO 8648:1988, 信息处理系统,开放系统互连,网络层内部组织。 ISO 9542:1988, 信息处理系统,终端系统到中间系统的远程通信和信息交换,用于连接在无 连接方式网络服务(ISO 8473)下协议的路由交换协议。 ISO 8208:1984, 信息处理系统,数据通信X.25信息包级别协议用于数据终端设备。 ISO 8802:1988, 信息处理系统,局域网系统间远程通信和信息交换。 ISO/TR 9575:1989, 信息技术,OSI路径结构系统的远程通信和信息交换。 ISO/TR 9577:1990, 信息技术,网络层协议鉴定系统的远程通信和信息交换。 ISO/IEC DIS 10165-4:, 信息技术,开放系统互连,管理信息的管理信息服务结构部分4: 被管理目标的定义方针。 ISO/IEC 10039:1990, IPS-T&IEBS MAC 服务定义。 2.2 其他参考 下列参考在一些路径算法规则的描述中是有帮助的: McQuillan, J. et. al., The New Routeing Algorithm for the ARPANET,IEEE Transactions on Communications, May 1980. Perlman, Radia, Fault-Tolerant Broadcast of Routeing Information, Computer Networks, Dec. 1983. Also in IEEE INFOCOM 83, April 1983. Perlman, Radia, Fault-Tolerant Broadcast of Routeing Information, Computer Networks, Dec.1983. Also in IEEE INFOCOM 83, April 1983. Aho, Hopcroft, and Ullman, Data Structures and Algorithms, P204208 Dijkstra algorithm. 3 定义 3.1 参考模型定义 此国际标准使用在下列在ISO 7498中的定义: a)网络层 b)网络服务访问点 c)网络服务访问点地址 d)网络实体 e)路径 f)网络协议 g)网络传播 h)网络协议数据单元 3.2 网络层体系定义 此国际标准使用在下列在ISO 8648中的定义: a)子网络 b)终端系统 c)中间系统 d)子网服务 e)子网访问协议 f)子网相关的集中协议 g)子网独立的集中协议 3.3 网络层寻址定义 此国际标准使用在下列在ISO 8348/Ass.2中的定义: a)子网地址 b)子网连接点 c)网络实体标题 3.4 局域网定义 此国际标准使用在下列在ISO 8802中的定义: a)多目标地址 b)媒体访问控制 c)广播媒体 3.5 路径结构定义 此国际标准使用在下列在ISO/TR 9575中的定义: a)管理域 b)路径域 c)转发 d)黑洞 3.6 附加定义 此国际标准使用下列定义: 3.6.1 区域:一个路径子域保持关于它内部成分的详细路径信息,同时也保持使它到达其 他路径子域的路径信息。它符合Level 1子域。 3.6.2 邻居:一个邻近的系统可以通过一个PDU遍历一个单一子网到达。 3.6.3 相邻:一个本地路径信息的一部分,在一单一邻居ES或IS上流程一周可以达到。 相邻被用作一种输入到通过路径域形成通路的决定处理中去。一个单独的相邻应用于 在一流程上的每个邻居,每个在广播流程上的路径Level(也就是Level 1和Level 2)。 3.6.4 流程:与一单一本地SNPA相关的本地路径信息的子集。 3.6.5 链路:两个邻居间的通信通道。当两个SNPA间有可能通信时链路向上。 3.6.6 指定的IS:中间系统在一个被指定完成附加任务的局域网上。特别是为了局域网的 利益它 产生连接状态PDU,把局域网视为一个伪网点。 3.6.7 伪网点(Pseudonode):当一个广播子网拥有n个连接着的中间系统,这个广播子 网自身被视为一个伪网点。该伪网点包含所有n个中间系统的每个连接,并且每个 IS拥有一个单一连接到伪网点(而不是n-1个连接到每个其他中间系统中去)。为了 伪网点的利益连接状态PDU被被指定的IS所产生。这一点在图1中被描述。 图 1 3.6.8 广播子网:一个支持任意数量的终端系统和中间系统的子网,并且可以发送一个单 一的SNPDU到这些系统的子集中,从而响应单一SN_UNITDATA的请求。 3.6.9 普通布局子网:一个支持任意数量的终端系统和中间系统的子网,但是不像广播子 网一样支 持方便的多目的无连接发送设备。 3.6.10 路径子域:一系列位于相同路径域的终端系统和中间系统。 3.6.11 Level 2子域:所有路径域Level 2中间系统中的一系列系统。 4 符号和缩写 4.1 数据单元 PDU 协议数据单元 SNSDU 子网服务数据单元 NSDU 网络服务数据单元 NPDU 网络协议数据单元 SNPDU 子网协议数据单元 4.2 协议数据单元 ESH PDU ISO 9542 终端系统呼叫协议数据单元 ISH PDU ISO 9542 中间系统呼叫协议数据单元 RD PDU ISO 9542 重定向协议数据单元 IIH 中间系统到中间系统呼叫协议数据单元 LSP 连接状态协议数据单元 SNP 数字序列协议数据单元 CSNP 完全数字序列协议数据单元 PSNP 部分数字序列协议数据单元 4.3 寻址 AFI 权威的格式化的指示器 DSP 特殊部分领域 IDI 初始域标识符 IDP 初始域部分 NET 网络实体名称 NSAP 网络服务访问节点 SNPA 子网连接节点 4.4 其他 DA 动态分配 DED 动态建立数据连接 DTE 数据终端设备 ES 终端系统 IS 中间系统 L1 Level 1 L2 Level 2 LAN 局域网 MAC 媒体访问控制 NLPID 网络层协议标识符 PCI 协议控制信息 QoS 服务质量 SN 子网 SNAcP 子网访问协议 SNDCP 子网相关性集中协议 SNICP 子网独立性集中协议 SRM 发送路径消息 SSN 发送数字序列消息 SVC 转变虚流程 5 印刷排版协定 此国际标准应用于下列印刷协定: a)当重要的术语和概念被第一次引用时用斜体字; b)协议常量和管理参量用滑体字(将多种字符混合),首字母小写,以后第一次出现大写; c)协议领域名称用San Serif体(下划线)所有字符大写; d)常量、参数和协议领域的值用双引号括起。 6 协议的概述 6.1 系统类型 包含下列类型: 终端系统:该系统发送NPDU到其他系统中并且从其他系统接受NPDU,但是并不传播NPDU. 该国际标准未超出ISO 8473和ISO 9542所指定的终端系统功能范围。 Level 1中间系统:该系统发送NPDU到其他系统中并且从其他系统接受NPDU,传播NPDU 从其他源头系统到其他目的系统。此系统直接发送NPDU到本区域系统中,当目标系统位于 别的区域则发送到一个Level 2中间系统中去。 Level 2中间系统:该系统作为Level 1中间系统和由Level 2 IS组成的子域中的系统。 位于Level 2子域中的系统向目的方向传送,或者向另一路径域方向。 6.2 子网类型 支持以下两种普通子网类型: a)广播子网:多存取子网具有寻址某一单一NPDU附属的一组系统的能力,例如ISO 8802.3 局域网。 b)普通布局子网:以一种点到点方式的连接两个系统。 以下是几种普通方式布局子网: 1)多点连接:多于两个系统的连接,其中有一主系统,其余系统为第二(或从属)系 统。主系统可以与其他所有第二系统直接通信,但是第二系统不能直接与其他系统 通信。 2)永久的点到点连接:所有时刻都保持的连接(除非被破坏,或被系统管理关掉),例 如专用线或私人连接。 3)动态建立数据连接(DEDs):跳过导向设备连接的连接,例如X.25,X.21, ISDN, or PSTN networks。 动态建立数据连接可被用于以下两种方式: i)静态点到点(Static):访问建立在系统管理动作之上,并且只能清除在系统管理 动作之(或失败)。 ii)动态指定(DA):访问建立在通报接受之上,当空闲超时时被取消。建立访问的地 址被到达的NPDU信息所动态决定。在一个DA流程上的IS之间不存在IS-IS传送 PDU。 子网独立函数对待所有子网类型就像对待无连接子网一样,使用ISO 8473中子网相关的 集中函数,在此必须提供一个无连接子网服务。然而,此子网相关的函数在无连接和面向连 接的子网中操作是不同的。 6.3 布局 一个单一的结构可能希望将其管理域分为若干独立的路径域。这样做是有其优点的,就 像ISO/TR 9575中所描述的。此外,这样对域内路由协议帮助域间路由协议(为了连接多管 理域而存在的协议)运行也是有益的。 为了使此种多域布局更加容易,对进入静态域内路径信息制订了规定。位于IS的拥有跨 过路径域边界的连接的系统管理使信息进入,这些信息被Reachable Address Prefixes(可 到达地址前缀)提供。此前缀指示了任何一个NSAP,当其地址与该前缀相匹配时,此NSAP 可能经过与该前缀相关的SNPA被达到。在SNPA被连接的子网是一普通布局子网支持动态建 立数据连接处,该前缀同时也与同它需要的子网寻址信息相连接,或者与一个可从目标NSAP 地址中获得的指示相连接(例如,某X.121 DTE地址有时能从NSAP地址的IDI中获得)。 地址前缀被Level 2路径算法以与本域内Level 1信息相同的方式处理。NPDU和一个与 所有域内Level 2中间系统所呈现的前缀相匹配的目标地址在一起,所以可以被此IS传播(使 用Level 2路径)并且可被传送出该区域(假设其他区域的路径功能可以传输NPDU到它的目 的地)。 6.4 地址 在一个路径区域中遵守此标准,中间系统的网络实体则可以被构成,如7.1.1所描述的。 所有的系统都应当能够以各种被ISO 8348/Add.2所指定的格式产生和发送包含NSAP地 址的数据PDU。然而,终端系统的NSAP地址应当以7.1.1中描述的方式构成,从而充分利用 IS-IS路径。在这样一个区域中仍然会有些终端系统具有不符合7.1.1的地址,特别当它们 遇到了更普遍的ISO 8348/Add.2需求,但是它们可以要求附加的配置并且受制于下级路径性 能。 6.5 功能结构 域内IS-IS路径功能可分为以下两组: --子网独立功能(Subnetwork Independent Functions) --子网相关功能(Subnetwork Dependent Functions) 6.5.1 子网独立功能 子网独立功能支持在一对邻居系统间的全双工NPDU传送。它们独立于特定的子网或在它 们之下的数据连接服务操作,除了认可以下两种子网: -普通布局子网,包含点到点的HDLC(高级数据链路控制),多点HDLC和动态建立数据连 接(如X.25,X.21和 PSTN连接) -广播子网,包含ISO 8802局域网。 以下子网独立功能是被标识的: -路径选择,路径选择功能决定NPDU路径。一个路径是连接系统的顺序,是源头ES和目 标ES之间的链路。有关路径域中所有中间系统的所有网络实体的知识的集合被用来确定 路径的存在,并发送NPDU到它的目的地。中间系统的路径选择的成分有以下特定的功能: 1>它摘录并解释了一个NPDU中的路径PCI。 2>它基于目的地址执行了NPDU传送。 3>它管理路径的特征。当一系统或链接在路径中失败时,它寻找一替换的路径。 4>它与子网相关功能对接从而收到关于一已失效SNPA、或一失败系统、或一SNPA或者 系统后来的恢复的报告。 5>当传送功能不能传播NPDU时它通知ISO 8473错误报告运行,例如当目的地不能到达 时或当NPDU需要被分割但它被要求无分段时。 -拥塞控制,拥塞控制管理每个中间系统所使用的资源。 6.5.2 子网相关功能 子网相关功能掩盖了从子网独立功能获得的子网或数据链路服务的特性,它包括: - 在特殊子网上,运用ISO 9542的中介系统功能以实现: 1. 决定邻居网络实体名称和SNPA地址 2. 决定运行中的中介系统的SNPA - 实现在ISO 8473及其附录3中定义的必不可少的子网决定集中功能以实现: 1. 数据链接初始化 2. 7Hop by hop fragmentation over subnetworks with small maximum SNSDU sizes 3. 建立和清除动态数据链接 6.6 设计目标 本国际标准支持以下设计要求:(与ISO/TR 9575中的 OSI路由规定一致的将注明) - 网络层协议兼容性。兼容ISO 8473和ISO 9542。(参见ISO/TR 9575的第7.5节) - 简单终端系统:不需要改变终端系统,也不需要超出ISO 8473和ISO 9575支持的 功能。(参见ISO/TR 9575的第7.2.1节) - 多重组织结构(Multiple Organisations):允许多路径和根据域边界提供的静态路由 信息管理的域。(参见ISO/TR 9575的第7.3节) - 传递性(Deliverability)。接收和传递地址可达的NPDUs使其到达目的地,拒绝地址 不可达的NPDUs。 - 适应性。可适应域内的拓扑变化,但对通信量的变化不适应,除非获知本地队列长度 把通信量负荷分配到若干相同的路径。(参见ISO/TR 9575的第7.7节) - 灵活性。对域内拓扑结构变化的适应周期理所当然是域直径(即域内终端系统间的 最大逻辑距离(logical distance))和数据链接速度的函数。(参见ISO/TR 9575的 第7.7节) - 效率。包括处理和存储的效率。它不产生额外的通信量开销。(参见ISO/TR 9575的 第7.4节) - 健壮性。它可从例如PDUs丢失或临时出错的的暂时错误中恢复,还可以容忍不精确的 参数设置。(参见ISO/TR 9575的第7.7节) - 稳定性。在没有连续的拓扑变化和数据库讹误发生的情况下它在有限时间内对良好的 路由保持稳定。 - 系统管理控制(System Management control)。系统管理能控制许多经参数变换的路 由函数(routeing functions)并检查参数,计数器和路线,然而,它的正确操作 (correct behaviour)不会依赖于系统管理行为。 - 简易性(Simplicity) 。它十分易于进行调整和实现故障隔离(failure isolation)。 - 可维护性。具有检测,隔离和修复大多数可能影响路由运算和数据库的普通错误的 机制。(参见ISO/TR 9575的第7.8节) - 非均匀性(Heterogeneity)。它工作在包容各种网络和系统类型的环境下,有各种 通讯技术和拓扑结构。能在各种各样的子网中工作,包括但不限于:ISO 8802局域 ISO 8208和X.25子网,PSTN网络以及OSI数据链路服务。(参见ISO/TR 9575的 第7.1节) - 可扩展性(Extensibility)。提供增强的路由功能,把原功能作为一个子集。 - 发展(Evolution)。允许在不关闭整个域的情况下实现算法的有序转换。 — 死锁预防。拥塞控制部件可防止缓存死锁。 — 大面积域(Very Large Domains)。由于采用分层路由和非常大的地址空间,它将支持 无限大的域。(参见ISO/TR 9575的第7.2节) - 面积分割修补(Area Partition Repair)。允许应用第2层路径来修补由于第一层 链接或ISs失败而被分割的面积。(参见ISO/TR 9575的第7.7节) - 确定性(Determinism)。路线是物理拓扑而不是历史记录的函数。也就是说,同样的 拓扑结构总能得到同样的路径。 - 误传输保护(Protection from Mis-delivery )。须使误传输一个NPDU的概率尽量低, 例如,把一个NPDU送到错误的ES。 - 实用性(Availability)。因为在分割点大于一的域拓扑逻辑中,不会有一个单独的 错误点来分割这个域。(参见ISO/TR 9575的第7.7节) - 服务等级(Service Classes)。传输延迟的服务等级 代价与ISO 8473 相同 后一个 术语常用来表明根据任一路由规则计算的路径代价,因此,为避免可能的混淆此处避 免用它。,且其包含任意的多路由规则,故而支持ISO 8473的剩余错误概率。 The service classes of transit delay, expense22Expense is referred to as cost in ISO 8473. The latter term is not used here because of possible confusion with the more general usage of the term to indicate path cost according to any routeing metric. , and residual error probability of ISO 8473 are supported through the optional inclusion of multiple routeing metrics. - 鉴定(Authentication)。本协议能传送中介系统的鉴定信息,以提高路由域的安全性 和健壮性。然而,此国际标准支持的这种特殊机制,指支持一种较弱的密码鉴定形式 而这只对偶然的意外错误有保护作用,而不能防止任何严重的安全威胁。将来,算法 可能会提供比密码保护更强大的鉴定形式,而无须改变PDU编码或协议交换机。 6.6.1非目标(Non-Goals) 以下内容不在本国际标准描述的域内ISIS路由协议的设计范围之内: - 通信量适应(Traffic adaptation):不能根据通信负担自动修正路由。 - 源—目的路由:不能根据源或目的决定路由。 - 有保障传输(Guaranteed delivery):不能确保传输所有的NPDUs。 - 第2层子域分割修复(Level 2 Subdomain Partition Repair):不能利用第一层路径 修复第2子层分割。为使整个域完全逻辑连通可达,需要一个连通的第2层子域 - 对所有ES设备同等对待:8.4.5中定义的ES选择函数假定ES已实现了ISO 9542建 议的ES配置定时器选项(Suggested ES Configuration Timer option of ISO 9542)。 一个没有实现以上配置的ES可能会在其本地子网的拓扑结构类型改变时,暂时 丢失连接。 6.7 环境要求(Environmental Requirements) 为了协议的正确运行,本地环境和数据链路层需要特定的保障。 所需环境的保障有: a) 资源分配以保证某最小资源可获得,包括: 1) 内存(编码,数据和缓存); 2) 处理(processing). 所需性能水平的细节参见12.2.5; b) 分配的缓存数量足够完成路由功能; c) 有权使用定时器或通知特定定时器终止; d) 数据破坏的可能性极低。 点对点连接所必须的子网保障是: a) 规定在PDU交换前,源和目的端系统完成启动; b) 侦测远程启动; c) 规定启动完成后接收不到旧的PDUs; d) 规定在一次特殊的启动完成后传送的PDUs都要按时序传送; e) 规定一个特殊子网的SDU传送失败将导致及时地断开与其的双向连接,且此失败 将报告给双方系统; f) 报告其它子网的失败和下级子网的情况(degraded subnetwork conditions)。 广播链路所需的子网保障是: a) 多点传输能力,即根据单一PDU寻址所有连接系统的子集的能力 b) 以下事件是小概率事件,也就是说它们的发生的可能性是如此之小,每一千个 PDUs才会发生一次,以至于不会对性能产生影响: 1) 路由PDU不连续; 2) 由于检查到讹误而丢失路由PDU 3) 接收溢出 c) 以下事件是微小概率事件,也就是说除非它们出现的概率小于四年一次,否则 性能将受到很大的影响。 1) 传送带有未被检测出的错误数据的NPDUs; 2) 无对象连接(Non-transitive connectivity),即系统A可以接收系统B 和C,但系统B不能接收系统C 以下服务被假定不能从广播链路获得: a) 失败情况和导致NPDU丢失的下级子网情况的报告,例如接收失败。路由功能将 解决这些失败。 6.8 子网独立元件的功能结构 (Functional Organisation of Subnetwork Independent Components) 子网独立功能分为许多特殊的功能块。本小节将简要地描述这些功能块,而第7章将 详细地就此展开论述。本国际标准采用5.1节介绍的ISO/TR 9575路由模型的功能分解。 由于后者更为普遍且不象本协议一样是面向域内路由功能的细节描述的,因此两者的功能 分解不完全相同。功能分解见于图2。 6.8.1 路由(Routeing) 路由过程为: - 决定过程(Decision Process) - 更新过程(Update Process) 注意 这包括在ISO/TR 9575中定义的信息收集和发布组件。 - 转发过程(Forwarding Process) - 接收过程(Receive Process) 6.8.1.1 决定过程 此过程计算到域内每一个目的地地路径。它对第1层和第2路由分别执行且对中介 系统支持地路由算法在每一层内分别执行。它使用链接状态数据库,来计算从本IS到域 内所有其它系统的最短路径,链接状态数据库是由域内其他中介系统发出的链接状态PDUs 的信息组成的。(如图2中的9) 链接状态数据库由更新过程维护。决定过程的执行产生 [电路,邻居]对(即所知的邻域(adjacencies)),它们存储在转发信息库中,用于转发 NPDUs的转发过程。 决定过程使用的路由数据库的几个参数由此设备(the implementation)决定。 这些参数包括: - IS区域内中介系统和终端系统的最大数量 - IS邻居中介系统和终端系统的最大数量,等等,以使数据库的大小合适。 还有如下参数: - 每一线路的路由算法(routeing metrics for each circuit); - 定时器(timers),可用于改善性能。系统可设置的全部参数列在第11节 6.8.1.2 更新过程 此过程建立,接收和传播链接状态PDUs。每个链接状态PDUs包括的信息有:产生 链路状态PDU的IS的邻域的身份和路由运算结果(routeing metric values)。更新过 程从接收过程接收链接状态和Sequence Numbers PDUs(如图2中的4)。它在路由信息 数据库中设置新的路由信息(图2中的6),并传播到其它中介系统(图2中的7和8)。 更新过程的大致特性如下: - 链路状态PDUs的产生是拓扑结构变化的结果,也具有周期性(periodically)。它们 也可能是由系统操作(如改变一条线路的路由算法(routeing metrics for a circuit)) 间接产生的。 - 第1层链路状态PDU传播给一定范围内所有的中介系统,但不传播出此范围。 - 第2层链路状态PDUs传播给域内的所有第2层中介系统。 - 链路状态PDUs不传播到域外。 - 当路由通信量超过其产生的数量,更新过程通过一套系统管理参数强行设置一上界 6.8.1.3 转发过程 此过程提供和管理把NPDU转发到所有目的地必须得缓存。它经由接收过程获得要 转发的ISO 8473 PDUs(如图2中的5)。它在适当的 进行查找。选择基于ISO 8473的 QoS Maintenance选项(option)的路由算法来选定适当的转发数据库。 It performs a lookup in the appropriate33The appropriate Forwarding Database is selected by choosing a routeing metric based on fields in the QoS Maintenance option of ISO 8473. 转发数据库(图2中的11)判定可能的输出邻域用于转发到给定的目的地,选择 一个邻域(图2中的12),向ISO 8473的机器发出错误指示(图2中的14)并向ISO 9542的机器发出信号,要求重发PDUs(图2中的13)。 6.8.1.4 接收过程 接收过程从以下源获得输入: - 通过域内路由的NPID获得的PDUs(图2中的2); - 从ISO 9542 PDUs 接收(图2中的1)的由ESIS协议传送的路由信息; - ISO 8473协议机器(图2中的3)传递给路由函数的ISO 8473数据PDUs; 它还执行适当的动作,包括把PDU传给其他相同的函数(例如转发过程,图2中的5) 7 子网独立功能 本章描述路由函数使用的算法和相关数据库。为系统管理目的定义的管理对象和管理属 性(managed objects and attributes)将在第11章描述。 以下是子网独立功能内部的进程和数据库。每一个进程或数据库标题后的圆括号内 是必须保持(keep)此数据库的系统类型。系统类型分为L2(第2层中介系统)和L1 (第1层中介系统)。注意:一个第2层中介系统在它的本域(home area)内也是一个 第1层中介系统,因此必须象维护第1层数据库一样维护第2层数据库。 过程: - 决定过程(L2,L1) - 更新过程(L2,L1) - 转发过程(L2,L1) - 接收过程(L2,L1) 数据库: - 第1层链接数据库(L2,L1) - 第2层链接数据库(L2) - 邻近数据库(Adjacency Database)(L2,L1) - 线路数据库(Circuit Database)(L2,L1) - 第1层最短路径数据库(L2,L1) - 第2层最短路径数据库(L2) - 第1层转发数据库,每路由算法(routeing metric)一个(L2,L1) - 第2层转发数据库,每路由算法一个(L2) 7.1 寻址(Addresses) 网路服务程序访问点(NSAP:Network Service Access Point)地址和系统的网络 的长度数量(length quantities)是可变的,这符合ISO 8348/Add.2的要求。ISO 8473 PDUs中包含的相应的NPAI和此PDUs(如LSPs和IIHs)必须首选二进制编码;这种信息 的根本(underlying)句法也许是抽象的二进制的句法或抽象的十进制的句法。此协议将 可能用到任一AFIs(Authority and Format Indicator)和他们相应的DSP语法。 7.1.1 路由域内系统的NPAI 图3 显示了一个NSAP地址编码或网(NET)的结构。 以下将用由此国际标准描述的协议来解释NPAI的结构: 范围地址(Area Address)——路由域内一定范围的地址,一个可变字长的量,包括NPAI 的全部优先部分(entire high-order part),不包括下面定 义的ID和SEL 字段: ID(系统标志符) ——长度范围从1到8字节(octets)变化。每个使用此协议的路由 域的ID字长范围取一定值,域内所有中介系统的系统IDs将使 用此长度。假定至少有一个允许范围内的值能被接受,一组被某 设备(implementation)支持的ID长度称为该设备的设备选择 (implementation choice)。路由域的管理者必须确保域内所有 的ISs能使用为该域所选的ID字长。 SEL(NSAP 选择开关)—— 一个八位字段,用作接收PDU的实体(entity)(可能是传输 实体也可能是中介系统网络(Intermediate system Network entity)实体本身)的选择开关。它是最不重要的NPAI的后 八位(the least significant (last) octet)。 7.1.2 系统配置(Deployment of Systems) 为使本国际标准定义的路由协议正确运行,路由域内配置的系统必须满足以下要求: a)对所有系统: 1) 域内的每一系统必须有唯一的系统ID,即不允许同一域中的两个系统有相同 的ID值。 2) 每一个域地址必须在全球开放系统互连环境(globe OSIE)内唯一,即一个 给定的域地址只能对应唯一的域。 3) 拥有同一给定的域地址值的所有系统必须在同一域中。 b)对中介系统的附加条件: 1) 域内每个第2层中介系统必须有唯一的ID字段,即不允许一个路由域内的两 个第2层ISs拥有相同的ID字段。 c)对终端系统的附加条件: 1) 不允许同一域内的两个终端系统有除SEL字段外完全相同的地址 d)只有当一个终端系统的域地址与邻域IS的手册里的入口地址(entries in the adjacent IS's manual)Area Addresses parameter相同时,它才能与第1层连接(be attached to)上。 强制要求7.1.2的配置是路由域管理的职责。本国际标准定义的协议假定这些要求得到 了满足,但是没有对其检查的手段。 7.1.3 手动域寻址(Manual area addresses) 一个IS对若干同义域地址的使用是通过管理参数-手动域地址(manual Area Addresses 来适应的。 The use of several synonymous area addresses by an IS is accommodated through the use of the management parameter manual Area Addresses 这个参数由系统管理为每个第1层IS在本地设置;它包含一个与IS相关的所有同义域 地址列表,表中包括IS自己的NET所包含的域地址。每一个第1层IS分配它的manual Area Addresses给它的第1层LSP(Link State Protocol Data Unit)的域地址字段(Area Addresses field),在就允许第2层IS产生一个所有给定域支持的地址的合成列表。第2 层IS把合成列表放入它们的第2层LSP的域地址字段,以此在第2层子域内依次广播该合成 列表,这样就把信息发布到了与整个路由域相关的所有域地址上。在两个第1层IS间建立邻 域的过程要求至少有一个地址域为两个manual Area Addresses列表所共有,且在两个第1 层IS和一个终端系统和间建立一个邻域的过程,要求终端系统的域地址与IS的manual Area Addresses列表中的一个入口相匹配。因此,系统管理的职责是确保每一个与某IS相关的域 地址被包括在其manual Area Addresses列表中。特别是,与某给定第1层IS邻近的所有 ES和第1层IS必须包括在其中。如果一个8473 PDU的目的地址的域地址字段或它的源路由 域(source routeing field)的下一个入口的域地址字段不存在于接收此PDU的第1层IS 的域地址参数表(parameter area Addresses)中,那么目标系统不会在(not reside in ) 此IS的域(area)中。这样的PDU将采用第2层路由(level-2 routeing)。 7.1.4 第2层地址编码(Encoding of Level 2 Addresses) 当一个完整NSAP地址采用ISO 8348/Add.2中指定的首选二进制编码方式来编码时,IDI (Initial Domain Idendifier)的前几位(leading digits)被填充(如果需要),以此获 得AFI(Authority and Format Indicator)指定的最大IDP(Initial Domain Part)长度。 一个第2层地址前缀是一个完整NSAP地址的前端子串(leading sub-string),因此,它可 以匹配一组拥有相同前端子串的完整的NSAP地址。然而这种切断匹配(truncation and matching )在由NSAP地址的抽象句法描述(represented by the abstract syntax)的NSAP 上完成,而不是编码形式(and hence padded)上的。前缀匹配的例子可参见附录B的B.1。 LSP中的第2层地址前缀与完整NSAP地址的编码方式相同,除非前缀的末端进入IDP. 这时该前缀直接编码为无填充的四位信息串。 7.1.5 地址比较(Comparison of Addresses) 除非另外声明,地址的数字比较将按照地址的编码形式进行,给较短的地址添零,使其 与较长的地址等长,然后进行数字比较。这种比较适应于NSAP地址,网络实体标题(Network Entity Titles )SNPA地址。 7.2 决定过程(The Decision Process) 此过程使用链接状态数据库的信息来计算转发数据库,而转发过程从转发数据库获得每 个NPDU的下一转发的正确信息。第1层链路信息数据库用于计算第1层转发数据库,而第2 层链路信息数据库用于计算第2层转发数据库。 7.2.1 输入和输出(Input and output) 输入 - 链路状态数据库:它是最新的链路状态PDU的一组信息,而这些链路状态PDU来自所有已 知的中介系统(对第1层而言在本域内,对第2层而言在第2层子域内)。次数据库从更新过 程获得信息。 - 事件通告:这是更新过程的一个信号,表明域内某处的一个链接已发生了变化。 输出 - 每路由算法(routeing metric)一个第1层转发数据库; -(仅在第2层中介系统)每路由算法一个第2层转发数据库; -(仅在第2层中介系统)若域内第1层链接最低ID可达,第1层决定数据库把域内第2 层中介系统的标志符通告第2层更新过程 -(Level 2 Intermediate systems only) The Level 1 Decision Process informs the Level 2 Update Process of the ID of the Level 2 Intermediate system within the area with lowest ID reachable with real level 1 links (穿过第2层子域的路径组成的虚连接是不允许的) -(仅在第2层中介系统)如果中介系统是部分指定(Partit ion Designated)第2层中介 系统,第2层决定过程通知第1层更新过程,默认路由算法的值(values of default routeing metric). -(Level 2 Intermediate systems only) If this Intermediate system is the Level 2 Intermediate system in this partition, the Level 2 Decision Process informs the Level 1 Update Process of the values of the to and ID of the partition designated level 2 Intermediate system in each other partition of this area. 7.2.2 路由算法(Routeing metrics) 对应于ISO 8473 QoS维护组(QoS Maintenance field)定义的四种可能的服务质量 (orthogonal qualities of service),有四种路由算法。从一个中介系统发出的每一个线 程将被系统管理(System management)分配一个值代表一个或多个算法(metric) 这四个算法如下: a) 缺省算法:能被域内的每一个中介系统理解。每个线程有分配给其算法的一个实际值 (positive integral value)。此值可能于线程中的任一目标函数有关,但根据习惯, 它可用来测量线程处理通信量(如每秒的吞吐量)的能力。数值越高表明容量越低。 b) 延迟度量:此度量测量相关线程的传输延迟。这是一个可选的度量,如果它被分配给 一个线程,就会有一个正整的值。越高的值意味着越长的传输延迟。 c) 花费度量: 此度量衡量相关线程使用的金钱上的花费。 这是个可选的度量,如果它被 分配给一个线程,就会有一个正整的值。这个国际标准中使用的路径计算算法要求所有的 线程的任一个度量都具有一个正值。因此,一个花费度量值为0的免费线程是不可能的。 按惯例,通常1才指一个免费的线程。越高的值意味着越大的金钱花费。 This metric measures the monetary cost of utilising the associated circuit. It is an optional metric, which if assigned to a circuit shall have a positive integral value22The path computation algorithm utilised in this International Standard requires that all circuits be assigned a positive value for a metric. Therefore, it is not possible to represent a free circuit by a zero value of the expense metric. By convention, the value 1 is used to indicate a free circuit. . Higher values indicate a larger monetary expense. d) 错误尺度(Error metric):此尺度测量整个线路的剩余错误概率。它是可任意选择的 尺度,当指定于一个线路时有一个非零值。高数值表明该环路有未检测到的错误的概率较 高。 注意-决定进程将尺度值简单的加在后面。因而,这个尺度值的选定是很重要的。 每个中间系统应该能够根据默认的尺度来计算路由。任何一个或全部其它尺度的支持 都是任选的。如果一个中间系统支持基于某个尺度的路由计算,它的更新进程应该在链路 状态分组中向整个线路报告这个尺度值;否则,IS将无法汇报此尺度。 当决定进程为一个任选的路由尺度计算路径时,它只用一个向相应尺度报告的值来使 用链路状态分组。如果任何一个IS线路的尺度不包含任何值,系统将不计算基于此尺度的 路由。 注意-上述情况的一个结果是一个经过默认尺度可到达的系统是经过其它尺度无法到 达的。 看7.4.2可得到转发进程如何根据ISO 8473 QoS中的维护选项的内容来选择尺度的描述。 以上四种尺度中的任何一个都有两种类型:内部尺度或外部尺度。内部尺度用来将通往 内部目的的链接/路由描述成路由域。外部尺度用来将通往外部目的的链接/路由描述成路由 域。尺度的这两种类型是不能直接比较的,除非内部路由相对外部路由来说总是首选的。换 句话来说,即使外部路由整个耗费更低的话也会选择内部路由。 7.2.3 广播子网络 一个广播子网络不应被看成是一个完全连接的拓扑结构,它应被看成是一个和每一个附 属系统都有连接的伪网点。附属系统只报告与伪网点的连接。这个指定的中间系统用来代表 此伪网点,它将使每一个支持的路由尺度为零,构造链路状态协议数据单元来报告与广播子 网中所有系统的连接。这些路由尺度在通过与伪网点的连接被指定后被设为零值。在伪网点 中指定一个非零值,链路状态分组有使真实值翻倍的效果。 伪网点会通过指定中间系统的源标志符识别,源标志符后面有一个被指定中间系统赋值 的非零伪网点标志符。此伪网点标志符对指定中间系统来说是唯一的。 指定中间系统分别在第一层和第二层定义。它们就是我们所知的局域网第一层指定中间 系统和局域网第二层指定中间系统。见8.4.4。 如果一个中间系统或它在广播子网上的SNPA被关闭,或者有更高优先级的中间系统已经 接管了此功能,该中间系统就成为指定中间系统。当一个中间系统不作为指定中间系统时, 它通过将伪网点链路状态协议数据单元剩余值设为零,并进行7.3.16.4中描述的操作,来在 整个网络内清除伪网点链路状态协议数据单元。一个局域网第一层指定中间系统清除第一层 链路状态协议数据单元,一个局域网第二层指定中间系统清除第二层链路状态协议数据单元。 如果一个中间系统既不作为第一层指定中间系统,也不作为第二层指定中间系统,它将清除 两层的链路状态分组。 当一个中间系统成为指定中间系统,同时它有同一层的链路状态协议数据单元,该协议 数据单元是由前一个指定中间系统为线路发出的,它将像前文所述一样,在整个网络内清除 链路状态协议数据单元。 7.2.4链接 只有两个中间系统中的一个通过它们的任一个SNPs可直接到达另一个,我们才可以说这 两个中间系统是相邻的。在一个连通的子网(点对点或一般的拓扑结构)中,当连接建立或 'hello'协议数据单元交换时,问题中的两个中间系统应该确定它们的相邻关系。然而,一个 故障的中间系统可能会报告与另一个中间系统是相邻的,而实际上并不是这样的。为了查出 此类错误, 决定进程检查以上连接在链路状态分组上是否如两个中间系统所报告的那样。如 果一个中间系统排除某个连接,它将不在它的链路状态协议数据单元中描述它。在子网广播 中,此类错误应该被指定的中间系统所确认,该中间系统有责任确定所有的中间系统都与子 网相连接。该中间系统在链路状态协议数据单元中包含这些中间系统(没有其它的),此协议 数据单元是为代表子网的伪网点产生的。 7.2.5 同一系统中的多链路状态分组 更新进程为了保存连接带宽和处理,可以将一个简单的逻辑链路状态分组分成许多独立 的协议数据单元(见7.3.4)。另一方面,决定进程将特别注意顺序号为零的链路状态分组。 如果顺序号为零且生存期大于零的链路状态分组在指定系统中不存在,那么决定进程将不应 该处理任何存储在这个系统中的具有非零序列号的链路状态分组。 下列信息只能从顺序号为零的链路状态分组中获得。决定进程将忽略任何具有非零序列 号的链路状态分组。 a)链路状态分组数据库超载位的设置。 b)中间系统类型域的值。 c)区域地址选项。 7.2.6 路由算法概述 决定进程使用的路由算法是路径最短的算法。比如说,这些算法是由所有的中间系统在 路由范围中独立且并发运行的。一个链路状态分组的内部范围的路由是发生在一个站对站的 基础上的:即算法只是决定下一站,而不决定一个数据链路状态分组到达目的的整个路径。 为了保证在路由范围中每一个中间系统能算出正确和一致的路由,国际标准是依靠以下性质: a)路由范围中的所有中间系统统一使用同样的拓扑信息; b)路由范围中的每一个中间系统在输入相同的拓扑结构和尺度时产生相同的路由组。 第一个属性对防止出现不一致的路由是必要的,它是潜在的环型路径。第二个属性是为 了实现6.6中所规定的决定论所必须的。 一个系统运行SPF算法可在路由域中找出一组通往目标系统的合法路径。这组路径可由 下述几种路径组成: a)一个有最小尺度数的简单路径:这些路径被认为是耗费最小的路径; b)一组有相等的最小尺度数的路径:这些路径被认为是耗费同样最小的路径;或者 c)一组到达比本地系统更接近目标系统的协议数据单元的路径:被称为向下流程的路径。 不具备上述几种情况的路径是不合法的,将不被使用。 决定进程在确定路径时,也会确定通往目的每条路径的下一站。此邻接关系沿用前面进 程用来转发协议数据单元的数据库。 每一个路由层使用某个支持的路由尺度计算各自的路由。既然有四种路由尺度和两个层, 系统可以使用多种最小路程优先的算法。例如, --如果一个中间系统是一个第二层的中间系统,支持所有四种尺度,用所有尺度计算 最小路程耗费时,它将实现此算法八次。 --如果一个中间系统是一个第一层的中间系统,支持所有四种尺度,并附加计算向下 流程路径,它将实现此算法4×(邻居数+1)次。 在国际标准中条款12的动态及静态适应条件下,任何最小路程优先算法的实现都是允许 的。推荐的实现方法在附录C中有详细描述。 7.2.7多余路径的移除 When there are more than maximumPathSplits minimal cost paths to a destination, this set shall be pruned until only maximumPathSplits remain. The Intermediate system shall discriminate based upon: 注意-为了顺应6.6中定义的决定论,路径的精确优先级应被确定下来。 --邻接类型:连接到中间系统的路径或第二层可到达的地址前面的邻接保持对其它邻 接的优先权。 --尺度数:较小尺度数的路径对较大尺度数的路径保持优先权。通过尺度数,我们可 以知道沿着路径到达目的的尺度总数。 --邻居标志符:在两个或更多路径与同一类型的邻接相连时,具有较低邻居标志符的 邻接对具有较高邻居标志符的邻接保持优先权。 --线路标志符:在两个或更多路径与同一类型的邻接相连,并且邻居标志符相同时, 具有较低线路标志符的邻接对具有较高线路标志符的邻接保持优先权,它的线路标志符为下 列几种值: 非广播线路的7ptpt线路标志符, 运行第一层决定进程时广播线路的711线路标志符, 运行第二层决定进程时广播线路的712线路标志符。 --局域网地址:当两个或更多的邻接的类型,邻居标志符和线路标志符都相同时(例如 一个系统在同一条线路上有多个局域网适配器)时,具有较低局域网地址的邻接对具有较高局 域网地址的邻接保持优先权。 7.2.8 健壮性检查 7.2.8.1 在整个过载的中间系统中计算路由 决定进程将不使用从IS到邻接中间系统的连接,该IS的链路状态分组有链路状态分组 数据库检测设备。当过载的IS没有完全的路由信息库时,这样的路径可能会引入循环。在路 径保证没有循环的情况下,决定进程仍然使用与终端系统邻接的连接。 7.2.8.2 双向连通性检查 除非两个中间系统都报告它们的连接,否则决定进程将不使用该连接。 注意--此检查不适用于和终端系统的连接。 报告连接指出默认的路由尺度至少有一个定义值。在一个连接中,同一个尺度的两个端 点允许有两个不同的定义值。因此,路由可能是不对称的。 7.2.9 转发数据库的建立 转发数据库需要的关于路由尺度k的数据,是每一个系统n的一系列邻接。 7.2.9.1 根据一个第一层IS辨认最近的第二层IS 对每一个路由尺度中间系统需要一条附加信息:根据此路由尺度到达的距最近的第二层 中间系统的下一站。第一层中间系统应该对尺度k确定整套套接的第二层中间系统R,使对 尺度K中间系统R的耗费最小。 If there are more adjacencies in this set than maximumPathSplits, then the IS shall remove excess adjacencies as described in 7.2.7. 7.2.9.2 第二层中间系统中套接标志位的设置 如果一个第二层中间系统在对尺度K计算第二层路由后,发现使用该尺度不能到达任何 其它区域,它将: --为尺度K设置套接标志位为假; --重新生成它的第一层链路状态分组,其分组号为零;同时 --根据7.2.9.1中描述的算法为第一层中间系统对尺度k计算最近的第二层中间系统, 并将其插入到合适的转发数据库中。 注意--更新进程将检查每一个尺度K的套接标志位,使它能够在其链路状态协议数据单元 的ATT域中报告该值。 如果一个第二层中间系统在对尺度K计算第二层路由后,发现使用该尺度能够到达至少 一个其它区域,它将: --为尺度K设置套接标志位为真; --重新生成它的第一层链路状态分组,其分组号为零;同时 --将与最近的第二层中间系统对应的尺度K的转发数据库入口设为本身。 7.2.10 修补分割区的信息 一个区域可能会因为一条或多条连接的错误变得支离破碎。然而,假设第二层子域本身 是完整的,如果每一个分区都与第二层子域有连接,它将有可能经由第二层子域修补。见图 4 系统A-I、R及P都在区域n中。当D和E的连接断开时,区域将变得分割的。在每一 个分区中,从第二层中间系统中选出分区指定的第二层中间系统。在分区1中是P,在分区2 中是R。第一层修补通路建立在这两个第二层中间系统之间。注意现在修补的连接是在P和R 之间,而不是在D和E之间。 系统指定的第二层中间系统使用通往其它分区的转发网络协议数据单元,修补分区。它们 行使第一层中间系统的功能,并且向每一个分区指定的第二层中间系统公告第一层链路状态 分组中的邻接关系。这就是众所周知的虚邻接和虚连接。这样其它第一层中间系统通过分区 指定的第二层中间系统就可以计算它们通往其它分区的通路。这样分区指定的第二层中间系 统在8473数据网络协议数据单元中,把它的虚网络实体头标当作源NSAP和把邻接分区指定 的第二层中间系统虚网络实体头标当作目的NSAP,并压缩第一层网络协议数据单元,然后转 发它们。以下章节将对此有更详细的描述。 7.2.10.1 分区检测和第一层虚连接的建立 通过在整个区域的操作,第二层中间系统可以检测出第一层区域的分区。为了参与分区 修补进程,这些第二层中间系统必须行使第一层中间系统的功能。无论是两个和更多的第二 层中间系统在第二层链路状态分组中报告它们成为分区指定的第二层中间系统,则给定的区 域的分区将存在。反过来说,当只有一个第二层中间系统报告时,整个区域就不会被分割。 分区指定的第二层中间系统就完成了分区修补。分区指定的第二层中间系统的选取,在下一 章有详细描述,应该在探测之前完成,这样修补进程才能开始。 为了修补第一层区域的分区,分区指定的中间系统产生一个虚网络实体来代表分区。这 个虚网络实体的头标由第一列地区地址、第二层连接状态协议数据单元和分区指定的第二层 IS的标志符组成。这个IS将同时用记录在检验属性中的分区网络来建立一个通往每一个分 区指定的第二层IS的虚拟连接(用一个新的虚邻接关系处理对象来表示)。这些虚联接是分区 的修补路径。第二层中间系统通过在它的第一层链路状态协议数据单元的中间系统邻接关系 域加入每一个邻接的分区指定的第二层中间系统的标志符来向整个第一层区域报告。这些中 间系统邻居应该将虚连接标志位置成真。这个虚连接的尺度值应该是从系统的第二层路由数 据库中获得的默认尺度值d(N),N表示邻接分区指定的第二层IS经由第二层子域。 为了探知第一层区域的分区和创立修补通路,一个分区指定的第二层中间系统在完成第 二层最小路程计算后应该执行下列步骤: a)检查所有第二层中间系统的第二层链路状态协议数据单元 略 如果发现匹配并且分区指定的第二层中间系统的标志符与这个系统的标志符不相等,将 分区指定的第二层中间系统的认证以及到那个中间系统的默认尺度的路径耗费,通知系统中 的第一层更新进程。 b)继续检查第二层链路状态分组直到在其它的分区中找到所有的分区指定第二层中间系统, 并且通知其它分区指定的第二层中间系统的第一层更新进程,这样 1)第一层链路状态协议数据单元可以被传播到所有其它的分区指定的第二层中间系统(经由 第二层子域) 2)所有其它的分区指定的第二层中间系统应该在系统的第一层链路状态协议数据单元被告知 邻接关系。如果一个分割已结束,该中间系统应该通过消除虚连接关系,消除网络虚连接实 体和虚连接。在运行完分区检测及上述的虚连接算法后,并且另一个分区指定的第二层中间 系统的在它的第一层链路状态协议数据单元的虚连接没有被检测到,这个分区指定的第二层 中间系统应该检测到一个修补完的分割。 如果这样的一个虚邻接关系被创建或销毁,中间系统将产生一个"分区虚连接被改变"的 通知。 7.2.10.2分区指定第二层中间系统的选择。 这个第二层中间系统应该是这样的系统: --在它的链路状态分组中使用默认的尺度,接着报告本身; --在实现分区修补选项时报告本身; --像这个区域第一层中间系统那样工作; --不通过任何虚连接经由第一层就能到达; --有最小的标志符。 在第一层决定进程结束后和第二层决定进程决定第二层路径之前,通过运行决定进程运 算选择分区指定第二层中间系统。 为了保证正确的选择分区指定第二层中间系统,通过检查那些虚连接位标志位为假的第 二层中间系统邻居,决定进程只使用在这个区域中的第一层链路状态分组来运行。这个决定 进程运行的结果得到了所有的不通过虚连接路径而通过第一层就可以到达的第一层中间系 统。通过这种设置,第二层中间系统将从满足下列条件的中间系统中选择: --IS类型(在第一层链路状态分组中所报告的)是第二层中间系统; --ATT指出必须具有默认尺度; --P位指示支持分区修复选项; --ID必须是第二层中间系统的子集中最小的。 7.2.10.3 分区地址的计算 A Level 2 Intermediate System shall compute the set of partitionAreaAddresses, which is the union of all manu-alAreaAddresses as reported in the Level 1 Link State PDUs of all Level 2 Intermediate systems reachable in the partition by the traversal of non-virtual links. If more than MaximumAreaAddresses are present, the Intermediate system shall retain only those areas with numerically lowest Area Address (as described in 7.2.11.1). If one of the local system's ManualAreaAddresses is so rejected the event "Manual Address Dropped From Area" shall be generated. 7.2.10.4虚连接中网络协议数据单元的封装 通过虚连接的传播的所有的网络协议数据单元必须以ISO 8473的标准来封装。它必须包 含分区指定第二层中间系统的虚网络实体头标,在网络协议数据单元前即在源地址域中加此 头标,在目的地址域中加邻接的分区指定第二层中间系统的虚网地址。在双方NSAP中的SEL 域中都应包含IS-IS路由选择值。输出协议数据单元的服务质量维护域应被设成表明转发使 用默认路由尺度的值。(见32页表1) 为了标识数据和错误报告网络协议数据单元,外部的网络协议数据单元应该从内部的网 络协议数据单元中拷贝分割允许和错误报告位以及生存期域。当内部网络协议数据单元未被 封装,它的生存期域将被设成外部网络协议数据单元的生存期域的值。 对LSP和SNP分割允许标志位应该设为真,错误报告标志位设为假。生存期域被设为255。 当一个内部LSP未被封装,它的剩余生存期将消耗255与外部网络协议数据单元的生存期域 的值的差的一半。 数据网络协议数据单元未被封装之前不允许被分割,除非它的长度(包括分组头)超过 65535字节,在这种情况下,原始数据网络协议数据单元应该分割后封装。在任何情况下, 为了在分区指定第二层目标中间系统能够将其重新组合并解封装,在传输之前必须依据ISO 8473标准进行分割。在7.4.3.2中,封装作为发送进程的一部分有更详细的描述。在7.4.4 中解封装作为接收进程的一部分有更详细的描述。 7.2.11 区域地址的计算(Computing of area addresses) A Level 1 or Level 2 Intermediate System shall compute the values of areaAddresses (the set of Area Addresses for this Level 1 area), by forming the union of the sets of manualAreaAddresses reported in the Area Addresses field of all Level 1 LSPs with LSP number zero in the local Intermediate system's link state database. 注意--这包括所有的源系统,不管现在是否能够达到。它还包括本地中间系统本身的 链路状态分组为零的链路状态分组。 注意--这个设置对于数据库内容的每一个改变,没有必要马上更新。计算可以延续到 下一个决定进程运行之前。 If more than MaximumAreaAddresses are present, the Intermediate system shall retain only those areas with nu-merically lowest Area Address (as described in 7.2.11.1). If one of the local system's ManualAreaAddresses is rejected the event "Manual Address Dropped From Area" shall be generated. 7.2.12 路由优先级(Order of Perence of Routes) 如果一个中间系统参加第一层的路由并且通过检查区域地址确定给定的目的的是可以到 达的,那么将只通过第一层路由到达目的。特别的: a) 第一层路由总是建立在内部尺度基础上的。 b) 在这个区域的路由中,那些支持服务质量申请的路由优先于不支持的。 c) 支持相同服务质量的路由,最小路径优先。对于最小路径的确定,如果一个支持特别服 务质量的路由是可用的,将使用它,否则将使用默认尺度。 d) 在相等成本的路线之间,分区方法(spilitting)可以被应用。 如果一个IS在第一层路由中,但不在第二层路由中,那么就必须找到一个目的地址至 少与第二层IS相连,则目的地址可以通过以下方法路由到第二层IS: a) 第一层路由总是根据内部的标准。 b) 在连接第二层ISs的路线中,支持所要求的QoS的路线是被优先考虑的。 c) 在相同的QoS情况下,最短路线是被优先考虑的。在决定最短路线时, 若路由上预先设定的QoS是被允许的,则使用这个设置,否则将使用缺 省设置。 d) 在相等成本的路线之间,分区方法(spilitting)可以被应用。 如果一个IS参与第二层的路由并且与第二层相连,则这个IS(通过寻找 地区地址)发现已给定的目的地址在这个区域中并不可达,寻路这样的目 的地址可如下所述: a)若路由路线上预先设定的QoS是被允许的,则优先使用这个设置所在 的路由路线。 b) 若路由路线上的QoS都一样,优先级这样设置: 1) 最高优先级:有路线符合寻路领域中的地区地址 2) 中等优先级:有路线符合带有内部标准的可达地址前缀。若有多 个目的地址符合上述要求,最长的前缀优先。 3) 最低优先级:有路线符合带有外部标准的可达地址前缀。若有多 个目的地址符合上述要求,最长的前缀优先。 c) 当优先级相同的路线选取时,最短路线优先。在决定最短路线时,支 持预先设置的QoS的路线优先;否则将使用缺省的设置。在相等成本 的路线之间,分区方法(spilitting)可以被应用。 7.3 更新过程 更新过程是为了生成和繁殖链环状态信息,并且要可靠的遍及路径领域。 判定过程(Decision process) 使用链环状态信息计算路径。 7.3.1 输入和输出 输入 --邻接数据库维持在子网络依靠的功能。 --可达成的地址管理目标维持在系统管理层次。 --邻接数据库变化的通知由子网络依靠的功能实现。 (环路向上,环路向下的,邻域向上,邻域向下的,以及成本改变事件) --附加帧 (仅适用于第2层的间接系统) 此帧指示这个系统是否能到达其他领域(穿过第2层路由)。 --连接状态的PDUs 接收过程传递连接状态的PDUs 到更新过程,并指示出它所在的邻域。 ――PDUs 的序号  接收过程传递PDUs的序号到更新过程,并指示出它所在的邻域。 ――其他分割 在第2层的判定过程(指对于第1层的更新过程,但是建立在第2层的间接系 统之上)能够使一系列被指定的分割有效。 输出 ――连接状态数据库 ――输出信号到达判定过程的事件,此事件或者是接收一个具有信息的LSP,或是 清除一个数据库中的LSP。如果被接收的LSP有一个不同的序列号,又或是其生存 寿命(Remaining Lifetime)具有一可变化的长度部分,就不应产生输出事件。 注―― 一个执行功能会比较根据序列号的变化存储的LSP的校验和,与之比较的是, 接收到的校验和。若其不同,则假定变化的长度部分不同, 并要把这一事件告知判定过程。若其相同,一个8位对照要产生,用以决定是否报 告此事件。 7.3.2 局部链环情形的产生 更新过程是为了产生一系列的LSP。产生一系列的LSP的目的是通知其他的间接系 统(在第1或第2层的子域中)这个连接的状态,此连接是在间接系统和其邻系统 之间的。在间接系统中的更新过程,在以下的环境中产生一个或多个新的LSP: A) 计时期满的时候; B) 当收到来自邻域数据库的变化(Adjacency Database Change) 的子网依赖性功能 (Subnetwork Dependent Functions) 的通知; C) 当有一些网络管理特征改变时会引起LSP信息的改变(例如,在寻址手册中的 改变)。 7.3.3 手册路由信息(Manual Routeing Information)的应用 手册路由信息是来自系统管理的路由信息。可分为两类: a) 手册邻域 b) 可达地址 7.3.3.1 手册邻域(Manual Adjacencies) 一个终端系统的邻域可能是由系统管理产生。这样的一个邻域被定义为 手册终端系统邻域。为了产生一个手册终端系统邻域,系统管理将按以下分类: a) 可从邻域到达的系统Ids b) 相关的SNPA地址 这些邻域将以带种类手册邻域的形式和邻近系统种类的终端系统的形式出现。 这些 邻域向更新过程提供输入,类似于通过ISO 9542 操作产生的邻域的形式。当状态 改变到达上层邻域时,信息被包括在间接系统自己的第1层LSPs中。 注――手册终端系统邻域不应被包括在代表虚结点的第1层LSPs中,因为那将预 示在广播子网中的所有间接系统具有同样的一系列手册邻域被这个环路定义。 被指派到手册邻域的规则必须是内部规则。 7.3.3.2 可达地址 第2层间接系统应该拥有许多由系统生成的可达地址,来管理目标。 当一个可达地址处于状态On下并且其产生环路同样处在状态On下时,其定义的路 由测量标准的名字和每个都将包括在这系统产生的第2层 的LSPs内。 被分配给可达到的地址作为管理对象的目标的测量标准既可是内部的,也可是外部 的。 当全部下列条件都实现的时候,可达到的地址被认为是积极的: a) 父环路处于状态On下; b) 可达到的地址处于状态On下; c) 父环路属于广播型或处于数据连接状态运行中。 当一个可达地址由不活跃状态变为活跃状态时,将会使得更新过程包含第2层LSPs 的可达地址的地址前缀,它是由7.3.9的系统产生的。 当一个可达地址由活跃状态变为不活跃状态时,将会使得更新过程中不再包含第2 层LSPs的可达地址的地址前缀。 7.3.4 多层LSPs 由于一个LSP的缓冲区的大小是受限制的,它不可能包含所有系统邻域的信息。在 这种情况下,系统可以用多层的LSPs来传递这信息。 在同一个set中的每一个LSP具有同样的源ID域(见第9条),但是他们各自的LSP 号域却不一样。虽然几个不同的LSPs要独立的被更新过程处理,但是允许运用管 道的方法对拓扑分配进行更新。不过,决定过程可以因为他们全部都使用相同的 source ID来识别他们全部都附属于同一开始系统。 注―― 即使信息量的大小可以放在单一的LSP中,系统也可以选择性地选择用几个 LSPs来传递它; 这里使用单一的LSP传递信息不是强制性的。 注―― 为了最大限度的控制冗余信息的传输,建议根据环路的可达到的地址前缀信 息,将IS分组。 这样去做将保证如果对另一个路由的领域的环路改变状态,最少的LSP片断 将必须被传送。 在系统中的第1层和第2 层的LSP的最大容量,分别由产生L1 LSP和产生 L2 LSP 缓冲区的管理参数控制。 注意―― 这些参数应该由系统从始至终的控制。如果不这样做,一些邻域的初始化将失 败。 IS对于LSP号为零时,作如下规定: a) 下列情况仅在LSP号为零时具有意义: 1) 对于LSP数据库的设置溢出了。 2) IS的类型值field(?)。 3) 区域地址选项。(仅在LSP号为零时出现,见下)。 b) 当上述的项目的某一个的值被改变的时候,IS将用LSP的数字0重新发 行LSP通知变化给其他的IS。其他的LSPs没有必要被重新发行。 如果特定的毗邻关系被分配给特定的LSP数字,它不应再被分配到其他的 LSP数字。 因为把毗邻关系从一个 LSP移动到另一个LSP,能给那个系统的连接性造 成暂时的损失。他将会引起原来包括有关毗邻关系的(现在不包括那个信 息)信息的LSP的新版本在其他的LSP的新(现在包括有关毗邻关系的信 息)版本前面被传播出去。 为了减少其影响,下列限制被放到LSPs的信息的工作任务上: a) 区域地址选项将仅仅发生在LSP数字为的LSP中。 b) 将在地区地址任意选择(Area Addresses option)后面,并且在任何的 中端系统(或者就第2层来说,给加上前缀)选择的前面,发生中间 系统邻居任意选择(IS Neighbours options)。 c) End System(or Prefix) Neighbour options 发生在任何一个Area Address or Intermediate System Neighbour options 的后面。 注―― 在这里的上下文中,采用的方法是,从同一LSP或更高一层LSP号中的开始找 到高八位号。 注―― 这里的一个执行是为了保证由特定的系统产生的LSPs的号,被包含在10%的 理想数字内。这些理想数字是必须的,如果所有的LSPs被紧密的打包。这样 就可以重新使用那些较低的LSP号,为了新的邻域的需要。如果要把一个邻域 从一个LSP移到另一个LSP中,SRM帧将被作为基本动作。如果这两个SRM 帧没有被设为基本动作,竞争将会存在,两个中的一个将会被先传播,而另一 个则要等待一个完整的传播周期。如果发生这,毗邻关系将从拓扑结构中被错 误的删除,并且,路线可以变得对于LSP Generaton Interval来说潜在性的,对 时间的时期来说不稳定。当一些事件需要改变LSP信息和系统的时候,系统将 重新发行那个(或者那些)将有不同的内容的LSPs。它不要求重新发行那些不 变的LSPs。这样单一的终端系统的毗邻关系变化,仅仅需要把提到那个毗邻关 系的终端系统邻居任意选择的LSP重新发行。参数的最大的LSP产生间隔和最 小的LSP产生间隔将个别地适用于每个LSP。 7.3.5周期性LSP产生 更新过程将定期地把全部LSPs(第1层或第2层)再生并广播到所有环路(通过把 SRMflag放在每个环路上),这样作是为了传给当地的系统和任何它有关联的虚结 点。中间系统将用最大的LSP产生间隔再生每个LSP,应用的是紧张不安(jitter), 如同10.1中描述。 这些LSPs可以在单一的计时器期满时被完全产生,或者,对于个别的LSP有两个 可供选择的计时器,在这个计时器期满时产生。 7.3.6 事件驱动LSP产生 不仅是LSPs会周期性的产生,中间系统也将产生LSP,当有使得信息内容改变的 事件发生的时候。 下列事件可以引起这样的变化: - 邻域或者环路的Up/Down事件 - 一个环路的规格(metric)变化 - 可达地址的规格(metric)变化 - 在手册中变化 地域地址 - 在系统ID中变化 - 被指定的IS状态的变化 - 在等的状态中变化 发生这样的事件的时候,IS将会产生一个再生的带有新的序列号的LSP(s)。如果 一个事件要产生一个以前未被产生的LSP(例如,对于一个不在现存LSP的邻域的 邻域向上事件),序列号将被设为1。IS将通过为每一个环路设置SRM帧,来广播 这个LSP(s)。计时器的最大的LSP产生间隔将不被复位。在产生每一个独立的 LSP时,都存在一个控制向下的计时器(最小的LSP产生间隔)。 7.3.7 第一层LSPs的产生 (非虚结点的) 第一层的LSP(不代表虚结点的)在其变化的长度域中包含以下信息: ―― 在地区地址选项中,有一系列针对IS的手册地区地址。 ―― 在IS的邻域选项中,有一系列IS的邻域系统的IDs,形成于: 一系列邻域 系统的IDs具有一个附加的八位零组(表示为非虚结 点),来自邻域的Up 态,环路的形式是点到点式,带有类型L1和类型 L2的xneighbourSystem 的邻域 功能。 测量标准(为每个被支持的路由的测量标准)被放到环路第1层的测量标准值上。 这一系列的具有附加八位零组的IDs,来源于IS的虚邻域的网络实体。(当要编码 这些项目式,就要标注这个虚帧,见7.2.10.) 缺省的标准被设置为虚拟网所有成本,为了缺省的路由的设置。 剩下的测量标准将被设定为未得到支持。 ―― 一系列的邻域终端系统的IDs形成于: IS本身的系统ID,根据标准的要求有一个零值。 来自邻域的一系列终端系统IDs,自动设置成Up态,环路形式为点到点式, 进或出邻域终端系统。 测量标准将设置为每个被支持的路由测量标准,并被放到环路的第1层 的 标准值上。 ―― 在鉴别信息的领域中 如果系统地区有传输信号功能口令非无效,包括在鉴别信息区包含鉴别信息 类型以及值的承认型的传输口令。 7.3.8 第1层 的虚结点的 LSPs产生 IS将产生一个第1层的虚结点的LSP,环路中的IS是被指定的局域网IS系统。LSP 将在其变化的长度范围内指定下列信息。在零值情况下,支持所有的路由标准。 -不允许地区的地址选项。 注: 因为这些将要设置为虚结点LSP的地区地址已经被设置为可以通过它自己的非 虚结点LSP。 -在IS邻域选项中 对于在环路中邻接IS的一系列IS的IDs,其虚结点LSP产生于: 被指定的IS自身的系统ID,带有附加的八位零(表示非虚结点)。 来自环路邻域的,邻接(xneighbourSystemType L1)的 IS,邻接 (xL2的IS), 邻接(Usage Level 1),并且环路处在Up态,一系列邻域系统IDs。 (neighbourSystemIDs,带有表示非虚结点的附加八位零) -在终端系统邻域选项中 一系列邻域终端系统的IDs产生于: 这样的终端系统IDs,它们是自动设置的,处于Up态,并且其环路中有与邻域 系统类型有关的虚结点。 -在鉴别信息的领域中 如果系统地区有地区传输信号口令(areaTransmitPassword)非无效,则包括在鉴 别信息区内,包含有鉴别信息类型的以及值的地区传输信号口令。 7.3.9 第二层LSPs的产生 (非虚结点的) 第二层的LSP(不代表虚结点的)在其变化的长度域中包含以下信息: -在地区地址选项中 如同在7.2.11所描述的那样,给定这中间系统的地区地址的一套计算。 -在分割指定的第二层IS选项中 为了划分第二层的IS,定义了分割指定ID。 -在IS邻域选项中 有一系列IS的邻域系统的IDs,形成于: IS本身的系统ID,根据标准的要求有一个零值。 来自邻域的一系列终端系统IDs,自动设置成Up态,环路形式为点到点式,进 或出邻域终端系统。 测量标准将设置为每个被支持的路由测量标准,并被放到环路的第2层 的标准 值上。 广播类型的全部12个回路的IDs。(即邻域虚结点的IDs) 测量标准(为每个被支持的路由的测量标准)被放到环路第2层的测量标准值上。 -在前缀邻域选项中,一系列不同长度的前缀来源于: 在所有的环路处于On的状态时,一系列操纵对象的可达地址的名字处于On的 状态。 标准被设置为第2层的可达地址的标准值。 -在鉴别信息的领域中 如果系统地区有邻域传输信号口令(domainTransmitPassword)非无效,则包括 在鉴别信息区内,包含有鉴别信息类型的以及值的领域传输信号口令。 7.3.10 在第二层的虚结点LSPs的产生 在第二层的虚结点LSP产生于每一个环路,环路中的IS是被指定的第二层局域网IS。 而且,这个LSP在其可变的长度域中包含以下信息。无论在何种情况下,零值被用于 所有被支持的路由规则中。 -不提供地区地址选项。 注意- 因为这些将要设置为虚结点LSP的地区地址已经被设置为可以通过它自己 的非虚结点LSP。 -在IS邻域选项中。 对于在环路中邻接IS的一系列IS的IDs,其虚结点LSP产生于: 被指定的IS自身的系统ID,带有附加的八位零(表示非虚结点)。 一系列带有八位附加零的领域系统IDs(neighbourSystemIDs),它们来自于处在 Up态的环路(此环路邻接邻域系统类型L2的IS)。 -不提供前缀邻域选项。 -在鉴别信息的领域中 如果系统地区有邻域传输信号口令(domainTransmitPassword)非无效,则包括在 鉴别信息区内,包含有鉴别信息类型的以及值的领域传输信号口令。 7.3.11校验和的产生 这个国际标准利用了在ISO 8473中定义了的校验和功能。 当LSP产生时,源IS应当计算其校验和.这个校验和不能再被任何其他系统修改. 此校验和使侦测存储错误成为可能,进而防止其被使用在正确的路由信息中以及被更新 过程进一步传播. 校验和的计算应当包括LSP中出现在Remaining Lifetime域之后的所有域,而这个域 和其之前的域不包含在内.以便系统不通过计算就能够使用和更改LSP的生命周期. 作为对硬件失败的一项附加的预防,当源端计算校验和时,应当在开始时将两个校验和 变量初始化为计算出的系统ID(源ID的一部分,例如6字节).(当网络实体有效时,只要系统 ID改变,此值将被计算且存储起来.)然后IS应当在源ID域的第一个ID长度的字节后的内 容上继续校验和的计算. 注意 - 所有对LSP校验和计算军将源ID域作为第一个字节.这个过程防止了源端 将其它系统的ID当作源而发出连接状态(Link State)PDU. 7.3.12初始传递 IS应能在连接状态数据库中存储生成的连接状态PDU,覆盖掉系统以前生成的相同LSP 号码的连接状态PDU。然后IS为连接状态PDU设置SRMflag标志,指示这些连接状态PDU 将在IS邻接的所有环中传播。 一个IS应能确保(通过预定资源,或其他发放)它总能存储,并能内部化(internalise)其自 己的非伪网点的零LSP。当它不能存储或不能本地化它自己的LSP的时候,它应当进入7.3.19.1 描述的那种超载情况。 注意 - 推荐 IS能确保(通过预定资源,或其他发放)它总能存储,并能内部化它自己的 LSP(零LSP,非零LSP,伪网点或非伪网点) 7.3.13顺序保持 当一个已存在的连接状态PDU(以相同或不同的序号)被重新传送,但由于本地拓扑数据 库没有发生任何改变,因而它传送相同的消息时(即可变长部分),那么可变长部分带有的消息 顺序应当与原来传送过的LSP相同。 注意 - 如果数据库的状态产生了一系列的变化而回到某个以前的值,则不需要保持顺 序。只有在没有任何变化的情况下才要求保持顺序。这就允许接收者通过对可变 长部分逐字节比较以侦测信息内容没有任何变化,进而无需重新运行决策过程。 7.3.14 LSP的传播 更新过程负责在整个域(在一级的情况下,整个区域)中传播连接状态PDU。 传播的基本机制是扩散,即每个IS会向到所有与其相邻的系统传送某个PDU,除了发送这 个PDU的系统.重复数据被检测到并废弃。 连接状态PDU由接收过程接收。一个系统能够接收的控制PDU(连接状态PDU或序号 PDU)的最大尺寸为ReceiveLSPBufferSize规定的字节数。(也就是说更新过程必须至少提供这 个尺寸的缓冲区,用来接收,存储以及转发收到的连接状态PDU和序号PDU)。如果接收到一 个比该尺寸大的控制PDU,将被认为具有无效的校验和(被更新过程忽略,并却产生一个 corruptedLSPReceived消息)。 一旦收到连接状态PDU,更新过程应当执行下列功能: a) 二级连接状态PDU应当在至少有一个二级邻接的环上传播。 b) 一级连接状态PDU应当在至少有一个一级邻接或至少有一个没有标志为仅为二级的 二级邻接上传播. c)当在一个广播型子网上传播一个一级连接状态 PDU,IS将传到地址为ALLL1IS的 多目的子网。 d) 当在一个广播型子网上传播一个二级连接状态 PDU,IS将传到地址为ALLL2IS的多 目的子网。 注意 - 当一个连接状态 PDU在一个一般拓扑子网络上传播时,数据链接地址是明确的 (因为连接状态PDU不能通过在动态分配的环传播). e) 一个IS接收到一个有错误的校验和或无效的PDU语法的连接状态 PDU将会: 1)记录一个环消息corruptedLSPReceived. 2)用0覆盖校验和和剩余生存期 3)将连接状态 PDU视为剩余生存期已过期来处理(见7.3.16.4) f) 当一个中介系统收到一个新的(在7.3.16中定义)连接状态 PDU时,应当: 1)将连接状态 PDU存储到连接状态数据库中 2)将其标志为需要在除了发送这个PDU的环以外的所有环上传播. g) 当一个IS从源S收到一个连接状态 PDU,而且认为这个PDU比存储在为S而设的数 据库中的PDU要旧,它应将连接状态 PDU设置SRMflag标志为与接收到旧的连接 状态 PDU的环相关联,以指示这个已存储的PDU需要发送到接收到旧的连接状态 PDU的环。 h) 当一个系统收到一个与已经存储的完全相同的连接状态 PDU,则IS应当 1)如在7.3.17中所描述,对它做出应答 2)为收到的连接状态 PDU以及环清除SRMflag标志 i) 收到0校验和的连接状态 PDU应视为其剩余生存期为0.此时,若它的寿命不为0,则 以0覆盖. 更新过程扫描连接状态数据库中连接状态PDU的SRMflag标志设置.当找到某一个时, 倘若时戳lastSent指示传播时间超过minimumLSPTransmissionInterval,IS应当: 1) 为它设置SRMflag标志,并在所有的环上传播它 2) 更新lastSent. 7.3.15 SRMflag与SSNflag标志的处理 对每一个连接状态PDU和每一个需要交换路由信息的环(也就是不在DA环上),有两个标 志: SRMflag标志(Send Routeing Massege):如果设置了此标志,表示连接状态 PDU应 在那个环上传送。在广播型环上,一旦LSP已传送完毕,SRMflag标志清除,但在非 广播型环上,SRMflag标志只有在收到了一个连接状态 PDU或序号PDU时才清除, 如下所述: 对于一个序列号为0的LSP或一个externalDomain属性为真的环(见7.3.15.2),不设 置其SRMflag标志. SSN标志(Send Sequence Numbers):如果此设置了标志,表示连接状态 PDU的信息 应当包含在环上传送的部分序号PDU上.当序号PDU传送完毕,SSNflag标志清除。 注意,部分序号PDU作为连接状态 PDU已经被接收的应答。 对于一个externalDomain值为真的环,不能设置其SSNflag标志。 7.3.15.1 接收到连接状态 PDU的动作 当在环C接受到一个连接状态 PDU,IS将执行以下功能: a) 执行以下PDU接受测试: 1) 如果LSP在一个externalDomain属性为真的环上被接收,IS应当放弃这个 PDU。 2) 如果PDU的ID长度域不等于IS的routeingDomainIDLength的值,PDU应当 被放弃并且产生一个IDfieldLengthMismatch的消息。 3) 如果这是一个一级LSP,并且areaRecievePasswords非空,那么执行以下测试: i) 如果PDU不包含认证信息域,则PDU将被放弃并且产生一个 authenticationFailure消息。 ii) 如果PDU包含认证信息域,但认证信息的类型不是密码,则这个PDU应当被 接受,除非IS实现的认证过程指出密码类型。在此情况下,IS应当接受还是忽 略这个PDU不在本国际标准讨论范围内。 iii)否则,IS应当将收到PDU的密码和areaReceivePasswords(扩充到 areaTransmitPasswords)进行比较。如果PDU的密码与以上任一个值匹配,IS 应当接受这个PDU进行进一步处理。否则IS应当忽略这个PDU,并产生一个 authenticationFailure认识失败消息。 4) 如果这是一个二级LSP并且domainReceivePasswords为非空,则执行以下测试: i) 如果PDU不包含认证信息域,则这个PDU应当被废弃,并产生一个 authenticationFailure认证失败消息。 ii) 如果PDU包含认证信息域,但认证信息的类型不是密码,则这个PDU应当被 接受,除非IS实现的认证过程指出密码类型。在此情况下,IS应当接受还是忽 略这个PDU不在本国际标准讨论范围内。 iii)否则,IS应当将收到PDU的密码和domainReceivePasswords(扩充到 domainTransmitPasswords)进行比较.如果PDU的密码与以上任一个值匹配,IS 应当接受这个PDU进行进一步处理。否则IS应当忽略这个PDU,并产生一个 authenticationFailure认识失败消息。 b) 如果LSP有0剩余生存期,执行7.3.16.4中的动作。 c) 如果LSP的源S为一个IS或为一个除了最后一个字节全部都与接收IS的SystemID 相等的伪网点,并且接收IS数据库中不存在此LSP或是存在此LSP但是此LSP不 被认为是在由这个系统生成的LSP集合中(例如:此LSP是由以前的系统生成的), 则执行7.3.16.1中描述的动作。 d) 如果LSP的源S是一个第一个ID长度字节等于接收IS的systemID的系统(伪网点 或其他),并且接收IS在其数据库中当前由源S生成的LSP系列中有一个LSP(例 如:一个由此IS生成的LSP),执行7.3.16.1中的动作。 e) 否则(源S是其他系统): 1) 如果该LSP比存储在数据库中的新,或者原本在数据库中就不存在: i) 存储新的LSP,用接收到的LSP覆盖数据库中已经存在的此源的LSP。 ii) 为该LSP设置环C以外的其他环的SRMflag标志。 iii) 清除环C的SRMflag标志。 iv) 如果C是一个非广播型环,为该LSP设置环C的SSNflag标志。 v) 为该LSP清除环C以外的其他环的SSNflag标志。 2) 如果该LSP与存储在数据库中的相等(有相同的序列号,剩余生存期都为0 或非0,相同的校验和): i) 清除环C的SRMflag标志。 ii) 如果C是一个非广播型环,为该LSP设置环C的SSNflag标志。 3) 如果该LSP比存储在数据库中的旧: i) 为环C设置SRMflag标志。 ii) 清除环C的SSNflag标志位。 当存储一个新的LSP时,IS应先确定它有足够存储资源来存储该LSP以及更新程序处 理该LSP所需要的任何内部数据结构。如果这些资源是无效的,则该LSP被忽略。它既不能 被存储也不能应答。当一个LSP因为上述原因被忽略时,IS将进入“等待状态”(见7.3.19)。 当试图为一个已存在的LSP存储一个新版本时(有相同的LSPID),这个新版本长度小于 或等于已存在的LSP,已存在的LSP将从路由信息中移出,新的LSP将作为一个单独的原子 动作存储。这就确保了这样一个LSP(它能从一个超载的IS中携带LSP数据库超载的指示) 将不会因为存储资源的缺乏而被忽略。 7.3.15.2 接收到序号PDU时的动作 当在环C上接收到序号PDU(完全或部分的序号PDU,见7.3.17)时,IS应该执行以下功能: a) 执行以下PDU接受测试: 1) 如果接收到的SNP属于一个externalDomain属性为TRUE的环,则IS应当废弃该PDU. 2) 如果PDU的ID长度域不等于IS的routeingDomainIDLength,则该PDU应当被废弃, 并且产生一个ID域长度不匹配消息. 3) 如果这是一个一级SNP并且areaReceivePasswords为非空,则执行以下测试: i) 如果PDU不包含认证信息域,则这个PDU应当被废弃,并产生一个认证失败消 息。 ii) 如果PDU包含认证信息域,但认证信息的类型不是密码,则这个PDU应当被接受, 除非IS实现的认证过程指出密码类型。在此情况下,IS应当接受还是忽略这个 PDU不在本国际标准讨论范围内。 iii) 否则,IS应当将收到PDU的密码和areaReceivePasswords(扩充到 areaTransmitPasswords)进行比较。如果PDU的密码与以上任一个值匹配,IS应 当接受这个PDU进行进一步处理。否则IS应当忽略这个PDU,并产生一个 authenticationFailure认识失败消息。 4) 如果这是一个二级SNP并且domainReceivePasswords为非空,则执行以下测试: i) 如果PDU不包含认证信息域,则这个PDU应当被废弃,并产生一个 authenticationFailure认证失败消息。 ii) 如果PDU包含认证信息域,但认证信息的类型不是密码,则这个PDU应当被接受, 除非IS实现的认证过程指出密码类型。在此情况下,IS应当接受还是忽略这个 PDU不在本国际标准讨论范围内。 iii) 否则,IS应当将收到PDU的密码和domainReceivePasswords(扩充到 domainTransmitPasswords)进行比较。如果PDU的密码与以上任一个值匹配, IS应当接受这个PDU进行进一步处理。否则IS应当忽略这个PDU,并产生一 个 authenticationFailure认识失败消息。 b) 对于每个在序号PDU中报告的LSP数据 1) 如果报告的值等于数据库值,并且C是一个非广播环,则清除LSP的环C的SRMflag 标志。 2) 如果报告的值比数据库值旧,则清除SSNflag标志,并设置SRMflag标志。 3) 如果报告的值比数据库值新,则将设置SSNflag标志,并且若C是非广播环,清除 SRMflag标志。 4) 如果不存在这个LSP的数据库入口,并且报告仍在生命期内,LSP的校验和以及序号域 均非零,则使用序号0创建一个入口(见7.3.16.1),并且设置入口和环C的SSNflag标 志。在任何情况下,都不应设置一个零序号的LSP的SRMflag标志。 注意 - 这是因为0序号的LSP在语义上等价于没有LSP的信息.如果这样的LSP 设置了SRMflag标志进行传输,将会导致不必要的带宽和存储资源的浪费。 c) 如果此序号PDU是一个完全的序号PDU,则应为C和所有的LSP设置SRMflag标志(所 有的LSP指LSPID在CSNP中由Start LSPID和End LSPID域指定范围内的LSP)。 7.3.15.3 完全SNP间隔过期时的动作 IS应当在每个环C的 CompleteSNPInterval 秒内执行以下操作: a) 如果C是一个广播环,那么 1) 如果IS是在环C上的一级指定IS,应当在环C上传送一个一级完全序号PDU完全集, 忽略一级连接状态PDU中的SSNflag标志。如果IS的areaTransmitPasswords非空, 那么IS应当在传送的CSNP中包含认证信息域,指示密码认证类型并包含 areaTransmitPasswords作为认证值。 2) 如果IS是在环C上的二级指定IS,应当在环C上传送一个二级完全序号PDU完全集, 忽略二级连接状态PDU中的SSNflag标志.如果IS的domainTransmitPasswords非空, 那么IS应当在传送的CSNP中包含认证信息域,指示密码认证类型并包含 domainTransmitPasswords作为认证值. CSNP完全集是指其startLSPID到endLSPID范围覆盖整个可能的LSPID范围的集合.(例 如不存在可能的LSPID值却不在集合中某个CSNP的范围内).在一个广播环中当有超过一个 CSNP传输时,他们之间的时间间隔至少为 minimumBroadcastLSPTransmissionInterval 秒。 注意 - IS允许以较短的时间间隔(甚至连续的)传输少量CSNP(不超过10个),保证每秒 传输的CSNP数量不超过1000/minimumBroadcastLSPTransmissionInterval。 b) 否则(C为一个点对点环,包括非动态分配动态确定数据连接环和虚连接)不作任作。CSNP 只在点对点环初始化时传输。 7.3.15.4 部分SNP间隔过期时的动作(Action on expiration of Partial SNP Interval) 系统可以产生的一级或二级PSNP的尺寸是由originatingL1BufferSize或 originatingL2BufferSize的值分别决定的。IS应当在每partiaLSNPInterval秒时间内使用在10.1 中描述的抖动(jitter)对环C执行以下动作: a) 如果C是广播环,那么 1) 如果此IS是一个一级IS或manualL2OnlyMode域为False的二级IS,而不是环C上 的一级指定IS,则在环C上传输一个一级部分序号PDU,包含所有适合于此PDU 的,设置有SSNflag标志的一级连接状态PDU的入口,之后清除这些入口的 SSNFlag标志。为了防止饥饿现象的发生,对于设置有SSNflag标志的LSP,对数据 库的扫描仅在下一个LSP不在上一次扫描结果中时才进行。如果没有设置有 SSNflag标志的一级连接状态PDU,则不传送一级部分序号PDU。如果IS的 areaTransmitPassword非空,则IS应当在传输的PSNP中包含认证信息域,指示密码 的认证类型,并包含areaTransmitPassword作为认证值。 2) 如果此IS是环C上的二级IS,但不是二级指定IS,则在环C上传输一个二级部分序 号PDU,包含所有适合于此PDU的,设置有SSNflag标志的二级连接状态PDU的 入口,之后清除这些入口的SSNFlag标志。为了防止饥饿现象的发生,对于设置有 SSNflag标志的LSP,对数据库的扫描仅在下一个LSP不在上一次扫描结果中时才 进行。如果没有设置有SSNflag标志的二级连接状态PDU,则不传送二级部分序号 PDU。如果IS的domainTransmitPassword非空,则IS应当在传输的PSNP中包含 认证信息域,指示密码的认证类型,并包含domainTransmitPassword作为认证值。 b) 否则(C为一个点对点环,包括非动态分配动态确定数据连接环和虚连接) 1) 如果此系统是一个一级IS,则在环C上传输一个一级部分序号PDU,包含所有适合于 此PDU的,设置有SSNflag标志的一级连接状态PDU的入口,之后清除这些入口的 SSNFlag标志。为了防止饥饿现象的发生,对于设置有SSNflag标志的LSP,对数据 库的扫描仅在下一个LSP不在上一次扫描结果中时才进行。如果没有设置有 SSNflag标志的一级连接状态PDU,则不传送一级部分序号PDU。 1)产生一个LSP第一层数据库超载(恢复的)通知。 2)在其本身的第一层LSP中用零LSP数清除LSP数据库超载位,并重传之。 3)l1状态设为开。 4) 继续常规操作。 7.3.19.3 第二层等待状态中的动作 当在第二层等待状态时 a) 如果一个链接状态PDU不能被存储,IS将忽略它并重启动等待时间秒定时器。 b) IS将如常继续运行决议和转发进程。 c)当等待时间计时器满,IS将 1)产生一个LSP第二层数据库超载(恢复的)通知 2)在其本身的第二层LSP中用零LSP数清除LSP数据库超载位,并重传之。 3)l2状态设为开。 4) 继续常规操作。 7.3.20 连结状态数据库的使用 数据库与决定过程相联系的唯一部分是链接状态PDUs的数据部分。 更新进程又使用字段序号,残余寿命,和可变SRMflag。已存储的链接状态PDUs中的残 余寿命不是被周期性的消耗,就是在接收时转化成内部时间信息,并在传送时转换回残余寿 命。 7.3.20.1 随决定过程同步化 因为更新进程和决定过程共享链接状态数据库,所以必须注意当决定过程正在运行时, 更新进程不会修改链接状态数据库。 达到该目的有两种方法。一种是当决定过程运行时发信号。这时更新进程排队等待引入 的链接状态PDUs,并且不把它们写入链接状态数据库。当决定过程运行时,如果比被分配的 等待队列更多的链接状态PDUs到来,更新进程丢掉它们并且不承认(回应?)它们。 另一种方法是保存两个链接状态数据库的备份,一个用于决定过程运算,另一份用于更 新进程在第一数据库之上的初始拷贝,在这个备份中,所有新的链接状态PDUs被写入。另外, 根据散列法方案,可能要求一个地址杂乱信号平台的二次拷贝,因此为了提高效率有时更新 进程会作一个重复品。 当决定过程准备再次运行时,它锁住链接状态数据库的新备份,让更新进程把信息复制 到第一区,并且当决定过程再次运行时写入新的更新。 第一种方法的优点是内存少。第二种方法的优点是链接状态PDUs不会被丢掉。 注意:如果决定过程依照C.2规范执行,一个好的层对应将是可能的,如下所述。 允许系统的新链接状态PDU在系统未被装入TENT之前到来。当系统最终被装入TENT时,使用 新的链接状态PDU。同样的,允许系统的新链接状态PDU在系统被装入TENT之后到来。这样的系统 已经被完全执行。新的链接状态PDU的到来被告知,在当前的执行完成后,决定过程重新运行。一个 进行中的决定过程的执行将不会被忽略,因为其能防止决定过程不断的执行。 一个系统的链接状态PDU在系统被装入TENT和被转移到PATHS之间到来,将被视为与前两个例 子之一等同(例如,缓冲,或一些纠正动作)。 7.3.20.2缓冲器和链接带宽的使用 执行将有一个缓冲器管理策略,不因更新进程额外的使用而阻止其他用户从获得的缓冲 器提供的缓冲服务。它们还将保证更新进程不会消耗所有的链接可变带宽。特别的,任何类 型的通信量都无法接受长于可接受反应时间的资源匮乏。 可接受的反应时间近似如下: ?Hello traffic - Hello timer × 0.5 ?Data Traffic - 10 秒。 注意:这些必要条件中的首要条件可能会在一个传送回路里限制更新进程使用一个专门的缓冲器的情况下 遇上。这也可能导致第二个必要条件,依赖于处理器的速度。 7.3.21 参数 最大寿命(MaxAge):这是从源端存储的链接状态PDU的判断发源到LSP预计过期的时间 流逝量。当一个更多的ZeroAgeLifetime过期后,过期的LSP将被从数据库中删除。 最大寿命应比最大的LSP产生间隔大,从而不会仅仅因为缺少报告链接状态PDUs的事件而 使系统清除。 MaxAge是一个等于20分钟的构造常量。 零寿命生存时间(ZeroAgeLifetime):这是当一个过期的LSP的报头被零保留生存时间 淹没后还能被保留的最小时间。适合其的一个非常安全的值是2 W MaxAge。然而报头必须保 持到零保留生存时间LSP能被安全地传送到所有邻居。 ZeroAgeLifetime是一个等于1分钟的构造常量。 最大LSP产生间隔(maximumLSPGenerationInterval):这是从源端产生链接状态PDUs 的最大时间允许间隔。它应比MaxAge小。 设置此参数过快会增加算法的开销(太多链接状态PDUs)。设置此参数太慢(且不违反 约束)会使算法等待过长的时间去恢复不太可能的事件(错误链接状态信息存在于系统范围内 某处)。 一个合理的设置是15分钟。 最小LSP产生间隔(minimumLSPGenerationInterval):这是产生链接状态PDUs的最 小时间允许间隔。 在重新产生一个他自己的链接状态PDUs前,源中间系统将至少等待这么 久。设置此参数太大将会引起新信息报告的延迟。 设置太小会允许过多的开销。 一个合理的设置是30秒。 最小LSP传送间隔(minimumLSPTransmissionInterval):这是中间系统从同一源系统 进一步传播另一个链接状态PDU前将等待的时间。设置它太大会引起传播路由信息和稳定路 由算法的延迟。 设置其太小会引起如下可能,即在低可能性的环境下,路由算法却使用了太多资源(CPU 和带宽)。 设置最小LSP传送间隔比最小LSP产生间隔大是没有意义的,因为源端将被允许产生LSP 比把它们传播出去更快。设置最小LSP传送间隔比最小LSP产生间隔小可以恢复丢失的LSPs。 一个合理的值是5秒。 完整SNP间隔(CompleteSNPInterval):这是由指定的中间系统在一条广播链路上对一 套完整的序号PDUs进行周期传送的时间间隔。设置该参数太低,当链接状态PDUs由于该广 播链路上数据链路层的数据报环境而丢失时,会使路由算法的收敛变慢。 设置其太高引起额外的控制流量开销。 一个合理的值是10秒。 7.4 转发进程 转发进程对于传送由该系统产生的NPDUs和转发由其他系统产生的NPDUs都是可靠的。 7.4.1 输入和输出 输入 - 从ISO 8473协议机制来的NPDUs - 从更新进程来的PDUs - 从接受进程来的PDUs - 转发数据库(第一和第二层)一个对每一个路由metric。 输出 - 到数据链路层的PDUs 7.4.2 路由metric选择 转发进程为每一个被延迟的NPDU选择一个转发数据库是基于: - 转发发生的层:第一或第二层:和 - 在中间系统支持的路由metric之上的ISO 8473 QoS维护字段的一个映射。 前者的选择是通过检测NPDU的目的地址字段作出的。 后者的选择通过以下作出: a)如果Qos维护字段不在当前NPDU中,则IS将选择为默认metric计算出的转发数据库。 b)如果Qos维护字段在当前NPDU中,则IS将检测参数八位字节值的第7和第8位。如 果这两位指定任何不同于11(意味全球唯一的Qos)的组合,则IS将选择为默认metric 计算出的转发数据库。否则: c)IS将选择映射表格1中显示的参数第1,2,3位值的转发数据库,并如下进行: 1)如果IS不支持选择的路由metric,IS将基于默认metric转发。 2)如果某种可选路由metric的转发数据库被选择,但其既不包含NPDU延迟时目的地 址的入口,也不包含指示用该metric不可到达的目的的入口,则IS将尝试基于默认 metric转发。 3)否则,转发基于选择的metric。 表 1 - 对路由metric映射的QoS 维护位 bit 1 bit 2 bit 3 选择的路由 metric 0 0 0 开支metric 1 0 0 默认metric 0 1 1 默认metric 0 1 0 开支metric 0 0 1 延迟metric 1 1 0 出错metric 1 0 1 延迟metric 1 1 1 出错metric 7.4.3 转发的决定 7.4.3.1 基本操作 让DEST等于将转发的PDU中网络层的目的地址,或源路由字段的下一个入口,如果它 存在的话。它由子字段区域地址,ID和SEL组成。 注意 - 目的地址中的SEL字段不被中间系统检测。它被末端系统用于选择正确的传送体来递交 NSDUs。 这个系统(其为了转发决定的正确性而保留该PDU)的地址由子字段区域地址和ID组成。 a) If the local system type is a level 1 Intermediate system, or the local system type is a level 2 Intermediate sys-temand AttachedFlag k = False, then: 1) If the area address matches then CALL Forward(Level 1,metric k, DEST; ADJ), and forward on adjacency ADJ. 2) ELSE CALL Forward(Level 1,metric k , 0; ADJ) and forward on adjacency ADJ. (i.e. pass to nearest Level 2 Intermediate system.) b) If the local system type is Level 2, and AttachedFlag k = True then: 1) If the area address matches then CALL Forward(Level 1,metric k , DEST; ADJ), and forward on adjacency ADJ. 2) ELSE CALL Forward(Level 2, metric k ,DEST; ADJ) and forward on adjacency ADJ. i.e. Forward according to normal Level 2 routeing a)如果本地系统类型是第一层中间系统,或本地系统类型是第二层中间系统且 AttachedFlagk = False,则: 1)如果要转发的PDU的区域地址和这IS中的任一区域地址匹配,则考虑第一层转发数 据库去确定邻域,该邻域是通到NPDU目的的路径上的下一跳。转发这个NPDU到 该邻域上。 2)否则,考虑第二层转发数据库去确定邻域,该邻域是通到本地最近的第二层的路径上 的下一跳,并转发这个NPDU到该邻域上。 7.4.3.2 封装修改的部分 如果这个中间系统是已指定为第二层中间系统的部分,且PDU正在被转发在特定的邻域 上到本地一个已指定为第二层中间系统的部分,则封装这个完整的PDU作为一个数据NPDU 的数据字段(也就是用一个报头的附加层),使该系统成为源系统及另一个已指定为第二层中 间系统的部分(从虚拟邻域管理目标的 ??标志符属性得到(obtained from the identi-fier attribute ofthe virtual Adjacency managed object)外部PDU报头的目的地址字段。设置外部 PDU的Qos维护字段去指示通过默认得路由metric来转发(见表1),然后转发该封装的PDU 到一邻近的ADJ,通过调用如下节所述的转发程序得到。 7.4.3.3 转发程序 PROCEDURE Forward( level: (level1, level2), metric: (default,delay,expense,error); dest: NetworkLayerAddress, VAR adj: POINTER TO adjacency ) : BOOLEAN 该程序选择(从一个第一层转发数据库,当是第一层时;从一个第二层转发数据库,当 是第二层时)一个能在其上转发NPDUs到目的的邻域。指向这个邻域的指针在ADJ中被返 回,程序返回真值。一个第一层的目的地为最近的第二层IS(用7.2.9.1中描述的方法计算 得到)选择邻域。 如果因为多重最小花费路径导致多重可能邻域,则其中的一个邻域将被选择。一种执行 方法是随机地选择邻域,或按循环方式使用可能的邻域。 如果为目的地址选择的转发数据库没有入口,且产生自本地传送体和系统的NPDU有一 个或多个中间系统邻域,则将随机选择其中之一(或按循环调度方式),程序返回真值。否则 程序返回假值。* *这样做可以使在过载状态下的系统仍能产生或转发NPDUs。如果一个有局部路由信息 库的系统被禁止尝试转发到未知的目的域,系统管理器将不能为了诊断并(或)改正下层错 误而与该系统通信或通过它路由。 ??? 注意 - 既然本地邻域数据库是预装在决定过程中的,到一个已存在邻域的目的域的转发数据库的入口 通常存在。 注意 - 将被转发的PDU需要按照其被转发的回路进行分割。产生重传的PDUs除了转发一个NPDU外,IS 将通知本地ISO 9542协议机制产生一个重传的PDU,如果这PDU被转发到它所 ??来的同一回路中并且 如果NPDU的源SNPA地址指示该NPDU已被末端系统接收。 7.4.4 接收进程 接收进程从任何下列资源中传递信息。 - 用域间路由的NLPID接收PDUs。 - 从ISO 9542 协议机制来的配置信息。 - 被ISO 8473 协议机制传给路由功能的ISO 8473的数据PDUs。 当一个区域被分割,一个第二层路径被用来作为第一层链接去修复分割的区域。当它发 生时,所有的PDUs(在那些必须使用多级跳路径来通信的邻居间)应被封装在一个数据NPDU 中,地址通往域间路由选择器。流量控制(LSPs,序号PDUs)也应被封装,同将被在邻居间 传递的数据NPDUs一样。 注意 - 传送封装的在虚链接上的IIH PDUs并不是必要的,因为虚拟邻域是被决定过程的操作(而不 是被子网络的附属功能)建立和监控的。 接收进程会执行如下功能: - 如果是一个数据NPDU,地址通往SEL ="Intra-Domain routeing",,则 ??解封该NPDU(移去外部NPDU报头)。 ??如果这个解封后的PDU是一个数据NPDU,移去对解封后NPDU的拥塞指示,并送到ISO 8473 协议机制中。 ??否则,如果解封后的PDU不是一个ISO 8473 PDU,在该解封后的PDU上执行以下步 骤: - 如果是链接状态PDU,传给更新进程。 - 如果是序号PDU,传给更新进程。 - 如果是IIH PDU,传给合适的子网络附属功能。 - 如果是数据NPDU或对另一目的域的错误报告,传给转发进程。 - 否则,忽略该PDU。 7.5 路由参数 每一个被管理对象的路由参数(由系统管理器设置(?))列举在条款11中。 7.5.1 构造常量 构造常量描述在表2中。 表 2 - 路由构造常量 常量名 值 描述 最大链接metric 最大路径metric 所有第一层IS 所有第二层IS 所有中间系统 所有终端系统 ISO-SAP 域间路由-PD 域间路由-选择器 序列系数 接收LSP缓冲器大小 MaxAge ZeroAgeLifetime 最大区域地址 保持乘法器 ISIS保持乘法器 Jitter 63. 1023. 01-80-C2-00-00-14 01-80-C2-00-00-15 09-00-2B-00-00-05 09-00-2B-00-00-04 FE TBS by TR9577 10000011 0. 232 1492 1200. 60. 3. 3. 10. 25. 一个路由metric可分配给一回路的最大值 一条完整路径的最大总metric值 所有中间系统第一层的多目的地址 所有中间系统第二层的多目的地址 所有被ISO 9542使用的中间系统的多目的地址 所有被ISO 9542使用的终端系统的多目的地址 在ISO 8802-3局域网上的ISO网络层SAP 由ISO/TR 9577为该协议域间路由器分配的网络 层协议鉴别器。 中间系统网络体序列系数的NSAP选择器 被更新进程使用的序号空间大小 所有中间系统能够接收的LSP的大小 在LSP预计过期前的秒数 在传播一清除后一个零保留生存时间LSP将保持 的秒数 在单个区域中能存在的最大区域地址数 The number by which to multiply helloTimer to obtain Holding Timer for ISH PDUs and for Point to Point IIH PDUs. The number by which to multiply ISIShel-loTimer to obtain Holding Timer for Level 1 and Level 2 LAN IIH PDUs. The percentage of jitter which is applied to the generation of periodic PDUs. 8 子网相关过程 子网相关过程为子网独立路由过程掩蔽不同类型子网的特征。子网独立过程仅能识别的 两种环路是广播环和一般拓扑结构的环。 子网相关的过程包括: - 使用与ISO 8473 SNDCF 子网相关收敛过程相同的技术,使相同类型的子网之间能够 传送和接收PDU。 - 与ES-IS协议(ISO 9542)相协调,以确定网络层地址(以及在广播型子网上确定连接点)和 识别所有相邻的系统(端系统ES和中介系统IS).这些确定识别信息保存在邻接数据库 中,用以构造LSP。 - 交换IIH PDU.虽然IS可以通过接收到ISO 9542 ISH PDU来识别出存在一个相邻的IS, 但ISO 9542却没有提供方法来识别相邻系统是一级或是二级IS。 因此定义了特定的 PDU(一级局域网,二级局域网和点对点IIH PDU)来传达这个信息。 8.1 域边界IS上的多目标环路 路由信息(连接状态PDU)不能在路由域边界交换。因此,所有与连接到其他路由域的环路 相关的路由信息均通过 地址可达管理对象 进入。这些路由信息再通过连接状态PDU散布 到路由域的其他部分(如在7.3.3.2中所述)。这样,NPDU可以在可达地址的地址前缀中预定与 域边界IS相连的NSAP.当收到这类的NPDU时,IS应当根据自己的连接状态信息,将它转发到 适当的环路上。然而在多目标子网的情况下(例如使用动态分配的ISO 8208子网,广播型子网 或无连接子网),为了将NPDU转发到适当的SNPA(它可能是在另一域中的目的ES或者IS。), 应当确知附加的子网相关地址信息。 一般情况下,NPDU应被转发的SNPA地址能够从NPDU的目的NSAP中得到。可以对目 的NSAP地址进行一些算法操作得到应被转发的NSAP地址。然对于一些目的NSAP来说这 是不可能的。在这种情况下,就应当使用预置信息使某个地址前缀对应于一个特定的SNPA地 址。 这通过可达地址从属管理对象中包含的附加信息来实现。mappingType特性可以设为 "manual",并且在SNPA地址特性中指定某个特定的SNPA地址或者SNPA地址集合。而且可 特别制定出一个SNPA地址的运算方法。 8.2 点对点子网 本段描述在点对点连接以及静态环路和DCM DED环路上相邻系统的识别。 IS应当运行ISO 9542协议,应当能够从其他IS接收ISO 9542 ISH PDU,存储这样从邻接 数据库得到的信息。 8.2.1 ESH PDU的接收 - ES的数据库 IS应当在接收到ESH PDU时进入到ES的邻接数据库。如果ESH PDU是在同一个环上 被接收,但带有不同的NSAP地址,新的地址应当被加入到邻接中,并设置单独的计时器。一个 ESH PDU可以带有不只一个的NSAP地址。当一个新的数据连接地址或者NSAP地址加入 到邻接数据库中,IS应当在那个邻接上产生一个"Adjacency State Change (Up)"事件。 IS应当在接收到的ESH PDU的"Holding Time"上设定一个定时器。如果在定时期过期之 前没有从ES上,那么完成与初始化邻接相关联的子网独立过程,并且此ES应当在定时结束 时从数据库清除。否则(若是接收到其他ESH PDU),则一旦这些过程完成,IS应当立即清除 邻接。 当一个邻接被清除,一个"Adjacency Change (Down)"事件应当被发送给子网独立过程,当 与清除邻接相关联的子网独立过程完成,邻接可以重新使用。 8.2.2 IS接收ISH PDU 当IS接收一个ISH PDU时,如果邻接不存在,IS应当创建一个邻接(状态为 "Initialising" ,adjacencyType为"Unknown"),然后执行以下操作: a) 如果邻接状态为"Up",ISH PDU中NET域中的ID与邻接的neighbourID不匹配,则IS 应当: 1) 产生"Adjacency State Change (Down)"事件; 2) 删除邻接;并且 3) 产生一个新邻接,并且 i)设置新邻接状态为"Initialising", ii)设置adjacencyType为"Unknown"。 4) 执行如下操作: b) 如果邻接状态为"Initialising",adjacencyType为"Intermediate System",则这个ISH PDU应 当被忽略。 c) 如果邻接状态为"Initialising",adjacencyType不是"Intermediate System",应当传送一个点 对点的IIH PDU (如8.2.3中所述)。 d) 邻接状态设为"Intermediate System",指示相邻系统是IS,但类型(L1还是L2)仍未知。 8.2.3 发送点对点IIH PDU 需要时,IS应当构造并且传送一个点对点的IIH PDU,如下所述: a) 环类型(Circuit Type)域应当按照表3设置。 b) 本地环(Local Circuit)ID域应当在创建时由IS赋值.该值应当在IS的所有环中是唯一的。 c) 第一个点对点IIH PDU(也就是说,传输该IIH PDU是收到ISH PDU的结果,而不是计时器 过期的结果)应当被填充(带有trailing PAD选项,包含任意值的字节),使包含IIH PDU的 SNSDU长度至少为(maxsize-1)个字节*,maxsize是 dataLinkBlocksize originatingL1LSPBufferSize originatingL2LSPBufferSize 的最大值。 * 可以填充的最小尺寸为2字节,因为这是选项头标的尺寸.可能的话,PDU应当被填充到 maxsize,但如果PDU长度是maxsize-1,填充是不可能的也是不需要的。 这样做是为了保证邻接仅建立在能够交换长度达到maxsize个字节的系统之间。如果不 采用这种检查,就可能存在具有较小的最大块尺寸的邻接,结果就会导致某些LSP和SNP(长度 大于这个最大尺寸,而小于maxsize)不能被交换。 注意 - 管理者必须保证环上dataLinkBlocksize的值(用来构成一个IS到IS的邻接)设置为一个大于等于 上面所列的LSPBufferSize的值.如果不能保证这一点,邻接的初始化将失败.这一要求不可能(不 需要)被强制执行,因为在初始化时间以前,不知道相邻系统是否是一个ES或者IS.ES可以使用较 小的dataLinkBlocksize。 表3 - 设置环类型(Circuit Type)域的值 路由类型 环 manualL2OnlyMode 环类域 Level 1 - Level 1 only (1) Level 2 "True" Level 2 only (2) Level 2 "False" Level 1 and 2 (3) 8.2.4 接收点对点IIH PDU 当IS收到点对点IIH PDU时, 应当比较两个IS的区域地址(area address)以确定邻接的有 效性.。如果两个IS有相同的区域地址,则邻接对于所有IS类型的组合都是有效的(除了一级 IS连接到二级IS,而二级IS的manualL2OnlyMode为"True").如果它们的区域地址不同,邻接仅 在两个IS均为二级IS时才有效,IS应当标记邻接为Level 2 Only.以下详细讨论。 当接收到点对点IIH PDU, PDU的所有区域地址应当与manualAreaAddresses中的地址比 较。 a) 如果检测到任意一对地址匹配,执行以下操作: 1) 如果本地系统的Routeing Type为"L1IntermediateSystem",IS应当执行表4中指定的操 作。 2) 如果本地系统的Routeing Type为"L2IntermediateSystem",并且环的 manualL2OnlyMode为"False",IS应当执行表5的操作。 3) 如果本地系统的Routeing Type为"L2IntermediateSystem",并且环的 manualL2OnlyMode为"True",IS应当执行表6的操作。 b) 如果任意一对地址均不匹配,执行以下操作 1) 如果本地系统的Routeing Type为"L1IntermediateSystem",并且邻接的状态不为"Up",IS 应当删除这个邻接并产生一个"Initialisation Failure (Area Mismatch)"事件。 2) 如果本地系统的Routeing Type为"L1IntermediateSystem",并且邻接的状态为"Up",IS应 当删除这个邻接并产生一个"Adjacency State Change (Down - Area Mismatch)"事件。 3) 如果本地系统的Routeing Type为"L2IntermediateSystem",IS应当执行表7中指定的操 作(不考虑manualL2OnlyMode的值)。 c) 如果执行的动作是"Up",(如以上引用的表中详细描述),IS应当将PDU的Source ID域与 本地SystemID比较。 1) 如果本地IS具有较高的Source ID,IS应当将环的CircuitID设为本地SystemID和Local Circuit ID的串联(即在IS发送的点对点IIH PDU中的Local Circuit ID域)。 2) 如果远程IS具有较高的Source ID,IS应当将环的CircuitID设为远程系统的Source ID(PDU的Source ID域)和远程系统的Local Circuit ID(PDU的Local Circuit ID域)。 3) 如果两个Source ID相同(即系统初始化为其本身),则使用本地SystemID。 注意 - circuitID不用来产生IS传送的IIH PDU的Local Circuit ID域.Local Circuit ID的值是在环创 建时一次性赋值的,以后值不改变。 d) 如果执行的动作是"Accept"并且计算出来新的circuitID的值与存在的邻接中的值不一致 时,IS应当: 1) 产生"Adjacency State Change(Down)"事件 2) 删除该邻接 e) 如果执行的动作是"Up"或"Accept",IS应当 1) 从PDU中拷贝出Adjacency neighbourAreas 入口。 2) 将holdingTimer设为PDU中"Holding Time"的值,且 3) 将neighbourSystemID设为PDU中"Source ID"的值。 表4 - 匹配区域的一级状态表 CircuitType(1) Adjacenty Type none(2) Level 1(3) Level 2(4) Level 1 only Up(5) L1(6) Accept Down(7)(Wrong system) Level 2 only Reject(8) (Wrong system) Down(7)(Wrong system) Down(7)(Wrong system) Level 1 & 2 Up(5) L2(9) Down(7)(Wrong system) Accep 1: 接收到PDU的"Circuit Type"域的值。 2: 邻接状态不是"Up"。 3: 邻接状态是"Up",邻接的adjacencyType是"L1 Intermediate System"。 4: 邻接状态是"Up",邻接的adjacencyType是"L2 Intermediate System"。 5: 邻接被接受,并产生一个"Adjacency State Change(Up)"事件.如果邻接的adjacencyType 是"Unknown"(即还未收到过ISH PDU),也应当传送一个点对点的IIH PDU。 6: adjacencyType被设为"L1 Intermediate System"。 7: 因为特定的原因,邻接被删除,产生一个"Adjacency State Change(Down)"事件。 8: 因为特定的原因,产生一个"Initialization Failure"事件。 9: adjacencyType被设为"L2 Intermediate System"。 8.2.5 监控点到点的相邻(Monitoring Point-to-point Adjacencies) IS应当拥有一个点到点相邻的保持时间(相邻保持计时器)。计时器的数值用来指示 Pt-Pt IIH PDU中计时器的保持时间。如果一个邻居在此时间内没有接收,那么IS应当: a)从数据库中清除它; b)产生一个相邻状态转移(向下)通知。 8.3 ISO 8208 子网 8.3.1 网络层协议 在ISO 8473中假定的用来提供ISO 8208子网的基本服务方式在ISO 8473条款8中所描 述。此方式定义了一系列子网相关集中功能(SNDCFs),用于联系特别个人ISO标准子网提供 的服务与ISO 8473条款5.5中定义的抽象的基本服务。特别在8.4.3中描述了子网相关集中 功能在ISO 8208子网中的应用。 8.3.2 SVC 建立 8.3.2.1 ISO 8473子网相关集中功能的使用 SVC应当通过ISO 8473中所定义的ISO 8208子网相关集中功能的程序(可能位于系统 管理动作或依赖于到来数据的流程类型)来建立。呼叫请求应当包含一协议鉴别器,用于在 前8位呼叫用户信息中规定ISO 8473.在静态流程情况下,一个SVC的建立仅依赖于系统管 理动作。此IS应使用邻居SNPA地址作为被呼叫的SNPA地址。在DA流程情况下,呼叫建立 程序被流程通信量的到达所启动。 8.3.2.2 动态分配流程 一动态分配流程拥有多个相邻,因而可以用来建立多SNAP的SVC。一般来说,建立呼叫 的SNPA地址可从将要发送一NPDU的NSAP中获得。当所有在ISO 8208子网上可达到的NSAP 都有IDI(表示它们的SNPA地址)时,正确的SNPA可以通过分析IDI得到确认。然而可能 会有一些NSAP,它们被要求在ISO 8208子网上到达,这些ISO 8208子网的IDI与它们在ISO 8208子网的连接点的SNPA地址不符。该IDI可能涉及一些其他的SNPA地址,这些地址不是 很理想的连接到目标NSAP上(或者一点也没有连接),或者此IDP根本没有包含一个X.121 地址(例如ISO DCC 方案)。在此情况下,IS应当预先设定信息连接一IDP(或地址前缀) 到一特殊的SNPA呼叫地址。 就像在8.1中所描述的,通过包含可到达地址的管理目标的附加信息来完成。地址提取 算法可能用来提取IDI部分地址,该地址为需要的X.121地址。表8为一系列可到达地址的 例子。 以下为说明: a)对于ISO DCC前缀39 123,称为SNPA地址X。 b)对于X.121 IDI地址前缀37 aaaaa,不是称为aaaaa而是B。 c)对于所有基于包含DNIC D(例如地址前缀37 D)SNPA的IDP,称为地址Y(它可能成为 到达一包含DNIC D的子网的网关)。 d)对于任何一个其他的X.121 IDI(例如地址前缀37)称为IDI地址的SNPA。 e)其他的名称(在表8中为*)称为地址R、S或者T。它们可能成为Level 2中间系统(通 过此系统任何其他地址都可能潜在地被达到)的SNPA地址。 注意:如果一DA流程被定义为包含一可达到地址前缀,该前缀包含地址可在一DCM或静态流程上被达到, 该DA流程的成本必然大于静态流程。如果不是这样的话,DA流程可被用于建立到达遥远的支持静态流 程的SNPA的呼叫,这样可能(错误地)假设它是静态流程。 8.3.2.3 初始呼叫(Level 2中间系统) 当一NPDU将要发送到一动态分配流程时,对于目标NSAP地址D,IS应当: a) 计算D的子网地址,或者是流程数据库中明确的规定,或者是从IDP中提取。 1) 如果此系统是一ES并且在RedirectCache(重定向高速缓冲)或者ReversePathCache (反向高速缓冲)中有一对于D的入口,使用此子网地址在Cache入口处。 2) 如果此系统是一ES或者Level 2中间系统,并且该地址与列出的可达到地址前缀(包 含*)之一相匹配,此子网地址通过映射类型性质来指定(要么手动,指出在SNPA 地址中的一系列地址被认为使用可到达地址,要么通过算法规则,指出它可从IDP 中使用指定的算法规则来提取)。如果多个SNPA地址被指定,并且在此已经在这些 SNPA地址中有一相邻,那么选择此子网,而不是像在8.3.2.4中所述选择最早时标 的子网。 3) 如果此地址不与列表中地址前缀相匹配(并没有*入口),调用ISO 8473丢弃PDU功 能。 b) 在邻接中扫描已经向D子网地址打开的邻接(也就是保留计时器还未过期)。如果发现, 发送NPDU到该邻接。 c) 如果没有邻接建立面向需要的子网地址的呼叫,但是有一自由邻接,那么尝试使用此子 网地址建立呼叫。 d) 如果没有自由邻接,调用ISO 8473丢弃PDU功能。 注意:有可能出现一邻接被保留(当一SVC一超过时限已经被清除,但保留计时器还未过期),此时,子网 服务提供者的资源应当保留,为了减少邻接需要开始呼叫但无法开始的可能性。 8.3.2.4 呼叫尝试失败 可到达地址管理目标可能包含一系列SNPA地址,每一地址均有一关联的时间标记。此时 间标记预置为无限早。 此系列的一些SNPA可能无法达到。如果对此SNPA列表之一的呼叫尝试失败,IS应当将 此列表入口标记为最新失败尝试的时间。当将要从列表中选出一SNPA地址时,IS应当选择 一具有最早时间标记的SNPA地址,除非最早时间标记时间比再呼叫计时器还要近。如果最早 时间标记时间比再呼叫计时器近时,所有SNPA应被假设为临时不可达并且不作呼叫尝试。IS 应改为调用ISO 8473丢弃PDU功能。 当试图与一单一的指定子网地址(不是一系列SNPA地址中的一个)建立连接时,比如一 个到指定SNPA地址A的呼叫尝试,因为某种原因失败时,IS应调用ISO 8473丢弃功能。另 外位于呼叫尝试的邻接应被置为失败状态,并且再呼叫计时器置位。再它期满前,IS不应为 将来要发送到子网地址A的NPDU建立呼叫尝试,而是应调用ISO 8473丢弃PDU功能。 当再呼叫计时器期满时,IS应放开邻接并呼叫一不同的目的地或重试子网地址A。 注意:如果一个设备可以储存有关SNPA地址的纪录,这些SNPA地址是开始于在一特定区域中尝试的 过程中失败的地址,而不是在呼叫尝试的邻接中,那么此邻接可被用于其他呼叫。 8.3.3 在DA回路上的反向路径转发 在一个子域被两个或更多SNPA放到一个已链接导向的子网络的地方,子域地址的IDP 可能被选择从附着点之一的地址建立。(这是不必的。整个子域能用SNPA的两个地址或一 些其他可选IDP多路回归(multi-home)。例如:ISO DCC。)从其他SNPA来的子域流量将 导致建立一个对应于子域地址IDP的SNPA的呼叫。子域来的流量会使用依赖子域作出的路 由决定的SNAP中的任一个。(见下图5说明) Figure 5 - Example for reverse path forwarding 子域经SNPA A和B放在已链接导向的子网上。子域地址用B的SNPA地址作为IDI 建立。如果C.z的流量是B.x送来的,从A 到B将建立一个呼叫。相反的从C.z到B.x的 流量将导致建立另一从C到B的呼叫。因此在需要一个SVC的地方,将建立两个SVC。 这个问题的预防是在本地系统保留一个高速缓存(叫做反向高速缓存 ReversePathCache)记录NASP地址,自这些地址流量已被从每个邻域接收。当有流量转发 自已经链接导向的NASP,IS会首先检测看是否目的NASP是在任一它的邻域的高速缓存中, 假如这样的话,在该邻域上转发流量。一个NASP只有当接收它的SNPA邻域的远方SNPA 地址与检查回路可达地址管理对象(the Circuit Reachable Addresses )时能产生的SNPA 地址有差异时才能加到高速缓存。如果cache已满,IS会重写最近使用过的入口。反向高速 缓存如果实行至少要有一个入口。IS会清空cache,当邻域卸除时(也就是当保留时间满时)。 8.3.4 在ISO 8208子网络上ISO 9542 的用法 STATIC和DA回路在点对点链路上是等同的,如在8.2节中描述的点对点链路那样允 许ISO 9542的操作。???? 对于DA回路,用ISO 9542来得到配置信息(例如中间系统的定位)是不切实际的, 既然这将需要对所有可能的SNPA 地址建立呼叫。 IS将不在DA回路上送ISO 9542 ISH PDUs。 IS在收到一个ESH PDU或ISH PDU时不会有行动,回路将不等待它们到来而完成初始化。 IS将不在DA回路上送点对点IIH PDU 。 IS将忽略收到IIH PDU 。 ??(如果STATIC或DA回路错误连接到一个为DA回路使用的SVC,将不发生以上情况。) ???该句有错 8.3.5 与更新进程的交互 一个动态分配的回路包括一个列表<可达地址前缀,花费,SNPA地址>tuples。同样, 每一个动态分配的回路有一个指定的由呼叫建立metrick(callEstablishmentMetric k:这 里k索引四个已定义metric)衡量的呼叫建立花费。该呼叫建立花费常常是一个内部metric, 因此只有可达地址metric也是内部的才可直接与之直接比较。当回路是有效的,在一个中间 系统中的子网络决定函数(Subnetwork Dependent function)将报告(给更新进程)在回路 可达地址管理对象中所有地址前缀的邻域花费改变事件,也有可达地址metrick+Deltak增加 (Reachable Address metric k + callEstablishmentMetric k Increment.)。如果可达地址metric是 内部的,则Deltak=0。这导致该信息被包括在后来产生的LSP中,如7.3.3.2所述。路由 PDU(LSP和序号PDU)将不会被送到动态分配回路。 注意 - 在下面的条款中,假定引用的可达地址都是已有效的(就是已状态“On”的),且它们的双亲 回路也已状态“On”。 8.3.5.1 邻域构造 在一个到SNPA地址的SVC已经成功建立且一个新的邻域已为其创造(不论它是本地 还是远端系统初始化的),如果呼叫建立metrick增加(callEstablishment MetrickIncrement) 大于零,IS将扫描回路可达地址管理对象找所有作为SNPA地址(之一)列举在D中的地 址前缀。 对用映射类型算法的可达地址,IS将构造一个暗含的前缀88就是一些可匹配可达地址 前缀的地址前缀,且当提取算法被真的远端SNPA地址D和地址提取算法申请时,其能产生 SNPA地址。 IS将为每一个这样的地址前缀(既是真的也是暗含的)产生一个邻域花费改变事件,运 用可达地址回路k(不用更多的呼叫建立metrick增加)。这使得用更低的花费可达的地址前 缀的信息被包括在后来产生的LSP中。这个效果将鼓励尽可能使用已建立的SVC。 8.3.5.2 邻域删除 当SNPA地址的邻域被释放(保留计数器满,或邻域被系统管理动作删除),则如果呼 叫建立metrick增加大于0,IS将扫描回路可达地址管理对象找所有那些用映射类型手册的 和它们的SNPA地址(之一)等于D的。IS将用可达地址metrick+Deltak增加(这里Deltak 如上已被定义)来对所有这样的地址前缀产生邻域花费改变事件给更新进程。对可以如上构 造一个暗含地址前缀的用映射类型X.121的可达地址,IS将对这暗含前缀产生一个邻域状态 改变通知(adjacencyStateChange notification)。 一个花费改变事件只能当已建有一个SVC的子网络地址数目计数从1到0的变化时才 能产生。 8.3.5.3 回路呼叫建立增加改变(Circuit Call Establishment Increment Change) 在一个动态分配回路,当系统管理为该回路改变呼叫建立metrick增加时,IS为所有被 这改变影响的地址前缀(就是那些当前不能建立呼叫的)产生邻域花费改变事件。 IS 将扫描该回路的所有地址管理目标。如果可达地址有映射类型X.121,IS将用可达地 址metrick+Deltak的 ??????新值为那个名字产生一个邻域花费改变事件。如果(基 于呼叫建立metrick增加的新值)可达地址有映射类型手册,IS将扫描所有这回路上的邻域 找一个与可达地址的SNPA地址(之一)相等的有SNPA地址的邻域。如果找不到,IS将用 可达地址metrick+Deltak的新值为那个名字产生一个邻域花费改变事件(基于呼叫建立 metrick增加的新值)。 8.3.5.4 可达地址花费改变 当一状态开的可达地址地metric特性被系统管理改变了,IS将为更新进程产生花费改 变事件来反映这个改变。 如果可达地址有映射类型手册,IS将扫描所有这回路的邻域找一个与可达地址的SNPA 地址(之一)相等的有SNPA地址的邻域。如果找到了一个或更多这样的邻域,IS将用新的 可达地址metrick为那个名字产生一个邻域花费改变事件。如果没找到,IS将用可达地址 metrick+Deltak的新值为那个名字产生一个邻域花费改变事件(基于呼叫建立metrick增加 的新值)。另外,对所有这回路的有一个SNPA地址的邻域(一个暗含的地址前缀能为这可 达地址产生),IS将为这暗含地址和新的可达地址metric产生一个邻域花费改变事件。 If the Reachable Address has mappingType "X.121", the IS shall generate an "adjacency cost change" event for that name with the new Reachable Address metric k +callEstablishmentMetric k Increment. In addition, for all Adja-cencies of the Circuit with an SNPAAddress for which an implied address prefix can be generated for this Reach-able Address, the IS shall generate an "adjacency cost change" event for that implied address prefix and the new Reachable Address metric k . 8.3.5.5 废止一个可达地址 当一个可达地址管理对象经由管理动作废止时,IS将产生一个邻域下降事件给更新进 程,为了这个可达地址的名字,也为任一关联这可达地址的暗含前缀。 8.3.5.6 使一个可达地址有效 当一个可达地址管理对象经由管理动作有效时,IS将产生一个邻域花费改变事件,如在 上面8.3.5.4节中所述的可达地址花费改变。In addition it shall generate an "Ad-jacency State Change(Up)" system management event. 8.4 广播子网络 8.4.1 广播子网络IIH PDUs 所有广播回路上(包括第一层和第二层)的中间系统应如8.4.3节中所述那样传送LAN IIH PDUs。第一层中间系统应只传送第一层LAN IIH PDUs。那些手册只第二层模式 (manualL2OnlyMode)设为真值的回路上的第二层中间系统应只传送第二层LAN IIH PDUs。 那些手册只第二层模式(manualL2OnlyMode)设为真值的回路上的第二层中间系统能传送两 者。 第n层LAN IIH PDUs包括正在传送的中间系统的ID,保留计时器,第n层优先权和手 册区域地址,加上一个包含了所有邻居系统类型第n层中间系统(neighbourSystemType Ln Intermediate System)(在初始状态或向上状态)的邻域的LAN地址。 LAN IIH PDUs 将被填补(其追踪PAD选项包括任一已填值八位字节)以使包含IIH PDUs 的SNSDU有一个至少maxsize- 1八位字节长度(99能被增加的PAD的最小长度是2个字 节,因为那是选项报头的大小。在可能处PDU将被填充到最大值,但如果PDU的长度是 maxsize- 1八位字节,不可能(或者说不需要)填充。)当第一层IIH PDUs的最大大小是如 下的最大值 - 数据链接块大小 - 产生第一层LSP缓冲区大小 且第二层IIH PDUs的最大大小是如下的最大值 - 数据链接块大小 - 产生第二层LSP缓冲区大小 这样做可以确保一个邻域将只在那些适合交换长度等于最大字节的PDU的系统间建立。 没有这个检测,将可能有一个比最大块的大小短的邻域存在,结果是一些LSP和SNP(就 是那些比这个邻域的最大长,但比最大大小短的)将不能被交换。 注意 - 一个能发生上述情况的拓扑的例子是一个从不同最大块大小的LAN部分构建起来的扩充 LAN。如果,作为错误构造或一些动态重构的结果,在有一个大的最大块大小的分离LAN部分上的两 个中间系统间的一条路径会存在,包括在较小块大小的LAN部分上传送,较大的PDU的丢失将会发 生如果中间系统继续使用那个较大的块大小。最好拒绝在这些情况下建立邻域。 第一层中间系统将传送第一层LAN IIH PDUs 到多目的地址所有第一层IS(the multi-destination address AllL1ISs),也收听那个地址。它们也将收听在多目的地址所有 中间系统(the multi-destination address AllIntermediateSys)的ESH PDUs。邻居中间 系统的列表只包括同一区域的第一层中间系统。(也就是邻居系统类型第二层中间系 统的邻域。) 第二层中间系统(其手册只第二层模式(manualL2OnlyMode)值为假)将执行如上的两 个动作。各别的第一层和第二层LAN IIH PDUs将被送往多目的地址所有第一层IS和所有第 二层IS(the multi-destination address AllL1ISs and AllL2ISs)分别为第一层和第二 层描述邻居的中间系统。在收到第一层和第二层LAN IIH PDUs后,各别的邻域将被建立。 8.4.1.1 IIH PDU 接收测试 接收到一个广播IIH PDUs后,执行以下PDU接收测试: a) 如果IIH PDUs是在一个外部域属性为真的回路上接收到的,IS 将丢弃该PDU。 b) 如果PDU的ID长度域不等于IS的路由域ID长度(routeingDomainIDLength),这PDU 将被抛弃,一个ID域长度不匹配(iDFieldLengthMismatch)通知产生。 c) 如果一组该回路的回路接收密码(circuitReceivePassword)不空,则执行下列测试: 1)如果这PDU不包含鉴定信息域,则PDU将被抛弃,一个鉴定错误信息 (authenticationFailure)通知产生。 2)如果这PDU包含鉴定信息域,但鉴定类型不等于密码,则PDU不会被接受除非IS 执行被鉴定类型指定的鉴定过程。这种情况下,不管IS接受或忽略PDU都超出了 本国际标准的范围。 3)否则,IS将比较收到的PDU中的密码与在接收PDU所在回路上的这组回路接收密 码中的各密码。如果PDU中的值符合这些密码中任一,IS将接收该DPU以进一步 转发。如果PDU中的值不符合这些密码中任一,则IS将忽略该PDU并产生一个 鉴定错误信息(authenticationFailure)通知。 8.4.1.2 第一层IIH PDUs的接收 在多目的地址所有第一层IS(the multi-destination address AllL1ISs)上接收一个 第一层LAN IIH PDU,IS 将从接收到的IIH PDU来比较每一区域地址,这IIH PDU有一组在 手册区域地址特性中(the manualAreaAddresses characteristic)的区域地址。如果在任一 对中都不能找到一个匹配(也就是本地和远端系统没有共同区域地址),IS将否决这个邻域 并产生一个初始化错误(区域不匹配)通知。否则(一个匹配被发现),IS将承认该领域并 设其邻域的邻居系统类型(the Adjacency neighbourSystemType)为第一层中间系统。 8.4.1.3 第二层IIH PDUs的接收 在多目的地址所有第二层IS(the multi-destination address AllL1ISs)上接收一个 第二层LAN IIH PDU,IS将承认该领域并设其邻域的邻居系统类型(the Adjacency neighbourSystemType)为第二层中间系统。 8.4.1.4 现有的邻域 当一个第n层LAN IIH PDU(第一层或第二层)被一个已经有一邻域的中间系统接收, 其邻域为: a) 邻域的LAN地址等于PDU的MAC源地址,且 b) 邻域的邻居系统ID等于从PDU来的源ID域,且 c) 邻居系统类型等于第n层直接系统, 则IS将依照PDU中的值来更新保留计时器,LAN优先权和邻居地址。 8.4.1.4 新邻域(New Adjacencies) 当发生下列情况时,IS将产生一个新的邻域: a) 第n层LAN IIH PDU(Intermediate system to Intermediate system Hello Protocol Data Unit) (第1层或第2层),被接收(从中介系统R); b) 没有这样的邻域,其邻域LAN地址(LANAddress)等于PDU的MAC源地址; c) 邻域的邻居系统ID(neighbourSystemID)等于PDU的源ID字段; d) 邻域类型为“第n层中介系统”(“Ln Intermediate System”)。 然而,如果邻域数据库空间不足以产生新的邻域,IS将按8.4.2节所描述的那样代为 完成。IS将会: a) 把邻域类型状态量设置为“第n层中介系统”(这里n为IIH PDU的层数); b) 根据PDU的值设置保留计时器(holding timer),LAN优先权,邻居ID和邻居地址 (neighbour Areas); c) 根据PDU的MAC源地址设置LANAdress。 IS将邻域状态(the state of the adjacency)设为“正在初始化”(“initializing”), 直至获知此系统和PDU(R)的源之间的通讯是双向的。然而,R将被包含在此系统将传输 的第n层LAN IIH PDUs中。 当R报告此线程的第n层LAN IIH PDUs中的LANAddress时IS将: a) 把邻域状态设为“Up”; b) 产生一个“邻域状态变化(Up)”事件("Adjacency State Change (Up)" event.)。 IS将为每一个“第n层中介系统”邻域保持一个单独的保留时间(邻域保留计时器) 保留计时器的值将域第nLAN IIH PDUs第保留计时字段的值相同。如果无法接收一个邻 居,IS将: a) 把它清除出数据库; b) 产生一个“邻域状态变化(Down)”事件。 如果从邻居N处接收到第n层LAN IIH PDU,且此系统的LANAddress不再存在于邻居 N的IIH PDU中,IS将: a) 把邻域状态设为“正在初始化”; b) 产生一个“邻域状态变化(Down)”事件。 8.4.2 邻域数据库空间不足(Insufficient Space in Adjacency Database) 如果IS需要产生一个新的中介系统邻域,但邻域数据库没有足够的空间时,LAN优先 级(LANPriority)最低,邻域类型为“第n层中介系统”的邻域将被清除出数据库。(如果 多于一个邻域有最低优先级,则其中LAN地址最小的邻域将被清除)。如果新的邻域有最 低优先级,它将被忽视,且产生一个“Rejected Adjacency”。 注意:在数位比较时,一个48位LAN地址被视为无符号的四位整数,随着它的第一个字节被传输, 且最左边的字节,被视为最低字节。 如果一个旧的邻域被清除,IS将产生一个“邻域状态变化(Down)”事件。在子网wuguan 功能发出“邻域down完成”信息后,IS会产生一个新的邻域。 8.4.3 LAN IIH PDUs 的传输 当线程已被激活时,一个IS将传输一个LAN IIG PDU。一个第2层中介系统(不仅仅 标记为第2层)传输一个第1层LAN IIH PDU和一个第2层LAN IIH PDU。 系统上次以此线程传输一个相同类型的LAN IIH PDU 之后至少一秒,IS也将传输一个 LAN IIH PDU,并且: a) 从上一个LAN IIH PDU传输周期以来,ISIS呼叫计时器秒(ISISHelloTimer seconds)消 逝(elasped)*了。保留时间被设为ISIS保留乘法器×ISIS呼叫计时器。对一个指定的中 介系统,,DRISISHelloTimer*的值被用作ISIShelloTimer。此PDU的保留时间将因此别 设为ISISHoldingMultiplier×DRISISHelloTimer seconds.这就允许指定的中介系统更快地 被侦测到;或者, b) 下一个要传输的IIH PDU的内容与此系统传输的前一个IIH PDU的内容不同,或, c) 此系统已决定,对于那层的指定LAN的中介系统是变成或辞去。this system has determined that it is to become or resign as LAN Designated Intermediate System for that level. 要使LAN上所有中介系统IIH PDU同时传输的可能性最小,当一个IIH PDU被传输, 作为定时器终止的结果或一旦成为或辞去指定的中介系统,呼叫时间定时器将只被重置。 * 抖动(jitter)的用法在第10.1节中介绍。 * 此情况下不用抖动,因为它将导致小于1秒的时间间隔 8.4.4 指定LAN中介系统(LAN Designated Intermediate Systems) 一个指定LAN的中介系统是LAN上的按某特定顺序的最高优先级中介系统,它有数 量最多的MAC源地址阻断节点。 通常,每一个LAN上有两个指定中介系统,即LAN的第1层指定中介系统和第2层 指定中介系统。它们按下列方法选择: a) 第1层中介系统选择LAN第1层指定中介系统。 b) 从只在第2层的中介系统(如Circuit manualL2OnlyMode 特性值设为“True”的第2层 中介系统)选出LAN的第2层指定中介系统。 c) 第2层中介系统(manualL2OnlyMode值为“False”)选出LAN的第1层和第2层指定 中介系统。 中介系统的设置应包括本地中介系统,以及下面这些类型合适的所有中介系统: a) 对LAN的第1层指定中介系统来说,从中介系统接收IIH PDUs和其邻域的状态为“Up” 都是中介系统的设置。当本地系统成为或辞去LAN的第1层指定中介系统,IS将产生 一个“LAN第1层指定中介系统变化”(“LAN Level 1 Designated Intermediate System Change ”)事件。另外当它成为LAN第1层指定中介系统时,它将形成以下动作: 1) 用现存的终端系统配置产生并传输第1层伪网点LSP(Level 1 Pseudonode LSPs); 2) 按7.2.3节描述的方法清除由前面的LAN第1层指定中介系统(如果有的话)发出的 第1层伪网点; 3) 请求新的终端系统按8.4.5节的介绍配置; b) 对LAN的第2层指定中介系统来说,从中介系统接收IIH PDUs和其邻域的状态为“Up” 都是中介系统的设置。当本地系统成为或辞去LAN的第1层指定中介系统,IS将产生一 个“LAN第2层指定中介系统变化”(“LAN Level 2 Designated Intermediate System Change ”)事件。另外当它成为LAN第2层指定中介系统时,它将形成以下动作: 1) 产生并传输第1层伪网点LSP(Level 1 Pseudonode LSPs); 2) 按7.2.3节描述的方法清除由前面的LAN第1层指定中介系统(如果有的话)发出 的第1层伪网点; 当一个中介系统不再作为LAN第1层或第2层指定中介系统,它将对7.2.3节描述的 链接状态PDU(Link State PDUs)作动作。 当广播网路(broadcast circuit)在一个中介系统上可用,此IS将形成以下动作: a) 开始发送IIH PDUs,其LAN ID 字段设为与其自身的SystemID与其本地指定的一字节 Local Circuit ID串连; b) 恳求终端系统按8.4.5节所叙述配置; c) 开始侦听ISO 9542 ISH PDUs和ESH PDUs,获得适当的邻域。不进行指定中介系统的 选择过程(election process) d) 在等待ISISHelloTime×2秒,根据中介系统类型,运行第1层和(或)第2层指定中 介系统选择过程。无论何时一个IIH PDU 被接收或被传输,象8.4.3节所述的那样,上 述过程都将随之运行(此情况下,传输系统本身的IIH PDU相当与接收它)。如果自从 上次进行选择过程以来,有关的信息没有改变,以前的结果可被假定。相关的信息是: 1) 中介系统邻域的设置, 2) 中介系统(包括本系统的)优先权的设置,以及 3) 网路上至少存在一个状态为“Up”的终端系统(不包括Manual Aduacencies)或中 介系统邻域(Intermediate system adjacency)。 一个中介系统不能宣称自己是一个任一类型的LAN指定中介系统,直到网路上有至少 一个“Up”终端系统(不包括Manual Adjacencies)或中介系统邻域。(这有助于防止出现下 述情况:一个有缺陷(defective)而无能力接收任何PDU的中介系统错误地把自己选为LAN 指定中介系统。) 系统传输的LAN IIH PDUs 中的LAN ID字段将被设为一值,此值是从本系统所知的指 定中介系统接收到的LAN IIH PDU(对适当的层)报告的LAN ID值。此值也将被传送到更 新过程(Update Process),作为伪网点ID,以使Link State PDUs被系统发布以表明与伪网点 的连通性。 作为指定中介系统选举过程的结果,如果此系统把自己当作指定中介系统,LAN ID 字段将被设为此系统自己ID与本地制定的一字节LocalCircuitID的串连(concatenation)。 8.4.5 恳求终端系统配置(Soliciting the ES configuration) 当LAN的配置或拓扑结构改变(例如一个LAN被失效的中继器或网桥划分成两部分), 就需要(新的)Designated Intermediate System来尽可能快的获得新End system配置以使其产 生正确反映实际配置的Link State PDUs。此功能由下述方法实现: 当网路可用或Intermediate system侦测到LAN上Intermeidate systems设置或the Designated Intermediate System ID的改变,IS将用以下动作发动对ES配置的轮询。 a) 在0和PollESHelloRate时间中延迟一个随机时间间隔。(这是为了避免与其它侦测到此 变化的中介系统的同步性) b) 当且仅当一个中介系统已删除LAN上的中介系统设置, 重设此网路上的所有邻域的 endsystemIDs 邻域数据库记录中的entryRemainingTime 字段的值为: (ISISHelloTimer+PollESHelloRate)×HoldingMultiplier 或现存的任一个较低的值。(这导致任一不再存在于LAN上的End systems很快超时 , 但不会再它们有机会回答轮询之前。) c) 在ISISHelloTimer和保持时间helloTimer×HoldingMultiplier的时间间隔内,传输每个由 中介系统支配的NET的Holding Multiplier ISH PDUs,此中介系统由的Suggested ES Configuration Timer的值为PollESHelloRate。 d) 在helloTimer时间间隔内重新发送ISH PDUs ,DefaultESHelloTimer的值为Suggested ES Configuration Timer。 8.4.6 收到ESH PDUs—终端系统数据库(Receipt of ESH PDUs-Database of End Systems) 当从新的数据链接地址收到一个ESH PDU,一个IS将把一个End system录入邻域数据 库。如果收到一个有相同数据链接地址,但NSAP地址不同的ESH PDU作为当前邻域,新 的地址将被加入到邻域数据库,并有一个单独的定时器。一个单独的ESH PDU可能包含多 于一个的NSAP地址。当一个新的数据链接地址或NSAP地址被加入到邻域数据库,IS将在 那个邻域上产生一个“邻域状态改变(Up)”事件。 IS将以接收到的 ESH PDU中的“Holding Time”的值设置一个定时器。如果在此定时 器终止前没有接收到另一个ESH PDU,倘若与正初始化邻域相关的子网独立功能已完成, ES将被清除出数据库。除非那些功能一完成,IS就清除邻域。 当邻域被清除,子网独立功能将被通知一个“邻域变化(Down)”事件,在与降低邻域 有关的子网独立功能完成后,邻域能被重新使用。 9. 协议数据单元的结构和编码 这一条表述内部域协议的数据格式。 协议数据单元的字节按递增的顺序从1开始编号。在比特1是最不重要的比特并在右边 加以描述的字节中,各比特从1到8编号。当连续的字节用来表示一个数时,低字节有最重 要的值。 标注"保留"的域被作为零来传送并在接收时被忽略,除非标注其它的方式。 数值用十进制的形式给出。所有的数字域都是无符号的整数,除非标注其它的方式。 网络层地址(NSAP 地址、网络、区域地址和地址前缀)根据ISO 8348/Add.2中指定的首 选的二进制编码准则,在协议数据单元编码;整个地址,被看作一个整体,由一串二进制字节 明确地表示。这一串字节在协议数据单元中整个的被传送。关于首选的二进制编码在ISO 8348/Add.2中有描述。这样产生的地址用地址中最重要的字节(也就是AFI),同时它也是第一 个传输的字节,来编码。地址中重要的半字节被编码在重要的半字节(也就是高4位)中,这 样地址/371234编码如下 No. of Octets 3 7 1 1 1 1 2 3 4 Figure 6 - Address encoding example 协议数据单元的类型有: --第一层局域网IS到IS问候协议数据单元 --第二层局域网IS到IS问候协议数据单元 --点对点IS到IS问候协议数据单元 --第一层链路状态协议数据单元 --第二层链路状态协议数据单元 --第一层全序数字协议数据单元 --第二层全序数字协议数据单元 --第一层半序数字协议数据单元 --第二层半序数字协议数据单元 9.1 第一层局域网IS到IS问候协议数据单元 该协议数据单元通过广播线路上的中间系统多点传送到多个目的地址的所有的第一层 IS中。这个协议数据单元的目的是为了广播线路上的中间系统能够发现线路上其它第一层中 间系统的身份。同时插入跟踪填充项是使协议数据单元长度至少等于最大长度-1,此最大长 度是下列长度中最大的: ???数据链路块长度 ???起始第一层链路分组缓冲长度 ??????内部域路由协议鉴别器-结构常量 ??????长度指示器-字节?????中报头长度 ??????版本/协议号扩展-1 ??????保留位-作为零传送,接受时被忽略 ??????类型??到5比特)-15。注意6、7、8位被保留,所以它们作为零传送,接受时被忽略。 ??????版本-1 ??????ECO-作为零传送,接受时被忽略 ??????用户ECO-作为零传送,接受时被忽略 ??????保留/线路类型-被保留的最重要的六位?作为零传送,接受时被忽略? ??????低位?1和2位?表示: ?????????保留值?如果指定为整个协议数据单元就被忽略? ?????????只有第一层 ?????????只有第二层?发送方是第二层唯一模式设为真的第二层中间系统,它将只在第二层交通 中使用这个连接? ?????????既有第一层也有第二层?发送方是第二层中间系统,它将在第一层和第二层交通中使用 这个连接? 注意-在一个局域网第一层IIH协议数据单元中,线路类型将是1或者3。 ???????源标志符-传输中间系统的六字节唯一标志符 ???????保持定时器-该中间系统使用的保持定时器 ???????协议数据单元长度-协议数据单元的整个长度,包括报头 ???????RES/优先权-比特8被保留?作为零传送,接受时被忽略?。比特1到7-优先作为局域 网第一层指定中间系统。无符号整数。 ???????局域网标志符-由六字节局域网第一层指定中间系统的唯一标志符加上第一层指定中间 系统分配的低字节组成。从第一层指定中间系统的IIH协议数据单元中复制而来。 ???????各种长度域-形式有: 图略 一个标准协议数据单元中未被识别的编码将被忽略。 目前定义的编码有: -区域地址-该中间系统的区域地址组。 ?????编码-1。 ?????长度-值域的总长。 ? 值- 图略 中间系统邻居-局域网上邻接类型为?第一层中间系统?的中间系统组,它们存在的状态 为?上行?或?初始化??也就是从这些中间系统中得到第一层IIH协议数据单元?。? ?????编码-6。 ????????????长度-值域的总长。 ????????????值- 图略 填充项-这一项可能出现多次。它用来将协议数据单元至少扩充到最大长度-1。 ?????编码-8。 ?????长度-值域的总长(可能为零?。 ????????????值-任意值的长度字节。 9.2 第二层局域网IS到IS问候协议数据单元 该协议数据单元通过广播线路上的中间系统多点传送到多个目的地址的所有的第二层 IS中。这个协议数据单元的目的是为了广播线路上的中间系统能够发现线路上其它第二层中 间系统的身份。同时插入跟踪填充项是使协议数据单元长度至少等于最大长度1,此最大长 度是下列长度中最大的: ???数据链路块长度 ???起始第二层链路分组缓冲长度 ??????内部域路由协议鉴别器-结构常量 ??????长度指示器-字节?????中报头长度 ??????版本/协议号扩展-1 ??????保留位-作为零传送,接受时被忽略 ??????类型??到5比特)-16?注意6、7、8位被保留,所以它们作为零传送,接受时被忽略。 ??????版本-1 ??????ECO-作为零传送,接受时被忽略 ??????用户ECO-作为零传送,接受时被忽略 ??????保个标准协议数据单元中未被识别的编码将被忽略。 目前定义的编码有:保留/线路类型-被保留的最重要的六位?作为零传送,接受时被忽 略? ??????低位?1和2位?表示: ?????????保留值?如果指定为整个协议数据单元就被忽略? ?????????只有第一层 ?????????只有第二层?发送方是第二层唯一模式设为真的第二层中间系统,它将只在第二层交通 中使用这个连接? ?????????既有第一层也有第二层?发送方是第二层中间系统,它将在第一层和第二层交通中使用 这个连接? 注意-在一个局域网第二层IIH协议数据单元中,线路类型将是2或者3。 ???????源标志符-传输中间系统的六字节唯一标志符 ???????保持定时器-该中间系统使用的保持定时器 ???????协议数据单元长度-协议数据单元的整个长度,包括报头 ???????RES/优先权-比特8被保留?作为零传送,接受时被忽略?。比特1到7-优先作为局域 网第一层指定中间系统。无符号整数。 ???????局域网标志符-7字节字段,由六字节局域网第一层指定中间系统的唯一标志符加上第 二层指定中间系统分配的低字节组成。从第一层指定中间系统的IIH协议数据单元中复制而 来。 ???????各种长度域-字段形式有: No. of Octets CODE 1 1 LENTH LENTH VALUE Any codes in a received PDU that are not recognised shall be ignored. Currently defined codes are: -区域地址-该中间系统的区域地址组。 ?????编码-1。 ?????长度-值域的总长。 ? 值- 图略 中间系统邻居-局域网上邻接类型为?第二层中间系统?的中间系统组,它们存在的状态 为?上行?或?初始化??也就是从这些中间系统中得到第二层IIH协议数据单元?。? ?????编码-6。 ????????????长度-值域的总长。 ????????????值- 图略 填充项-这一项可能出现多次。它用来将协议数据单元至少扩充到最大长度-1。 ?????编码-8。 ?????长度-值域的总长(可能为零?。 ????????????值-任意值的长度字节。 9???点对点IS到IS的问候协议数据单元 从邻居系统收到ISH协议数据单元后,该协议数据单元通过无广播线路上的中间系统传 输。目的是确定邻居系统是第一层或是第二层中间系统。同时插入跟踪填充项是使协议数据 单元长度至少等于最大长度-1,此最大长度是下列长度中最大的: ???数据链路块长度 ???起始第一层链路分组缓冲长度 ???起始第二层链路分组缓冲长度 ??????内部域路由协议鉴别器-结构常量 ??????长度指示器-字节?????中报头长度 ??????版本/协议号扩展-1 ??????保留位-作为零传送,接受时被忽略 ??????类型??到5比特)-16。注意6、7、8位被保留,所以它们作为零传送,接受时被忽略。 ??????版本-1 ??????ECO-作为零传送,接受时被忽略 ??????用户ECO-作为零传送,接受时被忽略 ??????保留/线路类型-被保留的最重要的六位?作为零传送,接受时被忽略? ??????低位?1和2位?表示: ?????????保留值?如果指定为整个协议数据单元就被忽略? ?????????只有第一层 ?????????只有第二层?发送方是第二层唯一模式设为真的第二层中间系统,它将只在第二层交通 中使用这个连接? ?????????既有第一层也有第二层?发送方是第二层中间系统,它将在第一层和第二层交通中使用 这个连接? ???????源标志符-传输中间系统的六字节唯一标志符 ???????保持定时器-该中间系统使用的保持定时器 ???????协议数据单元长度-协议数据单元的整个长度?包括报头? ???????本地线路标志符-由这个中间系统产生后分配给该线路的一字节唯一标志符。通过此标 志符,线路被连接的两端所识别。它是由中间系统通过源标志符的低位确定的。 ???????各种长度域-形式有: 图略 一个标准协议数据单元中未被识别的编码将被忽略。 目前定义的编码有: -区域地址-该中间系统的区域地址组。 ?????编码-1。 ?????长度-值域的总长。 ? 值- 图略 填充项-这一项可能出现多次。它用来将协议数据单元至少扩充到最大长度-1。 ?????编码-8。 ?????长度-值域的总长(可能为零?。 ????????????值-任意值的长度字节。 X 地址前缀是指根据7.1.4.条款编码的可达地址前缀。如果半八位字节 (semi-octets)的长度是奇数,则这个前缀会通过末尾补零的方式变为完整的八 位字节。 注:那些列在第二层LSP的,并且带有LSP号为零的地区地址选项中的地区地址,是被看作具有0价 值的可达地址领域。它们没有被分别列在前缀领域选项中。 9.6 第一层完全顺序号的PDU(协议数据单元) 字节数目 内部领域间的协议识别符 长度标志符 版本号/协议的外部ID 保留位 保留位 保留位 保留位 类型 版本号 回应信息(ECO) 用户回应信息(USER ECO) PDU的字节长度 源ID 首LSP的ID 尾LSP的ID 可变的长度域 1 1 1 1 1 1 1 1 2 7 8 8 可变的 ·内部领域间的协议识别符―体系结构常量 ·长度标志符-以八位字节表示的头标长度(33.) ·版本号/协议的外部ID-1 ·保留位-以零来传输,在接收时被忽略 ·类型(第一位到第五位)-24. 第六,七,八位时保留位,以零来传输,在接收 时被忽略 ·版本号-1 ·回应信息(ECO)-以零来传输,在接收时被忽略 ·用户回应信息(USER ECO)-以零来传输,在接收时被忽略 ·PDU的字节长度-一个PDU的总长度,在八字节中,包括头标 ·源ID-七字节的IS的ID(带有零回路ID),产生这个顺序号PDU。 ·首LSP的ID-在这个完全顺序号PDU中的首个LSP的八字节ID。 ·尾LSP的ID-在这个完全顺序号PDU中的最后一个LSP的八字节ID。 ·可变的长度域-LSP项目的表格形式: 字节数目 生存时间 LSP(连接状态协议数据单元)的ID LSP顺序号 校验和 生存时间 LSP(连接状态协议数据单元)的ID LSP顺序号 校验和 2 8 4 2 2 8 4 2 ·生存时间-LSP的生存时间。 ·LSP的ID-与这个入口有关的八字节LSP的ID。 ·LSP顺序号-LSP的顺序号码。 ·校验和-由LSP报告的校验和。 这些项目是按LSPID上升的顺序排列的(LSPID中的LSP号是其最低字 节(the least significant octet) )。 9.7 第二层完全顺序号的PDU(协议数据单元) 字节数目 内部领域间的协议识别符 长度标志符 版本号/协议的外部ID 保留位 保留位 保留位 保留位 类型 版本号 回应信息(ECO) 用户回应信息(USER ECO) PDU的字节长度 源ID 首LSP的ID 尾LSP的ID 可变的长度域 1 1 1 1 1 1 1 1 2 7 8 8 可变的 ·内部领域间的协议识别符―体系结构常量 ·长度标志符-以八位字节表示的头标长度(33.) ·版本号/协议的外部ID-1 ·保留位-以零来传输,在接收时被忽略 ·类型(第一位到第五位)-25. 第六,七,八位时保留位,以零来传输,在接 收时被忽略 ·版本号-1 ·回应信息(ECO)-以零来传输,在接收时被忽略 ·用户回应信息(USER ECO)-以零来传输,在接收时被忽略 ·PDU的字节长度-一个PDU的总长度,在八字节中,包括头标 ·源ID-七字节的IS的ID(带有零回路ID),产生这个顺序号PDU。 ·首LSP的ID-在这个完全顺序号PDU中的首个LSP的八字节ID。 ·尾LSP的ID-在这个完全顺序号PDU中的最后一个LSP的八字节ID。 ·可变的长度域-LSP项目的表格形式: 字节数目 生存时间 LSP(连接状态协议数据单元)的ID LSP顺序号 校验和 生存时间 LSP(连接状态协议数据单元)的ID LSP顺序号 校验和 2 8 4 2 2 8 4 2 ·生存时间-LSP的生存时间。 ·LSP的ID-与这个入口有关的八字节LSP的ID。 ·LSP顺序号-LSP的顺序号码。 ·校验和-由LSP报告的校验和。 这些项目是按LSPID上升的顺序排列的(LSPID中的LSP号是其最低字节(the least significant octet) )。 9.8 第一层部分顺序号的PDU(协议数据单元) 字节数目 内部领域间的协议识别符 长度标志符 版本号/协议的外部ID 保留位 保留位 保留位 保留位 类型 版本号 回应信息(ECO) 用户回应信息(USER ECO) PDU的字节长度 源ID 可变的长度域 1 1 1 1 1 1 1 1 2 7 可变的 ·内部领域间的协议识别符―体系结构常量 ·长度标志符-以八位字节表示的头标长度(17.) ·版本号/协议的外部ID-1 ·保留位-以零来传输,在接收时被忽略 ·类型(第一位到第五位)-26. 第六,七,八位时保留位,以零来传输,在接 收时被忽略 ·版本号-1 ·回应信息(ECO)-以零来传输,在接收时被忽略 ·用户回应信息(USER ECO)-以零来传输,在接收时被忽略 ·PDU的字节长度-一个PDU的总长度,在八字节中,包括头标 ·源ID-七字节的IS的ID(带有零回路ID),产生这个顺序号PDU。 ·可变的长度域-LSP项目的表格形式: 字节数目 生存时间 LSP(连接状态协议数据单元)的ID LSP顺序号 校验和 生存时间 LSP(连接状态协议数据单元)的ID LSP顺序号 校验和 2 8 4 2 2 8 4 2 ·生存时间-LSP的生存时间。 ·LSP的ID-与这个入口有关的八字节LSP的ID。 ·LSP顺序号-LSP的顺序号码。 ·校验和-由LSP报告的校验和。 这些项目是按LSPID上升的顺序排列的(LSPID中的LSP号是其最低字节(the least significant octet) )。 9.9 第二层部分顺序号的PDU(协议数据单元) 字节数目 内部领域间的协议识别符 长度标志符 版本号/协议的外部ID 保留位 保留位 保留位 保留位 类型 版本号 回应信息(ECO) 用户回应信息(USER ECO) PDU的字节长度 源ID 可变的长度域 1 1 1 1 1 1 1 1 2 7 可变的 ·内部领域间的协议识别符―体系结构常量 ·长度标志符-以八位字节表示的头标长度(17.) ·版本号/协议的外部ID-1 ·保留位-以零来传输,在接收时被忽略 ·类型(第一位到第五位)-27. 第六,七,八位时保留位,以零来传输,在接 收时被忽略 ·版本号-1 ·回应信息(ECO)-以零来传输,在接收时被忽略 ·用户回应信息(USER ECO)-以零来传输,在接收时被忽略 ·PDU的字节长度-一个PDU的总长度,在八字节中,包括头标 ·源ID-七字节的IS的ID(带有零回路ID),产生这个顺序号PDU。 ·可变的长度域-LSP项目的表格形式: 字节数目 生存时间 LSP(连接状态协议数据单元)的ID LSP顺序号 校验和 生存时间 LSP(连接状态协议数据单元)的ID LSP顺序号 校验和 2 8 4 2 2 8 4 2 ·生存时间-LSP的生存时间。 ·LSP的ID-与这个入口有关的八字节LSP的ID。 ·LSP顺序号-LSP的顺序号码。 ·校验和-由LSP报告的校验和。 这些项目是按LSPID上升的顺序排列的(LSPID中的LSP号是其最低字节(the least significant octet) )。 10 系统环境 10.1 在计时器上产生延时差 当PDUs作为一个计时器终止被传输时,不同系统的计时器由同步的风险。同步的结果 是造成拥塞。当出现大量的同步系统时,将会引起接收PDUs时,传输媒介和系统的过载。 为了避免这种情况的发生,所有的周期性计时器都配有延时差机制,算法如下: CONSTANT Jitter = 25; (* The percentage jitter as defined in the architectural constant Jitter *) Resolution = 100; (* The timer resolution in milliseconds *) PROCEDURE Random(max : Integer): Integer; (* This procedure delivers a Uniformly distributed random integer R such that 0 < R < max *) PROCEDURE DefineJitteredTimer(baseTimeValueInSeconds : Integer; expirationAction : Procedure); VAR baseTimeValue, maximumTimeModifier, waitTime : Integer; nextexpiration : Time; BEGIN baseTimeValue := baseTimeValueInSeconds * 1000 / Resolution; maximumTimeModifier := baseTimeValue * Jitter / 100; (* Compute maximum possible jitter *) WHILE running DO BEGIN (* First compute next expiration time *) randomTimeModifier := Random(maximumTimeModifier); waitTime := baseTimeValue - randomTimeModifier; nextexpiration := CurrentTime + waitTime; (* Then perform expiration Action *) expirationAction; WaitUntil(nextexpiration); END (* of Loop *) END (* of DefineJitteredTimer *) 在调入的函数DefineJitteredTimer(HelloTime,SendHelloPDU)中,呼叫计时(HelloTime) 占用10秒,引起发送呼叫PDU(SendHelloPDU)动作,这个动作在7.5到10秒的随机间 隔中产生。这个算法的关键在于"randomTimeModifier"的值是在内循环中随机产生。注意, 新的终止时刻是在最后的间隔结束后随即产生的,而不是终止动作完成之后产生的。 这个时间的分辨率应小于或等于100毫秒。建议要求小于或等于10毫秒。时间分辨率 是指在计时器的值不改变的前提下最大的时间间隔。周期性的传输周期要求具有随机或伪随 机性,通过相似的方法产生统一的分布。 10.2 计时的分辨率 在秒级单位上的计时器的分辨率要求不能小于正负1秒。 在毫秒级单位上的计时器的分辨率要求不能小于正负10毫秒。 10.3 ISO9542的规定 对于通过IS使用ISO9542的国际标准,有一些超越一致规定的强制性要求,说明如下: a) IS系统执行这样的设置信息功能,这些功能是被IS支持的各种子网类型所具有的。这包 括接收ESH PDUs(ISO9542 End System Hello Protocol Data Unit),接收ISH PDUs (ISO9542 Intermediate System Hello Protocol Data Unit)的传输。 b) IS赋予"所有的IS"(All Intermediate Systems)多目的子网地址。 11 系统管理 11.1 概述 使用系统管理监控IS-IS路由功能的域间操作。这个条款是路由管理目标的管理规范, 提供了一些管理方法。 11.1.1 数据类型 FROM CommonMgmt IMPORT NSAPAddress, NetworkEntityTitle, AreaAddress, AddressPrefix, SystemID, Unsigned, Counter,VersionNumber, ManagedObjectName, Latin1String, OctetString, SimpleName, LocalMOName,LANAddress, SNPAAddress, BinaryAbsoluteTime; TYPE adjacencyType = (Unknown(0), End system(1), Intermediate System(2), L1 Intermediate System(3), L2 Intermediate System(4); IDEntry = RECORD ID : SystemID; (* The System ID of a neighbour End system as reported in its ESH PDUs. *) entryHoldingTime: Unsigned [1..65535] (* The holding time in seconds as reported in the neighbours hellos. *) END; NETEntry = RECORD NET: NetworkEntityTitle; (* The NET of a neighbour Intermediate system as reported in its IIH PDUs. *) entryHoldingTime: Unsigned [1..65535] (* The holding time in seconds as reported in the neighbours hellos. *) END; CircuitType = (802.3(1), Pt-Pt(2), X.25 Static Incoming(3), X.25 Static Outgoing(4), X.25 DA(5), X.25 DCM(6)); Intermediate SystemType = (L1Intermediate System(1), L2Intermediate System(2)); 11.1.2 支持 路由管理目标及其附属管理目标的特性是由以下的从属条款定义的。但是,并非所有的 被定义的属性都适用于特殊管理目标类的各种情况。比如说,只有在被路由管理对象的类型 是L2Intermediate System时,路由属性maximumVirtualAdjacencies才会被定义。这些变量 的存在被Support所指示,通过使用在表9中定义的缩略语。 RFC1142 OSI IS-IS Intra-domain Routing Protocol OSI IS-IS 域内路由协议 1 RFC文档中文翻译计划