DSCP优先级.docx
- 文档编号:30549797
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:19
- 大小:227.99KB
DSCP优先级.docx
《DSCP优先级.docx》由会员分享,可在线阅读,更多相关《DSCP优先级.docx(19页珍藏版)》请在冰豆网上搜索。
DSCP优先级
IP数据包结构
图0.IP数据包结构
IP数据包字段解析
版本号:
占了4位,表示ipv4.
Internet首部长度(IHL包头长度):
占4位,指明ipv4协议包头长度的字节数包含多少个32位。
由于IPv4的包头可能包含可变数量的可选项,所以这个字段可以用来确定IPv4数据报中数据部分的偏移位置。
IPv4包头的最小长度是20个字节,因此IHL这个字段的最小值用十进制表示就是5(5x4(4个字节32位)=20字节)。
就是说,它表示的是包头的总字节数是4字节的倍数。
图2中即为headerlength为20,表示是20个字节,所以经过计算此处用十进制表示为5,二进制表示为1001。
服务类型:
服务类型一共占了8位,涵义如下:
过程字段:
3位,设置了数据包的重要性,取值越大数据越重要,取值范围为:
0(正常)~7(网络控制)
延迟字段:
1位,取值:
0(正常)、1(期特低的延迟)
流量字段:
1位,取值:
0(正常)、1(期特高的流量)
可靠性字段:
1位,取值:
0(正常)、1(期特高的可靠性)
成本字段:
1位,取值:
0(正常)、1(期特最小成本)
未使用:
1位
图2中表示的为DifferentiatedServiceFied0x00。
总长度totallength:
71(十进制表示),换位十六进制是0x0047
标识字段:
占16位。
IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。
但这个“标识”不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。
当数据报由于长度超过网络的MTU而必须分片时,
这个标识字段的值就被复制到所有的数据报片的标识字段中。
相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报,此处值为0x1fd6(十进制:
8150)
标志(flag):
占3位,但目前只有两位有意义。
标志字段中的最低位为MF(MoreFragment)。
MF=1即表示后面“还有分片”的数据报。
MF=0表示这已是若干数据报片中的最后一个。
标志字段中间的一位记为DF(Don'tFragment),意思是“不能分片”。
只有当DF=0时才允许分片。
此处值为0x02即010表示不能分片,即don'tFragment。
段偏移量:
占13位,当数据分组时,它和更多段位(MF,Morefragments)进行连接,帮助目的主机将分段的包组合。
此处值为0x00。
Timetolive(TTL)生存时间:
占8位,表示数据包在网络上生存多久,每通过一个路由器该值减一,为0时将被路由器丢弃。
图2中生存时间为1。
协议:
占8位,这个字段定义了IP数据报的数据部分使用的协议类型。
常用的协议及其十进制数值包括ICMP
(1)、TCP(6)、UDP(17)。
图2中协议是17,换算为16进制是0x0111
源端ip:
192.168.0.1090xc0a80x006d(192->oxc0,168->0xa8…)
目标ip:
224.0.0.2520xe0000x00fc
首部校验和(checksum):
占16位
DSCP优先级
DSCP优先级它由IP分组报头中的6位组成,使用的是ToS字节,因此在使用DSCP后,该字节也被称为DSCP字节。
其在字节中的位置如下:
DS5DS4DS3DS2DS1DS0CUCU
其中:
DSCP优先级:
6bit(DS5-DS0),未用(CU):
2bit
DSCP优先级值有64个(0-63),0优先级最低,63优先级最高。
事实上DSCP字段是IP优先级字段的超集,DSCP字段的定义向后与IP优先级字段兼容。
目前定义的DSCP有默认的DSCP,值为0;
类选择器DSCP,定义为向后与IP优先级兼容,值为(8,16,24,32,40,48,56);加速转发(EF),一般用于低延迟的服务,推荐值为46(101110);
确定转发(AF),定义了4个服务等级,每个服务等级有3个下降过程,因此使用了12个DSCP值((10,12,14),(18,20,22),(26,28,30),(34,36,38))。
IPprecedence和DSCP代码对照表
500)this.width=500;">
<0-63>Differentiatedservicescodepointvalue
af11MatchpacketswithAF11dscp(001010)10
af12MatchpacketswithAF12dscp(001100)12
af13MatchpacketswithAF13dscp(001110)14
af21MatchpacketswithAF21dscp(010010)18
af22MatchpacketswithAF22dscp(010100)20
af23MatchpacketswithAF23dscp(010110)22
af31MatchpacketswithAF31dscp(011010)26
af32MatchpacketswithAF32dscp(011100)28
af33MatchpacketswithAF33dscp(011110)30
af41MatchpacketswithAF41dscp(100010)34
af42MatchpacketswithAF42dscp(100100)36
af43MatchpacketswithAF43dscp(100110)38
cs1MatchpacketswithCS1(precedence1)dscp(001000)8
cs2MatchpacketswithCS2(precedence2)dscp(010000)16
cs3MatchpacketswithCS3(precedence3)dscp(011000)24
cs4MatchpacketswithCS4(precedence4)dscp(100000)32
cs5MatchpacketswithCS5(precedence5)dscp(101000)40
cs6MatchpacketswithCS6(precedence6)dscp(110000)48
cs7MatchpacketswithCS7(precedence7)dscp(111000)56
defaultMatchpacketswithdefaultdscp(000000)默认0
efMatchpacketswithEFdscp(101110)加速转发46
注:
CS:
ClassSelectorCodepoints类别选择代码
EF:
ExpeditedForwarding加速转发
AF:
AssuredForwarding确定转发
DSCP由RFC2474定义,它重新命名了IPv4报头中TOS使用的那1字节和IPv6报头中数据类(TrafficClass)那1字节,新的名字称为DS字段(DifferentiatedServicesField)。
该字段的作用没有变,仍然被QoS工具用来标记数据。
不同的是IPv4使用3比特,而DSCP使用6比特,最低2比特不用。
RFC2474定义最高3比特为级别/类别选择代码(ClassSelectorCodepoints,CS),其意义和IPv4报头中IP优先级的定义是相同的,CS0~CS7的级别相等于IP优先级0~7。
但它并没有定义第3到第5比特的具体含义以及使用规则。
DSCP使用6比特,可以定义64个优先级(0-63)。
AF
保证转发(AssuredForwarding,AF)由RFC2597对CS1~CS4进行进一步定义。
它使用第3和第4比特做丢弃优先级标志。
01-低丢弃优先级;10-中丢弃优先级;11-高丢弃优先级。
这样,在同一类数据中,又根据被丢弃的可能性划分出3档。
下表列出了AF服务等级及其对应的DSCP值:
CS1CS2CS3CS4
LowdropAF11AF21AF31AF41
001010010010011010100010
MediumdropAF12AF22AF32AF42
001100010100011100100100
HighdropAF13AF23AF33AF43
001110010110011110100110
AF的定义为数据分类提供了方便,比如,运营商可以向用户提供4中服务协约(SLA):
白金,金,银,铜,并为每一种服务的数据分配一定的带宽。
当然,不同服务的收费标准也是不同的。
EF
无阻碍转发(ExpeditedForwarding,EF)由RFC2598定义,DSCP值为46(101110)。
EF服务适用于低丢包率,低延迟,低抖动及保证带宽的业务,如VOIP。
其他
DSCP=000000尽力转发服务等级(EF);
CS=6网间控制(InternetworkControl),DSCP=48(110000)
CS=7网内控制(IntranetworkControl),DSCP=56(111000)
在配置命令中,既可以使用十进制数值,也可以使用二进制数值,还可以使用名称。
例如,28,011100,AF32三个写法意义相同。
DSCP与IP优先级
IP优先级
在IPv4的报文头中,TOS字段是1字节,如下图所示。
根据RFC1122的定义,IP优先级(IPPrecedence)使用最高3比特(第0~2比特)。
+++++++++++++++++++++++++++++++++
|0|1|2|3|4|5|6|7|
+++++++++++++++++++++++++++++++++
3比特可以定义8个等级。
8个优先级的定义如下:
7-111-NetworkControl网络控制--保留给网络控制数据使用,比如路由
6-110-InternetworkControl网间控制--保留给网络控制数据使用,比如路由
5-101-Critic关键--推荐给语音数据使用
4-100-FlashOverride疾速--由视频会议和视频流使用
3-011-Flash闪速--语音控制数据使用
2-010-Immediate快速--数据业务使用
1-001-Priority优先--数据业务使用
0-000-Routine普通--缺省标记值
在标记数据时,既可以使用数值,也可以使用名称(英文名称)。
DSCP、COS、QOS之间的关系
COS:
ClassOfService
QOS:
QualityOfService
TOS:
TypeofService
DSCP:
DifferentiatedServiceCodePoint
严格的说,Cos与Tos只是QoS的一种标记机制。
QoS范围太大,涉及到入口数据流的标记和分类及速率限制,网络骨干的拥塞避免和拥塞管理,网络出口的队列调度机制等等。
Cos是二层ISL或者802.1Q数据帧的优先级标记,3个bit,范围0-7;
Tos是三层数据包的服务类型标记,也是3个bit,范围0-7,同样可当作优先级标记,另外5个实际指示Delay,Throughput,Reliability等特性的bit位,一般没有使用;现在为了更好的控制数据流分类,使用DSCP(DifferentialServicesCodePoint),扩展了Tos的后三个bit,因此,范围从0-63。
在实施QoS策略时,Cos与ToS或DSCP之间通常要做映射机制。
TOS:
01234567
+-----+-----+-----+-----+-----+-----+-----+-----+
||||
|PRECEDENCE|TOS|MBZ|
||||
+-----+-----+-----+-----+-----+-----+-----+-----+
服务类型(TOS)字段包括一个3bit的优先权子字段(现在已被忽略),4bit的TOS子字段和1bit未用位但必须置0。
4bit的TOS分别代表:
最小时延、最大吞吐量、最高可靠性和最小费用。
4bit中只能置其中1bit。
如果所有4bit均为0,那么就意味着是一般服务。
RFC1340[ReynoldsandPostel1992]描述了所有的标准应用如何设置这些服务类型。
RFC1349[Almquist1992]对该RFC进行了修正,更为详细地描述了TOS的特性。
服务类型(TOS)字段解析
图1.IP首部的结构
图2.Wireshark工具分析解析图
字段解析:
版本号:
占了4位,表示ipv4.
Internet首部长度(IHL包头长度):
占4位,指明ipv4协议包头长度的字节数包含多少个32位。
由于IPv4的包头可能包含可变数量的可选项,所以这个字段可以用来确定IPv4数据报中数据部分的偏移位置。
IPv4包头的最小长度是20个字节,因此IHL这个字段的最小值用十进制表示就是5(5x4(4个字节32位)=20字节)。
就是说,它表示的是包头的总字节数是4字节的倍数。
图2中即为headerlength为20,表示是20个字节,所以经过计算此处用十进制表示为5,二进制表示为1001。
服务类型:
服务类型一共占了8位,涵义如下:
过程字段:
3位,设置了数据包的重要性,取值越大数据越重要,取值范围为:
0(正常)~7(网络控制)
延迟字段:
1位,取值:
0(正常)、1(期特低的延迟)
流量字段:
1位,取值:
0(正常)、1(期特高的流量)
可靠性字段:
1位,取值:
0(正常)、1(期特高的可靠性)
成本字段:
1位,取值:
0(正常)、1(期特最小成本)
未使用:
1位
图2中表示的为DifferentiatedServiceFied0x00。
总长度totallength:
71(十进制表示),换位十六进制是0x0047
标识字段:
占16位。
IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。
但这个“标识”不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。
当数据报由于长度超过网络的MTU而必须分片时,
这个标识字段的值就被复制到所有的数据报片的标识字段中。
相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报,此处值为0x1fd6(十进制:
8150)
标志(flag):
占3位,但目前只有两位有意义。
标志字段中的最低位为MF(MoreFragment)。
MF=1即表示后面“还有分片”的数据报。
MF=0表示这已是若干数据报片中的最后一个。
标志字段中间的一位记为DF(Don'tFragment),意思是“不能分片”。
只有当DF=0时才允许分片。
此处值为0x02即010表示不能分片,即don'tFragment。
段偏移量:
占13位,当数据分组时,它和更多段位(MF,Morefragments)进行连接,帮助目的主机将分段的包组合。
此处值为0x00。
Timetolive(TTL)生存时间:
占8位,表示数据包在网络上生存多久,每通过一个路由器该值减一,为0时将被路由器丢弃。
图2中生存时间为1。
协议:
占8位,这个字段定义了IP数据报的数据部分使用的协议类型。
常用的协议及其十进制数值包括ICMP
(1)、TCP(6)、UDP(17)。
图2中协议是17,换算为16进制是0x0111
源端ip:
192.168.0.1090xc0a80x006d(192->oxc0,168->0xa8…)
目标ip:
224.0.0.2520xe0000x00fc
首部校验和(checksum):
占16位,下面计算检验和:
首先明确检验和的计算方法
0和0相加是0,0和1相加是1,1和1相加是0但要产生一个进位1,加到下一列.若最高位相加后产生进位,则最后得到的结果要加1.
在发送数据时,为了计算IP数据包的校验和。
应该按如下步骤:
(1)把IP数据包的校验和字段置为0;
(2)把首部看成以16位为单位的数字组成,依次进行二进制反码求和;
(3)把得到的结果存入校验和字段中。
在接收数据时,计算数据包的校验和相对简单,按如下步骤:
(1)把首部看成以16位为单位的数字组成,依次进行二进制反码求和,包括校验和字段;
(2)检查计算出的校验和的结果是否等于零(反码应为16个0);
(3)如果等于零,说明被整除,校验和正确。
否则,校验和就是错误的,协议栈要抛弃这个数据包。
举例如下:
例1
原始数据为(11001010)0000(校验位)
发送端:
把他们按照4bit一组进行按位取反相加。
1100取反0011
1010取反是0101,
0011加上0101是1000,填入到校验位后110010101000那么这个就是要发送的数据。
接收端:
收到数据后同样进行按位取反相加。
0011+0101+0111=1111;全为1表示正确。
例2
先来计算发送端:
原始数据为
十六进制二进制
0x45000100010100000000
0x00470000000001000111
0x1fd60001111111010110
0x00000000000000000000
0x01110000000100010001
0xf7be1111011110111110
0xc0a81100000010101000
0x006d0000000001101101
0xe0001110000000000000
0x00fc0000000011111100
将检验和置0为0x00000000000000000000---〉检验和
其余分别取反:
1011101011111111
1111111110111000
1110000000101001
1111111111111111
1111111011101110
0011111101010111
1111111110010010
0001111111111111
1111111100000011
求和后化为十六进制刚好为0xf7be
另一种方法
先直接相加再取反:
4500+0047+1fd6+0000+0111+c0a8+006d+e000+00fc=2083f
083f+2=841
化为二进制:
0000100001000001
将其取反后:
1111011110111110
也是0xf7be
由此可见两种方法均可以计算出正确的检验和。
再来计算接受端
下面再来看一下接收数据的情况。
此次我们用第二种方法计算,即先求和再取反。
4500+0257+8bbb+0000+4006+6b27+c0a8+0001+c0a8+006d=2fffd
fffd+2=ffff
取反后为0000因此结果正确。
现网LTE的QOS与LTEDSCP的映射关系
ENBFunctionFDD
QoSDSCPMapping
qCI
arpSegID
dscpValue
LTEFDDID
QCI与DSCP映射ID
QCI编号
ARP区间
DSCP取值
long:
[0~1048575]
long:
[1~9999]
long:
[1~256];
default:
1
long:
[1~15];
default:
1
long:
[0~63];
default:
46
767006
1
1
1
46
767006
2
1
2
46
767006
3
1
3
46
767006
4
2
1
32
767006
5
2
2
32
767006
6
2
3
32
767006
7
3
1
32
767006
8
3
2
32
767006
9
3
3
32
767006
10
4
1
24
767006
11
4
2
24
767006
12
4
3
24
767006
13
5
1
40
767006
14
5
2
40
767006
15
5
3
40
767006
16
6
1
30
767006
17
6
2
28
767006
18
6
3
26
767006
19
7
1
38
767006
20
7
2
36
767006
21
7
3
34
767006
22
8
1
14
767006
23
8
2
12
767006
24
8
3
10
767006
25
9
1
0
767006
26
9
2
0
767006
27
9
3
0
EPSQOS体系解读
EPS承载的用处
与3G不同,EPS中只有数据(PS域)业务,用户与网络间必须先建立EPS承载(Bearer)之后,才能在承载之上使用各种数据业务(如IMS语音业务、上网业务、FTP、游戏。
。
。
)。
每种数据业务的业务流,称为一个业务数据流SDF,它可以用一个IP五元组来表示(IP包中的源、目的IP地址、源、目的端口、协议(如TCP、UDP等),IP地址可以支持模糊匹配),这个五元组即TFT过滤器。
EPS完全支持IP协议,而IP是无连接的,为了让EPS数据包在EPS核心网(eNB、SGW、PGW)内进行QOS管理和控制,EPS承载在移动网络内部动态建立了一条“半固定连接”或“逻辑电路”。
EPSBearer存在于UE和PDNGW之间,贯穿了整个移动网络。
它完全取代了3GPP为2G、3G定义了PDPContext概念。
EPS承载是QoS控制的基本粒度,EPS承载可以视为一个或多个业务数据流SDF的逻辑聚合体(即:
多个业务流可以使用一个承载,即聚合在一个承载上),即相同承载上的所有数据流将获得相同的QoS保障或承载级别的转发处理,即:
映射到相同EPS承载的SDF们必须具有相同的QCI和ARP,如:
调度策略、缓冲队列管理策略、链路层RLC配置等。
不同的QoS保障需要不同类型的EPS承载来提供。
如果两个SDF需要不同的承载级QOS处理,则需要为每个SDF建立一个单独的EPS承载。
业务流与承载的对应关系
EPS业务流模板(TFT:
trafficflowtemplate)。
一个TFT会包括多个包过滤器(packetfilter,也称分组过滤器),其中分为上行业务流模板(ULTFT)与下行业务流模板(DLTFT),ULTFT是TFT中的上行包过滤器集合,DLTFT是TFT中的下行包过滤器集合。
过滤器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSCP 优先级