9.协议数据单元的结构和编码
这一条表述内部域协议的数据格式。
协议数据单元的字节按递增的顺序从1开始编号。在比特1是最不重要的比特并在右边
加以描述的字节中,各比特从1到8编号。当连续的字节用来表示一个数时,低字节有最重
要的值。
标注"保留"的域被作为零来传送并在接收时被忽略,除非标注其它的方式。
数值用十进制的形式给出。所有的数字域都是无符号的整数,除非标注其它的方式。
网络层地址(NSAP地址、网络、区域地址和地址前缀)根据ISO8348/Add.2中指定的首
选的二进制编码准则,在协议数据单元编码;整个地址,被看作一个整体,由一串二进制字节
明确地表示。这一串字节在协议数据单元中整个的被传送。关于首选的二进制编码在ISO
8348/Add.2中有描述。这样产生的地址用地址中最重要的字节(也就是AFI),同时它也是第一
个传输的字节,来编码。地址中重要的半字节被编码在重要的半字节(也就是高4位)中,这
样地址/371234编码如下
No.ofOctets
3
7
1
1
1
1
2
3
4
Figure6-Addressencodingexample
协议数据单元的类型有:
--第一层局域网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.ofOctets
CODE
1
1
LENTH
LENTH
VALUE
AnycodesinareceivedPDUthatarenotrecognisedshallbeignored.
Currentlydefinedcodesare:
-区域地址-该中间系统的区域地址组。
?????编码-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)
用户回应信息(USERECO)
PDU的字节长度
源ID
首LSP的ID
尾LSP的ID
可变的长度域
1
1
1
1
1
1
1
1
2
7
8
8
可变的
·内部领域间的协议识别符―体系结构常量
·长度标志符-以八位字节表示的头标长度(33.)
·版本号/协议的外部ID-1
·保留位-以零来传输,在接收时被忽略
·类型(第一位到第五位)-24.第六,七,八位时保留位,以零来传输,在接收
时被忽略
·版本号-1
·回应信息(ECO)-以零来传输,在接收时被忽略
·用户回应信息(USERECO)-以零来传输,在接收时被忽略
·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号是其最低字
节(theleastsignificantoctet))。
9.7第二层完全顺序号的PDU(协议数据单元)
字节数目
内部领域间的协议识别符
长度标志符
版本号/协议的外部ID
保留位
保留位
保留位
保留位
类型
版本号
回应信息(ECO)
用户回应信息(USERECO)
PDU的字节长度
源ID
首LSP的ID
尾LSP的ID
可变的长度域
1
1
1
1
1
1
1
1
2
7
8
8
可变的
·内部领域间的协议识别符―体系结构常量
·长度标志符-以八位字节表示的头标长度(33.)
·版本号/协议的外部ID-1
·保留位-以零来传输,在接收时被忽略
·类型(第一位到第五位)-25.第六,七,八位时保留位,以零来传输,在接
收时被忽略
·版本号-1
·回应信息(ECO)-以零来传输,在接收时被忽略
·用户回应信息(USERECO)-以零来传输,在接收时被忽略
·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号是其最低字节(theleast
significantoctet))。
9.8第一层部分顺序号的PDU(协议数据单元)
字节数目
内部领域间的协议识别符
长度标志符
版本号/协议的外部ID
保留位
保留位
保留位
保留位
类型
版本号
回应信息(ECO)
用户回应信息(USERECO)
PDU的字节长度
源ID
可变的长度域
1
1
1
1
1
1
1
1
2
7
可变的
·内部领域间的协议识别符―体系结构常量
·长度标志符-以八位字节表示的头标长度(17.)
·版本号/协议的外部ID-1
·保留位-以零来传输,在接收时被忽略
·类型(第一位到第五位)-26.第六,七,八位时保留位,以零来传输,在接
收时被忽略
·版本号-1
·回应信息(ECO)-以零来传输,在接收时被忽略
·用户回应信息(USERECO)-以零来传输,在接收时被忽略
·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号是其最低字节(theleast
significantoctet))。
9.9第二层部分顺序号的PDU(协议数据单元)
字节数目
内部领域间的协议识别符
长度标志符
版本号/协议的外部ID
保留位
保留位
保留位
保留位
类型
版本号
回应信息(ECO)
用户回应信息(USERECO)
PDU的字节长度
源ID
可变的长度域
1
1
1
1
1
1
1
1
2
7
可变的
·内部领域间的协议识别符―体系结构常量
·长度标志符-以八位字节表示的头标长度(17.)
·版本号/协议的外部ID-1
·保留位-以零来传输,在接收时被忽略
·类型(第一位到第五位)-27.第六,七,八位时保留位,以零来传输,在接
收时被忽略
·版本号-1
·回应信息(ECO)-以零来传输,在接收时被忽略
·用户回应信息(USERECO)-以零来传输,在接收时被忽略
·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号是其最低字节(theleast
significantoctet))。
10系统环境
10.1在计时器上产生延时差
当PDUs作为一个计时器终止被传输时,不同系统的计时器由同步的风险。同步的结果
是造成拥塞。当出现大量的同步系统时,将会引起接收PDUs时,传输媒介和系统的过载。
为了避免这种情况的发生,所有的周期性计时器都配有延时差机制,算法如下:
CONSTANT
Jitter=25;(*ThepercentagejitterasdefinedinthearchitecturalconstantJitter*)
Resolution=100;(*Thetimerresolutioninmilliseconds*)
PROCEDURERandom(max:Integer):Integer;
(*ThisproceduredeliversaUniformlydistributedrandomintegerRsUChthat0<R<
max*)
PROCEDUREDefineJitteredTimer(baseTimeValueInSeconds:Integer;eXPirationAction:
Procedure);
VAR
baseTimeValue,maximumTimeModifier,waitTime:Integer;
nextexpiration:Time;
BEGIN
baseTimeValue:=baseTimeValueInSeconds*1000/Resolution;
maximumTimeModifier:=baseTimeValue*Jitter/100;(*Computemaximumpossible
jitter*)
WHILErunningDO
BEGIN
(*Firstcomputenextexpirationtime*)
randomTimeModifier:=Random(maximumTimeModifier);
waitTime:=baseTimeValue-randomTimeModifier;
nextexpiration:=CurrentTime+waitTime;
(*ThenperformexpirationAction*)
expirationAction;
WaitUntil(nextexpiration);
END(*ofLoop*)
END(*ofDefineJitteredTimer*)
在调入的函数DefineJitteredTimer(HelloTime,SendHelloPDU)中,呼叫计时(HelloTime)
占用10秒,引起发送呼叫PDU(SendHelloPDU)动作,这个动作在7.5到10秒的随机间
隔中产生。这个算法的要害在于"randomTimeModifier"的值是在内循环中随机产生。注重,
新的终止时刻是在最后的间隔结束后随即产生的,而不是终止动作完成之后产生的。
这个时间的分辨率应小于或等于100毫秒。建议要求小于或等于10毫秒。时间分辨率
是指在计时器的值不改变的前提下最大的时间间隔。周期性的传输周期要求具有随机或伪随
机性,通过相似的方法产生统一的分布。
10.2计时的分辨率
在秒级单位上的计时器的分辨率要求不能小于正负1秒。
在毫秒级单位上的计时器的分辨率要求不能小于正负10毫秒。
10.3ISO9542的规定
对于通过IS使用ISO9542的国际标准,有一些超越一致规定的强制性要求,说明如下:
a)IS系统执行这样的设置信息功能,这些功能是被IS支持的各种子网类型所具有的。这包
括接收ESHPDUs(ISO9542EndSystemHelloProtocolDataUnit),接收ISHPDUs
(ISO9542IntermediateSystemHelloProtocolDataUnit)的传输。
b)IS赋予"所有的IS"(AllIntermediateSystems)多目的子网地址。
11系统治理
11.1概述
使用系统治理监控IS-IS路由功能的域间操作。这个条款是路由治理目标的治理规范,
提供了一些治理方法。
11.1.1数据类型
FROMCommonMgmtIMPORT
NSAPAddress,NetworkEntityTitle,AreaAddress,AddressPrefix,SystemID,Unsigned,
Counter,VersionNumber,ManagedObjectName,Latin1String,OctetString,SimpleName,
LocalMOName,LANAddress,SNPAAddress,BinaryAbsoluteTime;
TYPE
adjacencyType=
(Unknown(0),Endsystem(1),IntermediateSystem(2),L1IntermediateSystem(3),
L2IntermediateSystem(4);
IDEntry=RECORD
ID:SystemID;(*TheSystemIDofaneighbourEndsystemasreportedinits
ESHPDUs.*)
entryHoldingTime:Unsigned[1..65535](*Theholdingtimeinsecondsas
reportedintheneighbourshellos.*)
END;
NETEntry=RECORD
NET:NetworkEntityTitle;(*TheNETofaneighbourIntermediatesystemas
reportedinitsIIHPDUs.*)
entryHoldingTime:Unsigned[1..65535](*Theholdingtimeinsecondsasreported
intheneighbourshellos.*)
END;
CircuitType=
(802.3(1),Pt-Pt(2),X.25StaticIncoming(3),X.25StaticOutgoing(4),X.25DA(5),
X.25DCM(6));
IntermediateSystemType=(L1IntermediateSystem(1),L2IntermediateSystem(2));
11.1.2支持
路由治理目标及其附属治理目标的特性是由以下的从属条款定义的。但是,并非所有的
被定义的属性都适用于非凡治理目标类的各种情况。比如说,只有在被路由治理对象的类型
是L2IntermediateSystem时,路由属性maximumVirtualAdjacencies才会被定义。这些变量
的存在被Support所指示,通过使用在表9中定义的缩略语。