流表 Action 之修改 nw_tos 字段

nw_tos 其实是 IP 数据包的 ToS(Type of Service) 字段,代表提供的服务类型或服务等级。可以在基于 SDN 实现的服务链中起到服务标识的作用,也可以用于 OvS 的匹配字段,对不同种类型的流量(语音、控制等,一般控制消息的优先级最高,丢包率最低)提供差异的服务。

ToS 由 8 比特组成,最后一位必是 0。可取的值如下(其中 46 不知为何实际使用时会报 BAD_ACTION_ARGUMENT 错,先挖个坑,以后再分析):

不难发现规律:

  • ToS = DSCP × 4。
  • IP priority = DSCP 前三位。

在数据包拥挤的时候,这个值也被当做优先处理的依据。越大的数字优先级越高。

POX 编程 API 示例:

msg_udp.actions.append(of.ofp_action_nw_tos(nw_tos = 56))

参考文献
[1] POX Manual
[2] IP 层标记字段 ToS——DSCP 详解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章