以太网所处的层次

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 以太网帧的更多相关文章

  1. NS3网络仿真(10): 解析以太网帧

    快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载.但请保留作者信息 解析以太网帧的过程是构建以太网帧的逆过程,当我们接收到一个以太网帧时,仍然以上一节中的ARP帧为例 ...

  2. 【转】以太网帧、IP报文格式

    原文:https://www.cnblogs.com/yongren1zu/p/6274460.html https://blog.csdn.net/gufachongyang02/article/d ...

  3. 以太网帧、IP报文格式

    这几天完成一个对比以太网帧的程序(c语言),老师给了以太网帧头部和IP报文头部的结构体,跟实际抓取到的数据包的格式是相同的. 以太网帧头部的数据结构: typedef struct { unsigne ...

  4. 以太网帧,IP,TCP,UDP首部结构

    1.以太网帧的格式 以太网封装格式 2.IP报头格式 IP是TCP/IP协议簇中最为重要的协议.所有的TCP,UDP, ICMP和IGMP数据都以IP数据报格式传输.IP提供的是不可靠.无连接的协议. ...

  5. stm32+lwip(五):以太网帧发送测试

    我是卓波,很高兴你来看我的博客. 系列文章: stm32+lwip(一):使用STM32CubeMX生成项目 stm32+lwip(二):UDP测试 stm32+lwip(三):TCP测试 stm32 ...

  6. NS3网络仿真(9): 构建以太网帧

    快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在NS3使用了一个叫Packet的类来表示一个数据帧,本节尝试用它构造一个以太网帧. 以下是一个典 ...

  7. 结合Wireshark捕获分组深入理解TCP/IP协议之以太网帧

    摘要:     本文摘抄并整理了以太网相关理论知识,包括CSMA/CD协议机制及工作.LAN互连,详细分析了Ethernet II帧格式,最后给出Ethernet II帧实例. 一.以太网[1] 1. ...

  8. 【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 ...

  9. IFG以太网帧间隙

    交换机的线速 描述交换机性能可以使用“线速”这个概念,那它是什么意思呢?所谓的线速是指经过交换机处理的理想状态下最大数据率.描述数据率可以用bps(bit per second)和mpps(milli ...

随机推荐

  1. Linux 线程】线程同步《四》

    1.信号量 (1)概念 信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区. 不多做解释,要使用信号量同步,需要包含头文件semaphore.h. ...

  2. Kafka、 RabbitMQ、Redis、 ZeroMQ、 ActiveMQ、 Kafka/Jafka 对比

    Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能. 高吞吐率.即使在非常廉价 ...

  3. spring boot项目打包成war并在tomcat上运行的步骤

    把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 <packaging>war</packaging> 二 ...

  4. Vue vue.extend 和vue.component 两则之间的区别

    Vue.extend 返回的是一个 扩展实例构造器, 也就是一个预设了部分选项的Vue实例构造器 Var myExtend = Vue.extend({ //预设选项 })//返回一个 扩展实例构造器 ...

  5. django rest framework restful 规范

    内容回顾: . django请求生命周期 -> 执行遵循wsgi协议的模块(socket服务端) -> 中间件(路由匹配) -> 视图函数(业务处理:ORM.模板渲染) -> ...

  6. iOS.Book.Mac OS X and iOS Internals: To the Apple’s Core

    深入解析Mac OS X & iOS操作系统 http://product.china-pub.com/3769686

  7. APNS推送服务证书制作 图文详解教程(新)

    iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务 ...

  8. Mac OS 10.12 - 在VMwear Workstation12.5.2中以两种方式进入恢复模式(Recovery)!!!

    注意:如果你打算安装Mac OS10.12 到虚拟机里面学习,那么我强烈建议你在没有安装任何其它软件之前,按照我这篇博客来进入恢复模式(Recovery),禁用Rootless机制!!!这样处理后,你 ...

  9. ZBlog你选择PHP还是ASP?

    最近趁着空闲玩了一下zblog,对于很多第一次接触zblog的博主大多都会问zblog是PHP好还是ASP好?我们应该如何选择?其实,对于这个问题我也不是很懂,我个人比较倾向于PHP.今天我就整理一下 ...

  10. pselect 函数

    <unix网络环境编程> 中20-7 的示例理解. #include "unp.h" static void recvfrom_alarm(int); void dg_ ...