第6章:链路层和局域网

SyEic_L Lv4

两种类型的链路层信道

  • 广播信道,用于连接无线局域网、卫星网和混合光纤同轴电缆接入网中的多台主机
  • 点对点通信链路,经常出现在诸如长距离链路连接的两台路由器之间,或用户办公室计算机与它们所连接的临近以太网交换机之间等场合

1.链路层概述

运行链路层协议的任何设备均称为节点(node),包括主机、路由器、交换机和WiFi接入点

沿着通信路径连接相邻节点的通信信道称为链路(link)

在通过给定的链路时,传输节点将数据报封装在链路层帧中,并将该帧传送到链路中

链路层提供的服务

  • 成帧(framing):在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧封装起来。一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中,帧的结构由链路层协议规定
  • 链路接入:介质访问控制(Medium Access Control, MAC)协议规定了帧在链路上传输的规则,MAC协议比较简单,无论何时链路空闲,发送方都能够发送帧
  • 可靠交付:链路层的可靠交付服务通常通过确认和重传取得,常用于易于产生高差错率的链路。对于低比特差错的链路,被认为是一种不必要的开销,因此许多有线的链路层协议不提供可靠交付服务
  • 差错检测和纠正:比运输层和网络层复杂,用硬件实现

链路层在何处实现

网络适配器

部分链路层是在运行于主机CPU上的软件实现的,链路层的软件组件实现了高层链路层功能

2.差错检测和纠正技术

比特级差错检测和纠正(bit-level error detection and correction),即对从一个节点发送到另一个物理上连接的邻近节点的链路层帧中的比特损伤进行检测和纠正,通常是链路层提供的两种服务

在发送节点,为了保护比特免受差错,使用差错检测和纠正比特(Error-Detection and-Correction, EDC)来增强数据D,要保护的数据不仅包括从网络层传递下来的需要通过链路传输的数据报,而且包括链路帧首部中的链路级的寻址信息、序号和其他字段

即使采用差错检测比特,也还是可能由未检出比特差错(undetected bit error)

差错检测与纠正场景

3种技术:

  • 奇偶校验(用来描述差错检测和纠正背后隐含的基本思想)
  • 检验和方法(更多应用于运输层)
  • 循环冗余检测(更多应用在适配器中的链路层)

奇偶校验

单个奇偶校验位(parity bit)

1比特偶校验

选择校验比特的值,使得这d+1d+1比特中1的总数是偶数

二维奇偶校验(two-dimensional parity)方案

二维偶校验

二维奇偶校验也能够检测(但不能纠正)一个分组中两个比特差错的任何组合

接收方检测和纠正差错的能力被称为前向纠错(Forward Error Correction, FEC)

检验和方法

一个简单检验和方法就是将这k比特整数加起来,并且用得到的和作为差错检测比特,因特网检验和(Internet checksum)就基于这种方法

接收方通过对接收的数据(包括检验和)的和取反码,并且检测其结果是否为全1比特来检测检验和。如果这些比特中有任何比特是0,就可以指示出差错

循环冗余检测

现金的计算机网络中广泛应用的差错检测技术基于循环冗余检测(Cyclic Redundancy Check, CRC)编码,也被称为多项式编码(polynomial code),因为该编码能够将要发送的比特串看作为系数是0和1的一个多项式,对比特串的操作被解释为多项式算数

CRC

发送方和接收方首先协商一个r+1r+1比特模式,称为生成多项式(generator),表示为G,将要求G的最高有效位的比特(最左边)是1

对于一个特定数据段D:

  • 发送方选择rr个附加比特R,附加到D上,得到d+rd+r比特模式用模2算术(等价于异或)恰好能被G整除
  • 接收方用G去除接收到的d+rd+r比特,如果余数为非零,则说明出现差错

R通过D2rmodGD\cdot 2^r mod G得到

国际标准已经定义了8、12、16、32比特生成多项式

3.多路访问链路和协议

  • 点对点链路:由链路异端的单个发送方和链路另一端的单个接收方组成
  • 广播链路:能够让多个发送和接收节点都连接到相同的、单一的、共享的广播信道上

多路访问问题:如何协调多个发送和接收节点对一个共享广播信道的访问

多路访问协议(multiple access protocol)

