摘要本文讨论了基于路由器
协作方式的IP
网络主动
测量方法,介绍了一种IP
网络主动
测量协议——IPMP协议,并分析了该协议的特点及应用前景,最后对路由器
协作主动
测量方法的发展作了展望。 关键词IP路由器
测量 1、IP
网络测量概述 近些年来,IP
网络已经作为承载
网络得到了广泛的部署和应用,通信业内也都在研究如何将多种业务,包括传统的电信业务和视频等多媒体业务承载在IP
网络上。与此同时,IP
网络作为电信运营
网络也存在一些固有的缺陷:服务质量问题无法解决、协议过于开放,无法实施有效的管理等。在这种情况下,IP
网络的
测量问题逐渐成为了一个研究的热点。通过
网络测量可以检验IP
网络是否提供了某种服务质量,或验证一种保证服务质量的技术是否达到了预期效果。同时,对IP
网络来说,可
测量也是可管理的一个基础。更为重要的是,IP
网络测量将使人们对IP
网络的运行模式有更加具体的、量化的认识,从而使IP
网络从一种技术上升为一门科学。 根据在
测量过程中
网络设备的参与程度,可以将IP
网络测量分为三种:基于路由器方式的
测量、端到端方式的
测量和路由器
协作方式的
测量。基于路由器方式的
测量,也就是一般所说的被动
测量,采用在
网络设备上进行抽样统计的方式对
网络性能进行监测。但由于它只能分别统计某一
网络设备上的流量情况。很难对
网络端到端的性能进行计算,因此一般情况下并不是IP
网络测量的优选方案。端到端方式的
测量采用主动
测量的方法,且只有位于
网络边缘的主机参与。因此能够比较好地反映
网络端到端的性能,但由于
网络对于
测量活动是透明的,因此不利于
网络故障的分析和
网络性能的分段监测。本文主要讨论的是路由器
协作方式的
测量。 2、路由器
协作主动
测量与IPMP协议 路由器
协作的IP
网络测量采用主动
测量的方式,因此在这里称为路由器
协作主动
测量。这种方式的
测量同样由
网络边缘的主机发起,但
测量的过程需要
网络设备(主要是路由器)的参与,因此既能够得到
网络端到端的性能结果,也可以对
网络性能进行分段分析。 2.1路由器
协作主动
测量 路由器
协作主动
测量的基本过程是:由
网络边缘主机A向
网络边缘主机B发送
测量报文,报文转发途中经过的每一跳路由器将实时参数(一般包括当前时间等)写入
测量报文,直至边缘主机B,此时根据报文中的信息可以计算出
网络中的端到端时延、逐跳时延、丢包等参数。从这个基本过程中可以看出,如果实现这样一种
测量,需要路由器满足以下几个条件: (1)均支持某种通用的
测量协议,可以“感知”
测量报文,并向其中写入某些信息。 (2)
网络设备对
测量报文与普通报文采用同样的处理方式和优先级,以保证反映
网络中真实流量的转发性能。 (3)为实现单向
测量,需要路由器间实现严格的时钟(时间)同步。 对于时钟同步的问题,可以采用NTP或GPS来实现;对于其它两个条件,则需要路由器支持专门的协议,目前最主要的路由器
协作主动
测量协议就是IPMP(IPMeasurementProtocol)协议。 2.2IPMP协议 (1)IPMP协议的设计目标 IPMP协议是由NLANR(应用
网络研究国家实验室)支持研究并提出的,最早出现在2002年,在IETF形成了草案。它的基本思想类似于ICMP,也是一种以请求/应答方式工作的协议,同时它具有记录路径的功能。IPMP协议的设计目标主要有以下几点: ●请求和应答消息都带有“路径记录(PathRecord)”,可以记录路径; ●PathRecord中带有IP地址和时戳信息,可以计算每一跳间的单向时延; ●PathRecord信息可以由路由器写入; ●路由器可以使用它所能够采用的同步方式(如NTP,CDMA,GPS等)。 (2)IPMP协议定义的报文 IPMP协议被设计为建立在IP协议上的一个独立协议,其在TCP/IP协议栈中的位置如图1所示。IPMP协议定义了两种报文:

