本章节下载(734.46 KB)
OSI(Open Systems Interconnection,开放式系统互连)参考模型是基于国际标准化组织(ISO,International Standardization Organization )的建议制订的网络模型,该模型致力于将开放式系统(即为了与其他系统通信而互相开放的系统)连接起来,我们通常简称它为OSI模型。
OSI模型分为下列七个层次:

图1-1 OSI模型及各种协议在模型中的位置
物理层定义接口的物理特性,例如机械部件和连接器,电器特性,如表示二进制值的电压级和功能性特性,建立、维护和拆除物理链路。用于数据通信的通用物理层接口包括EIARS-232和RS-449,RS-449是RS-232的后继,它允许更长的电缆距离。著名的局域网(LAN)技术是以太网、令牌环网和光纤分布式数据接口(FDDI)网。
数据链路层定义在两个系统的物理连接之间发送和接收信息的规则。这一层对数据进行编码和编帧,另外还提供出错检测和控制。由于数据链路层已经能够提供对出错的控制,所以更高的层就不再需要处理这种服务了。然而,当使用可靠传输介质时,在这一层不进行出错控制,而是在更高的层执行这种工作,这将可以提供更高的性能。网桥工作在数据链路层。下面是一些用于数据链路层的通用协议:
l 高级数据链路控制规程(HDLC)和相应的同步、面向位的协议
l LAN驱动程序和访问方式,例如以太网和令牌环网
l 快速分组广域网,例如帧中继和异步传输模式(ATM)
l Microsoft的网络驱动程序接口规范(NDIS)
l Novell的开放数据链路接口(ODI)
网络层定义为在系统之间开辟和维护网络路径的协议。它和数据传输及交换过程有关,而对OSI体系上面的层隐藏了这些过程。路由器在网络层进行操作。路由器可以查看分组的网络层地址以确定路由选择的方式。如果一个分组是被编址到一个本地网络上的工作站的,那么它就被直接送到那里。如果它是被编址到其它网段的,那么这个分组就被送到一个路由选择服务那里,再在网络上被转发。下面是一些用于网络层的通用协议:
l 因特网协议(IP)
l X.25协议
l Novell的网间分组交换协议(IPX)
l Banyan的VINES网间互联协议(VIP)
传输层为在系统间移动信息提供了一种高级控制,包括更加复杂的出错处理、优先分级和安全性特征。传输层通过在两个端系统间提供面向连接的服务,提供了高质量的服务和准确的传递。它控制分组的次序、节制通信流和识别重分组。传输层对编址分组的信息赋予一个跟踪号,这个跟踪号在目的地将被检查。如果分组丢失了数据,在接收端的传输层协议将与在发送系统的传输层联系,对这个分组进行重发。这一层保证了所有数据都接收,并且是按正确的次序被接收。一个逻辑电路(Logical Circuit)就象一个专用连接,可以建立逻辑电路来在系统间提供可靠的传输。下面列出了可以提供面向连接服务的非OSI传输层协议:
l 网间传输控制协议(TCP)
l Internet用户数据报协议(UDP)
l Nove1l串行分组交换协议(SPX)
l Banyan VINES进程间通信协议(VIPC)
l Microsoft NetBIOS/NetBEUI
会话层通过使用会话技术或对话,协调系统间的信息交换。数据传送并不总是需要对话,但是一些应用程序在一个连接暂时失效时,可能需要知道从哪里重新开始传送数据,或可能需要一个固定间隔的对话以确定一组数据已经发送完毕,可以开始发送新的数据了。
表示层上的协议是工作站上运行的操作系统和应用程序的一部分。为了显示或打印信息,在这一层对信息格式化。数据内的代码(例如标签或特定的图形序列)将在表示层被解释。在这一层还进行数据加密和其它字符集的翻译。
应用层用于定义一系列应用程序,这些应用程序处理文件传输、终止会话和消息交换(例如电子函件)。应用使用这一层定义的过程来访问下面的网络服务。下面列出OSI应用层协议:
l 虚拟终止
l 文件传输访问和管理(FTAM)
l 分布式事务处理(DTP)
l 信报处理系统(X.400)
l 目录服务(X.500)
TCP/IP协议分为四层,即应用层、传输层、互连网层及网络接口层。

图1-2 TCP层次模型和OSI参考模型对应图
TCP/IP与OSI模型是相对应的关系,对应关系如下:
l 应用层:大致对应于OSI模型的应用层和表示层,应用程序通过该层利用网络。
l 传输层:大致对应于OSI模型的会话层和传输层,包括TCP(传输控制协议)以及UDP(用户数据报协议),这些协议负责提供流控制、错误校验和排序服务。所有的服务请求都使用这些协议。
l 互连网层:对应于OSI模型的网络层,包括IP(网际协议)、ICMP(网际控制报文协议)、IGMP(网际组报文协议)以及ARP(地址解析协议)。这些协议处理信息的路由以及主机地址解析。
l 网络接口层:大致对应于OSI模型的数据链路层和物理层。该层处理数据的格式化以及将数据传输到网络电缆。
OSI协议支持的链路层协议有Ethernet、PPP、HDLC、FR、X.25和ATM。其中Ethernet属于广播类型网络。PPP和HDLC属于P2P类型网络。FR、X.25和ATM是NBMA(Non-Broadcast Multicast Access,非广播多路访问)类型网络。相关链路层协议的介绍请参考本手册“链路层协议”的相应内容。
在OSI协议栈中,CLNP(Connectionless Network Protocol,无连接网络协议)、ES-IS(End System to Intermediate System,端系统-中间系统)和IS-IS(Intermediate System to Intermediate System,中间系统-中间系统)协议都是直接基于链路层进行封装的,因此链路层在收到网络层的OSI报文后将按报文类型进行分类。链路层将检查报文中的IPI(Initial Protocol Identifier)域来区分CLNP报文、ES-IS协议报文和IS-IS协议报文,然后根据分类结果将报文分别送交CLNP、IS-IS、ES-IS协议模块进行处理。不同的报文其IPI域的值不同,对应关系如下:
l CLNP报文的IPI域的值为0x81
l ES-IS协议报文的IPI域的值为0x82
l IS-IS协议报文的IPI域的值为0x83
Ethernet、PPP、HDLC、FR、X.25和ATM链路层的相关配置请参考“链路层协议”的相关内容。下面将仅介绍OSI网络中新增的配置。
表2-1 OSI ATM配置命令
|
配置项 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入ATM PVC视图 |
pvc { pvc-name [ vpi/vci ] | vpi/vci } |
该命令具体请参考《Comware V3 命令手册 链路层协议》的“ATM配置命令”部分 |
|
为PVC创建CLNSOA映射 |
map clns |
- |
|
显示ATM上层映射表信息 |
display atm map-info [ interface interface-type interface-num ] [ pvc { pvc-name | vpi/vci } ] ] |
可选;可在任意视图下执行 |
在进行下面配置前要先进行帧中继链路的基本配置,具体配置方法请参考“链路层协议 帧中继配置”。
表2-2 OSI帧中继配置
|
配置项 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入串口视图 |
interface interface-type interface-number [ .sub-number ] |
- |
|
增加一条OSI报文的帧中继映射和PVC压缩 |
fr map clns dlci [ ietf | compression frf9 ] * fr map clns dlci nonstandard |
必选 nonstandard封装不支持frf9压缩 |
|
显示帧中继地址映射表 |
display fr map-info [ interface interface-type interface-num ] |
可选 display命令可以在任意视图下执行 |
在进行下面配置前要先进行X.25链路的基本配置,具体配置方法请参考“链路层协议 LAPB和X.25配置”。
|
配置项 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入串口 |
interface interface-type interface-number [ .sub-number ] |
- |
|
为X.25接口设置X.25协议缺省承载的上层协议 |
x25 default-protocol [ protocol-type ] |
可选;协议类型为IP或CLNS,缺省为IP。 |
|
配置X.121地址的CLNS地址映射 |
x25 map clns x121-address x.121-address [ option ] |
必选 |
|
配置一条数据报封装的PVC |
x25 pvc pvc-number { ip protocol-address [ compressedtcp ] | clns }*x121-address x.121-address [ option ] |
必选 |
|
显示X.25地址映射表 |
display x25 map |
可选;可在任意视图下执行 |
|
显示X.25虚电路 |
display x25 vc [ lci ] |
可选 |
如下图所示,将两台路由器简单地背靠背连接,串口之间使用X.25链路层协议并承载CLNP数据报进行传输。RouterA配置为DCE,RouterB配置为DTE。

(1) 配置RouterA
# 打开X.25交换功能
<H3C> system-view
[H3C] x25 switching
# 进入Serial 0/0/0接口
[H3C] interface serial 0/0/0
# 配置接口的IP地址和X.121地址,在接口封装X.25协议并设置为DCE模式
[H3C-Serial0/0/0] link-protocol x25 dce
[H3C-Serial0/0/0] ip address 10.1.1.1 255.255.255.0
[H3C-Serial0/0/0] x25 x121-address 20050514
# 配置X.25虚电路范围
[H3C-Serial0/0/0] x25 vc-range bi-channel
# 配置X.121地址的CLNS映射
[H3C-Serial0/0/0] x25 map clns x121-address 20050513
(2) 配置RouterB
RouterB的配置与RouterA的配置完全相同,只是在背靠背连接的情况下在接口封装X.25协议类型的时候封装为DTE模式。
两台H3C路由器通过串口直连,Router A工作在帧中继的DCE方式,Router B工作在帧中继的DTE方式。

图2-2 两台路由器通过串口直连(帧中继)
(1) 配置RouterA
# 配置接口IP地址。
<H3C> system-view
[H3C]interface serial 4/0/0
[H3C-Serial4/0/0]ip address 10.1.2.1 255.255.255.0
# 配置接口的链路层协议为帧中继。
[H3C-Serial4/0/0]link-protocol fr
[H3C-Serial4/0/0]fr interface-type dce
# 配置本地虚电路。
[H3C-Serial4/0/0]fr dlci 100
# 增加一条DLCI号为16的OSI报文的帧中继映射。
[H3C-Serial4/0/0] fr map clns 16 ietf compression frf9
(2) Router B的配置
RouterB的配置与RouterA的配置完全相同,只是在背靠背连接的情况下将接口类型配置为DTE模式。
OSI模型的网络层能够同时提供无连接(CLNS)和面向连接(CONS)两种服务,其对应的基础协议分别为无连接网络协议(CLNP)和面向连接网络协议(CONP)。在对应的协议标准文档中规定了具体的报文格式和通信规范。另外为了能够在网络层提供转发服务,ISO还针对路由信息交换提出了一系列标准协议,例如中间系统-中间系统路由交换协议(IS-IS)以及端系统-中间系统路由交换协议(ES-IS)。由于IS-IS和ES-IS协议直接基于链路层进行设计,其协议报文直接进行链路层封装后进行交互,因此通常也被认为是与CLNP并列的网络层协议的一部分。
路由器作为中间系统IS(Intermediate System),采用了OSI协议栈,可以提供完善的OSI报文无连接转发服务。通过运行IS-IS和ES-IS协议动态发现并生成CLNS路由,然后由CLNP协议(类似于TCP/IP协议栈中的IP协议)根据这些路由,转发CLNP报文。因此,在OSI网络层中,CLNP协议以及各种链路层协议共同实现了OSI转发功能; IS-IS、ES-IS、静态路由等各种路由协议共同实现了OSI路由功能。
与IP的地址结构不同,在OSI体系结构中地址分为NSAP(Network Service Access Point,网络服务访问点)地址和NET(Network Entity Titles,网络实体名称)地址两类。NSAP用来标识网络层服务的地址,每种服务对应一个 NSAP 地址。NET用来标识网络层实体或过程,实际上不是地址。在OSI网络中一个节点可能不止含有一种地址类型,可以有一个或多个NET地址,也可以有多个NSAP地址。每个节点的NSAP地址与NET地址仅在最后一位有差别。这个字节称为N-selector,它的作用相当于TCP/IP协议族中所说的端口号。
(1) NSAP地址结构