因为所有的节点都能够传输帧,所以多个节点可能会同时传输帧,传输的帧在所有的接收方处碰撞(collide)。通常碰撞发生时,没有一个接收节点能够有效地获得任何传输的帧

将任何多路访问协议划分为以下3种类型之一:

  • 信道划分协议(channel partitioning protocol)
  • 随机接入协议(random access protocol)
  • 轮流协议(taking-turns protocol)

理想情况下,对于速率为R  bpsR \ \ bps的广播信道,多路访问协议应该具有以下所希望的特性:

  • 当仅有一个节点发送数据时,该节点具有R  bpsR \ \ bps的吞吐量
  • 当有M个节点发送数据时,每个节点吞吐量为R/M bpsR/M\ bps。这不必要求M个节点中的每一个节点总是有R/MR/M的瞬间速率,而是每个节点在一些适当定义的时间间隔内应该有R/MR/M的平均传输速率
  • 协议是去中心化的,这就是说不会因某主节点故障而使整个系统崩溃
  • 协议是简单的,使实现不昂贵

信道划分协议

  • 时分多路复用(TDM):
    • 将时间划分为时间帧(time frame),并进一步划分时间帧为N个时隙(slot)
    • 缺陷:
      • 节点被限制于R/N bpsR/N\ bps的平均速率,即使当它是唯一有分组要发送的节点
      • 节点必须总是等待它在传输序列中的轮次
  • 频分多路复用(FDM)
    • R bpsR\ bps信道划分为不同的频段
    • 缺点同TDM

TDM&FDM

  • 码分多址(Code Division Multiple Access, CDMA)
    • 对每个节点分配一种不同的编码,每个节点用它唯一的编码来对它发送的数据进行编码
    • 如果精心选择编码,CDMA网络具有一种奇妙的特性,即不同的节点能够同时传输,并且它们各自对应的接收方仍能正确接收发送方编码的数据比特,而不在乎其他节点的干扰传输

随机接入协议

一个节点总是以信道的全部速率(即R bpsR\ bps)进行发送,当有碰撞时,涉及碰撞的每个节点反复地重发它的帧(也就是分组),到该帧无碰撞地通过为止

当一个节点经历一次碰撞时,它不必立刻重发该帧,相反,它在重发该帧之前等待一个随机时延

涉及碰撞的每个节点独立地选择随机时延

时隙ALOHA

对时隙ALOHA的描述中,做下列假设:

  • 所有帧由L比特组成
  • 时间被划分成长度为L/RL/R秒的时隙(这就是说,一个时隙等于传输一帧的时间)
  • 节点只在时隙起点开始传输帧
  • 节点是同步的,每个节点都知道时隙何时开始
  • 如果在一个时隙中有两个或者更多个帧碰撞,则所有节点在该时隙结束之前检测到该碰撞事件

p是一个概率,在每个节点中,时隙ALOHA的操作是简单的

  • 当节点有一个新帧要发送时,它等到下一个时隙开始并在该时隙传输整个帧
  • 如果没有碰撞,该节点成功地传输它的帧,从而不需要考虑重传该帧
  • 如果有碰撞,该节点在时隙结束之前检测到这次碰撞。该节点以概率p在后续的每个时隙中重传它的帧,直到该帧被无碰撞地传输出去

当有多个活跃节点时,一部分时隙将有碰撞,因此将被浪费掉了。时隙的一部分将是空闲的,因为所有活跃节点由于概率传输策略会节制传输,唯一未浪费的时隙时那些刚好有一个节点传输的时隙。

刚好有一个节点传输的时隙称为一个成功时隙(successful slot)

时隙多路访问协议的效率定义为:当有大量活跃节点且每个节点总有大量的帧要发送时,长期运行成功时隙的份额

时隙ALOHA

当有N个活跃节点时,时隙ALOHA的效率时Np(1p)N1Np(1-p)^{N-1},当N趋于无穷时,这个协议的最大效率未1/e=0.371/e = 0.37

ALOHA

纯ALOHA中,当第一帧首次到达,节点立刻将该帧完整地传输进广播信道。如果一个传输的帧与一个或多个传输经历了碰撞,这个节点将立即以概率p重传该帧

纯ALOHA

为使该帧在时刻t0t_0开始传输,在时间间隔[t01,t0][t_0-1,t_0]中不能有其他节点开始传输 。所有其他节点在这个时间间隔不开始传输的概率是(1p)N1(1-p)^{N-1},类似地,在节点ii在传输时,其他节点不能开始传输