图1 IPMP协议的位置 ●IPMP回应请求/回应应答(IPMPEchoRequest/Reply):由主机发送,并由
网络路径上支持IPMP协议的路由器所处理,记录经过该设备时的RouteRecord,进行
网络性能的
测量; ●IPMP信息请求/应答(IPMPInformationRequest/Reply):由主机发送,并由
网络路径上支持IPMP协议的路由器所处理,用以得到路由器时间戳的精度。 IPMP包头的格式类似于TCP或UDP报文,也具有源端口、目的端口号字段,这样使
测量报文在转发过程中尽量模拟普通IP报文的行为;同时,路由器还可以根据IPMP
测量报文IP头部中的源/目的IP地址,以及IPMP头部中的“伪协议号(FauxIPProto)”(与IP头部中的协议号不同,专门用来模拟其它传输层协议)和“伪源/目的端口号(FauxSource/Destination Port)”来构成一个五元组,使
测量报文与其它命中的报文一样按照某种策略进行转发。IPMP回应请求报文头部的格式如图2所示。

图2 IPMP回应请求报文头部格式 (3)基于IPMP协议的
网络测量系统的组成 基于IPMP协议的
网络测量系统由以下三个部分组成: ●
测量主机(MeasurementHost)
测量主机主要是构造IPMP回应请求报文,并对应答报文进行处理,若应答报文中存在PathRecord字段,则可以通过其中的数据计算端到端及每跳间的时延;若未收到应答报文,或应答报文中出现错误,则可以计算丢包或包错误参数;
测量主机同时负责计算回应请求报文的校验和,并检验应答报文的校验和数值。 ●应答系统(EchoingSystem) 应答系统可以是路由器,也可以是主机,负责为回应请求/信息请求报文构造相应的应答报文。当应答系统接收到一个回应请求报文时,将会做如下处理:交换报文的源IP地址和目的IP地址;交换报文中的源端口和目的端口;将IPMPOption字段中的“reply”位置位,并重新计算校验和;如果需要,在回应报文中插入一个PathRecord字段。 为了保证实时性和
测量的准确性,对于回应请求报文的处理应该直接在接口卡上进行,而对于信息请求报文,由于它并不影响
测量过程,同时处理信息请求报文也要耗费更多的资源,因此可以将信息请求报文提交上层操作系统处理,或为信息请求报文分配一个比较低的处理优先级。 ●转发系统(ForwardingSystem) 转发系统即转发报文的
网络,其中的路由器可以支持IPMP,也可以不支持。不支持IPMP协议的路由器只需将IPMP的
测量报文与其它IP包一样做正常的转发。如果在路由器上配置了基于五元组(源/目的IP地址、源/目的端口号、协议类型)的转发策略,则需要使用IPMP报文中的“伪协议号”、“伪端口号”,以及IP头部中的IP地址信息来进行匹配。
测量系统、应答系统和转发系统在IPMP报文发送、转发和回送的过程中都可能需要向报文中插入PathRecord信息,这一工作也不是必须的,其前提条件是插入PathRecord信息的过程不能使IPMP报文与同一个流中的其它IP报文在转发效果上产生“明显的差别”,但实际上这一要求比较难以实现。在转发过程中,IPMP报文的长度是不能改变的,因此,在插入PathRecord之前,系统还要检查报文中是否有足够的空间来插入一个新的字段。 综上所述,采用IPMP协议的
测量系统的工作过程如下:IPMP协议的回应请求报文由
网络边缘的
测量主机发送,报文的目的地址为应答系统的IP地址,IPMP回应请求报文由转发系统进行转发,在转发路径上所有支持IPMP的路由器均有可能对IPMP报文进行处理——在报文中添加新的PathRecord字段(PathRecord中包括接收/发送接口的IP地址和接收/发送时时戳信息),不支持IPMP的路由器则只需要按照报文的IP地址进行正常转发;报文到达应答系统后,应答系统构造相应的应答报文并根据需要插入PathRecord,发回
测量主机,在返回的路径上所有支持IPMP协议的路由器同样需要根据情况向报文中插入Path Record;最终应答报文返回
测量主机,并由
测量主机对结果进行处理,整个
测量过程如图3所示。如果
测量主机需要得到某个支持IPMP协议的设备的时钟精度情况,则需要发送IPMP信息请求报文,由目的主机/路由器写入自身所获得的时钟精度,回送
测量主机。

