IP优先级TOSDSCP
1,常见的QoS
- IP层的ToS(Type of Service)优先级(RFC791),后来升级为IP层的DSCP(Differentiated Services Codepoint)优先级(RFC 2474)
- 802.3报文的IEEE802.1p优先级
- 802.11 MAC优先级AC_VO、AC_VI、AC_BE、AC_BK
IP层的ToS和80211有响应的映射关系,这个我们后面在讲。
2,ToS的格式
早期RFC791定义,IP数据包是依赖ToS字段来标识数据优先级, ToS字段由8个比特组成, 其中BIT0~2的Precedence字段标识了IP报文的优先级。
我们可以定义ToS 为如下的数据结构
struct Tos {
unsigned char Precedence:3;
unsigned char Delay:1;
unsigned char Througput:1;
unsigned char Reliabilty:1;
unsigned char Cost:1;
unsigned char Unused:1;
}
但是在网络传输时,按大端传输,在抓包文件中的格式为
| Precedence:3 | Delay:1 | Througput:1 | Reliabilty:1 | Cost:1 | Unused:1 |
Precedence bit0-bit2 指示IP优先级0~7,值越大优先级越高
- 111--Network Control(网络控制);
- 110--Internetwork Control(网间控制);
- 101--Critic(关键);
- 100--Flash Override(疾速);
- 011--Flash(闪速);
- 010--Immediate(快速);
- 001--Priority(优先);
- 000--Routine(普通)。
DTRC这些位也成为ToS位,指示报文关键特性/业务类型要求。每个IP报文的Bit3~6只有一个Bit = 1,分别对应D(Delay)、T(Throughput)、R(Reliability)、C(Cost),因此实际只有5个值,这些值一般不使用,使用Precedence的值就可以满足一般的QoS需要。
- 0000--normal service;
- 1000--minimize delay;
- 0100--maximize throughput;
- 0010--maximize reliability;
- 0001--minimize monetary cost。
2,IP DSCP
为了更好的控制数据流分类,新的RFC 2474 标准中,重新定义了IP 报文头的ToS 字段为DS(Differentiated Services,差分服务)字段,
DSCP使用6比特,
Precedence
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律