RFC 1195 使用OSI IS-IS为TCPIP和双栈环境提供路由

导读:RFC1195使用OSIIS-IS为TCP/IP和双栈环境提供路由内部公开,本RFC定义了一种集成的路由协议,该协议基于OSI域内路由协议IS-IS,从而做到使用一个单一的协议来支持纯IP环境,纯OSI环境以及双协议环境,并且可供实施和运营使用,这就迫切需要路由器同时支持IP协议和OSI业务,对路由协议,主要有两种有效的方法可以支持OSI和IP双栈路由器,即对每个协议栈使用完全独立的路由协议,

RFC 1195 使用OSI IS-IS为TCPIP和双栈环境提供路由

RFC 1195 使用OSI IS-IS为TCP/IP和双栈环境提供路由 内部公开

关键词:

RFC 1195、IS-IS、OSI、TCP/IP

摘 要:

本RFC定义了一种集成的路由协议,该协议基于OSI域内路由协议IS-IS,IS-IS可以作为域内网关协议来支持TCP/IP和OSI。从而做到使用一个单一的协议来支持纯IP环境,纯OSI环境以及双协议环境。 本RFC由IETF IS-IS工作组开发

基于OSI的IS-IS协议已经达到一个成熟的状态,并且可供实施和运营使用。在ISO DP 10589 [1]包含OSI IS-IS协议的最新版本

4/21/2013 华为机密,未经许可不得扩散

第6页, 共51页

RFC 1195 使用OSI IS-IS为TCP/IP和双栈环境提供路由 内部公开

1 介绍:协议概述

TCP/IP协议栈已经成为一种重要的多厂商通信架构。由于OSI的先出现,因此我们希望两个协议栈可以在一段时间内共存,这就迫切需要路由器同时支持IP协议和OSI业务。 对路由协议,主要有两种有效的方法可以支持OSI和IP双栈路由器。一种方法,称为”夜航船”,即对每个协议栈使用完全独立的路由协议。本RFC提供的属于另一种方法,即利用一个集成的协议同时为两个协议栈提供域内路由(即在同一个路由域内计算路由)。

这个集成协议的设计是基于OSI域内IS-IS路由协议[1],然后附加上IP特性功能。本RFC作为OSI IS-IS路由特性的姊妹篇,将仅仅描述必要的新增特性。

为了同时支持IP协议和OSI业务,此集成协议支持业务到达IP主机、OSI主机和双栈终端。本IS-IS协议能够支持纯IP、纯OSI和双栈环境,就此而言,它是‘集成的’。另外,本方法还允许不同的双域(IP和OSI)之间,以及与IP单域、OSI单域之间的对接。

本RFC由IETF IS-IS工作组制定。

1.1 集成IS-IS提供了什么

集成IS-IS同时为TCP/IP和OSI提供了一个单一的高效路由协议。该设计在OSI IS-IS路由协议的基础上扩展了IP特性,支持IP协议子网、变长子网掩码、基于TOS的路由,以及外部路由。支持包括密码或其他机制在内的认证机制。关于认证机制的具体形式(除了密码认证),不在本RFC的讨论范围之内。

对OSI报文和IP报文的转发将“保持原样”—即它们他们依旧直接在链路层上传输,不需要互相封装。集成IS-IS是一个基于SPF(Dijkstra)路由算法的动态路由协议。

本RFC中描述的协议允许纯IP,纯OSI及双栈路由器的混合,如下所述。 纯IP ISIS(IP-only)路由器:

1)使用IS-IS作为IP栈的路由协议,如本RFC所述;

2)不支持OSI协议栈,即路由器不可以转发OSI CLNP报文。

纯OSI(OSI-only)路由器:

用IS-IS作OSI协议栈的路由协议,见注[1]。通常,纯OSI路由器遵照OSI标准,可以不按照本RFC来实现。

双栈IS-IS路由器:

使用IS-IS作为IP栈和OSI栈的单一通用集成协议,如本RFC中所述。

