第三章 数据链路层(下)

477 阅读1小时+

在数据链路层扩展以太网 — 透明网桥的自学习和转发帧的过程以及生成树协议STP

透明网桥自学习和转发帧的流程

透明网桥(Transparent Bridge)通过自学习算法建立转发表

透明网桥中的“透明”是指以太网中的各站点并不知道自己所发送的帧将会经过哪些网桥的转发而最终到达目的站点,也就是说,以太网中的各网桥对于各站点而言是看不见的

透明网桥的标准是IEEE 802.1D,它通过一种自学习算法基于以太网中各站点间的相互通信逐步建立起自己的转发表

透明网桥的自学习和转发帧的流程:

  1. 网桥收到帧后进行登记(即自学习),登记的内容为帧的源MAC地址和进入网桥的接口号

  2. 网桥根据帧的目的MAC地址和网桥的转发表对帧进行转发,包含以下三种情况:

    明确转发:网桥知道应当从哪个接口转发帧

    盲目转发:网桥不知道应当从哪个接口转发帧,只能将其通过除进入网桥的接口外的其他所有接口转发

    丢弃:网桥知道不应该转发该帧,将其丢弃

注意:

  • 如果网桥收到有误码的帧,则直接丢弃
  • 如果网桥收到一个无误码的广播帧,则不用进行查表,而是直接从除接收该广播帧的接口的其他接口转发该广播帧
  • 转发表中的每条记录都有其有效时间,到期自动删除。这是因为各站点的MAC地址与网桥接口的对应关系并不是永久性的,例如某个站点更换了网卡,其MAC地址就会改变

image.png

网桥上电启动后,其转发表是空的

网桥需要在网络中各站点相互通信的过程中通过自学习来建立自己的转发表

假设主机A给B发送单播帧,与主机A处于同一网段中的主机B和C以及网桥的接口1都会收到该单播帧

主机B中的网卡根据该单播帧的目的MAC地址B可知,这是发送给自己的帧而接受该帧,主机C中的网卡根据该单播帧的目的MAC地址B可知,这不是发送给自己的帧而将其丢弃

image.png

网桥从接口1收到该单播帧后,首先进行自学习,也就是进行登记,登记的内容为帧的源MAC地址A和该帧进入网桥的接口号1

image.png

之后,网桥要对该单播帧进行转发,网桥在自己的转发表中查找该单播帧的目的MAC地址B,但没有找到,只能进行盲目转发,也就是网桥只能通过除接收该单播帧的接口1以外的其他接口转发该单播帧

对于本例,其他接口只有接口2,因此,该单播帧会从网桥的接口2转发到另一个网段

image.png

该网段中的主机D、E和F收到该单播帧后将其丢弃

image.png

之后,假设主机D给A发送单播帧,与主机D处于同一网段中的主机E和F以及网桥的接口2都会收到该单播帧

主机E和F中的网卡根据该单播帧的目的MAC地址A可知,这不是发送给自己的帧,将其丢弃

image.png

网桥从接口2收到该单播帧后,首先进行自学习,也就是进行登记,登记内容为帧的源MAC地址D和该帧进入网桥的接口号2

image.png

之后网桥要对该单播帧进行转发,网桥在自己的转发表中查找该单播帧的目的MAC地址A,可以找到相应的记录,从记录的接口号部分可知,应从接口1转发该帧,这属于明确地转发

image.png

该单播帧从网桥的接口1转发到另一个网段,该网段中的主机A收到并接受授该单播帧,而主机B和C收到该单播帧后将其丢弃

image.png

之后,假设主机C给A发送单播帧,与主机C处于同一网段中的主机A和B以及网桥的接口1都会收到该单播帧

主机A中的网卡根据该单播帧的目的MAC地址A可知这是发送给自己的帧而接受该帧

而主机B中的网卡根据该单播帧的目的MAC地址可知这不是发送给自己的帧而将其丢弃

image.png

网桥从接口1收到该单播帧后,首先进行自学习,也就是进行登记,登记的内容为帧的源MAC地址C和该帧进入网桥的接口号1

image.png

之后,网桥要对该单播帧进行转发,网桥在自己的转发表中查找该单播帧的目的MAC地址A可以找到相应的记录,从记录的接口号可知,应从接口1转发该帧,然而网桥正是从接口1接收的该帧,这表明主机C与A在同一网段,A能够直接收到该帧而不需要借助网桥的转发,因此网桥丢弃该帧

image.png

如果网络中的各追击陆续都发送了帧,则网桥会逐步建立起完整的转发表,即网桥的每个接口都与网络中哪些主机的MAC地址对应

image.png

透明网桥的生成树协议STP

为了提高以太网的可靠性,有时需要在两个以太网之间使用多个透明网桥来提供冗余链路

在增加冗余链路提高以太网可靠性的同时,可能会使网络中出现环路

网络中的广播帧将在环路中永久兜圈,造成广播帧充斥整个网络,网络资源被白白浪费,而网络中的主机之间无法正常通信

E1和E2是两个独立的共享总线型以太网,使用网桥B1将它们互连起来,就形成了一个更大的以太网

image.png

为了提高该以太网的可靠性,还使用了一个冗余的网桥B2,将E1和E2进行连接

添加B2后,以太网中出现了环路

image.png

如果E1或E2中的某台主机发送了一个广播帧,则该广播帧就会在网桥B1和B2构成的环路中按顺时针和逆时针两个方向永久兜圈

image.png

为了避免广播帧在环路中永久兜圈,透明网桥使用生成树协议(Spanning Tree Protocol, STP)可以在增加冗余链路提高网络可靠性的同时,又避免环路带来的问题

不管网桥之间连接成了怎样复杂的带环拓扑,网桥之间通过交互网桥协议单元(Bridge Protocol Data Unit, BPDU),找出原网络拓扑上的一个连通子集(即生成树),在这个子集里,整个网络仍然是连通的,但却不存在环路

网桥B1和B2通过交互BPDU,找出一个连通以太网E1和E2并且不存在环路的生成树,而网桥B2与以太网E2连接的接口,并不在该生成树链路上,于是B2主动关闭该接口,这样以太网E1和E2是通过网桥B1连通的

image.png

当首次连接网桥或网络拓扑发生变化时(人为改变或出现故障),网桥都会重新构造生成树,以确保网络的连通

若网桥B1与以太网E1之间的链路出现了故障,则B1和B2之间会再次交互BPDU,重新构造一个生成树

之后,B2将重新开启已关闭的接口,而B1将关闭出现故障链路的接口

image.png

交换式以太网

网桥的接口数量很少,通常只有2~4个,一般只用来连接不同的网段

