关于互联网丢包的技术

点赞:3035 浏览:8429 近期更新时间:2024-01-27 作者:网友分享原创网站原创

【摘 要】 接到客户反映访问一个网站需要花很长时间、下载软件时仅仅几K/S的速度或者根本不能访问某个网站.面对这些情况,利用ping、tracert、stat、winipcfg网络测试命令来对互联网丢包现象进行技术研究,从而定位是否是传输误码大、客户端设备工作不正常、交换机丢包或者接入怎么写作器丢包等,快速找到互联网丢包现象的真实原因.

【关 键 词 】 本地网关 Inter IP地址 数据包

通过使用Windows或Dos自带的ping、tracert、stat、winipcfg网络测试命令可快速定位上网故障情况.在本篇文章中,详细谈一下这几个命令的格式、用法和功能,然后利用这些命令分析一下互联网丢包现象,从而定位上网缓慢的根本原因并且对症解决.

首先先谈一下ping、tracert、stat、winipcfg网络测试命令.

1.ping命令详解

适用环境:WIN95/98/2000/NT

使用格式:ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j puter-list] | [-k puter-list] [-w timeout] 计算机名或者计算机IP

参数介绍:

-t 让用户所在的主机不断向目标主机发送数据

-a 以IP地址格式来显示目标主机的网络地址

-n count 指定要ping多少次,具体次数由后面的count来指定

-l length 定义echo数据包大小. 在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小.虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)C:\>ping -l 65500 -t 192.168.1.21

Pinging 192.168.1.21 with 65500 bytes of data:

Reply from 192.168.1.21: bytes等于65500 time<10ms TTL=254

Reply from 192.168.1.21: bytes等于65500 time<10ms TTL=254

这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,在大学时我曾经就做过这样的试验,当我同时使用10台计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP怎么写作完全停止,由此可见威力非同小可.

-f 在数据包中发送“不要分段”标志.在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理.

-i ttl 指定TTL值在对方的系统里停留的时间.此参数同样是帮助你检查网络运转情况的.

-v tos将“怎么写作类型”字段设置为 tos 指定的值.

-r count在“记录路由”字段中记录传出和返回数据包的路由. 在一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由,如果想探测更多,可以通过其他命令实现.

-s count指定 count 指定的跃点数的时间戳.此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个.

-j puter-list利用puter-list指定的计算机列表路由数据包.连续计算机可以被中间网关分隔(路由稀疏源)IP允许的最大数量为9.

-k puter-list利用puter-list指定的计算机列表路由数据包.连续计算机不能被中间网关分隔(路由严格源)IP允许的最大数量为9.

-w timeout指定超时间隔,单位为毫秒.

主要功能:利用Ping命令,可以测试一帧数据从一台主机传输到另一台主机所需的时间,从而判断主机的响应时间.该命令的作用,主要是用于检查路由是否能够到达.由于该命令的包长很小,所以在网上传递的速度非常快,可以快速地检测要去的站点是否可到达.一般访问某一站点前,可先运行此命令,以确定该站点是否可以到达. 如果执行Ping命令不成功,则可以判断故障出现在以下几个方面:网线是否连通、网络适配器配置是否正确、IP地址是否可用等.如果执行Ping成功而网络仍无法使用,则问题很可能出在网络系统的软件配置方面.Ping命令执行成功,只说明当前主机与目的主机间存在一条可连通的物理路径.其使用格式是,在命令提示符下键入“Ping IP地址或主机名”,执行结果为显示响应时间,重复执行这个命令,你可以发现Ping报告的响应时间是不同的.具体的Ping命令后还可跟一些参数,这些参数在键入Ping后回车会得到详细说明.

2.tracert命令详解 适用环境:WIN95/98/2000/NT

使用格式:tracert [-d] [-h maximum_hops] [-j host_list] [- w timeout]

参数介绍:

-d 不解析目标主机的名称

-h maximum_hops 指定搜索到目标地址的最大跳跃数

-j host_list 按照主机列表中的地址释放源路由

-w timeout 指定超时时间间隔,程序默认的时间单位是毫秒

