计算机网络笔记–8 数据链路层

计算机网络笔记–8 数据链路层


前言

这是学习计算机网络课程时记录的笔记,里面大部分内容来源于哈尔滨工业大学李全龙老师的《计算机网络》mooc,加上我个人的理解整理出的内容。


5.1数据链路层服务

术语:
主机和路由器——>结点
连接相邻结点的通信信道——>链路:有线链路,无线链路,局域网
链路层(第二层)数据分组:帧,封装网络层数据报
数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻节点传送数据报

链路层服务
1.组帧
封装数据报构成数据帧,加首部和尾部
帧同步:如何在物理层提取比特流信息,通常在数据帧首尾加上特殊帧定界服务字符(串)
2.链路接入
如果是共享介质,需要解决信道接入
帧首部的MAC地址,用于标识帧的源和目的——>不同于IP地址(网络/链路)
3.相邻节点间可靠交付
在低误码率的有线链路上很少采用那些可靠数据帧交付协议(如光纤,某些双绞线等)
无线链路:误码率高,需要可靠交付
4.流量控制
协调相邻的发送节点和接受
5.差错检测
信号衰减和噪声会引起差错
接收端检测到差错:通知发送端重传(可靠)或直接丢弃帧(不可靠)
6.差错纠正
接收端直接纠正比特差错(通过纠错编码)
7.全双工和半双工通信控制
同时双向传输或者交替双向传输

链路层的具体实现(硬件构成):
每个主机或路由器接口
链路层在“适配器”(网络接口卡—NIC)中实现或者在一个芯片上实现:
以太网网卡。802.11网卡:以太网芯片组
实现链路层和物理层
链接主机的系统连线
由硬件、软件与固件组成
在这里插入图片描述
网卡间通信
发送端:
将数据报封装成帧
增加差错检测比特,实现可靠数据传输和流量控制等
接收端:
检测差错,实现可靠数据传输和流量控制等
提取数据报,交付上层协议实体在这里插入图片描述

5.2差错编码

差错编码基本原理:
D->DR,其中R为差错检测与纠正比特(冗余比特)在这里插入图片描述
分组码,卷积码
线性分组码,非线性分组码——>R和D的关系是线性还是非线性
课程中默认的是线性分组码
即使满足R’=f(D’),也可能发生差错——>差错编码不能保证100%可靠
差错编码的检错能力
差错编码的可分为检错码和纠错码
对于检错码,如果编码集的汉明距离ds=r+1, 则该差错编码可以检测r位的差错
汉明距离:两个码字对应比特位不同的位数,比如0010和1111的汉明距离是3
在这里插入图片描述

因为只要错了1比特,肯定不在编码集里,错误之后的码字一定不在编码集里
对于纠错码,如果编码集的汉明距离ds=2r+1,则该差错编码可以纠正r位的差错,遵循最近原则
比如右图C变成C’,那么因为C’离C最近,所以会被变为C在这里插入图片描述
奇偶校验码
1.比特校验位
检测奇数位差错
在这里插入图片描述
0代表数据中1的个数是奇数个->只能检测出奇数个位发生的差错
2.二维奇偶校验
检测奇数位差错,部分偶数位差错
在这里插入图片描述
3.Internet校验和(Checksum)
发送端:将数据划分为16位二进制“整数”序列
求和:补码求和(最高位的1加入到最低位)
校验和:sum的反码
放入分组(UDP、TCP、IP)的校验和字段:
接收端:与发送端相同算法计算
计算得到的“checksum”——>为16位全0:无错
否则出错
循环冗余校验码(CRC)
检错能力更强大的差错编码
将数据比特D,视为一个二进制数
选择一个r+1位的比特模式(生成比特模式),G
目标:选择r位的CRC比特R,满足
<D,R>能够刚好被G整除(模2)
接收端检错:利用G除以<D,R>,余式全0无错,否则有错
可以检测所有突发长度小于r+1位差错
广泛应用于实际网络(以太网,ATM)在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.3多路访问协议

两类“链路”
1.点对点链路:拨号接入的PPP
以太网交换机与主机间的点对点链路
2.广播链路(共享介质)
早期的总线以太网
HFC的上行链路
802.11无线局域网在这里插入图片描述
多路访问控制(MAC)协议
单一共享广播信道
两个或两个以上节点同时传输——>干扰,即冲突
冲突:节点同时接受两个或多个信号——>接收失败

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
计算机网络中,物理层、数据链路层和网络层是构成OSI参考模型的三个重要层级。物理层负责传输原始的比特流,数据链路层在物理层的基础上为网络层提供服务,主要是将网络层交付的数据报可靠地传输到对方主机的网络层。而网络层则负责管理网络中的数据通信,将数据从源端经过若干个中间节点传送到目的地。 物理层主要负责传输数据的基本单位比特,通过物理连接来提供可靠的传输。数据链路层位于网络层和物理层之间,负责数据链路的建立、维护和拆除,并实现帧的包装、传输、同步、差错恢复和流量控制。以太网是最常用的数据链路层协议。网络层则进一步管理网络中的数据通信,负责将数据从源端通过中间节点传送到目的地。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [408计算机网络学习笔记——数据链路层](https://blog.csdn.net/JiangNan_1002/article/details/124369273)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [计算机网络通信基础 物理层与数据链路层](https://blog.csdn.net/qq_45927266/article/details/120955930)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [一文看懂数据链路层和网络层的区别](https://download.csdn.net/download/weixin_38731385/14831340)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值