1990年面世的以太网交换机(Switch),也称为二层交换机,实际上是具有多个接口的网桥

  • “二层”是指以太网交换机工作在数据链路层(包括物理层)
  • 与网桥相同,交换机内部的转发表也是通过自学习算法,基于网络中各主机间的通信,自动地逐步建立起来的
  • 交换机也使用生成树协议STP来产生能够连通全网但不产生环路的通信路径

仅使用交换机而不使用集线器的以太网就是交换式以太网

image.png

以太网交换机

以太网交换机(以下简称交换机)本质上就是一个多接口的网桥

交换机自学习和转发帧的流程和网桥是相同的

交换机也使用生成树协议STP,来产生能够连通全网但不产生环路的通信路径

交换机的每个接口可以连接计算机,也可以连接集线器或另一个交换机

image.png

当交换机的接口与计算机或交换机连接时,可以工作在全双工方式,并能在自身内部同时连通多对接口,使每一对相互通信的计算机都能像独占传输媒体那样,无碰撞地传输数据,这样就不需要使用CSMA/CD协议

当交换机的接口连接的是集线器时,该接口就需要使用CSMA/CD协议并只能工作在半双工方式

现在的交换机和计算机中的网卡都能自动识别上述两种情况,并自动切换到相应的工作方式

交换机一般都具有多种速率的接口,例如10Mb/s、100Mb/s、1Gb/s甚至10Gb/s的接口,大部分接口支持速率自适应

一般的交换机都采用“存储转发”方式,为了减小交换机的转发时延,某些交换机采用了直通(Cut-Through)交换方式

采用直通交换方式的交换机,在接收帧的同时就立即按帧的目的MAC地址决定该帧的转发接口,然后通过其内部基于硬件的交叉矩阵进行转发,而不必把整个帧先缓存后再进行处理

直通交换的时延非常小

直通交换不检查差错就直接将帧转发出去,有可能会将一些无效帧转发给其他主机

以太网交换机自学习和转发帧的过程

以太网交换机工作在数据链路层(也包括物理层,市面上也出现了工作在网络层的三层交换机)

以太网交换机收到帧后,在帧交换表中查找帧目的MAC地址所对应的接口号,然后通过该接口转发帧

以太网交换机是一种即插即用的设备,刚上电启动时其内部的帧交换表是空的。随着网络中各主机间的通信,以太网交换机通过自学习算法自动逐渐建立起帧交换表

一开始,交换机中的帧交换表为空,之后进行发送帧的过程中逐个试错(也称盲目泛洪),找到对应的主机和接口号后就将信息记录到表中,在表中存在明确记录的,不会再盲目试错,而是明确转发

帧交换表中的每条记录都有自己的到期时间,到期自动删除。这是因为MAC地址与交换机接口的对应关系并不是永久性的(如接口处主机进行更换,或网卡更换)

若一个帧从接口n进入交换机中,则该帧就不会再通过接口n再原路返回出去

image.png

总结:

  1. 收到帧后进行登记。登记的内容为帧的源MAC地址及进入交换机的接口号

  2. 根据帧的目的MAC地址和交换机的帧交换表对帧进行转发,有以下三种情况:

    明确转发:交换机知道应当从哪个(或哪些)接口转发该帧(单播、多播、广播)

    盲目转发:交换机不知道应当从哪个端口转发帧,只能将其通过除进入交换机的接口外的其他所有接口转发(也称为泛洪)

    丢弃:交换机知道不应该转发该帧,将其丢弃

  3. 帧交换表中的每一条记录都有自己的有效时间,到期自动删除。原因如下:

    交换机的接口改接了另一台主机

    主机更换了网卡

共享式以太网和交换式以太网的对比(集线器与交换机的对比)

集线器:Hub

交换机:Switch

image.png

主机发送单播帧的情况

假设交换机的转发表已经记录了所有主机与自己各接口的队友关系

对于使用集线器的共享式以太网,一台主机发送单播帧,单播帧会通过集线器传播到网络中的其他所有主机,其他各主机的网卡会根据单播帧的目的MAC地址决定接受或丢弃该帧

对于使用交换机的交换式以太网,交换机收到单播帧后,根据帧的目的MAC地址和自身的转发表将帧明确地转发给目的主机而不是网络中的其他各主机。目的主机的网卡根据单播帧的目的MAC地址决定接受该帧

image.png

主机发送广播帧的情况

对于使用集线器的共享式以太网,广播帧会通过集线器传播到网络中的其他各主机,其他各主机中的网卡检测到帧的目的MAC地址是广播地址就接受该帧

对于使用交换机的交换式以太网,交换机收到广播帧后,检测到帧的目的MAC地址是广播地址,于是从除该帧进入交换机的接口的其他所有接口转发该帧。网络中其他各主机中的网卡收到该帧后,检测到帧的目的MAC地址是广播地址就接受该帧

image.png

可以看出,使用集线器的共享式以太网中的各主机属于同一个广播域,而使用交换机的交换式以太网中的各主机也属于同一个广播域

尽管集线器和交换机对广播帧的转发情况从效果上看是相同的,但它们的基本原理并不相同

集线器只工作在物理层,它并不能识别帧首部中的目的MAC地址,因为其属于数据链路层的范畴

不管集线器收到的是单播帧还是广播帧,集线器仅仅是将表示帧的信号从其他所有接口转发出去

而交换机工作在数据链路层,它可以识别帧的结构,从帧首部中提取出目的MAC地址,然后查找自己的转发表,根据查找结果,对帧进行明确转发或盲目转发或丢弃

多对主机间同时通信的情况

假设主机A给B发送单播帧的同时,主机C给D也发送单播帧

对于使用集线器的共享式以太网,当多对主机同时通信时,必然会产生碰撞,遭遇碰撞的帧会传播到网络中的各主机,各主机的网卡检测到遭遇碰撞的帧后,将其丢弃

对于使用交换机的交换式以太网,由于交换机会对收到的帧进行存储转发,并且其能够实现多对接口的高速并行交换,因此不会产生碰撞。A发送给B的单播帧以及C发送给D的单播帧都会被交换机正确转发,主机B和D各自的网卡都会接受各自的单播帧

image.png

扩展以太网的情况

原始情况:

image.png

使用集线器进行扩展后:

image.png

使用交换机进行扩展后:

image.png

使用集线器扩展以太网,即扩大了广播域,又扩大了冲突域

使用交换机扩展以太网,只扩大了广播域,冲突域并没有扩大(隔离了碰撞域)

由于交换式以太网那个的网络性能远高于共享式以太网,因此集线器早已被交换机取代

以太网的MAC帧格式

