电脑技术学习

OSI IS-IS 域内路由协议(3)

dn001

8子网相关过程
子网相关过程为子网独立路由过程掩蔽不同类型子网的特征。子网独立过程仅能识别的
两种环路是广播环和一般拓扑结构的环。
子网相关的过程包括:
-使用与ISO8473SNDCF子网相关收敛过程相同的技术,使相同类型的子网之间能够
传送和接收PDU。
-与ES-IS协议(ISO9542)相协调,以确定网络层地址(以及在广播型子网上确定连接点)和
识别所有相邻的系统(端系统ES和中介系统IS).这些确定识别信息保存在邻接数据库
中,用以构造LSP。
-交换IIHPDU.虽然IS可以通过接收到ISO9542ISHPDU来识别出存在一个相邻的IS,
但ISO9542却没有提供方法来识别相邻系统是一级或是二级IS。因此定义了特定的
PDU(一级局域网,二级局域网和点对点IIHPDU)来传达这个信息。


8.1域边界IS上的多目标环路
路由信息(连接状态PDU)不能在路由域边界交换。因此,所有与连接到其他路由域的环路
相关的路由信息均通过地址可达治理对象进入。这些路由信息再通过连接状态PDU散布
到路由域的其他部分(如在7.3.3.2中所述)。这样,NPDU可以在可达地址的地址前缀中预定与
域边界IS相连的NSAP.当收到这类的NPDU时,IS应当根据自己的连接状态信息,将它转发到
适当的环路上。然而在多目标子网的情况下(例如使用动态分配的ISO8208子网,广播型子网
或无连接子网),为了将NPDU转发到适当的SNPA(它可能是在另一域中的目的ES或者IS。),
应当确知附加的子网相关地址信息。
一般情况下,NPDU应被转发的SNPA地址能够从NPDU的目的NSAP中得到。可以对目
的NSAP地址进行一些算法操作得到应被转发的NSAP地址。然对于一些目的NSAP来说这
是不可能的。在这种情况下,就应当使用预置信息使某个地址前缀对应于一个特定的SNPA地
址。
这通过可达地址从属治理对象中包含的附加信息来实现。mappingType特性可以设为
"manual",并且在SNPA地址特性中指定某个特定的SNPA地址或者SNPA地址集合。而且可
非凡制定出一个SNPA地址的运算方法。

8.2点对点子网
本段描述在点对点连接以及静态环路和DCMDED环路上相邻系统的识别。
IS应当运行ISO9542协议,应当能够从其他IS接收ISO9542ISHPDU,存储这样从邻接
数据库得到的信息。

8.2.1ESHPDU的接收-ES的数据库
IS应当在接收到ESHPDU时进入到ES的邻接数据库。假如ESHPDU是在同一个环上
被接收,但带有不同的NSAP地址,新的地址应当被加入到邻接中,并设置单独的计时器。一个
ESHPDU可以带有不只一个的NSAP地址。当一个新的数据连接地址或者NSAP地址加入
到邻接数据库中,IS应当在那个邻接上产生一个"AdjacencyStateChange(Up)"事件。
IS应当在接收到的ESHPDU的"HoldingTime"上设定一个定时器。假如在定时期过期之
前没有从ES上,那么完成与初始化邻接相关联的子网独立过程,并且此ES应当在定时结束
时从数据库清除。否则(若是接收到其他ESHPDU),则一旦这些过程完成,IS应当立即清除
邻接。
当一个邻接被清除,一个"AdjacencyChange(Down)"事件应当被发送给子网独立过程,当
与清除邻接相关联的子网独立过程完成,邻接可以重新使用。

8.2.2IS接收ISHPDU
当IS接收一个ISHPDU时,假如邻接不存在,IS应当创建一个邻接(状态为
"Initialising",adjacencyType为"Unknown"),然后执行以下操作:
a)假如邻接状态为"Up",ISHPDU中NET域中的ID与邻接的neighbourID不匹配,则IS
应当:
1)产生"AdjacencyStateChange(Down)"事件;
2)删除邻接;并且
3)产生一个新邻接,并且
i)设置新邻接状态为"Initialising",
ii)设置adjacencyType为"Unknown"。
4)执行如下操作:
b)假如邻接状态为"Initialising",adjacencyType为"IntermediateSystem",则这个ISHPDU应
当被忽略。
c)假如邻接状态为"Initialising",adjacencyType不是"IntermediateSystem",应当传送一个点
对点的IIHPDU(如8.2.3中所述)。
d)邻接状态设为"IntermediateSystem",指示相邻系统是IS,但类型(L1还是L2)仍未知。

