计算机网络笔记Part3 数据链路层(Data Link Layer)

本人计算机网络笔记总目录

计算机网络笔记Part1 概述
计算机网络笔记Part2 物理层(Physical Layer)
计算机网络笔记Part3 数据链路层(Data Link Layer)
计算机网络笔记Part4 网络层(Network Layer)
计算机网络笔记Part5 传输层(Transport Layer)
计算机网络笔记Part6 应用层(Application Layer)

1. 基本概念

物理层为我们传输01电信号做出了不少贡献。但是在物理层也提到,物理层自己不知道自己传输的信号有什么意义。
这就是”链接层”的功能,它规定了解读方式:多少个电信号算一组?每个信号位有何意义?
在这里插入图片描述

(补充)链路层编址

以太网规定,一组电信号构成一个数据包,叫做”帧”(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。
“标头”包含数据包的一些说明项,比如发送者、接受者、数据类型等等;”数据”则是数据包的具体内容。
“标头”的长度,固定为18字节。”数据”的长度,最短为46字节,最长为1500字节。因此,整个”帧”最短为64字节,最长为1518字节。如果数据很长,就必须分割成多个帧进行发送。

1.MAC地址

上面提到,以太网数据包的”标头”,包含了发送者和接受者的信息。那么,发送者和接受者是如何标识呢?
以太网规定,连入网络的所有设备,都必须具有”网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。长度为6字节,共48比特,通常用十六进制表示法,地址的每个字节被表示为一对十六进制数

每个适配器具有一个唯一的MAC地址,不随位置发生变化(就像人的身份证,而IP则像人的邮政地址)
一台路由器的每个接口都有一个ARP模块和一个适配器;
MAC地址分配:当一个公司要生产适配器时,它支付象征性的费用购买一块MAC地址空间,IEEE分配这块地址时,固定前24比特,让公司自己为每个适配器生成后24比特的唯一组合

2.ARP协议(地址解析协议)

通过MAC,我们定义了地址。但是我们紧接着就有一个问题,那就是一块网卡怎么会知道另一块网卡的MAC地址?
答案就是ARP协议。
每个节点的ARP模块都在它的RAM中有一个ARP表,包含IP地址到MAC地址的映射关系,每个表项还包含TTL字段,表示表项过期时间(ARP表是自动创建的,如果某节点与子网断开连接,它的表项最终会从留在子网中的节点的表中删除。通常一个表项的过期时间是20分钟)
主机向其ARP模块提供一个IP地址,ARP模块返回IP地址对应的MAC地址
(注释:在OSI七层模型中,ARP属于链路层模型,所以这里也先简单介绍一下,构建知识体系)
在这里插入图片描述

3.广播的概念

其次,就算有了MAC地址,系统怎样才能把数据包准确送到接收方?
回答是以太网采用了一种很”原始”的方式,它不是把数据包准确送到接收方,而是向本网络内所有计算机发送,让每台计算机自己判断,是否为接收方。
在这里插入图片描述
上图中,1号计算机向2号计算机发送一个数据包,同一个子网络的3号、4号、5号计算机都会收到这个包。它们读取这个包的”标头”,找到接收方的MAC地址,然后与自身的MAC地址相比较,如果两者相同,就接受这个包,做进一步处理,否则就丢弃这个包。这种发送方式就叫做”广播”(broadcasting)。
有了数据包的定义、网卡的MAC地址、广播的发送方式,”链接层”就可以在多台计算机之间传送数据了。

2. 封装成帧与透明传输

封装成帧就是加将网络数据报加头加尾,相当于将数据打包
透明传输就是为了防止特殊的数据无法正常传输的的情况的发生,比如说在封装成帧的过程中,可能出现数据中的某些标记符与开始/结束标记符恰巧重复的情况,如果不加以处理,那么会导致无法判定帧的开始于结束。
在这里插入图片描述在这里插入图片描述

2.1 透明传输的实现方法

2.1.1 字符计数法

就是在帧的首部做计数,这个字符记录了当前帧有多少个字符。
缺点:如果在某一个帧内,标记位后面的某个字节的数据丢失,那么会影响后面的帧
比如3 1 1 和 4 2 2 2,如果前面的帧丢失变成 3 1,那么后面的4就会被补到前面变成 3 1 4导致错误
在这里插入图片描述

2.1.2 字符填充法

就是加头加尾分别标记开始结束,和零比特填充法(见下)对比,开始和结束的对应的字符不一样
但有可能出现数据内某段比特流数据正好与标记字段重复,从而导致误判断的情况
在这里插入图片描述

解决方法:添加转义字符。即对于那些与标记字符重复的数据流,在它们的前面添加一段转义字符,这样接收方在解析帧时,看到这些转义字符就不会认为那些特殊的数据当成帧的开始/结束了。

在这里插入图片描述

2.1.3 零比特填充法

在这里插入图片描述

2.1.4 违规编码法

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

  • 266
    点赞
  • 882
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
计算机网络中,物理层、数据链路层网络层是构成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 ]
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值