以太网MAC帧格式分为:

  • DIX Ethernet V2的帧格式,即以太网V2的帧格式
  • IEEE 802.3的帧格式

这两种MAC帧的差别很小,仅类型字段有区别

这里只介绍以太网V2的帧格式,其格式如下:

image.png

以太网V2的MAC帧,由目的地址、源地址、类型、数据载荷、帧检验序列五个字段组成

  • 目的地址、源地址:各占6个字节,用于填入帧的目的MAC地址和源MAC地址

  • 类型字段:占2个字节,其值用于指明数据载荷中的内容是由上一层的哪个协议封装的,以便将收到的MAC帧的数据载荷上交给上一层的这个协议

    image.png

  • FCS字段:占4个字节,其值为使用CRC生成的帧检验序列FCS,接收方的网卡通过FCS、的内容就可检测出帧在传输过程中是否产生了误码

    FCS所能检测的范围如下:

    image.png

  • 数据载荷:帧首部占18个字节,帧尾部占4个字节,为满足以太网最小帧长为64个字节的规定,数据载荷部分最小长度应为46个字节。若数据载荷字段的长度小于46B时,数据链路层就会在数据载荷字段的后面插入相应数量的时填充字节,以确保MAC帧的长度不小于64B

    除上述情况外,应该使数据载荷的长度相较于帧首部和尾部的长度尽量大,但对于差错处理,数据载荷长度也不能太长,因此其最大长度被限制为1500B

以太网V2的数据链路层,将封装好的MAC帧交付给物理层进行发送

物理层在发送该MAC帧之前,还要在其前面添加8B的前导码,前导码中的前7个字节为前同步码,作用是使接收方的时钟同步,之后的1字节为帧开始符,表名其后紧跟着的就是以太网帧

image.png

接收方可能收到的无效MAC帧包括以下几种:

  1. MAC帧帧长不是整数个字节
  2. 通过MAC帧的FCS字段的值检测出帧有误码
  3. MAC帧总长度不在64B ~1518B之间

接收方在收到无效帧时,仅仅将其丢弃,因为以太网的数据链路层没有重传机制

虚拟局域网VLAN概述

将多个站点通过一个或多个以太网交换机连接起来就构建出了交换式以太网

使用一个或多个以太网交换机互连起来的交换式以太网,其所有站点都属于同一个广播域

随着交换式以太网规模的扩大,广播域相应扩大,巨大的广播域会带来一系列问题:

  • 广播风暴

    广播风暴会浪费网络资源和各主机的CPU资源

  • 难以管理和维护

  • 潜在的安全问题

分割广播域的方法:

  • 使用路由器可以隔离广播域

    image.png

    路由器在默认情况下,不对广播分组进行转发,但路由器的成本较高,局域网内部全部使用路由器来隔离广播域是不现实的

  • 使用虚拟局域网VLAN技术

虚拟局域网VLAN(Virtual Local Area Network)是一种将局域网内的站点划分成与物理位置无关的逻辑组的技术,一个逻辑组就是一个VLAN,VLAN中的各站点具有某些共同的应用需求

属于同一VLAN的站点之间可以直接进行通信,而不同VLAN中的站点之间不能直接通信

网络管理员可对局域网中的各交换机进行配置来建立多个逻辑上独立的VLAN

连接在同一交换机上的多个站点可以属于不同的VLAN,而属于同一VLAN的站点可以连接在不同的交换机上

使用交换机连接起来的三个网段,原本属于同一个广播域,某个主机发送的广播帧,其它所有主机均能收到

image.png

根据需求,将某些主机划分到VLAN1中,剩余主机划分到VLAN2中,这样VLAN1中的某台主机发送的广播帧就不会传送到VLAN2中了

image.png

虚拟局域网VLAN并不是一种新型网络,它只是局域网能够提供给用户的一种服务

虚拟局域网VLAN的实现机制

虚拟局域网VLAN有多种实现技术,最常见的就是基于以太网交换机的接口来实现VLAN,这需要交换机能够实现两个功能:

  • 能够处理带有VLAN标记的帧,即IEEE 802.1Q帧
  • 交换机的各接口可以支持不同的接口类型,不同接口类型的接口对帧的处理方式有所不同

IEEE 802.1Q帧

image.png

image.png

IEEE 802.1Q帧(也称Dot One Q帧)对以太网的MAC帧格式进行了扩展,在源地址字段和类型字段之间插入了4字节的VLAN标签(tag)字段

VLAN标签字段由标签协议标识符TPID、优先级PRI、规范格式指示符CFI,以及虚拟局域网标识符VID四部分组成

  • 标签协议标识符TPID:长度为16比特,其值固定为0x8100,表示该帧是IEEE 802.1Q帧

  • 优先级PRI:长度为3比特,取值范围是0~7,值越大优先级越高。当网络拥塞时,设备优先发送优先级高的802.1Q帧

  • 规范格式指示符CFI:长度为1比特,取值为0表示MAC地址以规范格式封装,取值为1表示MAC地址以非规范格式封装。对于以太网,CFI的取值为0

  • 虚拟局域网标识符VID:长度为12比特,取值范围为0~4095,其中0和4095保留不使用。VID是802.1Q帧所属VLAN的编号,设备利用VID来识别帧所属的VLAN

    广播帧只在同一VLAN内转发,这样就将广播域限制在了一个VLAN内

802.1Q帧是由交换机来处理,而不是由用户主机来处理

当交换机收到普通的以太网MAC帧时,会给其插入4字节的VLAN标签从而转变为802.1Q帧,该处理简称为“打标签”

当交换机转发802.1Q帧时,可能会删除其4字节的VLAN标签使之转变为普通以太网MAC帧,该处理简称为“去标签”

交换机转发802.1Q帧时也可能不进行“去标签”处理,是否进行”去标签“处理取决于交换机的接口类型

以太网交换机的接口类型

根据接口在接收帧和发送帧时对帧的处理方式的不同,以及接口连接对象的不同,以太网交换机的接口类型一般分为Access和Trunk两种

当以太网交换机首次上电启动后,若之前未对其各接口进行过VLAN的相关设置,则各接口的接口类型默认为Access,并且各接口的缺省VLAN ID为1,即各接口默认属于VLAN1

  • 对于思科交换机,接口的缺省VLAN ID称为Native VLAN,即本征VLAN

    交换机在用户未配置VLAN时,所有端口都默认属于VLAN1,即所有端口的本征VLAN都是VLAN1

  • 对于华为交换机,接口的缺省VLAN ID称为Port VLAN ID,即端口VLAN ID,简记为PVID

交换机的每个端口有且仅有一个PVID

