【计算机网络 - 第六章】链路层

目录

一、概述

1、数据链路层提供的服务? 

二、差错检测

1、奇偶校验

2、循环冗余校验CRC

三、多路访问链路和协议

1、概述

(1)多路访问协议

2、信道划分协议

① 频分多路复用FDM

② 时分多路复用TDM

③ 波分多路复用WDM

④ 码分多路复用CDM

3、ALOHA协议

(1)纯ALOHA协议(效率低)

(2)时隙ALOHA协议

4、载波监听多址接入/碰撞检测  CSMA/CD

(1)基本概念

(2)争用期(碰撞窗口)

(3)如何确定碰撞后的重传时机?

(4)最小帧长问题

(5)CSMA/CD协议——帧发送流程

(6)CSMA/CD协议——帧接收流程

(7)信道利用率

5、载波监听多址接入/碰撞避免  CSMA/CA

(1)帧间间隔IFS

(2)CSMA/CA工作原理

四、交换局域网

1、链路层地址——MAC地址

(1)单播MAC地址 ​编辑

(2)广播MAC地址

(3)多播MAC地址

2、地址解析协议——ARP协议

五、集线器与交换机

1、集线器

2、交换机 

3、交换机与路由器比较 

补充: 单工、半双工、全双工的区别


一、概述

【计算机网络 - 第六章】链路层_第1张图片

1、封装成帧:指链路层向上层交付的协议数据单元添加帧头和帧尾使之成为帧

【计算机网络 - 第六章】链路层_第2张图片

有的帧的帧头和帧尾包含帧定界

2、透明传输:指链路层对上层交付的传输数据没有任何限制,就像数据链路层不存在一样

  • 使用字节填充 
  • 使用比特填充 —— 每5个连续1后面插1个0

【计算机网络 - 第六章】链路层_第3张图片

1、数据链路层提供的服务? 

  1. 成帧(网络层数据报经链路传送前,链路层协议将其用链路层帧封装起来)
  2. 链路接入(MAC协议规定了帧在链路传输的规则。链路的一段仅有一个发送方,另一端只有一个接收方的点对点链路)
  3. 可靠交付(保证无差错地经链路层移动每个网络数据报)
  4. 差错检验和纠正

二、差错检测

1、奇偶校验

在待发送的数据后面添加1位奇偶校验位

  • "1"的个数为奇数【奇校验】
  • "1"的个数为偶数【偶校验】

如果有奇数个位发生误码,奇偶性变化,可以检查出误码

举例:

    奇校验                   1的个数变成偶数

1 1 0 1 1 0 1 ———— 1 1 0 1 1 0 0           "1"的奇偶性改变,检测出错误

    偶校验                   1的个数变成奇数

0 1 0 1 1 0 1 ———— 0 1 0 1 1 0 0           "1"的奇偶性改变,检测出错误

2、循环冗余校验CRC

收发方约定好一个生成多项式G(x) 

G(x)=x^{4}+x^{2}+x+1

生成的比特串:1 0 1 1 1

                         4 3 2 1 0

发送方操作:

【计算机网络 - 第六章】链路层_第4张图片

接收方操作:

【计算机网络 - 第六章】链路层_第5张图片

检错码只能检测出是否出现差错,但不能定位错误,无法纠正错误

三、多路访问链路和协议

1、概述

传输数据使用的两种链路:

点对点链路:两个相邻节点通过一个链路相连,比如:PPP协议,常用于广域网

广播式链路:所有主机共享通信介质,比如:以太网、无限局域网,常用于局域网

(1)多路访问协议

作用:节点通过这些协议来规范它们在共享的广播信道上的传输行为。

【计算机网络 - 第六章】链路层_第6张图片

2、信道划分协议

① 频分多路复用FDM

用户在分配到一定频带后,在通信过程中至始至终都占用这个频带

所有用户在同样的时间占用不同频率带宽

【计算机网络 - 第六章】链路层_第7张图片

② 时分多路复用TDM

将时间划分为一段段等长的TDM帧,每个用户在每个TDM帧中占用固定序号的时隙,所有用户轮流占用信道

【计算机网络 - 第六章】链路层_第8张图片

③ 波分多路复用WDM

通过光的不同波长来分解各路波长

④ 码分多路复用CDM

码分多址CDMA是码分复用的一种方式

可以在同样的时间使用同样的频带进行通信

每一个比特时间再划分为m个短的间隔,称为码片,一般m=64或128

使用CDMA的每一个站被指派一个m bit码片序列

  • 一个站如果要发送比特1,则发送自己的m bit码片序列
  • 一个站如果要发送比特0,则发送m bit码片序列的二进制反码