图3-1 NSAP地址结构示意图
ISO采用如上图所示NSAP的地址结构,它由初始域部分(IDP,Initial Domain Part)和域特定部分(DSP,Domain Specific Part)组成。IDP部分是ISO规定的,指定了可分配地址其余部分的责任者和地址使用的格式,DSP部分由IDP中指定的责任者进行分配。IDP和DSP的长度都是可变的,总长最多是20个字节。
l 区域地址
IDP由地址格式标识符(AFI,Authority and Format Identifier)与初始域标识符(IDI,Initial Domain Identifier)组成。AFI表示IDI的格式或地址分配机构(如AFI=49的地址为OSI协议的私有地址)。IDI用来标识域。
DSP由高序DSP(High Ordered DSP)、ID和SEL字段组成。IDP和DSP的HO-DSP(High Order DSP,DSP高位)一起,既能够标识路由域,也能够标识路由域中的区域,因此〔IDP,HO-DSP〕也被一起称为区域地址(Area Address)。HODSP,用来分割区域,相当于TCP/IP地址中的子网部分。
一般情况下,一台路由器只需要配置一个区域地址,且同一区域中所有节点的区域地址都相同。为支持区域的平滑合并、分割、转换,路由器支持在一台设备上配置最多3个区域地址。
l System ID
System ID用来在区域内唯一标识终端系统或路由器,相当于TCP/IP地址中的主机部分。它的长度是可选的,在路由器中,System ID的长度为48bit(6字节)。一般使用Router_ID与System ID进行对应。
假设一台路由器使用接口Loopback0的IP地址168.10.1.1作为Router_ID,则它在IS-IS使用的System ID可通过如下方法转换得到:
将IP地址168.10.1.1的每一部分都扩展为3位,不足3位的在前面补0;将扩展后的地址168.010.001.001从左到右分为3部分,每部分由4位数字组成,重新组合的1680.1000.1001就是System ID。
实际System ID的指定可以有不同的方法,通常使用设备某接口的48bits的MAC地址作为System ID,但要保证能够唯一标识终端系统或路由器。
l NSEL
NSEL(NSAP Selector,有时也写成N-SEL)用来定义网络层服务的用户,类似于二层地址的协议标识符或TCP/IP地址中的端口号。NSEL帮助网络层把数据报文发送到适当的应用程序或服务用户。在IP上SEL均为00。
(2) NET地址结构
路由层是特殊的网络层服务用户,它的NSEL值为0,这种地址被称为网络实体名称NET(Network Entity Title)。NET可以看作是一类特殊的NSAP,在IS设备上配置的NSAP一般采用NET地址。
通常情况下,一台路由器配置一个NET即可。当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下需要配置多个NET,并且在重新配置时仍然能够保证路由的正确性。由于区域地址最多可配置3个,所以NET最多也只能配3个。
例如,有NET名为:47.0001.aaaa.bbbb.cccc.00,其中:
Area=47.0001,System ID=aaaa.bbbb.cccc,SEL=00。
例如,有NET名为:01.1111.2222.4444.00,其中:
Area=01,System ID=1111.2222.4444,SEL=00。
目前OSI特性中可以配置两种地址:IS-IS NET以及CLNS NET。
l IS-IS NET是一个协议级的地址,它仅仅在IS-IS协议内部使用并发挥作用。
l CLNS NET是真正的OSI网络层地址,它是代表本机网络层接入标识的唯一合法地址。本机发送的所有OSI报文(IS-IS协议报文除外)都会将CLNS NET作为报文的网络层源地址,例如本机发送的错误报告报文、Ping报文以及ES-IS协议报文等。另外系统也是通过比较收到的CLNP报文的目的地址与本机配置的CLNS NET是否相等,来判断该报文的目的地是否是本机。
l 目前IS-IS NET、CLNS NET最多都只允许配置三个地址,地址的最大长度均为20字节,最小长度也均为8字节。它们是完全独立的两种地址类型,用户可以根据实际需要分别进行配置。
l IS-IS NET的配置有一定限制条件:
l 即当配置多个地址时必须保证System ID相同。例如先配置了一个IS-IS NET为:47.0001.aaaa.bbbb.cccc.00,通过分析可以得到其Area ID=47.0001,System ID=aaaa.bbbb.cccc,SEL=00,则配置另外一个IS-IS NET时必须保证System ID也等于aaaa.bbbb.cccc(配置为47.0002.aaaa.bbbb.cccc.00),否则系统会显示配置错误信息。
l CLNS NET的配置没有上述限制条件。
l 通常情况下,一台路由器配置一个CLNS NET和一个IS-IS NET即可。有时为了满足区域划分和区域合并的需要,也可能需要在一台IS上配置多个IS-IS NET。
CLNP(Connectionless Network Protocol),是国际标准化组织制定的开放系统互连(OSI)模型的网络层协议。CLNP为ISO传输层提供服务。ITU-T Rec.X.213|ISO/IEC 8348规定CLNP是一个用于提供无连接网络服务(CLNS,Connectionless Network Service)并实现某些网络层管理功能的协议。该协议基于现实子网/数据链路提供的无连接网络基本服务,以无连接的方式传送数据和错误诊断信息。
CLNP协议主要实现在网络层对CLNP报文的错误诊断和转发功能。其基本处理过程如下:
第一步:从链路层接收CLNP报文,并对报文进行错误诊断:如果为错误报文则丢弃该报文,并根据报文头中的E/R 标志位决定是否向发送报文的源端回复错误报告报文;如果为正常报文则送交第二步进行转发处理。
第二步:根据报文目的地址查询CLNS路由表,找到匹配的路由项,根据路由项中记录的转发信息判断该报文是上送还是进一步转发。
第三步:如果报文需要上送,则将报文除去CLNP报文头后送交上层模块处理;如果需要进一步转发,则根据路由项中记录的出接口和下一跳信息将报文送给链路层进行发送。
路由器转发CLNP报文的关键是CLNS(Connectionless Network Service)路由表。每个路由器中都保存着CLNS路由表,表中每条路由表项都指明报文到某目的NSAP地址应通过路由器的哪个物理接口发送,然后就可到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。
CLNS路由表模块由L0、L1和L2三个表组成。
表3-1 CLNS路由表
|
路由表类型 |
存放内容 |
说明 |
|
L0路由表(直连路由表) |
1、ES-IS动态发现的路由 2、用户静态配置的直连路由 |
以完整的NSAP地址作为路由的目的地址来进行路由查找,用于指导去往直连设备的报文转发 |
|
L1路由表(域内路由表) |
IS-IS动态发现的区域内路由 |
以System ID作为路由的目的地址来进行路由查找,负责区域内CLNP报文的转发 |
|
L2路由表(域间路由表) |
1、IS-IS动态发现的区域间路由 2、用户静态配置的前缀路由 |
以NET地址前缀作为路由的目的地址来进行路由查找,负责区域间以及路由域间的路由查找与CLNP报文的转发 |
表3-2 转发CLNP报文时的路由匹配方式
|
路由表类型 |
说明 |
|
L0路由表 |
转发报文查询此路由表时,采用精确匹配 |
|
L1路由表 |
|
|
L2路由表 |
转发报文查询此路由表时,采用最长匹配 |
本着直连路由优先的原则,转发CLNP报文时需要首先查询L0路由表。根据CLNP报文的目的NSAP进行精确匹配,如果有匹配路由则直接转发,如果没有匹配路由则需要根据报文目的地址对报文进行进一步的分类,看是去往区域内设备还是去往区域外设备。然后根据不同的报文分类再确定应该查找何种路由表,具体分类方法如下:
(1) 根据CLNP报文目的NSAP,得到该报文所去往的Area ID,并将此Area ID与IS-IS维护的本地可达的Area ID进行比较,看是否在同一个Level1区域。
l 如果是在同一个Level1区域内,则查询L1路由表。查询L1路由表时需要从CLNP报文目的地址中取出System ID,然后根据System ID进行完全匹配。
l 如果不在同一个Level1区域内,则查询L2路由表,而查询L2路由表则服从最长匹配原则。
(2) 如果在所有路由表内都没有查到匹配的路由则查看是否存在CLNS缺省路由,这是指导CLNP报文转发的最后一种选择。
& 说明:
在查询任何一个路由表的时候都有可能会遇到有多条匹配路由表项的情况,即路由表内存在去往同样目的地址的由不同路由协议发现的多个路由项。此时路由选择规则如下:
根据发现这些路由的路由协议的优先级对路由项进行分类,优先匹配具有最高优先级的路由表项。
在OSI体系中:
l IS-IS协议是IS(中间系统)之间用来发现区域内或者区域外IS的路由协议
l ES-IS用来发现与设备直接相连的ES(终端系统)或者IS(中间系统)的路由协议
IS-IS路由协议与ES-IS路由协议相互配合,构成一个完整的OSI网络的路由体系。
OSI网络由ES、IS、Area、Domain组成:

图3-2 OSI网络组成
IS(Intermediate System),中间系统。相当于TCP/IP网络中的路由器,是IS-IS协议中生成路由和传播路由信息的基本单元。在下文中IS和路由器具有相同的含义。
每一个IS都产生一个LSP(link-state PDU,可能分片),放在自己的数据库中,其中包含直连的IS和ES信息及对应的Metric值,然后发送给它的邻居,邻居再往外发送该LSP。所有的IS都能学到该网络的拓扑结构。当拓扑结构改变时,又会进行更新。
ES(End System),终端系统。相当于TCP/IP中的主机系统。ES不参与IS-IS路由协议的处理,ISO有专门的ES-IS协议定义终端系统与中间系统间的通信。
l 每一个ES都应该在某个区域内,当该ES需要向目的ES发送报文时,它需要首先将该报文传送到跟它在同一个区域的直连的IS上。IS将查询到达该目的地址的路由并且将该报文转发出去。
l 如果目的端ES与发送端ES在同一区域、并且在同一个子网内:则IS就会通过接受ESH(ES Hello)报文知道目的端ES的位置,并且将报文转给目的端ES。如果本地IS发现可到达目的端ES存在更好的路由时,可向发送端ES发送重定向(RD)报文。
l 如果目的端ES与发送端ES在同一区域、但不在同一个子网内:本地IS通过查找L1路由表知道到达目的端ES的路由并且转发报文。
l 如果目的端ES跟发送端ES不在同一区域内,本地IS将把报文发送给最近的Level2 IS,该报文将一直的在Level2 IS上转发直到到达目的区域。在目的区域内,该报文会通过最优路径转发直至到达目的ES。
RD(Routing Domain),路由域。在一个路由域中一群IS通过相同的路由协议来交换路由信息。
Area区域,路由域的划分单元。由一组连续的路由器、主机和连接它们的网络链路组成的实体。
(1) Hello报文,包括ESH(ES发至IS),ISH(IS发至ES),IIH(IS之间)三种类型,用于建立和维护毗邻关系。
ESH是ES发至IS的Hello报文,里面带有NSAP地址的信息。NSAP地址是网络层地址,类似于TCP/IP中的IP地址的概念。通过接收ESH报文和ISH报文,ES-IS协议能够及时发现并且维护自己的邻居关系。
ISH是IS发至ES的Hello报文,通过接收和处理ISH报文,ES能够维护与邻接IS的邻居关系。
IIH是IS发至IS的Hello报文,通过接收和处理IIH报文,IS能够维护与邻接IS的邻居关系。
(2) LSP
LSP(Link State Protocol Data Unit),链路状态报文。用于在IS-IS节点间发布路由选择信息。在IS-IS中,每一个IS都会生成一个LSP,此LSP包含了本IS的所有链路状态信息。每个IS收集本区域内所有的LSP。LSP是数据链路层数据包,只能在直接相连的IS之间传递。
(3) SNP(Sequence Number PDU)
SNP(Sequence number PDU),序列号报文。用于控制链路状态数据报文的发布,提供IS-IS路由域内所有路由器的分布式链路状态数据库的同步机制。其中PSNP(Partial sequence number PDU),用于确认和请求链路状态信息;CSNP(Complete sequence number PDU),用于发布完整链路状态数据库。
(4) NPDU
NPDU(Network Protocol Data Unit),网络协议数据报文。是ISO中的网络层协议报文,相当于TCP/IP中的IP报文。
(5) SNPA
SNPA(subnetwork point of attachment),子网接入点。对于LAN接口SNPA为接口的MAC地址;对于X.25或ATM即为VC的ID;对于帧中继即为DLCI;对于HDLC即为封装类型。一个设备只有一个OSI网络地址,但设备上的每一条链路都有一个SNPA地址。
在ISO CLNS环境中,IS-IS路由选择协议为运行CLNP协议的路由器之间提供了动态交换路由信息的途径。
(1) CLNP通过逐跳路由选择机制在网络内传送数据,而IS-IS协议可以自动计算最佳路径和选择路由。
(2) IS-IS协议使用链路状态算法,适用于同一个网络域内,是IGP协议。
(3) 一台IS可以配置为L1、L2或者L12 IS。L1 IS在同一个区域内进行交互,所有的L2 IS组成路由骨干区,并且所有的L2路由器都在网络中都必须是连续的。L1 IS只需要知道怎样到达最近的L12 IS,这样可以简化骨干区的设计。
关于IS-IS协议的具体介绍,请参见本手册的“路由协议部分”。
集成IS-IS协议可以在IP网络、OSI网络以及OSI/IP混合网络等多种网络环境中运行,为了保证IP网络与OSI网络不互相形成干扰,并保证最终生成IP和CLNS路由的完整性和准确性,RFC 1195针对集成IS-IS的应用组网提出了一系列限制条件。
l 骨干区域(L2 Area)、L1区域(L1 Area)都只能被界定为纯IP、纯OSI、DUAL三种类型之一。纯IP区域内的IS可以是IP-only IS或DUAL IS,只有IP数据能够被正确转发;纯OSI区域内的IS可以是OSI-only IS或DUAL IS,只有OSI数据被正确转发;DUAL区域内的IS则必须都是DUAL IS,IP和OSI数据均能被正确转发。
l 一个路由域(Domain)内只能有一个骨干区。不能在一个路由域内同时存在独立的纯IP骨干区和纯OSI骨干区,如果需要骨干区既具备IP路由能力又具备OSI路由能力,则必须将该骨干区配置为DUAL区。
l OSI区域和IP区域不允许部分重叠(不能出现一部分是IP,另一部分是OSI的区域)。
l 路由域(Domain)也可以分为纯IP、纯OSI、DUAL三种类型。纯IP路由域的骨干区和L1区域均为纯IP区,只有IP数据能够被正确转发;纯OSI路由域内的骨干区和L1区域均为纯OSI区,只有OSI数据被正确转发;DUAL路由域内的骨干区必须为DUAL区,L1区域可以是纯IP、纯OSI以及DUAL三种类型中的任意一种。在这种路由域中,纯OSI区域、DUAL区域以及骨干区之间可以实现OSI互通,纯IP区域、DUAL区域以及骨干区之间可以实现IP互通。
l OSI-only IS:如图3-3所示,IS2上所有使能了IS-IS协议的接口上都只运行IS-IS for OSI
l IP-only IS:如图3-3所示,IS3上所有使能了IS-IS协议的接口上都只运行IS-IS for IP
l DUAL IS:如图3-3所示,IS4上所有使能了IS-IS协议的接口上都既运行IS-IS for IP又运行IS-IS for OSI

图3-3 IS类型示意图
注意:
如图3-3所示,IS1上的配置为错误配置(IS1上使能了IS-IS协议的接口上有的运行IS-IS for IP、有的运行IS-IS for OSI、还有的既运行IS-IS for IP又运行IS-IS for OSI)。
为了简化用户的组网配置,并考虑到组网的简洁性和逻辑性:
l 建议纯OSI区域全部由OSI-only IS构成
l 建议纯IP区域全部由IP-only IS构成,
l DUAL区域必须全部由DUAL IS构成,
虽然在纯IP区域/纯OSI区域内掺入DUAL IS不会影响网络的正常功能,但会影响区域规划的清晰性,所以不建议这样使用。
ES-IS(End System-to-Intermediate System),是国际标准化组织制定的开放系统互连(OSI)模型的网络层协议。ES-IS是OSI协议族中的一个路由协议,主要完成ES和IS之间互相发现对方的功能,并在ES和IS间交换配置和路由信息。
在ES和IS互相发现对方的过程中,ES向同一个域中所有IS发送ESH报文,同时IS向同一个域中所有的ES发送ISH报文。通过接收ESH报文和ISH报文,ES-IS协议能够及时发现并且维护自己的邻居关系。
ES-IS协议可以实现以下功能:
l 通过ES-IS协议,ES能发现IS(此IS可将NPDU报文转发到未与ES直连的子网)的存在及可达性。
l 通过ES-IS协议,ES可发现同一子网内其它ES的存在及可达性。
l 通过ES-IS协议,IS可发现与每个子网直连的ES的存在及可达性。
l 当有多个IS可达时,ES通过ES-IS协议判定从哪个IS转发NPDU报文到目的地址。
路由器在作为中间系统IS时,可运行ES-IS协议。通过接收ESH报文和ISH报文,ES-IS协议能够及时发现并且维护IS的邻居关系。
l 当IS收到一个ES的ESH报文时,如果发现此ES并未在邻居表中,就会将其视为ES邻居并加入邻居表。报文中有一项信息为报文保持时间,在最后一次收到一个ES的ESH报文后,如果在报文保持的时间内,没有再次收到此ES的ESH报文,那么IS就认为此ES邻居不再可达,不再将其视为ES邻居,并将其从邻居表中清除。
l 当IS收到一个已经在邻居表中存在的ES的ESH报文时,将会更新ES邻居的信息,包括最后收到ESH报文的时间和报文的保持时间。
l 通过接收和处理ISH报文,ES能够维护邻接的IS的邻居关系。
l 运行ES-IS协议的IS会定期向所有的ES邻居发送ISH报文,这样邻居就可以根据收到的ISH报文来判断IS的存在。发送ISH报文的间隔时间和对方保持ISH报文的时间可以进行配置,默认时间分别为60秒和180秒。
注意:
l 配置的发送报文的间隔时间和报文保持的时间相差不能太长,也不能太短。
l 如果配置的发送报文的间隔时间太长,对方有可能没有等到第二个ISH报文到来就把IS视为不可到达,因为报文保持的时间到了。
l 如果报文保持的时间太长,有可能自己已经不可到达(比如说线路不再连接),而ES却仍然长时间认为IS为自己的邻居,因为报文保持的时间太长,导致收敛太慢。
l 推荐报文保持的时间为发送报文间隔时间的三倍。
通过维护直接相连的路由,配合IS-IS协议维护的区域内和区域间的IS路由,形成OSI完整的路由表(CLNS路由表),这样无连接网络协议(CLNP)或者其他协议可以通过查找CLNS路由表进行OSI报文的转发。
注意:
如果需要将接口上的ES邻居信息通过IS-IS往外扩散,则该接口在使能ES-IS协议的同时,必须在该接口上使能IS-IS for OSI。
IS-IS协议只把使能了IS-IS for OSI接口上的ES邻居信息存放到LSP中并进行扩散,如果某接口没有使能IS-IS或者使能的IS-IS为IP-only,则不会将该接口的ES邻居信息存放到LSP中去。
如图3-4所示,IS2希望将Ethernet0/0/0接口上的ES邻居信息ES1通过IS-IS LSP扩散出去,以便IS1能够计算出到ES1的路由,IS2不仅要在Ethernet0/0/0接口上配置命令esis enable来发现ES1这个邻居,还需要在Ethernet0/0/0接口上配置命令isis enable clns来促使IS-IS将ES1通过LSP进行扩散。