因此,一个给定的节点成功传输一次的概率是p(1p)2(N1)p(1-p)^{2(N-1)},最大效率为1/(2e)1/(2e),刚好是时隙ALOHA的一半

载波侦听多路访问(CSMA)

  • 说话之前先听:载波侦听(carrier sensing),即一个节点在传输前先听信道,如果来自另一个节点的 帧正向信道上发送 ,节点则等待直到检测到一小段时间没有传输,然后开始传输
  • 如果与他人同时开始说话,停止说话:碰撞检测(collision detection),当一个传输节点在传输时一直在侦听此信道。如果它检测到另一个节点正在传输干扰帧,它就停止传输,在重复“侦听-当空闲时传输“循环之前等待一段随机时间

这两个规则包含在载波侦听多路访问(Carrier Sense Multiple Access, CSMA)和具有碰撞检测的CSMA(CSMA with Collision Detection, CSMA/CD)协议族中

碰撞传输的两个CSMA节点时空图

t0t_0时刻节点B开始传输,沿着广播媒介在两个方向传播,然是传输需要时间,在时刻t1t_1,节点D有一个帧要发送,此时B传输的比特还没有到达D,因此D在t1t_1侦听到信道空闲,根据CSMA协议,D开始传输它的帧 ,一个短暂的时间之后,B的传输开始在D干扰D的传输

具有碰撞检测的载波侦听多路访问(CSMA/CD)

在某节点执行碰撞检测时,一旦它检测到碰撞将立刻停止传输

具有碰撞检测的CSMA

BD两个节点在检测到碰撞后很短的时间内都放弃了它们的传输。

显然,在多路访问协议中加入碰撞检测,通过不传输一个无用的、损坏的帧,将有助于改善协议的性能

  1. 适配器从网络层一条获得数据报,准备链路层帧,并将其放入帧适配器缓存中
  2. 如果适配器侦听到信道空闲,它开始传输帧,另一方面,如果适配器侦听到信道正在忙,它将等待,直到侦听到没有信号能量时才开始传输帧
  3. 在传输过程中,适配器监视来自其他使用该广播信道的适配器的信号能量的存在
  4. 如果适配器传输整个帧而未检测到来自其他适配器的信号能量,该适配器就完成了该帧。另一方面,如果适配器在传输时检测到来自其他适配器的信号能量,它中止传输
  5. 中止传输后,适配器等待一个随机时间量,然后返回步骤2

用于以太网以及DOCSIS电缆网络多路访问协议中的二进制指数后退(binary exponential backoff)算法,解决随机时间量的选择问题。当传输一个给定帧时,在该帧经历了一连串的n次碰撞后,节点随机地从{0,1,2,,2n1}\{0, 1,2,\cdots, 2^n-1\}中选择一个KK值,因此,一个帧经历的碰撞越多,KK选择的间隔越大

CSMA/CD效率

当只有一个节点有一个帧要发送时,该节点能够以信道全速率进行传输。如果很多节点都有帧要发送,信道的有效传输速率可能会小很多。

我们将CSMA/CD效率(efficiency of CSMA/CD)定义为,当有大量的活跃节点,且每个节点有大量的帧要发送时,帧在信道中无碰撞地传输的那部分时间在长期运行时间中所占的份额

dpropd_{prop}表示信号能量在任意两个适配器之间传播所需的最大时间。令dtransd_{trans}表示传输一个最大长度的以太网帧的时间,可以得出:

效率=11+5dprop/dtrans 效率 = \dfrac{1}{1 + 5d_{prop}/d_{trans}}

dpropd_{prop}接近0时,效率接近1,也就是,如果传播时延是0,碰撞的节点将立即中止而不会浪费信道。

同时,当dtransd_{trans}变得很大时,效率也接近于1,也就是,当一个帧取得了信道时,它将占有信道很长时间,因此,信道在大多数时间都会有效的工作

轮流协议(taking-turns protocol)

第一种是轮询协议(polling ):要求这些节点之一要被指定为主节点,主节点以循环的方式轮询(poll)每个节点。主节点首先向节点1发送一个报文,告诉它能够传输的帧的最多数量。在 节点1传输了某些帧后,主节点告诉节点2它能传输的帧的最多数量。上述过程以这种方式继续进行,主节点以循环的方式轮询每个节点

