【计算机网络】数据链路层(Data Link Layer)

前言:本章作为《计算机网络》系列的第三篇文章,内容主要是向大家介绍数据链路层的内容,引入封装成帧、透明传输、差错控制、数据链路层的流量控制与是否能实现可靠传输、介质访问技术、局域网、广域网、链路层设备等内容(参考资料为b站上点击量最高的两个计网视频——王道&方老师,王道有的地方会讲的不够好,大家可以两个交替看)。


文章目录

  • 1.基本概念
    • 1.1 数据链路层的简单模型
    • 1.2 数据链路和帧
  • 2.封装成帧与透明传输
    • 2.1 封装成帧
    • 2.2 透明传输
      • 2.2.1 字符计数法
      • 2.2.2 字符填充法
      • 2.2.3 零比特填充法
      • 2.2.4 违规编码法
  • 3.差错控制
    • 3.1 差错从何而来?
    • 3.2 差错控制
      • 3.2.1 奇偶校验码
      • 3.2.2 循环冗余码CRC
      • 3.2.3 纠错编码(海明码)
    • 3.3 是否为可靠传输?
    • 3.4 思维导图:
  • 4.数据链路层的流量控制和可靠传输
    • 4.1 流量控制与可靠传输
      • 4.1.1 停止等待协议(Stop-and-Wait)
      • 4.1.2 后退N帧协议(GBN)
      • 4.1.3 选择重传协议(SR)
  • 5.介质访问控制技术
    • 5.1信道划分访问介质
      • 5.1.1频分多路复用FDM
      • 5.1.2时分多路复用TDM
      • 5.1.3波分多路复用WDM(了解即可)
      • 5.1.4码分多路复用CDM(重点)
    • 5.2 随机访问介质访问控制
      • 5.2.1 ALOHA协议
      • 5.2.2 CSMA协议
      • 5.2.3 CSMA/CD协议
      • 5.2.4 CSMA/CA协议
      • 5.2.5 CSMA/CD 与 CSMA/CA的区别
    • 5.3 轮询访问介质访问控制
      • 5.3.1 轮询协议(了解即可)
      • 5.3.2 令牌传递协议(重点内容)
  • 6.局域网
    • 6.1 局域网的概念
      • 6.1.1 局域网的网络拓扑结构
      • 6.1.2 局域网的传播介质
      • 6.1.3 局域网介质访问方法
    • 6.2 局域网的分类
    • 6.3 以太网的两个标准
      • 6.3.1 链路层的两个控制子层
    • 6.4 以太网
      • 6.4.1 概念
      • 6.4.2 发展
      • 6.4.3 10BASE-T以太网
      • 6.4.4 适配器与MAC地址
      • 6.4.5 以太网MAC帧
      • 6.4.6 高速以太网
      • 6.4.7 以太网信道利用率
      • 6.4.8 信道利用率的最大值
    • 6.5 无线局域网( IEEE802.11 )
      • 6.5.1 无线局域网的分类
        • 6.5.1.1 有固定基础设施
        • 6.5.1.2 无固定基础设施
  • 7.广域网
    • 7.1 广域网的概述
    • 7.2 PPP协议(Point-to-Point Protocol)
      • 7.2.1 PPP协议需要满足的要求
      • 7.2.2 PPP协议不需要满足的要求
      • 7.2.3 PPP协议组成成分以及功能
      • 7.2.4 PPP协议的帧格式
      • 7.2.5 **PPP** 协议采用零比特填充方法来实现透明传输
    • 7.3 HDLC协议(High-Level Data Link Control)
      • 7.3.1 HDLC协议概述
      • 7.3.2 HDLC的三种站
      • 7.3.3 HDLC的帧格式
      • 7.3.4 PPP协议和HDLC协议对比
    • 7.4 思维导图
  • 8.链路层设备
    • 8.1 集线器(Hub)
    • 8.2 网桥(Bridge)
      • 8.2.1 两种网桥
        • 8.2.1.1 透明网桥
        • 8.2.1.2 源路由网桥
    • 8.3 交换机
      • 8.3.1交换机的特点
      • 8.3.2 交换机的交换方式分类
      • 8.3.3 交换机的优点
      • 8.3.4 以太网交换机的自学习功能
      • 8.3.5 交换机使用了生成树协议
    • 8.4 虚拟局域网
    • 8.5 冲突域和广播域
  • 9.本章知识点思维导图


1.基本概念

【计算机网络】数据链路层(Data Link Layer)_第1张图片

