摘要:网络规模的扩大和网络数据拥塞现象的频繁发生,要求对网络延迟的测量理论和方法进行深入研究。基于ICMP这一最常用的TCP/IP协议,可以有效的对网络延迟进行测量,文章介绍了利用ICMP进行延迟测量的滋用报文和进行延迟测量的基本方法,并给出了应用实例。中国论文网关键词:网络延迟测量;ICMP;报文;LSRR中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)06-1271-02ResearchofNetworkDelayMeasurementBasedonICMPHEIlui(NetworkCenter,LanzhouPolytechnicCollege,Lanzhou730050,Chinti)Abstract:Theexpansionofthescaleofnetworkandnetworkdataofthephenomenonofcongesti()门frequent,askedtodelaythemeasure?mentnetworktheoryandmethodforflirtherresearch.BasedonthemostcommonlyusedICMPTCP/IPprotocol,canbeaneffectivemeasureofnetworkdelay,theicleintroducedtheuseofthecommon1yusedformeasuringdelayICMPmessagesandintroducethebasicmethodofmeasurement,andtheapplicationexamplewasgiven.Keywords:networkdelayineasurenient;ICMP;datagram;LSRR网络延迟是报文在传输介质中传输所用的时间,即从报文开始进入网络到离开网络之间的时间,单位为毫秒(ms)。要测量远端网络节点与管理工作站的延迟情况,须追踪(Trace)报文传输所经过的网络路径,逐一测量报文传输路径上各网段的延迟时间。若要测量管理工作站Z外两个相邻节点A、BZI'可的网络延迟,需要向这两个A、B节点发送报文,用报文返冋的吋间减去报文到达A节点和从B点返冋的时间,即可得到报文通过A、B节点之I'可的延迟时间,最常用延迟测量方式是TCP/IP协议所提供的ICMP(Inter?netControlMessageProtocol,Internet控制报文协议)[1]。1ICMP协议与常用报文1.1ICMP协议TCMP协议是一种面向连接的协议,用于传输出错报告控制信息。TCMP是TCP/TP协议族的一个子协议,属于网络层协议,主要用于在主机与路山器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到叩数据无法访问目标、叩路山器无法按当前的传输速率转发数据包等情况时,会自动向发送端发送ICMP消息。可以将ICMP协议定义的9种报文格式(MessageType)分为两类[2],第一类是错误报文(ErrorMessage),共5种,如表4.1所示;第二类是消息报文(InformationMessage),共4种,如衣4.2所示。当数据在IP网络传输有并常情况产生时,被测主机或接收端主动向发送端(网管工作站)发送消息,提醒发送端停止或调整信息发送方式,这些山接收端向发送端送出的消息就是第一类格式的报文,即鉛谋报文。第二类(消息报文)山数据的发送者主动提出,希望目的主机(接收端)冋应的报文。1.2常用报文网络延迟测量中最常使用的ICMP报文是EchoRequestxEchoReply和TimeExceeded01)EchoRequest/EchoReplyEchoRequest/EchoReply是ICMP协议中最常用的报文格式,EchoRequest要求目的主机在收到消息后做一个简单的冋答,以检杳网络是否通畅以及目的主机是否在线(“live);EchoReply是专门响应EchoRequest的报文,若目的主机正常,贝!]会向TCMP发送端主机发送EchoReply报文-----------"我在线”。EchoRequest/EchoReply属于消息报文(InformationMessage),只有在发送端下达指令时才会产生。发送EchoRequest消息报文最常见的程序是“pi临”。fflpi吗操作,使用者可以立即得到两个信息,第一是目的主机是否仍然正常运行,第二是数据包来冋的时间,即网络延迟。ping程式具有简单的工作原理:向目标主机发出ICMP报文后,就进行侦听(lis?ten),等待目的主机的响应,若目的主机超过指定的时间仍没有响应,则认为目的主机“Timeout”。2)TimeExceeded为防止无法到达目的地的数据包在网络中无限制地传递,IP协议的设计者在IP协议的包头设计了一个8位的TTL(TimeToLive)字段,TTL字段设置的值是数据包在网络中可以跳跃的次数上限。TTL是山数据包的发送者设置的,在前往目的地的过程中,每经过-台主机或设备,TTL的值就减一,如果在数据包到达目的地前,TTL的值被减到了0,那么这个数据包将作为一•个ICMP错误的数据包被丢弃。通帘,数据包从发送端被送岀时,TTL值一•般会设置为该字段所允许的最大...