主要功能:判定数据包到达目的主机所经过的路径、显示数据包经过的中继节点清单和显示到达每个继站的时间.该功能同ping命令类似,但它所看到的信息要比ping命令详细得多,它把你送出的到某一站点的请求包,所走的全部路由均告诉你,并且告诉你通过该路由的IP是多少,通过该IP的时延是多少.


3.stat命令详解

适用环境:WIN95/98/2000/NT

使用格式:stat [-r] [-s] [-n] [-a]

参数介绍:

-r显示本机路由标的内容

-s显示每个协议的使用状态(包括TCP协议、UDP协议、IP协议)

-n以数字表格形式显示地址和端口

-a显示所有主机的端口号

主要功能:该命令可以使用户了解到自己的主机是怎样与因特网相连接的. stat程序有助于我们了解网络的整体使用情况.它可以显示当前正在活动的网络连接的详细信息,例如显示网络连接、路由表和网络接口信息,可以让用户得知目前总共有哪些网络连接正在运行.我们可以了解该命令的其他功能信息,例如显示以太网的统计信息,显示所有协议的使用状态,这些协议包括TCP协议、UDP协议以及IP协议等,另外还可以选择特定的协议并查看其具体使用信息,还能显示所有主机的端口号以及当前主机的详细路由信息.

4.winipcfg 命令详解

适用环境:WIN95/98/2000

使用格式:winipcfg [/?] [/all]

参数介绍:

/? 显示winipcfg的格式和参数的英文说明

/all 显示所有的有关IP地址的配置信息

主要功能:显示用户所在主机内部的IP协议的配置信息

详细介绍:winipcfg程序采用windows窗口的形式来显示IP协议的具体配置信息,如果winipcfg命令后面不跟任何参数直接运行,程序将会在窗口中显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等,还可以查看主机的相关信息如:主机名、DNS怎么写作器、节点类型等.其中网络适配器的物理地址在检测网络错误时非常有用.在命令提示符下键入winipcfg/?可获得winipcfg的使用帮助,键入winipcfg/all可获得IP配置的所有属性.

关于互联网丢包的技术参考属性评定
有关论文范文主题研究: 关于计算机的论文范文素材 大学生适用: 学年论文、研究生毕业论文
相关参考文献下载数量: 78 写作解决问题: 本科论文怎么写
毕业论文开题报告: 文献综述、论文前言 职称论文适用: 技师论文、职称评初级
所属大学生专业类别: 本科论文怎么写 论文题目推荐度: 经典题目

举例说明:如果我们想很快地了解某一台主机的IP协议的具体配置情况,可以使用winipcfg命令来检测.其具体操作步骤如下:在“运行”对话框中,直接输入winipcfg命令,接着按一下回车键,我们就会看到一个界面(图1).

在该界面中,我们了解到目前笔者所在的计算机是用的3COM类型的网卡,网卡的物理地址是44-45-53-54-00-00,主机的IP地址是210.91.193.145,子网掩码是255.255.255.0,路由器的地址是210.91.193.145,如果用户想更加详细地了解该主机的其他IP协议配置信息,例如DNS怎么写作器、DHCP怎么写作器等方面的信息,可以直接单击该界面中的“详细信息”按钮.

下面我们可以按照以下步骤利用ping、tracert、stat、winipcfg网络测试命令来分析165互联网丢包现象,从而能定位是否是传输误码大、客户端设备工作不正常、交换机丢包或者接入怎么写作器丢包等问题.

Step-1、采集测试数据

可以按照如下步骤采集测试数据:

(1)本端用户正常拨号并且登录上网.

(2)查询本地网关(即接入怎么写作器)的IP地址.

执行tracert命令跟踪到某一目标主机的路由(eg: tracert .sohu. 命令).命令执行结果中第一个IP地址就是接入怎么写作器的IP地址.一般情况下,执行结果可能还包括其他IP地址.从所显示IP地址对应的域名可以知道第二、第三个IP地址也是本地ISP的IP地址.结果如(图2):

(3)在客户端不中断上网的情况下,无限循环地PING接入怎么写作器的IP地址.Eg:有上图第一行可知:接入怎么写作器的IP地址为:211.91.192.1.所以:ping –t 211.91.192.1