可以把数据链路层理解成“小秘书”,网络层理解成“大BOSS”,当网络层需要数据链路层帮忙传送数据给另一个网络层时,数据链路层会把数据进行编号发送给物理层,物理层特别“傻”,容易把数据弄丢!数据丢失就回来继续找数据链路层要丢失的数据。

【计算机网络】数据链路层(Data Link Layer)_第2张图片

【计算机网络】数据链路层(Data Link Layer)_第3张图片

1.1 数据链路层的简单模型

【计算机网络】数据链路层(Data Link Layer)_第4张图片

【计算机网络】数据链路层(Data Link Layer)_第5张图片


1.2 数据链路和帧

【计算机网络】数据链路层(Data Link Layer)_第6张图片

【计算机网络】数据链路层(Data Link Layer)_第7张图片

【计算机网络】数据链路层(Data Link Layer)_第8张图片


2.封装成帧与透明传输

数据链路层三个基本问题

【计算机网络】数据链路层(Data Link Layer)_第9张图片

2.1 封装成帧

就是加将数据加头加尾,相当于将数据打包

image-20210910095835835

【计算机网络】数据链路层(Data Link Layer)_第10张图片

【计算机网络】数据链路层(Data Link Layer)_第11张图片


2.2 透明传输

就是为了防止特殊的数据无法正常传输的的情况的发生,比如说在封装成帧的过程中出现数据中的某些标记符与开始/结束标记符恰巧重复等等情况。

【计算机网络】数据链路层(Data Link Layer)_第12张图片

image-20210910100459625

解决方法如下:

2.2.1 字符计数法

前面一个字符传递出现错误,会导致后续全部错误。

在帧的首部做计数,看看数据是否错误
缺点:如果在某一个帧内,标记位后面的某个字节的数据丢失,那么会影响后面的帧
比如3 1 1 和 4 2 2 2,如果前面的帧丢失变成 3 1,那么后面的4就会被补到前面变成 3 1 4导致错误

【计算机网络】数据链路层(Data Link Layer)_第13张图片

2.2.2 字符填充法

加头加尾分别标记开始结束,和零比特填充法对比,开始和结束的对应的字符不一样
但有可能出现数据内某段比特流数据正好与标记字段重复,从而导致误判断的情况,所以会加转义字符。

【计算机网络】数据链路层(Data Link Layer)_第14张图片

【计算机网络】数据链路层(Data Link Layer)_第15张图片

【计算机网络】数据链路层(Data Link Layer)_第16张图片

练习题

【计算机网络】数据链路层(Data Link Layer)_第17张图片

答案:7E FE 27 7D 7D 65 7E

2.2.3 零比特填充法

【计算机网络】数据链路层(Data Link Layer)_第18张图片

【计算机网络】数据链路层(Data Link Layer)_第19张图片

练习题

【计算机网络】数据链路层(Data Link Layer)_第20张图片

答案:两个,只要遇见连续的五个1,直接插入一个0.

2.2.4 违规编码法

因为曼彻斯特编码只使用高-低,低-高来表示,所以如果使用高-高,低-低来表示帧起始和终止就不会与数据冲突

【计算机网络】数据链路层(Data Link Layer)_第21张图片


3.差错控制

3.1 差错从何而来?

数据链路层的差错检测的是比特的错误

【计算机网络】数据链路层(Data Link Layer)_第22张图片

【计算机网络】数据链路层(Data Link Layer)_第23张图片

【计算机网络】数据链路层(Data Link Layer)_第24张图片


3.2 差错控制

【计算机网络】数据链路层(Data Link Layer)_第25张图片

3.2.1 奇偶校验码

缺点:只能检测出1,3,5,7…等等奇位数错误,检测成功率位50%

【计算机网络】数据链路层(Data Link Layer)_第26张图片

3.2.2 循环冗余码CRC

除数是随机生成的,得出的余数FCS最终再加到源数据M上,再除一次,除得尽就认为没问题。

【计算机网络】数据链路层(Data Link Layer)_第27张图片

【计算机网络】数据链路层(Data Link Layer)_第28张图片

【计算机网络】数据链路层(Data Link Layer)_第29张图片

【计算机网络】数据链路层(Data Link Layer)_第30张图片

冗余码计算举例

【计算机网络】数据链路层(Data Link Layer)_第31张图片

【计算机网络】数据链路层(Data Link Layer)_第32张图片