本方法并不改变对IP报文的处理方式。纯IP和双栈路由器都必须遵循Internet网关[4]规范。在本RFC中,集成IS-IS协议作为一个IGP协议,为TCP/IP提供域内(AS内)路由。路由器的其它功能(如ICMP、ARP、EGP等),本RFC将不会涉及。

同样,该方法也不改变对OSI报文的处理方式。包括:不改变ISO 8473的内容及定义的报文和错误报告的处理方式;不改变ISO 9542中定义的重定向Hello报文和ES hello报文;不改变ISO 9542 中定义的LAN上传输的IS hello模式;除非报文扩展支持IP协议,否则ISO 9542中定义的P2P IS hellos也不会改变。同样,除了附加了IP信息的报文,其他所有OSI报文(尤其是那些用于IS-IS域内路由的报文)也将保持原状。

本方式使用已有的IS-IS报文,附加上IP相关字段。具体包括:

4/21/2013 华为机密,未经许可不得扩散

第7页, 共51页

RFC 1195 使用OSI IS-IS为TCP/IP和双栈环境提供路由 内部公开

1 2 3 4

认证信息可以被加入到所有IS-IS报文中;

在ISO 9542中的IS Hello、IS-IS Hello和LSP报文中,详细描述了每个路由器支持的协议,以及他们的IP地址

所有的LSP报文都可以携带内部可达IP地址信息

外部可达IP信息,以及外部路由协议信息可以放在Level-2的LSP报文中 关于这些报文的详细编码格式和解释,将在后面的3、4、5章介绍

本RFC中所描述的协议可用来为纯IP路由域提供路由(域内所有路由器都是仅仅支持IP协议协议栈);同样的,本协议也可以为双域提供路由(所有路由器支持双栈的路由域)。最经典的,此协议甚至可以为混合路由域提供路由(由纯IP路由器、纯OSI路由器和双栈路由器构成的路由域)。后续部分将使用到的关于对拓扑的详细限制会在1.4节(“对混合域的支持”)中详细描述。支持纯OSI域中IS-IS的使用详见附录[1]。

本RFC没有对用来进行IS-IS路由器管理所使用的网管协议进行限制。关于用于管理纯IP路由器、纯OSI路由器和双栈路由器的管理信息库(MIBs)与CMIP,CMOT以及/或SNMP的兼容,是附录[8]中所述文档中的一个独立主题。

1.2 ISO IS-IS协议概述

针对纯OSI环境为OSI协议栈提供路由的IS-IS路由协议已经开发完成。特别是,IS-IS还被设计可以与ISO 8473(ISO无连接网络层协议[2])和ISO 9542(ISO主机到中间系统协议[3])协同工作。这一节简单描述了用于支持纯OSI环境的IS-IS,对增强支持IP协议协议栈和双栈环境的会在本RFC其他章节描述。

在IS-IS中,网络被分隔成“路由域”。通过把一些链路设置为“外部链路”,网管定义出了“路由域”的边界。如果一条链路被标记为“外部链路”,那么,ISIS消息就不会被发送到这条链路上。

当前,ISO并没有用于域间路由的规范(即在不同的自治路由域间进行路由选择)。而是代以手工配置。静态的配置经此链路可到达的地址前缀集以及可达的方法(比如DTE地址被拨号到达的地址,或者实际上DTE地址可从ISO地址的IDP部分提取出来)。

OSI IS-IS路由使用两级的分级路由模式。一个路由域被分割成多个区域。Level 1的路由器仅知道包括由它所在区域内的所有路由器和主机组成的区域内拓扑。但是,它并不知道任何区域外的路由器信息或目的地信息。Level 1路由器将所有访问域外目的地的流量都发送给所在区域的Level 2路由器。同样,Level 2路由器知道其所在Level的拓扑,并且知道通过每个Level 2路由器可到达的地址。不过,Level 2的路由器不需要知道任何Level 1区域的拓扑,除非一个Level 2路由器同时也是该区域内的Level 1路由器。只有Level 2路由器能够和路由域外的外部路由器直接交换数据包或路由信息。