消除了困扰随机接入协议的碰撞和空时隙,使得轮询取得高得多的效率

缺点:

  • 如果只有一个节点是活跃的,那么这个节点将以小于R bpsR\ bps的速率传输,因为每次活跃节点发送了它最多数量的帧时,主节点必须依次轮询每一个非活跃的节点
  • 如果主节点有故障,整个信道都变得不可操作

第二种轮流协议是令牌传递协议(token-passing protocol):在这种协议中没有主节点。一个称为令牌(token)的小的特殊帧在节点之间以某种固定的次序进行交换。当一个节点收到token时,仅当它有一些帧要发送时,它才持有这个token,否则,它将立即向下一个节点转发该token

问题:一个节点的故障可能会使整个信道崩溃。如果一个节点偶然忘记了释放token,则必须调用某些恢复步骤使token返回到循环中

DOCSIS:用于电缆因特网接入的链路层协议

一个电缆接入网通常在电缆网头端将几千个住宅电缆调制解调器于一个电缆调制解调器端接系统(Cable Modern Termination System, CMTS)连接。数据经电缆服务接口(Data-Over-Cable Service Interface, CMTS)规范定义了电缆数据网络体系结构及其协议

由于只有一个CMTS传输到下行信道,所以不存在多路访问问题

对于上行,每条上行信道被划分为时间间隔(类似于TDM),每个时间间隔包含一个微时隙序列,电缆调制解调器可在该微时隙中向CMTS传输 。CMTS显式地准许各个电缆调制解调器在特定的微时隙中进行传输。CMTS在下行信道上通过发送称为MAP报文的控制报文,指定哪个电缆调制解调器能够在微时隙中传输由控制报文指定的时间间隔。由于微时隙明确分配给电缆调制解调器,所以CMTS能够确保在微时隙中没有碰撞传输

CMTS和电缆调制解调器

4.交换局域网

交换机运行在链路层,所以它们交换链路层正,不识别网络层地址,使用链路层地址

4台交换机连接的网络

链路层寻址和ARP

MAC地址

主机和路由器的适配器(即网络端口)具有链路层地址,因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址,就像它也具有与之相关联的多个IP地址一样

链路层交换机并不具有与它们的接口相关联的链路层地址,这是因为链路层交换机的任务是在主机与路由器之间承载数据报,也就是说,主机或路由器不必明确地将帧寻址到其间的交换机

链路层地址有不同的称呼:LAN地址物理地址MAC地址

MAC地址长度为6字节,共有2482^{48}个可能的MAC地址,这六个字节通常用十六进制表示法,对于后面的内容,我们将假设某适配器的MAC地址是固定的(MAC地址被设计为永久,但用软件改变一块适配器的MAC地址是可能的)

没有两块适配器具有相同的地址

适配器的MAC地址具有扁平结构(这与层次结构相反),无论适配器到哪里用都不会变化

当某适配器要向某些目的适配器发送一个帧时,发送适配器将目的适配器的MAC地址插入到该帧中,并将该帧发送到局域网上,一台交换机偶尔将一个入帧广播到它的所有接口

当适配器接收到一个帧时,将检查该帧中的目的MAC地址是否与自己的MAC地址匹配。如果匹配,则提取出封装的数据报,并将该数据报沿协议栈向上传递。如果不匹配,则丢弃该帧

有时某发送适配器要让局域网上所有其他适配器来接收并处理它打算发送的帧,发送适配器在该帧的目的地址字段插入一个特殊的MAC广播地址(FF-FF-FF-FF-FF-FF)

地址解析协议(Address Resolution Protocol, ARP)

在IP地址和MAC地址之间进行转换

IP地址和MAC地址

使用ARP,在发送主机的ARP模块将取在相同局域网上的任何IP作为输入,然后返回响应的MAC地址

类似于DNS,DNS在因特网中任何地方的主机解析主机名,而ARP只为在同一个子网上的主机和路由器接口解析IP地址

每台主机或路由器在其内存中具有一个ARP表(ARP table),这张表包含IP地址到MAC地址的映射关系。ARP表也包含一个TTL值,指示了从表中删除每个映射的时间,从一个表项放置到ARP表中开始,一个表项通常的有效时间时20分钟