在下面的介绍中,采用PVID而不采用本征VLAN来描述缺省VLAN ID

Access端口

Access接口一般用于连接用户计算机,由于其只能属于一个VLAN,因此Access接口的PVID值与其所属VLAN的ID相同,其默认值为1

接收处理:一般只接受“未打标签”的普通以太网MAC帧,根据接收帧的接口的PVID给帧“打标签”,即插入4字节的VLAN标签字段,VLAN标签字段中的VID取值就是接口的PVID值

转发处理:若帧中的VID值与接口的PVID值相等,则给帧“去标签”后再进行转发,否则不转发帧。因此,从Access接口转发出的帧,是不带VLAN标签的普通以太网MAC帧

场景举例

情况1

在一个交换机上不进行人为的VLAN划分,交换机各接口默认属于VLAN1且类型为Access

主机A、B、C、D分别连接在以太网交换机的一个接口上,交换机首次上电启动后,默认配置各接口的PVID为VLAN1,各接口的类型为Access

image.png

假设主机A发送了一个广播帧,该广播帧从交换机的接口1进入交换机

由于该接口的接口类型为Access,因此,它会对接收到的未打标签的欧通以太网MAC帧打标签,标签中的VID值为接口1的PVID值

image.png

之后,交换机对该打了标签的广播帧进行转发,由于该广播帧中的VID值与交换机中其他接口的PVID值相同,因此交换机会从这三个接口对该广播帧进行去标签转发

image.png

情况2

在一个交换机上划分两个不同VLAN的情况

对交换机进行配置:创建VLAN2(对应PVID为2)和VLAN3(对应PVID为3),并将接口1和2划分到VLAN2,接口3和4划归到VLAN3

image.png

主机A发送了一个广播帧,该广播帧从交换机的接口1进入交换机,由于接口1的类型为Access,因此它会对接收到的未打标签的普通以太网MAC帧打标签,标签中的VID值为接口1的PVID值等于2

image.png

交换机对该打了标签的广播帧进行转发,由于广播帧中的VID值与交换机接口2的PVID值相同,因此交换机会从接口2对该广播帧进行去标签转发

image.png

Trunk端口

image.png

Trunk接口一般用于交换机之间的互连。Trunk接口可以属于多个VLAN,即Trunk接口可以通过属于不同VLAN的帧。Trunk接口的默认PVID的值为1,一般不建议用户修改,若互连的Trunk接口的PVID值不相等,则可能出现转发错误

接收处理:既可以接收“未打标签”的普通以太网MAC帧,也可以接收“已打标签”的802.1Q帧。若接收到普通以太网MAC帧时,根据接收帧的接口的PVID给帧“打标签”,这与Access接口的处理相同

转发处理:对于帧的VID值等于接口的PVID值的802.1Q帧,将其“去标签”转发;对于帧的VID值不等于接口的PVID值的802.1Q帧,将其直接转发。因此,从Trunk接口转发出的帧,可能是普通以太网MAC帧,也可能是802.1Q帧

场景举例

情况1

两个交换机通过Trunk类型的接口进行互连,Trunk接口将802.1Q帧“去标签”后进行转发的情况

两台以太网交换机和多台主机互连而成了一个交换式以太网,应用需求是将主机A、B、E和F划归到VLAN1,而将主机C、D、G和H划归到VLAN2

image.png

由于交换机首次上电启动后,默认配置各接口属于VLAN1,其相应的PVID值为1,接口类型为Access,因此需要对这两台交换机进行VLAN配置

分别在这两台交换机上创建VLAN2,并将它们的接口3和4都划归到VLAN2,其相应的PVID值为2,而将这两台交换机的接口1和2保持默认配置即可

两台交换机的接口5,由于它们用于两台交换机之间的连接,因此需要将它们的接口类型改为Trunk,而它们的PVID保持默认值1即可

image.png

Trunk接口一般用于交换机之间或交换机与路由器之间的互连,Trunk接口可以属于多个VLAN,即Trunk接口可以通过不同VLAN的帧。默认情况下,Trunk接口的PVID值为1,一般不建议用户修改,若互连的Trunk接口的PVID值不相等,则可能出现转发错误

假设主机A发送了一个广播帧,交换机1收到帧后对其进行处理,由于接口1的类型为Access,因此它会对接收到的未打标签的普通以太网MAC帧打标签,即插入4字节的VLAN标签,标签中的VID值为接口1的PVID值相同

image.png

交换机1对该打了标签的该广播帧进行转发,由于该广播帧中的VID值与交换机1的接口2的PVID值相同,因此交换机1会从接口2对该广播帧进行去标签转发

image.png

由于交换机1的接口5是Trunk类型,所以该广播帧还会从交换机1的接口5转发出去,由于接口5中的PVID值与该广播帧中的VID值相同,因此交换机1会从接口5对该广播帧进行去标签转发,即接口5转发出去的是一个普通以太网MAC帧

image.png

该广播帧从交换机2的接口5进入交换机2,交换机2对该帧进行处理,由于接口5的类型为Trunk,因此它会对该未打标签的普通以太网MAC帧打标签,标签中的VID与接口5的PVID值相同

image.png

交换机2对该广播帧进行转发,由于该广播帧中的VID值与交换机2的接口1和2的PVID值相同,因此交换机2会从接口1和2对该广播帧进行去标签转发

image.png

情况2

主机C发送的广播帧从交换1的接口3进入交换机1,交换机1对收到的帧进行处理,由于接口类型为Access,因此,它会对接收到的未打标签的普通以太网MAC帧打标签

image.png

交换机1对该广播帧进行转发,由于交换机1的接口4的PVID值与该广播帧的VID值相同,因此交换机1会从接口4对该广播帧进行去标签转发

image.png

另外,由于交换机1的接口5为Trunk类型,因此该广播帧还会从交换机1的接口5转发出去

由于接口5的PVID值与该广播帧的VID值不同,因此交换机1会直接转发该广播帧而不会进行去标签处理,即接口5转发出去的是一个IEEE 802.1Q帧

image.png

该广播帧从交换机2的接口5进入交换机2,交换机2对该广播帧进行转发,由于该广播帧的VID与交换机2的接口3和4的PVID值相同,因此交换机2会从接口3和4对该广播帧进行去标签转发

image.png

Hybrid端口

Hybrid接口是华为交换机私有的接口类型。Hybrid接口既可以用于交换机之间的互连(与Trunk接口相同),也可用于交换机与用户计算机之间的互连(与Access接口相同)

除此之外,Hybrid接口的绝大部分功能与Trunk接口相同。不同点在于Hybrid接口的转发处理:Hybrid接口会查看帧的VID值是否在接口的“去标签”列表中,若存在则“去标签”后转发,若不存在则直接转发