IDP DSP . . . . . . . . . AFI IDI HO-DSP ID SEL 图 1 - ISO 层次化地址结构 4/21/2013 华为机密,未经许可不得扩散

第8页, 共51页

RFC 1195 使用OSI IS-IS为TCP/IP和双栈环境提供路由 内部公开

如图1所示,ISO地址被细分为初始域部分(IDP)和域特定部分(DSP)。IDP部分是由ISO规定的,指定了可分配地址其余部分的格式及负责分配该地址的机构。DSP则由IDP指定的地址分配机构进行分配。DSP可进一步被细分为“高序DSP”(HO-DSP)、系统标识符(ID)和NSAP选择符(SEL)。高位DSP可以采用IDP定义的分配机构所期望的任意格式。通过[IDP,HO-DSP]的二元组合可以标识出路由域和域内的区域,因此,这个[IDP,HO-DSP]的二元组合也可以被称为“区域地址”。

通常,区域内所有节点都使用相同的区域地址。但是,有时同一区域可能有多个区域地址。允许这样做的目的是:

- 当需要改变区域地址的时候。当需要把一个区域地址从A变成B,最完美的办法就是首先允许它同时拥有地址A和地址B,然后当区域内所有节点都作了改变之后,节点可以被一个接一个修改为“忘记”地址A。

- 当需要将区域A和B合并到一个区域的时候。实现的方法是逐个的为A分隔添加B地址,同时为B分隔添加A地址。

- 当需要将区域C分隔成两个区域A和B的时候(当“A”等于“C”的时候,这个例子就变成从一个区域移出一部分)。要做到这一点要先在合适的节点(那些一定迁移到区域A的节点)上添加地址A,同时在合适的节点添加地址B,然后逐个的删除地址C。

既然OSI编址能够精确的标识一个区域,那么对Level 1的路由器来说,标识出那些需要借助Level 2路由器发往区域外的报文就变得很容易了。

在IS-IS中,有两种类型的路由器:

- Level 1中间系统 –这些节点基于ISO地址的ID部分进行路由。它们仅在区域内部路由。它们通过报文中的目的地址来判断目的地是否在区域内。如果是,则直接转发到目的地。如果不是,则把报文发送给最近的Level 2路由器。

- Level 2中间系统 –这些节点基于区域地址进行路由(即基于[IDP,HO-DSP]二元组)。它们在区域间进行路由,不考虑区域内部结构。

一个区域内的Level 2 路由器也可以同时是一个Level 1路由器。

Level 1路由器地址的区域部分需要手工来配置。Level 1路由器不会与一个区域地址和自己不同的路由器建立邻居。但是,如果一个Level 1路由器有A、B、C三个区域地址,而另一台路由器配置了区域地址B和D,那么他们之间将可以建立邻居。

一个Level 2路由器会和任何相邻Level 2路由器建立邻居,而并不需要检查区域地址。但是,如果二者的区域地址不相同,那么,他们之间的链路将被看作是一个纯Level 2的链路,这条链路上将只能传递Level 2的LSP。外部链路(到达其他路由域的链路)必须源自Level 2路由器。

IS-IS提供一个可选的分隔修补功能。举一个不大可能的例子,假如一个Level 1的区域被分隔了,通过该功能,可以使用Level 2路由器进行修复。

IS-IS要求Level 2路由器间必须互连。假如Level 2骨干被分隔了,那么是没有办法通过Level 1链路来修复的。

一个不常见的例子,假如一台Level 2路由器与Level 2骨干失去了连接,那么它就不会在Level 1 LSP中将“attached”标识置位,从而让区域内的Level 1路由器将需要传送给域外的

4/21/2013 华为机密,未经许可不得扩散

第9页, 共51页

RFC 1195 使用OSI IS-IS为TCP/IP和双栈环境提供路由 内部公开

流量发送给其它的Level 2路由器。所以Level 1路由器只会将需要传送给域外的流量发送给那些在Level 1 LSP中“attached”置位的Level 2路由器。

