北航计网课程笔记-三、数据链路层

第三章 数据链路层

数据链路层的功能

数据链路层的主要任务是实现帧在一段链路上或一个网络中进行传输。

数据链路层使用的信道主要有两种:点对点信道、广播信道。

共同的三个基本问题:封装成帧、透明传输和差错检测。

点对点信道中的一些概念

  • 链路(物理链路):指一个结点到相邻结点的一段物理线路。链路只是一条通信路径的组成部分。
  • 数据链路(逻辑链路):当在一条链路上传输数据时,除了需要链路本身,还需要一些必要的通信协议。数据链路包含实现这些协议的硬件和软件。
  • 帧:数据链路层对等实体之间进行逻辑通信的协议数据单元。数据链路层把网络层下交的数据构成帧发送到链路上,并把接受到的帧中的数据取出并上交给网络层。

为网络层提供服务

  • 无确认的无连接服务:源主机发送帧时不需要先建立链路链接,目的主机收到帧时不需要发回确认。

    适用于误码率较低的信道,如以太网

  • 有确认的无连接服务:源主机发送帧时不需要先建立链路链接,目的主机收到帧时需要发回确认。源主机在规定时间内未收到确认信号时,重传丢失的帧

    适用于误码率较高的信道,如无线通信。

  • 有确认的面向连接服务:帧传输过程分为三个阶段:建立链路、传输帧、释放链路。

    目的主机对收到的每一个帧都要返回确认。适用于可靠性要求较高的场合。

    有连接就一定有确认。

链路管理

数据链路层连接的建立、维持和释放的过程称为链路管理,主要用于面向连接的服务。

封装成帧与透明传输

封装成帧:在一段数据的前后分别添加首部和尾部,构成帧,帧长=数据长度+首部长度+尾部长度。

image-20241229152456369

首部和尾部中有很多控制信息,作用是确定帧的界限帧定界

组帧:发送方

帧同步:接收方从接受到的二进制比特流中区分出帧的起始和终止。

帧长越长,帧的传输效率越高,传输差错发生的概率也随之提高;因此每种链路层协议都规定了帧的数据部分的长度上限,即最大传送单元。

透明传输:不论所传的数据是什么样的比特组合,都能原样无差错地传输。(即使出现与帧定界符相同的比特组合)。

流量控制

限制发送方的发送速率,使之不超过接收方的接受能力。

OSI体系中数据链路层具有流量控制的功能;而TCP/IP体系结构中,流量控制功能被移到了传输层。

差错检测

  • 位错:帧中某些位出现差错,通常采用循环冗余检验(CRC)来发现位错。

  • 帧错:帧丢失、帧重复、帧失序等错误。

    使用帧编号保证接收方不会收到重复帧;

    使用计时重传机制避免帧丢失。

image-20241231111634542 image-20241231111724761

组帧

即封装成帧。

组帧主要解决帧定界、帧同步、透明传输等问题。

组帧时既要加首部,又要加尾部,因为在网络中信息是以帧为最小单位进行传输的,接收方需要判断帧从哪里开始、在哪里结束。

字符计数法

指在帧首部使用一个计数字段来记录该帧所含字节数(包括计数字段本身所占的一个字节)。

问题在于如果计数字段出错,就失去了帧边界划分的依据。

字节填充法

使用特定字节来界定一帧的开始与结束。为了避免误判,可以在特殊字符前添加一个转义字符ESC来加以区分,以实现数据的透明传输。

image-20241229153141928

零比特填充法

HDLC协议使用。

允许数据帧包含任意个数的比特,使用一个特定的比特串01111110来标志帧的开始和结束。

  • 为了避免字段中出现的比特流01111110被误判为首尾标志,发送方先扫描整个数据字段,每遇到5个连续的1就在其后插入一个0。

    即使原来5个1后有0,也仍然填充0。

  • 接收端接收到一个帧时,先找到标志字段确定边界;

    再对比特流进行扫描,发现连续5个1时,就把后面的0删除。

