关键词:IS-IS,IS-ISv6,IPv4,IPv6
摘 要:IS-ISv6是从IS-IS扩展而来,用于支持IPv6网络的路由协议。本文介绍了IS-ISv6的扩展及组网应用。
缩略语清单:
缩略语 | 英文全名 | 中文解释 |
CLNS | Connectionless-mode Network Service | 无连接网络服务 |
CONS | Connection Oriented Network Service | 面向连接网络服务 |
CLNP | Connectionless-mode Network Protocol | 无连接网络协议 |
CONP | Connection Oriented Network Protocol | 面向连接网络协议 |
IS-IS | Intermediate System-to-Intermediate System intra-domain routing information exchange protocol | 中间系统到中间系统的域内路由信息交换协议 |
IS-ISv6 | Intermediate System to Intermediate System Routing Protocol support for IPv6 | 中间系统-中间系统路由协议扩展支持IPv6 |
ES-IS | End System to Intermediate System Routing Exchange Protocol | 端系统-中间系统路由交换协议 |
IS | Intermediate System | 中间系统,例如路由器 |
ES | End System | 终端系统,例如PC机 |
NLPID | Network Layer Protocol Identifier | 网络层协议标识符 |
目 录
2.1.1 IPv6可达性CLV(IPv6 Reachability CLV)... 3
3.2 IS-ISv6在IPv4和IPv6共存网络组网应用... 7
3.2.1 通过构建IPv4和IPv6共存骨干区域实现IPv4/IPv6网络共存组网方案... 7
3.2.2 通过GRE隧道技术实现IPv4/IPv6网络共存组网方案... 8
IS-IS最初是为OSI网络设计的一种基于链路状态算法的动态路由协议。之后为了提供对IPv4的路由支持,扩展应用到IPv4网络,称为集成化IS-IS。
随着IPv6网络的建设,同样需要动态路由协议为IPv6报文的转发提供准确有效的路由信息。IS-IS路由协议结合自身具有良好的扩展性的特点,实现了对IPv6网络层协议的支持,可以发现和生成IPv6路由。支持IPv6协议的IS-IS路由协议又称为IS-ISv6动态路由协议。
为了支持在IPv6环境中运行,指导IPv6报文的转发,IS-ISv6通过对IS-IS进行简单的扩展使得其能够处理IPv6的路由信息。
IETF的draft-ietf-isis-ipv6-05中规定了IS-IS为支持IPv6所新增的内容,主要是新增两个CLV(code-length-value),以及在支持协议CLV中的NLPID字段将有一个值为0x81标识其支持IS-ISv6功能。
IS-ISv6中的IPv6可达性CLV对应于IS-IS中的普通可达性TLV(type-length-value)和扩展可达性TLV,格式如图1所示:
图1 IPv6可达性CLV
主要字段的解释如下:
l Code:取值为236,表示该CLV是IPv6可达性CLV。
l Length:CLV长度。
l Metric:度量值,使用扩展的Metric值,取值范围为0~4261412864,大于4261412864的IPv6可达性信息都被忽略掉。
l U:up/down状态标志位,用来防止路由环路,当某个路由从Level-2路由器传播到Level-1路由器时,这个位被置为1,从而保证了这样的路由不会被回环。
l X:外部路由引入标识,取值1表示该路由是从其它协议引入的。
l S:当CLV中不携带Sub-CLV时,S位置“0”,否则置“1”,表示IPv6前缀后面跟随Sub-CLV信息。
l Reserve:保留位。
l Prefix Length:该路由器可以到达的IPv6路由前缀长度。
l Prefix:该路由器可以到达的IPv6路由前缀。
l Sub-CLV/Sub-CLV Length:Sub-CLV字段以及Sub-CLV字段长度,该选项用于以后扩展用,可选。
IPv6接口地址CLV对应于IS-IS中的IPv4接口地址CLV,格式如图2所示:
图2 IPv6接口地址CLV
主要字段的解释如下:
l Code:取值为232,表示该CLV类型是IPv6接口地址CLV。
l Length:CLV长度。
l Interface Address:使能IS-ISv6功能的接口IPv6地址,Hello报文中接口IPv6地址CLV中填入的是使能了IS-ISv6功能接口的IPv6链路本地地址,LSP报文中填入的是使能了IS-ISv6功能的非IPv6链路本地地址,即接口的IPv6全球单播地址。
l *:表示该选项可选。
支持协议CLV用来指定报文的始发路由器所支持的协议,对于每一种支持的协议,CLV中的NLPID都会有一个相应的NLPID值。当路由器支持IS-ISv6功能时,该CLV中的NLPID将有一个值为0x81。
图3 支持协议CLV
IS-IS使用Hello报文来发现同一条链路上的邻居路由器并建立邻接关系,当邻接关系建立完毕后,将继续周期性的发送Hello报文来维持邻接关系。为了支持IPv6路由,建立IPv6邻接关系,IS-ISv6对Hello报文进行了扩充:
l 在支持协议CLV中增加一个8bit的NLPID,取值为0x81,表示当前路由器支持IS-ISv6功能。
l 在Hello报文中添加使能IS-ISv6功能的接口IPv6地址的CLV,Interface Address字段填入使能了IS-ISv6功能接口的IPv6链路本地地址。
图4 纯IPv6网络IS-IS典型组网图
在一个纯IPv6网络中,要求通过IS-ISv6协议实现网络互通。如图4所示,Routing Domain 1为一纯IPv6路由域,骨干区和Level-1区域均为纯IPv6区域,所有的路由器都运行IS-ISv6。
图5 IPv4/IPv6典型组网
在一个IPv4/IPv6共存的网络中,要求利用IS-IS和IS-ISv6实现网络互通。如图5所示,Routing Domain1为IPv4和IPv6双协议路由域:
l 规划一个双协议栈骨干区域Area 49,骨干区域中的所有IS同时使能IS-IS、IS-ISv6功能;
l 用户根据需要,配置Level-1 Area的区域类型为纯IPv4、纯IPv6或双协议栈。非骨干区Area 49.01为IPv6-Only区域;非骨干区Area 49.02为IPv4-Only区域;非骨干区Area 49.03、Area 49.04为双协议栈区域。
l 经过这种规划而组成的IPv4/IPv6共存网络,Area 49.02、Area 49.03、Area 49.04以及Area 49之间可以实现IPv4互通;Area 49.01、Area 49.03、Area 49.04以及Area 49之间可以实现IPv6互通。
此种IPv4/IPv6共存组网方案配置较为简单,组网框架逻辑清晰,可扩展性很强,用户可以根据需要随时增减Level-1区域,很容易实现IPv4网络向IPv6网络的逐渐过渡。
图6 IS-IS for IPv6 over IPv4技术实现IPv4/IPv6共存组网的方案示意图
利用GRE隧道技术实现IPv6孤岛跨越IPv4核心网络进行互通,具体解决方法是在两个使能IS-ISv6功能的路由器上配置IPv6 GRE隧道,使得两个路由器在逻辑上直接相连,无需考虑隧道经过的IPv4网络。
如图6所示,分别在Router A和Router B上创建并配置Tunnel 0,在Tunnel 0上使能IS-ISv6功能。Router A和Router B通过Tunnel 0发送IS-IS协议报文并建立邻居关系,这样两个IPv6孤岛就可以进行通信了。
通过GRE隧道技术实现IPv4/IPv6网络共存组网的优点是:
l 不要求所有路由器都运行IS-ISv6,只要IPv6网络内的路由器运行IS-ISv6即可。
l 在IPv4网络内,用户可以根据需要自由选择路由协议。
缺点是配置比较复杂,且需要对整个网络作好规划。
图7 IS-IS典型应用组网图
目前,H3C实现的IS-ISv6功能仅支持单拓扑结构,即IPv4 IS-IS 和IPv6 IS-IS共用一个拓扑信息,为了使得IS-ISv6能在纯IPv4、纯IPv6或IPv4与IPv6共存的网络环境中都能够正常运行,保证IPv4与IPv6的路由信息不互相干扰,使得最终生成的IPv4和IPv6路由连续、完整和准确,需要对IS-IS组网作出一些限制。以图7为例:
(1) 同一区域内所有IS必须同时使能IS-IS功能或IS-ISv6功能,不允许同一区域中的一些IS使能了IS-IS功能,而其它IS使能IS-ISv6功能;同一路由器上所有接口必须同时使能IS-IS功能或IS-ISv6功能,不允许同一路由器上的一些接口使能了IS-IS功能,而其它接口使能IS-ISv6功能。
(2) 根据区域中的路由器使能的IS-IS功能是IPv4还是IPv6的可以将区域分为三种类型:
l 纯IPv4区域,即区域内所有的IS只使能了IS-IS功能,只有IPv4数据被正确转发,如图7中的Aera 49.0001、Aera 49.0004;
l 纯IPv6区域,即区域内所有的IS只使能了IS-ISv6功能,只有IPv6数据被正确转发,如图7中的49.0002;
l Dual IP区域,即区域内所有的IS都使能了IS-IS功能和IS-ISv6功能,IPv4和IPv6数据均可以被正确转发,如图7中的49.0003。
(3) 路由域也可以分为纯IPv4、纯IPv6、Dual IP三种类型:
l 纯IPv4路由域,骨干区和Level-1区域均为纯IPv4区,只有IPv4数据能够被正确转发;
l 纯IPv6路由域,骨干区和Level-1区域均为纯IPv6区,只有IPv6数据被正确转发;
l IPv4和IPv6共存路由域,骨干区必须为IPv4和IPv6共存的区域,L1区域可以是纯IPv4、纯IPv6以及Dual IP三种类型中的任意一种。图7所示的就是一个Dual IP路由域。在Dual IP路由域中,纯IPv4区域(Level-1)、Dual IP(Level-1)区域可以通过骨干区之间可以实现IPv4互通;纯IPv6区域(Level-1)、Dual IP区域(Level-1)以及骨干区之间可以实现IPv6互通。
(4) 一个路由域内不能同时存在两个互相独立的纯IPv4骨干区和纯IPv6骨干区,如果需要骨干区同时具有IPv4路由能力和IPv6路由能力,则必须将该骨干区配置为Dual IP。
l ISO10589:ISO IS-IS Routing Protocol
l RFC1195:Use of OSI IS-IS for Routing in TCP/IP and Dual Environments
l draft-ietf-isis-ipv6-05
Copyright © 2008 杭州华三通信技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
本文档中的信息可能变动,恕不另行通知。