计算机网络(三)数据链路层

1. 功能

基本概念
结点:主机、路由器
链路:两个结点之间的物理通道
数据链路:两个结点之间的逻辑通道,在物理链路的基础上加上了实现协议的硬件和软件。
帧:链路层的协议数据单元,封装网络层的数据报。

功能:向网络层提供服务,将源自网络层的数据可靠的传输到相邻节点的目标机的网络层。对网络层表现为无差错的链路。
计算机网络(三)数据链路层

2. 封装成帧

网络层的IP数据报的两端添加首部和尾部构成帧,然后交给物理层,形成比特流进行传输。
计算机网络(三)数据链路层

3. 组帧(功能一)

(1)字符计数法 :帧首部用计数字段来标明帧内数据个数。一步错,步步错。
(2)字符填充法 :帧首部SOH、帧尾部EOH、帧中间的SOH、EOH添加转义字符。
(3)零比特填充法:”0111110“为首部和尾部,5110,可以实现透明传输。
(4)违规编码法:高高、低低 确定帧的起始和终止。

4. 差错控制

差错来源于噪声,随机热噪声和冲击噪声。
差错类型包括:帧错和位错(比特)。
下面的两个方法主要是解决位错的。

4.1 差错控制(检错编码)(功能二)

只能发现是否有错误
(1)奇偶校验码
在n-1位信息元之前添加1位校验元,使得整个校验码有奇数个1(奇校验码),或偶数个1(偶校验码)。但是该方法只能检测出奇数个位数发生错误,对于偶数个位数发生错误,无法检测。

(2)CRC循环冗余码
(发送数据+0)➗生成多项式FCS = 结果…余数
发送数据+余数 = 最终要发送的数据
接收端:收到的数据➗生成多项式,余数为0则说明无错。
计算机网络(三)数据链路层
计算机网络(三)数据链路层
FCS的生成和接收端CRC检验都是由硬件实现,处理迅速。
接收端检测到没有差错,不能说明100%传输正确。
不是可靠传输,可靠传输要求无比特差错传输。

4.2 差错控制(纠错编码)(功能二)

可以发现具体哪一位发生错误
(1)海明码:发现双比特错,纠正单比特错。
计算机网络(三)数据链路层
计算机网络(三)数据链路层
计算机网络(三)数据链路层
计算机网络(三)数据链路层

5. 流量控制与可靠传输机制

(1)流量控制
数据链路层和传输层都有,区别

  • (点对点,相邻的通信设备之间的流量控制) / (端到端,两个主机之间的流量控制)
  • 接收方收不下就不回复确认 / 接收端给发送端一个窗口公告

(2)流量控制的方法

  • 停止等待协议:发送完一个帧,就停止发送,等待对方的确认,收到确认后再发送下一个帧。
  • 滑动窗口协议:发送方和接收方都有一个滑动窗口,当发送方接收到了接收方的确认后,滑动窗口会进行移动。
    计算机网络(三)数据链路层

(3)关系
要实现可靠传输,需要有流量控制,滑动窗口可以解决流量控制和可靠传输。
计算机网络(三)数据链路层

(1)流量控制协议一:停止-等待协议

  • 为什么要有停等协议?
    答:除了 帧/IP数据段(分组)/报文段 错误,还可能出现丢包现象。为了避免丢包,需要进行流量控制,防止接收端在缓冲区不足时,丢弃数据包。

  • 无差错情况:
    计算机网络(三)数据链路层

  • 有差错情况 3种:数据帧丢失或出错,ACK丢失、ACK迟到
    == 超时重传==
    避免帧丢失、帧重复。
    计算机网络(三)数据链路层
    计算机网络(三)数据链路层
    计算机网络(三)数据链路层
    停等协议的信道利用率过低。

(2)流量控制协议二:滑动窗口协议 ——后退N帧协议GBN

发送窗口N个,接收窗口只有1个。

  • 发送方:
    上层要发送数据时,会先检查发送方的窗口是否满。
    对n号帧的确认为累计确认方式。
    超时事件。计算机网络(三)数据链路层
  • 接收方:
    只等待expected seq number,其余帧都丢弃。
    计算机网络(三)数据链路层
    计算机网络(三)数据链路层

- GBN性能分析
连续发送数据帧,提高了信道利用率
累计确认–》 批量重传,必须把原来已经正确传送的数据帧重传,传递效率低。

(3)流量控制协议二:滑动窗口协议 ——选择重传协议 SR
只重传出错的帧。
设置单个确认,加大接收窗口,设置接收缓存,缓存乱序到达的帧。

  • 发送方:
    计算机网络(三)数据链路层
  • 接收方:来者不拒
    计算机网络(三)数据链路层
    发送窗口大小最好==接收窗口 = 2(n1)2^(n-1)
    计算机网络(三)数据链路层

6. 信道划分介质访问控制

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

  • 点对点链路:PPP协议,广域网
  • 广播式链路:所有主机共享通信介质,局域网(无线局域网、早期的总线以太网)。总线型、星型。

(2)介质访问控制:两个结点之间的通信不会被受其他影响。
计算机网络(三)数据链路层

7. 局域网

(1)网络拓扑:星型、总线型、环形、树型
(2)介质访问控制方法:
计算机网络(三)数据链路层
(3)分类
计算机网络(三)数据链路层

计算机网络(三)数据链路层

计算机网络(三)数据链路层
MAC帧格式,是在数据链路层中,加头加尾。头部有目的地址、源地址、网络层的协议类型。
计算机网络(三)数据链路层

8. 广域网

广域网:物理层、数据链路层、网络层
局域网:物理层、数据链路层
计算机网络(三)数据链路层

(1)点对点PPP协议:最广泛使用的数据链路层协议,用户使用拨号电话接入因特网一般都是使用PPP协议。

计算机网络(三)数据链路层
计算机网络(三)数据链路层

面向字节的,头部和尾部,头部。组帧方式:字节填充法。
计算机网络(三)数据链路层
面向比特流,组帧方式:零比特填充法。
计算机网络(三)数据链路层
计算机网络(三)数据链路层

9. 链路层设备

网桥:网段–》网桥–》网段–》网桥–》网段。
根据MAC帧的目的地址对帧进行转发和过滤
计算机网络(三)数据链路层
交换机:多接口网桥
计算机网络(三)数据链路层
计算机网络(三)数据链路层