性能优于字节填充法

违规编码法

曼切斯特编码方法中,数据比特“1”编码为“高-低”电平对,“0”编码为“低–高”电平对。这时“高–高”和“低-低”是违规的,可以用来定界帧的起始和终止。

image-20241231113110779 image-20241231113124052

差错控制

本节仅讨论比特差错。

检错编码

检错编码都使用冗余编码技术,核心思想是在有效数据被发送时,按某种关系附加一定的冗余位,构成一个符合某一规则的码字后发送。

常见的检错编码有奇偶检验码和循环冗余码。

  • 奇偶检验码:

    由n-1位2数据和1为检验位2组成,检验位的取值(0或1)将使整个检验码中1的个数为奇数4或偶数

    奇检验码:附加一个检验位后,码长为n的码字中1的个数为奇数。偶检验码相反。

    例如:1001101的奇检验码为10011011,偶检验码为10011010。

    只能检验奇数位的出错情况,但不能发现哪些位错了,也无法检验偶数位的出错情况。

  • 循环冗余码CRC:

    CRC检验码可以检测出所有的单比特错误。

    1. 收发双方约定生成多项式G(x),最高位和最低位必须为1。k位位串可视为阶数为k-1的多项式系数序列,例如x3+x2+1表示位串1101。

    2. 发送方基于待发送的数据和G(x),计算出冗余码(帧检验序列FCS),将冗余码放在数据后面一起发送。

    3. 接收方收到数据和冗余码后,通过G(x)判断数据和冗余码是否产生差错。

      image-20241229155527879

循环冗余码的计算

假设一段m位数据,计算冗余码:

  1. 加0。假设G(x)的阶为r,在数据后面加r个0。
  2. 模2除。用G(x)对应的二进制串去除上一步添加了0后的数据,得到的余数即为冗余码(共r位)。

image-20241021210412327

  1. 把冗余码(即FCS)添加到数据的后面,然后发送
  2. 接收方检验:带冗余码的数据模2除G(x)对应的二进制串,余数为0则说明无差错。
  3. 发送方的FCS生成和接受方的CRC检验都是由硬件实现的,处理非常迅速。

CRC检验能实现无比特差错的传输,但不是可靠的传输。

纠错编码

常见的纠错编码是海明码,原理是在有效信息位中添加几个位形成海明码,并把海明码的每个二进制位分配到几个奇偶检验组中。某一位出错后,就会引起有关的几个检验位的值变化,可以指出错位的位置。

海明码过程?

  • 检测d位错误:码距至少为d+1
  • 纠正d位错误:码距至少为2d+1

流量控制与可靠传输机制

  • 流量控制是指由接收方控制发送方的发送速率,使接收方有速购的缓冲空间来接收每个帧。

  • 常见的流量控制方法有两种:停止–等待协议和滑动窗口协议。

  • 数据链路层和传输层均有流量控制的功能,它们都用到了滑动窗口协议,区别如下:

    • 数据链路层控制的是相邻结点之间的流量,而传输层控制的是端到端的流量。

    • 数据链路层的控制手段是接收方收不下就不返回确认

      传输层的控制手段是接收方通过确认报文段中的窗口值来调整发送方的发送窗口。

停止–等待流量控制

发送方每次发送一个帧,接收方每接收一个都要反馈一个应答信号,发送方收到应答信号后才能发送下一帧。

  • 发送一个帧的时候,就启动一个计时器,以实现超时重传
  • 发完一个帧需要保存它的副本
  • 数据帧和确认帧都需要编号。

传输效率低。

滑动窗口流量控制

任何时候发送方都维持一组连续的允许发送帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口。发送窗口表示在还未收到对方的确认信息时,发送方最多还能发送哪些帧;同理,接收窗口的设置是为了控制可以接受哪些帧。

image-20241102195127411

发送方每收到一个按序确认的确认帧,就将发送窗口向前滑动一个位置,就有一个新的数据帧可以继续发送。

