ZZY001 发表于 2022-1-24 13:40

阐述以太网MAC是什么

MAC即Media Access Control,即媒体访问控制子层协议.该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质.在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层.该层协议是以太网MAC由IEEE-802.3以太网标准定义.最新的MAC同时支持10Mbps和100Mbps两种速率.以太网数据链路层其实包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层.一块以太网卡MAC芯片的作用不但要实现MAC子层和LLC子层的功能,还要提供符合规范的PCI界面以实现和主机的数据交换.MAC从PCI总线收到IP数据包(或者其他网络层协议的数据包)后,将之拆分并重新打包成最大1518Byte,最小64Byte的帧.这个帧里面包括了目标MAC地址、自己的源MAC地址和数据包里面的协议类型(比如IP数据包的类型用80表示).最后还有一个DWORD(4Byte)的CRC码.可是目标的MAC地址是哪里来的呢?这牵扯到一个ARP协议(介乎于网络层和数据链路层的一个协议).第一次传送某个目的IP地址的数据的时候,先会发出一个ARP包,其MAC的目标地址是广播地址,里面说到:”谁是xxx.xxx.xxx.xxx这个IP地址的主人?”因为是广播包,所有这个局域网的主机都收到了这个ARP请求.收到请求的主机将这个IP地址和自己的相比较,如果不相同就不予理会,如果相同就发出ARP响应包.这个IP地址的主机收到这个ARP请求包后回复的ARP响应里说到:”我是这个IP地址的主人”.这个包里面就包括了他的MAC地址.以后的给这个IP地址的帧的目标MAC地址就被确定了.(其它的协议如IPX/SPX也有相应的协议完成这些操作.)IP地址和MAC地址之间的关联关系保存在主机系统里面,叫做ARP表,由驱动程序和操作系统完成.在Microsoft的系统里面可以用arp-a的命令查看ARP表.收到数据帧的时候也是一样,做完CRC以后,如果没有CRC效验错误,就把帧头去掉,把数据包拿出来通过标准的借口传递给驱动和上层的协议客栈,最终正确的达到我们的应用程序.还有一些控制帧,例如流控帧也需要MAC直接识别并执行相应的行为.以太网MAC芯片的一端接计算机PCI总线,另外一端就接到PHY芯片上,它们之间是通过MII接口链接的.

七毛钱 发表于 2022-2-5 18:31

很不错的科普贴

aoyi 发表于 2022-2-6 17:28

对 以太网总有一种畏惧的心理

zljiu 发表于 2022-2-6 17:39

至今闹不清楚分那么多层干嘛用

nawu 发表于 2022-2-6 17:48

这一层相当重要

gwsan 发表于 2022-2-6 17:58

咱们截取的数据包是哪个层的呢

tfqi 发表于 2022-2-6 18:09

我们能够获得什么层的数据呢

kiwis66 发表于 2022-2-10 15:52

啊,就是考试的时候被问到有那么多层
实际用的话,不知道什么层不层的

q1d0mnx 发表于 2022-4-15 11:33

感觉MAC就像个令牌,一个标识

cen9ce 发表于 2022-4-15 13:02

这个讲的挺好的,不错不错

lamanius 发表于 2022-4-15 13:19

一般情况,MAC更像是一个控制吧,就是允许或者不许连接

y1n9an 发表于 2022-4-15 13:44

Mac是不是关乎硬件呢

lix1yr 发表于 2022-4-15 14:25

好像很多都与mac有关系,硬件也是

w2nme1ai7 发表于 2022-4-15 14:39

一般芯片都自带mac

b5z1giu 发表于 2022-4-15 15:09

理论还是很多,不错,但是正常MAC应该就是一个硬件标识

suw12q 发表于 2022-4-15 15:30

感谢分享了,这个讲的很细致了

su1yirg 发表于 2022-4-17 16:14

还有校验呢啊,真是第一次认真的读这个理论知识

cen9ce 发表于 2022-4-19 09:42

MAC可以理解为硬件标识,能不能连上网就看它

kiwis66 发表于 2022-5-10 21:18

就是一个标识吧

fuqinyyy 发表于 2022-5-11 07:58

还不如百度一下
页: [1] 2
查看完整版本: 阐述以太网MAC是什么