ARP表

如果发送方的ARP表没有当前目的主机的表项,发送方构造一个称为ARP分组(ARP packet)的特殊分组。一个ARP分组有几个字段,包括发送和接收IP地址及MAC地址。ARP查询分组和响应分组都具有相同的格式。ARP查询分组的目的时询问子网上所有其他主机和路由器,以确定对应于要解析的IP地址的哪个MAC地址

查询ARP报文是在广播帧中发送的,而响应ARP报文在一个标准帧中发送

ARP是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置,如果某主机从子网断开连接,它的表项最终会从留在子网中的节点的表中删除

一个ARP分组封装在链路层帧中,体系结构上位于链路层之上,然而,一个ARP分组具有包含链路层地址的字段,因而可认为是链路层协议,但也包含网络层地址,因而可认为是为网路层协议

发送数据报到子网以外

由一台路由器互联的两个子网

假设主机111.111.111.111要向主机222.222.222.222发送一个IP数据报,发送主机必须向适配器指示一个适当的目的MAC地址,这个适当的MAC地址是路由器接口111.111.111.110的适配器地址,即E6-E9-00-17-BB-4B

一旦适配器有了这个MAC地址,创建一个帧(包含了寻址到222.222.222.222的数据报),并把该帧发送到子网1中,在子网1上的路由器适配器看到该链路层帧是向它寻址的,因此把这个帧传递给路由器的网络层

通过路由器的转发表,需要把该数据报通过路由器接口222.222.222.220转发,然后该接口把这个数据报传递给它的适配器,适配器把该数据报封装到一个新的帧中,并且将该帧发送进子网2中

以太网

集线器(hub)是一种物理层设别,它作用于各个比特而不是作用于帧。当表示一个0或一个1的比特到达一个接口时,集线器只是重新生成这个比特,将其能量强度放大,并将该比特向其他所有接口传输出去

如果某集线器同时从两个不同接口接收到帧,将出现一次碰撞,生成该帧的节点必须重新传输该帧

21世纪初,集线器被交换机(switch)替代。交换机时无碰撞的,而且也是名副其实的存储转发分组交换机就可以了

以太网帧结构

以太网帧结构

  • 数据字段(46~1500字节):承载了IP数据报,
    • 以太网的最大传输单元(MTU)是1500字节 。如果IP数据报超过了1500字节,则主机必须将该数据报分片。
    • 数据字段的最小长度是46字节,如果IP数据报小于46字节,数据报必须被填充到46字节,当采用填充时,传递到网络层的数据包括IP数据报和填充部分。网络层使用IP数据报首部中的长度字段来去除填充部分
  • 目的地址(6字节):目的适配器的MAC地址
  • 源地址(6字节):传输该帧到局域网上的适配器的MAC地址
  • 类型字段(2字节):允许以太网复用多种网络层协议,IP和其他网络层协议(例如Novell IPX或AppleTalk)都有各自的、标准化的类型编号。此外,ARP协议也有自己的类型编号
  • CRC(4字节):循环冗余检测字段
  • 前同步码(8字节):以太网帧以一个8字节的前同步码(Preamble)字段开始。该前同步码的前7个字节的值都是10101010,最后一个字节时10101011。
    • 前同步码的前7个字节用于唤醒接受适配器,并且将它们的时钟和发送方的始终同步
    • 第8个字节的最后两个比特(11)用于警告接收适配器,重要的内容要到了

所有的以太网技术都向网络层提供无连接服务,在把帧发送到局域网上之前,不会先进行握手

以太网技术都向网络层提供不可靠服务,在CRC校验没有通过时,不发送否定确认帧,只是丢弃,所以发送的适配器根本不知道它传输的帧是否到达并通过 了CRC校验

如果由于丢弃了以太网帧而存在间隙,在应用上是否会看见间隙取决于该应用是使用UDP还是使用TCP

以太网技术

早期的以太网的标准被限制在500米长度之内,通过使用转发器(repeater)能够得到更长的运行距离,转发器是一种物理层设备,能在输入端接收信号并在输出端再生该信号

