Open vSwitch ETHERNET相关字段详解(eth_src/dl_src、eth_dst/dl_dst、eth_type/dl_type)
文章目录
- 字段概览
- 字段详解
- eth_type/dl_type
字段概览
备注:由于历史原因,某些字段会有多个名字,如下表,/后面表示该字段的其他名字
字段名 | 长度 | 格式 | Masking | 前置项 | 访问权限 | OpenFlow 1.0 | OpenFlow 1.1 | NXM/OXM Support | 描述 |
---|---|---|---|---|---|---|---|---|---|
eth_src/dl_src | 48位 | 以太网地址 | 支持任意位掩码 | Ethernet | 读/写 | exact match only | yes | OF 1.2+ and OVS 1.1+ | 以太网帧的源MAC地址 |
eth_dst/dl_dst | 48位 | 以太网地址 | 支持任意位掩码 | Ethernet | 读/写 | exact match only | yes | OF 1.2+ and OVS 1.1+ | 以太网帧的目的MAC地址 |
eth_type/dl_type | 16位 | 十六进制 | 不支持 | Ethernet | 只读 | exact match only | exact match only | OF 1.2+ and OVS 1.1+ | 表示装在这个以太网帧里的数据的类型 |
字段详解
以太网是Open vSwitch唯一一个支持的2层网络协议。eth_src/dl_src、eth_dst/dl_dst比较简单,分别匹配数据包的源MAC地址和目的MAC地址,以下重点解释eth_type/dl_type这个字段。
eth_type/dl_type
最常见的以太网帧的报文头格式为“Ethernet II”,如下:
在这种格式中,最后两个字节表示以太网的类型,并且值大于等于0x600 (1536),用于表示装在这个Frame里面数据的类型,此时eth_type/dl_type的值就取自这两个字节。
当最后两个字节<0x600时,则表示该帧不是Ethernet II格式,此时在Ethernet头后面一般会有一个802.2 LLC的头,OpenFlow和Open vSwitch只支持IEEE 802.3 SNAP格式的LLC头,即DSAP=0xaa、SSAP=0xaa、cntl=0x03,LLC后面会跟一个5个字节大小的SNAP,OpenFlow和OVS只支持org=0x000000的SNAP,在这个格式的以太网帧中,eth_type/dl_type的值取自SNAP的后两个字节的值。
当一个802.1Q头插入到Ethernet之后时,如下:
eth_type/dl_type取自Ethertype。
当在802.3 SNAP格式中插入802.1Q头时,如下:
此时eth_type/dl_type也取自Ethertype。
当一个数据包的报文头不满足上述格式时,OVS和OpenFlow把eth_type/dl_type设为0x5ff(OFP_DL_TYPE_NOT_ETH_TYPE)。
eth_type/dl_type各个取值的含义参考:EtherType
参考资料:
- IEEE 802.2 LLC协议
- 以太网帧格式
Open vSwitch ETHERNET相关字段详解(eth_src/dl_src、eth_dst/dl_dst、eth_type/dl_type)相关推荐
- Open vSwitch VLAN相关字段详解(dl_vlan、dl_vlan_pcp、vlan_vid、vlan_pcp、vlan_tci)
文章目录 字段概览 字段详解 vlan_tci vlan_vid vlan_pcp dl_vlan/dl_vlan_pcp 字段概览 字段名 长度 格式 Masking 前置项 访问权限 OpenFl ...
- Open vSwitch相关字段详解之L4:TCP, UDP, SCTP
文章目录 字段概览 字段详解 TCP tcp_src/tp_src.tcp_dst/tp_dst tcp_flags UDP udp_src.udp_dst SCTP sctp_src.sctp_ds ...
- Open vSwitch相关字段详解之L3:IPv4IPv6
文章目录 字段概览 字段详解 ip_src/nw_src.ip_dst/nw_dst ipv6_src.ipv6_dst nw_proto/ip_proto nw_ttl ip_frag/nw_fra ...
- MySQL5日期类型DATETIME和TIMESTAMP相关问题详解
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lavasoft.blog.51cto.com/62575/280284 MySQ ...
- java mysbatis select_java相关:详解Mybatis中的select方法
java相关:详解Mybatis中的select方法 发布于 2020-7-3| 复制链接 摘记: selectById方法根据id,查询记录 ```java public void updateRe ...
- 「全网最细」:MRP1视图所有字段详解及实战应用 - 合集
: 视频详解 注:本文章建议要结合视频进行观看 声明:本文仅代表原作者观点,仅用于SAP软件的应用和学习,不代表SAP公司.注:文中所示截图来源于SAP软件或PA官方教材,相应著作版权归SAP所有. ...
- tsconfig 配置文件各字段详解
tsconfig 配置文件各字段详解 files 需要解析的ts的文件. {"files": ["./index.ts"] } 当找不到对应的文件时会报错. e ...
- 43. Systemd的Unit配置详解,unit文件位置,优先级,unit类型,unit文件字段详解,Unit/Service/Install字段,添加mysql服务等例子
Systemd的Unit配置详解,unit文件位置和优先级,unit文件类型,unit文件字段详解,[Unit]字段,[Service]字段,[Install]字段,添加服务,创建.service 文 ...
- php中的文字排版问题,CSS布局中常用的文字排版相关属性详解
本篇文章给大家带来的内容是关于CSS布局中常用的文字排版相关属性详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. CSS布局中常用的文字排版相关属性详解 一.设定文字字体.颜色.大 ...
最新文章
- OpenCV 【三】————contours便利删除操作方法
- 最小生成树prim算法———模板
- 031_div和span
- 未能加载文件或程序集“xxx”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集...
- 树莓派Raspberry命令行配置无线网络连接
- Java中包装类型和基本类型的使用场景(阿里开发规范)
- linux syslog 删除文件_Linux没有当心删除日记文件syslog怎样办
- 无法在只读编辑器中编辑_Mol Plant中国农科院作物科学研究所夏兰琴课题组成功利用 优化的引导基因编辑器在水稻中实现高效精准基因编辑...
- IEEE 1588-2002 Precision Time Protocol(PTP)
- bzoj 3714: [PA2014]Kuglarz
- python二维列表长度_python如何使二维数组的高度大于长度
- 游戏迷看过来 年末促销买个华为平板 M3可畅玩
- 如何在计算机里打开ps,传授电脑psd文件用什么软件打开
- 凸优化问题,凸二次规划问题QP,凸函数
- php dw文件上传下载,PHP-文件上传
- 互联网日报 | 7月11日 星期日 | 市场监管总局禁止虎牙斗鱼合并;北京我爱我家部分门店闭店一周;寒武纪入局自动驾驶芯片...
- 单片机A/D采样的原理
- 视频分割软件有什么,怎么分割视频
- 计算机无法读取内存卡,「图文」教你如何修复电脑无法识别读取的U盘(SD卡)...
- 淘宝原数据商品详情API调用示例
热门文章
- 线程实例分析---线程的综合运用(精灵线程,多线程,中断,通信)【java养成】
- DLL文件是什么?有几种调用方式?
- iOS使用dpkg删除包提示不存在
- 学习Linux前必备专业知识
- BHQ-3 amine,1661064-89-6可在430nm至730nm范围内猝灭所有普通荧光团
- 计算机电源维修tny279,电源管理芯片TNY279P
- 科技助力东京奥运会:中国装备中国造
- 误删系统rpc服务器不可用,rpc服务器不可用,小编教你rpc服务器不可用怎么办
- 网站建设(一)PHP深入学习
- 计算机毕业设计JAVA汽车配件管理系统mybatis+源码+调试部署+系统+数据库+lw