1.3 区分服务模式的结构模型
RFC2475定义了DS的结构模型,其主要内容包括:
● DS作用域(Differentiated Services Domain)的定义(边界节点、内部节点、入口节点和出口节点);
● 流量分类;
● 流量调整(测量、标记、整形、丢弃);
● 流量调整器和多字段分类器的位置;
● PHB;
● 组播的考虑;
● 安全和隧道方面的考虑。
区分服务模式的结构模型体现了区分服务模式实现QoS的理念。DS区域(DS-region)由一个或多个DS作用域(DS-domain)构成,如图1-2所示。每一个作用域都使用DSCP和PHB。
图1-2 区分服务模式的结构模型
DS作用域由DS入口节点、DS内部节点和DS出口节点构成。入口节点和出口节点也是边界节点,即连接其他DS作用域或非DS作用域的节点。
边界节点执行的工作有以下几个。
● 分类数据(classification)——把进来的数据包划分为预先定义的集合。
● 测量数据(metering)——确定数据流是否符合服务约定。
● 标记数据(marking)——对DSCP字段赋值(对不携带DSCP值的数据包)或改写DSCP字段的值(对已携带DSCP值的数据)。
● 数据整形(shaping)——缓存数据,以获得稳定的流速,如果发生拥塞,一般不丢弃数据包。
● 数据整治(policing)——使数据流满足合约规定的流量,丢弃超出合约规定的数据。
边界节点完成上述工作后,把分类后的数据放置在不同的队列里发送给内部节点或其他DS作用域。
内部节点执行的工作有以下几个。
● 数据整形。
● 数据整治。
● 重新标记DSCP值——对超出合约的数据进行再标记,如降低它的优先级等。
图1-3描述了上述情况。
图1-3 不同节点的工作
图1-4是从DS作用域的角度分析了各个节点完成的工作。如果从节点角度分析,节点的入口和出口的职责也不尽相同,如图1-4所示。
图1-4 DS节点入口和出口的职责
图1-5描述的是边界节点在入/出口上执行的工作。与内部节点相比,边界节点在入口上要对数据进行分类操作。边界节点和内部节点在出口上的操作没什么区别,都执行如下操作。
图1-5 实现QoS的流程
● 队列调度(queue scheduling)——调度不同优先级队列中的数据。
● 拥塞管理(congestion management)——当拥塞出现时的管理措施。
● 拥塞避免(congestion avoidance)——避免拥塞产生的措施。
DS模型仅定义了如何使用DSCP和PHB,并没有规定如何实现PHB,因此,测量技术、队列技术、数据整形与整治技术的种类也影响着数据调整和PHB的实现,不同厂商可以使用不同的技术完成区分服务模式下的QoS。