ATM参考模型
在ITU-T的I.321建议中定义了B-ISDN协议参考模型,如下图。它包括三个面:用户面、控制面和管理面,而在每个面中又是分层的,分为物理层、ATM层、AAL层和高层。
协议参考模型中的三个面分别完成不同的功能:
用户平面:采用分层结构,提供用户信息流的传送,同时也具有一定的控制功能,如流量控制、差错控制等;
控制平面:采用分层结构,完成呼叫控制和连接控制功能,利用信令进行呼叫和连接的建立、监视和释放;
管理平面:包括层管理和面管理。其中层管理采用分层结构,完成与各协议层实体的资源和参数相关的管理功能,如元信令。同时层管理还处理与各层相关的OAM信息流;面管理不分层,它完成与整个系统相关的管理功能,并对所有平面起协调作用。
下面几章不直接讲述ATM的各层,而是与OSI七层模型相对应来讲。
ATM物理层
一、ATM的物理层
ATM意即异步传输模式(asynchronous transfer mode)。这种模式可以与同步T1线路做一对比。在T1线路中每125us都有一个T1帧生成,该速率由主时钟控制,每帧的第k时隙中有从相同源来的1字节数据。T1是同步的。而ATM不严格要求信元交替地从不同的源到来,每一列从各个源来的信元,没有特别的模式,信元可以从任意不同的源到来,而且,不要求从一台计算机来的信元流是连续的,数据信元可以有间隔,这些间隔由特殊的空闲信元(idle cell)填充。
ATM并不标准化传输的信元格式。实际上,它指出仅发送单个信元是可以的,并且指出信元可以被装入到T1,T3,SONET或FDDI(光纤LAN)线路上发送。对于以上的这些例子,有标准规定信元如何封装到这些系统提供的帧里。
在最初的ATM标准中,主速率为155.52Mb/s,另外还有一个4倍于它的速率(622.08Mb/s)。选择此速率是为了和SONET兼容,SONET是电话系统中用于光纤线路的分帧标准。基于T3(44.736Mb/s)和FDDI(100Mb/s)上的ATM也已出现。
ATM的传输介质常常是光纤,但是100m以内的同轴电缆或5类双绞线也是可以的。光纤可达数千米远。每个链路处于计算机和一个ATM交换机之间或两个ATM交换机之间。换句话说,ATM链路是点到点的(和LAN不一样,它在一条电缆上有许多发送方和接收方)。通过让信元从一条线路进入交换机并且从多条线路输出,可以获得广播效果。每条点到点链路是单向的。对于全双工操作需要两条链路,每个方向的流量占用一条。
ATM的物理层包括两个子层,即物理介质子层(PM)和传输会聚(TC)子层。其中物理介质子层提供比特传输能力,对比特定时和线路编码等方面作出了规定,并针对所采用的物理介质(如光纤、同轴电缆、双绞线等)定义其相应的特性;传输会聚子层的主要功能是实现比特流和信元流之间的转换。
对于输出,ATM层提供信元序列,PDM子层进行必要的编码,并且以比特流的方式发送它们。对于输入,PDM子层从网络中获得输入的比特,并且向TC子层提交一个比特流。信元的边界并没有标记出来,TC子层负责找出信元在何处开始和结束。但这不仅困难,而且在理论上行不通,因此TC层去掉了这一功能。因为TC层管理分帧,所以它属于数据链路功能,因此我们在第3章讨论它。
二、物理接口
ITU-T和ATM论坛将物理接口分为三类,即基于SDH、基于信元和基于PDH。下面从不同的角度介绍:
传统的数字信令。
DS0 64kbit/s
DS1(T1) 1.544Mbit/s
DS2(T2) 6.312Mbit/s (4 DS1,96 DS0)
DS3(T3) 44.736Mbit/s (28 DS1,672 DS0)
DS4 274.176Mbit/s (4032 DS0)
SONET的同步传送信令(STS)
STS-1(OC-1) 51.84Mbit/s
STS-3(OC-3) 155.52Mbit/s (3STS-1)
STS-12(OC-12) 622.08Mbit/s (12STS-1)
STS-24(OC-24) 1244.16Mbit/s (24STS-1)
STS-48(OC-48) 2488.32Mbit/s (48STS-1)
ANSI标准
STS-1 51.84Mbit/s
STS-3c 155.52Mbit/s
STS-12c 622.08Mbit/s
DS3 44.736Mbit/s
CCITT标准
DS1 1.544Mbit/s
E1 2.048Mbit/s
DS2 6.312Mbit/s
E2 8.448Mbit/s
E3 34.368Mbit/s
DS3 44.736Mbit/s
E4 139.264Mbit/s
STM-1 155.52Mbit/s(与STS-3相同)
STM-4 622.08Mbit/s(与STS-12相同)
三、ATM交换机
1、ATM基本排队原理
ATM交换有两条根本点:信元交换和各虚连接间的统计复用。信元交换即将ATM信元通过各种形式的交换媒体,从一个VP/VC交换到另一个VP/VC上。统计复用表现在各虚连接的信元竞争传送信元的交换介质等交换资源,为解决信元对这些资源的竞争,必须对信元进行排队,在时间上将各信元分开,借用电路交换的思想,可以认为统计复用在交换中体现为时分交换,并通过排队机制实现。
排队机制是ATM交换中一个极为重要的内容,队列的溢出会引起信元丢失,信元排队有是交换时延和时延抖动的主要原因,因此排队机制对ATM交换机性能有着决定性的影响。基本排队机制有三种:输入排队、输出排队和中央排队。这三种方式各有缺点,如输入排队有信头阻塞,交换机的负荷达不到60%;输出排队存储器利用率低,平均队长要求长,而中央排队存储器速率要求高、存储器管理复杂。同时,三种方式有各有优点,输入队列对存储器速率要求低,中央排队效率高,输出队列则处于两者之间,所以在实际应用中并没有直接利用这三种方式,而是加以综合,采取了一些改进的措施。改进的方法主要有:
减少输入排队的队头阻塞。
采用带反压控制的输入输出排队方式。
带环回机制的排队方式。
共享输出排队方式。
在一条输出线上设置多个输出子队列,这些输出子队列在逻辑上作为一个单一的输出队列来操作。
2、ATM交换机构
为实现大容量的交换,也为了增加ATM交换机的可扩展性,往往构造小容量的基本交换单元,再将这些交换单元按一定的结构构造成ATM交换机构(Fabric),对于ATM交换机构来说,研究的主要问题是各交换单元之间的传送介质结构及选路方法,以及如何降低竞争,减少阻塞。
ATM交换机构分类方法不一,有一种分法为:时分交换和空分交换,其中时分交换包括共享总线、共享环和共享存储器结构,空分交换包括全互连网和多级互连网。
3、ATM交换机
ATM信元交换机的通用模型如下图所示。它有一些输入线路和一些输出线路,通常在数量上相等(因为线路是双向的)。在每一周期从每一输入线路取得一个信元(如果有的话)。通过内部的交换结构(switching fabric),并且逐步在适当的输出线路上传送。从这一角度上来看,ATM交换机是同步的。
一个通用的ATM交换机
交换机可以是流水线的,即进入的信元可能过几个周期后才出现在输出线路上。信元实际上是异步到达输入线路的,因此有一个主时钟指明周期的开始。当时钟滴答时完全到达的任何信元都可以在该周期内交换。未完全到达的信元必须等到下一个周期。
信元通常以ATM速率到达,一般在150Mb/s左右,即大约超过360,000信元/s,这意味着交换机的周期大约为2.7um。一台商用交换机可能有16条~1,024条输入线路,即它必须能在每2.7um内接收和交换16个~1,024个信元。在622Mb/s的速率上,每700ns就有一批信元进入交换结构。由于信元是固定长度并且较小(53字节),这就可能制造出这样的交换机。若使用更长的可变长分组,高速交换会更复杂,这就是ATM使用短的、固定长度信元的原因。
4、ATM交换机的分类
各种ATM交换设备由于应用场合的不同,完成的功能也略有差异,主要区别有接口种类、交换容量、处理的信令这几方面。
在公用网中,有接入交换机、节点交换机和交叉连接设备。接入交换机在网络中的位置相当于电话网中的用户交换机,它位于ATM网络的边缘,将各种业务终端连入ATM网中。节点交换机的地位类似于现有电话网中的局用交换机,它完成VP/VC交换,要求交换容量较大,但接口类型比接入交换机简单,只有标准的ATM接口,主要是NNI接口,还有UNI接口或B-ICI接口,信令方面,只要求处理ATM信令。交叉连接设备与现有电话网中的交叉连接设备作用相似,它在主干网中完成VP交换,不需要进行信令处理,从而实现极高速率的交换。
在ATM专用网中,有专用网交换机、ATM局域网交换机。专用网交换机作用相当于公用网中的节点交换机,具有专用网的UNI和NNI接口,完成P-UNI和P-NNI的信令处理,有较强的管理和维护功能。ATM局域网交换机完成局域网业务的接入,ATM局域网交换机应具有局域网接口和ATM P-UNI接口,处理局域网的各层协议以及ATM信令。
ATM数据链路层
一、ATM中的数据链路层
ATM物理层大体包括了OSI物理层和数据链路层,包括功能像OSI物理层的物理介质决定了子层和与数据链路功能一样的传输汇集(TC)子层。对于ATM,没有特殊的物理层特性。相反,是由SONET,FDDI及其他传输系统运送ATM信元的。因此,我们这里将集中于TC子层的数据链路功能。
当一个应用程序产生了一条要发送的消息后,此消息要进入传输线路上,向下传到ATM协议栈,加上头部和尾部,并把分段放入ATM信元中。最后,这些信元到达TC子层进行传输。让我们看一下出了门后,在路上所发生的事情。
二、信元传输
第一步是进行头部的校验和。每个信元都有一个5字节的头部,头部中包括4字节的虚拟电路及控制信息和1字节的校验和。校验和只包括了前4个头部字节,而不占用有效载荷字节。它是由32个头部位除以多项式x^8+x^2+x+1后,所得的余数构成的。校验和加上常数01010101。
做出只校验头部的决定,是为了减少由于头部错误,而造成不正确传递信元的可能,也为了避免其校验开始要大得多的有效载荷字段的校验。如果确需校验有效载荷字段,就要上到较高的层上完成这一功能。由于校验和字段只位于头部,因此这8位校验和字段被称为头部错误控制HEC(header error control)。
一旦产生出HEC,并插入信元头部,那么此信元就作好了发送准备。传输手段分成两组:异步的和同步的。当使用异步方式时,只要准备好了发送它,就可以发送,没有时间限制。
使用同步方式,信元就必须按照事先确定的时间节拍发送。如果在需要时无数据信元可用,TC子层就必须发明一个,这种信元称为空闲信元(idle cell)。
无数据信元的另一种类型是操作和维护OAM(operation and maitenance)信元。ATM机制也使用OAM信元来交换控制及其他必需的信息,以保证系统的运行。把ATM输出速率与从事传输系统的速率相匹配是TC子层的重要任务。
在接收方,空闲信元在TC子层中进行处理,但OAM信元交给了ATM层。
TC子层的另一项重要任务是:如果有的话,针对从事传输的系统,产生成帧信息。比如,一个ATM摄象机在线路上只产生一系列信元,但它也可能用ATM信元产生SONET帧,嵌入SONET有效载荷中。在后一种情况下,TC子层将产生SONET或帧,并把ATM信元打包,这并不完全是一个不必要的步骤,因为SONET有效载荷不能支持53字节信元的整数倍。
尽管电话公司明确地使用SONET作为ATM的传输系统,但是也可以定义成把ATM对应到其他系统的有效载荷字段,并且这种新帧已在工作。尤其是,映射成T1,T3或FDDI帧也是可以的。
三、信元接收
在输出处,TC子层的工作是取得一系列信元,在每个信元上增加一个HEC,把此结果转变成比特流,并通过加入OAM信元,将比特流匹配为进行物理传输系统的速率。在输入处,TC层准确地进行逆变换。它取来到达的比特流,设定信元边界,确定信元头(丢弃拥有不合法头部的信元),处理OAM信元,并把数据信元上传给ATM层。
最困难的部分是在到来的比特流中设定信元边界。在某些情况下,进行传输的物理层提供了帮助。然而,有时物理层对成帧并不能提供帮助。这时应该怎么办?
技巧是使用HEC。随着比特流到达TC子层,保留一个40位移位寄存器,比特流从左边进入,右边出来。TC子层然后审查这40位,看是否可能存在一个合法的信元头部。如果有,最右边的8位将是合法的HEC,而最左边的32位则不是。如果不存在这种情况,则缓冲区没有存在一个合法信元,在这种情况下,缓冲区中所有的位都向右移动一位,使得后端空出一位,于是一个新的输入位就加到最左端。不断重复此过程,直到定位一个合法的HEC。此时,明确了信元边界,因为移位寄存器包括了一个有效的头部。
ATM网络层
一、ATM中的网络层
ATM层处理从源端到目的端移动着的信元,在ATM交换机中的确包含了路由选择算法和协议,它也处理全局寻址问题。因此从功能上说,ATM层发挥着和网络层相同的功能。ATM层并不能保证百分之百的可靠性,不过一个网络层的协议也不需要如此。
因为ATM层具有网络层的功能,而不具有数据链路层所具备的功能,并且,ATM层同现有的网络层类似,因此我们仍在本章中讨论ATM层协议。
唯一的问题是ATM层不具有数据链路层协议所具有的特性:一个用于导线两端的机器之间的单站段协议,就像第3章中的协议1到协议6。ATM层却具有网络层协议的功能:端到端虚电路连接、交换、路由选择。
对于面向连接的协议来说,ATM层是不同寻常的,因为它不提供任何确认。但ATM层仍然提供了强有力的保障:沿着一条虚电路发送的信元将永远不会失去顺序。如果阻塞发生了,允许ATM子网丢弃信元,但是在任何情况下,它都不能对在一条单独的虚电路中传递的信元重新排序。然而,对于在不同的虚电路中传递的信元并没有提供顺序上的保障。
二、信元格式
在ATM层,有两个接口是非常重要的,即用户-网络接口UNI(user-network interface)和网络-网络接口NNI(network-network interface)。前者定义了主机和ATM网络之间的边界(在很多情况下是在客户和载体之间),后者应用于两台ATM交换机(ATM意义上的路由器)之间。两种格式的ATM信元头部如下图。信元传输是最左边的字节优先,在一个字节内部是最左边的比特优先。
图 (a)UNI中的ATM头部;(b)NNI中的ATM头部
三、连接建立
从技术上讲,连接建立并不是ATM层的一部分,而是由控制平台使用的一个高度复杂的叫做Q.2931(stiller,1995)的ITU协议来处理的。然而,逻辑上处理建立网络层连接的地点是网络层,并且类似的网络层协议都是在这里进行连接建立的,因此我们在这里讨论它。
用于连接建立和连接释放的消息
消息 由主机发送时的含义 由网络发送时的含义
SETUP 请建立一条虚电路 进入呼叫
CALL PROCEEDING 我看见了进入呼叫 将尝试你的呼叫请求
CONNECT 我接受进入呼叫 接受你的呼叫请求
CONNECT ACK 谢谢接受 谢谢发出呼叫
RELEASE 请终止呼叫 另一端已足够坏
RELEASE COMPLETE 对RELEASE的确认 对RELEASE的确认
ATM网络允许建立多点播送通道。一个多点播送通道有一个发送者和多于一个的接收者。它们是通过如下方法建立起来的:用通常的方法在源端和目的端之间建立一条连接,接着发送ADD PARTY消息把第二个目的端连接到前一个呼叫返回的虚电路上去,接下来就可以发送其余的ADD PARTY来增加目的端的个数。
ATM有3种地址格式。第1字节指明该地址是3种地址格式中的哪一种。第1种有20字节长,是基于OSI地址格式的。第2和第3字节指明国家,第4字节给出了基于地址部分的格式,其他包括3字节指明权限,2字节指明域(domain),1字节指明区域,还有6字节的地址,以及其他一些信息项。在第2种地址格式中,第2和第3字节指定一个国际组织,而不是国家;地址的其余部分和格式与第1种相同。另一种是旧的使用15位十进制数的ISDN电话号码(CCITT E.164)作为地址的格式。
四、路由选择和交换
当建立虚电路时,SETUP消息沿着网络从源端走向目的端。路由选择算法决定了消息要走的路径,从而也就决定了虚电路的路径。ATM标准中没有指定任何特定的路由选择算法,所以人们就可以从我们在本章前面几节中讨论的路由选择算法中选择一种,或者选用另外不同的算法。
交换机的大部分工作量是花费在如何从一个信元里的虚电路信息里得到输出线路的选择上。除了在每一个方向上的最后一个站段外,路由都是在VPI字段上进行的,而不是在VCI字段;在最后一个站段,信元在交换机和主机之间传送。在两台交换机之间只使用虚通路。
在局域网中,事情简单得多,一条简单的虚通路就可以为所有的虚电路所使用。
五、服务类型
恒定比特率CBR(constant bit rate)主要用来模仿铜线或者光导纤维。没有差错校验,没有流量控制,也没有其余的处理。这个类别在当前的电话系统和将来的B-ISDN系统中作了一个比较圆滑的过渡,因为话音级的PCM通道,T1电路以及其余的电话系统都使用恒定速率的同步数据传输。
可变比特率VBR(variable bit rate)被划分为两个子组别,分别是为实时传输和非实时传输而设立的。RT-VBR主要用来描述具有可变数据流并且要求严格实时的服务,比如交互式的压缩视频(例如电视会议)。NRT-VBR用于主要是定时发送的通信场合,在这种场合下,一定数量的延迟及其变化是可以被应用程序所忍受的,如电子邮件。
可用比特率ABR(available bit rate)术语是为带宽范围已大体知道的突发性信息传输而设计的。ABR是唯一一种网络会向发送者提供速度反馈的服务类型。当网络中拥塞发生时会要求发送者减小发送速率。假设发送者遵守这些请求,采用ABR通信的信元丢失就会很低。运行着的ABR有点象等待机会的机动旅客:如果有空余的座位(空间),机动的旅客就会无延迟地被送到空余座位处;如果没有足够的容量,他们就必须等待(除非有些最低带宽是可用的)。
未指定比特率UBR(unspecified bit rate)不做任何承诺,对拥塞也没有反馈,这种类型很适合于发送IP数据报。如果发生拥塞,UBR信元也会被丢弃,但是并不给发送者发送反馈,也不给发送者希望放慢速度的期望。
各种ATM服务类型的特性
服务特性 CBR RT-VBR NRT-VBR ABR UBR
带宽保证 是 是 是 可选 不
适用于实时通信 是 是 不 不 不
适用于突发通信 不 不 是 是 是
有关于拥塞的反馈 不 不 不 是 不
六、服务质量
服务质量在ATM网络中是一个重要的话题,这部分因为ATM网络都是用作实时传输的,比如音频和视频。当一条虚电路建立时,传输层(典型地为主机中的一个进程,“客户”)和ATM网络层(例如:一个网络操作者,也即“运载提供者”)都要遵守一个定义服务的协定。
协定的第一部分是通信量描述符(traffic descriptor)。它描述要提供的载荷。协定的第二个部分指定客户所要求的和通信提供者同意的服务质量。无论是载荷还是服务,都是要以可度量的数量来描述的,这样约定就可以被客观的决定。
为了使具体的通信量协定成为可能,ATM标准定义了一系列的服务质量Qos(quality of service),客户和通信提供者可以协商这些参数的值。对于每一个服务质量参数,其最差情况下的值被指定了,要求通信提供者必须要达到或者超过该值。在某些情况下,参数是一个最小值,而在另外一些情况下它是一个最大值。也是在这里,服务质量在每个方向上都是单独指定的。其中一些比较重要的列在了下表中,但它们并不是对所有的服务类型都适用。
一些服务质量参数
参数 缩写词 含义
峰值信元速率 PCR 信元发送的最大速率
持续信元速率 SCR 长时间的平均信元传输速率
最小信元速率 MCR 最小的可接受的信元传输速率
信元延迟变化极值 CDVT 最大的可接受的信元抖动
信元丢失比率 CLR 信元丢失或提交得太迟的比例
信元传送延迟 CTD 信元提交时拖延的时间(中间值和最大值)
信元延迟变化 CDV 信元提交时间的变化幅度
信元错误比率 CER 提交无错信元的比例
严重错误信元块比率 SECBR 出错信元的比例
信元错误目的地比率 CMR 信元提交至错误目的地的比例
七、通信量整形和控制
使用和增强服务质量参数的机制是基于(部分地)一种特定的算法,也即通用信元速率算法GCRA(generic cell rate algorithm)。它的工作原理是检查每一个信元,看是否遵从了虚电路的参数。
GCRA有两个参数,它们指定了最大的允许到达率(PCR)和其中可以忍受的到达时间变化量(CDVT)。PCR的倒数,T=1/PCR是最小的信元到达间隔值。
GCRA算法被称为虚拟调度算法(virtual scheduling algorithm),然而从另一种角度来看,它等同于一个漏桶算法。可把一个合乎协定的信元想象成是倒入一个漏桶的T单位的流体。这个桶以1单位/us的速度漏液体,因此Tus之后它就空了。如果信元正好是以1信元/Tus的速度到达,那么每一个到达的信元都会发现桶刚刚空出来,该信元会把桶内重新装上T单位的液体。因此当一个信元到达时,液体水位升至T,以后就线性递减直到为零。
当一个信元提前Lus到达时,桶就应该溢出。对于一给定的T,如果我们把L设置得很小,桶的容量将会很难超过T,因此所有的信元必须以一种非常规范的间隔顺序发送。然而,如果我们现在增加L的值,使它远远大于T,桶将会容纳很多的信元,因为T+L>>T。这就意味着发送者可以以峰值速率一个接一个地发送一些突发性数据,而它们仍然能够被正确地接收。
GCRA正常情况下是通过给定参数T和L来指定的。T正好是PCR的倒数;L就是CDVT。GCRA也用来保证在任何一段较长时间内平均信元传输速率不会超过SCR。
除了提供了一条规则来看哪一个信元是合乎协定的,哪一个是不合乎协定的之外,GCRA也用于通信整形,以消除某些突发性传输。CDVT越小就意味着越好的平滑效果,但也增大了因为不合乎协定而丢弃信元的机率。在一些实现中把GCRA漏桶和一个令牌桶结合起来,以提供进一步的平滑。
八、拥塞控制
ATM网络必须既要处理由于大于系统处理能力的通信量而引起的长期拥塞,又要处理由于通信中的突发性传输而引起的短期拥塞。结果人们使用了几种不同的策略。它们当中最重要的可分为3类:
1、许可证控制
很多ATM网络中有以固定速率产生数据的实时通信源。告诉这一类的通信源减慢发送速率是行不通的(想象一种有一个红灯的新型数字电话。当通知拥塞发生时,红灯就会亮,讲话者将被要求速率减慢25%)。
因此,ATM网络把防止拥塞发生放在第一的位置。然而,对于CBR、VBR、UBR类通信量,根本就没有动态拥塞控制,因此在这里预防拥塞发生将远远比拥塞发生后再去恢复强得多。预防拥塞的一个主要工具是许可证控制。当一台主机需要一条新的虚电路时,它必须描述出希望被提供的通信和服务,网络便作出检查来看是否有可能,在不对已存在连接造成有害的影响的前提下处理该连接。可能需要检查多条可能的线路,从而发现哪一条将可以做此项工作。
2、资源预订
同许可证控制密切相关的是事先预定资源的技巧,这通常是在呼叫建立时进行。因为通信量描述符给出了信元发送峰值速率,网络就有可能沿通路预留足够的带宽来处理该峰值速率。
3、基于速率的拥塞控制
在CBR和VBR通信中,因为信息源固有的实时和半实时的特性,所以即使在发生拥塞的情况下,一般也不可能让发送者减慢发送速率。在VBR服务中,没有人会担心。如果有太多的信元,把多出来的丢弃掉就是。
在ABR通信中,网络去通知一个或多个发送者并且请求它们暂时减慢发送速率直到网络恢复,这是可能的也是合理的。
怎样检测、通知和控制ABR通信中的拥塞是ATM标准发展过程中的一个热门话题,问题集中在以下两个方面:一是基于信用的解决方案,一种是基于速度的解决方案。
交换机厂商们反对基于信用的解决方案。他们不想进行所有计算,以记住这些信用,同时,也不想预先提供很多缓冲区,并认为所需要的开销总量太大。因此,采用了基于速度的拥塞控制系统。其基本模型是每个发送端在k信元数据之后传送一个特殊的资源管理RM(resource management)信元。这个信元的传输通路与k信元相同,但是它由交换机进行特殊处理。当RM信元到达接收端时,对它进行检测、修改并且再将它发送回发送端。另外,还提供了其他两种拥塞控制装置。第一种是超载荷交换机能够自发地产生RM信元,并将它们发送回发送端。第二种是超载荷交换机能够对从发送端传送到接收端的信元数据设置其中间PTI位的值。当然这两种方法没有一个是完全可靠的。
ATM教程:传输层
一、ATM中的传输层
很难说清ATM是否有传输层。一方面,ATM层具有网络层的功能,并且其上还有一层(AAL),从分层角度看AAL便是传输层。一些专家同意这一观点。此处所使用的协议之一(AAL5)功能上类似于UDP,而UDP无疑是传输层协议。另一方面,没有任何一个AAL协议像TCP那样提供可靠的端到端的连接(尽管这些协议只需做很小的变化即可)。另外,在多数应用中,在AAL之上还使用了另一个传输层。不再细究了,就在这一章中讨论AAL层及其协议,而不管它是不是真正的传输层。
ATM网络的AAL层与TCP具有本质区别,其主要原因是设计者对传输音频和视频数据流更有兴趣,为此迅速传送比精确地传送更重要。ATM层连续输出53字节的信元。信元中没有差错控制、没有流量控制以及其他种类的控制。所以,它不能很好地满足多数应用的要求。为了弥补这一不足,在建议I.363中,ITU在ATM层之上定义了一个端到端的层。这一层称为ATM适配层AAL(ATM adaptation layer),它经历了一段曲折的历史:充满了错误、反复修订以及未完成的工作。
AAL的目标是向应用提供有用的服务,并将它们与在发送端(方)将数据分割为信元、在接收端(方)将信元重新组织为数据的机制隔离开来。它按照3个坐标轴来组织服务空间:
1、实时服务和非实时服务。
2、恒定比特率服务和变化的比特率服务。
3、面向连接的服务和非连接的服务。
原则上,用3个坐标轴和每个坐标轴上的2个值可以定义8种不同的服务,如下图。ITU觉得只有其中的4个有使用价值,并分别命名为类A、B、C、D。其他几种则未得到支持。从ATM4.0开始,该图有些过时,所以在这里提出它来主要是作为背景信息,以帮助读者了解为什么AAL协议设计为目前这个样子。目前主要的不同是传输类(ABR、CBR、NRT-VBR、RT-VBR和UBR)之间,而不是这些AAL支持的服务类之间。
AAL支持的基本服务类(现已过时)
为了处理这4类服务,ITU定义了4个协议而后来发现对于类C和类D的技术要求十分相似,从而将AAL3和AAL4合为AAL3/4。计算机工业当时昏然不觉,后来才发现它们都不令人满意。后来暂且定义了另一种协议--AAL5来解决这个问题。
二、ATM适配层的结构
ATM适配层的上面部分称为会聚子层(cenvergence sublayer)。其作用是向应用程序提供一个接口。它又是由两个子部分组成:一个是对所有应用程序都通用的公共部分(相对于给定的AAL协议),另一个是与应用程序相关的子部分。其中每个部分的作用都是与协议相关的,但是可以包括报文分帧和错误检测。
在发送端,会聚子层负责接收来自于应用程序的比特流(数据)或随机长度的报文,并将它们分为44~48字节的单元以便传输。确切的大小有赖于所用的协议,因为一些协议要占用48字节ATM载荷中的一部分作为自己的头。在接收端,该子层将信元重组为原始的报文。通常情况下,报文分界(如果存在)是要保留的。
AAL下面的部分称为分割和重组SAR(segmentation and reassembly)子层。它将会聚子层交给它的数据单元加上头和尾从而构成信元有效载荷。接着,这些载荷被交给ATM层进行传送。在接收端,SAR子层将信元重组为报文。SAR子层基本上只涉及信元,而会聚子层则与报文打交道。
SAR子层对于某些(但不是所有的)服务类来说,还有另外一些功能。特别是,它有时候可以进行错误检测和多路复用。SAR子层对于所有服务类都是存在的但功能的强弱则依赖于其特定的协议。
三、AAL1
AAL1是用于A类传输的协议。A类传输是指实时的、恒定比特率的、面向连接的传输,例如非压缩的音频和视频数据。输入的是比特流,不存在报文分界。对于这种传输,并没有使用像停--等这样的错误检测协议,因为由超时和重发机制引入的延迟是不能接受的。但是,丢失信元时会通知应用程序,由它采取措施(如果可能的话)来进行弥补。
AAL1使用了一个会聚子层和SAR子层。会聚子层检测丢失和误入的信元,平缓输入的数据速率从而以恒定的速度发送信元。最后,会聚子层将输入的报文或比特流分解为46字节或47字节的单元,然后交给SAR子层处理。在另一端(接收方)它取出这些数据单元,重组为原始的输入。AAL1的会聚子层没有自己的协议头信息。
相反,AAL1的SAR子层有自己的协议。其信元格式如下图。两种格式都是以1字节的头开始:其中包含3字节的信元序号SN(用于检测是否丢失或误入了信元);该字段之后是3位的序号保护字段SNP(即校验和),可以改正信元序号字段中的单个错误并检测出现两个错误的情况。
当必须保留报文分界时使用P信元。指针(Pointer)字段用于给出下一段报文起始位置的偏移量。
四、AAL2
AAL1是针对简单的、面向连接的、实时数据流而设计的,除了具有对丢失和误入信元的检测机制外,它没有错误检测功能。对于单纯的未经压缩的音频或视频数据,或者其中偶尔有一些较重要的位的其他任何数据流都没有什么问题,AAL1就已经足够了。
对于压缩的音频或视频数据,数据传输速率随时间会有很大的变化。例如,很多压缩方案在传送视频数据时,先周期性地发送完整的视频数据,然后只发送相邻顺序帧之间的差别,最后再发送完整的一帧。当镜头静止不动并且没有东西发生移动时,则差别帧很小。其次,必须要保留报文分界,以便能区分出下一个满帧的开始位置,甚至在出现丢失信元或坏数据时也是如此。由于这些原因,需要一种更完善的协议。AAL2就是针对这一目的而设计的。
像在AAL1中一样,AAL2的会聚子层没有本身协议而SAR子层有本身协议。SAR信元的格式如下图:
AAL2的信元格式
序号SN(Sequence Number)字段用于记录信元的编号以便检测信元丢失或误入。信息类型IT(Information Type)字段用于指明该信元是报文的开始、中间或末尾。长度指示LI(Length Indicator)字段指明有效载荷是多大,单位为字节(有效载荷可能小于45字节)。最后,CRC字段是整个信元的校验和,可以检测出错误。
标准中并没有注明各字段的大小。据说在标准化进程的最后关头,委员会成员觉得AAL2有许多问题,以致不能投入使用,但为时已晚,没有办法组织标准化的进程。最后委员们去掉了所有的字段大小的设定以使正式标准能够按时颁布,但这样便没有人能够实际使用它。
五、AAL3/4
开始时,ITU为服务类C和D制订了不同的协议(服务类C和D分别是对数据丢失或出错敏感,但不具有实时性的面向连接和非连接的数据传输服务类)。后来ITU发现没有必要指定两套协议,于是便将它们合二为一,形成了一个单独的协议,即AAL3/4。
AAL3/4可以按两种模式进行操作,即流和报文。在流模式中不保留报文分界信息。以下将集中讨论流模式。在每种模式中都可能出现可靠的传输和不可靠的(即不保证可靠性)的传输。
AAL3/4具有一个其他协议中没有的性能--支持多路复用。AAL3/4的这一功能允许来自于一台主机的多个会话(如远程登录)沿着同一条虚电路传输并在目的端分离出来。使用一条虚电路的所有会话得到相同质量的服务,因为这是由虚电路本身性质所决定的。
和AAL1、AAL2不一样,AAL3/4具有会聚子层协议和SAR子层协议。从应用程序到达会聚子层的报文最大可达65535字节。首先将其填充为4的整数倍字节。接着加上头和尾信息。在会聚子层对保温进行了重构,并加上了头和尾信息后,便将报文传送给SAR子层,由SAR子层将报文分为最大44字节的数据片。
AAL3/4具有两层协议开销:每个报文需要增加8字节,每个信元增加4字节。总之,它是一种开销极大的机制,尤其是对短的报文。
六、AAL5
从AAL1到AAL3/4协议主要是由电信工业设计的并被ITU标准化,它没有太多地考虑计算机工业的要求。由于两个协议层所导致的复杂性及低效性,再加上校验和字段十分短(仅10位),使一些研究人员萌生了一个制订新的适配层协议的念头。该协议被称为简单有效的适配层SEAL(simple efficient adaptation layer),经过论证,ATM论坛接受了SEAL,并为它起名叫AAL5。
AAL5向其应用程序提供了几种服务。一种选择是可靠服务(即采用流控机制来保证传输,以防过载);另一种选择是不可靠服务(即不提供数据传输保证措施),通过选项使校验错的信元或者丢失或者传送给应用程序(但被标识为坏信元)。AAL5支持点到点方式和多点播送方式的传输,但多点播送方式未提供数据传输的保证措施。
像AAL3/4一样,AAL5支持报文模式和流模式。在报文模式中,应用程序可以将长度从1字节~65535字节的数据报传送到AAL层。当到达会聚子层时,将报文填充至有效载荷字段并加上尾部信息,选择填充数据(0字节~47字节),以使整个报文(包括填补的数据和尾部信息)为48字一节的整数倍。AAL5没有会聚子层头,只有一个8字节的尾。
用户到用户UU(User to User)字段不用于AAL层本身,而是为了自己的目的供更高一层(可能是会聚子层的特定服务子部分)使用,例如,排序或者多路复用。长度(Length)字段指出真正的有效载荷是多少,以字节为单位,不包括填充的字节数。0值用于终止未传送完毕的报文。CRC字段是基于整个报文的标准32位校验和,包括填充数据和尾部信息(CRC字段设置为0)。尾部的一个8位的字段留作将来使用。
报文交给SAR子层,然后发送出去。在SAR子层不增加任何头、尾信息,而是将报文分成48字节的单元,并将每个单元送到ATM层进行传输。它还通知ATM层将最后信元的PTI字段置为1,以便保留报文分界。(这时出现了一个问题:这是一种不正确的协议层混合体,因为AAL层不该使用ATM层的头部信息。)
AAL5较AAL3/4的主要优点是更加高效。虽然AAL3/4对每个报文只增加4字节的头信息,但它还要为每个信元增加4字节的头信息,因而使有效载荷的容量减少到44字节,对于长的报文,无效数据占8%。AAL5的每个报文有一个稍大的尾部(8字节),但每个信元无额外开销。信元中没有顺序号,可以通过长的校验和来弥补,从而可以检测丢失的、误插的或错误的信元,而不需要使用顺序号。
在因特网中,与ATM网接口的一般方法是使用AAL5的有效载荷字段来传输IP分组。与这种方法相关的各种问题在RFC 1483和RFC 1577中进行了讨论。
七、AAL协议的比较
各种AAL协议似乎不必要地相似,并且考虑得很不周到,把会聚子层和SAR子层区分开也是有疑问的,尤其是因为AAL5的SAR子层并无任何自己的特点。用稍微增强一些的ATM层头部信息来提供像排序、多路复用和数据分帧的功能便足够了。
AAL给人的整体印象是变体很多,变体之间存在很多细微的差别,而且尚未完工。原来的4个服务类A、B、C、D实际上已被废除。AAL1可能确实没有必要存在;AAL2不完整;AAL3和AAL4永无出头之日;AAL3/4效率低而且校验和字段位数太少。
将来的一切都依赖于AAL5,但到目前为止,AAL5尚有很多改进的余地。AAL5报文应该有一个顺序号和一位用于区分数据还是控制报文的标志位,从而可以成为一种可靠的传输协议。可以用尾部的未用空间来实现上述功能。
八、SSCOP--特定服务的面向连接协议
尽管有这么多不相同的AAL协议,但没有一种支持简单可靠的点到点的传输连接。需要这种服务的应用程序可以使用另一种协议--特定服务的面向连接协议SSCOP(service specific connection oriented protocol)。但是,SSCOP只是用于控制,不能用于数据传输。
SSCOP用户发送报文,每个报文都被赋予一个24位的顺序号。报文最大可达64KB,而且不能分开。它们必须按顺序传送。不像某些可靠的传输协议,它丢失报文时总是有选择性地进行重传而不是回到序号n,重传n以后的所有的报文。
SSCOP从根本上说是一种动态滑动窗口协议。对于每个连接,接收方保留准备接收报文序号的窗口,及标明该报文是否已经存在的位图(bitmap)。这个窗口在协议操作期间可以改变大小。
SSCOP的不寻常之处是对确认的处理方法:它没有捎带机制。取而代之的是发送方定期地查询接收方,要求它发送回表明窗口状态的位图。据此,发送方丢弃已被对方接收的报文并更新其窗口。
ATM网络结构和接口
一、ATM网络结构
ATM网可分为三大部分:公用ATM网、专用ATM网和ATM接入网。
公用ATM网是由电信管理部门经营和管理的ATM网,它通过公用用户网络接口连接各专用ATM网和ATM终端。作为骨干网,公用ATM网应能保证与现有各种网络的互通,应能支持包括普通电话在内的各种现有业务,另外还必须有一整套维护、管理和记费等功能。目前还没有一个商用的公用ATM网,有关公用ATM网的协议也正在不断地完善之中。
专用ATM网是指一个单位或部门范围内的ATM网,由于它的网络规模比公用网要小,而且不需要记费等管理规程,因此专用ATM网是首先进入实用的ATM网络,新的ATM设备和技术也往往先在ATM专用网中使用。目前专用网主要用于局域网互连或直接构成ATM LAN,以在局域网上提供高质量的多媒体业务和高速数据传送。
接入ATM网主要指在各种接入网中使用ATM技术,传送ATM信元,如基于ATM的无源光纤网络(APON)、混合光纤同轴(HFC)、非对称数字环路(ADSL)以及利用ATM的无线接入技术等。
二、ATM主要接口
1、UNI(User-Network Interface)
UNI为ATM网中的用户网络接口,它是用户设备与网络之间的接口,直接面向用户。UNI接口定义了物理传输线路的接口标准,即用户可以通过怎样的物理线路和接口与ATM网相连,还定义了ATM层标准、UNI信令、OAM功能和管理功能等。按UNI接口所在的位置不同,又可分为公用网的UNI和专用网的UNI(PUNI),这两种UNI接口的定义基本上是相同的,只是PUNI由于不必象公网的接口那样过多地考虑严格的一致性,所以PUNI的接口形式更多、更灵活、发展也更快一些。
2、NNI(Network to Network/Network Node Interface)
NNI可理解为网络节点接口或网络/网络之间的接口,一般为两个交换机之间的接口,与UNI一样,NNI接口也定义了物理层、ATM层等各层的规范,以及信令等功能,但由于NNI接口关系到连接在网络中的路由选择问题,所以特别对路由选择方法做了说明。同样,NNI接口也分为公网NNI和专用网中的NNI(PNNI),公网NNI和PNNI的差别还是相当大的,如公网NNI的信令为3、7号信令体系的宽带ISDN用户部分B-ISUP,而PNNI则完全基于UNI接口,仍采用UNI的信令结构。
3、B-ICI(BISDN Inter-Carrier Interface)
B-ICI定义为两个公用ATM网之间的接口,为分别属于两个运营者的UNI接口提供了连接,它的定义基于NNI接口,其特点是支持不同网络间的多种业务传送,包括基于信元的PVC方式业务、PVC方式的帧中继业务、电路仿真业务、SMDS以及SVC业务等。
4、DXI(Data Exchange Interface)
DXI定义在数字终端设备DTE和数字连接设备DCE之间,DTE通过DXI与DCE相连,再通过ATM UNI接口接入ATM网中,DCE完成了不符合ATM标准的数据终端到ATM的适配过程,相当于终端适配器。
5、FUNI(Frame Based UNI Interface)
FUNI的意义与DXI相似,FUNI将ATM适配功能完全移入了交换机内部,终端和ATM交换机之间传送FUNI帧,所以与基于信元的DXI接口相比,FUNI在接入线上有更高的效率。
在ATM网络支持IP
在过去十来年中,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的。其它内容这里不作介绍。
阅读(5452) | 评论(0) | 转发(1) |