吉比特以太网的标准被称为IEEE802.3z,它完成以下工作:

  • 使用标准以太网帧格式,并且向后兼容10BASE-T与100BASE-T技术
  • 允许点对点链路以及共享的广播信道,点对点链路使用交换机,而广播信道使用集线器
  • 使用CSMA/CD来共享广播信道,为了得到可接受的效率,节点之间的最大距离必须严格限制
  • 对于点对点信道,允许在两个方向上都以40Gbps全双工操作

链路层交换机

交换机的任务是接收入链路层帧并将它们转发到出链路

交换机自身对子网中的主机和路由器是透明的(transparent),也就是说,某主机/路由器向另一个主机/路由器寻址一个帧,顺利地将该帧发送进局域网,并不知道某交换机将会接受该帧并将它转发到另一个节点。这些帧到达该交换机的任何输出接口之一的速率可能暂时会超过该接口的链路容量。为了解决这个问题,交换机输出接口设有缓存

转发和过滤

过滤(filtering)是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能

转发(forwarding)是决定一个帧应该被导向哪个接口,并把该帧移动到那些接口的交换机功能

交换机的过滤和转发借助于交换机表(switch table)完成

交换机表中的一个表项包含:

  • 一个MAC地址
  • 通向该MAC地址的交换机接口
  • 表项放置在表中的时间

交换机表

假定目的地址为DD-DD-DD-DD-DD-DD的帧从交换机接口x到达,交换机用MAC地址DD-DD-DD-DD-DD-DD索引 它的表,有3种可能的情况:

  • 表中没有对应DD-DD-DD-DD-DD-DD的表项:交换机向除接口x以外的所有接口起那面的输出缓存转发该帧的副本。换言之,如果没有对于目的地址的表项,交换机广播该帧
  • 表中有DD-DD-DD-DD-DD-DD与接口x关联的表项:无须将该帧转发到任何其他接口,交换机丢弃该帧执行过滤功能即可
  • 表中有DD-DD-DD-DD-DD-DD与接口yxy \neq x关联的表项:该帧需要被转发到与接口y相连的局域网网段。交换机通过将该帧放到接口y前面的输出缓存完成转发功能

自学习

自学习(self-learning)通过如下方式实现:

  1. 交换机初始为空
  2. 对于在每个接口接收到的每个入帧,该交换机在其表中存储
    • 该帧源地址字段中的MAC地址
    • 该帧到达的接口
    • 当前时间
  3. 如果在一段时间后,交换机没有接收到以该地址作为源地址的帧,就在表中删除这个地址

交换机是即插即用设备(plug-and-play device),因为不需要网络管理员或用户的干预

链路层交换机的性质

不同于如总线或基于集线器的星形拓扑那样的广播链路的优点:

  • 消除碰撞:交换机缓存帧并且不会在网段上同时传输多于一个帧,就像使用路由器一样,交换机的最大聚合带宽是该交换机所有接口速率之和
  • 异质的链路:交换机将链路彼此隔离,因此局域网中的不同链路能够以不同的速率运行并且能够在不同的媒介上运行
  • 管理:除了提供强化的安全性,交换机也易于进行网络管理:如果一个适配器工作异常并持续发送以太网帧,交换机能够检测到该问题,并在内部断开异常适配器

交换机和路由器比较

  • 路由器是使用网络层地址转发分组的存储转发分组交换机,是第三层的
  • 交换机用MAC地址转发分组,是第二层的

使用OpenFlow标准的交换机能够基于11个不同的帧、数据报和运输层首部字段、执行通用的分组转发

交换机优缺点:

  • 优点:
    • 即插即用
    • 还能够具有相对高的分组过滤和转发速率
  • 缺点:
    • 为了防止广播帧的循环,交换网络的活跃拓扑限制为另一棵生成树
    • 一个大型交换网络将要求在主机和路由器中有大的ARP表,这将生成可观的ARP流量和处理量
    • 交换机对于广播风暴不提供任何保护措施

路由器优缺点:

  • 优点:
    • 分组不会被限制到一棵生成树上,所以允许以丰富的拓扑结构构建因特网
    • 对广播风暴提供保护
  • 缺点:
    • 不是即插即用,需要人为配置
    • 对每个分组的处理时间通常比交换机长

交换机路由器比较

通常,由几百台主机组成的小网络通常有几个局域网网段,对于这些小网络,交换机就足够了,因为它们不要求IP地址的任何配置就能使流量局部化并增加总计吞吐量

