目录
- 前言
- 7.1 链路层概述
- 7.2 MAC地址的基本概念
- 7.3 以太网帧结构
- 7.4 以太网帧结构
- 7.5 以太网帧报文数据结构
- 7.6 发送以太网数据帧
- 7.7 接收以太网数据帧
- 7.8 虚拟局域网VLAN源码分析
- 7.8.1 以太网标准帧和VLAN帧的区别
- 7.8.2 以太网发送带VLAN数据帧
- 7.8.3 以太网接收带VLAN数据帧
- 7.8.4 开启VLAN功能ETHARP_SUPPORT_VLAN
- 7.9 一个硬件映射到多个IP
ethernet.c
和ethernet.h
文件 。原文:李柱明博客园7.1 链路层概述简单概述 。
相关术语:
- 结点(node):运行链路层协议的设备 。如主机、路由器、交换机和WiFi接入点 。
- 链路(link):沿着通信路径连接相邻结点的通信信道 。
- 数据?。毫绰凡忝恳恢∈莅黶ize有限,如果上层传递下来的数据报size超出链路层每帧能接收的数据size极限,就会分片 。(这里不细说)
- 为IP模块发送和接收IP数据报;
- 为ARP模块发送ARP请求和接收ARP应答;
- 为RARP发送RARP请求和接收RARP应答 。
数据报从源主机传输到目标主机时 , 数据报必须通过端到端路径上的各段链路才能达到目标主机 。
各种端到端的链路层协议由具体的端到端决定,链路层设备只需要把数据报封装在自己的链路层帧并转发到下一个端设备即可 。
7.2 MAC地址的基本概念MAC Address(Media Access Control Address),亦称为EHA(Ethernet Hardware Address)、硬件地址、物理地址(Physical Address) 。
在OSI模型中 , 第三层网络层负责 IP地址,第二层数据链路层则负责 MAC位址 。
所以一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC位址 。
MAC地址组成(48字节):前3个字节表示组织唯一标志符(OUI)+后3个字节由厂家自行分配的扩展标识符 。
7.3 以太网帧结构IEEE 802.2/802.3(RFC 1042)和以太网的封装格式(RFC 894)参考图:
7.4 以太网帧结构IEEE 802.2/802.3(RFC 1042)和以太网的封装格式(RFC 894)参考图:
文章插图
目标MAC地址(6字节):这个字段包含目标网卡的MAC地址,当一个网卡收到一个以太网数据帧 。
- 如果该数据帧的目标地址是网卡自身的MAC地址或者是MAC广播地址,它都将该帧的数据字段的内容传递给网络层;
- 如果收到了其他MAC地址的?。蚪檬葜《?。
- 0x0800:表示当前数据帧中装载的数据为IPV4数据报 。
- 0x0806:表示当前数据帧中装载的数据为ARP数据报 。
- 0x0835:表示当前数据帧中装载的数据为RARP数据报 。
- 注意:
- Ethernet II和IEEE802.3的帧格式主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长度 。类型字段和长度字段互斥,但是类型值和长度值是不相同的 , 以此来区别两种帧格式 。
- 如果该字段值大于等于0x0600时,表示数据包中的协议类型,反之表示长度 。
- 长度字段表示它后续数据的字节长度,但不包括CRC校验码 。
- 以太网的最大传输单元(MTU)是1500字节 。这意味着如果IP数据报超过了1500字节,则主机必须将该数据报分片 。
- 数据字段的最小长度是46字节,如果数据报小于46字节,数据报必须被填充到46字节 。当采用填充时 , 传递到网络层的数据包括数据报和填充部分,网络层使用IP数据报首部中的长度字段来去除填充部分 。
在以太网中MAC地址可分为3类:
- 单播地址 。
- 通常是对应指定网卡 。
- 以太网要求单播MAC地址第一个bit(最先发出)为0 。意思就是设备的MAC地址第一个bit必须是0,因为多播的第一个bit为1,这样多播地址就不会与任务网卡的mac地址冲突 。
推荐阅读
- switch上古卷轴5mod怎么用(switch上古卷轴5mod视频)
- 上古卷轴5mod如何用(上古卷轴5可以推倒npc吗)
- 穿越火线怎么调烟雾头(最新穿越火线烟雾怎么调)
- 四 【单片机入门】应用层软件开发的单片机学习之路-----ESP32开发板PWM控制电机以及中断的使用
- 二 【性能测试】Loadrunner12.55-飞机订票系统-脚本录制
- 含源码 【YOLOv5】手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速,实现YOLOv5实时物体识别
- 小米平板5正式官宣_小米平板5上市时间确定
- 【FAQ】关于华为地图服务定位存在偏差的原因及解决办法
- C# 8.0 添加和增强的功能【基础篇】
- 我的世界怎么开二级隐身(我的世界怎么搞隐身)