以太网帧格式:

各字段解释:

DMAC:目的MAC地址,该字段确定帧的接收者。

SMAC:源MAC地址,该字段标识发送帧的工作站。

Type:上层协议类型(0x0800:IP;0x0808:ARP;0x8100:VLAN;)

Data:数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输一字节信息也必须使用46字节的数据字段。如果填入该字段的信息少于46字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1500字节。

CRC:用于帧内后续字节差错的循环冗余检验(也称为FCS或帧检验序列)。


VLAN帧格式:

各字段解释:

Destination address:目的MAC地址。

Source address:源MAC地址。

Type:表示帧类型。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。

PRI:表示帧的优先级,取值范围为0~7,值越大优先级越高。用于当阻塞时,优先发送优先级高的数据包。如果设置用户优先级,但是没有VLANID,则VLANID必须设置为0x000。

CFI:用于区分以太网帧、FDDI帧和令牌环网帧。在以太网中,CFI的值为0。

VID:表示该帧所属的VLAN。

Length/Type:指后续数据的字节长度,但不包括CRC检验码。

Data:数据。

CRC:帧检验序列。

帧示例


深入理解:

1、data数据为什么是46~1500个字节?

以太网帧的最小长度64byte是由CSMA/CD限制所致

通过比较,选择1518(6+6+2+1500+4)个字节的帧长度,有效传输效率最高。

2、CRC如何校验帧?

在要发送的帧后面附加一个校验码,生成一个新帧发送给接收端。(当然,这个附加的校验码不是随意的,它要使所生成的新帧能与发送端和接收端共同选定的某个特定数整除。)到达接收端后,再把接收到的新帧除以(同样采用“模2除法”)这个选定的除数。(因为在发送端发送数据帧之前就已通过附加一个数,做了“去余”处理(也就已经能整除了)),所以结果应该是没有余数。如果有余数,则表明该帧在传输过程中出现了差错。

ps:

模2除法:二进制下的除法,异或,即相同为0,不相同为1。

CSMA/CD:带冲突检测的载波监听访问,其工作原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。


QinQ帧格式:

重要字段解释:

ETYPE:长度为2字节,表示帧类型。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。

对于内层VLAN tag,该值设置为0x8100;对于外层VLAN tag,有下列几种类型

  • 0x8100:思科、华为路由器使用
  • 0x88A8:Extreme Networks switches使用
  • 0x9100:Juniper路由器使用
  • 0x9200:Several路由器使用

帧示例

转载于:https://www.cnblogs.com/tcheng/p/7994816.html

Ethernet、VLAN、QinQ相关推荐

  1. 网络互通、VLAN、单点故障理论讲解

    网络互通 什么是网络?所谓的网路,就是由所有想要上网的设备,连接在一起. 什么是互通?我给你发送数据包,你也可以给我回应数据包.[互通,是个双向] 概括的说:任何两个设备之间的通信,任何一个方向,永远 ...

  2. 网桥、vlan、源目MAC地址的链路层处理

    一,链路层 在报文接收方向上,网卡驱动把接收到的数据按照其对应的链路层协议(如以太网)组装成报文,然后把它上交给链路层,接口是netif_receive_skb,至此网卡驱动的任务就结束了,报文交给链 ...

  3. 第24节 综合网络配置实验(含IP、RIP、VLAN、VTP、HSRP、ACL、NAT等配置完整命令)——基于PacketTracer8.0仿真实验

    综合网络配置实验(含IP.RIP.VLAN.VTP.HSRP.ACL.NAT等配置完整命令)--基于PacketTracer8.0仿真实验 1 网络规划 1.1 网络拓扑图 1.2 网络规划 2 实验 ...

  4. CCNP1交换:三层架构概述、路由器交换机登录密码破解、VLAN、trunk(ISL、dot1Q)、DTP、VTP、交换机工作原理

    文章目录 CCNP1交换:三层架构概述.路由器交换机登录密码破解.VLAN.trunk(ISL.dot1Q).DTP.VTP.交换机工作原理 一.企业网三层架构概述: 1.冗余: 2.三层架构: 二. ...

  5. 华为数通HCIA笔记——链路聚合、VLAN、DHCP基础

    链路聚合.VLAN.DHCP基础 链路聚合 实现链路聚合方式 1.手工负载分担配置命令: 2.LACP模式配置 VLAN 端口类型(Access Trunk Hybrid) Access类型 配置 T ...

  6. 关于DHCP、VLAN、混杂模式解惑

    关于DHCP.VLAN.混杂模式解惑 文章目录 关于DHCP.VLAN.混杂模式解惑 (1)遇到DHCPdiscover.offer翻滚却一直不出现ACK是什么情况? (2)不同网段之间访问在混杂模式 ...

  7. 局域网相关之交换机、VLAN、ARP、链路聚合技术

    目录 局域网技术 1.集线器特点 2.交换机 2.1 特点 2.2 工作原理 2.3 vlan 为什么要划分vlan? vlan帧结构 VLAN的划分方式 PVID 2.4 链路类型 3.高级vlan ...

  8. TCPIP / LAN、WAN、、VLAN、WLAN 和 WIFI 的区别和联系

    一.LAN 英文全称:Local Area Network . 中文名称:局域网. 定义:指在某一区域内由多台计算机互联成的计算机组. 二.WAN 英文全称:Wide Area Network . 中 ...

  9. 【数通网络交换基础梳理2】三层设备、网关、ARP表、VLAN、路由表及跨网段路由下一跳转发原理

    一.不同网段如何通讯 同网段可以依靠二层交换机通讯,网络中存在多个网段192.168.1.1/24 172.16.1.1/24 173.73.1.1/24情况下如何互相通讯?上节留一下的问题,这节继续 ...

最新文章

  1. adb查看app的日志
  2. Mac安装MySQL数据库
  3. azkaban获取上游的节点结果_Flink任务实时获取并更新规则
  4. android软件的data使用方法,实例讲解Android中SQLiteDatabase使用方法
  5. 2018第三届中国数字化零售创新国际峰会9月即将震撼来袭
  6. ovirt官方安装文档 第三章
  7. 了解JUnit的Runner架构
  8. SSDB 配置文件详解
  9. VTK7.0.0编译安装心得
  10. Unity3d开发跳一跳AI(ML-agents)全纪录
  11. pandas之dataframe去掉冗余行以及左连接合并dataframe
  12. 51NOD-1028 大数乘法V2【大数】
  13. Unity渲染管线,初探SRP
  14. 2005年linux手机系统,2005年智能手机点评之其他操作系统篇
  15. ADC驱动器/差分放大器设计指南
  16. 数据结构入门(2)——线性表、堆栈和队列
  17. c语言相反数补码,求一个数的相反数的补码
  18. 卸载xampp并重装mysql
  19. 一个C++程序员的学习经历
  20. list中移除元素:用remove(i)方法遇到的坑以及替代方法

热门文章

  1. 结合nginx源码学习error_page和proxy 指令的关系
  2. VMware Workstation不可恢复错误: (vcpu-0)
  3. Spring MVC中@ControllerAdvice注解实现全局异常拦截
  4. Vue-CLI3.x 高版本覆盖低版本Vue-CLI2.x 解决方法
  5. 蓝屏代码PAGE_FAULT_IN_NONPAGED_AREA的解决方法
  6. java mvc .net mvc_.NET MVC 和 JAVA MVC有什么区别?
  7. outlook 附件保存位置-附件无法打开
  8. excel 单元格文本链接方法
  9. python标准库os的方法listdir_Python3 os.listdir() 方法
  10. python docx 表格_python-docx表格添加和删除数据