但是几千台主机组成的更大网络中,通常在网络中除了交换机之外还包括路由器,路由器提供了更健壮的流量隔离方式和对广播风暴的控制,并在网络的 主机之间使用更智能的路由

虚拟局域网

现代机构的局域网常常是配置为等级结构的,每个工作组有自己的局域网,经过一个交换机等级结构与其他工作组交换局域网互联,在理想世界能很好地工作,但是现实世界有3个缺点:

  • 缺乏流量隔离:广播流量会跨越整个机构网络,限制广播流量的范围可以改善局域网的性能,也能实现安全、隐私等目的
  • 交换机的无效使用:分组多但每组很小,一台多端口(比如96)的交换机可以容纳所有人,但是不能提供流量隔离
  • 管理用户:如果用户在不同组间移动,必须改变物理布线才能连接到不同的交换机

可以通过支持虚拟局域网(Virtula Local Network, VLAN)的交换机来处理

支持VLAN的交换机允许经一个单一的物理局域网的基础设施定义多个局域网,在一个VLAN内的主机彼此通信,仿佛它们与交换机连接

配置了两个VLAN的单台交换机

图6-26a在两台交换机互联的时候不具有扩展性,一个更具扩展性互联VLAN交换机的方法称为VLAN干线连接(VLAN trunking),每台交换机上的一个特殊端口被配置为干线端口,以互联这两台VLAN交换机。该干线端口属于所有VLAN,发送到任何VLAN的帧经过干线链路转发到其他交换机

连接两个VLAN的两台VLAN交换机

IEEE定义了一种扩展的以太网帧格式——802.1Q,用于跨越VLAN干线的帧。802.1Q帧由标准以太网帧与加进首部的4字节VLAN标签(VLAN tag组成),VLAN标签承载着该帧所属的VLAN标识符。VLAN标签由在VLAN干线发送侧的交换机加进帧中,解析后并由在VLAN干线接收侧的交换机删除。

VLAN标签自身由一个2字节的标签协议标识符(Tag Protocol Identifier, TPID)字段、一个2字节 的标签控制信息字段(包含一个12比特的VLAN标识符字段)和一个3比特优先权字段组成

802.1Q

5.链路虚拟化:网络作为链路层

多协议标签交换(Multiprotocol Label Switching, MPLS)是一种分组交换的虚电路网络

采用来自虚电路网络领域的一个关键概念:固定长度标签

其目标是:对于基于固定长度标签和虚电路的技术,在不放弃基于目的地IP数据报转发的基础设施的前提下,当可能 时通过选择性地增强其功能

MPLS使能的路由器处理的链路层帧:

  • 该帧具有一个小的MPLS首部
    • 标签
    • 实验字段(3比特)
    • S字段(1比特)
    • TTL
  • 该首部增加到第二层(如以太网)首部和第三层(即IP)首部之间

MPLS首部

一个MPLS加强的帧仅能在两个均为MPLS使能的路由器之间发送

一个MPLS使能的路由器常被称为标签交换路由器(label-switched router),因为它通过在其转发表中查找MPLS标签,然后立即将数据报传递给适当的输出接口来转发MPLS帧

MPLS增强的转发

6.数据中心网络

数据中心中的主机称为刀片(blade)

主机被堆叠在机架上,在每个机架顶部有一台交换机,被称为机架顶部(Top of Rack, TOR)交换机

数据中心网络支持两种类型的流量:

  • 外部客户与内部主机之间流动的流量
  • 内部主机之间流动的流量

数据中心网络包括了一台或者多台边界路由器(border router),它们将数据中心 网络与公共因特网相连

数据中心网络

负载均衡

在数据中心内部,外部请求首先被定向到一个负载均衡器(load balancer)。负载均衡器的任务是向主机分发请求,以主机当前的负载作为函数来在主机之间均衡负载

等级体系结构

数据中心通常应用路由器和交换机等级结构(hierarchy of router and switch)

数据中心网络的发展趋势

  • 成本降低
  • 集中式SDN控制和管理
  • 虚拟化
  • 物理约束
  • 硬件模块化和定制化
  • Title: 第6章:链路层和局域网
  • Author: SyEic_L
  • Created at : 2026-05-21 18:01:05
  • Updated at : 2026-05-21 18:01:05
  • Link: https://blog.syeicl.vip/2026/05/21/第6章:链路层和局域网/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments