文章目录
在【计算机网络】第二部分 物理层和介质(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 字节扩展到