主机可以通过提取邻居路由器地址中的区域部分来自动配置它的地址中的区域部分。如果这样实现,那么主机将总会把路由器作为它的邻居。由于标准中并没有规定主机必须自动配置区域地址,所以一个主机的区域地址可以手动配置,如果这样,主机将不会与区域地址不相同的路由器建立邻居。

有必要对广播子网进行特殊处理,比如局域网。这可以解决两个问题:(i)如果不特殊处理,每个路由器都会向子网内的其它路由器通告一条链路,这会导致生成n 的平方条链路报告(ii)其次,如果不特殊处理,局域网中的每个路由器还会通告相同的主机列表,从而导致生成大量的副本。

这些问题可以通过使用一个“伪节点”(pseudonode)来解决,这个伪节点可以看做是局域网的代言人。局域网中的每台路由器都会宣告它有一条到达伪节点的链路(而不是宣告它到局域网中的每个路由器都有一条链路)。局域网中的一台路由器将被选成“指定路由器”(designated router)。然后指定路由器将代表伪节点发送一条LSP, 通告到局域网中各个路由器的链路。这就把可能的n的平方条链路减少为n条链路。另外,只有伪节点LSP包括局域网内的主机列表。从而消除了潜在的重复通告的问题(要进一步了解DR和伪节点的信息,请参考附录[1])。 IS-IS提供了基于吞吐量(默认metric)、延迟、开销或剩余错误概率(residual error probability)的服务质量(QOS)进行路由。详见3.5节和附录[1]。

1.3 集成IS-IS概述

集成IS-IS是一个单一的同时用于路由IP和OSI报文的路由协议。这就意味IP和OSI路由会使用相同的两层结构。每一个区域都将被指出是属于纯IP的(仅支持IP协议业务)、纯OSI的(仅支持OSI业务)或双栈的(同时支持IP协议和OSI业务)。

本RFC不允许OSI和IP区域出现部分重叠。例如,一个区域是纯OSI的,另一个区域是纯IP的,那么就不允许有路由器同时属于这两个区域。同样,单一的骨干可被用于路由域。没有用于独立的OSI和IP骨干的规定。

同样,在一个纯IP或双栈区域内,路由器所维护的详细IP目的地信息总量和OSI的差不多一样。例如,支持IP协议的Level 1路由器仅需维护区域内的拓扑,到达区域内部目的地能够直接路由。但是,同OSI路由一样,支持IP协议的Level 1路由器不需要维护域外的目的地信息,到区域外部目的地的流量会被发送给最近的Level 2路由器。由于IP是路由到子网,而不是到特定的主机,所以,IP路由器不需要保存和传递主机路由(但是,可以通过把主机路由的子网掩码设置为全1的方式进行宣告)。

IP地址结构允许一个网络被划分成子网,还允许子网被进一步再划分为更小的子网。但这并不要求IP子网地址和IS-IS区域间有任何特定关联。例如,在很多案例中,已经分配了IP和/或OSI地址的双栈路由器可以被放入一个已有的环境中。另外,即使IP地址没有被提前分配,IP地址的范围可能已经限定了可能被分配的地址。因此我们不要求在IP地址和区域结构间有任何的关联。IP地址可独立于OSI地址和IS-IS区域结构被分配。正如3.2节(“IP可达信息的分层缩略语”)将要描述的,如果IP地址分配机构和区域机构之间能够彼此协调对话的话,路由算法的效率和可扩展性将可得到极大的提高。

在区域内,Level 1路由器间彼此交换包含IP地址可达信息的链路数据报文。具体来说,每一个链路数据报文将包含0或0个以上的[IP地址,子网掩码,metric]的组合信息。每一个

4/21/2013 华为机密,未经许可不得扩散

第10页, 共51页

五星文库wxphp.com包含总结汇报、资格考试、IT计算机、计划方案、党团工作、旅游景点、word文档、文档下载、专业文献以及RFC 1195 使用OSI IS-IS为TCPIP和双栈环境提供路由等内容。

本文共10页12345>>10