image-20241102200215525

接收方每收到一个序号落入接受窗口的数据帧,就允许将该帧收下,然后将接收窗口向前滑动一个位置,并发回确认。

若收到的帧落到接受窗口之外,则一律丢弃。

滑动窗口具有的特性:

  • 只有接收窗口向前滑动(同时接收方发送了确认)时,发送窗口才有可能(只有在收到了确认后)向前滑动。
  • 当接收窗口大小为1时,可保证帧的有序接收。
  • 与传输层不同,数据链路层的滑动窗口协议中,窗口大小在传输过程中是固定的。

可靠传输机制

指发送方发送的数据都能被接收方正确地接受。通常采用确认和超时重传两种机制。

确认:接收方接收到一个数据帧,都要向发送方发送一个确认帧。

超时重传:发送方在发送一个数据帧后就启动一个计时器,若在规定时间内没有收到所发送数据帧的确认帧,则重发该数据帧。

使用这两种机制的可靠传输机制称为自动重传请求(ARQ)

ARQ协议分为三种:

  • 停止—等待协议:发送窗口=接收窗口=1

  • 后退N帧(GBN)协议:发送窗口N个,接收窗口1个

  • 选择重传(SR)协议:发送窗口N个,接收窗口M个(一般来说N=M)

  • 后退N帧协议

    • 发送方发送N个数据帧后,如果发现这N个帧的前一个帧超时没有接收到确认信息,此时发送方需要重传该出错帧及随后的N个帧。这意味着接收方只允许按顺序接收帧

    • 累计确认:接收方对某一数据帧的确认,表明该数据帧和此前所有数据帧均已正确无误地收到。

    • 若采用n比特对帧编号,则发送窗口WT应当满足1<WT2n1

      注意与下面的选择重传协议区分。

  • 选择重传协议

    • 可以设法只重传差错帧,但必须加大接受窗口,以收下失序但正确到达的数据帧;
    • 当接收方检测到出错帧时,发送一个否定的确认帧NAK,要求 发送方立刻重传NAK指定的数据帧。
    • 等到所缺失的数据帧收齐后,再一并送交上层。

    需要满足:WR+WT2nWRWT

image-20241231133239274

答案为C。

信道利用率分析

停止–等待协议下的信道利用率

信道利用率:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。

image-20241229170511624

TD:发送时延

RTT:双向传播时延

TA:接收时延,通常可以忽略不计

image-20241229170656400

连续ARQ协议的信道利用率

  • 连续ARQ协议采用流水线传输,即发送方可以连续发送多个分组
  • 只要发送窗口足够大,就可以使信道上数据持续流动。
image-20241231131247360

第二种情况:第一个发出的被确认接收,新窗口空出之前,分组内的n个窗口还没有耗尽。

image-20241231144933905

介质访问控制

  • 介质访问控制的任务:为使用介质的每个节点隔离来自同一信道上其他结点所传送的信号。

  • 常见方法:信道划分介质访问控制、随机访问介质访问控制、轮询访问介质访问控制。

  • 用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制(MAC)子层。

信道划分介质访问控制

是静态划分信道的方法。

将使用同一传输介质的多个设备的通信隔离开,把时域和频域资源合理地分配给这些设备。

信道划分介质访问控制通过复用技术实现,包括以下四种:

  • 频分复用FDM

    • 将物理信道的总带宽分割成若干个与传输单个信号带宽相同的子信道,每个子信道只能被一个信号所占用
    • 每个子信道分配带宽可不相同,但总和不能超过信道的总带宽
    • 为防止子信道之间的干扰,相邻信道之间需要加入保护频带
  • 时分复用TDM

    • 将一条信道按时间分成若干时间片,轮流分配给多个信号使用。
  • 波分复用

    • 光的频分多路复用技术,在光纤中传输不同波长(频率)的光信号
    • 由于不同波长的光信号互相不干扰,所以最后可以直接将波长分解出来
    • 光波处于频谱的高频段,有很高的带宽,所以可以实现多路波分复用
  • 码分复用(码分多址):

    • 共享频率也共享时间,但是将每个比特时间再划分成m个短的时间槽,称为码片,每个站点被指派一个唯一的m位码片序列。
  • 发送1时,站点发送其码片序列;发送0时,站点发送码片序列的反码。

    • 当两个或多个站点同时发送时,各路数据在信道中线性相加。为了能分离出各路信号,要求各个站点的码片序列相互正交

    image-20241102203943405

随机访问介质访问控制

又称争用型协议。

是动态分配信道的方法。

随机访问协议中,所有用户都能随机发送信息,占用信道的全部速率

但当有两个及以上用户同时发送时,就会产生帧冲突(碰撞).

为了解决这一点,每个用户需要按一定的规则反复重传帧,知道该帧无冲突地通过。

结点之间既不共享时间,也不共享空间。实际上将广播信道转换为点到点信道的机制。

  1. ALOHA协议

    • 纯ALOHA协议:当总线形网络中的任何站点需要发送数据时,可以不进行任何检测就发送数据。若在一段时间内未收到确认,则等待一段时间后再发送数据,直到发送成功。

    • G 为网络负载(T0时间内所有站点发送成功的和未成功而重传的帧数), S 为T0时间内成功发送的平均帧数

    • 吞吐量 S=Ge2G,当$ G=0.5 S=0.0.184$ 达到最大值,可见,纯ALOHA协议的吞吐量很低

  2. 时隙ALOHA协议

    • 各个站点同步起来,将时间划分为等长的时隙,规定只有时隙开始时才能发送数据,减少冲突可能性
    • 吞吐量S=GeG,当 G=1 时,S=0.0.368 达到最大值,可见,时隙ALOHA协议的吞吐量比纯ALOHA协议高
  3. CSMA协议

    载波监听多路访问协议,在发送前侦听共用信道,如果信道空闲,则发送,否则等待一段时间后再发送。

    相较于ALOHA多了一个载波监听装置。

    image-20241102205935930

  4. CSMA/CD协议

    载波监听多路访问/冲突检测协议,CSMA协议的改进版。

    适用于总线形网络半双工网络环境,站点不能同时发送和接收。

    工作原理:

    • 先听后发:侦听信道空闲,则开始发送帧
    • 边听边发:发送过程中持续监测信道
    • 冲突停发:若未检测到碰撞,则发送完毕该帧;否则终止数据发送,并发送一个拥塞信号,以便通知其他站点发生了碰撞。
    • 随机重发:终止发送后,执行指数退避算法,等待一段时间后执行边听边发的步骤。

    一些公式:

    • 争用期:又称冲突窗口,某站在发送数据后最多经过2τ(端到端传播时延的两倍)就能知道有没有发生冲突,因此争用期 = 2τ

    • CSMA/CD的最短帧长 = 总线传播时延×数据传播速率×2

      注意以上两者以太网中另有规定。

      以太网取51.2μs为争用期的长度

      以太网中规定的最短有效帧长就是64字节。

      对于10Mb/s的以太网,在争用期内可发送512bit,即64字节。

      对于100Mb/s的以太网,仍然是64字节的发送时间,所以争用期 =5.12μs

    • 当发生冲突时,CSMA/CD采用截断二进制指数退避算法来确定冲突后重传的时机。算法过程如下:

    image-20241102221951423

    强化碰撞:当发送端发现碰撞时,除了立即停止发送数据外,还要再继续发送32bit或48bit的人为干扰信号,以便让所有用户都知道现在已经发生了碰撞。

  5. CSMA/CA协议

    对CSMA/CD协议进行修改,将冲突检测改为冲突避免。

轮询访问:令牌传递协议

动态分配信道的方法。

用户不能随机发送信息,而要通过一个集中控制的监控站,轮询每个结点,再决定信道的分配。

工作原理:

  • 令牌沿着环形总线在各个计算机之间依次传递,是一个特殊的MAC控制帧,本身并不包含信息,只控制信道的使用
  • 对于所有入网的计算机而言,访问权是公平的
  • 令牌只有一个,不会发生冲突
  • 适合负载很高的广播信道,因为其发生冲突的概率很大
  • 传输介质的物理拓扑不一定是环,但是传输通路逻辑上必须是一个环。
  • 传递过程:
    • 空闲传递:网络空闲时,环路中只有令牌帧在循环传递
    • 开始传输:令牌传递到有数据要发送的站点时,该站点就修改令牌中的一个标志位,并在令牌中附加自己需要传输的数据,将令牌变为一个数据帧,然后将这个数据帧发送出去
    • 环路传输:数据帧沿着环路传输,接收到的站点一边转发数据,一边查看帧的目的地址。如果目的地址和自己的地址相同,那么接收站就复制该数据帧以便进一步处理。
    • 返回源点:数据帧沿着环路传输,直到到达该帧的源站点,源站点收到自己发出的帧后不再转发。同时检验返回的帧来查看传输过程是否出错,如果出错就重传
    • 结束传输:源站点发送完毕后,重新产生一个令牌,传递给下一个站点,交出信道控制权。

局域网

包括以太网、令牌环网、FDDI

概念

局域网(LAN)指在一个较小地理范围内,将各种计算机、外部设备和数据库系统等,通过双绞线等连接介质互相连接起来,组成资源和信息共享的计算机互连网络。

特点:

  • 为一个单位所拥有,且地理范围和站点数目均有限。
  • 所有站点共享较高的总带宽。
  • 较低的时延和误码率。
  • 各站为平等关系,而非主从关系。
  • 能进行广播和多播。
image-20241102212053277

比特时间

比特时间:一比特时间就是发送一比特所需要的时间。

好处:便于建立信息长度和发送延迟的关系,这种时间单位与数据率密切相关。

100比特时间:假设数据率是10Mbit/s,则100比特时间等于10us。

以太网与IEEE 802.3

IEEE 802.3的标准与以太网差别很小,所以将802.3局域网简称为以太网。

  • 以太网的逻辑拓扑是总线形结构,物理拓扑是星形结构。

  • 编码:曼切斯特编码。

  • 采用无连接的工作方式,不对发送的数据帧编号,也不要求接收方发送确认,是不可靠的交付。

  • 逻辑上,所有计算机共享一条总线,信息以广播方式发送。

  • 以太网使用CSMA/CD方式对总线进行访问控制。

  • 高速以太网:速率达到100Mb/s的以太网

  • 100BASE-T以太网:又称快速以太网,可以在全双工方式下工作而无冲突发生,因此不使用CSMA/CD协议。

以太网的传输介质和网卡

常见的传输介质:粗缆、细缆、双绞线和光纤。

  • 计算机与外界局域网的连接,是通过主板上嵌入的一块网络适配器(又称网络接口卡)实现的。
  • 适配器上装有处理器和存储器,工作在数据链路层。
  • 适配器与局域网的通信是串行方式的,而与计算机的通信是通过I/O总线以并行方式进行的。
  • 所以,适配器的重要功能就是数据的串并转换

以太网的MAC地址

MAC地址又称物理地址,它是一个48位的全球地址,是局域网上的每台计算机中固化在适配器的ROM中的地址。

只要计算机没有更换适配器,不管地理位置如何,MAC地址都不会改变。

MAC地址长6字节(48位),一般用12个16进制数来表示。当路由器通过适配器连接到局域网时,适配器上的MAC地址就用来标志路由器的某个接口。

适配器从网络上每收到一个MAC帧,首先都要用硬件检查MAC帧中的目的地址,若是发往本站的帧,则收下,否则丢弃。

MAC帧格式:

image-20241102224702158

  • 帧前面插入的前导码:8字节,第一个字段是7字节的前同步码,第二个字段是1字节的帧开始定界符。

  • 目的地址:6字节,帧在局域网上的目的适配器的MAC地址

  • 源地址:6字节,将帧传输到局域网上的源适配器的MAC地址

  • 类型:2字节,指出数据字段中的数据应该交给哪个上层协议处理(如网络层IP协议)。

  • 检验码FCS:4字节,检验范围:目的地址到数据字段,采用32位CRC码(循环冗余检验)。

  • 填充字段:当数据字段的长度小于64-6-6-2-4=46字节时,应该向数据字段的后面加入整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。

广域网

广域网的基本概念

广域网是指覆盖范围很广的长距离网络,任务是长距离运送主机所发送的数据。

广域网首要考虑的问题是通信容量必须足够大,以便支持日益增长的通信量。

  • 传输方式:存储转发式
  • 通信子网主要使用:分组交换技术
  • 通常采用网状结构
  • 局域网接入广域网:路由器。

image-20241229143807143

HDLC:高级数据链路控制,王道上被删了

PPP:点对点协议,目前使用最广泛的数据链路层协议

PPP协议

即点对点协议。是现在最流行的点对点链路控制协议。

主要有两种应用:

  • 用户通常要连接到某个ISP才能接入互联网,PPP协议就是用户计算机与ISP通信时所用的数据链路层协议
  • 广泛用于广域网路由器之间的专用线路。

PPP协议有三个组成部分:

  • 链路控制协议LCP。用来建立、配置、测试数据链路连接,以及协商一些选项。
  • 网络控制协议NCP。PPP允许采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
  • 一种将IP数据报封装到串行链路的方法。IP数据报在PPP帧中就是其信息部分,这个信息部分的长度受到最大传送单元(MTU)限制。

PPP帧的格式:

image-20241229144857530

  • 首部和尾部各有一个标志字符(F),规定为0x7E,作为定界符。

  • PPP使用异步传输时,采用字节填充法,使用的转义字符是0x7D;使用同步传输时,使用零比特填充法实现透明传输。

  • 地址字段A:占1字节,规定为0xFF

  • 控制字段C:占1字节,规定为0x03

  • 协议段:占2字节,表示信息段运载的是什么种类的分组,。

    • 若为0x0021,则信息字段是IP数据报
    • 若为0xC021,则信息字段是PPP链路控制协议(LCP)的数据。

    因为PPP是点对点的,而不是总线形,所以无需使用CSMA/CD协议,没有最短帧长的限制。

  • 帧检验序列(FCS):占2字节,是使用CRC检验的冗余码。

PPP协议状态图:

image-20241229145941222

PPP协议的特点:

  • 不使用序号和确认机制,只保证无差错接受(CRC检验)因此是不可靠服务
  • 只支持全双工的点对点链路,不支持多点线路
  • PPP的两端可以运行不同的网络层协议,但仍可以使用同一个PPP通信。
  • 面向字节,所有PPP帧的长度都是整数个字节。
  • 支持身份鉴别
  • 提供差错检测,但是不提供纠错功能。
  • 支持动态分配IP地址。

HDLC协议

image-20241229212254475
  • 数据报文可透明传输,使用零比特插入法实现。
  • 支持全双工和半双工传输,数据链路传输效率高。
  • 采用CRC校验,可以对信息帧进行顺序编号,防止漏收重发,可靠性高。
  • 站:主站、从站、复合站。

PPP和HDLC异同

  • PPP是面向字节的,HDLC是面向比特的
  • PPP帧比HDLC帧多了一个2字节的协议字段,若协议字段为0x0021,说明信息字段是IP数据报
  • PPP协议不用序号和确认机制,只保证无差错接收(CRC检验),端到端差错检测由高层负责
  • HDLC信息帧使用序号和确认机制,能够提供可靠传输。

数据链路层设备

