分组交换 第三章
第二章讲述的直接相连的网络有两个局限性:第一,该网络限制可以连接到网络上的主机数。第二,这种网络限制一个单独的网络能跨越的地区范围。
计算机网络使用分组交换机(packet switch
),使分组能从一台主机传输到另外一台主机上,即使这些主机没有直接相连。
争用(contention
):如果指定的分组到达交换机的某个输出端口,并且分组到达的速率超出该输出端口的能力,就会产生争用问题。
分组转发技术分为无连接的和面向连接的两大类。
有两个特殊的技术需要详细说明,第一种是局域网交换技术(LAN switching
)技术,它由以太网的网桥(bridging
)发展而来,并成为当前局域网环境中居于支配地位的技术之一。第二章值得注意的交换技术是异步传输模式(Asynchronous Transfer Mode,ATM
),它广泛的应用于电信服务提供商的广域网中。
3.1 交换和转发
交换是一种允许我们互联链路以形成一个更大规模网络的机制。
交换网比共享介质网更具有可扩展性(scalable
),即具备增加更多节点的能力,因为交换网支持更多主机以完全链路速度传输数据。
交换机被连接到许多链路上,为了与链路的另一端的节点进行通信,每一条链路都运行相应的数据链路协议。一般的,我们假设每条链路分成输入和输出两部分,因此即支持输入,也指出输出。
问题是:交换机如何决定把每个分组放到哪一个输出端口上呢?
一般的解决方法是交换机查看分组首部的标识符。
第一种称为数据报(datagram
)或称为无连接(connectionless
)的方法,第二种是虚电路(virtual circuit
)或称为面向连接(connection
)的方法。第三种方法不如前两种常用,称为源路由选择(source routing
)。
所有的网络都需要有一种方法来标识端节点,这种方法通常称为地址,例如以太网中使用的48位MAC地址。
我们所需要做的另外一种假设就是有一些方法用来标识每台交换机的输入和输出端口。至少有两种实用的方法标识端口:一种是给每个端口进行编号,另一种是用输入和输出端口所连接的节点的名字标识来识别端口。现在,我们采用给端口编号的方法。
3.1.1 数据报
每个分组都带有足够的信息,使得任何一个交换机都能决定怎么样使它到达目的地。这就是说,每个分组都导游完整的目的地址。交换机需要查阅转发表(forwarding table
)有时也称为路由表(routing table
)。
数据报(无连接)网络有以下特点:
- 一台主机无论何时都可以发送分组,因为任何到达交换机的分组都能够立即转发。
- 当一台主机发送分组的时候,主机无法知道网络是否可以传送该分组或目的主机是否可以接收
- 每个分组的转发都是独立于前面的分组的。可能沿着完全不同的路径。
- 当一台交换机或一段链路出现故障时,会在故障点周五找到一条可替代的路径,并相应地更新转发表,那么对通信部会产生任何严重的影响。
3.1.2 虚电路交换
首先在源主机与目的主机之间建立一条虚连接,之后再发生数据。
在建立连接阶段,需要在源主机和目的主机之间的每一个交换机上建立“连接状态”,连接状态由连接经过的每个交换机的VC(Virtual Circuit
)表。
在一个交换机上的VC表中的一条记录包括:
- 虚电路标识符(Virtual Circuit Identifier,VCI
),在这个交换机上唯一标识连接,并且将放在属于这个连接的分组首部内传送;
- 由这个VC到达交换机的分组的输入接口;
- 从这个VC离开交换机的分组的输出接口
- 用于输出分组的一个可能不同的VCI
有两大类方法建立连接状态,一类是由网络管理员配置连接状态,这样的虚电路是”永久的”,自然,管理员也可以删除它,因此永久虚电路(Permanent Virtual Circuit,PVC
)最好看作长期生存的或可管理配置的VC。另一类是主机能够发送消息给网络,建立连接状态,发送的消息称为信令(signalling
),这样建立的虚电路称为是交换的(switched
)。一个交换的虚电路(SVC)的突出特性是主机可以动态的建立和删除这个虚电路,而不需要网络管理员的参与。
虚电路技术最流行的例子是帧中继和异步传输模式(ATM),帧中继的应用之一是构造虚拟专用网(Virtual Private Network)。
3.1.3 源路由选择
由源主机提供通过网络交换分组时所需的全部网络拓扑结构信息。
实际上源路由选择有各种不同的方法。一种方法是给每个交换机的每个输出端口编号,把编号放入分组的首部。
3.2 网桥(bridge)和局域网交换机
在共享介质局域网(如以太网)中转发分组的一类交换机(通称为局域网交换机,历史上也被称为网桥)。
假设现有两个想要互联的以太网,你必须做的第一件事是在他们之间放一个中继器,但任一对主机之间最多只能有2个中继器。所以,必须在两个以太网之间放一个节点,由节点来转发从一个以太网到另外一个以太网的帧。
由一个或多个网桥连接的LAN集合通常称为扩展局域网(extended LAN)。
网桥仅在他们输入端口上接收局域网的帧,并在所有其他输出端口上讲这些帧转发出去。
3.2.1 学习型网桥
优化:不需要转发所有收到的帧。
建立转发表。
3.2.2 生成树算法
问题:扩展局域网产生环路,造成帧永远在扩展局域网中循环。
让网桥运行一个分布式生成树算法(spanning tree
)。
3.2.3 广播和多播
广播:每个网桥将带有目标广播地址的帧转发到除了接收它的端口以外的其他活动的端口。
多播:组M的每个成员主机都必须定时的发送一个帧,在首部的源字段中携带组M的地址,这个帧的目标地址就是网桥的多播地址。
3.2.4 网桥的局限性
局限
只能用来连接少数相似的LAN,当我们考虑到可扩展性和异构性问题时,这种局限性就变得很明显。
可扩展性
网桥连接过多LAN是不现实的,一般情况下不多于几十个。首先,因为生成树算法是线性扩展的,即没有为扩展局域网提供分层结构。另一个原因是网桥转发所有的广播帧,太大范围内的所有主机不可能都愿意受到相互广播信息的打扰。所以,广播的规模不能太大。
异构性
网桥完全受限于他们所能互联的网络的类型,特别是网桥使用网络帧的首部,因此只能支持那些地址格式相同的网络。
增强扩展局域网的可扩展性的一种方法是虚拟LAN(VLAN)。VLAN允许一个扩展局域网被划分成几个看起来独立的LAN,给每个VLAN赋一个标识符,只要当两个网段有相同的标识符时,分组才能从一个网段传送到另外一个网段。这样可以限制接收任何给定广播分组的扩展局域网上的网段数目。
3.3 信元交换 ATM
ATM是一种面向连接的分组交换技术。按照ATM的术语,连接建立阶段称为发信令(signalling
),同时在路径中的各个交换机中分配资源,这样做是为了保证电路具有特别的服务质量QoS
。
与ATM网络中与众不同的一点事,用于交换的分组长度是固定的。一个分组是53个字节,5字节为首部信息,紧接48字节的有效载荷。
为了区分固定长度的分组和计算机网络中更常用的可变长度的分组,我们给定长的分组取名为信元(cell
)
3.3.1 信元
分组长度可变优点。
- 第一,发送小字节时,不必为发送而填充任何额外的信息。
- 第二,发送大文件时,可以降低首部字节数与数据字节数的比例,由此提高带宽利用率。同时,也可以使发送分组的总量减少,从而减少每分组操作的处理量。这一点对于获得高吞吐量来说非常重要,因为许多网络设备不受每秒能够处理多少个比特的限制,而是受到每秒能处理多少个分组的限制。
信元长度不可变的优点
- 构建硬件来做简单的工作比较容易
- 所有分组长度相同,那么,可以让多个交换单元以并行方式做同样的事,他们中的每一个交换单元都花费相同时间去完成自己的工作。
3.3.2 分段和重组
到目前为止,我们假设低层协议正好能接收高层协议传下来的分组,然后给分组加上首部信息,再继续向下传。然而,在ATM中这是不可能的,因为从上层传下来的分组经常大于48字节。故需要把高层的信息在源节点分段(fragment
)成低层的分组,通过网络传输单独的低层分组,然后在目的地重组起来(reassembly
)。
3.3.3 虚路径
ATM使用24位标识符标明虚电路。并且分为两部分,8位虚路径标识符(VPI)和16位虚电路标识符(VCI)。这样一来在标识符中建立虚连接的两级层级结构。
优点:尽管有成千上万条通过公用网的虚连接,但是公用网中交换机就像只有一条连接一样工作(只识别8位VPI)。
3.4 实现和性能
3.4.1 端口
端口的任务之一就是处理真实世界的复杂事物以便网状结构处理其中相对简单的工作。
另一个关键功能是缓存。
3.4.2 网状结构
- 共享总线 (
Shared-bus
) - 共享内存 (
Shared-memory
) - 纵横式 (
Crossbar
) - 自选路由 (
Self-routing
)