8.2.3发送点对点IIHPDU
需要时,IS应当构造并且传送一个点对点的IIHPDU,如下所述:
a)环类型(CircuitType)域应当按照表3设置。
b)本地环(LocalCircuit)ID域应当在创建时由IS赋值.该值应当在IS的所有环中是唯一的。
c)第一个点对点IIHPDU(也就是说,传输该IIHPDU是收到ISHPDU的结果,而不是计时器
过期的结果)应当被填充(带有trailingPAD选项,包含任意值的字节),使包含IIHPDU的
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-设置环类型(CircuitType)域的值
路由类型
环manualL2OnlyMode
环类域
Level1

Level1only(1)
Level2
"True"
Level2only(2)
Level2
"False"
Level1and2(3)

8.2.4接收点对点IIHPDU
当IS收到点对点IIHPDU时,应当比较两个IS的区域地址(areaaddress)以确定邻接的有
效性.。假如两个IS有相同的区域地址,则邻接对于所有IS类型的组合都是有效的(除了一级
IS连接到二级IS,而二级IS的manualL2OnlyMode为"True").假如它们的区域地址不同,邻接仅
在两个IS均为二级IS时才有效,IS应当标记邻接为Level2Only.以下具体讨论。

当接收到点对点IIHPDU,PDU的所有区域地址应当与manualAreaAddresses中的地址比
较。
a)假如检测到任意一对地址匹配,执行以下操作:
1)假如本地系统的RouteingType为"L1IntermediateSystem",IS应当执行表4中指定的操
作。
2)假如本地系统的RouteingType为"L2IntermediateSystem",并且环的
manualL2OnlyMode为"False",IS应当执行表5的操作。
3)假如本地系统的RouteingType为"L2IntermediateSystem",并且环的
manualL2OnlyMode为"True",IS应当执行表6的操作。

b)假如任意一对地址均不匹配,执行以下操作
1)假如本地系统的RouteingType为"L1IntermediateSystem",并且邻接的状态不为"Up",IS
应当删除这个邻接并产生一个"InitialisationFailure(AreaMismatch)"事件。
2)假如本地系统的RouteingType为"L1IntermediateSystem",并且邻接的状态为"Up",IS应
当删除这个邻接并产生一个"AdjacencyStateChange(Down-AreaMismatch)"事件。
3)假如本地系统的RouteingType为"L2IntermediateSystem",IS应当执行表7中指定的操
作(不考虑manualL2OnlyMode的值)。

c)假如执行的动作是"Up",(如以上引用的表中具体描述),IS应当将PDU的SourceID域与
本地SystemID比较。
1)假如本地IS具有较高的SourceID,IS应当将环的CircuitID设为本地SystemID和Local
CircuitID的串联(即在IS发送的点对点IIHPDU中的LocalCircuitID域)。
2)假如远程IS具有较高的SourceID,IS应当将环的CircuitID设为远程系统的Source
ID(PDU的SourceID域)和远程系统的LocalCircuitID(PDU的LocalCircuitID域)。
3)假如两个SourceID相同(即系统初始化为其本身),则使用本地SystemID。
注重-circuitID不用来产生IS传送的IIHPDU的LocalCircuitID域.LocalCircuitID的值是在环创
建时一次性赋值的,以后值不改变。
d)假如执行的动作是"Accept"并且计算出来新的circuitID的值与存在的邻接中的值不一致
时,IS应当:
1)产生"AdjacencyStateChange(Down)"事件
2)删除该邻接
e)假如执行的动作是"Up"或"Accept",IS应当
1)从PDU中拷贝出AdjacencyneighbourAreas入口。
2)将holdingTimer设为PDU中"HoldingTime"的值,且
3)将neighbourSystemID设为PDU中"SourceID"的值。

表4-匹配区域的一级状态表
CircuitType(1)

AdjacentyType

none(2)
Level1(3)
Level2(4)
Level1only
Up(5)L1(6)
Accept
Down(7)(Wrongsystem)
Level2only
Reject(8)(Wrongsystem)
Down(7)(Wrongsystem)
Down(7)(Wrongsystem)
Level1&2
Up(5)L2(9)
Down(7)(Wrongsystem)
Accep