【计算机网络】数据链路层(Data Link Layer)_第33张图片

【计算机网络】数据链路层(Data Link Layer)_第34张图片

就是用传输数据除以生成多项式得到冗余码

这个除法有点类似于异或运算哦!

【计算机网络】数据链路层(Data Link Layer)_第35张图片

1.阶数就是最高位是哪位,然后位数-1,如10011就是5-1=4,1011就是4-1=3
2.异或运算就是相同得0,不同得1,比如100和101做异或,结果就是001
3.出书和最后的余数添加到要发送的数据后面,称为帧检验序列FCS

【计算机网络】数据链路层(Data Link Layer)_第36张图片

【计算机网络】数据链路层(Data Link Layer)_第37张图片

3.2.3 纠错编码(海明码)

分为四步

第一步 确认校验码位数r

【计算机网络】数据链路层(Data Link Layer)_第38张图片

第二步 确定校验码和数据的位置

1.为什么是10为数据位?因为4位校验码+6位信息位=10位
2.校验码放到2的几次方的位置,其他的地方按顺序放已知的信息位

【计算机网络】数据链路层(Data Link Layer)_第39张图片

第三步 求出校验码的值

1.先是通过二进制位确定有几位。本题中因为最大位10的二进制是101 0,所以是4为,将其标注
2.然后从p1开始看,看p1的二进制位的数值和所有信息位的对应位置的数值是否相同,然后找出来这些位
这里有点难理解,这里以p1为例辅助理解,这里找出来的就是P1,D1,D2,D4,D5
然后计算异或值,比如说这里D1=1,D2=0,D4=1,D5=0,就是p1要同时和0,1,0,1进行异或之后得到0,为了标识我加粗原始计算数据
举例:0和1异或得1,1和0异或得1,1和1异或得0,那么p1和0异或得0,p1就是0了
3.其他同理,按顺序计算出P2,P3,P4,然后填入表格

【计算机网络】数据链路层(Data Link Layer)_第40张图片

第四步 检测并纠错

就是和上面一样,将所有校验位进行运算,得出的结果的值就是错误的位。

【计算机网络】数据链路层(Data Link Layer)_第41张图片


3.3 是否为可靠传输?

可靠传输是不重复、不丢失、不失序!

这里CRC可还差远啦!

【计算机网络】数据链路层(Data Link Layer)_第42张图片

【计算机网络】数据链路层(Data Link Layer)_第43张图片

3.4 思维导图:

【计算机网络】数据链路层(Data Link Layer)_第44张图片


4.数据链路层的流量控制和可靠传输

4.1 流量控制与可靠传输

流量控制是为了让传输过程中的发送速度和接受速度匹配,减少传输出错与资源浪费
可靠传输是发送端发送什么,接收端就要受到什么

【计算机网络】数据链路层(Data Link Layer)_第45张图片

【计算机网络】数据链路层(Data Link Layer)_第46张图片

【计算机网络】数据链路层(Data Link Layer)_第47张图片

【计算机网络】数据链路层(Data Link Layer)_第48张图片


4.1.1 停止等待协议(Stop-and-Wait)

【计算机网络】数据链路层(Data Link Layer)_第49张图片停止等待协议的无差错情况

因为一次就一个,所以用0和1标记ack就行

【计算机网络】数据链路层(Data Link Layer)_第50张图片

停止等待协议的有差错情况

1.数据帧丢失或接受端检测出错

【计算机网络】数据链路层(Data Link Layer)_第51张图片

【计算机网络】数据链路层(Data Link Layer)_第52张图片

2.ACK丢失

【计算机网络】数据链路层(Data Link Layer)_第53张图片

3.ACK迟到

【计算机网络】数据链路层(Data Link Layer)_第54张图片

停止等待协议的优缺点

1.简单
2.信道利用率低。大部分时间数据都在路上,发送方很 长时间闲置,资源浪费。

【计算机网络】数据链路层(Data Link Layer)_第55张图片

补充知识点信道利用率

【计算机网络】数据链路层(Data Link Layer)_第56张图片


4.1.2 后退N帧协议(GBN)

因为停止等待协议太浪费时间了,所以尝试采用GBN,发送连续多个数据帧,以增大信道利用率。
累计确认:就是收到一个确认帧,那么它和它之前的所有帧都默认已收到,反之,如果某个确认帧没收到,那么它和它之后的所有帧都默认丢失(即使收到了也丢掉),进行重传。

【计算机网络】数据链路层(Data Link Layer)_第57张图片

