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相关字段详解之L4:TCP, UDP, SCTP
Open vSwitch也支持包含在IPv6中的TCP报文。

tcp_src/tp_src、tcp_dst/tp_dst

分别表示源TCP端口号和目的TCP端口号。

tcp_flags

保存TCP报文头的flags标志位。TCP目前定义了9个flag位以及3个保留位。如下:
Open vSwitch相关字段详解之L4:TCP, UDP, SCTP
这个字段的值通常使用上面的名字表示,名字前面加个+号或-号,如:

  • tcp_flags=+syn-ack:表示匹配TCP SYN并且不是ACK的报文
  • tcp_flags=+[200]:表示匹配带有保留字段[200]的数据包

UDP

下图为一个包含在IPv4内UDP报文格式图:

Open vSwitch相关字段详解之L4:TCP, UDP, SCTP
Open vSwitch也支持包含在IPv6中的UDP报文。

udp_src、udp_dst

分别表示源UDP端口号和目的UDP端口号

SCTP

下图为一个包含在IPv4内SCTP报文格式图:
Open vSwitch相关字段详解之L4:TCP, UDP, SCTP
Open vSwitch也支持包含在IPv6中的STCP报文。

sctp_src、sctp_dst

分别表示源SCTP端口号和目的SCTP端口号。

参考资料:

  1. SCTP协议详解