码片序列挑选原则

  • 分配给每个站的码片序列必须各不相同
  • 每个站的码片序列必须互相正交(规格化内积为0)
  • S\cdot T=\frac{1}{m}\sum_{i=1}^{m}S_{i}T_{i}=0
  • S\cdot T=0
  • S\cdot \bar{T}=0

举例:假设给站S分配码片序列01011101,给站T分配码片序列为10111000,这样分配对吗?

        码片序列各不相同 ✓

        码片正交 ×

        S的码片序列(-1 +1 -1 +1 +1 +1 -1 +1)

        T的码片序列(+1 -1 +1 +1 +1 -1 -1 -1)

        S×T≠0

        分配不正确

【计算机网络 - 第六章】链路层_第9张图片

 

设收到的码片序列为E

根据公式S\cdot T=\frac{1}{m}\sum_{i=1}^{m}S_{i}T_{i}=0

A×E=1        ——发送比特1

B×E=-1       ——发送比特0

C×E=0        ——未发送

D×E=1        ——发送比特1         

【计算机网络 - 第六章】链路层_第10张图片

3、ALOHA协议

(1)纯ALOHA协议(效率低)

想发就发

冲突如何检测? 发生冲突,接收方不予确认,发送方在一定时间内收不到就判断发生冲突

冲突如何解决? 超时后等待随机一时间再重传

最大效率为 1/(2e)=0.185

(2)时隙ALOHA协议

把时间划分成若干个时隙,若发生冲突,必须等到下一个时隙开始时刻再发

最大效率为 1/e=0.37,是纯ALOHA两倍

4、载波监听多址接入/碰撞检测  CSMA/CD

(1)基本概念

多址接入MA:多个站连接在一条总线上,竞争使用总线

