s4-5 以太网帧
以太网所处的层次

IEEE 802.3/以太网MAC子层协议
IEEE802.3协议描述了运行在各种介质上1 Mb/s~10 Mb/s的1-
持续CSMA/CD协议的局域网标准。
很多人对以太网和IEEE802.3不加区分,但二者确有差别(如帧格式)。
IEEE 802.3和 和以太网帧的比较


帧结构的各个字段含义
前导码与帧起始字段
前导码:7个字节,10101010…101010比特序列。
帧起始符:1字节,10101011。
帧结构的各个字段含义
目的地址和源地址字段
地址字段长度:48位(6个字节) 。
目的地址类型:
• 单一结点地址(unicast address);
• 组播地址(multicast address);
• 广播地址(broadcast address)。
物理地址(MAC地址)
地址数约7 X 10 13 ,7万亿个。
Ethernet地址 = Manufacture ID + NIC ID=24bit (OUI)+ 24bit
前24位例子:
公司:Cisco 00-00-0c
Novell 00-00-1B、00-00-D8
3Com 00-20-AF、00-60-8C
IBM 08-00-5A
典型的Ethernet地址 :00-60-8C-01-28-12

工作站的源地址有个有趣的特性,那就是它的全球唯一性
(globally unique),由IEEE分配,保证世界上没有两个工作
站具有的MAC地址是相同的
当一台计算机启动时,MAC地址从ROM拷贝到RAM
注意:目的MAC地址定位目的机

注意
MAC地址的3种表示
使用破折号 00-60-2F-3A-07-BC
使用冒号 00:60:2F:3A:07:BC
使用句点 0060.2F3A.07BC
IEEE 要求厂商遵守两条简单的规定:
必须使用该供应商分配的OUI作为前3个字节
OUI相同的所有MAC地址的最后3个字节必须分配唯一的值
帧结构的各个字段含义
长度字段(DIX以太帧中变为:类型)
帧的最小长度为64字节,最大长度为1518字节,不包括前导码。
数据字段
LLC数据字段是帧的数据字段,长度最小为46个字节,如果少于
46个字节,需要填充。
帧校验字段
采用32位的CRC校验
校验范围:目的/源地址、长度、LLC数据等字段。
类型/长度字段
在DIX以太帧中,type 字段指明上层网络协议的了类型
DIX以太帧是事实上的使用标准,通常抓取到的报文都是以太帧,该字段是类型字段。
在IEEE 802.3帧中,length 字段指明了携带的数据的长度。
怎么区分到底代表 类型 还是 长度 呢?
检查这个字段的数值:如果小于等于 1536(0x600),则是长度
(802.3)字段,如果大于 1536,则表示类型(以太帧)。

为什么有效帧长度 64 Byte?
CSMA/CD的要求
最短帧的发送时间 >= 争用时隙2
以太网(802.3)规定,在10Mbps局域网中
时隙:2t = 51.2 微秒
最短帧长度:10Mbps× 2t/8 = 64 Byte
或者:(51200/100ns)/8=64Byte
以太网性能(信道利用率)

IEEE802.2标准:逻辑链路控制