【计算机网络】数据链路层(Data Link Layer)_第58张图片

实例
此图发送2帧时丢失,所以接收方几首收到后面的帧也是直接丢弃并且发送最晚收到的有效帧1的ACK,直至2帧的超时重传机制被触发进行重传并得到ACK之后,接收方才会接受2帧以及后面的帧。

为什么发送窗口不能无限大?

比如我们发送“01230123”,当前边的0123发送失败,接收方又接收到了0123时,这时候接收方是无法辨别此时这个0123是前边的还是后边的。
GBN的优缺点也显而易见,优点是提高了信道利用率,缺点是因为重传机制的原因导致已经收到数据却需要强行丢弃而造成浪费。

【计算机网络】数据链路层(Data Link Layer)_第59张图片

GBN重点总结

【计算机网络】数据链路层(Data Link Layer)_第60张图片

练习题

【计算机网络】数据链路层(Data Link Layer)_第61张图片

GBN协议的性能

【计算机网络】数据链路层(Data Link Layer)_第62张图片

思维导图

【计算机网络】数据链路层(Data Link Layer)_第63张图片


4.1.3 选择重传协议(SR)

【计算机网络】数据链路层(Data Link Layer)_第64张图片

【计算机网络】数据链路层(Data Link Layer)_第65张图片

为了解决GBN的缺点,我们打算尝试只重传错误的帧,这样的话就不用浪费资源吧已经收到的帧再重传一次了。
和GBN相比,两者都有窗口了,和GBN的区别其实就是做了一个数据缓存,已经收到的帧不用扔了,等待之前因意外丢失的帧收到的时候确认即可,但是只能缓存窗口尺寸内的包含的帧(PS,缓存咋可能无限大)
SR运行过程
注释:2帧丢失之后仍然在发送,但是2帧丢失之后只是缓存,并没有移动窗口,直至最后2帧收到后一次性确认2-5帧

同样的,因为编号的问题,发送窗口不能无限大
发送窗口最后和接受窗口大小相同,这样利用率比较高

新帧和旧帧计算机分不清!

image-20210912191112106

SR重点总结

【计算机网络】数据链路层(Data Link Layer)_第66张图片

练习题

【计算机网络】数据链路层(Data Link Layer)_第67张图片

思维导图

【计算机网络】数据链路层(Data Link Layer)_第68张图片


5.介质访问控制技术

就是让节点之间的通信不会进行相互干扰

这里稍微提一下总线型和星型(看见b站弹幕上有人认为这俩种一样),对于总线型,只要总线的某一处断开连接,后面所有节点的连接均会受到影响,而对于星型,某一处节点的连接断开并不会对其他路线产生影响。

【计算机网络】数据链路层(Data Link Layer)_第69张图片

介质访问控制

【计算机网络】数据链路层(Data Link Layer)_第70张图片


5.1信道划分访问介质

虽然使用一条共享信道,但是通过多路复用技术组合进行传输,提高了信道的利用率

【计算机网络】数据链路层(Data Link Layer)_第71张图片

【计算机网络】数据链路层(Data Link Layer)_第72张图片


5.1.1频分多路复用FDM

【计算机网络】数据链路层(Data Link Layer)_第73张图片


5.1.2时分多路复用TDM

可能造成资源浪费

image-20210919092200907

【计算机网络】数据链路层(Data Link Layer)_第74张图片

【计算机网络】数据链路层(Data Link Layer)_第75张图片

统计时分复用STDM(TDM的改进版本)

TDM的缺点就是利用率低,所以又衍生出了STDM

STDM的原则是先到先走,满了就发,相对于TDM提高了利用率

【计算机网络】数据链路层(Data Link Layer)_第76张图片


5.1.3波分多路复用WDM(了解即可)

实际就是光的频分复用,因为借助了光,所以叫波分复用。

【计算机网络】数据链路层(Data Link Layer)_第77张图片

【计算机网络】数据链路层(Data Link Layer)_第78张图片


5.1.4码分多路复用CDM(重点)

【计算机网络】数据链路层(Data Link Layer)_第79张图片

【计算机网络】数据链路层(Data Link Layer)_第80张图片

CDM这块王道网课当中讲得很不清晰(建议大家去看方老师的讲解),这里放上教材里的内容以便读者理解。

【计算机网络】数据链路层(Data Link Layer)_第81张图片

【计算机网络】数据链路层(Data Link Layer)_第82张图片