载波监听CS:每个站发生帧前先检测一下总线是否被占用(先听后说

  • 若检测到总线空闲96bit时间,发送该帧
  • 若检测到总线忙,继续检测,等待总线空闲96bit时间,再发送

碰撞检测CD:正在发送帧的站边发送边检测碰撞(边听边说

一旦发现碰撞,立刻停止发送,过一段随机时间后再次发送

不适用于无线网络

(2)争用期(碰撞窗口)

【计算机网络 - 第六章】链路层_第11张图片

最迟多久知道自己发送的数据没和别人碰撞?

答:最多是两倍的总线单程端到端传播时延 2\tau,也称为争用期 / 碰撞窗口

(3)如何确定碰撞后的重传时机?

截断二进制指数规避算法

1、确定基本退避时间为争用期2\tau

2、定义参数k表示重传次数,k=min{重传次数,10}

3、从 [0,1,2\ ...\ 2^{k}-1]  中随机选一个数 \gamma ,重传所需退避时间就是 2\gamma \tau

4、当重传达16次都不能成功,说明网络太拥挤,抛弃此帧并向高层报错

举例:

第一次重传,k=1,r从【0,1】里选,重传时间在0和2\tau里随机选一个

如果再碰撞,k=2,r从【0,1,2,3】里选,重传时间在【0,2\tau4\tau6\tau】里选

在以太网的二进制回退算法中,在11次碰撞后,站点会在0~?之间随机选一个数?

k=min{11,10}=10

在0~2^{10}-1=1023里随机选一个数

(4)最小帧长问题

最小帧长 = 2\tau × 数据传输速率

(5)CSMA/CD协议——帧发送流程

【计算机网络 - 第六章】链路层_第12张图片

(6)CSMA/CD协议——帧接收流程

【计算机网络 - 第六章】链路层_第13张图片

(7)信道利用率

S_{max}=\frac{T_{0}}{T_{0}+\tau }=\frac{1}{1+\frac{\tau }{T_{0}}}

当信号传播时延\tau趋近于0时,信道利用率接近100%

【例1】采用CSMA/CD协议的网络中,传输介质的传输速率为1Gbps,电缆中信号传播速度是200000kms,若最小帧长长度减少800 bit,则最远两个站点的距离至少为?

设最远的两个站点之间距离为d,最小帧长为l

最小帧长 = 争用期 × 数据传输速率 

争用期 = 2倍端到端传播时延 = \frac{d}{200000\times10^{3} }\times 2

l=\frac{d}{200000\times10^{3} }\times 2\times 10^{9}

d=\frac{l}{10}

因此若l减少800 m,d至少减少80 m 

5、载波监听多址接入/碰撞避免  CSMA/CA

适用于无线网络

(1)帧间间隔IFS

帧间间隔:站点必须在持续检测到信道空闲一段指定时间后才能发送帧

帧间间隔长短取决于站点要发送帧的类型

  • 短帧间间隔SIFS:28μs,用于分隔开属于一次对话的各帧
  • DCF帧间间隔DIFS:128μs,用于发送帧和管理帧

(2)CSMA/CA工作原理

3.6.4 随机接入— CSMA/CA协议_哔哩哔哩_bilibili

06:00开始

四、交换局域网

1、链路层地址——MAC地址

  • 当多个主机连接在同一个总线上,要实现两个主机间通信,每个主机需要一个唯一标识MAC地址
  • MAC地址又称LAN地址
  • MAC地址被称为物理地址,但并不属于物理层
  • MAC地址是适配器(网络接口)的链路层地址,不是各设备或路由器的链路层地址
  • MAC地址长6字节,共有2^{48}种MAC地址

【计算机网络 - 第六章】链路层_第14张图片

 【计算机网络 - 第六章】链路层_第15张图片

(1)单播MAC地址 【计算机网络 - 第六章】链路层_第16张图片

(2)广播MAC地址

【计算机网络 - 第六章】链路层_第17张图片

(3)多播MAC地址

【计算机网络 - 第六章】链路层_第18张图片

 【计算机网络 - 第六章】链路层_第19张图片

2、地址解析协议——ARP协议

  • ARP协议:将网络层的IP地址转换成链路层的MAC地址
  • ARP分组有四个字段:源IP、MAC  +  目的IP、MAC
  • ARP表是自动建立的,不需要管理员配置
  • 工作方式:每台主机和路由器在其内存中具有一个ARP表,这张表包含IP地址到MAC地址的映射关系

举例:

  • 主机B想给主机C发送数据包,但只知道C的IP地址,不知道MAC地址。

【计算机网络 - 第六章】链路层_第20张图片

  • 主机B先在自己的ARP高速缓存中寻找C的IP地址,未找到

【计算机网络 - 第六章】链路层_第21张图片

  • 主机B广播ARP请求报文来获取主机C的MAC地址

【计算机网络 - 第六章】链路层_第22张图片

  • 主机C发现询问的IP地址是自己的,进行响应:

1、主机C将B的IP地址和MAC地址记录到自己的ARP高速缓存中

2、给主机B发送ARP响应,告知自己的MAC地址

 【计算机网络 - 第六章】链路层_第23张图片

  • 主机C将ARP响应报文进行单播,主机B接收到后,将C的IP地址和MAC地址记录到自己的ARP高速缓存中

【计算机网络 - 第六章】链路层_第24张图片

 

五、集线器与交换机

1、集线器

  • 集线器是一种物理层设备,每个接口仅转发比特,不进行碰撞检测
  • 集线器作用于各个比特而不是作用于帧

【计算机网络 - 第六章】链路层_第25张图片

 某主机要给另一主机发送单播帧,该单播帧会通过共享总线传输到总线上的各个主机(交给主机判断)

2、交换机 

  • 交换机具有多个接口,每个接口可以直接与一台主机或另一个以太网交换机相连,采用全双工方式
  • 交换机有并行性,能同时连通多对接口,无碰撞(不使用CSMA/CD协议)
  • 交换机工作在链路层(包括物理层),收到帧后,在帧交换表中查找帧的目的MAC地址对应的接口号,然后进行转发

【计算机网络 - 第六章】链路层_第26张图片

 交换机是一种即插即用设备,内部的帧交换表是通过自动学习算法自动建立的

【计算机网络 - 第六章】链路层_第27张图片

 某主机要给另一主机发送单播帧,交换机会将该单播帧转发给目的主机(交给交换机判断)

3、交换机与路由器比较 

  • 交换机第二层链路层的分组交换机,使用MAC地址转发分组的存储转发分组交换机,即插即用对于广播风暴不提供任何保护措施,即如果某主机出了故障并传输出没完没了的以太网广播帧,该交换机将转发所有这些帧,是以太网崩溃
  • 路由器是第三层网络层的分组交换机,使用IP地址转发分组的存储转发分组交换机,不是即插即用的,对第二层的广播风暴提供防火墙保护

【计算机网络 - 第六章】链路层_第28张图片

补充: 单工、半双工、全双工的区别

单工:只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播

半双工:允许数据在两个方向上传输,在某一时刻只允许数据在一个方向上传输,实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送信息,可以实现双向通信。举例:对讲机

全双工:允许数据同时在两个方向上传输,可以在同一时间可以同时接受和发送信息,实现双向通信,举例:电话通信

你可能感兴趣的:(计算机网络笔记,计算机网络,交换机,学习方法,考研,网络)