
严格的说,Cos与Tos只是QoS的一种标记机制。
QoS范围太大,涉及到入口数据流的标记和分类及速率限制,网络骨干的拥塞避免和拥塞管理,网络出口的队列调度机制等等。
Cos是二层ISL或者8021Q数据帧的优先级标记,3个bit,范围0-7;
Tos是三层数据包的服务类型标记,也是3个bit,范围0-7,同样可当作优先级标记,另外5个实际指示Delay,Throughput,Reliability等特性的bit位一般没有使用;现在为了更好的控制数据流分类,使用DSCP(Differential Services Code Point),扩展了Tos的后三个bit,因此,范围从0-63。
在实施QoS策略时,Cos与ToS或DSCP之间通常要做映射机制。
投递数据包的命令是Ping,ping是最直接,最简单的命令,使用也很方便:
ping -t 可以持续的ping,观察丢包率很实用
ping -l 可以设置向目标IP投放数据包的大小
常用的就是这两个命令,如果需要持续ping,并且需要设置数据包大小,可以ping -l 数据包大小 -t IP地址。
首先要看version是引用类型,其肯定是返回参数。
b为Byte类型,其实就是二进制类型其样式为10011101,一共八个bit。b>>4就是移位运算,10011101 >>4 = 00001001(举例)
很明显,version版本存放在b的高4位中。
result = (b&0x0f)4;这个很明显是为了提取b的低四位数据,因为0x0f = (0000 1111)(B),然后乘以4,就是左移2位,我擦楼主,你好好看看谭浩强的书吧!1 << 2 = 2^2 = 4;
swith(b>>5);右移5位,和上面一样,如果是 1001 1101 >> 5 = 0000 0100
后面的我就不说了,其实如果你理解前面的,后面的就都懂了。
楼猪,建议你看看谭浩强的书,位运算章节,不是很难。
一、 *** 作说明
在QoS测试中,经常要设置不同优先级的报文,来验证被测设备对于优先级的调度。所以,我们就要了解如何设置IPv6和IPv6报文中的DSCP(大部分使用DSCP值,也会用到TOS值)
这里我们使用测试接交换机,交换机转发测试仪发出的报文,我们在接收端口抓包,验证配置正确性。
二、 测试拓扑
拓扑说明
1、测试仪两个端口和DUT两个端口相连
2、测试P1端口发出流量,经过DUT转发后,从B端口发出,进入P2端口。
三、 测试思路
1、创建两个Port之间的流量,这里为了便捷就使用Raw流。
2、修改IPv4和IPv6报文中的DSCP值,在接收端口抓包查看DSCP字段是否符合设置预期
四、 测试步骤
1、 IPv4报文 DSCP 值设置
(1)占用端口
(2)创建流量,这里为了便捷,使用RAW流
(3)设置IPv4头部中的DSCP值。首先选在TOS或DSCP,这里我们以DSCP为例。
设置DSCP类型。这里有两个类型:CodePoint和Class Selector。
其中,Class Selector对应我们常说的AFxx
其中,CodePoint,对应我们常说的CSxx。这里根据客户要要求设定。
另外,点击QoS Edit按钮,这里可以看到DiffServ和ToS的设置,以及DiffServ下,CodePoint和Cass Selector的对应关系。
2、 IPv6报文的DSCP值设置
(1)设置RAW流
(2)将IPv4头删除,添加IPv6报文头
(3)可以看到,报文头里只有Traffic Class(十进制)字段,我们就要通过设置Traffic Class字段,来实现DSCP值的设置。
这里需要注意下,我们首先看下报文中的DSCP值。Traffic Class字段有8bits,其中前6bits是DSCP值,后2bits是ECN(默认00)
因此,我们在报文编辑时填的Traffic Class数值时包括ECN的。
(4)编辑Traffic Class字段
我们先找到DSCP值10进制的编码表,例如下面这张。因为后面还有两个bit的ECN值00。所以我们把10进制的DSCP值4,就得到了10进制的Traffic Class值。
例如,我们这里使用AF43对应10进制38, 384=152。
(5)发送流量,接收端口抓包,显示DSCP值为AF43
假设从文本文件中读入
strLine="20211526133:137 - 20211526255:137 UDP TTL:128 TOS:0x0 ID:6479 IpLen:20 DgmLen:78";
这一行,可以用CStdioFile的ReadString读取,
其它的语句就是分析这行,用空格和:符号提取各段,
ip1就是20211526133你可以逐行运行这段语句,很快就会明白的
RFC 791
根据各IP应用的特点,将业务分为Network Control、Internetwork Control、CRITIC/ECP、Flash Override、Flash、Immediate、Priority、Routine共8类优先级。其中,Routine优先级最低,Network Control优先级最高。
RFC 1349
将业务按照TOS的定义分为16类优先级,TOS使用4个bit位分别表示:minimize delay、maximize throughput、minimize monetary cost、maximize reliability,并建议了各IP应用应该如何取TOS值,例如,FTP CONTROL报文建议其TOS取值为minimize delay。
RFC 1490
将业务按照Frame Relay Discard Eligibility bit的定义分为2类丢弃优先级。
RFC 1483
Multiprotocol Encapsulation over ATM Adaptation Layer 5
将业务按照ATM Cell Loss Priority bit的定义分为2类丢弃优先级。
RFC 2474
Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Header
DiffServ网络定义了四类PHB:EF(Expedited Forwarding)PHB适用于低时延、低丢失、低抖动、确保带宽的优先业务;AF(Assured Forwarding)PHB分为四类,每个AF类又分为三个丢弃优先级,可以对相应业务进行等级细分,QoS性能参数低于EF类型;CS(class selector)PHB是从IP TOS字段演变而来,共8类;BE PHB是CS中特殊一类,没有任何保证,现有IP网络流量也都默认为此类。
IEEE 8025
Token ring access method and Physical Layer specifications
令牌环网的优先级,可以将业务根据Access Priority的定义为8类优先级 。
IEEE 8021p,Class of Service
以太网优先级,可以将业务根据8021P Priority的定义分为8类优先级,0类至7类优先级相应递增,0类是BE业务,尽力传输)。
ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。
如图所示,是TCP/IP参考模型和OSI参考模型的对比示意图。
在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。同时将OSI参考模型中的数据链路层和物理层合并为主机到网络层。下面,分别介绍各层的主要功能。
实际上TCP/IP参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。
网络互连层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机。同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。
网络互连层定义了分组格式和协议,即IP协议(Internet Protocol)。
网络互连层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务。除此之外,网络互连层还需要完成拥塞控制的功能。
在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。
在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP(transmission control protocol)和用户数据报协议UDP(user datagram protocol)。
TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层。在接收端,它负责把收到的报文进行重组后递交给上层。TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。
UDP协议是一个不可靠的、无连接的协议,主要适用于不需要对报文进行排序和流量控制的场合。
TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。
应用层面向不同的网络应用引入了不同的应用层协议。
其中,有基于TCP协议的,如文件传输协议(File Transfer Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(Hyper Text Transfer Protocol,>
你需要看一看,tcp\ip详解,看一下icmp 包头,服务类型字段 都定义的什么
区分服务字段 占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。
事实上,这个指定tos值 是无意义的
以上就是关于QoS中ToS和CoS的区别802.1p,ip pri,dscp的区别全部的内容,包括:QoS中ToS和CoS的区别802.1p,ip pri,dscp的区别、cmd里向别人ip投递数据包的命令是什么、IP数据包解析C++源代码问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)