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信息,此信息含有该组的组播服务器的地址或组成员的地址,如果该组支持组播服务器,请求节点就建立与该服务器的连接,将数据发送给该服务器,由该服务器将数据转发给组中的节点;在组播网方案中,请求节点与组中的节点建立点到多点连接并通过该连接发送数据。