1:接收到PDU的"CircuitType"域的值。
2:邻接状态不是"Up"。
3:邻接状态是"Up",邻接的adjacencyType是"L1IntermediateSystem"。
4:邻接状态是"Up",邻接的adjacencyType是"L2IntermediateSystem"。
5:邻接被接受,并产生一个"AdjacencyStateChange(Up)"事件.假如邻接的adjacencyType
是"Unknown"(即还未收到过ISHPDU),也应当传送一个点对点的IIHPDU。
6:adjacencyType被设为"L1IntermediateSystem"。
7:因为特定的原因,邻接被删除,产生一个"AdjacencyStateChange(Down)"事件。
8:因为特定的原因,产生一个"InitializationFailure"事件。
9:adjacencyType被设为"L2IntermediateSystem"。






8.2.5监控点到点的相邻(MonitoringPoint-to-pointAdjacencies)
IS应当拥有一个点到点相邻的保持时间(相邻保持计时器)。计时器的数值用来指示
Pt-PtIIHPDU中计时器的保持时间。假如一个邻居在此时间内没有接收,那么IS应当:
a)从数据库中清除它;
b)产生一个相邻状态转移(向下)通知。

8.3ISO8208子网
8.3.1网络层协议
在ISO8473中假定的用来提供ISO8208子网的基本服务方式在ISO8473条款8中所描
述。此方式定义了一系列子网相关集中功能(SNDCFs),用于联系非凡个人ISO标准子网提供
的服务与ISO8473条款5.5中定义的抽象的基本服务。非凡在8.4.3中描述了子网相关集中
功能在ISO8208子网中的应用。

8.3.2SVC建立
8.3.2.1ISO8473子网相关集中功能的使用
SVC应当通过ISO8473中所定义的ISO8208子网相关集中功能的程序(可能位于系统
治理动作或依靠于到来数据的流程类型)来建立。呼叫请求应当包含一协议鉴别器,用于在
前8位呼叫用户信息中规定ISO8473.在静态流程情况下,一个SVC的建立仅依靠于系统管
理动作。此IS应使用邻居SNPA地址作为被呼叫的SNPA地址。在DA流程情况下,呼叫建立
程序被流程通信量的到达所启动。

8.3.2.2动态分配流程
一动态分配流程拥有多个相邻,因而可以用来建立多SNAP的SVC。一般来说,建立呼叫
的SNPA地址可从将要发送一NPDU的NSAP中获得。当所有在ISO8208子网上可达到的NSAP
都有IDI(表示它们的SNPA地址)时,正确的SNPA可以通过分析IDI得到确认。然而可能
会有一些NSAP,它们被要求在ISO8208子网上到达,这些ISO8208子网的IDI与它们在ISO
8208子网的连接点的SNPA地址不符。该IDI可能涉及一些其他的SNPA地址,这些地址不是
很理想的连接到目标NSAP上(或者一点也没有连接),或者此IDP根本没有包含一个X.121
地址(例如ISODCC方案)。在此情况下,IS应当预先设定信息连接一IDP(或地址前缀)
到一非凡的SNPA呼叫地址。
就像在8.1中所描述的,通过包含可到达地址的治理目标的附加信息来完成。地址提取
算法可能用来提取IDI部分地址,该地址为需要的X.121地址。表8为一系列可到达地址的
例子。


以下为说明:
a)对于ISODCC前缀39123,称为SNPA地址X。
b)对于X.121IDI地址前缀37aaaaa,不是称为aaaaa而是B。
c)对于所有基于包含DNICD(例如地址前缀37D)SNPA的IDP,称为地址Y(它可能成为
到达一包含DNICD的子网的网关)。
d)对于任何一个其他的X.121IDI(例如地址前缀37)称为IDI地址的SNPA。
e)其他的名称(在表8中为*)称为地址R、S或者T。它们可能成为Level2中间系统(通
过此系统任何其他地址都可能潜在地被达到)的SNPA地址。

注重:假如一DA流程被定义为包含一可达到地址前缀,该前缀包含地址可在一DCM或静态流程上被达到,
该DA流程的成本必然大于静态流程。假如不是这样的话,DA流程可被用于建立到达遥远的支持静态流
程的SNPA的呼叫,这样可能(错误地)假设它是静态流程。

8.3.2.3初始呼叫(Level2中间系统)
当一NPDU将要发送到一动态分配流程时,对于目标NSAP地址D,IS应当:
a)计算D的子网地址,或者是流程数据库中明确的规定,或者是从IDP中提取。
1)假如此系统是一ES并且在RedirectCache(重定向高速缓冲)或者ReversePathCache
(反向高速缓冲)中有一对于D的入口,使用此子网地址在Cache入口处。
2)假如此系统是一ES或者Level2中间系统,并且该地址与列出的可达到地址前缀(包
含*)之一相匹配,此子网地址通过映射类型性质来指定(要么手动,指出在SNPA
地址中的一系列地址被认为使用可到达地址,要么通过算法规则,指出它可从IDP
中使用指定的算法规则来提取)。假如多个SNPA地址被指定,并且在此已经在这些
SNPA地址中有一相邻,那么选择此子网,而不是像在8.3.2.4中所述选择最早时标
的子网。
3)假如此地址不与列表中地址前缀相匹配(并没有*入口),调用ISO8473丢弃PDU功
能。