网桥

  • 网桥连接两个或多个以太网,就会称为一个覆盖范围更大的以太网,而原来的每个以太网称为一个网段
  • 其工作在链路层的MAC子层,可以使以太网各网段称为隔离开的冲突域
  • 各个网段相对独立,故一个网段故障不会影响另一个网段。
  • 网桥的作用
    • 连接两个或多个以太网
    • 过滤不属于自己网段的帧
    • 转发属于自己网段的帧
    • 学习每个网段的MAC地址
    • 维护每个网段的MAC地址表

以太网交换机

交换机的原理和特点

  • 以太网交换机是一个多端口的网桥
  • 工作在数据链路层
  • 将网络划分成小的冲突域,为每个工作站提供更高的带宽
  • 工作原理:检测MAC地址,查找表(若不在表中则添加),转发数据。

对于 N 个用户,共享式以太网每个用户平均带宽是原来的 1/N 倍,而使用以太网交换机,交换机的总容量是原来的 N 倍

以太网交换机特点:

  • 每个端口直接和主机相连时,可以工作在全双工方式
  • 交换机的接口连接集线器时,只能使用CSMA/CD协议,且只能工作在半双工模式。
  • 交换机能同时连通多个端口,使每对主机都能无碰撞地传输数据
  • 即插即用,内部帧的转发表通过自学习算法建立
  • 交换机使用专门的交换结构芯片,交换速率较高
  • 交换机独占传输介质的带宽

交换模式:

  • 直通交换方式
    • 只检查帧的目的MAC地址,以决定该帧的转发端口
    • 交换时延小,但是不检查差错
    • 不适用于需要速率匹配、协议转换或差错检测的线路
  • 存储转发交换方式
    • 先把接收到的帧缓存在高速缓存器里,并检查数据是否正确
    • 确认无误后通过查找表转化为输出接口,以便将该帧发送出去
    • 如果发现帧有错,则将其丢弃
    • 优点是可靠性高,且能支持不同速率接口间的转换;
    • 缺点是时延较大

交换机的自学习功能

交换机的过滤和转发借助交换表实现。

交换表中的一个表项至少包含:

  • 一个MAC地址
  • 连通该MAC地址的接口

交换机的自学习过程:

  1. A先向B发送一帧,从接口1进入交换机。

  2. 交换机收到帧后,查找交换表,找不到MAC地址为B的表项

  3. 交换机将该帧的源地址A和接口1写入交换表,并向除接口1外所有接口广播这个帧

  4. B收下这个目的地址正确的帧。

  5. 如果查找交换表,能找到目的MAC地址对应的接口,则不需要广播,直接将该帧从接口转发给目标主机

  6. 只要主机向其他主机发送帧,就可以把源主机和对应的端口写入交换表。

    这里不会写入目的MAC地址和对应的端口,因为没有返回。

  7. 交换表中的表项都设有一定的有效时间,过期表项将被自动删除。

共享式以太网和交换式以太网的对比

假设交换机已经建立了完整的转发表。

共享式以太网:使用集线器

交换式以太网:使用交换机

  • 主机发送普通帧。
    • 共享式以太网:集线器将帧转发到其他的所有接口,其他各主机中的网卡根据帧的目的MAC地址决定接收或丢弃。
    • 交换式以太网:交换机收到帧后,根据帧的目的MAC地址和自身的交换表将帧明确地转发给目的主机。
  • 主机发送广播帧
    • 共享式以太网:集线器将帧转发到其他所有接口,其他各主机中的网卡检测到帧的目的MAC是广播地址时,就接收该帧。
    • 交换式以太网:交换机检测到该帧的目的MAC地址广播地址,于是从其他所有接口转发该帧;其他各主机收到该广播帧后,就接收该帧。
  • 多对主机同时通信
    • 共享式以太网:出现冲突
    • 交换式以太网:能实现多对接口的告诉并行交换,不会产生冲突
  • 隔离
    • 集线器不隔离广播域也不隔离冲突域。
    • 交换机不隔离广播域,但是隔离冲突域。

image-20241231191154566

posted @   qiuer0121  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示