数据链路层交换

网桥

使用网桥的常见情形:

1. 许多大学和公司部门都有自己的 LAN,这些 LAN 主要将部门内部的个人计算 机、服务器和其他设备(比
如打印机〉连接起来。由于各个部门的目标不同,所以,不同 部门可能选择了不同的 LAN,往往不会顾及其他
部门正在做什么。但迟早各部门需要相互 沟通,所以需要网桥。在这个例子中,之所以存在多个 LAN 的原因
在于各个部门自治管理自己的内部网络。 

2. 一个组织可能在地理上分布在几个楼宇,这些楼宇之间有一定的距离。在每个楼内有一个独立的 LAN,然
后通过网桥和光纤链路将这些 LAN 连接起来,这种做法比起 把全部电缆连到一个中央交换机要经济实惠得
多。即使很容易做到铺设线缆,也还要受到 线缆长度的限制(比如,对于千兆以太网来说双绞线的长度不得超
过 200 米〉。因为过大的信号衰减或来回延迟,网络无法在长距离的线缆上工作。唯一的办法是把 LAN 进
行划分, 井安装网桥连接每个分区,以此增加网络覆盖的总物理距离。

3. 有时候可能有必要将一个逻辑上的单个 LAN 分成多个独立的 LAN C用网桥连接〉以便适应网络的负载。
例如,在许多综合大学中,需要几千台工作站供学生和教师使 用。公司也可能拥有上千名员工。这种系统的规
模很大,因而不适合把所有的工作站都放 在一个 LAN 上一一因为需要上网的计算机数目远大于任何以太网
集线器的端口数,或者 说站的数目多于单个经典以太网所允许的最大站数。

两个局域网桥接在一起的拓扑结构

两个局域网桥接在一起的拓扑结构

网桥内部工作过程

每个网桥工作在混杂模式下,也就是说,它 接受隶属于每个端口的站发送的帧。网桥必须决定是否转发或丢弃收到的每一帧,而且, 如果是前者还要决定在哪个端口传输帧。做出决定的依据是帧的目标地址。

每个网桥配备了一个大的(哈希)表。该表列出每个 可能的目的地以及它隶属的输出端口。当网桥被第一次接入网络时,所有的哈希表都是空的。没有一个网桥知道哪个目标地 址该往哪里去,因此网桥使用了一种泛洪算法 Cflooding algorithm):对于每个发向未知目 标地址的入境帧,网桥将它输出到所有的端口,但它来的那个输入端口除外。随着时间的 推移,网桥将会样习到每个目标地址在那里。一旦知道了一个目标地址,以后发给该地址 的帧只被放到正确的端口,而不再被泛洪到所有端口。

当打开、关闭或者移动机器和网桥时,网络的拓扑结构会发生变化。为了处理这种动 态的拓扑结构,一旦构造出一个哈希表项后,帧的到达时间也被记录在相应的表项中。

对于一个入境帧,它在网桥中的路由过程取决于它从哪个端口来(源端口),以及它要 往哪个目标地址去(目标端口)。整个转发过程如下:
(1) 如果去往目标地址的端口与源端口相同,则丢弃该帧。
(2)如果去往目标地址的端口与源端口不同,则转发该帧到目标端口。
(3)如果目标端口未知,则使用泛洪法,将帧发送到所有的端口,除了它入境的那个。

中继器/集线器/网桥/交换机/路由器和网关

设备的工作层次

  • 中继器
    是模拟设备,主要用来处理自己所连的线缆上的信号。在 一个线缆上出现的信号被清理、放大,然后再被放到另一个线缆上。中继器并不理解帧、 数据包或帧头,它们只知道把比特编码成电压的符号。例如,在经典以太网中,为了将电 缆的最大长度从 500 米扩展到 2500 米,以太网允许最多使用 4 个中继器来增强信号。

  • 集线器
    有许多条输入线路,它将这些输入线路连接在一起。从任何 一条线路上到达的帧都被发送到所有其他的线路上。如果两帧同时到达,它们将会冲突, 就好像它们在同一根同轴电缆上遇到后发生碰撞一样。连接到同一个集线器上的所有线路 必须以同样的速度运行。

  • 网桥
    连接两个或多个局域网。跟集线器一样,一个现代网桥有多个端 口,通常具有 4~48 条某种类型的输入线。与集线器不同的是网桥的每个端口被隔离成它 自己一个冲突域:如果端口是全双工的点到点线路,则需要用到 CSMA/CD 算法。当到达 一帧时,网桥从帧头提取出帧的目的地址,并用该地址查询一张应该把帧发往哪里去的表。网桥比集线器提供了更好的性能,隔离网桥端口还意味着输入线路可以不同的速度运 行,甚至可以是不同的网络类型。

  • 交换机
    是现代网桥的另一个称呼。它们的差异更多地体现在市场上而不是技术方面。发网桥时正是经典以太网被广泛使用之际, 网桥倾向于连接相对数目较少的局域网,因而端口数也相对较少。现代交换机的安装都使用了点到点链接(例如双绞线),单个计算机通过双 绞线直接插入到交换机端口,因此交换机的端口数往往有许多个。最后,“交换机”也可作 为一般术语使用。使用网桥,功能是明确的。另一方面,交换机可以指以太网交换机,也 可以指一个完全不同类型的转发决策设备,例如电话交换机。

  • 路由器
    当一个数据包进入到路由器时,帧头和帧尾被剥掉,帧的有 效载荷宇段中的数据包被传给路由软件。路由软件利用数据包 的头信息来选择输出线路。对于一个 IP 数据包,包头将包含一个 32 位 CIPv4)或者 128 位 CIPv6)地址,而不是 48 位的 IEEE 802 地址。该路由软件看不到帧地址,甚至不知道 数据包来自哪个 LAN 或哪条点到点线路。

  • 传输网关
    它们将两台使用了不同面向连接传输协议的计算 机连接起来。例如,假设一台计算机使用了面向连接的 TCP/IP 协议,另一台计算机使用了 一个不同的面向连接传输协议一一-SCTP,现在它们需要通话。于是,传输网关将数据包从 一个连接复制到另一个连接上,并且根据需要对数据包重新进行格式化。

  • 应用网关
    能理解数据的格式和内容,并且可以将消息从一种格式转换为另一种 格式。例如,电子邮件网关可以将 Internet 邮件转译为移动电话的 SMS 消息。与“交换机”一样、术语“网关”也是一个通用术语。它是指一个运行在较高层次的转发进程。