b)在邻接中扫描已经向D子网地址打开的邻接(也就是保留计时器还未过期)。假如发现,
发送NPDU到该邻接。

c)假如没有邻接建立面向需要的子网地址的呼叫,但是有一自由邻接,那么尝试使用此子
网地址建立呼叫。

d)假如没有自由邻接,调用ISO8473丢弃PDU功能。

注重:有可能出现一邻接被保留(当一SVC一超过时限已经被清除,但保留计时器还未过期),此时,子网
服务提供者的资源应当保留,为了减少邻接需要开始呼叫但无法开始的可能性。

8.3.2.4呼叫尝试失败
可到达地址治理目标可能包含一系列SNPA地址,每一地址均有一关联的时间标记。此时
间标记预置为无限早。
此系列的一些SNPA可能无法达到。假如对此SNPA列表之一的呼叫尝试失败,IS应当将
此列表入口标记为最新失败尝试的时间。当将要从列表中选出一SNPA地址时,IS应当选择
一具有最早时间标记的SNPA地址,除非最早时间标记时间比再呼叫计时器还要近。假如最早
时间标记时间比再呼叫计时器近时,所有SNPA应被假设为临时不可达并且不作呼叫尝试。IS
应改为调用ISO8473丢弃PDU功能。
当试图与一单一的指定子网地址(不是一系列SNPA地址中的一个)建立连接时,比如一
个到指定SNPA地址A的呼叫尝试,因为某种原因失败时,IS应调用ISO8473丢弃功能。另
外位于呼叫尝试的邻接应被置为失败状态,并且再呼叫计时器置位。再它期满前,IS不应为
将来要发送到子网地址A的NPDU建立呼叫尝试,而是应调用ISO8473丢弃PDU功能。
当再呼叫计时器期满时,IS应放开邻接并呼叫一不同的目的地或重试子网地址A。

注重:假如一个设备可以储存有关SNPA地址的纪录,这些SNPA地址是开始于在一特定区域中尝试的
过程中失败的地址,而不是在呼叫尝试的邻接中,那么此邻接可被用于其他呼叫。


8.3.3在DA回路上的反向路径转发
在一个子域被两个或更多SNPA放到一个已链接导向的子网络的地方,子域地址的IDP
可能被选择从附着点之一的地址建立。(这是不必的。整个子域能用SNPA的两个地址或一
些其他可选IDP多路回归(multi-home)。例如:ISODCC。)从其他SNPA来的子域流量将
导致建立一个对应于子域地址IDP的SNPA的呼叫。子域来的流量会使用依靠子域作出的路
由决定的SNAP中的任一个。(见下图5说明)

Figure5-Exampleforreversepathforwarding
子域经SNPAA和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
地址与检查回路可达地址治理对象(theCircuitReachableAddresses)时能产生的SNPA
地址有差异时才能加到高速缓存。假如cache已满,IS会重写最近使用过的入口。反向高速
缓存假如实行至少要有一个入口。IS会清空cache,当邻域卸除时(也就是当保留时间满时)。

8.3.4在ISO8208子网络上ISO9542的用法
STATIC和DA回路在点对点链路上是等同的,如在8.2节中描述的点对点链路那样允
许ISO9542的操作。????
对于DA回路,用ISO9542来得到配置信息(例如中间系统的定位)是不切实际的,
既然这将需要对所有可能的SNPA地址建立呼叫。
IS将不在DA回路上送ISO9542ISHPDUs。
IS在收到一个ESHPDU或ISHPDU时不会有行动,回路将不等待它们到来而完成初始化。
IS将不在DA回路上送点对点IIHPDU。
IS将忽略收到IIHPDU。
??(假如STATIC或DA回路错误连接到一个为DA回路使用的SVC,将不发生以上情况。)
???该句有错