以太网的发展

以太网已从最初的速率为10Mb/s的标准以太网(或称传统以太网),发展到每秒百兆比特、吉比特、10吉比特甚至是100吉比特的高速以太网

速率达到或超过100Mb/s的以太网称为高速以太网

image.png

100BASE-T以太网

100BASE-T以太网是指在双绞线上传输基带信号的速率为100Mb/s的以太网,也称为快速以太网(Fast Enternet)

  • 100:指速率为100Mb/s
  • BASE:指基带信号
  • T:双绞线

100BASE-T以太网与10Mb/s标准以太网(传统以太网)一样,仍然使用IEEE 802.3帧格式和CSMA/CD协议

100BASE-T以太网为了与10Mb/s标准以太网保持兼容,需要以太网最小帧长保持不变,即仍为64字节

  • 网段的最大电缆长度从1000m减小到100m
  • 争用期缩短为5.12μs
  • 帧间最小间隔缩短为0.96μs

100BASE-T以太网还可以使用以太网交换机来提供比集线器更好的服务质量,即在全双工方式下无碰撞工作。因此,使用交换机的100BASE-T以太网,工作在全双工方式下,并不使用CSMA/CD协议

1995年,IEEE的802委员会正式批准100BASE-T以太网的标准为802.3u。实际上,IEEE 802.3u只是对原有IEEE 802.3标准的补充

除100BASE-T以太网外,百兆以太网有多种不同的物理层标准:

名称传输介质网段最大长度说明
100BASE-TX铜缆100m两对UTP5类线或屏蔽双绞线STP
100BASE-T4铜缆100m4对UTP3类线或5类线
100BASE-FX光缆2000m两根光纤,发送和接收各用一条

吉比特以太网

吉比特以太网也称为千兆以太网(Gigabit Ethernet)。1998年,千兆以太网的标准802.3z成为正式标准

IEEE 802.3z千兆以太网的主要特点有:

  • 速率为1000Mb/s(1Gb/s)
  • 使用IEEE 802.3的帧格式(与10Mb/s和100Mb/s以太网相同)
  • 支持半双工方式(需要使用CSMA/CD协议)和全双工方式(不需要使用CSMA/CD协议)
  • 兼容10BASE-T和100BASE-T技术

当千兆以太网工作在半双工方式时,需要使用CSMA/CD协议。由于速率已经提高到了1000Mb/s,因此只有减小网段最大长度或增大最小帧长,才能使以太网的参数 τ/T0 保持为较小的数值

若将网段最大长度减小到10m,则网络基本失去了应用价值;若将最小帧长增大到640字节,则当上层交付的待封装的协议数据单元PDU很短时,开销就会太大。因此,千兆以太网的网段最大长度仍保持为100m,最小帧长仍保持为64字节(与10BASE-T和100BASE-T兼容)

这就需要使用载波延伸(Carrier Extension)的办法,将争用期增大为512字节的发送时间而保持最小帧长仍为64字节

只要发送的MAC帧的长度不足512字节时,就在MAC帧尾部填充一些特殊字符,使MAC帧的长度增大到512字节

image.png

在使用载波延伸的机制下,如果原本发送的是大量的64字节长的短帧,则每一个短帧都会被填充448字节的特殊字符,这样会造成很大的开销

因此,千兆以太网还使用了分组突发(Packet Bursting)功能,也就是当有很多短帧要连续发送时,只将第一个短帧用载波延伸的方法进行填充,而其后面的一系列短帧不用填充就可一个接一个地发送,它们之间只需空开必要的帧间最小间隔即可,这样就形成了一连串分组的突发,直至累积发送的长度为1500字节或稍多一些为止

注意:当千兆以太网工作在全双工方式时,不使用CSMA/CD协议,也不会使用载波延伸和分组突发

image.png

千兆以太网有多种不同的物理层标准:

名称传输介质网段最大长度说明
1000BASE-SE光缆550m多模光纤(50和62.5μm)
1000BASE-LX光缆5000m或550m单模光纤(10μm)或多模光纤(50和62.5μm)
1000BASE-CX铜缆25m使用2对屏蔽双绞线电缆STP
1000BASE-T铜缆100m使用4对UTP5类线

10吉比特以太网

2002年6月,IEEE 802.3ae委员会通过10吉比特以太网(10GE)的正式标准,10GE也称为万兆以太网

万兆以太网并不是将千兆以太网的速率简单地提高了10倍。万兆以太网的目标是将以太网从局域网范围(即校园网或企业网)扩展到城域网或广域网,成为城域网和广域网的主干网的主流技术之一

IEEE 802.3ae万兆以太网的主要特点:

  • 速率为10Gb/s

  • 使用IEEE 802.3标准的帧格式(与10Mb/s、100Mb/s和1Gb/s以太网相同)

  • 保留IEEE 802.3标准对以太网最小帧长和最大帧长的规定

    这是为了用户升级以太网时,仍能和较低速率的以太网方便地通信

  • 只工作在全双工方式而不存在争用媒体的问题,因此不需要使用CSMA/CD协议,这样传输距离就不再受碰撞检测的限制

  • 增加了支持城域网和广域网的物理层标准

万兆以太网交换机常作为千兆以太网的汇聚层交换机,与千兆以太网交换机相连,还可以连接对传输速率要求极高的视频服务器、文件服务器等设备

image.png

万兆以太网有多种不同的物理层标准:

名称传输介质网段最大长度说明
10GBASE-SR光缆300m多模光纤(850nm)
10GBASE-LR光缆10km单模光纤(1300nm)
10GBASE-ER光缆40km单模光纤(1500nm)
10GBASE-CX4铜缆15m使用4对双芯同轴电缆(twinax)
10GBASE-T铜缆100m使用4对6A类UTP双绞线

40/100吉比特以太网

2010年,IEEE发布了40吉比特/100吉比特以太网(40GE/100GE)的IEEE 802.3ba标准,40GE/100GE也称为四万兆/十万兆以太网

为了使以太网能够更高效、更经济地满足局域网、城域网和广域网的不同应用需求,IEEE 802.3ba标准定义了两种速率类型:

  • 40Gb/s主要用于计算应用
  • 100Gb/s主要用于汇聚应用

IEEE 802.3ba标准只工作在全双工方式(不使用CSMA/CD协议),但仍使用IEEE 802.3标准的帧格式并遵守最小帧长和最大帧长的规定

IEEE 802.3ba标准的两种速率各有4种不同的传输媒体