(4)执行以下命令,使本端PC定时(eg:每隔20秒)自动统计所收发的各种IP报文,统计信息输出到测试者指定的文件中(文件名为:shq.txt):eg: stat –s 20 >shq.txt

(5)查询本客户当前上网的IP地址后,通知ISP管理员(或者另外一个客户端)无限循环地PING本客户端.

运行:winipcfg 命令

可得如(图3):

可知:本机ip为:211.91.193.145,然后让另外一个用户之下命令:ping –t 211.91.193.145

(6)本地客户端继续上网,至少维持30分钟,然后下网,并中止第三步、第四步的执行命令.

Step-2:分析测试数据

(1)理想情况.

在理想情况下,本客户端PC每发出一个ping请求报文,就会收到一个ping响应报文.而本客户端PC每收到一个ping请求报文,就会发出一个ping响应报文.因而,在shq.txt统计结果文件中,Echos(即Echo requst)这一行和Echo Replies这一行的统计结果的对角线的数值应该相等,才会表明没有丢包,如下所示: (2)实际情况.

考虑到ping命令刚执行时,可能存在ping不通的情况.如果后续ping不通的情况不在出现,则可以应认为ping是一直正常的,因此应按照以下方法分析shq.txt文件给出的前后几次统计结果:

①根据第一次统计结果,读出x值.

X等于(本端发出的ping请求报文数S1)-(本端收到的ping响应报文数R1)

②根据最后一次统计结果,读出y值.

Y等于(本端发出的ping请求报文数S2)-(本端收到的ping响应报文数R2)

③如果(y-x)>0,而且在ping期间,用户上网能浏览或者下载(在这种情况下有浏览/下载比较缓慢,但用户感觉不明显),则可得出结论:上网、ping期间传输通路连接正常,上网有丢包.

④丢包的原因包括传输误码大、客户端设备工作不正常、交换机丢包和接入怎么写作器丢包等.如果许多用户反映浏览/下载缓慢,应该重点检查传输设备、交换机侧和接入怎么写作器的问题.传输误码可以使误码仪进行测试,如果传输没有问题,则丢包由交换机或接入怎么写作器的问题,可以按照第5步测试确认那方发生丢包现象.值得一提的是,接入怎么写作器的丢包现象在负荷量大的情况下会容易出现.

⑤让用户拨号到PSTN侧自建的拨号怎么写作器上,进行ping测试.如果ping自建的怎么写作器正常,则基本判断:交换机系统没有误码,不会引起用户上网丢包,用户拨号上网丢包由ISP侧的网络引起的.

⑥网络有少量丢包可以认为是正常的,但是如果(R2-R1)/(S2-S1)的值小于95%,则认为网络丢包比较严重.

下面我们根据以上所述,结合实例来分析互联网丢包现象.

某用户发现上网缓慢后,采取以下操作进行采集测试数据:在继续上网的同时,用户PC无限循环地ping数据机房工作人员用于维护接入怎么写作器的一台PC终端,而数据机房的那台PC也无限循环地ping用户的PC.在整个过程中,用户重复执行Netatat –s命令和time命令,并将输出结果重定向,以统计TCP/IP包的情况.

以下是采集的数据./*和*/之间内容是人为附加注释的.

分析Netatat所记录统计的IMCP报文结果,得出两个统计结果:

统计结果1:用户PC发出的ping请求报文echo数2089个,而接受到响应报文reply数是20个,二者不等.

统计结果2:用户PC收到的ping请求报文echo数159个,而发出的响应报文reply数是159,二者相等.

因此,得到以下结论:

(1)统计结果1(用户PC能受到部分响应报文reply)表示用户PC到数据机房PC的双向物理道路是正常的,没有误码.

(2)结合两个统计结果和数据机房PC机ping其他用户都正常的情况,可以肯定两台PC机自身工作正常,无丢包.

(3)上网缓慢是因为丢包引起.上行方向(用户PC到接入怎么写作器的方向)出现丢包引起,而下行方向没有丢包.