我是靠谱客的博主 生动猎豹,最近开发中收集的这篇文章主要介绍【网络】数据单元 - 数据链路层 - MAC 帧,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

起序:本文摘录于《计算机网络(第七版)- 谢希仁》,里面也有自己对 MAC 帧 的理解。

五层协议体系结构数据单元(数据单位)
应用层message(消息)
运输层segment(TCP 报文段) 或 datagram(UDP 用户数据报)
网络层packet(IP 数据报(或简称数据报、分组或包))
数据链路层frame(帧)
物理层bit(比特流)

一、MAC 层的硬件地址

在局域网中,硬件地址 又称为 物理地址MAC地址。也就是咱们口中 网卡地址 。这个地址是由 网络设备制造商 在生产的时候就已经写在硬件内部了,是全球唯一的,不需要自己买回来之后再配置的。

MAC 地址:Media Access Control Address,直译为 媒体存取控制位址,也称为 局域网地址(LAN Address)。

# 查看自己的 MAC 地址,命令行输入 cmd
ipconfig /all

可以看到图片上内容:物理地址: D8-C4-97-90-39-2F,这就是自己电脑的真实地址。

  • 有线网卡地址

在这里插入图片描述

  • 无线网卡地址(和有线网卡地址类似,暂不截图)

MAC地址的长度为 48位(6个字节),通常表示为 12个16进制数 ,每2个16进制数之间用 冒号 隔开。地址的前24位是由生产厂家向 IEEE 申请的厂商地址,后24位就由生产厂家自行定拟了,代表设备编号。

下面以我电脑上的 MAC 地址 举例。

查询MAC地址
在这里插入图片描述
便民查询网

  • 有线网卡地址查询

在这里插入图片描述

  • 无线网卡地址查询(和有线网卡地址类似,暂不截图)

二、MAC 帧的格式

  • 帧的最大传输单元(MTU):1500 字节
  • 帧的最小传输单元:64 字节,因为 IP报文段 最小为 46 字节

1、帧格式组成

帧头 + 上三层数据 + 帧尾

这里只介绍 帧头帧尾,如果想了解上三层数据单元格式,可以关注我的博客,在博客中查找。

在这里插入图片描述

2、帧头

目的 MAC 地址 + 源 MAC 地址 + 类型 (头可破,血可流,这里顺序不能乱),可以看出 帧头字节长14 字节

字段字节长
目的 MAC 地址6 字节
源 MAC 地址6 字节
类型2 字节

字段中 类型 的作用:识别上层协议,为上层提供服务。下面举例:

类型的值代表上层使用的协议
0x0800IP 协议
0x0806ARP 协议

3、数据字段

数据字段属于 IP层(网络层)的数据单元,这里不做详细介绍。

简单唠一下:数据字段的长度在 46 ~ 1500 字节 之间。(46 字节 :最小长度 64 字节减去 18 字节的首部和尾部 就得出数据字段的最小长度。)

4、帧尾

帧检验序列 FCS(Frame Check Sequence),是一段固定 4个字节 的循环冗余校验码。使用 CRC 算法对整个数据进行计算得出的值,类似 hash 算法。

计算过程:

  1. 源节点发送数据帧时,由 帧的帧头数据部分 计算得出 4个字节的FCS
  2. 目的节点接收到后,用同样的方式再计算一遍得出 4个字节的FCS
  3. 如果与接收到的 FCS 不同,则认为帧在传输过程中发生了错误,从而选择丢弃这个帧。

注:FCS 提供了一种错误检测机制,用来验证帧在传输过程中的完整性。

如果对您有帮助,点个赞再走吧。

最后

以上就是生动猎豹为你收集整理的【网络】数据单元 - 数据链路层 - MAC 帧的全部内容,希望文章能够帮你解决【网络】数据单元 - 数据链路层 - MAC 帧所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部