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 詳解