【计算机网络】数据链路层(Data Link Layer)_第83张图片

【计算机网络】数据链路层(Data Link Layer)_第84张图片

【计算机网络】数据链路层(Data Link Layer)_第85张图片

image-20210912203531034


补充方老师版本的内容:

码片

【计算机网络】数据链路层(Data Link Layer)_第86张图片

【计算机网络】数据链路层(Data Link Layer)_第87张图片

【计算机网络】数据链路层(Data Link Layer)_第88张图片

CDMA工作原理

【计算机网络】数据链路层(Data Link Layer)_第89张图片

简单来说就是“我”本身去和混合后的码片序列求内积,

得到规格化内积结果为1,说明混合码片序列中有“我”本身;

同理,规格化内积结果为-1,说明“我”发送了本站反码(相当于发送比特0);

规格化内积结果为0,则“我”没有发送;

单个比特分解的码片数越多,就能构成越多的正交码片,就能让更多的用户共享同一信道。

练习题

【计算机网络】数据链路层(Data Link Layer)_第90张图片

思路:直接把选项带入分别和码片序列求规格化内积。

答案: 1 、0、无、1


5.2 随机访问介质访问控制

所有用户都可以随机发送信息,发送时可以占用全部带宽,理论上个人使用时比静态分配信道的速度更快

5.2.1 ALOHA协议

比较“无脑”,随性发送,错误就重发

纯ALOHA协议缺点:太随性,导致效率低

【计算机网络】数据链路层(Data Link Layer)_第91张图片

改进版本 时隙ALOHA协议

相对于纯ALOHA协议就是固定了发送的时间(只能在一个时间片的开始),提高了效率

【计算机网络】数据链路层(Data Link Layer)_第92张图片


5.2.2 CSMA协议

【计算机网络】数据链路层(Data Link Layer)_第93张图片

1-坚持

【计算机网络】数据链路层(Data Link Layer)_第94张图片

非坚持

【计算机网络】数据链路层(Data Link Layer)_第95张图片

P坚持(P是人为设定的,无需纠结)

【计算机网络】数据链路层(Data Link Layer)_第96张图片


三种协议对比:

(b站上网课关于P坚持有错误,所以这里放2021版教材当中的最新修正内容)

【计算机网络】数据链路层(Data Link Layer)_第97张图片

【计算机网络】数据链路层(Data Link Layer)_第98张图片


5.2.3 CSMA/CD协议

【计算机网络】数据链路层(Data Link Layer)_第99张图片

【计算机网络】数据链路层(Data Link Layer)_第100张图片

【计算机网络】数据链路层(Data Link Layer)_第101张图片


引入:以太网采取的两个措施

【计算机网络】数据链路层(Data Link Layer)_第102张图片

【计算机网络】数据链路层(Data Link Layer)_第103张图片

【计算机网络】数据链路层(Data Link Layer)_第104张图片

【计算机网络】数据链路层(Data Link Layer)_第105张图片


CSMA/CD协议含义

【计算机网络】数据链路层(Data Link Layer)_第106张图片

【计算机网络】数据链路层(Data Link Layer)_第107张图片

就是因为链路实际有长短,发送数据需要时间,这个时间内可能就被其他节点当成空闲状态导致发生碰撞
知道自己发生碰撞的最长时间是2τ(两倍的传播时延),就是一去一回。

【计算机网络】数据链路层(Data Link Layer)_第108张图片

【计算机网络】数据链路层(Data Link Layer)_第109张图片


为什么要进行碰撞检测?

【计算机网络】数据链路层(Data Link Layer)_第110张图片

传播时延对载波监听的影响

【计算机网络】数据链路层(Data Link Layer)_第111张图片

【计算机网络】数据链路层(Data Link Layer)_第112张图片


如何确定碰撞后重传时机?

【计算机网络】数据链路层(Data Link Layer)_第113张图片

练习题

【计算机网络】数据链路层(Data Link Layer)_第114张图片

最小帧长问题

【计算机网络】数据链路层(Data Link Layer)_第115张图片

【计算机网络】数据链路层(Data Link Layer)_第116张图片

【计算机网络】数据链路层(Data Link Layer)_第117张图片


CSMA/CD协议要点

先听后发,边听边发,冲突停止,延迟重发.

【计算机网络】数据链路层(Data Link Layer)_第118张图片

【计算机网络】数据链路层(Data Link Layer)_第119张图片


5.2.4 CSMA/CA协议

【计算机网络】数据链路层(Data Link Layer)_第120张图片


协议工作原理

【计算机网络】数据链路层(Data Link Layer)_第121张图片


5.2.5 CSMA/CD 与 CSMA/CA的区别

【计算机网络】数据链路层(Data Link Layer)_第122张图片


5.3 轮询访问介质访问控制

主要包括两大类,一个是轮询协议,另一个是令牌传递协议

5.3.1 轮询协议(了解即可)

就是选出一个代表,让他控制所有的传输。
轮询开销在随着服务的节点越多,需要用于查询是否发送数据发送的数据帧也就越多,会造成一定开销。
等待延迟就是因为这是轮流“邀请”,所以难免某个节点需要发送数据,但是主节点还在较远的需要里有需求的节点那边,导致需求得不到立即响应
单点故障很好理解,就是代表挂了。

【计算机网络】数据链路层(Data Link Layer)_第123张图片

【计算机网络】数据链路层(Data Link Layer)_第124张图片


5.3.2 令牌传递协议(重点内容)

在节点之间没有收发数据的需求时,令牌在节点之间循环。
发送数据的流程
1.当一个节点需要时就可以获得这个令牌。然后修改这个令牌的状态(空闲->占用)
再将令牌与数据帧结合,让其在节点构成的环之间流动。
2.不是目的地的节点收到令牌也不接受,直接略过,目标节点收到信息并复制一份到本地(传输完成),因为是个闭环,所以发送节点最后得到令牌。
3.最后,发送令牌的节点对令牌的内容进行检查,如果发现数据出错还要重新发一遍。
问题基本和轮询协议相同。

【计算机网络】数据链路层(Data Link Layer)_第125张图片

总结

【计算机网络】数据链路层(Data Link Layer)_第126张图片


6.局域网

6.1 局域网的概念

概括:范围大小,速度快,延迟低,节点平等。

【计算机网络】数据链路层(Data Link Layer)_第127张图片

6.1.1 局域网的网络拓扑结构

常用的是总线型拓扑

【计算机网络】数据链路层(Data Link Layer)_第128张图片

6.1.2 局域网的传播介质

【计算机网络】数据链路层(Data Link Layer)_第129张图片

6.1.3 局域网介质访问方法

【计算机网络】数据链路层(Data Link Layer)_第130张图片


6.2 局域网的分类

【计算机网络】数据链路层(Data Link Layer)_第131张图片


6.3 以太网的两个标准

【计算机网络】数据链路层(Data Link Layer)_第132张图片

IEEE802标准(记住划线的四条就行)

在这里插入图片描述

6.3.1 链路层的两个控制子层

【计算机网络】数据链路层(Data Link Layer)_第133张图片

MAC层更接近物理层,LLC更接近网络层。

那么在我们的网络当中什么样的设备用到了数据链路层、MAC子层、LLC子层或者物理层?

答案:适配器

【计算机网络】数据链路层(Data Link Layer)_第134张图片

【计算机网络】数据链路层(Data Link Layer)_第135张图片


6.4 以太网

6.4.1 概念

【计算机网络】数据链路层(Data Link Layer)_第136张图片

【计算机网络】数据链路层(Data Link Layer)_第137张图片


6.4.2 发展

【计算机网络】数据链路层(Data Link Layer)_第138张图片

从最早的总线形式,换成了星型结果(从同轴电缆到双绞线)。

【计算机网络】数据链路层(Data Link Layer)_第139张图片


6.4.3 10BASE-T以太网

【计算机网络】数据链路层(Data Link Layer)_第140张图片

【计算机网络】数据链路层(Data Link Layer)_第141张图片


6.4.4 适配器与MAC地址

【计算机网络】数据链路层(Data Link Layer)_第142张图片


6.4.5 以太网MAC帧

1.这里的mac层指的是数据链路层

【计算机网络】数据链路层(Data Link Layer)_第143张图片

image-20210917111747807

【计算机网络】数据链路层(Data Link Layer)_第144张图片

2.之前说过数据链路层将上一层ip数据包加头加尾

头就是目标地址(6字节),源地址(6字节),类型(2字节)
尾就是FCS(帧检验序列),(4字节)

3.前导码不是MAC帧的一部分?

目的是使时钟同步

4.为什么数据长度时46~1500?

因为有最小传输字节64字节,mac占用6+6+2+4=18,所以数据最小为64-18=46,1500则是规定的默认最大字节,记住就好。

前边是前导码

【计算机网络】数据链路层(Data Link Layer)_第145张图片

【计算机网络】数据链路层(Data Link Layer)_第146张图片

MTU最多是1500字节。

以太网MAC帧的帧头+帧尾=18字节,所以IP数据报的最短字节就是64B-18B=46B,64B来源于上文推导出的以太网最短帧长为64B。

5.无效的MAC帧

【计算机网络】数据链路层(Data Link Layer)_第147张图片


6.4.6 高速以太网

【计算机网络】数据链路层(Data Link Layer)_第148张图片

【计算机网络】数据链路层(Data Link Layer)_第149张图片

6.4.7 以太网信道利用率

【计算机网络】数据链路层(Data Link Layer)_第150张图片

【计算机网络】数据链路层(Data Link Layer)_第151张图片

【计算机网络】数据链路层(Data Link Layer)_第152张图片

6.4.8 信道利用率的最大值

理想情况下不存在争用期,只有占用期。

【计算机网络】数据链路层(Data Link Layer)_第153张图片

【计算机网络】数据链路层(Data Link Layer)_第154张图片

练习题

【计算机网络】数据链路层(Data Link Layer)_第155张图片

我们之前以太网计算的最短帧长64B是根据数据率10Mbit/s,得出的,这里已经达到千兆,不要混淆啦!


6.5 无线局域网( IEEE802.11 )

【计算机网络】数据链路层(Data Link Layer)_第156张图片

【计算机网络】数据链路层(Data Link Layer)_第157张图片

【计算机网络】数据链路层(Data Link Layer)_第158张图片


6.5.1 无线局域网的分类

6.5.1.1 有固定基础设施

【计算机网络】数据链路层(Data Link Layer)_第159张图片

这里的服务集可以简单当成路由器WiFi

【计算机网络】数据链路层(Data Link Layer)_第160张图片

6.5.1.2 无固定基础设施

【计算机网络】数据链路层(Data Link Layer)_第161张图片


7.广域网

7.1 广域网的概述

【计算机网络】数据链路层(Data Link Layer)_第162张图片


7.2 PPP协议(Point-to-Point Protocol)

PPP协议是目前使用最广泛的数据链路层协议,拨号基本都是PPP协议。
PPP协议仅支持全双工链路。

【计算机网络】数据链路层(Data Link Layer)_第163张图片

【计算机网络】数据链路层(Data Link Layer)_第164张图片

7.2.1 PPP协议需要满足的要求

【计算机网络】数据链路层(Data Link Layer)_第165张图片

7.2.2 PPP协议不需要满足的要求

【计算机网络】数据链路层(Data Link Layer)_第166张图片

7.2.3 PPP协议组成成分以及功能

【计算机网络】数据链路层(Data Link Layer)_第167张图片

PPP协议为什么不需要使用序号和确认机制?

【计算机网络】数据链路层(Data Link Layer)_第168张图片

PPP协议的状态图

【计算机网络】数据链路层(Data Link Layer)_第169张图片

7.2.4 PPP协议的帧格式

【计算机网络】数据链路层(Data Link Layer)_第170张图片

【计算机网络】数据链路层(Data Link Layer)_第171张图片

7.2.5 PPP 协议采用零比特填充方法来实现透明传输

【计算机网络】数据链路层(Data Link Layer)_第172张图片

【计算机网络】数据链路层(Data Link Layer)_第173张图片


7.3 HDLC协议(High-Level Data Link Control)

7.3.1 HDLC协议概述

【计算机网络】数据链路层(Data Link Layer)_第174张图片

7.3.2 HDLC的三种站

【计算机网络】数据链路层(Data Link Layer)_第175张图片

7.3.3 HDLC的帧格式

【计算机网络】数据链路层(Data Link Layer)_第176张图片

7.3.4 PPP协议和HDLC协议对比

【计算机网络】数据链路层(Data Link Layer)_第177张图片


7.4 思维导图

【计算机网络】数据链路层(Data Link Layer)_第178张图片


8.链路层设备

8.1 集线器(Hub)

可以扩展以太网,但是集线器会无脑将一个设备的所有消息转发到集线器所连的所有设备,故会将所连接的所有设备变成一个大的冲突域,同时只能有两台设备进行通信,且设备越多,冲突越多。由此诞生了网桥。

【计算机网络】数据链路层(Data Link Layer)_第179张图片


如何在物理层扩展以太网?

用集线器

【计算机网络】数据链路层(Data Link Layer)_第180张图片