8.3.5与更新进程的交互
一个动态分配的回路包括一个列表<可达地址前缀,花费,SNPA地址>tuples。同样,
每一个动态分配的回路有一个指定的由呼叫建立metrick(callEstablishmentMetrick:这
里k索引四个已定义metric)衡量的呼叫建立花费。该呼叫建立花费经常是一个内部metric,
因此只有可达地址metric也是内部的才可直接与之直接比较。当回路是有效的,在一个中间
系统中的子网络决定函数(SubnetworkDependentfunction)将报告(给更新进程)在回路
可达地址治理对象中所有地址前缀的邻域花费改变事件,也有可达地址metrick+Deltak增加
(ReachableAddressmetrick+callEstablishmentMetrickIncrement.)。假如可达地址metric是
内部的,则Deltak=0。这导致该信息被包括在后来产生的LSP中,如7.3.3.2所述。路由
PDU(LSP和序号PDU)将不会被送到动态分配回路。
注重-在下面的条款中,假定引用的可达地址都是已有效的(就是已状态“On”的),且它们的双亲
回路也已状态“On”。
8.3.5.1邻域构造
在一个到SNPA地址的SVC已经成功建立且一个新的邻域已为其创造(不论它是本地
还是远端系统初始化的),假如呼叫建立metrick增加(callEstablishmentMetrickIncrement)
大于零,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将对这暗含前缀产生一个邻域状态
改变通知(adjacencyStateChangenotification)。
一个花费改变事件只能当已建有一个SVC的子网络地址数目计数从1到0的变化时才
能产生。

8.3.5.3回路呼叫建立增加改变(CircuitCallEstablishmentIncrement
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产生一个邻域花费改变事件。
IftheReachableAddresshasmappingType"X.121",theISshallgeneratean"adjacencycost
change"eventforthatnamewiththenewReachableAddressmetrick+callEstablishmentMetric
kIncrement.Inaddition,forallAdja-cenciesoftheCircuitwithanSNPAAddressforwhichan
impliedaddressprefixcanbegeneratedforthisReach-ableAddress,theISshallgeneratean
"adjacencycostchange"eventforthatimpliedaddressprefixandthenewReachableAddress
metrick.

8.3.5.5废止一个可达地址
当一个可达地址治理对象经由治理动作废止时,IS将产生一个邻域下降事件给更新进
程,为了这个可达地址的名字,也为任一关联这可达地址的暗含前缀。

8.3.5.6使一个可达地址有效
当一个可达地址治理对象经由治理动作有效时,IS将产生一个邻域花费改变事件,如在
上面8.3.5.4节中所述的可达地址花费改变。Inadditionitshallgeneratean"Ad-jacencyState
Change(Up)"systemmanagementevent.

8.4广播子网络
8.4.1广播子网络IIHPDUs
所有广播回路上(包括第一层和第二层)的中间系统应如8.4.3节中所述那样传送LAN
IIHPDUs。第一层中间系统应只传送第一层LANIIHPDUs。那些手册只第二层模式
(manualL2OnlyMode)设为真值的回路上的第二层中间系统应只传送第二层LANIIHPDUs。
那些手册只第二层模式(manualL2OnlyMode)设为真值的回路上的第二层中间系统能传送两
者。
第n层LANIIHPDUs包括正在传送的中间系统的ID,保留计时器,第n层优先权和手
册区域地址,加上一个包含了所有邻居系统类型第n层中间系统(neighbourSystemTypeLn
IntermediateSystem)(在初始状态或向上状态)的邻域的LAN地址。
LANIIHPDUs将被填补(其追踪PAD选项包括任一已填值八位字节)以使包含IIHPDUs
的SNSDU有一个至少maxsize-1八位字节长度(99能被增加的PAD的最小长度是2个字
节,因为那是选项报头的大小。在可能处PDU将被填充到最大值,但假如PDU的长度是
maxsize-1八位字节,不可能(或者说不需要)填充。)当第一层IIHPDUs的最大大小是如
下的最大值
-数据链接块大小
-产生第一层LSP缓冲区大小
且第二层IIHPDUs的最大大小是如下的最大值
-数据链接块大小
-产生第二层LSP缓冲区大小

这样做可以确保一个邻域将只在那些适合交换长度等于最大字节的PDU的系统间建立。
没有这个检测,将可能有一个比最大块的大小短的邻域存在,结果是一些LSP和SNP(就
是那些比这个邻域的最大长,但比最大大小短的)将不能被交换。

注重-一个能发生上述情况的拓扑的例子是一个从不同最大块大小的LAN部分构建起来的扩充
LAN。假如,作为错误构造或一些动态重构的结果,在有一个大的最大块大小的分离LAN部分上的两
个中间系统间的一条路径会存在,包括在较小块大小的LAN部分上传送,较大的PDU的丢失将会发
生假如中间系统继续使用那个较大的块大小。最好拒绝在这些情况下建立邻域。

第一层中间系统将传送第一层LANIIHPDUs到多目的地址所有第一层IS(the
multi-destinationaddressAllL1ISs),也收听那个地址。它们也将收听在多目的地址所有
中间系统(themulti-destinationaddressAllIntermediateSys)的ESHPDUs。邻居中间
系统的列表只包括同一区域的第一层中间系统。(也就是邻居系统类型第二层中间系
统的邻域。)

第二层中间系统(其手册只第二层模式(manualL2OnlyMode)值为假)将执行如上的两
个动作。各别的第一层和第二层LANIIHPDUs将被送往多目的地址所有第一层IS和所有第
二层IS(themulti-destinationaddressAllL1ISsandAllL2ISs)分别为第一层和第二
层描述邻居的中间系统。在收到第一层和第二层LANIIHPDUs后,各别的邻域将被建立。

8.4.1.1IIHPDU接收测试
接收到一个广播IIHPDUs后,执行以下PDU接收测试:
a)假如IIHPDUs是在一个外部域属性为真的回路上接收到的,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第一层IIHPDUs的接收
在多目的地址所有第一层IS(themulti-destinationaddressAllL1ISs)上接收一个
第一层LANIIHPDU,IS将从接收到的IIHPDU来比较每一区域地址,这IIHPDU有一组在
手册区域地址特性中(themanualAreaAddressescharacteristic)的区域地址。假如在任一
对中都不能找到一个匹配(也就是本地和远端系统没有共同区域地址),IS将否决这个邻域
并产生一个初始化错误(区域不匹配)通知。否则(一个匹配被发现),IS将承认该领域并
设其邻域的邻居系统类型(theAdjacencyneighbourSystemType)为第一层中间系统。