物理层40GE100GE
在背板上传输至少超过1m40GBASE-KR4
在铜缆上传输至少超过7m40GBASE-CR4100GBASE-CR10
在多模光纤上传输至少100m40GBASE-SR4100GBASE-SR10
在单模光纤上传输至少10km40GBASE-LR4100GBASE-LR4
在单模光纤上传输至少40km100GBASE-ER4

802.11无线局域网的组成

随着移动通信技术的发展,无线局域网(Wireless Local Area Network, WLAN)自20世纪80年代末以来逐步进入市场

IEEE于1997年制定出了无线局域网的协议标准802.11,802.11无线局域网是目前应用广泛的无线局域网之一,人们更多地将其简称为Wi-Fi(Wireless Fidelity,无线保真度)

802.11无线局域网可分为以下两类:

  • 有固定基础设施的
  • 无固定基础设施的

固定基础设施是指预先建立的、能够覆盖一定地理范围的、多个固定的通信基站

802.11无线局域网使用最多的是它的固定基础设施的组网方式

802.11无线局域网的有固定基础设施的组网方式

image.png

802.11无线局域网的有固定基础设施的组网方式采用星型网络拓扑,位于其中心的基站被称为接入点,其英文缩写词为AP

802.11无线局域网的最小构件称为基本服务集,其英文缩写词为BSS

在一个BSS中包含有一个AP和若干个移动站

本BSS内各站点之间的通信以及与本BSS外的站点之间的通信,都必须经过本BSS内的AP进行转发

网络管理员需要为AP分配一个最大32字节的服务集标识符(Service Set Identifier,SSID)和一个无线通信信道,SSID实际上就是使用该AP的802.11无线局域网的名字

image.png

一个BSS所覆盖的地理范围称为基本服务区,其英文缩写词为BSA

一个BSA的直径不超过100m

一个BSS可以是孤立的,也可以通过一个分配系统与其他BSS连接,这样就构成了一个扩展的服务集

分配系统的英文缩写词为DS,扩展的服务集的英文缩写词为ESS

DS最常用的是以太网,也可使用点对点链路或其他无线网络

另外,ESS还可以为无线用户提供到其他非802.11无线局域网的接入。例如通过DS有线连接到因特网

假设BSS1中的移动站A要给BSS2中的移动站B发送数据,则必须经过AP1、DS、AP2,最终将数据转发到移动站B

image.png

若移动站A从BSS1漫游到BSS2,在漫游过程中,移动站A的接入点从BSS1中的AP1改为了BSS2中的AP2,但移动站A仍然可保持与移动站B的通信

image.png

802.11标准并没有定义实现漫游的具体方法,仅定义了以下一些基本服务:

  • 关联(Association)服务

    移动站与接入点AP建立关联的方法有以下两种:

    ① 被动扫描

    AP会周期性地发出信标帧(Beacon Frame),信标帧中包含服务集标识符SSID,AP的MAC地址,所支持的速率、加密算法和安全配置等参数,而移动站被动等待信标帧

    image.png

    ② 主动扫描

    移动站主动发出探测请求帧,然后等待来自AP的探测响应帧

    image.png

  • 重建关联(Reassociation)服务和分离(Dissciation)服务

    如果一个移动站要把与某个接入点AP的关联转移到另一个AP,就可以使用重建关联服务

    若要终止关联服务,就应使用分离服务

无固定基础设施的802.11无线局域网

image.png

无固定基础设施的802.11无线局域网又称为自组织网络(ad hoc Network)

自组织网络并没有预先建立的固定基础设施(如基站和接入点AP),它是由一些对等的移动站点构成的临时网络。数据在自组织网络中被多跳存储转发

例如:该自组织网络中的某个源站A和目的站E,它们之间的通信需要经过移动站B、移动站C、移动站D的存储转发,最终到达目的站E。移动站B、C、D成为了移动站A与E之间通信的转发站。因此,转发站需要具备路由功能

image.png

自组织网络有其特定的路由选择协议,一般不能和因特网直接相连,需要通过网关和协议转换器接入到因特网

image.png

自组织网络组网方便,不需要基站,并且具有非常好的生存性,这使得自组织网络在军用和民用领域都有很好的应用前景

802.11无线局域网的ad hoc模式允许网络中的各站点在其通信范围内直接通信,也就是支持站点间的单跳通信,而标准中并没有包括多跳路由功能。因此,802.11无线局域网的ad hoc模式应用较少

802.11无线局域网的物理层

802.11无线局域网的物理层非常复杂,依据工作频段、调制方式、传输速率等,可将其分为多种物理层标准

802.11无线网卡一般会被做成多模的,以便能适应多种不同的物理层标准,例如支持802.11b/g/n

802.11无线局域网的数据链路层 — 使用CSMA/CA协议

802.11无线局域网使用CSMA/CA协议原因

对于802.11无线局域网,其使用无线信道传输数据,这与共享总线以太网使用有线传输介质不同。因此,802.11无线局域网不能简单照搬共享总线以太网使用的CSMA/CD协议

802.11无线局域网采用了另一种称为CSMA/CA的协议,也就是载波监听多址接入/碰撞避免(Carrier Sense Multiple Access/Collision Avoidance,CSMA/CA)

CSMA/CA协议仍然采用CSMA/CD协议中的CSMA,以“先听后说”的方式来减少碰撞的发生,但是将“碰撞检测CD”改为了“碰撞避免CA”

尽管CA表示碰撞避免,但并不能避免所有的碰撞,而是尽量减少碰撞发生的概率

802.11无线局域网不采用“碰撞检测CD”的原因如下:

  1. 由于无线信道的传输环境复杂且信号强度的动态范围非常大,在802.11无线网卡上接收到的信号强度一般都远远小于发送信号的强度,信号强度甚至相差百万倍。因此,如果要在802.11无线网卡上实现碰撞检测,对硬件的要求非常高
  2. 即使能够在硬件上实现碰撞检测功能,但由于无线电波传播的特殊性(存在隐蔽站问题),还会出现无法检测到碰撞的情况,因此实现碰撞检测并没有意义

在理想情况下,无线电波的传播范围是以发送站为圆心的一个圆形面积

image.png

从信号范围可以看出,A无法检测到B发送的信号,B无法检测到A发送的信号

假设A和B同时向接入点AP发送数据,这必然会产生碰撞

image.png

但根据无线信道的信号传播特点,碰撞信号的强度比较弱,即使碰撞信号能传播到A和B,A和B也无法检测出极度微弱的碰撞信号

image.png

无线局域网不能简单照搬共享总线以太网(有线局域网)使用的CSMA/CD协议,而是不再实现碰撞检测CD功能,但在CSMA的基础上增加碰撞避免CA功能,即使用CSMA/CA协议

