网络丢包怎么办
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/24 11:24:51 小学作文
篇一:解决网络丢包问题及故障判断方法
我们首先来认识一下什么是丢包,以及什么样的现象被成为是网络丢包:
数据在INTERNET上是以数据包为单位传输的,每包nK,不多也不少。这就是说,不管网络线路有多好、网络设备有多强悍,你的数据都不会是以线性(就象打电话一样)传输的,中间总是有空洞的。数据包的传输,不可能百分之百的能够完成,因为种种原因,总会有一定的损失。碰到这种情况,INTERNET会自动的让双方的电脑根据协议来补包和重传该包。如果网络线路好、速度快,包的损失会非常小,补包和重传的工作也相对较易完成,因此可以近似的将所传输的数据看做是无损的。但是,如果网络线路较差,数据的损失量就会非常大,补包工作又不是百分之百完成的。这种情况下,数据的传输就会出现空洞,造成丢包。
打开网页的速度特别的慢,有时候还会出现网页部分内容或是整个页面无法显示的问题;QQ等即时通讯工具等频繁掉线或提示登陆超时;已经设置为自动获取IP地址,却并非每次都可以正常获取;下载文件速度慢……这些故障有很大一部分是由于丢包造成的。
[next]
接下来我们来看如何确认、检测以及解决丢包故障:
常见的测试丢包的方法是通过使用PING命令进行测试,如图所示,Request timed out.表示此刻发生丢包故障。Reply from 220.181.6.19: bytes=32 time=10ms TTL=55 类似显示表示数据传输正常。另外,还可以通过一些工具软件进行测试,具体测试方法可参见各软件使用说明文档,在此不做过多阐述。
如前所述,丢包故障多数由以下几方面问题引起:蠕虫病毒、网线连接距离过长(室内理论有效传输距离为100米,但实际应用中一般以不超过50米为宜)、网线故障(包括水晶头金属物氧化及其他故障)、操作系统自身故障、网卡故障(由于网卡工作频率与网络设备工作频率不相符引起的故障,如千兆网卡配合百兆网络设备等;也可能为网卡物理故障,如设备自然老化或遇到雷击等)、网络设备故障(设备工作环境影响引起,如环境过于潮湿、干燥或电磁干扰严重等,也可能由于设备硬件故障造成)、网络运营商线路问题。
解决方法对照以上所示故障为:断开网络后安全模式下查杀病毒、适当减短网线长度、检查网线并重新制作水晶头、重装操作系统、调整网卡或网络设备使之工作在同一频率、更换网卡、更换网络设备的使用环境或更换网络设备、联系网络运营商解决。
篇二:网络丢包解决方案
网 络 丢 包 解 决 方 案
1. 现状及分析
深圳某公司的外网访问最近出现了较为严重的丢包现象(内网正常),见下图: 当业务量较小的时候,内网访问外网丢包比较少,
而当业务量较大时,内网访问外网丢包严重
经检测,内网到防火墙外网口不丢包,延迟也很低:
内网至运营商网关有丢包:
防火墙外网网口至运营商网关有丢包:
由此可以肯定的是:丢包发生在防火墙外网口和运营商线路之间。 网络为什么会有丢包呢?先看一些抓取的图片:
防火墙外网总流量图
1F流量图
2F流量图
3F流量图
根据当前现象(闲时丢包少或不丢包,忙时丢包严重)可以判断,丢包很大可能是由网络拥塞引起的,通俗的讲,就是用户量过于庞大,而内网又缺乏网络带宽控制机制引起的。大量的内网用户要想访问外网,必须要通过无序的方式来竞争仅有10M的带宽。
2. 解决思路
如何解决当前的网络问题呢?其实最根本的方法就是限制用户流量,就是针对每个上网的用户进行流量控制,比如禁止访问视频网站和其他与工作内容无关的网站,同时又能针对每个用户做出精准的流量限制,防止其对有限网络带宽的过度占用。
还可以针对一些流量做出服务质量保证(QOS),比如可以将与工作关系比较大的流量:如网页访问、邮件流量等的流量优先级提高,从而可以在一定程度上缓解网络拥塞,保证高优先级业务可以优先得到转发。(治标不治本的方法)
3. 实施办法
由于当前的网络架构暂时未配备上网行为管理,在核心交换机又无法针对每个IP做出流量控制,而此网络问题又亟需解决,只好采用QOS的方式临时替代。当前的网络结构为:“运营商”-“防火墙”-“H3C5500”--“核心交换机”--“内网”。
在“H3C5500”与防火墙相连的网络接口上做出QOS,提高部分关键业务流量的优先级,对下载流量或其他非关键业务流量的优先级采用默认值,从而可以较为有效的改善当前网络环境。
篇三:网络丢包率如何解决
网络丢包率如何解决
网络丢包是我们在使用ping(检测某个系统能否正 常运行)对目站进行询问时,数据包由于各种原因在信道中丢失的现象。ping使用了ICMP回送请求与回送回答报文。ICMP回送请求报文是主机或路由器 向一个特定的目的主机发出的询问,收到此报文的机器必须给源主机发送ICMP回送回答报文。这种询问报文用来测试目的站是否可到达以及了解其状态。需要指 出的是,ping是直接使用网络层ICMP的一个例子,它没有通过运输层的UDP或TCP。
网络丢包的原因主要有物理线路故障、设备故障、病毒攻击、路由信息错误等,下面我们结合具体情况进行说明。
物理线路故障
网管员发现广域网线路时通时断,发生这种情况时,有可能是线路出现故障,也可能是用户方面的原因。为了分清是否是线路故障,可以做如下测试。
如果广域网线路是通过路由器实现的,可以登录到路由器,通过扩展ping向对端路由器广域网接口发送大量的数据包进行测试。
如果线路是通过三层交换机实现,可在线路两端分别接一台计算机,并将IP地址分别设为本端三层路由交换机的广域网接口地址,使用“ping 对端计算机地址 -t”命令进行测试。 如果上述测试没有发生丢包现象,则说明线路运营商提供的线路是好的,引起故障的原因在于用户自身,需要进一步查找。
如果上述测试发生丢包现象,则说明故障是由线路供应商提供的线路引起的,需要与线路供应商联系尽快解决问题。
由物理线路引起的丢包现象还有很多,如光纤连接问题,跳线没有对准设备接口,双绞线及RJ-45接头有问题等。另外,通信线路受到随机噪声或者突发噪声造成的数据报错误,射频信号的干扰和信号的衰减等都可能造成数据包的丢失。我们可以借助网络测试仪来检查线路的质量。
设备故障
设备故障主要是指设备硬件方面的故障,不包含软件配置不当造成的丢包。如网卡是坏的,交换机的某个端口出现了物理故障,光纤收发器的电端口与网络设备接口,或两端设备接口的双工模式不匹配。
笔者近日在工作中发现一交换机端口的光纤模块故障造成的丢包现象,该交换机在通信一段时间后死机,即不能通信,重启后恢复正常。在经过一段时间观察后 发现,某光纤模块存在问题,取一块新的模块替换,一切正常。究其原因,交换机会对所有接收到的数据包进行CRC错误检测和长度校验,将检查出有错误的包丢 弃,正确的包转发出去。但这个过程中有些有错误的包在CRC错误检测和长度校验中都均未检测出错误,这样的包在转发过程中不会被发送出去,也不会被丢弃, 它们将会堆积在动态缓存中,永远无法发送出去,等到缓存中堆积满了,就会造成交换机死机的现象。最终结果是,数据包无法到达目的主机。
网络拥塞
网络拥塞造成丢包率上升的原因很多,主要是路由器资源被大量占用造成的。
如果发现网速慢,并且丢包率呈现上升的情况,这时应该show process cpu和show process mem,一般情况下发现IP input process占用过多的资源。接下来可以检查fast switching在大流量外出端口是否被禁用,如果是,则需要重新使用。
再看一下Fast switching on the same interface是否被禁用,如一个接口配有多个网段并且这些网段间流量很大时,路由器工作在process-switches方式,这种情况下要在接 口上执行命令“enable ip route-cache same-interface”。
接下来,用show interfaces和show interfaces switching命令识别大量包进出的端口。一旦确认进入端口后,打开IP accounting on the outgoing interface看其特征,如果是攻
击,源地址会不断变化但是目的地址不变,可以用命令“access list”暂时解决此类问题(最好在接近攻击源的设备上配置),最终解决办法是停止攻击源。
应用中遇到的造成网络拥塞的情况还有很多,如大量的UDP流量,可以用解决spoof attack的步骤解决此问题。大量的组播流、广播包穿越路由器,路由器配置了IP NAT并且有很多DNS包穿越路由器等。上述情况造成网络拥塞后,通信双方采取流量控制,丢弃不能传输的包。
路由错误
网络路径错误也会导致数据包不能到达目的主机,如主机的默认路由配置错误,主机发出的访问其他网络的数据包会被网关丢弃。但此类丢包属于正常情况下的丢包,是意料之中的,不会对网络造成影响。
备注:
ping命令是什么意思?如何使用
检测某个系统能否正常运行,可以在DOS ping你的网络地址查看你的网络地址是不是被你盗用!Ping命令的应用
(1)、测试网络的通畅
我们知道可以用ping命令来测试一下网络是否通畅,这在局域网的维护中经常用到,方法很简单,只需要在DOS或Windows的开始菜单下的“运行”子 项中用ping命令加上所要测试的目标计算机的IP地址或主机名即可(目标计算机要与你所运行ping命令的计算机在同一网络或通过电话线或其它专线方式 已连接成一个网络),其它参数可全不加。如要测试台IP地址为196.168.1.21的工作站与服务器是否已连网成功,就可以在服务器上运行:ping -a
196.`68.123.56 即可,如果工作站上TCP/IP协议工作正常,即会以DOS屏幕方式显示如下所示的信息:
Pinging cindy[196.168.1.21] with 32 bytes of data:
Reply from 196.168.1.21: bytes=32 time<10ms TTL=254
Reply from 196.168.1.21: bytes=32 time<10ms TTL=254
Reply from 196.168.1.21: bytes=32 time<10ms TTL=254
Reply from 196.168.1.21: bytes=32 time<10ms TTL=254
Ping statisti for 196.168.1.21:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
从上面我们就可以看出目标计算机与服务器连接成功,TCP/IP协议工作正常,因为加了“-a”这个参数所以还可以知道IP为196.168.1.21的计算机的NetBIOS名为cindy。
如果网络未连成功则显示如下错误信息:
Pinging[196.168.1.21 ] with 32 bytes of data
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistice for 196.168.1.21:
Packets:Sent=4,Received =0,Lost\=4(100% loss),
Approximate round trip times in milli-seconds
Minimum=0ms,Maximum=0ms,Average=0ms
为什么不管网络是否连通在提示信息中都会有重复四次一样的信息呢(如上的“Reply from 196.168.1.21: bytes=32 time<10ms TTL=254 ”和“Request timed out”),那是因为一般系统默认每次用ping测试时是发送四个数据包,这些提示就是告诉你所发送的四个数据包的发送情况。
出现以上错误提示的情况时,就要仔细分析一下网络故障出现的原因和可能有问题的网上结点了,一般首先不要急着检查物理线路,先从以下几个方面来着手检查: 一是看一下被测试计算机是否已安装了TCP/IP协议;二是检查一下被测试计算机的网卡安装是否正确且是否已经连通;三是看一下被测试计算机的TCP /IP协议是否与网卡有效的绑定(具体方法是通过选择“开始→设置→控制面板→网络”来查看);四是检查一下Windows NT服务器的网络服务功能是否已启动(可通过选择“开始→设置→控制面板→服务”,在出现的对话框中找到“Server”一项,看“状态”下所显示的是否 为“已启动”)。如果通过以上四个步骤的检查还没有发现问题的症结,这时再查物理连接了,我们可以借助查看目标计算机所接HUB或交换机端口的批示灯状态 来判断目标计算机现网络的连通情况。
(2)、获取计算机的IP地址
利用ping这个工具我们可以获取对方计算机的IP地址,特别是在局域网中,我们经常是利用NT或WIN2K的DHCP动态IP地址服务自动为各工作站分 配动态IP地址,这时当然我们要知道所要测试的计算机的NETBIOS名,也即我们通常在“网络邻居”中看到的“计算机名”。使用ping命令时我们只要 用ping命令加上目标计算机名即可,如果网络连接正常,则会显示所ping的这台机的动态IP地址。其实我们完全可以在互联网使用,以获取对方的动态 IP地址,这一点对于黑客来说是比较有用的,当然首先的一点就是你先要知道对方的计算机名。
(3)、上述应用技巧其实重点是Ping 命令在局域网中的应用,其实Ping命令不仅在局域网中广泛使用,在Internet互联网中也经常使用它来探测网络的远程连接情况。平时,当我们遇到以 下两种情况时,需要利用Ping工具对网络的连通性进行测试。比如当某一网站的网页无法访问时,可使用Ping命令进行检测。另外,我们在发送E- mail之前也可以先测试一下网络的连通性。许多因特网用户在发送E-mail后经常收到诸如“Returned mail:User unknown”的信息,这说明您的邮件未发送到目的地。为了避免此类事件再次发生,所以建议大家在发送E-mail 之前先养成Ping对方邮件服务器地址的习惯。例如,当您给163网站邮件用户发邮件时,可先键入“ping 163.com”(其实163.com就是网易的其中一台服务器名)进行测试,如果返回类似于“Bad IP address 163.com”或“Request times out”或“Unknow host
163.com”等的信息,说明对方邮件服务器的主机未打开或网络未连通。这时即使将邮件发出去,对方也无法收到。
篇四:网络丢包问题的原因及解决办法
数据在INTERNET上是以数据包为单位传输的,每包nK,不多也不少。这就是说,不管网络线路有多好、网络设备有多强悍,你的数据都不会是以线性(就 象打电话
一样)传输的,中间总是有空洞的。数据包的传输,不可能百分之百的能够完成,因为种种原因,总会有一定的损失。碰到这种情况,INTERNET会 自动的让双方的电脑根据协议来补包和重传该包。如果网络线路好、速度快,包的损失会非常小,补包和重传的工作也相对较易完成,因此可以近似的将所传输的数 据看做是无损的。但是,如果网络线路较差,数据的损失量就会非常大,补包工作又不是百分之百完成的。这种情况下,数据的传输就会出现空洞,造成丢包。 打开网页的速度特别的慢,有时候还会出现网页部分内容或是整个页面无法显示的问题;QQ等即时通讯工具等频繁掉线或提示登陆超时;已经设置为自动获取 IP地址,却并非每次都可以正常获取;下载文件速度慢……这些故障有很大一部分是由于丢包造成的。 接下来我们来看如何确认、检测以及解决丢包故障: 常见的测试丢包的方法是通过使用PING命令进行测试,如图所示,Request timed out.表示此刻发生丢包故障。Reply from 220.181.6.19: bytes=32 time=10ms TTL=55 类似显示表示数据传输正常。另外,还可以通过一些工具软件进行测试,具体测试方法可参见各软件使用说明文档,在此不做过多阐述。 如前所述,丢包故障多数由以下几方面问题引起:蠕虫病毒、网线连接距离过长(室内理论有效传输距离为100米,但实际应用中一般以不超过50米为 宜)、网线故障(包括水晶头金属物氧化及其他故障)、操作系统自身故障、网卡故障(由于网卡工作频率与网络设备工作频率不相符引起的故障,如千兆网卡配合 百兆网络设备等;也可能为网卡物理故障,如设备自然老化或遇到雷击等)、网络设备故障(设备工作环境影响引起,如环境过于潮湿、干燥或电磁干扰严重等,也 可能由于设备硬件故障造成)、网络运营商线路问题。 解决方法对照以上所示故障为:断开网络后安全模式下查杀病毒、适当减短网线长度、检查网线并重新制作水晶头、重装操作系统、调整网卡或网络设备使之工 作在同一频率、更换网卡、更换网络设备的使用环境或更换网络设备、联系网络运营商解决。 =========================================================== 网络丢包是我们在使用ping对目站进行询问时,数据包由于各种原因在信道中丢失的现象。ping使用了ICMP回送请求与回送回答报文。ICMP回送请 求报文是主机或路由器向一个特定的目的主机发出的询问,收到此报文的机器必须给源主机发送ICMP回送回答报文。这种询问报文用来测试目的站是否可到达以 及了解其状态。需要指出的是,ping是直接使用网络层ICMP的一个例子,它没有通过运输层的UDP或TCP。 网络丢包的原因主要有物理线路故障、设备故障、病毒攻击、路由信息错误等,下面我们结合具体情况进行说明。 物理线路故障 网管员发现广域网线路时通时断,发生这种情况时,有可能是线路出现故障,也可能是用户方面的原因。为了分清是否是线路故障,可以做如下测试。 如果广域网线路是通过路由器实现的,可以登录到路由器,通过扩展ping向对端路由器广域网接口发送大量的数据包进行测试。 如果线路是通过三层交换机实现,可在线路两端分别接一台计算机,并将IP地址分别设为本端三层路由交换机的广域网接口地址,使用“ping 对端计算机地址 -t”命令进行测试。 如果上述测试没有发生丢包现象,则说明线路运营商提供的线路是好的,引起故障的原因在于用户自身,需要进一步查找。 如果上述测试发生丢包现象,则说明故障是由线路供应商提供的线路引起的,需要与线路供应商联系尽快解决问题。 由物理线路引起的丢包现象还有很多,如光纤连接问题,跳线没有对准设备接口,双绞线及RJ-45接头有问题等。另外,通信线路受到随机噪声或者突发噪声造 成的数据报错误,射频信号的干扰和信号的衰减等都可能造成数据包的丢失。我们可以借助网络测试仪来检查线路的质量。 设备故障 设备故障主要是指设备硬件方面的故障,不包含软件配置不当造成的丢包。如网卡是坏的,交换机的某个端口出现了物理故障,光纤收发器的电端口与网络设备接 口,或两端设备接口的双工模式不匹配。 笔者近日在工作中发现一交换机端口的光纤模块故障造成的丢包现象,该交换机在通信一段时间后死机,即不能通信,重启后恢复正常。在经过一段时间观察后发 现,某光纤模块存在问题,取一块新的模块替换,一切正常。究其原因,交换机会对所有接收到的数据包进行CRC错误检测和长度校验,将检查出有错误的包丢 弃,正确的包转发出去。但这个过程中有些有错误的包在CRC错误检测和长度校验中都均未检测出错误,这样的包在转发过程中不会被发送出去,也不会被丢弃, 它们将会堆积在动态缓存中,永远无法发送出去,等到缓存中堆积满了,就会造成交换机死机的现象。最终结果是,数据包无法到达目的主机。 网络拥塞 网络拥塞造成丢包率上升的原因很多,主要是路由器资源被大量占用造成的。 如果发现网速慢,并且丢包率呈现上升的情况,这时应该show process cpu和show process mem,一般情况下发现IP input process占用过多的资源。接下来可以检查fast switching在大流量外出端口是否被禁用,如果是,则需要重新使用。 再看一下Fast switching on the same interface是否被禁用,如一个接口配有多个网段并且这些网段间流量很大时,路由器工作在process-switches方式,这种情况下要在接 口上执行命令“enable ip route-cache same-interface”。 接下来,用show interfaces和show interfaces switching命令识别大量包进出的端口。一旦确认进入端口后,打开IP accounting on the outgoing interface看其特征,如果是攻击,源地址会不断变化但是目的地址不变,可以用命令“access list”暂时解决此类问题(最好在接近攻击源的设备上配置),最终解决办法是停止攻击源。 应用中遇到的造成网络拥塞的情况还有很多,如大量的UDP流量,可以用解决spoof attack的步骤解决此问题。大量的组播流、广播包穿越路由器,路由器配置了IP NAT并且有很多DNS包穿越路由器等。上述情况造成网络拥塞后,通信双方采取流量控制,丢弃不能传输的包。 路由错误 网络路径错误也会导致数据包不能到达目的主机,如主机的默认路由配置错误,主机发出的访问其他网络的数据包会被网关丢弃。但此类丢包属于正常情况下的丢 包,是意料之中的,不会对网络造成影响。
篇五:网络丢包故障分析
网络丢包故障分析某台「Nginx / PHP」服务器时不时出现 HTTP 服务卡住的现象。 开始我怀疑 PHP 有问题,但是通过查询 Nginx 的 access 日志,发现里面记录的 PHP 响应时间「$upstream_response_time」非常小,此外还通过 Strace 命令仔细核对了是否存在 耗时的操作,结果一无所获,所以基本排除了 PHP 的嫌疑。 接着我把目光转移到了 Nginx 身上,琢磨着是不是 Nagle 算法导致的网络延迟,不过 Nginx 缺省就通过「tcp_nodelay」指令关闭了 Nagle 算法,所以基本排除了 Nginx 的嫌疑。 既然 Nginx 和 PHP 都有不在场的证据,那会不会是 Linux 内核参数的问题呢?因为这 台 Web 服务器前面有 NAT 方式的 LVS,所以如果「tcp_timestamps」和「tcp_tw_recycle」 等内核参数设置不当的话,会导致网络故障,可是通过检查再次否定了这个推断。 问题到了这里似乎陷入了僵局,看来瞎蒙是没戏了,只好硬着头皮用 tcpdump 了,说 硬着头皮是因为我这个山寨 OPS 对 TCP 协议实在是不熟悉,但是为了解决问题,只能赶鸭 子上架了,找一个客户端重现故障,然后在服务端监听:shell> tcpdump -i eth0 host
shell> ping -f