8.4.1.3第二层IIHPDUs的接收
在多目的地址所有第二层IS(themulti-destinationaddressAllL1ISs)上接收一个
第二层LANIIHPDU,IS将承认该领域并设其邻域的邻居系统类型(theAdjacency
neighbourSystemType)为第二层中间系统。

8.4.1.4现有的邻域
当一个第n层LANIIHPDU(第一层或第二层)被一个已经有一邻域的中间系统接收,
其邻域为:
a)邻域的LAN地址等于PDU的MAC源地址,且
b)邻域的邻居系统ID等于从PDU来的源ID域,且
c)邻居系统类型等于第n层直接系统,
则IS将依照PDU中的值来更新保留计时器,LAN优先权和邻居地址。



8.4.1.4新邻域(NewAdjacencies)
当发生下列情况时,IS将产生一个新的邻域:
a) 第n层LANIIHPDU(IntermediatesystemtoIntermediatesystemHelloProtocolDataUnit)
(第1层或第2层),被接收(从中介系统R);
b) 没有这样的邻域,其邻域LAN地址(LANAddress)等于PDU的MAC源地址;
c) 邻域的邻居系统ID(neighbourSystemID)等于PDU的源ID字段;
d) 邻域类型为“第n层中介系统”(“LnIntermediateSystem”)。

然而,假如邻域数据库空间不足以产生新的邻域,IS将按8.4.2节所描述的那样代为
完成。IS将会:
a) 把邻域类型状态量设置为“第n层中介系统”(这里n为IIHPDU的层数);
b) 根据PDU的值设置保留计时器(holdingtimer),LAN优先权,邻居ID和邻居地址
(neighbourAreas);
c) 根据PDU的MAC源地址设置LANAdress。

IS将邻域状态(thestateoftheadjacency)设为“正在初始化”(“initializing”),
直至获知此系统和PDU(R)的源之间的通讯是双向的。然而,R将被包含在此系统将传输
的第n层LANIIHPDUs中。

当R报告此线程的第n层LANIIHPDUs中的LANAddress时IS将:
a) 把邻域状态设为“Up”;
b) 产生一个“邻域状态变化(Up)”事件("AdjacencyStateChange(Up)"event.)。
IS将为每一个“第n层中介系统”邻域保持一个单独的保留时间(邻域保留计时器)
保留计时器的值将域第nLANIIHPDUs第保留计时字段的值相同。假如无法接收一个邻
居,IS将:
a) 把它清除出数据库;
b) 产生一个“邻域状态变化(Down)”事件。

假如从邻居N处接收到第n层LANIIHPDU,且此系统的LANAddress不再存在于邻居
N的IIHPDU中,IS将:
a) 把邻域状态设为“正在初始化”;
b) 产生一个“邻域状态变化(Down)”事件。