802.11无线局域网的数据链路层 — CSMA/CA协议的基本工作原理

image.png

假设信道是空闲的,源站要发送它的第一个数据帧,若检测到信道空闲,则在等待DIFS间隔后才能发送

DIFS是指DFC帧间间隔,长度为128μs,在DCF方式中,DIFS用来发送数据帧和管理帧。DCF是分布式协调功能(Distributed Coordination Function, DCF)的英文缩写词。在DCF方式下,没有中心控制站点,每个站点使用CSMA/CA协议通过争用信道来获取发送权。DCF方式是802.11定义的默认方式,必须实现

等待DIFS间隔是考虑到可能有其它的站有高优先级的帧要发送

本例假设现在没有高优先级帧要发送,因而源站就发送了自己的数据帧。另外,帧首部中的“持续时间”字段的值指出了源站要占用信道的时间(包括目的站发回确认帧所需的时间)

image.png

目的站若正确收到该帧,则经过SIFS间隔后向源站发送确认帧ACK,若源站在重传计时器设置的超时时间内没有收到ACK,就必须重传之前已发送的数据帧,直到收到ACK为止;或者经过若干次的重传失败后放弃发送

短帧间间隔(Short Interframe Space, SIFS)的长度为28μs,它是最短的帧间间隔,用来分隔开属于一次对话的各帧。一个站点应当能够在这段时间内从发送方式切换到接收方式。使用SIFS的帧类型有ACK帧、CTS帧等

目的站收到正确的数据帧后,给源站发送确认帧的原因是:由于无线信道的误码率较高,CSMA/CA协议还需要使用停止-等待的确认机制来实现可靠传输,这与使用CSMA/CD协议的共享式以太网不同

image.png

当某个站检测到正在信道中传送的帧的首部中的“持续时间”字段时,就调整自己的网络分配向量(Network Allocation Vector, NAV)。NAV指出了完成这次帧的传送且信道转入空闲状态所需的时间。这就是所谓虚拟载波监听(Virtual Carrier Sense)机制

image.png

在NAV这段时间内,若其他站也有帧要发送,就必须推迟发送。具体为在NAV这段时间结束后再经过一个DIFS间隔,然后还要退避一段随机时间后才能发送帧

image.png

还要退避一段随机时间后才能发送帧的原因是:当某个站在发送帧时,很可能有多个站都在监听信道并等待发送帧,一旦信道空闲,这些站几乎同时发送帧而产生碰撞。为了避免这种情况,所有要发送帧的站检测到信道从忙转为空闲后,都要执行退避算法。这样不仅可以减少发生碰撞的概率,还可避免某个站长时间占用无线信道

当某个站要发送数据帧时,仅在这种情况下才不使用退避算法:检测到信道空闲,并且该数据帧不是成功发送完上一个数据帧之后立即连续发送的数据帧。除此之外的以下情况,都必须使用退避算法:

  • 在发送帧之前检测到信道处于忙态
  • 在每一次重传一个帧时
  • 在每一次成功发送帧后要连续发送下一个帧时

CSMA/CA协议的退避算法

在执行退避算法时,站点会为退避计时器设置一个随机的退避时间

当退避计时器的时间减小到零时,就开始发送数据

当退避计时器的时间还未减小到零但信道又转变为忙状态,这时就冻结退避计时器的数值,并重新等待信道变为空闲后,再经过帧间间隔DIFS后,继续启动退避计时器

在进行第i次退避时,退避时间在时隙编号{0, 1, ..., 2^(2+i)^ - 1}中随机选择一个,然后乘以基本退避时间(也就是一个时隙的长度)就可以得到随机的退避时间。当时隙编号达到255时(对应于第6次退避)就不在增加了

场景举例

image.png

向上的箭头表示该站点有数据帧要发送但此时有其他站点正在发送帧

假设A正在占用无线信道发送帧,在A发送帧的过程中B、C、D也要发送帧,B、C、D于是进行载波监听,发现信道忙,需要退避。根据退避算法选择出各自的随机退避时间,并在每个时隙对信道进行一次检测。当检测到信道由忙状态转为空闲状态且经过帧间间隔DIFS后,退避计时器开始倒计时

image.png

假设C的退避时间最短,当C的退避计时器到时后C立即开始发送帧,此时信道由空闲状态转换为忙状态。当B和D检测到信道忙后就冻结各自剩余的退避时间

image.png

假设在C占用无线信道发送帧的过程中,E也要发送帧,E于是进行载波监听发现信道忙需要退避。根据退避算法选择出一个随机的退避时间并在每个时隙对信道进行一次检测

image.png

当检测到信道由忙状态转为空闲状态且经过帧间间隔DIFS后,退避计时器开始倒计时。当B和D检测到信道由忙状态转换为空闲状态且经过帧间间隔DIFS后,它们各自的退避计时器重新开始从上次冻结的退避剩余时间倒计时

image.png

D的退避计时器会首先到时,D立即开始发送帧,此时信道由空闲状态转为忙状态。当B和E检测到信道忙后就冻结各自剩余的退避时间

image.png

当D发送完帧后,信道将转为空闲状态。当B和E检测到信道由忙状态转换为空闲状态且经过帧间间隔DIFS后,它们各自的退避计时器重新开始从上次冻结的退避剩余时间倒计时

image.png

E的退避计时器会首先到时,E立即开始发送帧,此时信道由空闲状态转为忙状态,当B检测到信道忙后就冻结自己剩余的退避时间

image.png

当E发送完帧后,信道将转为空闲状态。当B检测到信道由忙状态转换为空闲状态且经过帧间间隔DIFS后,它的退避计时器重新开始从上次冻结的退避剩余时间倒计时。当B的退避计时器到时后,B立即开始发送帧

image.png

若B发送完这一帧后还有帧要发送,则在检测到信道空闲且经过帧间间隔DIFS后还必须再退避一段随机时间后才能发送

image.png

为了进一步降低发生碰撞的概率,802.11无线局域网允许源站对信道进行预约

假设信道是空闲的,源站要发送它的第一个数据帧,若检测到信道空闲,则在等待DIFS帧间间隔后先发送一个RTS帧

RTS帧(Request To Send)帧是短的控制帧,它包括源地址、目的地址和本次通信(包括目的站发回确认帧所需的时间)所需的持续时间

RTS帧和CTS帧并不是只有源站和目的站能收到,且收到这两个帧的站点就可以知道通信所需的持续时间

image.png

若目的站正确收到源站发来的RTS帧,在检测到信道空闲且经过帧间间隔SIFS后,就向源站发送一个CTS帧作为响应

