MAC层总结

链路层解决三个问题:

  1. 这个包是发给谁的?谁应该接收?
  2. 大家都在发,会不会产生混乱?有没有谁先发、谁后发的规则?
  3. 如果发送的时候出现了错误,怎么办?

第二个问题

比如接下来这三种方式:

  1. 分多个车道。每个车一个车道,你走你的,我走我的。这在计算机网络里叫作信道划分
  2. 今天单号出行,明天双号出行,轮着来。这在计算机网络里叫作轮流协议
  3. 不管三七二十一,有事儿先出门,发现特堵,就回去。错过高峰再出。我们叫作随机接入协议。著名的以太网,用的就是这个方式。

第一个问题和第三个问题:

用到一个物理地址,叫作链路层地址。但是因为第二层主要解决媒体接入控制的问题,所以它常被称为MAC 地址
在这里插入图片描述
对于以太网,第二层的最开始,就是目标的 MAC 地址和源的 MAC 地址。
接下来是类型,大部分的类型是 IP 数据包,然后 IP 里面包含 TCP、UDP,以及 HTTP 等,这都是里层封装的事情。
对于以太网,第二层的最后面是CRC,也就是循环冗余检测。通过 XOR 异或的算法,来计算整个包是否在发送的过程中出现了错误,主要解决第三个问题。

### 数据链路的功能总结及作用 数据链路位于OSI七模型中的第二层,其主要职责是在物理之上提供可靠的数据传输服务。以下是关于数据链路的主要功能及其作用的详细介绍: #### 功能一:封装成帧 数据链路的核心任务之一是将来自网络的数据包封装到帧中[^2]。每一帧都包含头部和尾部信息,用于标识源地址、目标地址以及其他必要的控制字段。 #### 功能二:透明传输 为了确保任意比特序列都能通过介质传递而不被误解为控制字符或信号中断,数据链路实现了透明传输机制[^2]。这种机制能够有效防止因特殊字符引发的通信错误。 #### 功能三:差错检测与纠正 数据链路采用多种方法来检测并纠正传输过程中可能出现的错误。其中最常用的技术包括奇偶校验法和循环冗余校验(CRC)[^2]。这些技术可以显著提高数据传输的可靠性。 #### 功能四:流量控制 当发送方的速度远高于接收方处理能力时,可能会导致缓冲区溢出等问题。因此,数据链路引入了流量控制措施以协调双方速率差异[^1]。典型代表有停止-等待协议(Stop-and-Wait)、回退N帧协议(Go-Back-N)以及选择重传协议等。 #### 功能五:访问控制 对于共享广播型媒介环境下的多个设备竞争同一信道资源情况,需设计合理有效的媒体接入管理策略。CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 和 CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) 是两种广泛应用于局域网场景下解决冲突问题的方法[^2]。 #### 功能六:寻址 除了IP地址外,在本地范围内唯一识别每台主机还需要依赖于硬件面定义好的MAC(Media Access Control) 地址[^2] 。而ARP(Address Resolution Protocol) 协议则负责完成从逻辑上的IPv4地址映射至实际物理接口对应的MAC地址这一过程[^1] 。 #### 功能七:连接建立与释放 某些情况下,两节点间可能需要先经过握手阶段才能开始正常通讯;结束后也应妥善清理相关状态记录以便后续再次利用该通道资源。 综上所述,数据链路不仅承担着基础性的帧级操作工作,还涉及诸多高级别的服务质量保障手段,从而使得整个计算机网络体系结构更加健壮稳定高效运行起来。 ```python # 示例代码展示如何计算 CRC 校验码 def calculate_crc(data, polynomial='1011'): data += '0' * (len(polynomial)-1) divisor = int
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值