8.4.2邻域数据库空间不足(InsufficientSpaceinAdjacencyDatabase)
假如IS需要产生一个新的中介系统邻域,但邻域数据库没有足够的空间时,LAN优先
级(LANPriority)最低,邻域类型为“第n层中介系统”的邻域将被清除出数据库。(假如
多于一个邻域有最低优先级,则其中LAN地址最小的邻域将被清除)。假如新的邻域有最
低优先级,它将被忽视,且产生一个“RejectedAdjacency”。
注重:在数位比较时,一个48位LAN地址被视为无符号的四位整数,随着它的第一个字节被传输,
且最左边的字节,被视为最低字节。
假如一个旧的邻域被清除,IS将产生一个“邻域状态变化(Down)”事件。在子网wuguan
功能发出“邻域down完成”信息后,IS会产生一个新的邻域。

8.4.3LANIIHPDUs的传输
当线程已被激活时,一个IS将传输一个LANIIGPDU。一个第2层中介系统(不仅仅
标记为第2层)传输一个第1层LANIIHPDU和一个第2层LANIIHPDU。
系统上次以此线程传输一个相同类型的LANIIHPDU之后至少一秒,IS也将传输一个
LANIIHPDU,并且:
a) 从上一个LANIIHPDU传输周期以来,ISIS呼叫计时器秒(ISISHelloTimerseconds)消
逝(elasped)*了。保留时间被设为ISIS保留乘法器×ISIS呼叫计时器。对一个指定的中
介系统,,DRISISHelloTimer*的值被用作ISIShelloTimer。此PDU的保留时间将因此别
设为ISISHoldingMultiplier×DRISISHelloTimerseconds.这就答应指定的中介系统更快地
被侦测到;或者,
b) 下一个要传输的IIHPDU的内容与此系统传输的前一个IIHPDU的内容不同,或,
c) 此系统已决定,对于那层的指定LAN的中介系统是变成或辞去。thissystemhasdetermined
thatitistobecomeorresignasLANDesignatedIntermediateSystemforthatlevel.
要使LAN上所有中介系统IIHPDU同时传输的可能性最小,当一个IIHPDU被传输,
作为定时器终止的结果或一旦成为或辞去指定的中介系统,呼叫时间定时器将只被重置。
*抖动(jitter)的用法在第10.1节中介绍。
*此情况下不用抖动,因为它将导致小于1秒的时间间隔

8.4.4指定LAN中介系统(LANDesignatedIntermediateSystems)
一个指定LAN的中介系统是LAN上的按某特定顺序的最高优先级中介系统,它有数
量最多的MAC源地址阻断节点。
通常,每一个LAN上有两个指定中介系统,即LAN的第1层指定中介系统和第2层
指定中介系统。它们按下列方法选择:
a)第1层中介系统选择LAN第1层指定中介系统。
b)从只在第2层的中介系统(如CircuitmanualL2OnlyMode特性值设为“True”的第2层
中介系统)选出LAN的第2层指定中介系统。
c)第2层中介系统(manualL2OnlyMode值为“False”)选出LAN的第1层和第2层指定
中介系统。

中介系统的设置应包括本地中介系统,以及下面这些类型合适的所有中介系统:
a)对LAN的第1层指定中介系统来说,从中介系统接收IIHPDUs和其邻域的状态为“Up”
都是中介系统的设置。当本地系统成为或辞去LAN的第1层指定中介系统,IS将产生
一个“LAN第1层指定中介系统变化”(“LANLevel1DesignatedIntermediateSystem
Change”)事件。另外当它成为LAN第1层指定中介系统时,它将形成以下动作:
1)用现存的终端系统配置产生并传输第1层伪网点LSP(Level1PseudonodeLSPs);
2)按7.2.3节描述的方法清除由前面的LAN第1层指定中介系统(假如有的话)发出的
第1层伪网点;
3)请求新的终端系统按8.4.5节的介绍配置;
b) 对LAN的第2层指定中介系统来说,从中介系统接收IIHPDUs和其邻域的状态为“Up”
都是中介系统的设置。当本地系统成为或辞去LAN的第1层指定中介系统,IS将产生一
个“LAN第2层指定中介系统变化”(“LANLevel2DesignatedIntermediateSystem
Change”)事件。另外当它成为LAN第2层指定中介系统时,它将形成以下动作:

1)产生并传输第1层伪网点LSP(Level1PseudonodeLSPs);
2)按7.2.3节描述的方法清除由前面的LAN第1层指定中介系统(假如有的话)发出
的第1层伪网点;