图3 IPMP协议的
测量过程 3、IPMP协议的分析 目前,IPMP协议是最主要的路由器
协作主动
测量协议,但从2004年中开始,IETF已经停止了对IPMP协议草案的讨论,之后,IRTF和NLANR还在对IPMP协议以及基于IPMP协议的系统进行研究和开发。 3.1IPMP协议的优点 从协议本身来看,IPMP协议优点和缺点都很明显。IPMP协议的优势在于:可以逐跳
测量网络性能,这样就有利于
网络的性能故障分析,非常适合于运营商自身的
网络性能监测;在
测量的同时,通过IPMP协议报文中的PathRecord字段中的逐跳地址信息还可以得到
网络中的路由情况,有助于对
网络路由状况和流量分布的分析。 3.2IPMP协议的缺点 (1)路由器需要感知IPMP的
测量报文(IPMP报文的协议号还未分配),这就相当于路由器一直开启一个ACL策略,并对命中策略的报文进行处理,写入时戳信息。大大增加了路由器的工作量,占用大量的路由器资源,同时,最初的IPMP协议设计非常复杂,含有大量的可选字段和标志位,更增加了设备的处理难度。 (2)路由器既然可以感知
测量报文,就可能对
测量报文采取“非正常的”的处理策略,例如占用高优先级队列等等,这样就无法反映
网络真实的性能情况。 (3)
测量主机在发送
测量报文时需要在报文中预留足够的空间,用于转发系统中的路由器插入PathRecord信息(IPv4的PathRecord字段长度为12字节,IPv6的PathRecord字段长度为24字节),使得现有的IPMP协议无法进行小包
测量,而实际
网络中100字节以下的报文在数量上占报文总数的40%左右,这样就大大限制了IPMP协议的应用范围。 (4)IPMP报文只是定义了IPMP层的操作,并不涉及IP层,因此无法对
测量报文的IP优先级进行设定,即
测量报文只能具有最低的“BestEffort”的优先级,这样也影响了
测量的完整性。 (5)由于IPMP报文中携带了
网络中的转发路径信息和转发路径上每跳间的时延信息,这样在多运营商间进行性能
测量时就会产生信任的问题,这也限制了IPMP协议的应用场合。 (6)IPMP协议本身并没有细致考虑安全的问题,而支持IPMP协议的路由器又可能需要处理所有的IPMP报文,这样就使得IPMP可能成为一种非常“便捷的”针对路由器的DoS攻击手段。 针对以上的问题,IPMP协议自身也在不断改进,IPMP自身在不断的简化,从草案01版到04版,其协议中可变的选项和标志位已经大大减少,协议报文得到了很大的简化。同时,IPMP协议对安全性的考虑也在不断深入。 4、结束语 当前,对IP
网络测量协议的研究主要集中在路由器
协作主动
测量方式(IPMP)和端到端主动
测量方式(OWAMP,OneWayActiveMeasurement Protocol)上,而端到端主动
测量方式是现在研究主流和重点。虽然IP
网络测量的目的是多种多样的,端到端主动
测量也比较适合第三方或用户对
网络质量的检验,但并不适合运营商自身的
网络质量监测,在这方面,路由器
协作主动
测量具有先天的优势。将来也可以考虑将两种
测量方式的优点结合起来,在
网络设备中直接实现
测量的功能,
网络测量也将真正成为内嵌在IP
网络中的实用工具,
网络测量也将真正成为IP
网络建设、运营和维护的一部分。 作者:高巍李晓明