如何在数据链路层扩展以太网?

网桥或交换器

【计算机网络】数据链路层(Data Link Layer)_第181张图片

【计算机网络】数据链路层(Data Link Layer)_第182张图片

8.2 网桥(Bridge)

使用网桥时,由于网桥会根据mac地址进行过滤,所以不会形成冲突域

【计算机网络】数据链路层(Data Link Layer)_第183张图片

8.2.1 两种网桥

8.2.1.1 透明网桥

通过自学习来构建转发表。每一个通过网桥的数据包都会被记录下网桥收到数据时数据对应的地址和网桥自己的接口,通过许许多多的数据包的构造的缓存,网桥就可以知道哪个数据包在哪个接口,以后如果要穿数据包就知道要往哪个接口发送数据包了。

【计算机网络】数据链路层(Data Link Layer)_第184张图片

8.2.1.2 源路由网桥

在发送时,直接将最佳路径放到帧首部。那么网桥如何获得最佳路径?通过广播方式想目标地址发送广播,此时可能会经过不同路由产生不同的路径,目标地址收到后再将每一条路径都发一个响应帧给网桥,网桥经过对比就知道哪个接口最快了。

【计算机网络】数据链路层(Data Link Layer)_第185张图片


8.3 交换机

8.3.1交换机的特点

【计算机网络】数据链路层(Data Link Layer)_第186张图片

【计算机网络】数据链路层(Data Link Layer)_第187张图片

【计算机网络】数据链路层(Data Link Layer)_第188张图片

8.3.2 交换机的交换方式分类

【计算机网络】数据链路层(Data Link Layer)_第189张图片

8.3.3 交换机的优点

【计算机网络】数据链路层(Data Link Layer)_第190张图片

【计算机网络】数据链路层(Data Link Layer)_第191张图片

8.3.4 以太网交换机的自学习功能

MAC接口1收到A的信号,对应的MAC地址是A,交换机可以倒推出A是连在1接口上的。

同理B3,C2,D4。这样有了记录后续就不需要广播!

【计算机网络】数据链路层(Data Link Layer)_第192张图片

【计算机网络】数据链路层(Data Link Layer)_第193张图片

【计算机网络】数据链路层(Data Link Layer)_第194张图片

image-20210919103904037

【计算机网络】数据链路层(Data Link Layer)_第195张图片

交换机的自学习和转发帧步骤归纳

【计算机网络】数据链路层(Data Link Layer)_第196张图片

【计算机网络】数据链路层(Data Link Layer)_第197张图片

【计算机网络】数据链路层(Data Link Layer)_第198张图片

8.3.5 交换机使用了生成树协议

每转一圈,“广播包”的总数量就增加一次,可能会发生“广播风暴”。

【计算机网络】数据链路层(Data Link Layer)_第199张图片

这么解决无限制循环的问题?

答案:把循环中某一逻辑接口截断,把环状结构变成树状即可。

【计算机网络】数据链路层(Data Link Layer)_第200张图片


8.4 虚拟局域网

物理位置上连在一个交换机上,就组成局域网;不是连在一个交换机下,也可以组成虚拟局域网。

【计算机网络】数据链路层(Data Link Layer)_第201张图片

【计算机网络】数据链路层(Data Link Layer)_第202张图片

如下构成三组虚拟局域网

【计算机网络】数据链路层(Data Link Layer)_第203张图片

A、B、C虽然连接在同一个交换机下,但是数据练链路层受限,他们不能直接通信。

【计算机网络】数据链路层(Data Link Layer)_第204张图片

【计算机网络】数据链路层(Data Link Layer)_第205张图片

8.5 冲突域和广播域

【计算机网络】数据链路层(Data Link Layer)_第206张图片

练习题

【计算机网络】数据链路层(Data Link Layer)_第207张图片

广播域的判断很简单,只需要看下图中有没有路由器,如果有一个路由器,然后左边一个网络,右边一个网络,那就是两个广播域,但是咱们图中没有出现路由器,所以就是一个广播域。

与以太网交换机连接的链路层设备,每个都是冲突域,所以4个。


9.本章知识点思维导图

【计算机网络】数据链路层(Data Link Layer)_第208张图片



计算机网络的数据链路层部分到此介绍结束了,感谢您的阅读!!!如果内容对你有帮助的话,记得给我三连(点赞、收藏、关注)——做个手有余香的人。

你可能感兴趣的:(计算机网络初阶,计算机网络,后端,网络协议)