当一个中介系统不再作为LAN第1层或第2层指定中介系统,它将对7.2.3节描述的
链接状态PDU(LinkStatePDUs)作动作。
当广播网路(broadcastcircuit)在一个中介系统上可用,此IS将形成以下动作:
a) 开始发送IIHPDUs,其LANID字段设为与其自身的SystemID与其本地指定的一字节
LocalCircuitID串连;
b) 恳求终端系统按8.4.5节所叙述配置;
c) 开始侦听ISO9542ISHPDUs和ESHPDUs,获得适当的邻域。不进行指定中介系统的
选择过程(electionprocess)
d)在等待ISISHelloTime×2秒,根据中介系统类型,运行第1层和(或)第2层指定中
介系统选择过程。无论何时一个IIHPDU被接收或被传输,象8.4.3节所述的那样,上
述过程都将随之运行(此情况下,传输系统本身的IIHPDU相当与接收它)。假如自从
上次进行选择过程以来,有关的信息没有改变,以前的结果可被假定。相关的信息是:
1) 中介系统邻域的设置,
2) 中介系统(包括本系统的)优先权的设置,以及
3) 网路上至少存在一个状态为“Up”的终端系统(不包括ManualAduacencies)或中
介系统邻域(Intermediatesystemadjacency)。
一个中介系统不能宣称自己是一个任一类型的LAN指定中介系统,直到网路上有至少
一个“Up”终端系统(不包括ManualAdjacencies)或中介系统邻域。(这有助于防止出现下
述情况:一个有缺陷(defective)而无能力接收任何PDU的中介系统错误地把自己选为LAN
指定中介系统。)
系统传输的LANIIHPDUs中的LANID字段将被设为一值,此值是从本系统所知的指
定中介系统接收到的LANIIHPDU(对适当的层)报告的LANID值。此值也将被传送到更
新过程(UpdateProcess),作为伪网点ID,以使LinkStatePDUs被系统发布以表明与伪网点
的连通性。
作为指定中介系统选举过程的结果,假如此系统把自己当作指定中介系统,LANID
字段将被设为此系统自己ID与本地制定的一字节LocalCircuitID的串连(concatenation)。

8.4.5恳求终端系统配置(SolicitingtheESconfiguration)
当LAN的配置或拓扑结构改变(例如一个LAN被失效的中继器或网桥划分成两部分),
就需要(新的)DesignatedIntermediateSystem来尽可能快的获得新Endsystem配置以使其产
生正确反映实际配置的LinkStatePDUs。此功能由下述方法实现:
当网路可用或Intermediatesystem侦测到LAN上Intermeidatesystems设置或the
DesignatedIntermediateSystemID的改变,IS将用以下动作发动对ES配置的轮询。
a)在0和PollESHelloRate时间中延迟一个随机时间间隔。(这是为了避免与其它侦测到此
变化的中介系统的同步性)
b)当且仅当一个中介系统已删除LAN上的中介系统设置,重设此网路上的所有邻域的
endsystemIDs邻域数据库记录中的entryRemainingTime字段的值为:
(ISISHelloTimer+PollESHelloRate)×HoldingMultiplier
或现存的任一个较低的值。(这导致任一不再存在于LAN上的Endsystems很快超时,
但不会再它们有机会回答轮询之前。)
c)在ISISHelloTimer和保持时间helloTimer×HoldingMultiplier的时间间隔内,传输每个由
中介系统支配的NET的HoldingMultiplierISHPDUs,此中介系统由的SuggestedES
ConfigurationTimer的值为PollESHelloRate。
d)在helloTimer时间间隔内重新发送ISHPDUs,DefaultESHelloTimer的值为SuggestedES
ConfigurationTimer。

8.4.6收到ESHPDUs—终端系统数据库(ReceiptofESHPDUs-Databaseof
EndSystems)
当从新的数据链接地址收到一个ESHPDU,一个IS将把一个Endsystem录入邻域数据
库。假如收到一个有相同数据链接地址,但NSAP地址不同的ESHPDU作为当前邻域,新
的地址将被加入到邻域数据库,并有一个单独的定时器。一个单独的ESHPDU可能包含多
于一个的NSAP地址。当一个新的数据链接地址或NSAP地址被加入到邻域数据库,IS将在
那个邻域上产生一个“邻域状态改变(Up)”事件。
IS将以接收到的ESHPDU中的“HoldingTime”的值设置一个定时器。假如在此定时
器终止前没有接收到另一个ESHPDU,倘若与正初始化邻域相关的子网独立功能已完成,
ES将被清除出数据库。除非那些功能一完成,IS就清除邻域。
当邻域被清除,子网独立功能将被通知一个“邻域变化(Down)”事件,在与降低邻域
有关的子网独立功能完成后,邻域能被重新使用。