计算机网络(三)数据链路层
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
只重传出错的帧。
设置单个确认,加大接收窗口,设置接收缓存,缓存乱序到达的帧。
- 发送方:
- 接收方:来者不拒
发送窗口大小最好==接收窗口 = 。
6. 信道划分介质访问控制
(1) 传输数据使用的两种链路:
- 点对点链路:PPP协议,广域网
- 广播式链路:所有主机共享通信介质,局域网(无线局域网、早期的总线以太网)。总线型、星型。
(2)介质访问控制:两个结点之间的通信不会被受其他影响。
7. 局域网
(1)网络拓扑:星型、总线型、环形、树型
(2)介质访问控制方法:
(3)分类
MAC帧格式,是在数据链路层中,加头加尾。头部有目的地址、源地址、网络层的协议类型。
8. 广域网
广域网:物理层、数据链路层、网络层
局域网:物理层、数据链路层
(1)点对点PPP协议:最广泛使用的数据链路层协议,用户使用拨号电话接入因特网一般都是使用PPP协议。
面向字节的,头部和尾部,头部。组帧方式:字节填充法。
面向比特流,组帧方式:零比特填充法。
9. 链路层设备
网桥:网段–》网桥–》网段–》网桥–》网段。
根据MAC帧的目的地址对帧进行转发和过滤。
交换机:多接口网桥