IEEE802.3以太帧跟DIX以太网帧的主要差
别是前导码和类型/长度字段。
通过查看类型/长度的值是否大于0x600
(1536)来判定是类型还是长度字段。
MAC地址(物理地址)由48位构成,其中
前24位需要向IEEE申请
MAC地址不可更改,全球唯一。
帧最长1518字节,最短64字节。
s4-5 以太网帧的更多相关文章
- NS3网络仿真(10): 解析以太网帧
快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载.但请保留作者信息 解析以太网帧的过程是构建以太网帧的逆过程,当我们接收到一个以太网帧时,仍然以上一节中的ARP帧为例 ...
- 【转】以太网帧、IP报文格式
原文:https://www.cnblogs.com/yongren1zu/p/6274460.html https://blog.csdn.net/gufachongyang02/article/d ...
- 以太网帧、IP报文格式
这几天完成一个对比以太网帧的程序(c语言),老师给了以太网帧头部和IP报文头部的结构体,跟实际抓取到的数据包的格式是相同的. 以太网帧头部的数据结构: typedef struct { unsigne ...
- 以太网帧,IP,TCP,UDP首部结构
1.以太网帧的格式 以太网封装格式 2.IP报头格式 IP是TCP/IP协议簇中最为重要的协议.所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输.IP提供的是不可靠.无连接的协议. ...
- stm32+lwip(五):以太网帧发送测试
我是卓波,很高兴你来看我的博客. 系列文章: stm32+lwip(一):使用STM32CubeMX生成项目 stm32+lwip(二):UDP测试 stm32+lwip(三):TCP测试 stm32 ...
- NS3网络仿真(9): 构建以太网帧
快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在NS3使用了一个叫Packet的类来表示一个数据帧,本节尝试用它构造一个以太网帧. 以下是一个典 ...
- 结合Wireshark捕获分组深入理解TCP/IP协议之以太网帧
摘要: 本文摘抄并整理了以太网相关理论知识,包括CSMA/CD协议机制及工作.LAN互连,详细分析了Ethernet II帧格式,最后给出Ethernet II帧实例. 一.以太网[1] 1. ...
- 【VS开发】【Linux开发】【DSP开发】如何截获以太网帧并解析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- IFG以太网帧间隙
交换机的线速 描述交换机性能可以使用“线速”这个概念,那它是什么意思呢?所谓的线速是指经过交换机处理的理想状态下最大数据率.描述数据率可以用bps(bit per second)和mpps(milli ...
随机推荐
- f5主备切换演练
1.准备工作: 1)保证主备机同步 2)备份主备机配置 2.切换:所有操作均在主机 方法1:shutdown主机上联的核心交换机的端口: 此方法在主备切换过程中会丢1个包 方法2:命令行下reboot ...
- webpack 安装,打包使用
Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换. 全局安装webpack 打开文件夹amd输入指令 npm i webpa ...
- python中类变量和成员变量、局部变量总结
class Member(): num= #类变量,可以直接用类调用,或用实例对象调用 def __init__(self,x,y): self.x=x #实例变量(成员变量),需要它是在类的构造函数 ...
- YII2开启路由配置后,新加的模块无法访问
最近使用YII2,自定义创建了一个自定义模块users,位置为app\modules\users. 'modules' => [ 'users' => [ 'class' => 'a ...
- golang语言中os/user包的学习与使用
package main; import ( "os/user" "fmt" ) func main() { //返回当前用户的结构 u, _ := user. ...
- sqlite c#
https://www.cnblogs.com/icebutterfly/p/7850689.html https://www.cnblogs.com/sdadx/p/7127098.html
- 求助Ubuntu16.10如何设置默认启动为字符界面
字符界面:sudo systemctl set-default multi-user.target图形界面:sudo systemctl set-default graphical.target
- 时间处理:计算下一天日期,如输入"2004/12/31"(注释2014年12月31日),则输出"2005/1/1".
/* ============================================================================ Name : Exercise.c Au ...
- 洛谷2971 [USACO10HOL]牛的政治Cow Politics
原题链接 假设只有一个政党,那么这题就退化成求树的直径的问题了,所以我们可以从此联想至\(k\)个政党的情况. 先处理出每个政党的最大深度,然后枚举每个政党的其它点,通过\(LCA\)计算长度取\(\ ...
- BZOJ1791或洛谷4381 [IOI2008]Island
一道基环树的直径 BZOJ原题链接 洛谷原题链接 又是一道实现贼麻烦的题.. 显然公园其实是基环树森林,求的最长距离其实就是求每一棵基环树的直径的总和. 对于每棵基环树,其直径要么经过环,要么是某个环 ...