图3-4 IS-IS与ES-IS配合使用示意图
l OSI支持静态路由的配置,包括静态配置直连的ES邻居,以及区域间的静态前缀路由。配置静态路由时需要指明目的地址和出接口,对于广播类型的接口还需要指明下一跳的二层地址。ES邻居的目的地址为NSAP地址,前缀路由地址为NSAP前缀。
l 静态路由需要人工维护(添加或删除),并受到接口状态变化的影响。当出接口由Up变为Down时,相应的路由会变为无效。
l 静态配置支持等价路由功能,还支持reject和blackhole类型的路由。
l 静态路由既可以和动态路由协议共同使用,也可以提供全静态的解决方案,指导转发。
在进行CLNS配置前,首先要确定路由器支持CLNS功能。
CLNS配置过程如下:
|
配置项 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
全局使能CLNS转发服务 |
clns enable |
必选;缺省情况下,系统关闭CLNS转发服务。 |
|
配置IS的NET地址 |
clns net address |
必选;一台路由器上最多可以配3个NET地址。 |
|
使能错误报告报文产生功能 |
clns erpacket enable |
可选;缺省情况下,系统关闭产生错误报文功能。 |
|
配置两个错误报告报文产生的最短时间间隔 |
clns erpacket interval [ milliseconds ] |
可选;缺省情况下,时间间隔值为10毫秒。 |
|
清除统计信息 |
reset clns statistics |
可选 |
|
显示当前CLNS的信息 |
display clns |
可选;可在任意视图下执行 |
|
显示所有CLNS活跃路由 |
display clns routing-table [ [ level-0 | level-1 | level-2 ] [ NSAP | verbose] ] | [ l2-cache ] |
可选;可在任意视图下执行 |
|
显示CLNS服务流量信息 |
display clns statistics |
可选;可在任意视图下执行 |
|
显示CLNS服务的接口信息 |
display clns interface [ interface-type interface-number ] |
可选;可在任意视图下执行 |
|
显示IS-IS生成的CLNS路由 |
display isis routing |
可选;可在任意视图下执行 |
|
检测对端可达性 |
ping clns NSAP |
- |
|
跟踪CLNP报文转发过程中所经过的路由 |
tracert clns [ -m max-TTL | -n n-request | -t timeout | -v ] * NSAP |
- |
注意:
l 用户配置CLNS NET时必须保证其Area ID与本机配置的IS-IS NET的Area ID相同,因为CLNS NET是借助IS-IS路由协议向网络上进行扩散与传播的,而IS-IS只会将与自己的Area ID相同的CLNS NET地址扩散出去。如果两个地址的Area ID不同,则IS-IS不会对CLNS NET进行扩散,其它IS也就无法学习到该CLNS NET的路由。
l 建议用户在一般情况下将CLNS NET与IS-IS NET配置为完全相同,这样就不需要额外考虑两个地址Area ID是否相同的问题了。
l 使用clns erpacket interval命令可以抵御对路由器进行的错误报文攻击行为,但是tracert clns命令依赖于错误报文产生的频率。因此,如果使用clns erpacket interval命令设置的时间过长,会导致tracert clns诊断网络时得不到及时回应而误认为是网络故障;反之,如果设置的时间过短,会加大CPU负担,因此要配置合适的时间间隔。
在进行IS-IS配置前,路由器上必须已经进行了CLNS相关配置。
IS上启动IS-IS路由协议的配置步骤请参考本手册“路由协议”部分。这里只介绍最基本的必配相,配置过程如下:
表3-4 IS上启动IS-IS路由协议
|
配置项 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
使能IS-IS路由进程,进入IS-IS视图 |
isis [ tag ] |
必选 |
|
退回系统视图 |
quit |
- |
|
进入接口视图 |
interface interface-type interface-number |
- |
|
设置指定接口使能IS-IS |
isis enable [ clns | ip ] [ tag ] |
必选,缺省情况路由器没有使能IS-IS |
在进行ES-IS配置前,路由器上必须已经进行了CLNS相关配置。
IS上启用ES-IS路由协议时,配置过程如下:
表3-5 IS上启用ES-IS路由协议
|
配置项 |
命令 |
说明 |
|
|
进入系统视图 |
system-view |
- |
|
|
启用ES-IS路由协议,并进入ES-IS配置视图 |
esis |
可选 |
|
|
使能ES-IS协议 |
进入接口视图 |
interface interface-type interface-number |
- |
|
接口上使能 |
esis enable |
可选;缺省情况下,接口上不使能ES-IS协议。 |
|
|
打开发送重定向报文的开关 |
clns rdpacket enable |
可选;缺省情况下,发送RD报文的开关是打开的,当NPDU的出接口等于入接口时,就会发送RD报文。 |
|
|
设置连续两个重定向报文的最小时间间隔 |
clns rdpacket interval { milliseconds } |
可选;缺省值为10毫秒。 |
|
|
配置发送的RD报文所携带信息的有效时间 |
clns timer rdpacket holding [ seconds ] |
可选;缺省值180秒。 |
|
|
配置发送ISH的时间间隔 |
timer configuration [ seconds ] |
可选;缺省值为60秒。 |
|
|
配置发送的ISH报文所携带信息的有效时间 |
timer holding [ seconds ] |
可选;缺省值为180秒。 |
|
|
清除ES-IS流量统计 |
reset esis statistics |
可选 |
|
|
显示路由器上ES-IS协议动态发现的邻居信息 |
display esis peer |
可选;可在任意视图下执行 |
|
|
显示ES-IS服务的接口信息 |
display esis interface [ interface-type interface-number ] |
可选;可在任意视图下执行 |
|
|
显示ES-IS服务流量信息 |
display esis statistics |
可选;可在任意视图下执行 |
|
|
显示当前ES-IS协议状态 |
display esis |
可选;可在任意视图下执行 |
|
在进行静态直连邻居配置前,路由器上必须已经进行了CLNS相关配置。
IS上ES邻居为静态直连邻居时,配置过程如下:
表3-6 IS上ES邻居为静态直连邻居时配置
|
配置项 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置静态直连的ES邻居 |
clns es-peer NSAP interface-type interface-number [ SNPA ] |
可选;如果IS上不启用ES-IS路由协议,则需要配置静态ES邻居。 |
|
打开发送重定向报文的开关 |
clns rdpacket enable |
可选;缺省情况下,发送RD报文的开关是打开的,当NPDU的出接口等于入接口时,就会发送RD报文。 |
|
设置连续两个重定向报文的最小时间间隔 |
clns rdpacket interval { milliseconds } |
可选;缺省值为10毫秒。 |
|
配置发送的RD报文所携带信息的有效时间 |
clns timer rdpacket holding [ seconds ] |
可选;缺省值180秒。 |
|
配置发送ISH的时间间隔 |
timer configuration [ seconds ] |
可选;缺省值为60秒。 |
|
配置发送的ISH报文所携带信息的有效时间 |
timer holding [ seconds ] |
可选;缺省值为180秒。 |
在进行静态直连邻居配置前,路由器上必须已经进行了CLNS相关配置。
属于不同区域的IS间,可以配置静态前缀路由,配置过程如下:
|
配置项 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置区域间的静态前缀路由 |
clns route-static [ default-nsap-prefix | NSAP prefix ] interface-type interface-number [ SNPA ] [ reject | blackhole ] |
- |
通常一个OSI用户的网络只存在一个路由域,该路由域由一个纯OSI骨干区和若干个纯OSI L1区域构成。多个OSI用户网络就形成了多个路由域。
当单个路由域过大,会对网络性能以及配置管理造成不良的影响,所以需要被分为多个区域;或者是出于用户本身的业务分离需要,一个OSI用户的网络也可以被分割成多个路由域,其分割方法有两种:
l 路由域之间不运行IS-IS,它们之间只存在物理连接,不存在IS-IS的协议连接。
l 路由域之间运行IS-IS,但每个路由域要配置不同的认证密码,使得路由域之间IS-IS不能互通,即在IS-IS的协议层面实现路由域分割。
当在多个路由域的组网情况中,路由域内部通常使用IS-IS来发现并生成CLNS路由,而路由域之间一般通过配置IDRP(Inter-Domain Routing Protocol,域间路由协议)路由的方式来实现路由域之间的互通。
注意:
如果需要通过配置IDRP的方式来实现路由域之间的互通,则必须为每个路由域规划不同的地址前缀,即每个路由域内的所有IS都应该有公共的地址前缀。
路由器在OSI特性上实现了CLNP/ES-IS/IS-IS over IP的能力,即OSI报文(CLNP/ES-IS/IS-IS等报文)能够在TCP/IP网络上进行传输,实现多个OSI网络跨越TCP/IP网络的互通功能。其基本手段是借助GRE封装。有关GRE的详细介绍请参见本手册中的“VPN”部分。
l 当CLNP报文从发送端到达接收端要穿过非OSI网络(TCP/IP网络)时,要建一条Tunnel。
l Tunnel是一个虚拟的点对点的连接,用户可以把它看成仅支持点对点连接的虚拟接口。这个接口提供了一条通路,使封装的数据报能够在这个通路上传输,并且在一个Tunnel的两端分别对数据包进行GRE封装及解封装。

图3-5 多个OSI网络跨越TCP/IP网络进行互通
IS-IS/ES-IS跨越TCP/IP网络进行互通与CLNP类似。
如下图所示,两个路由域的地址前缀分别为47.0001和47.0002:
l IS0、IS2、IS4上打开发送重定向报文的开关
l 设置IS0、IS2、IS4上连续两个重定向报文的最小时间间隔为80毫秒
l IS0与ES0间运行ES-IS协议;IS2与ES1间运行ES-IS协议;IS4与ES3间运行ES-IS协议;IS1与IS2间运行IS-IS协议;IS1与IS3间运行IS-IS协议;IS0与IS2间运行区域间静态前缀路由。

