【计算机网络】MAC层(三)经典以太网的MAC子层协议

简介: 前言 本文将会围绕下图来展开描述: 背景 上图为经典以太网的MAC子层协议的前后两个版本。 为什么要有这样一个协议? ————因为直接通过线路发送二进制编码,站点无法将0与空闲线路区分开。
本文首发于稀土掘金。该平台的作者 逐光而行 也是本人。

前言

本文将会围绕下图来展开描述:

image.png

背景

上图为经典以太网的MAC子层协议的前后两个版本。
为什么要有这样一个协议?
————因为直接通过线路发送二进制编码,站点无法将0与空闲线路区分开。

两个版本的差异

由于IEEE 802.3要完全兼容DIX,

故除了前缀多了个SOF标志位、中间有个字段可表示type或length外,其他都是一样的。

如何保证type与length字段兼容(为什么要有最大长度限制)?

之前type所占用的字段都是在1500以上(十进制)。

于是有如下规定:

  • 在1536(十六进制表示为0x600)以上的,说明该字段为type;
  • 小于等于1536的,说明该字段为length(即length最大为1536)

以1536为分界线

为什么要有最小长度限制?

  • 保证数据发送时间应大于等于往返传播时延,即t>=2τ,使得发生冲突时,站点能监听到冲突,并重发信息。(最重要)

image.png

  • 当收发器监测到冲突时,它需要截断当前帧。为了能更容易识别有效帧,因此规定如上图的一组信息中除去前缀(preamble)的部分至少要达到64个字节,如果不够,上图所示的填充字段(pad)就发挥作用了。

对其他字段的补充解释

Preamble

该字段有8个byte,由于1byte=8bit,所以从bit的视角看是这样的:

image.png
注意最后两位是11,最后1byte也称为802.3的定界符开头。

前缀用到了曼彻斯特编码来同步发送方和接收方的时钟,最后两bit的作用为告诉接收方接下来会有帧被发送。

(我认为这个10101010不是固定的,原文指的应该是以这样跳变的形式出现(符合曼彻斯特编码),不同形式应该是不同的,比如组播和广播,具体的等我看到实际的报文再回来勘误)

source address

该字段是唯一的,没有两个相同的站点会拥有相同的地址

check sum

用到的是之前也提到的CRC校验码之类

CSMA/CD with Binary Exponential Backoff(二进制指数回退算法)

回顾上两篇文章中提到的小明坐公交问题:

【计算机网络】媒介访问控制子层(MAC)(一)概念理解

如果他和小军同时想坐座位,又同时等待并等待相同时间的话,下一次他们还是会冲突。
该算法就用于解决这个问题。

假设以一个slot的间隔为时间单位。第一次他们各自等待0或1$(2^1-1)$,要是发现还冲突,就等待0/1/2/3$(2^2-1)$......第i次还冲突就等待$(2^i-1)$,这样就能尽可能错开时间。

需要注意的是,由于这是指数级增长,所以如果完全取决于i的话是不现实的。所以有如下规定:当i>10后,即范围最大值边界超过1023后,这个范围就不再变动,之后再有冲突,也是在0~1023之间取随机时间间隔。

参考书籍

  • 《Computer Networks (the fifth edition) 》

看英文原书、理解、码字整理都不容易,希望各位多多包涵哈~如有错误,恳请各位大神指出!

相关文章
|
16天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
4月前
|
网络协议 网络架构
以太网链路连接 和 ISIS/OSPF等路由协议关系
以太网链路连接 和 ISIS/OSPF等路由协议关系
51 0
|
17天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
2月前
|
缓存 算法 安全
MAC地址_MAC地址格式_以太网的MAC帧_基础知识
MAC地址是全球每块网卡唯一的介质访问控制地址,由6字节构成,前24位为厂商代码,后24位为序列号。网卡需安装驱动程序才能正常工作,并实现物理层和数据链路层功能及传输模式转换。MAC地址通常固化在EEPROM中,属于数据链路层范畴。以太网MAC帧包括前导码、地址、类型、数据和校验码,接收方根据MAC地址处理帧。网卡可设为混杂模式接收所有帧,便于网络分析,但也可能被黑客利用。
169 10
|
3月前
|
网络协议 视频直播 SDN
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
52 1
|
3月前
|
网络协议
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
53 0
|
3月前
|
存储 缓存 网络协议
MAC协议原理与ARP协议
总结一下,MAC协议是控制同一网络媒介上多个设备的数据访问的规范,而ARP是解决局域网络中的IP地址到MAC地址的转换问题,以确保IP包能在本地网络上传输到正确的设备。尽管这两种协议服务于网络通信中的不同层面,但它们都是网络正常操作的基本要素,保证了数据能从一个设备准确无误地传递到另一个设备。
45 0
|
4月前
|
存储 网络协议 网络虚拟化
计算机网络知识之交换机、路由器、网关、MAC地址
计算机网络知识之交换机、路由器、网关、MAC地址
|
5月前
|
机器学习/深度学习 网络协议 网络性能优化
[计算机网络]深度学习传输层TCP协议
[计算机网络]深度学习传输层TCP协议
53 1
|
5月前
|
网络协议 C语言 网络架构
计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)
计算机网络——数据链路层-点对点协议(组成部分、PPP帧格式、透明传输、差错检测、工作状态)
278 7