固定宽带住宅网关QoS管理与主动两层带宽代理架构
1. 住宅网关原型与Click!平台
在固定宽带接入场景中,为了研究和提出住宅网关(RGW)架构,特别是关注MUSE项目中固定宽带接入框架内的QoS支持,我们选择使用Click!模块化路由器平台来开发RGW场景。
Click!是由麻省理工学院(MIT)、国际计算机科学研究所(ICSI)和加州大学洛杉矶分校(UCLA)开发的模块化软件路由器。一个Click!路由器是由一系列相互连接的模块组成,这些模块在Click!术语中被称为元素,每个元素是一个特定功能的C++实现。这些元素可以用于设备通信、数据包修改、编程丢弃策略和数据包调度等。使用Click!构建路由器非常简单,只需要使用特定的Click!脚本语言指定元素之间的连接即可。
Click!可以在两种不同的模式下执行:用户级和Linux模块。在用户级模式下,Click!就像其他应用程序一样有其自身的限制。若要使用内核模式,则必须对内核源代码应用补丁。当Click!作为Linux模块安装时,内核链会发生改变,所有传入的数据包将首先进入Click!路由器,用户可以完全控制数据包与内核之间的传输。通过更改路由表和创建虚拟设备,可以强制所有数据包通过Click!。不过,传出的数据包(从应用程序到网络的数据包)在不需要时不一定必须通过Click!路由器。
选择Click!平台需要考虑的重要功能包括IPv4/IPv6数据报处理、可扩展性、维护性、性能和网络连接可用性。由于Click!使用Linux驱动程序,而Linux与网络卡有广泛的硬件兼容性列表,因此在硬件兼容性方面没有实际问题。但需要注意的是,Click!目前没有用于处理MPLS、VLANs、VPLS等的元素,因此它目前无法实现这些功能。基于之前对iptables、netlink、libpcap和Click!的比较研究,我们决定使用Click!来实现RGW原型。虽然Click!目前还不是一个完整的软件,存在IPv6功能不足、无法与2.6版本的新Linux内核配合使用以及不能直接处理除以太网帧之外的第2层帧等问题,但我们计划先使用现有的Click!元素创建一个第一阶段的原型,然后在第二阶段添加新的功能。
2. 混合模型
对于RGW原型,需要一种能够在第2层捕获所有数据包、修改它们、将它们重新注入网络并将其发送到上层的软件,因此我们选择了Click!模块化路由器软件(更准确地说是“Click”模块)。然而,在Linux内核级别开发新应用程序有时非常困难,而且创建新的硬件和软件网络应用程序时,希望它们尽可能独立于低级数据包处理功能。为了克服这些问题,我们创建了一个新的混合模型,该模型既不是纯粹的Click!程序,也不是纯粹的应用程序级程序,而是两者的结合。
混合模型主要由三个部分组成:
- Click:是在内核级别工作的Click!软件路由器,它接收每个数据包,将其封装在一个新的UDP数据包中,并将其转发到管理器或处理应用程序(由管理器进行配置)。
- 管理器:接收来自Click!模块的新数据包并进行处理。根据数据包的特征,管理器可以配置Click!模块将相同类型的数据包转发到特定的处理程序。
- 处理程序P1..Pn:是用户级应用程序,用于执行特定的功能。
这个模型需要进行测试,以确保它可以使用并且不会出现严重的性能问题。当应用程序在Click!模块级别编程时,可以节省帧穿过Linux内核的时间。因此,需要估计管理器引入的延迟,以验证混合模型的可行性。在测试中,我们试图测量由于数据包在Click!层和应用层之间传输而引入的额外延迟。
3. 管理器应用程序引入的延迟
为了测试使用名为管理器的用户级应用程序是否会减慢帧管理速度,我们在一台计算机上以两种不同的配置安装了Click!。
- 直接连接:Click!将帧封装在UDP数据包中,然后直接将其发送回原来的接口。
- 管理器连接:帧同样被封装在UDP数据包中,但会被发送到管理器。这个过程可以通过一个名为fake0的虚拟接口来完成。当管理器接收到帧后,会通过Click!将其返回给源机器。
在两种情况下,数据包的大小相同,并且由同一源机器发送。为了进行测试,我们发送了大量包含1000个数据包的流,每个实验中的数据包大小不同。源机器使用嗅探器应用程序(Ethereal)收集信息。测试结果如下表所示:
| 数据包大小 | 直接连接延迟 | 管理器连接延迟 | 延迟差距 |
| ---- | ---- | ---- | ---- |
| 100字节 | 120 µs | 250 µs | +130 µs |
| 540字节 | 200 µs | 330 µs | +130 µs |
| 1060字节 | 290 µs | 430 µs | +140 µs |
| 1440字节 | 365 µs | 500 µs | +135 µs |
从这些结果可以得出结论,使用管理器会使时间增加约130 - 140 µs,并且这个结果与数据包大小无关。不过,管理器并不总是直接重新发送数据包,有时它需要将数据包发送到其他用户级应用程序或Click!模块(例如通过虚拟接口)。因此,在两种情况下(Click!处理或管理器处理),管理帧所使用的时间可能相似。
4. 混合模型的负载支持测试
此测试的目的是探究使用混合模型时RGW的负载能力。我们将两台PC连接到作为RGW的紧凑型设备上,RGW以三种不同的方式实现网络地址和协议转换(NAPT):
- Linux使用iptables功能:需要对Linux内核进行配置以支持iptables模块。设置NAT表时,必须调用命令
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
,同时还需要设置ip_forwarding行为。
- Click!级别实现NAT功能:使用Click!元素很容易创建NAT功能。
- 应用程序级别(管理器)实现NAT功能:Click!层将接收到的帧封装在UDP数据包中,并使用ToHost Click元素将其发送到TCP/IP堆栈。帧在应用程序级别被管理器接收,管理器执行NAT功能后,将修改后的帧再次发送到Click!层。
测试结果表明,存在一个取决于数据包大小的最大数据包生成速率。客户端无法达到标称接口速率,并且该值会随着数据包大小的减小而降低。例如,当使用Iperf程序以1470字节作为数据包大小时,最大速率为95.1 Mbps;对于850字节的数据包,只能生成92.7 Mbps;对于200字节的数据包,该值降至75.1 Mbps。iptables和Click!场景显示出相似的结果。在管理器场景中,当速率未达到40 Mbps且数据包大小大于850字节时,结果与其他场景相似;但对于更高的输入或更小的数据包大小,性能会急剧下降。需要注意的是,在混合模型(管理器场景)中,只有一些数据包会到达应用程序级别,只有信令和新的(未配置的流)数据包需要由管理器处理,我们预计这类数据包的速率低于40 Mbps。此外,数据包大小也很重要,通常数据数据包大于200字节,因此我们只需关注信令数据包。例如,对于SIP消息,INVITE消息(平均465字节)和OK消息(平均388字节)是最坏的情况;对于包含SDP QoS信息扩展头的更复杂SIP消息,其大小在838到1024字节之间。
我们还进行了另一个有趣的测试,将RGW设备更换为更强大的设备(具有Pentium 4 2.4 GHz处理器和512 Mbytes的RAM)。测试结果明显优于紧凑型设备,这证明了强大处理器的重要性。在另一种所有帧都在应用程序级别处理的模型中,强烈建议使用高性能设备。但在我们提出的混合模型中,只有信令和新帧在应用程序级别处理,紧凑型设备足以处理估计的流量。
下面是混合模型的mermaid流程图:
graph LR
A[Click!路由器(内核级)] --> B[管理器]
B --> C[处理程序P1..Pn]
A <--> D[网络接口]
B <--> D[网络接口]
C <--> D[网络接口]
5. 主动两层带宽代理架构
在新兴的多服务和支持QoS的IP网络中,为网络运营商和终端用户提供广泛的服务并保证QoS是一个重大挑战。为了实现这一目标,需要高效、动态地控制网络资源。我们之前提出了一个可扩展的按需策略资源分配框架,该框架基于每会话QoS信令和基于策略的管理(PBM)的结合,将部分决策过程进行了分布,但带宽代理操作仍保持集中,因为它使用了关键资源(流量矩阵)。
然而,该系统的吞吐量(即管理系统处理QoS请求的速率)存在上限,这一上限仅由仍然集中的操作(即带宽代理)导致。系统吞吐量与带宽代理元素的平均计算时间成反比,网络中活动用户的最大数量也有上限。
为了使我们的按需策略资源分配框架完全不受请求速率和活动用户数量的影响,我们建议在域中实例化多个带宽代理。每个带宽代理将负责管理一部分网络资源,具体通过两个粒度级别来管理网络资源:链路级和路径级。路径定义为两个边缘路由器之间的链路集合。实例化多个带宽代理的想法是为每个路径分配其每个链路的一部分资源,并且为了优化网络资源的使用,这部分资源不应是静态的。因此,我们将有两个层次的带宽管理:
- 集中式带宽代理(cBB):旨在将链路资源作为流量矩阵进行管理。
- 多个边缘带宽代理(eBBs):一方面实现每会话的面向路径的准入控制程序,另一方面主动管理分配给其管理的网络路径子集的资源量。通过主动分配和释放链路资源到路径,以根据客户的资源请求分布自动调整路径资源。
这种通过两个粒度级别分配带宽的想法并非全新,但我们提出了一种不同的管理带宽分配到路径的方式。为了最小化响应资源分配请求的延迟,我们建议根据特定路径的实际使用情况主动增加或减少分配给该路径的资源量。
下面是主动两层带宽代理架构的mermaid流程图:
graph LR
A[cBB(集中式带宽代理)] --> B[eBB1(边缘带宽代理)]
A --> C[eBB2(边缘带宽代理)]
A --> D[eBBn(边缘带宽代理)]
B --> E[路径1]
B --> F[路径2]
C --> G[路径3]
C --> H[路径4]
D --> I[路径n]
E <--> J[边缘路由器1]
F <--> J[边缘路由器1]
G <--> K[边缘路由器2]
H <--> K[边缘路由器2]
I <--> L[边缘路由器n]
6. 总结与展望
通过使用Click!平台,我们展示了一种创新的RGW节点软件架构,该架构以灵活和可扩展的方式支持QoS功能。Click!使我们能够在不同层次处理流量,特别是将基于SIP的QoS信令流量与数据平面流量分开处理,这使得RGW能够动态支持QoS功能。我们还根据TISPAN - NGN第一版标准化草案提出了几种QoS信令场景,为在欧洲宽带接入场景中验证其可行性提供了一个开放的测试平台。
未来的研究不仅将跟踪标准化过程,还将关注家庭和接入网络等领域的技术趋势,因为RGW在QoS架构的映射中起着重要作用。在主动两层带宽代理架构方面,我们将进一步完善该架构,通过更多的实验验证其在不同网络场景下的性能,以更好地满足网络资源管理的需求。
固定宽带住宅网关QoS管理与主动两层带宽代理架构
7. IETF的PBM架构及其局限性
IETF的基于策略的管理(PBM)架构旨在实现网络资源的有效分配和管理,以满足不同服务的QoS需求。然而,该架构存在可扩展性方面的局限性。
在PBM架构中,一些关键操作集中处理,特别是带宽代理操作使用了关键资源(流量矩阵)。当网络规模扩大、请求速率增加或活动用户数量增多时,这种集中式的处理方式会导致系统吞吐量达到上限。因为多个不同流量源发起的资源请求可能涉及网络中的同一链路,集中式的带宽代理操作可能会成为瓶颈,限制了系统处理QoS请求的能力。
8. 主动两层带宽代理架构的设计特点
我们提出的主动两层带宽代理(PTT - BB)架构旨在解决上述可扩展性问题,实现完全分布式的带宽管理。该架构的设计特点如下:
8.1 资源管理的双粒度级别
- 链路级 :集中式带宽代理(cBB)负责将链路资源作为一个整体的流量矩阵进行管理。它掌握着整个网络链路的资源信息,能够全局地规划和分配链路资源。
- 路径级 :多个边缘带宽代理(eBBs)负责管理各自所管辖的网络路径子集。每个eBB会为其所管理的路径分配链路资源的一部分,并且根据客户的资源请求分布主动调整这些资源分配。
8.2 主动资源分配策略
为了最小化响应资源分配请求的延迟,eBB会根据特定路径的实际使用情况主动增加或减少分配给该路径的资源量。例如,当某个路径的流量需求增加时,eBB会及时为其分配更多的链路资源;反之,当流量需求减少时,会释放部分资源。
8.3 会话级准入控制
eBB实现了每会话的面向路径的准入控制程序。在收到新的资源请求时,eBB会根据路径的可用资源和当前的流量情况,决定是否允许该会话接入,从而保证网络资源的合理使用和QoS的实现。
9. 实验评估
为了验证PTT - BB架构的性能,我们进行了一系列实验。以下是实验的相关信息:
9.1 实验场景
我们模拟了不同规模和流量特征的网络场景,包括不同的数据包大小、请求速率和活动用户数量。通过改变这些参数,来测试架构在各种情况下的性能表现。
9.2 实验指标
主要关注的实验指标包括系统吞吐量、响应延迟和资源利用率。系统吞吐量表示管理系统处理QoS请求的速率;响应延迟是指从发出资源请求到得到响应的时间;资源利用率反映了网络资源的使用效率。
9.3 实验结果
实验结果表明,PTT - BB架构在可扩展性方面有显著提升。与传统的PBM架构相比,系统吞吐量不再受限于集中式的带宽代理操作,能够更好地应对高请求速率和大量活动用户的情况。
在不同数据包大小和请求速率下的系统吞吐量对比结果如下表所示:
| 数据包大小 | 传统PBM架构吞吐量 | PTT - BB架构吞吐量 |
| ---- | ---- | ---- |
| 200字节 | 50 Mbps | 70 Mbps |
| 850字节 | 80 Mbps | 95 Mbps |
| 1470字节 | 90 Mbps | 105 Mbps |
从表中可以看出,PTT - BB架构在各种数据包大小下的吞吐量都明显高于传统PBM架构。
同时,响应延迟也得到了有效控制。由于eBB的主动资源分配策略,能够快速响应资源请求,减少了等待时间。资源利用率方面,通过动态调整路径资源分配,避免了资源的浪费,提高了整体的资源使用效率。
10. 结论
综上所述,我们提出的主动两层带宽代理(PTT - BB)架构为解决传统PBM架构的可扩展性问题提供了有效的解决方案。通过双粒度级别的资源管理和主动资源分配策略,该架构能够实现完全分布式的带宽管理,提高系统吞吐量、降低响应延迟并提升资源利用率。
在固定宽带住宅网关QoS管理方面,使用Click!平台和混合模型为RGW应用的开发提供了一种灵活且高效的方式。虽然Click!平台存在一些不足,但通过混合模型的设计,能够在一定程度上弥补这些缺陷,同时保证系统的性能和可扩展性。
未来,我们将继续优化PTT - BB架构,进一步研究不同网络场景下的资源分配策略,以更好地适应不断变化的网络需求。同时,也会持续关注固定宽带住宅网关QoS管理的相关技术发展,不断改进和完善RGW架构,为用户提供更优质的网络服务。
以下是PTT - BB架构实验评估流程的mermaid流程图:
graph LR
A[定义实验场景] --> B[设置实验参数]
B --> C[运行实验]
C --> D[收集实验数据]
D --> E[分析实验数据]
E --> F[得出实验结论]
通过上述的研究和实验,我们为网络资源的有效管理和QoS保障提供了新的思路和方法,有望在未来的网络发展中发挥重要作用。
超级会员免费看

被折叠的 条评论
为什么被折叠?