CTS帧(Clear To Send)是短的响应控制帧,它也包括本次通信所需的持续时间(是直接从RTS帧中将此持续时间复制到CTS帧中)

image.png

源站正确收到CTS帧后,再等待一个帧间间隔SIFS后就可发送第一个数据帧了。目的站若正确收到该帧,则经过SIFS间隔后,向源站发送确认帧ACK。除源站和目的站的其他各站在收到CTS帧或数据帧后就推迟访问信道,这样就确保了源站和目的站之间的通信不会受到其他站的干扰

image.png

若RTS帧发生碰撞,源站就不可能收到CTS帧,源站会执行退避算法重传RTS帧

使用RTS帧和CTS帧进行信道预约会带来额外的开销。但由于RTS帧和CTS帧都很短,发生碰撞的概率、碰撞产生的开销以及本身的开销都很小。对于一般的数据帧,其发送时延往往远大于传播时延(因为是局域网),碰撞的概率很大,且一旦发生碰撞而导致数据帧重发,则浪费的时间就很多,因此用很小的代价对信道进行预约往往是值得的

尽管如此,802.11无线局域网仍为用户提供了以下三种选择:

  1. 使用RTS帧和CTS帧
  2. 只有当数据帧的长度超过某个数值时才使用RTS帧和CTS帧
  3. 不使用RTS帧和CTS帧

由于RTS帧和CTS帧都会携带通信需要持续的时间,这与之前的数据帧可以携带通信所需持续时间的虚拟载波监听机制是一样的,因此使用RTS帧和CTS帧进行信道预约,也属于虚拟载波监听机制

利用虚拟载波监听机制,站点只要监听到数据帧、RTS帧或CTS帧中的任何一个,就能知道信道将被占用的持续时间,而不需要真正监听到信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题

A和B互为隐蔽站

image.png

A给AP发送RTS帧进行信道预约

image.png

虽然B监听不到该帧,但却能监听到AP应答给A的CTS帧

image.png

B根据CTS帧中的持续时间,修改自己的网络分配相邻NAV,在NAV指示的这段时间内,虽然B监听不到A发送给AP的帧,但B也不会发送帧来干扰A与AP之间的通信

802.11无线局域网的MAC帧

802.11无线局域网的MAC帧分为三种类型:

  • 数据帧

    用于在站点间传输数据

  • 控制帧

    通常与数据帧搭配使用

    负责区域的清空、虚拟载波监听的维护以及信道的接入,并于收到数据帧时予以确认

    ACK帧、RTS帧以及CTS帧都属于控制帧

  • 管理帧

    用于加入或退出无线网络,以及处理AP之间连接的转移事宜

    信标帧、关联请求帧以及身份认证帧等都属于管理帧

802.11无线局域网的数据帧格式比较复杂,这里只介绍其数据帧中的一些重要字段

image.png

802.11无线局域网的数据帧格式由30字节的帧头、0~2312字节的数据以及4字节的帧尾三部分组成

帧头中包含有相关控制信息和地址信息

数据部分主要用来存放上层交付下来的待传送的协议数据单元,尽管数据载荷的最大长度为2312字节,但通常802.11无线局域网的数据帧的长度都不超过1500字节

帧尾用于存放帧检验序列,采用循环冗余检验码

帧头中的帧控制字段是最复杂的字段,其中比较重要的控制位有去往DS和来自DS控制位,它们用于控制帧头中地址1~地址4这四个字段的内容和使用情况

DS是分配系统的英文缩写词,类型和子类型控制位用于区分不同类型的帧,802.11共有数据帧、控制帧和管理帧三种类型,而每种类型又分为若干种子类型

有线等效保密WEP控制位用于指示是否使用了WEP加密算法。WEP表明使用在无线信道上的这种加密算法,在效果上可以和在有线信道上进行通信一样保密

帧头中的持续期字段用于实现CSMA/CA的虚拟载波监听和信道预约机制。在数据帧、RTS帧和CTS帧中用该字段指出将要持续占用信道的时长

帧头中的序号控制字段用于实现802.11的可靠传输,对数据帧进行编号

帧头中的地址1~地址4这四个字段的内容和使用情况取决于帧控制字段中的“去往DS”(到分配系统)和“来自DS”(分配系统)这两个字段的值

去往DS来自DS地址1地址2地址3地址4
00目的地址源地址BSSID未被使用
01目的地址发送AP地址源地址未被使用
10接收AP地址源地址目的地址未被使用
11接收AP地址发送AP地址目的地址源地址

场景举例

image.png

假设基本服务集BSS1中的站点A给站点B发送数据帧,A需要把数据帧发送给接入点AP1,数据帧首部中的帧控制字段中的去往DS和来自DS控制位的值分别设置为1和0。相应地,地址1字段的值设置为AP1的MAC地址、地址2的值设置为A的MAC地址、地址3字段的值设置为B的MAC地址、而地址4未被使用

image.png

AP1收到来自A的数据帧后会将数据帧转发给B。数据帧首部中的帧控制字段中的去往DS和来自DS控制位的值分别设置为0和1,相应地,地址1的值设置为B的MAC地址、地址2的值设置为AP1的MAC地址、地址3的值设置为A的MAC地址,而地址4未被使用

image.png

若站点A要向位于DS的路由器R发送数据帧,这与站点A向B发送数据帧的情况类似。A需要把数据帧发送给AP1,该帧的去往DS的值设置为1、来自DS的值设置为0、地址1的值设置为AP1的MAC地址、地址2的值设置为A的MAC地址、地址3的值设置为R的MAC地址、地址4未被使用

由于DS是以太网,因此AP1会将802.11帧转换成以太网帧转发给R,这时,以太网帧首部中的源地址和目的地址分别是A和R的MAC地址

image.png

当R给A发回响应帧时,以太网帧首部中的源地址和目的地址分别是R和A的MAC地址

AP1收到该以太网帧后会将其转换成802.11帧转发给A,帧首部中的去往DS的值为0、来自DS的值为1、地址1的值为A的MAC地址、地址2的值为AP1的MAC地址、地址3的值为R的MAC地址、地址4未被使用。可见,AP具有网桥功能

image.png

注意:802.11帧中必须要携带AP的MAC地址,而以太网帧中却不需要携带AP的MAC地址。在以太网中,AP与透明网桥一样对各站点是透明的,因此,以太网帧中就不需要指出AP的MAC地址,然而在802.11无线局域网中,在站点的信号覆盖范围内可能会有多个AP共享同一个物理信道,但站点只能与其中一个AP建立关联,因此,802.11帧中就必须携带AP的MAC地址来明确指出转发该帧的AP