图3-6 单纯OSI环境典型配置组网图
(1) IS0上的配置
# 进入系统视图
<IS0> system-view
# 启用CLNS服务,并配置IS0的NET地址
[IS0] clns enable
[IS0] clns net 47.0002.0001.0000.0000.0010.00
# 全局启用IS-IS协议,设置IS-IS路由进程的网络实体名称
[IS0] isis
[IS0-isis] network-entity 47.0002.0001.0000.0000.0010.00
[IS0-isis] quit
# 全局启用ES-IS协议
[IS0] esis
[IS0-esis] quit
# 配置串口serial1/0/0,配置子接口并封装FR
[IS0] interface serial 1/0/0
[IS0-serial1/0/0] link-protocol fr
[IS0-serial1/0/0] interface serial1/0/0.1
[IS0-serial1/0/0.1] fr dlci 30
[IS0-serial1/0/0.1] isis enable clns
[IS0-serial1/0/0.1] esis enable
[IS0-serial1/0/0.1] fr map clns 30
[IS0-serial1/0/0.1] quit
# 配置到domain47.00001的静态路由(IS2的MAC地址为0000.5e00.0010)
[IS0] clns route-static 47.0001 interface e0/0/0 0000.5e00.0010
# 打开发送重定向报文的开关,设置连续两个重定向报文的最小时间间隔为80毫秒
[IS0] clns rdpacket enable
[IS0] clns rdpacket interval 80
(2) IS1上的配置
# 进入系统视图
<IS1> system-view
# 启用CLNS服务,并配置IS1的NET地址
[IS1] clns enable
[IS1] clns net 47.0001.0003.0000.0000.0011.00
# 全局启用IS-IS协议,设置IS的level,设置IS的网络实体名称
[IS1] isis
[IS1-isis] is-level level-2
[IS1-isis] network-entity 47.0001.0003.0000.0000.0011.00
[IS1-isis] quit
# 配置串口serial1/0/0,封装PPP协议,接口启用CLNS服务
[IS1] interface serial1/0/0
[IS1-serial1/0/0] link-protocol ppp
[IS1-serial1/0/0] isis enable clns
[IS1-serial1/0/0] quit
# 配置以太网接口ethernet0/0/0,接口启用CLNS服务
[IS1] interface ethernet0/0/0
[IS1-ethernet0/0/0] isis enable clns
[IS1-ethernet0/0/0] quit
(3) IS2上的配置
# 进入系统视图
<IS2> system-view
# 启用CLNS服务,并配置IS2的NET地址
[IS2] clns enable
[IS2] clns net 47.0001.0001.0000.0000.0012.00
# 全局启用IS-IS协议,设置IS的网络实体名称
[IS2] isis
[IS2-isis] network-entity 47.0001.0001.0000.0000.0012.00
[IS2-isis] quit
# 配置串口serial0/0/0,封装PPP协议,接口启用CLNS服务
[IS2] interface serial 1/0/0
[IS2-serial1/0/0] link-protocol ppp
[IS2-serial1/0/0] isis enable clns
[IS2-serial1/0/0] quit
# 配置以太网接口ethernet0/0/1,启用CLNS服务,设置IS的Level
[IS2] interface ethernet 0/0/1
[IS2-ethernet0/0/1] isis enable clns
[IS2-ethernet0/0/1] isis circuit-level level-1
[IS2-ethernet0/0/1] quit
# 配置IS2与IS0间的区域间静态前缀路由(IS0的MAC地址为0000.5e00.0011)
[IS2] clns route-static 47.0002 interface ethernet 0/0/0 0000.5e00.0011
# 打开发送重定向报文的开关,设置连续两个重定向报文的最小时间间隔为80毫秒
[IS2] clns rdpacket enable
[IS2] clns rdpacket interval 80
(4) IS3上的配置
# 进入系统视图
<IS3> system-view
# 启用CLNS服务,并配置IS3的NET地址
[IS3] clns enable
[IS3] clns net 47.0001.0001.0000.0000.0013.00
# 全局启用IS-IS协议,设置IS的网络实体名称
[IS3] isis
[IS3-isis] is-level level-1
[IS3-isis] net 47.0001.0001.0000.0000.0013.00
[IS3-isis] quit
[IS3] esis
# 配置以太网接口ethernet0/0/0,接口启用CLNS服务
[IS3] interface ethernet0/0/0
[IS3-ethernet0/0/0] isis enable clns
[IS3-ethernet0/0/0] quit
# 配置以太网接口ethernet0/0/2,接口分别启用IS-IS协议和ES-IS协议的CLNS服务,
[IS3] interface ethernet0/0/1
[IS3-ethernet0/0/1] isis enable clns
[IS3-ethernet0/0/1] esis enable
[IS3-ethernet0/0/1] quit
(5) IS4上的配置
# 进入系统视图
<IS4> system-view
# 启用CLNS服务,并配置IS4的NET地址
[IS4] clns enable
[IS4] clns net 47.0001.0002.0000.0000.0014.00
# 全局启用IS-IS协议,设置IS的网络实体名称
[IS4] isis
[IS4-isis] net 47.0002.0001.0000.0000.0014.00
[IS3-isis] quit
# 配置以太网接口ethernet0/0/0,接口上启用CLNS服务
[IS4] interace ethernet 0/0/0
[IS4-ethernet0/0/0] isis enable clns
[IS4-ethernet0/0/0] quit
# 配置串口serial0/0/0,封装PPP协议,接口启用CLNS服务
[IS4] interface serial1/0/0
[IS4-serial1/0/0] link-protocol ppp
[IS4-serial1/0/0] isis enable
[IS4-serial1/0/0] isis circuit-level level-1
[IS4-serial1/0/0] quit
# 打开发送重定向报文的开关,设置连续两个重定向报文的最小时间间隔为80毫秒
[IS4] clns rdpacket enable
[IS4] clns rdpacket interval 80
(6) IS5上的配置
# 进入系统视图
<IS5> system-view
# 启用CLNS服务,并配置IS5的NET地址
[IS5] clns enable
[IS5] clns net 47.0001.0002.0000.0000.0015.00
# 全局启用IS-IS及ES-IS协议,设置IS的网络实体名称
[IS5] isis
[IS5-isis] net 47.0002.0001.0000.0000.0015.00
[IS3-isis] quit
[IS5] esis
# 配置serial1/0/0,接口启用CLNS服务
[IS5] interface serial 1/0/0
[IS5-serial1/0/0] isis enable clns
[IS5-serial1/0/0] quit
# 配置以太网接口ethernet1/0/0,接口启用CLNS服务,并配置ES-IS协议
[IS5] interface ethernet1/0/0
[IS5-ethernet1/0/0] isis enable clns
[IS5-ethernet1/0/0] esis enable
# 配置serial1/0/1,接口启用CLNS服务,并配置ES-IS协议
[IS5] interface serial 1/0/1
[IS5-serial1/0/1] isis enable clns
[IS5-serial1/0/1] esis enable
[IS5-serial1/0/1] quit
(7) IS6上的配置
# 进入系统视图
<IS6> system-view
# 启用CLNS服务,并配置IS6的NET地址
[IS6] clns enable
[IS6] clns net 47.0001.0002.0000.0000.0016.00
# 全局启用IS-IS及ES-IS协议,配置IS Level,设置IS的网络实体名称
[IS6] isis
[IS6-isis] is-level level-1
[IS6-isis] net 47.0001.0001.0000.0000.0016.00
[IS3-isis] quit
[IS6] esis
# 配置以太网接口ethernet0/0/0,启用CLNS服务,并配置ES-IS协议
[IS6] interface ethernet0/0/0
[IS6-ethernet0/0/0] esis enable
[IS6-ethernet0/0/0] quit
(8) ES0上的配置
# 进入系统视图
<ES0> system-view
# 启用CLNS服务,并配置ES0的NET地址
[ES0] clns enable
[ES0] clns net 47.0002.0001.0000.0000.0010.00
[ES0] esis
# 配置串口serial0/0/0,配置子接口并封装FR
[ES0] interface serial 1/0/0
[ES0-serial1/0/0] link-protocol fr
[ES0-serial1/0/0] fr interface-type dce
[ES0-serial1/0/0] interface serial 1/0/0.1 p2p
[ES0-serial1/0/0.1] fr dlci 30
[ES0-serial1/0/0.1] esis enable
[ES0-serial1/0/0.1] quit
(9) ES1上的配置
# 进入系统视图
<ES1> system-view
# 启用CLNS服务,并配置ES1的NET地址
[ES1] clns enable
[ES1] clns net 47.0001.0001.0000.0000.0021.00
[ES1] esis
# 配置以太网接口ethernet0/0/0,启用ES-IS协议
[ES1] interface ethernet0/0/0
[ES1-ethernet0/0/0] esis enable
[ES1-ethernet0/0/0] quit
& 说明:
ES2、ES3、ES4上的配置与ES1上的配置完全相同,这里将不一一介绍,请参考ES1的配置。
l 区域49.0001和49.0011通过Router A进行互连;
l 区域49.0002和区域49.0001、49.0011通过Router A和Router B进行互连;
l 区域49.0002和区域49.0001、49.0011之间的通信需要经GRE封装后在IP网络上传输。

图3-7 CLNP Over IP配置组网图
(1) 配置Router A
# 启动CLNS服务并配置相关参数。
<H3C> system-view
[H3C] clns enable
[H3C] clns erpacket enable
[H3C] clns net 49.0001.0100.0110.0065.00
[H3C] clns net 49.0011.0100.0110.0065.00
# 配置IS-IS相关参数。
[H3C] isis RD1
[H3C-isis] network-entity 49.0001.0100.0110.0065.00
[H3C-isis] network-entity 49.0011.0100.0110.0065.00
[H3C-isis] is-level Level-1-2
[H3C-isis] quit
# 配置以太网接口ethernet0/0/0
[H3C] interface ethernet0/0/0
[H3C-ethernet0/0/0] isis enable clns RD1
[H3C-ethernet0/0/0] quit
# 配置以太网接口ethernet0/0/1
[H3C] interface ethernet0/0/1
[H3C-ethernet0/0/1] isis enable clns RD1
[H3C-ethernet0/0/1] quit
# 配置Router A和IP网络相连的serial1/0/0接口。
[H3C] interface serial1/0/0
[H3C-serial1/0/0] ip address 10.1.100.65 255.255.255.0
[H3C-serial1/0/0] quit
# 配置和Router B之间的GRE隧道。
[H3C] interface tunnel12
[H3C-Tunnel12] tunnel-protocol gre
[H3C-Tunnel12] isis enable clns
[H3C-Tunnel12] isis small-hello
[H3C-Tunnel12] source serial1/0/0
[H3C-Tunnel12] destination 10.2.100.65
[H3C-Tunnel12] keepalive 10 3
(2) 配置Router B
# 启动CLNS服务并配置相关参数。
[H3C] clns enable
[H3C] clns erpacket enable
[H3C] clns net 49.0002.0100.0210.0065.00
# 配置IS-IS相关参数。
[H3C] isis RD1
[H3C-isis] network-entity 49.0002.0100.0210.0065.00
[H3C-isis] is-level Level-1-2
[H3C-isis] quit
# 配置以太网接口ethernet0/0/0
[H3C] interface ethernet0/0/0
[H3C-ethernet0/0/0] isis enable clns RD1
[H3C-ethernet0/0/0] quit
# 配置Router B和IP网络相连的serial1/0/0接口。
[H3C] interface serial1/0/0
[H3C-serial1/0/0] ip address 10.2.100.65 255.255.255.0
[H3C-serial1/0/0] quit
# 配置和Router A之间的GRE隧道。
[H3C] interface Tunnel21
[H3C-Tunnel21] tunnel-protocol gre
[H3C-Tunnel12] isis enable clns
[H3C-Tunnel12] isis small-hello
[H3C-Tunnel21] source serial1/0/0
[H3C-Tunnel21] destination 10.1.100.65
[H3C-Tunnel21] keepalive 10 3
IPX(Internetwork Packet Exchange,网际报文交换)是NetWare的网络层协议,它在Novell的NetWare协议族中的位置类似于IP协议在TCP/IP中的位置,定义Novell网络的地址结构等内容。
IPX协议是一个无连接的协议。虽然在IPX包中不仅包含数据,也包含目的地的IPX地址,但IPX并不确认包是否转发成功。包转发成功与否和连接控制等功能都由IPX的上层协议来提供。在IPX中,任何一个IPX包都被认为是一个独立的实体,与其它的IPX包没有任何逻辑上或顺序上的联系。
IPX协议实现填地址、路由和转发信息包的功能。对于从上层产生的包,IPX直接转发出去;对于用户数据包,IPX会从路由信息表中查找正确的路径,将包转发出去。
& 说明:
在Comware目前的实现中,只在集中式设备上提供对IPX特性的支持。
IPX的地址结构与IP的地址结构不同,IPX地址包括网络地址和节点地址两部分,形式为:网络号.节点值,即:network.node
网络地址表明站点所在的网络,长度为4个字节,用8个16进制数字表示,输入时,前导0可省略。节点地址标志网络中的一个节点,其结构与MAC地址相同,长度为6个字节,通常表示为用“-”分隔的三个两字节数,输入时,前导0不能省略。
例如,在IPX地址bc.0-0cb-47中,网络地址为bc(更准确的写法是:000000bc),节点地址为0-0cb-47(更准确的写法是:0000-00cb-0047)。
因此,IPX地址也可以表示为N.H-H-H,其中N是网络地址,H-H-H是节点地址。
IPX使用RIP维护和发布动态路由信息。
路由器的主要功能是在网间转发包。当客户机在网间发送一个包时,它并不知道要到达目的地该经过什么样的路径,它只知道要把此包传到最近的路由器,再由下一台路由器继续转发。因此,路由器必须提供它可直接发给目的地或需要转发的网络路由信息,以便接到一个包时,能找到下一正确站点,把包传递下去。这些路由信息可静态配置,也可动态收集。
RIP是Routing Information Protocol(路由信息协议)的简称。路由器通过RIP来创建和维护一个网间路由信息数据库(通常称为路由信息表,Router Information Table)。路由器启动后,RIP与其他的RIP邻居交换路由信息,根据网络的变化情况维护路由信息表。
下图为RIP协议主要部件之间的关系示意图:

图4-1 RIP主要部件间关系的示意图
本章中介绍的是IPX使用的RIP,IP环境下的RIP配置,请参考本手册的“路由协议”部分。
SAP是Service Advertising Protocol(服务公告协议)的简称,用于发布服务器提供的服务类型和它们的地址。服务器启动时,通过SAP广播自己所提供的服务;服务器关闭时,通过SAP指示服务已经中止。
通过SAP协议,路由器创建和维护一个网间服务信息数据库(通常称为服务器信息表,Server Information Table)。它帮助客户了解网络所能提供的服务类型以及提供这些服务的服务器地址。这是一个很重要的作用,因为如果一个工作站不知道文件服务器的地址,它就不能建立同文件服务器的会话。
服务器在与它直接相连的网点上周期性广播它提供的服务类型和地址。这些服务器广播的信息不能直接被客户使用,而是由网络上路由器的SAP代理收集,并存入自己的服务器信息表。由于SAP动态更新服务器信息,所以客户总能得到最近的服务器的正确地址。
下图为SAP协议主要部件之间的关系示意图:

图4-2 SAP主要部件间关系的示意图
SAP定义了3种类型的数据包,包括服务请求、服务响应和定期更新,其工作原理如下:
当一个NetWare客户正在初始化时,它需要定位一个服务器,以连接到其上。为达到这个目的,它发送一个SAP最近服务器(GNS)请求。这个请求是一个广播,至少有一个路由器或服务器能够给予响应。SAP响应报文包含数据包类型、服务类型、服务器名称服务器地址等信息。
注意:因为GNS请求是一个广播,这意味着,客户仅仅能从本地IPX网络上的服务器和路由器得到响应。为可以定位其他网络上的服务器,IPX路由器可以通过发送RIP请求来获得到其它网络服务器的路由。
当一个服务器有服务需要进行通告时,它发送SAP广播,以列出服务名称、类型和IPX网络地址。IPX路由器听到这些广播,并在服务信息数据库中加入被广播的服务。路由器定期向直接相连的网络广播这些数据库,所以通告可以在整个网络上传播。缺省情况下,这些广播每60秒钟发送一次。
在IPX的配置中,为使用IPX特性而必须进行的配置有两项:
l 激活IPX
l 使能IPX接口
IPX支持静态路由配置。并且,在接口上使用IPX后,将自动启用动态路由协议RIP。路由相关的配置包括:
l 配置IPX静态路由
l 配置IPX路由数限制
l 配置IPX RIP相关参数
IPX的服务公告协议SAP随着IPX的使能而被使能,用户也可以根据实际需要配置SAP的其它参数或进行服务信息的配置。这部分的配置内容在:
l 配置IPX SAP相关参数
IPX转发的相关配置还包括:
l 配置IPX的触发刷新特性
l 配置IPX的水平分割特性
l 配置IPX帧的封装格式
l 转发类型为20的IPX广播包
请在系统视图下进行下列配置。
|
操作 |
命令 |
|
激活IPX |
ipx enable [ node node ] |
|
关闭IPX |
undo ipx enable |
缺省情况下,IPX功能是关闭的。
node关键字用于指定路由器的节点值,如果在这里没有配置node,则路由器将使用它的第一个以太网接口的MAC地址路由器的节点值。
路由器串口、以太网口的节点值与路由器的节点值有如下关系:
l 在激活IPX功能时,如果没有指明路由器的节点值,则路由器将使用它的第一个以太网口的MAC地址作为其串口的节点值。
l 在激活IPX功能时,如果指明了路由器的节点值,则路由器将使用该节点值作为其串口的节点值。
l 而对于以太网口,则无论是否指明路由器的节点值,其节点值就是本身的MAC地址。
& 说明:
如果路由器没有以太网接口,则会根据系统时钟产生一个随机的节点号。
当激活了路由器的IPX功能后,还必须对每一个独立的接口分配一个网络号,使IPX能在这个接口上运行。
请在接口视图下进行下列配置。
|
操作 |
命令 |
|
使能IPX接口 |
ipx network network-number |
|
删除IPX接口 |
undo ipx network |
缺省情况下,IPX启动后在所有接口上禁用。
如果删除IPX接口,则该接口的IPX配置和静态路由信息将会被删除。
请在系统视图下进行下列配置。
表4-3 配置IPX静态路由
|
操作 |
命令 |
|
配置IPX静态路由 |
ipx route-static network { network.node | interface-type interface-num } [ preference value ] [ tick ticks hop hops ] |
|
删除IPX静态路由 |
undo ipx route-static { network [ network.node | interface-type interface-num ] | all } |
目的网络号为-2(0xFFFFFFFE)的IPX静态路由是缺省路由。
在配置滴答数tick和跳数hop两个参数时,或者都配置,或者都不配置,不能只配置其中一个。一个滴答数是1/18秒。
直连路由优先级固定为0,不可改变;激活的IPX静态路由优先级缺省情况下是60,可配置;动态IPX路由的优先级固定是100,不可改变。
在目前的实现中,出接口只能配置为封装PPP的接口。
在IPX中,可以设置路由表中允许的到同一目的地址的最大动态路由数和等价路由数。这两项配置相互之间没有直接的联系,改变其中一项配置,不会影响另一项。
请在系统视图下进行下列配置。
|
操作 |
命令 |
|
配置到同一目的地址的最大动态路由数 |
ipx route max-reserve-path paths |
|
恢复缺省设置 |
undo ipx route max-reserve-path |
缺省情况下,到同一目的地址的最大动态路由数为4。
当到同一目的地址的动态路由数达到设置的最大值时,新发现的动态路由将不被添加到路由表中,直接丢弃。如果新配置的值小于原先设定的值,不删除当前路由表中多出的路由,直到它们自行老化或被手工删除。
|
操作 |
命令 |
|
配置到同一目的地址的等价路由数 |
ipx route load-balance-path paths |
|
恢复缺省设置 |
undo ipx route load-balance-path |
缺省情况下,到同一目的地址的等价路由数为1。
如果新配置的值小于当前激活的路由数,则系统将把超出的激活路由变为非激活状态;如果当前激活的路由数小于配置的等价路由数,并且当前还存在与这些激活路由等价的路由,则把这些路由变为激活状态,直到激活的路由数等于配置的等价路由数。
在接口上使能了IPX后,系统将自动启用RIP。用户也可以根据实际需求,进行下列RIP相关参数的配置:
l 配置IPX RIP的刷新周期
l 配置IPX RIP的老化周期
l 配置IPX RIP刷新报文的大小
l 配置接口发送IPX报文的延时
l 配置IPX RIP引入静态路由
路由器定期向外广播RIP刷新报文,用户可以配置IPX的RIP刷新周期。
请在系统视图下进行下列配置。
表4-6 配置IPX RIP的刷新周期
|
操作 |
命令 |
|
配置IPX RIP的刷新周期 |
ipx rip timer update seconds |
|
恢复缺省设置 |
undo ipx rip timer update |
缺省情况下,IPX RIP的刷新周期为60秒。
IPX RIP的老化周期依赖于刷新周期,用户可以设置几个刷新周期为一个老化周期。
请在系统视图下进行下列配置。
表4-7 配置IPX RIP的老化周期
|
操作 |
命令 |
|
配置IPX RIP的老化周期 |
ipx rip multiplier multiplier |
|
恢复缺省设置 |
undo ipx rip multiplier |
缺省情况下,RIP老化周期是刷新周期的3倍。即,如果一个路由表项在经过三个RIP刷新周期之后都没有得到更新,则它将从路由表中被删除,同时,与它相关联的动态服务信息表项也会从服务信息表中被删除。
请在接口视图下进行下列配置。
表4-8 配置IPX RIP刷新报文的大小
|
操作 |
命令 |
|
配置IPX RIP刷新报文的大小 |
ipx rip mtu bytes |
|
恢复缺省设置 |
undo ipx rip mtu |
缺省情况下,IPX RIP的刷新报文最大为432字节。由于IPX报文头和RIP报文头共32字节,因此,一个刷新报文最多可以携带50个8字节的路由项。
在IPX RIP中,使用两个参数衡量到达目的网络的距离并进行选路,这两个参数是跳数(hops)和滴答数(ticks)。
滴答数表示延时,一个滴答数是1/18秒。延时量的大小代表接口转发IPX报文的快慢:延时大,表示接口转发IPX报文速度慢;延时小,表示接口转发IPX报文速度快。用户可以调节接口发送IPX报文的延时量。
请在接口视图下进行下列配置。
表4-9 配置接口发送IPX报文的延时
|
操作 |
命令 |
|
配置接口发送IPX报文的延时 |
ipx tick ticks |
|
恢复缺省设置 |
undo ipx tick |
缺省情况下,以太网接口的延时为1个滴答数,异步串口为30个滴答数,广域网口的延时是6个滴答数。滴答数(ticks)的取值范围为0~30000。
通过路由引入,不同路由协议之间可以共享对方的路由信息。
请在系统视图下进行下列配置。
表4-10 配置IPX RIP引入静态路由
|
操作 |
命令 |
|
配置IPX RIP引入静态路由 |
ipx rip import-route static |
|
取消IPX RIP引入的静态路由 |
undo ipx rip import-route static |
缺省情况下,IPX RIP不引入静态路由。
l IPX SAP的配置包括:
l 激活/关闭SAP
l 配置IPX SAP的刷新周期
l 配置IPX SAP的老化周期
l 配置IPX SAP刷新报文的大小
l 配置IPX SAP的GNS请求响应
l 配置IPX静态服务信息表项
l 配置服务信息存储队列的长度
在一个接口上,SAP随着IPX的使能而被使能。如果需要手工控制SAP功能的启用,可以使用此配置。
请在接口视图下进行下列配置。
表4-11 激活/关闭SAP
|
操作 |
命令 |
|
关闭IPX SAP |
ipx sap disable |
|
激活IPX SAP |
undo ipx sap disable |
在一个规模较大的网络中,一次IPX SAP广播可能会占用大量的带宽,而对于运行PPP、X.25和帧中继等协议的接口,其带宽是有限的,这时,改变IPX SAP刷新周期是减少带宽浪费的一种有效方法。
请在系统视图下进行下列配置。
表4-12 配置IPX SAP的刷新周期
|
操作 |
命令 |
|
配置IPX SAP的刷新周期 |
ipx sap timer update seconds |
|
恢复缺省设置 |
undo ipx sap timer update |
缺省情况下,IPX SAP的刷新周期是60秒。
在配置时,应确保所有在网络上的服务器和路由器有同样的SAP刷新周期,否则的话,可能会导致路由器错误地认为一台仍在工作的服务器已失效。
请在系统视图下进行下列配置。
表4-13 配置IPX SAP的老化周期
|
操作 |
命令 |
|
配置IPX SAP的老化周期 |
ipx sap multiplier multiplier |
|
恢复缺省设置 |
undo ipx sap multiplier |
缺省情况下,如果IPX SAP服务信息在3个刷新周期时间内没有得到更新,那么它将从服务信息表中被删除。
请在接口视图下进行下列配置。
表4-14 配置IPX SAP刷新报文的大小
|
操作 |
命令 |
|
配置IPX SAP刷新报文的大小 |
ipx sap mtu bytes |
|
恢复缺省设置 |
undo ipx sap mtu |
缺省情况下,IPX SAP的刷新报文最大长度为480字节,即,一个SAP刷新报文中可以包含7个64字节的服务信息。
GNS(Get Nearest Server,请求最近的服务器)是一种SAP消息,由启用了SAP的NetWare客户端广播,NetWare服务器以Give Nearest Server消息进行响应。
如果客户端所在的网段上存在NetWare服务器,将由此服务器进行响应;如果网段上不存在NetWare服务器,则由路由器来响应。
用户可设置路由器对SAP GNS请求的处理方式:
l 由路由器使用最近(nearest)的服务器信息进行响应;
l 由路由器通知它所知道的所有服务器轮流进行响应(Round-Robin方式);
l 设置路由器的某个接口上是否对SAP GNS请求进行响应。
请在系统视图下进行下列配置。
表4-15 配置路由器对SAP GNS请求的响应方式
|
操作 |
命令 |
|
以Round-Robin方式进行GNS请求响应 |
ipx sap gns-load-balance |
|
使用最近的服务器信息进行GNS请求响应 |
undo ipx sap gns-load-balance |
请在接口视图下进行下列配置。
表4-16 配置路由器接口对SAP GNS请求的响应方式
|
操作 |
命令 |
|
在当前接口上不对GNS请求进行响应 |
ipx sap gns-disable-reply |
|
在当前接口上对GNS请求进行响应 |
undo ipx sap gns-disable-reply |
缺省情况下,对于SAP的GNS(Get Nearest Server)请求,路由器会通知知道的所有服务器轮流响应,以避免某个服务器负载过重。
通常情况下,客户端只使用NetWare服务器通告的、并被路由器存储的服务,在特殊情况下,也可以指定客户端使用特定服务。
为了让客户端总能使用某个特定服务,可以手工将静态服务信息增加到服务信息表中。如果与静态服务信息相关联的路由失效或被删除,那么,这条静态服务信息将被禁止向外广播,直到路由器找到一条新的与此服务信息相关联的有效路由。
请在系统视图下进行下列配置。
表4-17 配置IPX静态服务信息表项
|
操作 |
命令 |
|
增加一条IPX静态服务信息表项 |
ipx service service-type name network.node socket hop hopcount preference preference |
|
删除IPX静态服务信息表项 |
undo ipx service { { service-type [ name [ network.node ] ] [ preference preference] } | all } |
IPX的服务信息与路由信息类似,具有优先级的概念,优先级的值越小,则服务信息的优先级越高。缺省情况下,静态服务信息的优先级为60;动态服务信息的的优先级为500。
一种服务类型可以配置的最大动态服务信息数目可以通过命令进行调整。
请在系统视图下进行下列配置。
|
操作 |
命令 |
|
配置服务信息存储队列的长度 |
ipx sap max-reserve-servers length |
|
恢复缺省设置 |
undo ipx sap max-reserve-servers |
缺省情况下,服务信息存储队列的长度为2048。
需要说明的是,以上命令不限制静态服务信息的数目,只限制动态服务信息数目。如果用户配置的服务信息队列长度小于原来的长度,服务信息表中的表项不会被删除,如果同种服务类型的服务信息数目达到了配置的值,新的服务信息将不会被加入。
IPX最多可以支持10240个服务信息,5120种服务类型和5120条静态服务信息。
IPX的RIP和SAP周期性地向外广播刷新报文,如果不希望路由器周期性发送广播报文,可以在接口上启用触发刷新特性,这样配置后,只有在路由或服务信息发生变化时,才向外发送刷新报文。
请在接口视图下进行下列配置。
表4-19 配置IPX的触发刷新特性
|
操作 |
命令 |
|
在接口上启用触发刷新特性 |
ipx update-change-only |
|
在接口上关闭触发刷新特性 |
undo ipx update-change-only |
缺省情况下,接口上不启用触发刷新特性。
水平分割(Split Horizon)是避免产生路由环的一种方法,是指从一个接口接收到的路由信息不能再从这个接口发送出去。在某些情况下,必须禁用水平分割以保证正确的路由信息传递。建议只在必要时才禁用水平分割。另外,禁止水平分割对点到点连接的链路不起作用。
请在接口视图下进行下列配置。
表4-20 配置IPX的水平分割特性
|
操作 |
命令 |
|
允许水平分割 |
ipx split-horizon |
|
禁止水平分割 |
undo ipx split-horizon |
缺省情况下,接口上允许水平分割。
在广域网类型的接口上,IPX帧目前只支持PPP封装。在以太网接口上,可以通过命令改变IPX帧的封装格式。
请在以太网接口视图下进行下列配置。
表4-21 配置IPX帧的封装格式
|
操作 |
命令 |
|
配置IPX帧封装格式为Ethernet_802.2 |
ipx encapsulation dot2 |
|
配置IPX帧封装格式为Ethernet_802.3 |
ipx encapsulation dot3 |
|
配置IPX帧封装格式为Ethernet_II |
ipx encapsulation ethernet-2 |
|
配置IPX帧封装格式为Ethernet_SNAP |
ipx encapsulation snap |
|
恢复缺省设置 |
undo ipx encapsulation |
缺省情况下,以太网接口的IPX帧封装格式为Ethernet_802.3(dot3)。
Novell NetWare定义了一种类型为20的IPX报文,用于NetBIOS(Network Basic Input/Output System)。缺省情况下,这种类型为20的广播包会被路由器丢弃,但用户可以通过配置命令,允许将类型为20的广播包发送至其它网段上。
请在接口视图下进行下列配置。
表4-22 转发类型为20的IPX广播包
|
操作 |
命令 |
|
允许转发类型为20的广播包 |
ipx netbios-propagation |
|
禁止转发类型为20的广播包 |
undo ipx netbios-propagation |
在完成上述配置后,在任意视图下执行display命令可以显示IPX配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行debugging命令可以对IPX进行调试。
表4-23 IPX显示和调试
|
操作 |
命令 |
|
查看IPX的接口状态和接口参数 |
display ipx interface [ interface-type interface-num ] |
|
查看接收和传送包类型及数量 |
display ipx statistics |
|
查看IPX服务信息表 |
display ipx service-table [ [ type service-type | name name | network network | order { network | type } ] | [ inactive ] ] [ verbose ] |
|
查看IPX激活路由信息 |
display ipx routing-table |
|
查看IPX详细路由信息,包括激活和非激活 |
display ipx routing-table verbose |
|
查看IPX路由统计信息 |
display ipx routing-table statistics |
|
查看指定目的网络号的IPX激活路由信息 |
display ipx routing-table network |
|
查看指定目的网络号的IPX路由详细信息,包括激活和非激活 |
display ipx routing-table network verbose |
|
查看指定目的类型的IPX路由信息 |
display ipx routing-table protocol { default | direct | rip | static } [ inactive ] |
|
查看指定目的类型的IPX路由详细信息,包括激活和非激活 |
display ipx routing-table protocol { default | direct | rip | static } verbose |
|
打开IPX SAP报文和事件调试信息的开关 |
debugging ipx sap [ packet [ verbose ] | event ] |
|
关闭IPX SAP调试开关 |
undo debugging ipx sap [ packet [ verbose ] | event ] |
|
打开IPX报文调试开关 |
debugging ipx packet [ interface-type interface-num ] |
|
关闭IPX报文调试开关 |
undo debugging ipx packet [ interface-type interface-num ] |
|
打开IPX ping调试开关 |
debugging ipx ping |
|
关闭IPX ping调试开关 |
undo debugging ipx ping |
|
打开IPX RIP调试开关 |
debugging ipx rip { packet [ verbose ] | event } |
|
关闭IPX RIP调试开关 |
undo debugging ipx rip { packet [ verbose ] | event } |
|
打开IPXRM 模块的路由刷新调试开关 |
debugging ipx rtpro-flash |
|
打开IPXRM 模块的接口变化调试开关 |
debugging ipx rtpro-interface |
|
打开IPXRM 模块的路由变化调试开关 |
debugging ipx rtpro-routing |
请在用户视图下进行下列配置。
表4-24 清除IPX统计信息
|
操作 |
命令 |
|
清除IPX统计信息 |
reset ipx statistics |
|
清除指定类型IPX路由的路由记数统计信息 |
reset ipx routing-table statistics |
可在任意视图下进行下列操作。
|
操作 |
命令 |
|
检查主机可达性及网络可达性 |
ping ipx network.node [ -c count ] [ -t timeout ] [ -s size ] |
路由器RouterA与RouterB的串口通过IPX网络相连。RouterA的以太网接口节点地址是00e0-fc01-0000,RouterB的以太网接口节点地址是00e0-fc01-0001。
服务器上安装Netware4.1,网络号为2。包的封装格式为Ethernet_II。客户端是PC机,网络号为3,包的封装格式为SNAP,服务器提供文件服务和目录服务。客户通过IPX网络访问这些服务。服务器的节点值为0000-0c91-f61f。

图4-3 IPX配置组网图
(1) 配置RouterA
# 激活IPX。
[H3C] ipx enable
# 在接口Ethernet2/0/0上激活IPX,网络号为2。
[H3C] interface ethernet 2/0/0
[H3C-Ethernet2/0/0] ipx network 2
# 设置以太网口上包的封装格式为Ethernet_II。
[H3C-Ethernet2/0/0] ipx encapsulation ethernet-2
[H3C-Ethernet2/0/0] quit
# 在接口Serial1/0/0上激活IPX,网络号为1000。
[H3C] interface serial 1/0/0
[H3C-Serial1/0/0] ipx network 1000
[H3C-Serial1/0/0] quit
(2) 配置RouterB
# 激活IPX。
[H3C] ipx enable
# 在接口Ethernet2/0/0上激活IPX,网络号为3。
[H3C] interface ethernet 2/0/0
[H3C-Ethernet2/0/0] ipx network 3
# 设置以太网口上包的封装格式为Ethernet_SNAP。
[H3C-Ethernet2/0/0] ipx encapsulation snap
[H3C-Ethernet2/0/0] quit
# 在接口Serial1/0/0上激活IPX,网络号为1000。
[H3C] interface serial 1/0/0
[H3C-Serial1/0/0] ipx network 1000
[H3C-Serial1/0/0] quit
# 配置一条关于Server文件服务的信息。
[H3C] ipx service 4 server 2.0000-0c91-f61f 451 hop 2
# 配置一条关于Server目录服务的信息。
[H3C] ipx service 26B tree 2.0000-0c91-f61f 5 hop 2
[H3C] ipx service 278 tree 2.0000-0c91-f61f 4006 hop 2
说明:IPX接口配置了ipx network命令就自动启动了RIP和SAP功能,故本例中不再配置路由协议了。
故障之一:在PPP链路上,IPX协议不能进入UP状态
故障排除:
l 检查链路两端配置的网络号是否一致,如果不一致,请重新配置。
l 检查链路两端的节点号是否不同,如果相同,请重新配置。
故障之二:Ping不通目的地址
故障排除:
l 检查Ping命令的目的地址是否正确。
l 使用display ipx interface命令检查路由器的接口配置,相连接口的网络号和IPX帧封装格式必须相同,否则不能Ping通。
l 使用display ipx routing-table命令查看路由信息,检查目的网络号是否可达。
l 使用debugging ipx packet命令打开IPX报文调试开关,根据显示的IPX报文接收、发送、转发和丢弃的详细信息定位错误。
故障之三:报文被丢弃
故障排除:
l 如果IPX报文调试信息显示报文被丢弃,并提示“Packet size is greater than interface MTU!”,则说明发送报文的大小超过了接口能发送的最大报文长度。请使用display interface命令检查接口的MTU,使用display ipx interface命令检查RIP和SAP的报文长度,如果RIP或SAP的报文长度大于接口的MTU,则RIP或SAP报文无法从此接口发送出去。
故障之四:路由器收不到SAP报文
故障排除:
l 使用display ipx interface命令检查接收接口的配置,如果该接口上SAP被禁止了,那么从该接口受到的SAP报文就会被丢弃。
l 故障之五:类型为20的IPX报文不能被传送至其它网段
l 故障排除:
l 使用display ipx interface命令检查接收和发送接口上是否使能了类型为20的IPX报文的转发功能,如果未使能,则无法转发。
l 使用debugging ipx packet命令打开IPX报文调试开关,如果调试信息显示类型为20的报文被丢弃,并提示“Transport Control field of IPX type-20 packet >= 8!”,这是因为类型为20的IPX报文只能被转发8次,如果已经转发了8次,则不再继续转发。
故障之一:不能从对端路由器学到路由。
故障排除:
l 使用命令debugging ipx rip packet verbose打开IPX RIP调试开关,查看是否有含有路由的RIP报文从对端路由器发送过来,如果没有,则表示两台路由器底层连接有问题。
l 如果对端路由器发送来了含有路由信息的RIP报文,使用命令debugging ipx rip event查看是否这条路由被添加到路由表里,如果没有,则表示向路由表中添加路由时发生错误。
故障之二:配置了一条静态路由后,引入静态路由到IPX RIP中,但没有静态路由发送出去。
故障排除:
l 首先使用命令display ipx routing-table查看静态路由是否已经配置。
l 如果在路由表中没有看到所配的静态路由,再使用命令display ipx routing-table verbose查看是否有这样一条非激活路由(inactive)。如果存在,进一步检查它为什么处于inactive状态,当此路由成为激活状态后,就可以作为RIP路由发布出去了。
l 如果在路由表中看到了所配的静态路由,继续检查它的跳数,如果跳数大于或等于15,那么发不出去属于正常现象。
& 说明:
RIP引入的静态路由是激活的静态路由,非激活的静态路由不会被引入,更不会被发送出去。静态路由中有一类特殊的路由是缺省路由,如果想把缺省路由引入RIP,同样使用命令ipx rip import-route static,但正确引入的前提是此缺省路由必须是激活的。
对于跳数为15的路由的处理:
路由器在收到一条跳数hop为15的路由后,将以不可达属性将这条路由向外发一次。因为RIP认为可达的最大跳数为15,跳数16或大于16的都是不可达路由,当收到一条hop为15的路由时,如果向外发送,应该将跳数加1,变成hop=16,即不可达路由,这种路由对于对端而言是没有实际意义的,因此RIP只以不可达属性发送一次这种路由。
需要注意的是:对于引入的静态路由,处理也是一样的。由于在引入静态路由的命令ipx rip import-route static中不能配置hop,原静态路由的hop将作为引入的RIP路由的hop,如果引入了hop=15的静态路由,就会导致RIP将这条路由以hop=16发送一次之后不再发送。
故障之一:不能向服务信息表添加静态服务信息。
故障排除:
使用命令display ipx service-table inactive,查看服务信息是否在非激活服务信息表中,如果是,表示没有到这个服务器的活跃路由。
故障之二:服务信息表里没有服务信息项。
故障排除:
l 使用命令display ipx service-table inactive,查看服务信息是否在非激活服务信息表中,如果是,表示没有到这个服务器的活跃路由。
l 使用命令display ipx interface检查接口是否处于UP状态,SAP是否已经激活。
l 使用命令display ipx routing-table,确认到此服务器的活跃路由跳数小于15。
l 还有一个可能的原因是系统没有足够的内存来添加这个服务信息项到服务信息表中,用户可以尝试添加静态服务信息项。
故障之三:服务信息表中没有新的动态服务信息项。
故障排除:
l 使用命令debugging ipx packet和debugging ipx sap packet verbose查看是否收到相关的报文。如果没有,表示底层网络连接存在问题。
l IPX关闭:在系统视图下执行命令ipx enable来打开IPX。
l 没有配置IPX接口:通过命令display ipx interface确保在相关的接口配置了IPX。
l SAP关闭:在相关接口使用命令undo ipx sap disable把SAP激活。
l SAP的服务信息项超出了限制:SAP的服务信息项是否已经超出了限制,IPX支持10240个服务信息项,5120个服务类型。
l 接口MTU不匹配:SAP配置的MTU应小于或等于物理层MTU。
故障之四:接口没有收到刷新报文。
故障排除:
l 使用命令debugging ipx packet和debugging ipx sap packet verbose查看报文内容。每一个收发的报文都会通过调试信息显示出来。如果没有看到相关的报文,表示底层的网络连接存在问题。
l 使用命令display ipx interface查看接口是否启用了SAP。
l 查看到该服务器的路由,确保到这个服务器的活跃路由跳数小于16。
l 使用命令display current-configuration查看刷新时间间隔是否太长。
l 使用命令display current-configuration查看接口是否设置了触发刷新,采用触发刷新的接口不会周期性广播刷新报文。
故障之五:接口没有发送刷新报文。
故障排除:
l SAP的MTU大于物理层MTU:使用命令debugging ipx packet和debugging ipx sap packet verbose查看报文内容。如果报文在调试信息中显示出来了,那么很可能是SAP的MTU大于接口MTU,被底层丢弃。
l 使用命令display current-configuration查看接口是否设置了触发刷新,采用触发刷新的接口不会周期性广播刷新报文。
l 如果SAP报文没有从这个接口上发出去,检查是否所有的服务信息都是从该接口上学到的。可能是由于水平分割才使得没有服务信息从这个接口发出。
故障之六:SAP不响应GNS请求。
故障排除:
l 使用命令debugging ipx packet sap检查路由器是否收到了GNS请求报文。
l 查看接收报文的接口是否使能了SAP。
l 使用命令display ipx interface查看接收接口是否配置了不响应GNS请求。如果是,执行命令undo ipx sap gns-disable-reply来使能响应GNS请求。
l 使用命令display ipx service-table查看服务信息表里面是否有符合该请求的类型服务信息,如果没有,SAP就不会做出响应。
l 如果服务信息表里面有符合该请求类型的服务信息,但SAP没有做出响应,就要看这个服务信息是不是从接收请求报文的接口学来的,如果是这种情况,SAP也不会做出响应。
故障之七:对GNS请求,SAP没有以Round-Robin方式响应。
故障排除:
l 使用命令display current-configuration查看是否配置了轮流响应方式。
l 如果SAP配置了以轮流方式响应GNS请求,查看对请求的服务类型是否有多个等价的服务信息。对于SAP,只有当这些服务信息的RIP延时、RIP跳数、SAP跳数和SAP优先级都相同,才认为是等价的服务信息。
故障之一:路由器没有配置动态路由协议,接口的物理状态和链路层协议状态均已处于UP,但IPX报文不能正常转发。
故障排除:
l 使用display ipx routing-table protocol static命令查看是否正确配置了相应的静态路由。
l 使用display ipx routing-table命令查看静态路由是否已经生效。查看是否在非PPP接口上未指定下一跳地址或指定的下一跳地址不正确。
故障之二:相邻路由器发出了路由,本地路由器也收到了这条路由,但在本路由器上使用命令display ipx routing-table verbose看不到这条路由。
故障排除:
l 使用命令display current-configuration查看是否配置了每个目的网络号下的最大动态路由数目,对应的命令是ipx route max-reserve-path,如果没有配置,则使用的是缺省值4。
l 使用命令display ipx routing-table verbose查看该目的网络号下面已经存在的动态路由数目(目前动态路由只有RIP路由)。
l 如果当前系统中该目的网络号下的动态路由数目已经达到配置的最大值,新收到的路由将无法加入路由表,解决的方法是使用命令ipx route max-reserve-path把动态路由数目最大值调大一些。
数据链路交换协议(Data Link Switching)简称DLSw,是Advanced Peer-to-Peer Networking(APPN)Implementers Workshop(AIW)研制用来实现通过TCP/IP承载SNA(System Network Architecture,系统网络结构体系)的一种方法。SNA是IBM在70年代推出的与OSI参考模型完全对应的网络协议。要实现SNA协议跨广域网传输,解决方案之一就是DLSw技术。
DLSw的工作原理下图所示:
从上图可以看出,运行DLSw的路由器将本地SNA设备的LLC2格式的帧转换成可封装在TCP报文中的SSP(Switch-to-Switch Protocol,交换机到交换机协议)帧,通过TCP通道跨越广域网送达远端,在远端将SSP帧再转换成相应的LLC2的帧,发送给对端SNA设备。可见DLSw使得本地的终接设备以为远端的设备和自己处于同一个网络上。但DLSw同透明桥不同,它不是将原来的LLC2协议帧直接透传到对端,而是转换成SSP协议帧来完成将原有数据在TCP报文中的封装。它具有本地应答机制,因此,可以减少不必要的数据传输(确认帧和保持活跃帧),并且解决了数据链路控制超时的问题。
利用DLSw技术,还可以实现SDLC(Synchronous Data Link Control,同步数据链路控制)链路协议的跨TCP/IP传输。方法是先将SDLC格式的报文转换成LLC2(Logical Link Control,type 2,第二类逻辑链路控制)格式的报文,再通过DLSw和远端互联。这样DLSw还支持LAN与SDLC之间不同的介质互联。
DLSw目前有两种版本,DLSw1.0和DLSw2.0。基于RFC1795实现的DLSw为DLSw1.0版本;为了提高产品可维护性,减少网络开销,基于RFC2166实现了DLSw2.0版本。DLSw2.0中增加了支持以组播及单播方式发送UDP探询报文的功能。当对等体也是DLSw2.0时,二者可以使用UDP报文探询可达信息,仅只在有数据传输需求的时才建立TCP连接。
DLSw1.0存在的问题:
DLSw1.0在配置本地对等体和远端对等体以后,无论当时本地及远端对等体是否有建立电路的需求,本地对等体都会立即尝试与对端对等体建立TCP连接(先建立两条TCP连接,完成性能交换以后,断掉一条TCP连接);且所有报文(包括探询报文、建立电路请求报文、数据报文)都使用TCP连接传输,这在一定程度上造成了网络资源的浪费。
尽管DLSw1.0实现了本地应答机制,但在DLSw的可达信息列表尚未有可达路径信息或可达路径信息过少的时候,探询报文将通过已经建立好的TCP连接大量涌向广域网。
电路中断时,DLSW1.0使用两种报文通知对端,但不能告诉对端是什么原因导致的电路中断,所以一旦DLSw出现电路异常中断,维护人员很难明确是哪一种情况。
针对以上问题,DLSw2.0做了相应的改进,并兼容DLSw1.0。
DLSw2.0具增加了下几个功能:
为了方便介绍现将DLSw组网中的各部分定义如下:

图5-2 DLSw2.0组网示意图
说明:源终端是指发起通信的终端,目标终端是指接受通信的终端,源DLSw路由器是指与源终端连接的使能DLSw的路由器,目标DLSw路由器是指与目标终端连接的使能DLSw的路由器。如果下文中提到源DLSw2.0路由器,则是指使能了DLSw2.0的源DLSw路由器。
为了避免建立不必要的TCP连接,DLSw2.0一般不使用TCP连接发送探询帧报文,而改用UDP报文发送(除非此时TCP连接已经存在)。当使用UDP报文探询可达信息时,有两种报文发送方式――组播和单播(分别用于不同的情况)。以UPD方式进行探寻报文的发送和接收,一定程度上减少了建立TCP连接的数量,避免了网络资源的浪费。
在源DLSw2.0路由器和目标DLSw2.0路由器之间使用UDP报文探询到可达信息以后,当源终端和目标终端有建立电路的需求时,源DLSw2.0路由器和目标DLSw2.0路由器之间才建立TCP连接。DLSw2.0路由器之间建立TCP通道的过程简化为两个阶段:
建立一条TCP连接;
进行性能交换。如果性能协商不成功,路由器会向对端发送拒绝报文,之前建立的TCP连接也会被挂断。
在DLSw2.0中,有建立电路需求的时候才建立一条TCP连接,这种方式减少了建立、维护TCP连接的开销,提高了系统资源的利用率。