文章目录
在【计算机网络】第二部分 物理层和介质(8) 交换中,已讨论了交换技术。有三种交换技术:电路交换、分组交换和报文交换。前面也提到,分组交换可以使用两种方法:虚电路方法和数据报方法。虚电路交换是共享链路的数据链路层技术。
这里讨论虚电路方法如何用于广域网。两种常用的WAN技术使用虚电路交换。
- 帧中继是一种相对高速协议
relatively high-speed protocol
,它能提供一些「在诸如DSL、有线TV和T线路等的其他WAN技术中没有的服务」。 - ATM作为一种高速协议
high-speed protocol
,当它部署诸如SONET的物理层载波physical layer carriers
时,可以成为通信高速公路。
先讨论帧中继,然后更详细地讨论ATM 。最后,说明「最初设计作为WAN技术的ATM技术」如何用于LAN技术,即ATM LAN。
18.1 帧中继
帧中继 Frame Relay
是一种虚电路广域网,是为了响应「20世纪80年代末和90年代初对新型广域网的需求」而设计的。
在帧中继之前,一些组织使用一种称为X.25的虚电路交换网,它在网络层中进行交换。例如,因特网需要广域网,将自己的分组从一个地方传输到另一个地方,就曾使用X.25。X.25仍然在因特网中使用,但是正在被其他广域网取代。X.25有几个缺陷:
- X.25具有 64 Kbps 64\textrm{Kbps} 64Kbps 的低数据速率。到 20世纪90年代,出现了对更高数据速率广域网的需求。
- X.25在数据链路层和网络层都提供了广泛的流量和差错控制。这是因为 X.25设计于20世纪70年代,那时的传输介质更容易出错。在这两个层中的流量和差错控制产生了大量的额外开销,并降低了传输率。对于在节点之间、以及源和目的地址之间传输的数据链路层帧和网络层分组,X.25都需要进行确认。
- X.25最初设计用于个人应用,而不是因特网。X.25有自己的网络层。这意味着,用户数据将被封装成X.25的网络层分组。然而,因特网有自己的网络层,这就意味着,如果想要使用X.25,因特网必须将自己的、称为数据报的网络层分组交付给X.25,封装成X.25的分组。这是双重的额外开销。
由于对X.25的失望,一些组织开始从公共服务提供商那里租用 T-1
或 T-3
线路组建自己的私有广域网。这种方法也有一些缺陷。
- 如果一个组织有
n
n
n 个部门分布在一个地区,就需要
n
(
n
−
1
)
/
2
n(n- 1)/2
n(n−1)/2 条
T-1
或T-3
线路。尽管可能使用这些线路只有 10 % 10\% 10% 的时间,但组织也必须为所有线路付费。这可能非常昂贵。 T-1
和T-3
线路提供的服务,假定用户在所有时间都有固定的数据速率。例如,T-1
线路是为那些以固定的 1.544 Mbps 1.544\textrm{Mbps} 1.544Mbps 使用线路的用户而设计的。这种类型的服务,并不适合现在的需要发送突发性数据bursty data
的许多用户。
例如,一个用户可能想要以 6 Mbps 6\textrm{Mbps} 6Mbps 的速度发送数据 2 2 2 秒, 7 7 7 秒不发送,以 3.44 Mbps 3.44\textrm{Mbps} 3.44Mbps 发送数据 1 1 1 秒,总共在 10 10 10 秒内发送 15.44 M 15.44\textrm{M} 15.44M 比特。尽管平均速度仍然是 1.544 Mbps 1.544\textrm{Mbps} 1.544Mbps ,但T-1
线路不能接受这种类型的需求,因为它是为固定速率的数据、而不是为突发性数据而设计的。突发性数据需要按需分配带宽bandwidth on demand
。用户在不同的时间里可能需要不同的带宽分配。
为解决以上缺陷,设计了帧中继。帧中继是广域网,它有以下特征:
- 帧中继以较高的速率(
1.544
Mbps
1. 544\textrm{Mbps}
1.544Mbps 以及最近的
44.376
Mbps
44.376\textrm{Mbps}
44.376Mbps)工作。这就是说,它可以容易地代替网状的
T-1
或T-3
线路。 - 帧中继只工作在物理层和数据链路层。这就是说,它可容易地用作主干网,为已经有一个网络层协议的协议提供服务,例如因特网。
- 帧中继允许突发性数据。
- 帧中继允许的帧大小为 9000 9000 9000 字节,这适合于所有的局域网帧。
- 帧中继比其他传统的广域网花费少。
- 帧中继仅在数据链路层有错误检测,没有流量或错误控制。当一个帧被破坏时,它甚至没有一个重发策略,该帧只是简单地被丢弃。使用这种方式设计帧中继,为「更可靠的介质」和「在更高层上有流量和差错控制的协议」提供更快的传输能力。
18.1.1 结构
帧中继提供永久虚电路和交换虚电路。图18.1展示了一个连接到因特网的帧中继网络的例子。使用路由器(第22章)来连接局域网和因特网中的广域网。在图中,帧中继广域网用作全球因特网的一条链路。
1. 虚电路
帧中继是一种虚电路网络。帧中继的虚电路是用称为数据链路连接标识符 data link connection identifier, DLCI
的一个数字来定义的。即帧中继中的 VCI
称为 DLCI
。
2. 永久虚电脑和交换虚拟电路
源和目的地址可能选择拥有一条永久虚电路 permanent virtual circuit, PVC
。这种情况下,连接建立就简单了。相应的表条目由管理员为所有的交换机建立(当然是远程地建立、并且是电子化地建立)。为源地址分配一个出的VCI outgoing DLCI
,为目的地址分配一个入的VCI incoming DLCI
。
PVC连接有两个缺点。首先,花费大,因为即使没有使用,连接的两方也需要为这个连接一直付费。其次,一条连接只在一个源地址和一个目的地址之间建立。如果源地址需要和多个目的地址连接,那么每个连接都需要一个PVC。
替代的方法是交换虚电路 switched virtual circuit, SVC
。SVC建立一个临时的、短的连接,该连接只存在于「源地址和目的地址的数据传输过程」中。像【计算机网络】第二部分 物理层和介质(8) 交换讨论的一样,SVC需要一个连接建立阶段和连接终止阶段。
3. 交换机
帧中继网络中的每个交换机都有一个用来路由帧的表。这个表将一个输入端口-DLCI组合 incoming port-DLCI combination
,与一个输出端口-DLCI组合 outgoing port-DLCI combination
相匹配,如在一般虚电路网络中描述的一样。区别仅是 VCI
被 DLCI
代替。
18.1.2 帧中继层
图18.2显示了帧中继层。帧中继仅有(工作在)物理层和数据链路层。
1. 物理层
帧中继中的物理层没有定义一个具体的协议。相反,它允许实现者使用可用的任何协议。帧中继支持任何可以被ANSI所识别的协议。
2. 数据链路层
在数据链路层,帧中继使用一个简单协议,它不支持流量控制和差错控制(这些必须由上层协议提供),它只有一个差错检测机制。图18.3给出了帧中继的帧的格式。
地址字段(
2
2
2 字节)定义了 DLCI
和一些用于控制拥塞的位。各个字段的描述如下:
- 地址
DLCI
字段:第一个字节的前 6 6 6 位构成DLCI
的第一部分,DLCI
的第二部分使用第二个字节的前 4 4 4 位。这些位是标准所定义的 10 10 10 位数据链路连接标识符的一部分。DLCI
的功能前面已经讨论过。在本节的最后,将讨论扩展地址。 - 命令/响应
command/response, C/R
:命令/响应位允许上层识别帧是命令还是响应。帧中继协议不用这一位。 - 扩展地址
extended address, EA
:扩展地址位表明当前字节是否是地址的最后一个字节。EA = 0
表示后面还跟着另外一个地址字节,EA = 1
则意味着当前字节是地址的最后一个字节。 - 前向显式拥塞通知
forward explicit congestion notification, FECN
:前向显式拥塞通知位可以由「所经过路径中的任何一个交换机」来设置,用来表示在帧传输方向上出现了拥塞。它通知目的站点发生了拥塞。用这种方式,目的站点知道可能将出现延迟或丢失分组。在第24章讨论拥塞控制时,讨论这一位的用法。 - 后向显式拥塞通知
backward explicit congestion notification, BECN
:后向显式拥塞通知位用于表示在帧传输相反的方向上出现了拥塞。它通知发送方发生了拥塞。用这种方式,发送方知道它应该放慢发送速度以防止丢失分组。在第24章讨论拥塞控制时,讨论这一位的用法。 - 可丢弃选择位
discard eligibility, DE
:可丢弃选择位指明帧的优先级。在紧急情况下,交换机可能需要丢弃一些帧来缓和瓶颈,并防止网络由于过载而崩溃。当设置DE
为 1 1 1 时,这个位通知网络:当发生拥塞时就丢弃该帧。该位可以由帧的发送方(用户)设置,也可以由网络中任何一个交换机设置。
18.1.3 扩展地址
为了增加 DLCI
的范围,帧中继地址从原先的
2
2
2 字节扩展到
3
3
3 字节或
4
4
4 字节。图18.4显示了不同的地址。注意,EA
字段定义了字节数,地址字段的最后一字节上 EA
为
1
1
1 ,其他字节中 EA
为
0
0
0 。注意,在
3
3
3 字节或
4
4
4 字节格式中,最后一位之前的位都设为
0
0
0 。
18.1.4 FRAD
为了处理从其他协议到达的帧,帧中继使用一种称为帧中继组装器/分解器 Frame Relay assembler/disassembler, FRAD
的设备。FRAD对来自其他协议的帧进行组装和分解,使它们成为帧中继的帧。一个FRAD可以作为独立的设备、或交换机的一部分来实现。图18.5显示了连接到帧中继网络的两个FRAD。
18.1.5 VOFR
帧中继网络提供一个称为帧中继语音 Voice Over Frame Relay, VOFR
的选项,它通过网络发送语音。语音用PCM数字化,然后压缩,其结果在网上作为数据帧发送。这个特性允许长距离廉价发送语音。然而请注意,语音的质量没有在电路交换网(如电话网)上好。另外,有时上面提到的可变延时也会破坏实时语音。
18.1.6 LMI
帧中继最初是为PVC连接而设计的,所以没有提供控制与管理接口。本地管理信息 Local management information, LMI
是为了提供更多的管理特性,才在最近加到帧中继协议中的一个协议。LMI能特别提供:
- 一个保活机制
keep-alive mechanism
,以检测是否有数据在传输。 - 一个多播机制
multicast mechanism
,允许一个本地终端系统向多个远程终端系统发送帧。 - 一个允许一个终端系统检测一个交换机状态(例如,查看交换机是否拥塞)的机制。
18.1.7 拥塞控制和服务质量
帧中继一个很好的特性是,提供了拥塞控制 congestion control
和服务质量 quality of service, QoS
。还没有讨论这些特性,但在【计算机网络】第五部分 传输层(24) 拥塞控制和服务质量中,将介绍网络的这两个重要方面,并且讨论在帧中继和其他网络中如何实现它们。
18.2 ATM
异步传输模式 Asynchronous Transfer Mode, ATM
是由ATM论坛设计的信元中继 cell relay
协议,并被ITU-T采纳。ATM和SONET的结合,将允许世界上的网络之间高速互连。实际上,ATM可以被设想为信息超高速公路上的"高速公路"。
18.2.1 设计目标
在ATM设计者所面临的所有挑战中,有六个方面非常突出。
- 首先,需要有一个传输系统来优化高速传输介质特别是光纤的使用。除了提供大的带宽外,新的传输介质和设备受噪声的影响显著降低,因此需要一种新的技术来同时利用这两个方面的优点,从而使数据速率达到最大。
- 系统必须提供与现有系统的接口,并且在不降低它们的效率、或者不更换它们的情况下,在它们之间提供广域互连。
- 设计必须能够廉价地实现,使价格不再成为采纳这种设计的一个障碍。如果ATM如预期的那样成为国际性通信的主干网,那么它必须以低价格提供给每个需要它的用户。
- 新系统必须能够支持现有的电信体系(本地环路、本地提供商和长途电信公司等)并和它们协同工作。
- 新系统必须是面向连接的
connection-oriented
,以确保准确和可预测的传输。 - 最后但并非最不重要的是,新系统的一个目标是:将尽可能多的功能转移到硬件上(为了提高速度),同时删除尽可能多的软件功能(同样为了提高速度)。
18.2.2 问题
在讨论这些设计需求的解决方法之前,分析现有系统存在的问题是很有必要的。
1. 帧网络
在ATM之前,数据链路层的数据通信是基于帧交换和帧网络的,不同协议使用大小和复杂性不同的帧。当网络变得更加复杂时,必须在帧头部携带的信息变得更加广泛。结果是相对于数据单元而言,头部越来越大。相应地,一些协议已经增大了数据单元头部的大小,使头部的使用更有效率(使用相同大小的头部而传输更多的数据)。但是,大的数据字段导致浪费。如果没有很多的信息要传输,这个字段的大部分将未被使用。为了提高利用率,一些协议给用户提供了可变长的帧。
2. 混合网络通信
可以想像,帧大小的变化导致通信量不可预测,交换机、多路复用器和路由器必须融合复杂的软件系统来管理不同大小的帧:必须阅读大量的帧头信息,并对每个位计数和求值来确保每个帧的完整性。在最好的情况下不同的帧网络之间的互连是慢而昂贵的,在最坏的情况下是不能实现的。
另外一个问题是,在帧大小不可预测且变化很大的情况下,如何提供稳定速率的传输?为了从宽带技术中获得最大好处,通信量必须被时分复用到共享的通路上。想像一下,将来自两个有不同需求(和帧设计)的网络中的帧,复用到同一条链路上(如图18.13),会出现什么结果?当线路
1
1
1 使用大的帧(通常是数据帧),而线路
2
2
2 使用非常小的帧(音频和视频信息标准 the norm for audio and video information
)时,将会发生什么情况呢?
如果线路
1
1
1 的巨大帧
X
X
X ,只比线路
2
2
2 的帧早一点到达多路复用器,多路复用器也将先把帧
X
X
X 放到新路径上。毕竟,即使线路
2
2
2 的帧有更高的优先级,多路复用器也无法知道应该等待它们的到来,而是处理已经到达的帧。因此帧
A
A
A 必须等待整个
X
X
X 的位流进入路径后,才能跟随进入。帧
X
X
X 的绝对大小导致了帧
A
A
A 的不正常延时。同样的不平衡可能影响从线路
2
2
2 来的所有帧。
因为语音和视频帧通常是很小的,将它们和传统的数据帧混合传输,往往导致这种类型帧的不可接受的延时,使得共享帧链路无法为语音和视频信息所使用。通信量必须经过不同的路径,这在很大程度上类似于汽车和火车的交通。但是,为了最大程度地利用宽带链路,我们需要在相同的链路上传输各种各样的通信量。
3. 信元网络
和帧互连网络有关的许多问题,可以通过采用称为信元网络 cell network
的概念来解决。一个信元是一个固定大小的小数据单元。在信元网络中,使用信元 cell
作为数据交换的基本单位,所有的数据都装载入相同的信元中,这些信元可以按照「完全可预测和统一的方式」进行传输。
当不同大小和格式的帧从分支网络到达信元网络时,它们被分割成相同大小的多个小数据单元,并装载入信元中。这些信元和其他信元多路复用、并路由通过整个信元网络。由于每个信元大小相同、并且都很小,因此避免了由于多路复用不同大小的帧所带来的问题。图18.7显示了图18.6中的多路复用器,其中两条链路发送信元而不是帧。帧
X
X
X 被分割成三个信元:
X
X
X 、
Y
Y
Y 和
Z
Z
Z 。链路
1
1
1 中只有第一个信元在链路
2
2
2 的第一个信元前发送。两条链路的信元将交织在一起,这样没有一个信元忍受漫长的延时。
这种情形的第二个优点是,链路的高速率和小信元相结合,这意味着如果不考虑交替 interleaving
,从每条链路出发的信元将以近似连续流的方式,到达各自的目的地 cells from each line arrive at their respective destinations in an approximation of a continuous stream
(就像一部电影看上去是连续的画面,而实际上是由一系列静止的图像所组成的)。在这种方法中,信元网络可以在双方完全没有意识到分段或复用的情况下,处理如电话呼叫等实时传输。
4. 异步TDM
ATM使用异步时分复用,处理来自不同通道的信元一一这就是为什么称为异步传输模式的理由。它使用固定大小的时隙(一个信元的大小)。
ATM复用器使用「来自任何输入通道的一个信元」填充一个时隙,如果通道没有发送的信元,则时隙为空。
图18.8显示了来自三个输入的信元是如何进行多路复用的。在第一个时钟节拍,通道
2
2
2 没有信元(空的输入时隙),因此多路复用器使用来自第三个通道的信元填充时隙。当所有通道中的所有时隙都被复用后,输出时隙为空。
18.2.3 结构
ATM是信元交换网络。用户访问设备(称为端点 endpoint
),通过用户到网络接口 user-to-network interface, UNI
连接到网络内部的交换机上,交换机通过网络到网络接口 network-to-network interface, NNI
彼此连接。图18.9显示了一个ATM网络的例子。
1. 虚连接
两个端点之间的连接是通过传输路径 TP
、虚路径 VP
和虚电路 VC
完成的。
- 传输路径
transmission path, TP
是一个端点与一个交换机、或者两个交换机之间的物理连接(电线、电缆、卫星等)。可将两个交换机看做两个城市,传输路径是直接连接两个城市的、所有高速公路的集合。 - 虚路径
virtual path, VP
:一个传输路径划分成几个虚路径。一个虚路径提供两个交换机之间的一条连接或连接的集合。可将一条虚路径看做连接两个城市的一条高速公路。每条高速公路是一个虚路径,所有高速公路的集合是传输路径。 - 信元网络基于虚电路
virtual circuit, VC
。属于同一报文的所有信元,沿着同一条虚电路传输,同时保持它们的原始次序,直到到达目的地。可以将虚电路看做高速公路的车道。
图18.17显示了传输路径(物理连接)、虚路径(由于部分路径相同而捆绑在一起的虚拟电路的集合)和虚电路(逻辑上连接两个端点 logically connect two points
)之间的关系。
为了更好地理解 VP
和 VC
的概念,看图18.11。在图中,八个端点用四个VC
通信。然而,前两个 VC
从交换机 I
到交换机 III
似乎共享同一虚路径,因此有理由捆绑这两个 VC
形成一条 VP
。另一方面,很显然,其余两个 VC
从交换机 I
到交换机 IV
共享同一虚路径,因此也有理由捆绑它们形成一条 VP
。
2. 标识符
虚电路网络中,为了从一个端点路由数据到另一个端点,需要标识该虚连接。为此,ATM设计者创建了一个两级的层次标识符(就是一对数字)用来定义一个虚连接:虚路径标识符 virtual path identifier, VPI
和虚电路标识符 virtual circuit identifier, VCI
。VPI
定义特定的 VP
,而 VCI
定义 VP
中特定的 VC
。VPI
对捆绑(逻辑上)成一个 VP
的所有虚连接都是相同的。
图18.12显示了一条传输路径的 VPI
和 VCI
。当讨论ATM网络的路由时,将一个标识符划分成两部分的基本原理就会清楚了。
注意,在 UNI
和 NNI
中,VPI
的长度是不同的。在 UNI
中,VPI
的长度是
8
8
8 位,而在 NNI
中是
12
12
12 位。VCI
的长度在两种接口中是相同的(都是
16
16
16 位)。因此,我们可以说,在 UNI
中,虚连接由
24
24
24 位确定,而在 NNI
中由
28
28
28 位确定(见图18.13)。
将虚连接标识符分割成两部分,其背后的整个思想是要允许层次路由。在一个典型的ATM网络中,大多数的交换机使用 VPI
来路由。而处于网络边界的、那些直接和端点设备交互的交换机,使用 VPI
和 VCI
来路由。
3. 信元
ATM网络中的基本数据单元称为信元。一个信元只有
53
53
53 字节长度,其中
5
5
5 个字节为头部,
48
48
48 个字节为有效载荷(用户数据可能少于
48
48
48 个字节)。我们详细讨论信元的各个字段,但当前只能说,信元头部的大部分被 VPI
和 VCI
占用,它们定义了虚连接,信元通过虚连接可以从一个端点传送到一个交换机,或者从一个交换机传送到另一个交换机。图18.14显示了信元的结构。
4. 连接建立与释放
像帧中继一样,ATM使用两种类型的连接:PVC
和 SVC
。
- PVC:永久虚电路连接是由网络提供商建立的两个端点之间的连接。
VPI
和VCI
是为了永久连接而定义的,它们的值输入到每个交换机的交换表中。 - SVC:在交换虚电路连接中,当一个端点想要和另一个端点连接肘,必须建立一条新的虚电路。ATM本身无法做到这件事,需要网络层地址和另一个协议(如IP)的服务。该协议的信令机制,利用两个端点的网络层地址做出一个连接请求。实际的机制依赖于网络层协议。
18.2.4 交换
ATM使用交换机将信元从源端点路由到目的端点。交换机使用 VPI
和 VCI
来路由信元。路由要求整个标识符 The routing requires the whole identifier
。图18.15显示了一个VPC交换机如何路由信元。VPI
为
153
153
153 、VCI
为
67
67
67 的信元到达交换机接口(端口)
1
1
1 。交换机检查它的交换表。该交换表每行存储六项信息:到达接口号、输入 VPI
、输入 VCI
以及对应的输出接口号、新的 VPI
和新的 VCI
。
交换机在表中找到接口
1
1
1 和 VPI
为
153
153
153 及 VCI
为
67
67
67 的表项,并发现对应的输出接口为
3
3
3 、VPI
为
140
140
140 和 VCI
为
92
92
92 。改变信元头部的 VPI
和 VCI
为
140
140
140 和
92
92
92 ,并通过接口
3
3
3 发送信元。
交换结构
交换技术创立了许多令人感兴趣的特性,以提高交换机处理数据的速度。我们已在【计算机网络】第二部分 物理层和介质(8) 交换讨论了交换结构。
18.2.5 ATM层 ATM Layers
ATM标准定义了三个层,从上到下依次为:应用适配层、ATM层和物理层(见图18.16)。
端点使用所有这三层,而交换机只使用底下的两层(见图18.17)。
1. 物理层
像以太网和无线局域网一样,ATM的信元可以在任何物理层介质中传输。
(1) SONET
ATM最初的设计是基于SONET(见【计算机网络】第三部分 数据链路层(17) 广域网SONET/SDH)作为物理层介质。SONET更受偏爱有两个原因。
- 首先,SONET介质的高速率反映了ATM的设计和基本原理。
- 其次,使用SONET可以清晰地定义信元的边界。SONET详细说明了指针的用法、以便于定义有效载荷的起始点。如果定义了第一个ATM信元的起始点,那么「同一有效载荷的其他信元」就可以很容易地确定,因为信元间没有间隙。只需要向前数 53 53 53 个字节,就可以找到下一个信元。
(2) 其他物理技术
ATM并没有限制物理层只能使用SONET。其他技术(甚至无线技术),都可能被使用。然而,信元边界的问题必须解决。一个解决方法是让接收方猜测信元的结尾,并将CRC(循环冗余码校验)应用于 5 5 5 字节的头部。如果没有错误,则以很高的概率正确地找到信元的结尾,倒数 52 52 52 个字节就找到了信元的起始点。
2. ATM层
ATM层 ATM layer
提供了路由、通信量管理、交换和复用服务 routing, traffic management, switching, and multiplexing services
。它按照以下方式处理输出通信:从AAL子层接收
48
48
48 字节的分段,然后通过添加
5
5
5 字节的头部,将它们转换成
53
53
53 字节的信元(见图18.18)。
ATM使用两种格式的头部:一种用于用户到网络接口 UNI
信元,另一种用于网络到网络接口 NNI
信元。图18.19以逐字节的形式显示了 ITU-T
所建议的头部格式(每一行代表一个字节)。
- 一般流量控制
Generic flow control, GFC
。 4 4 4 位的GFC
字段在UNI
层提供了流量控制。ITU-T
认为UNI
级的流量控制在NNI
级中是不必要的,因此,在NNI
的头部中,这些位被添加到VPI
中。较长的VPI
允许在NNI
级中定义更多的虚路径。这种附加的VPI
的格式尚未定义The format for this additional VPI has not yet been determined
。 - 虚路径标识符。
VPI
在UNI
信元中是 8 8 8 位的字段,而在NNI
信元中是 12 12 12 位的字段(见上文)。 - 虚电路标识符。
VCI
在两种帧中都是 16 16 16 位的字段。 - 有效载荷类型
Payload type, PT
。在 3 3 3 位的PT
字段中,第一个位定义了有效载荷是用户数据还是管理信息。最后 2 2 2 个位的解释取决于第一个位。 - 信元丢失优先级
Cell loss priority, CLP
。 1 1 1 位的CLP
字段是用来提供拥塞控制。只要还有CLP
为 0 0 0 的信元存在,CLP
设置为 1 1 1 的信元就必须保留。在传输层(24) 拥塞控制和服务质量讨论ATM网络的拥塞控制和服务质量。 - 头部纠错码
Header error correction, HEC
。HEC
是对头部前 4 4 4 个字节计算出来的校验码,它是除数为 x 8 + x 2 + x + 1 x^8+x^2+x+1 x8+x2+x+1 的CRC码,用来纠正单个位错误和大部分的多个位错误。
3. 应用适配层
应用适配层 application adaptation layer, AAL
设计用来支持两个ATM概念。首先,ATM必须接受任何类型的有效载荷,不论是数据帧还是位流。一个数据帧可能来自上层协议,这些协议发送给承载网络(如ATM)的帧都有清晰的定义。一个很好的实例是因特网。ATM也必须携带多媒体有效载荷。它能接受连续位流,把它们分成块,然后在ATM层再封装到一个信元中。AAL使用两个子层来完成这些任务。
不论数据是数据帧还是位流,有效载荷都必须分割成
48
48
48 字节的分段、以被信元携带。在目的端,这些分段需要重组、以重新生成初始的有效载荷。AAL定义了一个称为分割与重组 segmentation and reassembly, SAR
的子层来做这个工作。在源端拆分,在目的端重组。
在 SAR
将数据拆分之前,必须保证数据的完整性。这个工作由一个称为会聚子层 convergence sublayer, CS
的子层来完成。
ATM定义了四个版本的AAL:AAL1, AAL2, AAL3/4, AAL5
。
(1) AAL1
AAL1
支持按照恒定比特率传输数据的应用,如视频和音频。它允许ATM和现有的数字电信网络(如语音通道和T线路)相连接。图18.20显示了一个数据位流,如何被拆分成
47
47
47 字节的块,并被封装到信元中。
CS
子层将位流划分成
47
47
47 字节的分段,并传递给下面的 SAR
子层。注意,
CS
子层并没有添加头部。SAR
子层添加
1
1
1 字节的头部,并将这个
48
48
48 字节的分段传递给ATM层。这个头部有两个字段:
- 序列号
SN
。这个 4 4 4 位的字段定义了一个序列号来为位排序。第一个位用于定时,其余 3 3 3 个位(以 8 8 8 为模)用于排序。 - 序列号保护
SNP
。第二个 4 4 4 位字段保护第一个字段。前 3 3 3 个位自动纠正SN
字段。最后一个位是奇偶位,用来检测所有 8 8 8 位的错误。
(2) AAL2
AAL2
最初打算用来支持可变数据率的位流,但它已经被重新设计了。它现在用于低比特率通信和短帧通信,如音频(压缩或未压缩)、视频或者传真。AAL2
应用的一个很好的例子是应用在移动电话中。AAL2
允许将短帧多路复用到一个信元中。
图18.21显示了将来自一个源端(一个移动电话用户)或几个源端(几个移动电话用户)的短帧,封装成一个信元的过程。
CS
层的开销包括五个字段:
- 通道标识符
CID
: 8 8 8 位的CID
字段定义了短分组的通道(用户)。 - 长度指示符
LI
: 6 6 6 位的LI
字段指明了最后多少个分组是数据。 - 分组有效载荷类型
PPT
:PPT
字段定义了分组的类型。 - 用户到用户指示符
UUI
:UUI
字段可以用于端到端的用户end-to-end users
。 - 头部纠错码
HEC
:最后 5 5 5 位用于头部的纠错。
SAR
层唯一的开销是开始字段 SF
,它定义了从分组起点的偏移量 defines the offset from the beginning of the packet
。
(3) AAL3/4
最初,AAL3准备用来支持面向连接的数据服务,而AAL4用来支持无连接的数据服务。然而,当它们进一步发展后,人们发现这两个协议的基本问题是相同的,因此它们被合并成一个格式,称为AAL3/4 。图18.22显示了AAL3/4子层。
CS
层的头部和尾部包括六个字段:
- 公共部分标识符
CPI
。CPI
定义了后继的字段是如何解释的。目前的值是 0 0 0 。 - 开始标记
Btag
。这个字段的值在每个信元中都重复,用来确定所有信元在同一分组中的起始位置。这个值和Etag
(见下面)一样。 - 缓存区分配大小
BAsize
。 2 2 2 字节的BA
字段,告诉接收者即将到来的数据需要多大的缓存区。 - 对齐
AL
。 1 1 1 字节的AL
字段是用来使尾部的剩余部分保持 4 4 4 字节长。 - 结束标记
Etag
。 1 1 1 字节的ET
字段用做一个结束标记。它的值和开始标记的一样。 - 长度
L
。 2 2 2 字节的L
字段指明了数据单元的长度。
SAR
层的头部和尾部包括五个字段:
- 分段类型
ST
。 2 2 2 位的分段类型标识符,说明了分段在报文中的位置:开头 00 00 00 、中间 01 01 01 或者结尾 10 10 10 。一个单分段的报文single-segment message
的ST
是 11 11 11 。 - 序列号
SN
。这个字段和先前定义的一样。 - 多路复用标识符
MID
。 10 10 10 位的MID
字段识别来自不同数据流、并在同一个虚电路上复用的信元。 - 长度标识符
LI
。这个字段定义了分组中多少是数据,而不是系统填充的。 - CRC。尾部的最后 10 10 10 位是整个数据单元的CRC。
(4) AAL5
AAL3 /4提供了综合的排序和差错控制机制,这并不是在每个应用中都是必须的。对于这些应用,ATM的设计者提供了第五种 AAL
子层,称为简单有效适配层 simple and efficient adaptation layer, SEAL
。AAL5
假设所有属于单个报文的信元顺序发送,并且控制功能已经包含在发送应用的上层中了。图18.23显示了AAL5子层。
CS
层中有四个尾部字段:
- 用户到用户
UU
。如前所述,这个字段由终端用户使用。 - 公共部分标识符
CPI
。这个字段和先前定义的一样。 - 长度
L
。 2 2 2 字节的L
字段指明了原始数据的长度。 - CRC。最后 4 4 4 字节用于整个数据单元的差错控制。
18.2.6 拥塞控制和服务质量
ATM有很先进的拥塞控制和服务质量,在【计算机网络】第五部分 传输层(24) 拥塞控制和服务质量讨论。
18.3 ATM局域网
ATM主要用于广域网 WAN ATM
,然而,该技术也适用于局域网 ATM LAN
。高速数据速率技术(
155
Mbps
155 \textrm{Mbps}
155Mbps 和
622
Mbps
622 \textrm{Mbps}
622Mbps)吸引了众多「寻求在局域网中实现更高速数据传输的设计者」的注意力。另外,ATM技术有几大优势,使其成为构建高速局域网的理想选择:
- ATM技术支持两个终端用户间的不同类型的连接,而且它支持永久的和暂时的连接。
- ATM技术支持不同应用的、多种带宽条件下的多媒体通信。它能保证用于实时视频的每秒几 M M M 比特的带宽。而且它还能给非高峰时间内的文件传输提供支持。
- ATM局域网很容易适应机构扩充的需要。
18.3.1 ATM局域网体系结构
如今,我们有两种办法将ATM技术集成到一个局域网体系结构中:创建一个纯 ATM局域网 pure ATM LAN
,或继承ATM局域网 legacy ATM LAN
。图18.24说明了这种分类法。
1. 纯ATM体系结构
在纯ATM体系结构中,用一台ATM交换机来连接一个局域网中的多个工作站,其连接方式与「多个工作站连接到一台以太网交换机的方式」完全一样。图18.25说明了这种情况。
按这种方式,工作站以ATM技术(
155
Mbps
155 \textrm{Mbps}
155Mbps 和
652
Mbps
652 \textrm{Mbps}
652Mbps)中的两个标准速率之一,进行数据交换。然而,工作站使用了虚路径标识符 virtual path identifier, VPI
和虚连接标识符 virtual connection identifier, VCI
、而非源和目的地址。
这种方法有一个严重的缺陷。该系统需要完全从最基础的水平开始构建,现存的局域网不能升级为纯ATM局域网。
2. 继承局域同体系结构
第二种方法是将ATM技术用做连接传统LAN的主干网。图18.26说明了这种继承ATM局域网的体系结构。
按这种方式,「同一局域网上的工作站」能以传统局域网(以太网、令牌环等)的数据速率和数据格式来交换数据,而当「位于两个不同局域网上的两个工作站」需要交换数据时,它们却需要一种转换装置来变换帧格式。此处的优势是,来自多个局域网的输出可以多路复用到一起,用来给ATM交换机创建一条具有高数据速率的输入数据流。但首先必须解决其中的几个问题。
3. 混合体系结构
最好的解决方案可能是将前面两个体系结构结合起来。这意味着既可保留现存的局域网,同时又可允许新的工作站直接连接到ATM交换机上。混合体系结构周域网 rnixed architecture LAN
通过「增加更多的与交换机直接相连的工作站」的方式,允许将继承局域网逐步移植到ATM局域网上。图18.27说明了这种体系结构。
另外,一个特定局域网上的工作站,能够运用「该特殊局域网中的数据格式和数据速率」进行数据交换,与ATM交换机直接相连的多个工作站能运用ATM帧交换数据。
然而,问题是:「传统局域网中的工作站」如何与「直接连接到ATM交换机上的工作站」进行通信呢?反过来情况又如何呢?下面可以看到该问题是如何得到解决的。
18.3.2 局域网仿真
从表面上看,在局域网中应用ATM技术似乎是非常自然的事情。然而,这种相似性只限于表面,实际上要实现这一点,有许多问题需要解决,现将其归纳如下:
- 无连接与面向连接。诸如以太网这样的传统局域网是应用无连接协议的。无论何时只要分组准备好了,一台工作站就可将其发送到另一台工作站。这里就没有连接建立和连接终止阶段。另一方面,ATM是一种面向连接的协议。一台要给另一台工作站发送信元的工作站应该首先建立连接,并且在所有的信元发送完毕之后终止该连接。
- 物理地址与虚电路标识符。与第一个问题紧密联系的另一个问题是两者寻址间的差异。诸如以太网这样的无连接协议,通过源地址和目的地址来确定分组的路由,而对于诸如ATM这样的面向连接的协议,则是通过虚连接标识符
VPI
和VCI
来确定信元的路由的。 - 多播和广播传递。诸如以太网这样的传统局域网能多播和广播分组,一个工作站能给一组工作站、或所有的工作站发送分组。然而,即使在ATM网络中能实现一点对多点的连接,但要在它上面进行多播或广播也不容易。
- 互操作性。在混合体系结构中,一台连接到继承局域网的工作站应该能够与一台直接连接到ATM交换机的工作站进行通信。
一种称为局域网仿真 local area network emulation, LANE
的方法,可以解决上面所提到的问题,该方法允许一个混合体系结构中的多个工作站相互进行通信。该方法运用了仿真的思想,多个工作站可以使用一种无连接服务来模拟一种面向连接的服务。工作站将源地址和目的地址用于初始连接,然后运用 VPI
和 VCI
进行寻址。而且,该方法还允许各工作站使用单播、多播和广播地址。最后,在帧通过交换机发送之前,该方法使用继承格式将帧转换成ATM信元。
18.3.3 客户服务器模型
LANE被设计为客户/服务器模型 client/server model
,用来处理前面所讨论的四个问题。该协议使用一种类型的客户机和三种类型的服务器,如图18.28所示。
所有的ATM工作站都将局域网仿真客户 LAN emulation client, LEC
软件安装在三个ATM协议之上。上层协议并没有意识到ATM技术的存在,这些协议将其请求发送到 LEC
,以请求一种局域网服务,如运用MAC单播、多播或广播地址进行的无连接数据传输服务。然而,LEC
仅解析该请求,并将结果传递到服务器中。
1. 局域网仿真配置服务器
局域网仿真配置服务器 LAN emulation configuration server, LECS
用于客户机和LANE之间的初始连接。服务器总是等待接收初始连接。它有一个公开的ATM地址,并且系统中每个客户端都知道该地址。
2. 局域网仿真服务器
局域网仿真服务器 LAN emulation server, LES
软件安装在 LES
上。当一台工作站根据物理地址接收到「一个将要发送到另一台工作站的帧」时,LEC
就给LES
发送一个特殊的帧。服务器就在源和目的工作站之间创建一条虚电路,此时,源工作站就能使用这条虚电路(和相应的标识符),给目的工作站发送一个或多个帧。
3. 广播/未知服务器
多播和广播要求使用另一台称为广播/未知服务器 broadcast/unknown server, BUS
的服务器。如果一台工作站需要给一个工作站组、或每台工作站发送一个帧时,它首先将该帧发送到 BUS
。该服务器具有到每台工作站的永久虚连接。此时该服务器就创建所接收帧的多个拷贝,并将其中一个拷贝发送到一组工作站或所有的工作站,来模拟多播或广播过程。该服务器还能通过将帧发送到每台工作站的方式来传递单播帧。在此情况下,目的地址是未知的。有时这样做,比从 LES
获取连接标识符更为高效。
18.3.4 具有客户服务器的混合体系结构
图18.29说明了一个混合体系结构ATM局域网中的客户机和服务器。图18.29中,有三种类型的服务器连接到了ATM交换机上(实际上,它们可以是交换机的一部分)。而且图中还有两种类型的客户机。设计用于发送和接收LANE通信的工作站
A
A
A 和工作站
B
B
B ,直接与ATM交换机相连。传统的继承局域网中的工作站
C
,
D
,
E
,
F
,
G
,
H
C,D, E, F, G, H
C,D,E,F,G,H 都通过一个转换器连接到交换机上,这些转换器充当 LEC
客户机,并代表它们所连接的工作站进行通信。