解锁计算机网络神秘地带:数据链路层大揭秘

目录

一、什么是数据链路层

二、数据链路层的核心功能

2.1 封装成帧

2.2 差错检测

2.3 流量控制

2.4 链路管理

三、数据链路层的常见协议

3.1 Ethernet 以太网协议

3.2 PPP 协议

3.3 HDLC 协议

四、数据链路层在生活中的体现

4.1 家庭网络中的应用

4.2 数据中心的应用

五、总结与展望


一、什么是数据链路层

        在计算机网络的世界里,为了让数据能够高效、准确地在不同设备之间传输,人们采用了分层的思想,将复杂的网络通信功能拆分成多个层次,每个层次各司其职,协同工作。就像我们寄送快递,从包裹打包(应用层)、选择运输方式(传输层)、规划运输路线(网络层),到最后交到快递员手中进行派送(数据链路层和物理层),每个环节都不可或缺。

        目前比较常见的网络分层模型有 OSI 七层模型、TCP/IP 四层模型和五层模型 ,我们今天要重点探讨的数据链路层,在五层模型中处于第二层,位于物理层和网络层之间,是数据从源设备传输到目标设备过程中的重要一环。它就像是一座桥梁,连接着负责传输原始比特流的物理层和负责网络寻址与路由的网络层,将物理层提供的可能出错的物理连接,改造成为逻辑上无差错的数据链路,确保数据能在相邻节点之间可靠地传输。

二、数据链路层的核心功能

2.1 封装成帧

        在数据链路层,封装成帧是一项基础且关键的操作。网络层传递下来的数据包就像是没有包装的商品,而封装成帧的过程,就是给这些商品加上包装盒,使其成为可以在数据链路中传输的帧。

        具体来说,发送方会在网络层数据的前后分别添加首部和尾部,从而构成一个完整的帧。首部中包含了诸如源地址、目的地址、帧类型等控制信息,这些信息就像是快递包裹上的寄件人、收件人信息以及快递类型标识,让接收方知道该帧来自哪里、要去往何处以及是什么类型的数据。而尾部则主要用于差错检测,比如添加帧校验序列(FCS),确保数据在传输过程中没有出现错误。以以太网帧为例,其首部包含了目的 MAC 地址、源 MAC 地址、类型等字段,尾部则包含了帧校验序列(FCS)字段。

        帧定界是封装成帧的重要环节,它确定了帧的开始和结束位置。通过在首部和尾部添加特定的控制信息,接收方可以准确地从接收到的比特流中识别出帧的边界,就像我们通过快递包裹上的封口和标签来确定包裹的范围一样。这样,接收方就能正确地将接收到的比特流分割成一个个独立的帧,进而进行后续的处理。如果没有帧定界,接收方就无法判断一个帧从哪里开始、到哪里结束,数据传输也就无法正常进行。

2.2 差错检测

        在数据传输的过程中,由于受到各种干扰,如电磁干扰、信号衰减等,数据可能会出现错误。为了确保接收方能够接收到正确的数据,数据链路层采用了差错检测技术,常见的差错检测方法有循环冗余校验(CRC) 、奇偶校验等。

        CRC 是一种非常有效的差错检测方法,它的原理基于多项式除法。发送方和接收方事先约定一个生成多项式 G (x),发送方在发送数据时,将数据视为一个多项式 M (x),在 M (x) 的末尾添加若干个 0(添加的 0 的个数等于生成多项式 G (x) 的最高次幂),然后用这个新的多项式除以生成多项式 G (x),得到的余数 R (x) 就是 CRC 校验码。发送方将原始数据 M (x) 和 CRC 校验码一起发送给接收方。接收方收到数据后,用同样的生成多项式 G (x) 去除接收到的数据,如果余数为 0,则表示数据在传输过程中没有出现错误;如果余数不为 0,则说明数据出现了错误,接收方会要求发送方重新发送数据。

        假设我们要发送的数据是 10110011,生成多项式 G (x) 为 x^4 + x^3 + 1(对应的二进制数为 11001)。首先,在数据 10110011 后面添加 4 个 0,得到 101100110000。然后用 101100110000 除以 11001,得到余数 0100,这个 0100 就是 CRC 校验码。发送方将 10110011 和 0100 一起发送给接收方。接收方收到后,用 11001 去除接收到的数据,如果余数为 0,就认为数据传输正确。

2.3 流量控制

        在数据传输过程中,发送方和接收方的处理速度可能存在差异。如果发送方发送数据的速度过快,而接收方来不及接收,就会导致数据丢失,这就好比水龙头放水太快,而水池的排水速度跟不上,水池就会溢水。为了解决这个问题,数据链路层引入了流量控制机制,其目的是控制发送方的发送速率,使接收方有足够的时间和缓冲空间来接收数据。

        停止等待协议是一种简单的流量控制方法。在停止等待协议中,发送方每发送一个帧,就会停止发送,等待接收方的确认帧(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大雨淅淅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值