Open vSwitch相关字段详解之L4:TCP, UDP, SCTP
文章目录
字段概览
备注:由于历史原因,某些字段会有多个名字,如下表,/后面表示该字段的其他名字
字段名 | 长度 | 格式 | Masking | 前置项 | 访问权限 | OpenFlow 1.0 | OpenFlow 1.1 | NXM/OXM Support | 描述 |
---|---|---|---|---|---|---|---|---|---|
tcp_src/tp_src | 16位 | 十进制 | 按任意位掩码(OVS 1.6+) | TCP | 读/写 | exact match only | exact match only | OF 1.2+ and OVS 1.1+ | 源TCP端口号 |
tcp_dst/tp_dst | 16位 | 十进制 | 按任意位掩码(OVS 1.6+) | TCP | 读/写 | exact match only | exact match only | OF 1.2+ and OVS 1.1+ | 目的TCP端口号 |
tcp_flags | 16位(仅使用后12位) | TCP flags | 按任意位掩码 | TCP | 只读 | 不支持 | 不支持 | OF 1.3+ and OVS 2.1+ | TCP flags |
udp_src | 16位 | 十进制 | 按任意位掩码 | UDP | 读/写 | exact match only | exact match only | OF 1.2+ and OVS 1.1+ | 源UDP端口号 |
udp_dst | 16位 | 十进制 | 按任意位掩码 | UDP | 读/写 | exact match only | exact match only | OF 1.2+ and OVS 1.1+ | 目的UDP端口号 |
sctp_src | 16位 | 十进制 | 按任意位掩码 | SCTP | 读/写 | 不支持 | exact match only | OF 1.2+ and OVS 2.0+ | 源SCTP端口号 |
sctp_dst | 16位 | 十进制 | 按任意位 掩码 | SCTP | 读/写 | 不支持 | exact match only | OF 1.2+ and OVS 2.0+ | 目的SCTP端口号 |
字段详解
TCP
下图为一个包含在IPv4内TCP报文格式图:
Open vSwitch也支持包含在IPv6中的TCP报文。
tcp_src/tp_src、tcp_dst/tp_dst
分别表示源TCP端口号和目的TCP端口号。
tcp_flags
保存TCP报文头的flags标志位。TCP目前定义了9个flag位以及3个保留位。如下:
这个字段的值通常使用上面的名字表示,名字前面加个+号或-号,如:
- tcp_flags=+syn-ack:表示匹配TCP SYN并且不是ACK的报文
- tcp_flags=+[200]:表示匹配带有保留字段[200]的数据包
UDP
下图为一个包含在IPv4内UDP报文格式图:
Open vSwitch也支持包含在IPv6中的UDP报文。
udp_src、udp_dst
分别表示源UDP端口号和目的UDP端口号
SCTP
下图为一个包含在IPv4内SCTP报文格式图:
Open vSwitch也支持包含在IPv6中的STCP报文。
sctp_src、sctp_dst
分别表示源SCTP端口号和目的SCTP端口号。
参考资料: