如何在ATM网络支持IP
2010-12-09
来源:21IC电子网
ATM可以提供空前的可伸缩性和性价比,以及对将来的实时业务、多媒体业务等的支持,ATM将扮演重要的角色。但目前的信息体系,即LAN和WAN,建立在网络层协议如IP、IPX、AppleTalk等的基础上,因此,ATM的成功及Internet的发展的关键是现有的网络技术和ATM的互操作,而实现这一目的的关键是相同的网络层协议,如IP、IPX,同时应用于现有的网络和ATM上,因为给高层协议和应用提供统一的网络视角是网络层的任务。到目前为止,已有了多种在ATM上运行IP的方法,如:ATM论坛的LANE和MPOA、IETF的CLIP和NHRP、Ipsilon网络公司的IP交换和Cisco公司的标记交换,下面将逐一介绍。
一、简介
ATM和现有的协议体系,特别是网络层的IP、IPX等协议,在很长的时间内共存,如何在单一网络上实现现有网络协议和ATM、如何将ATM与传统网络互连,是广大研究人员、设计人员和业者研究的课题。然而,ATM和IP源于不同的技术团体和基础,有着各自的应用。IP的目的是以不确定的状态将分组发送到目的地,它是非连接的,没有服务质量的保证;而ATM的目的是提供有保证的综合业务,是面向连接的,基于快速的固定长度信元的交换。ATM和IP的巨大差异使得有效地将二者集成成为难题。
在ATM网络中支持IP有两种不同的模型,这两种模型以不同的角度看待ATM协议层和IP的关系。
第一种是对等模型,在本质上将ATM层看作IP的对等层,这种模型建议在ATM网络中使用与基于IP的网络中相同的地址方案,因此ATM端点将由IP地址来识别,ATM信令将携带这样的地址,且ATM信令的路由也使现有的网络层路由协议。因为使用了现有的路由协议,对等模型就排除了开发新的ATM路由的需要。对等模型在简化了端系统地址管理的同时,很大程度上增加了ATM交换机的复杂度,因为ATM交换机必须具有多协议路由器的功能,支持现有的地址方案和路由协议。此外,现有的路由协议是基于当前的LAN和WAN开发的,不能很好地映射到ATM中及使用ATM的服务质量特性。
在目前的解决方案中,IP交换和标记交换是基于对等模型的。
另一种模型称作子网或覆盖模型,将ATM层与现有协议分开,定义了全新的地址体系,即现有协议将运行于ATM之上。此覆盖模型需要定义新的地址体系和相关的路由协议,所有的ATM系统需要同时被赋予ATM地址和它要支持的高层协议地址。ATM地址空间逻辑地与高层协议的地址空间相分隔,没有任何相关性。因此,所有运行于ATM子网上的协议需要某种ATM地址解析协议以把高层协议(如IP)地址映射到相应的ATM地址。这种将ATM与高层协议分开的方法允许各自独立的开发,在实用的工程角度这非常重要。
在目前的解决方案中,LANE、MPOA和CLIP是基于覆盖模型的。
二、LANE
1、如何在传统LAN上运行IP?
在传统的LAN中,当源主机想给同子网的目的主机发送分组时,它检查其ARP缓存看是否已经知道与目的主机IP地址相联系的硬件地址(MAC地址),如果已经知道,就把带有目的主机的IP地址和MAC地址的分组发送出去。
如果目的MAC地址未知,源主机就发送一个ARP请求分组,ARP请求是本地广播分组,将被子网中所有主机接收,目的主机识别到自己的IP地址后,在ARP回应分组中回答其MAC地址,源主机接收到ARP回应并把它存到自己的ARP表中,现在源主机就可以发送含有正确的目的IP地址和MAC地址的分组了。
2、ATM LAN必须仿真什么功能?
(1)由于传统LAN是介质共享网络,很容易提供广播服务并实现ARP,ATM网必须模仿这一功能,由BUS(广播和未知服务器)实现。
(2)一般来说,传统LAN中的每个主机都有其MAC地址和IP地址,直接连到ATM网的主机除了具有ATM地址外,也必须有MAC地址和IP地址。
(3)ATM主机必须提供与MAC协议给网络层协议提供的接口服务相同的服务,如NDIS或ODI类驱动接口。
3、LANE如何工作?
顾名思义,LANE的功能是在ATM网络上仿真LAN,LANE协议定义了仿真IEEE 802.3以太网或802.5令牌环网的机制。LANE协议定义了与现有LAN给网络层提供的服务相同的接口,在ATM网络中传输的数据以相应的LAN MAC分组格式封装。
每个ELAN(Emulated LAN)由一组LANE客户(LEC)和LANE服务构成。LEC还可以是作为ATM主机代理的网桥和路由器。LE服务由三个不同的功能实体构成:LAN仿真配置服务器(LECS)、LAN服务器(LES)和BUS,这三个服务实体可以各自存在,但通常位于同一设备,例如:LES可以位于ATM交换机、路由器、网桥和工作站。
下面是LANE中的工作站与另一工作站通信的步骤:
(1)初始化
LEC需要知道LECS的ATM地址并与其建立连接,这通过ILMI或众所周知(well-known)的LECS地址完成,这个过程中的任何时刻LEC都可以与手工配置的LECS地址建立双向配置直达VCC。这个过程中,LEC将获取该ELAN的LES的ATM地址。
(2)登记
这是LEC给LES提供地址信息,如MAC地址的机制。此过程中将在LEC和LES之间建立一对连接,即双向点到点控制直达VCC,及单向点到多点控制分布VCC。
(3)地址解析
这是LEC从LES学习目的站点ATM地址的方法,由ATM地址解析协议实现,允许LEC建立数据直达VCC以传送帧。这时在LEC和BUS之间建立双向点到点组播发送VCC和单向点到多点组播转发VCC。
(4)数据传输
当源站点和目的站点等待建立数据直达VCC的过渡时期里,BUS可以把帧转发给该ELAN中的所有LEC,当数据直达VCC建立后,通信就从原来的路由(BUS)切换到新的路由,为了保证帧的顺序,信息清空协议(flush message protocol)被用以通知BUS:在开始使用新的路由传输帧时,清空请求被发送到BUS并转发到该ELAN中所有LEC,然后不再有帧通过BUS(旧路由),所有帧将通过数据直达VCC(新路由)发送到目的站点。
需要说明的是:在ATM论坛规范中描述的上述过程中,并没有提到从IP地址到MAC地址的解析。下面是传统LAN的主机与ATM主机通信的全过程:
(1)为确定目的站点的MAC地址,源主机广播一个含有IP地址的ARP请求,这是任何IP网络的标准过程,ARP请求到达传统LAN上的LAN/ATM网桥。
(2)在LAN/ATM网桥上的LEC将广播分组通过组播发送VCC转发给BUS,BUS通过组播转发VCC给ELAN中的所有成员发送ARP请求。
(3)目的站点收到ARP请求并识别出自己的IP地址,作为回应,它把自己的MAC地址放到ARP回应中。因为这还不是到LAN/ATM网桥的直达VCC,目的站点的LEC把ARP回应通过组播发送VCC发送给BUS,BUS通过组播发送VCC将其转发给LAN/ATM网桥。
(4)LAN/ATM网桥通过传统LAN把ARP回应传给源主机。
(5)这时源主机拥有了目的站点的MAC地址,开始通过LAN传送数据。
(6)网桥通过组播发送VCC把分组传给BUS,BUS把分组转发到目的站点。
(7)同时,LAN/ATM网桥上的LEC通过控制直达VCC向LES发送LE-ARP请求,询问与目的站点的MAC地址相对应的ATM地址,如果LES没有该映射,则通过控制分布VCC向所有LEC发送LE-ARP请求,目的站点LEC收到该请求后把自己的ATM地址放进LE-ARP回应并通过控制直达VCC发回LES。
(8)源LEC通过控制直达VCC从LES收到LE-ARP回应,抽取ATM地址并在源和目的之间建立数据直达VCC。
(9)数据直达VCC建立后,从网桥传来的分组将通过数据直达VCC传输,取代BUS。
4、LANE的优点和局限
因为LANE提供与现有MAC协议给网络层提供的驱动相同的服务接口,不需要改变该驱动,这将加速ATM的发展和应用。但是,LANE的功能是使ATM的特性对高层协议透明,因此它使高层协议不能利用ATM固有的优点,尤其是其服务质量保证。新完成的LANE2.0版为ATM端系统间的通信提供局部管理的服务质量,该协议提供机制以确定是否支持期望的服务质量。每种局部定义的服务质量可以包含信息以指示以该服务质量建立的VCC是否可以被其他协议或应用所共享。
尽管LANE提供在ATM网络子网内桥接的有效方式,但子网间的业务仍需要通过路由器转发,因此,ATM路由器很可能成为瓶颈,下面谈到的MPOA将解决子网间通信的效率问题。
三、CLIP(Classical IP over ATM)
1、原理
为了在ATM网络上运行IP,IETF采用了逻辑独立IP子网(LIS)的概念。象通常的IP子网一样,一个LIS包含一组连接到单一ATM网络的IP节点(如主机或路由器),它们属于同一IP子网。ATM LIS的行为很象传统的IP子网,为了在LIS内解析节点的地址,每个LIS提供一个ATMARP服务器,该LIS内的所有节点(LIS客户)被配置以该ATMARP服务器的ATM地址。当LIS中一个节点出现时,它首先建立与ATMARP服务器的连接。一旦ATMARP服务器检测到一个新的LIS客户的连接,它就向该客户发送一个反向ARP请求,询问该节点的IP地址和ATM地址,并保存在其ATMARP表中。随后,LIS中的任意想解析目的IP地址的节点将向该服务器发送ATMARP请求,如果地址映射被找到,则服务器返回ATMARP回应,否则,它返回一个ATM_NAK响应以表示没有该映射,服务器定期清除地址映射表,除非客户对其周期性的反向ARP请求给予响应。一旦LIS客户获取了与IP地址相对应的ATM地址,它就可以与该地址建立连接。分组封装和地址解析的协议分别在RFC1483和RFC1577中定义。
然而,因为RFC1577中定义的地址解析协议保留了主机对于向子网外站点发送分组必须经过缺省路由器的要求,所以捷径VCC只能在同一子网内的节点间建立,否则源站点必须把分组转发给缺省路由器,即使源、目的站点在同一ATM网络内也是如此。这样,ATM路由器就成了瓶颈,且服务质量无法实现。
与LANE相比,RFC1577只支持IP,而不支持其它网络层协议,如IPX、AppleTalk。此外,CLIP也不支持组播,这也是RFC1577的重要缺点。
2、CLIP的扩展
2.1、NHRP(Next Hop Resolution Protocol)
为了在同一ATM网络、不同子网间的站点间提供捷径路由,IETF提出了名为NHRP的协议,NHRP建立在CLIP模型之上,但是用非广播多路访问网络(NBMA)的概念取代了LIS的概念,NBMA意味着允许多个设备连到同一网络,但可以配置到不同的广播域,并且支持不同LIS中主机间的直接通信。帧中继和X.25就是NBMA网络的例子。
NHRP用NHS(NHRP服务器)的概念替换ARP服务器,每个NHS中含有“下一跳解析”缓存表,其内容为与该NHS相关的所有节点的IP到ATM的地址映射。节点配置含NHS的ATM地址,并将自己的ATM地址和IP地址用登记包在NHS登记。
协议处理过程如下:当一个节点想通过NBMA网络发送分组,即需要解析特定的ATM地址时,它生成并向NHS发送NHRP请求包,这样的请求以及所有的NHRP信息通过IP包发送。如果目的站点由该NHS服务,NHS就通过NHS回应包返回其地址,否则NHS查找其路由表以决定到达该目的的下一个NHS并转发该请求。在下一个NHS处执行同样的算法直到真正知道所请求的映射的NHS,目的节点返回一个NHRP回应,以相反的顺序经过同样的一系列NHS,到达请求节点,请求节点就可以建立一个直接数据连接。从而可以越过子网边界建立ATM VCC,使得子网间可以不通过路由通信。
2.2、 组播
有两种支持组播的方法。
第一种是通过组播服务器,所有想发送组播信息的节点与之建立点到点的连接,它与所有接收节点通过点到多点连接相连。组播服务器通过该点到点连接接收数据,通过点到多点连接重发数据。这种方法可以用于大型网络,但组播服务器可能最终成为瓶颈。
第二种方法称为组播网,该组中每个节点与其它节点建立点到多点连接。这样,所有的节点都可以向其它节点发送和从它们接收数据。对于一个含N个节点的组来说,将需要N个点到多点连接,不适于含节点数目很多的组。
这两种方法都用于Armitage建议的组播地址解析服务器(MARS)。MARS服务于一簇节点,一簇中所有的端系统配置以MARS的ATM地址。当一个端系统想向特定的组播群发信息时,它建立与MARS的连接,发出MARS_REQUEST信息,MARS返回MARS_MULTI信息,此信息含有该组的组播服务器的地址或组成员的地址,如果该组支持组播服务器,请求节点就建立与该服务器的连接,将数据发送给该服务器,由该服务器将数据转发给组中的节点;在组播网方案中,请求节点与组中的节点建立点到多点连接并通过该连接发送数据。
四、MPOA
1、MPOA的原则
MPOA的目的是在LANE环境中有效地传输子网间的unicast数据。MPOA集成了LANE和NHRP以保留LANE,同时通过旁路路由器提高子网间通信的效率。MPOA允许网络层路由记算和数据传送物理地分离,这称为虚拟路由。路由计算由位于路由器中的服务器--即MPS--执行,数据传送由边缘设备中的客户--即MPC--执行。
在入口点,MPC检测通过ELAN传送给含有MPS的路由器的数据流,当它发现能够旁路当前路由路径的捷径时,它使用基于NHRP的协议请求与目的节点建立捷径,如果可行,该MPC在其入口表中记录下该信息,建立捷径VCC,通过该捷径VCC发送帧。对于使用捷径的分组,MPC从分组中去掉数据链路层(DLL)封装。
在出口点,MPC从其它MPC接收网络数据,对于通过捷径接收到的帧,该MPC加上适当的DLL封装把它们传送给上层协议。该DLL封装信息由MPS提供并存贮在出口缓存中。
MPS是路由器的逻辑成分,给MPC提供网络层转发信息,它包含NHRP中定义的完整的NHS。MPS与本地NHS和路由功能交互以回答入口MPC的MPOA请求,并给出口MPC提供DLL封装信息。
下面是ELAN内和ELAN间通信过程的简单描述。
ELAN内通信从一个MPOA主机或LAN主机到同一ELAN的另一MPOA主机或LAN主机,这些数据流使用ELAN做地址解析和数据传输。ELAN间通信从一个MPOA主机或LAN主机到不同ELAN的MPOA主机或LAN主机,短数据流使用缺省的路径,长数据流使用捷径,缺省的路径利用ELAN和路由器,捷径使用LANE和NHRP做地址解析和捷径。捷径是这样工作的:如果源节点和目的节点不在同一个MPS的管理域,入口MPS将MPOA解析请求翻译成NHRP解析请求,通过NHRP将该请求转发给出口MPS,当出口MPS收到出口MPC的回应后,它生成NHRP解析回应并把它发回给入口MPS,当入口MPC得到入口MPS的MPOA解析回应后,它与出口MPC之间就可以建立捷径了。
2、MPOA的优点和限制
MPOA从根本上将数据传送和路由计算分开,将功能分布到不同的设备,从而减少了参与路由计算的设备数目和端设备的复杂性。它可以以统一的方式支持二层和三层网络互连,因此保证了ATM环境中大规模的互连。它可以同时有效地处理突发数据和长期的数据流,但是,MPOA的复杂性有很大的争议。
五、IP交换
IP交换的目的是在快速交换硬件上获得最有效的IP实现,将非连接的IP和面向连接的ATM的优点互补。IP交换是标准的ATM交换加上连接于ATM交换机端口上的智能的软件控制器,即IP交换控制器。IP交换机将数据流的初始分组交给标准的路由模块(IP交换机的一部分)处理,当IP交换机看到一个流中足够的分组,认为它是长期的,就同相邻的IP交换机或边缘设备建立流标记,后续的分组就可以高速地标记交换,将缓慢的路由模块旁路。特别的IP交换网关或边缘设备负责从非标记分组向标记分组和分组到ATM数据的转换。
每个将现有网络设备连到IP交换机的IP交换网关或边缘设备在启动时建立一个到IP交换控制器的虚信道作为缺省的转发信道,从现有网络设备接收到分组时,边缘设备通过缺省转发信道将分组传送给IP交换控制器。
IP交换控制器执行传统的路由协议,如RIP、OSPF和BGP,将分组以正常的方式通过缺省转发信道转发给下一个节点,这可能是另一个IP交换机或边缘设备。IP交换控制器还执行数据流分类,它识别长期的数据流,因为这样的数据可以用ATM硬件的cut-through交换来优化,其余的通信仍然使用缺省的方式,即点到点的存贮转发路由。
当长期的数据流被识别,IP交换控制器要求上一节给之打标记,使用新的虚信道,如果源边缘设备同意,该数据流就通过新的虚信道流向IP交换控制器。下一节点也执行同一动作。当该流独立使用特殊的输入信道和输出信道,IP交换控制器指示交换机建立适当的硬件端口映射,旁路路由软件和相关的处理开支。这个过程继续下去,该流的前面几个分组使从源边缘设备到目的边缘设备建立直接的连接。此设计使IP交换机以仅受交换引擎限制的速率转发分组。第一代IP交换机支持高达每秒5.3M分组的吞吐量。此外,因为不需要将ATM信元封装到中介IP交换机的IP分组中,IP网中的吞吐量也得到了优化。
Ipsilon给IETF提出了两种协议。通用交换管理协议(GSMP, RFC1987)允许IP交换机控制器访问交换机硬件并动态转变交换模式:存贮转发或cut-through。Ipsilon流量管理协议(IFMP, RFC1953)用于在边缘设备和IP交换控制器间交换控制信息并将IP流与ATM虚信道联系起来。
IP交换的一个重要特性是流的分类和交换在本地执行,而不是基于端到端的基础上,这保留了IP的非连接本质,并允许IP交换机绕过失效节点路由而不需要从源主机重新建立通道。
此外,流分类使IP交换同样有效地支持长期和突发数据。
然而,IP交换是基于流的,在大型网络中其伸缩性是值得质疑的,在很大的网络中流的数目可能最终超过可用的虚通道数。
有五家公司正式宣称支持Ipsilon的IP交换,它们是:Ericsson、General Datacomm、Hitachi America Ltd. 、NEC America Inc. 和DEC Ipsilon。它们试图使此技术成为事实上的标准--MPLS。
六、标记交换
另一个选择是Cisco公司的标记交换。标记交换网络包含三个成分:标记边缘路由器、标记交换机和标记分发协议。
标记边缘路由器位于标记交换网络边缘的含完整3层功能的路由设备,它们检查到来的分组,在转发给标记交换网络前打上适当的标记,当分组退出标记交换网络时删去该标记。作为具有完整功能的路由器,标记边缘路由器也可应用增值的3层服务,如安全、记费和QoS分类。标记边缘路由器的能力不需要特别的硬件,它作为Cisco软件的一个附加特性来实现,原有的路由器可以通过软件升级具有标记边缘路由器的功能。
标记交换机是标记交换网络的核心。所谓标记是短的、固定长度的标签,使标记交换机能用快速的硬件技术来做简单快速的表查询和分组转发。标记可以位于ATM信元的VCI域、IPv6的flow label域或在2层和3层头信息之间,这使得标记交换可用于广泛的介质之上,包括ATM连接、以太网等。
标记分发协议提供了标记交换机和其它标记交换机或标记边缘路由器交换标记信息的方法。标记边缘路由器和标记交换机用标准的路由协议(如BGP、OSPF)建立它们的路由数据库。相邻的标记交换机和边缘路由器通过标记分发协议彼此分发存贮在标记信息库(TIB)中的标记值。
下面是标记交换网络的基本处理过程。
(1)标记边缘路由器和标记交换机用标准的路由协议识别路由,它们完全可以与非标记交换的路由器互操作。
(2)标记边缘路由器和交换机通过标记分发协议给用标准路由协议生成的路由表赋以标记信息并分发,标记边缘路由器接收标记分发协议信息并建立转发数据库。
(3)当标记边缘路由器收到需要通过标记交换网络转发的分组,它分析其网络层头信息,执行可用的网络层服务,从其路由表中给该分组选择路由,打上标记然后转发到下一节点的标记交换机。
(4)标记交换机收到带标记的分组,仅基于标记来进行交换,而不分析网络层头信息。
(5)分组到达出口点的标记边缘路由器,标记被剥除,然后继续转发。
在标记交换网络中,标记分发协议和标准路由协议可以用目标前缀标记算法集合起来,此算法可以在数据流穿过网络前在TIB中建立标记信息。这有两个意义。一个是流中的所有分组都可以被标记交换,即使是突发短数据也是如此;此外它是基于拓扑的,在每个源/目的分配一个标签。而在IP交换中只有长期数据流在一定数目的分组经过后才建立捷径。因此,标记交换比基于流的机制更有效地使用标签,避免了一个一个流的建立过程,这使之具有了公共因特网服务网络所需要的很好的伸缩性,在公共因特网中,流的数目是巨大的,其改变速率也是很高的。
其他厂商也有类似的机制,如Cabletron的SFVN(Secure Fast Virtual Networking)、Cascade的IP Navigator、DEC的IP packet switching、Frame Relay Technologies的Framenet Virtual WAN switching和IBM的ARIS(Aggregate Route-based IP Switching)等。
七、结束语
本文简单介绍了在ATM网络上支持IP的一些方案,这些方案基于这样的一个假定,即:传统的LAN和路由器通过ATM网相连,或者说,硬件平台是ATM网,而应用是基于IP的。其它内容这里不作介绍。