网络总是丢包怎么办?
可以通过以下两种方法来降低由网络链接阻塞引起的丢包的影响。
1、增加阻塞链接的带宽
使用Qos(流量优先级和资源保留控制机制)优先处理实时应用尽管这种方法并不能缓解网络链接阻塞情况,但是它可以优先处理语音和视频来降低断线的可能性。
2、如果带宽充足,但是如果你的路由器/交换机/防火墙不能处理流量,那么你仍然有面对丢包的情况 让我们考虑一个场景,你刚将网络带宽从 1Gb 升级到 10Gb , 因为流量报告显示, 日高峰时期流量达到了顶点。
升级之后, 图表显示你可以达到 15Gb , 但是仍然遭受这网络性能问题。这个问题可能是应为设备能力无法处理流量, 你已经达到了你硬件所能提供的最大 的流量。
原因:
数据在网络传输的过程中会经过很多设备和网路链接。 只要其中一个网路链接在数据传输过来之前已经满负载了,那么数据将会在这里阻塞一段时间,然后在经过网络线路传送(这也就是所谓的排队)。 如果说网络设备非常落后于这个网路链接的话,那么网路链接没有足够给新数据来等待的空间。所以它唯一能做的事情就是将信息丢掉。
"数据被丢弃"可能会听起来很残酷,但是大多数应用程序都能在不影响用户体验的情况下,很好的处理这种问题。用户端的应用程序,一旦发现丢包情况的发生, 它就会相应地降低传输速率,或者重新传输数据。如果它不是一个实时应用,那么只要丢包不是持续发生,那么受的影响都比较小。
一些应用程序在这方面处理的不好的话,那么丢包就会影响应用程序的用户体验。如果在你打电话的过程中发生丢包,由于它是一个实时性的对话,这时候没有时间 去重新发送。那么用户在丢包的时候,会发现通话断断续续,如果丢包严重的话,通话甚至可能会断掉,。另一个要低丢包率的重要程序是视频会议程序。如果两个用户端之间发生丢包,那么视频会 出现伪影,音频将会扭曲。
一、回答这个问题之前,要考虑TCP协议为什么会丢包,在什么样的情况下会丢包。
1、TCP协议定义(Transimission Control Protocol)是以一种面向连接的、可靠的、基于字节流的传输层通信协议。
2、TCP是基于不可靠的网路实现可靠传输,肯定会存在丢包问题。
3、如果在通信过程中,发现缺少数据或者丢包,那边么最大的可能性是程序发送过程或者接受过程中出现问题。
例如:我有2台服务器 ,A和B服务器。
A服务器发送数据给B服务器频率过高时,B服务器来不及处理,造成数据丢包。(原因可能是程序逻辑问题,多线程同步问题,缓冲区溢出问题)
如果A服务器不对发送频率进行控制,或者数据进行重发的话,那么B服务器收到数据就会少。就会造成丢失数据
二、TCP协议丢包后,如何解决丢包的问题
为了满足TCP协议不丢包。TCP协议有如下规定
1、数据分片:发送端对数据进行分片,接受端要对数据进行重组,由TCP确定分片的大小并控制分片和重组
2、到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认
3、超时重发:发送方在发送分片时设置超时定时器,如果在定时器超时之后没有收到相应的确认,重发分片数据
4、滑动窗口:TCP连接的每一方的接受缓冲空间大小固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出
5、失序处理:作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层;
6、重复处理:作为IP数据报来传输的TCP分片会发生重复,TCP的接收端必须丢弃重复的数据;
7、数据校验:TCP将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到分片的检验或有差错,TCP将丢弃这个分片,并不确认收到此报文段导致对端超时并重发
楼主这种,一般来说应该是跟运营商签专线协议的,找运营商解决。
各运营商相互之间都有租用其他运营商的带宽资源的,但一般只给要求较高或者可能引起投诉或可能造成用户流失的线路使用。
或者找代理机房,双线的那种,放置你的服务器。
丢包表示与指定站bai点的连接质量du情况,一般丢包率越高,连接质量越差,访问速度越慢。如出现丢包现象,建议按以下方式处理:1、如是测试部分游戏出现丢包问题,但是测试其他网站或者游戏是正常的,则可能是所访问的服务器问题,例如游戏服务器用户负载高、能力不足都有可能造成丢包的,建议更换其他服务器入口测试。2、如是测试所有的游戏和网页都出现丢包问题,建议可以先检查电脑是否中毒,排除电脑性能或设置、多台电脑同时上网等问题后,关闭视频、游戏、下载软件、杀毒软件等在线应用,在有线直连的状态下到电信测速网站进行网速测速,如确实出现网速不达标的问题,可以申报故障,安排师傅上门为检测。
我们首先来认识一下什么是丢包,以及什么样的现象被成为是网络丢包:
数据在INTERNET上是以数据包为单位传输的,每包nK,不多也不少。这就是说,不管网络线路有多好、网络设备有多强悍,你的数据都不会是以线性(就象打电话一样)传输的,中间总是有空洞的。数据包的传输,不可能百分之百的能够完成,因为种种原因,总会有一定的损失。碰到这种情况,INTERNET会自动的让双方的电脑根据协议来补包和重传该包。如果网络线路好、速度快,包的损失会非常小,补包和重传的工作也相对较易完成,因此可以近似的将所传输的数据看做是无损的。但是,如果网络线路较差,数据的损失量就会非常大,补包工作又不是百分之百完成的。这种情况下,数据的传输就会出现空洞,造成丢包。
打开网页的速度特别的慢,有时候还会出现网页部分内容或是整个页面无法显示的问题;QQ等即时通讯工具等频繁掉线或提示登陆超时;已经设置为自动获取IP地址,却并非每次都可以正常获取;下载文件速度慢……这些故障有很大一部分是由于丢包造成的。
[next]
接下来我们来看如何确认、检测以及解决丢包故障:
常见的测试丢包的方法是通过使用PING命令进行测试,如图所示,Request timed out表示此刻发生丢包故障。Reply from 220181619: bytes=32 time=10ms TTL=55 类似显示表示数据传输正常。另外,还可以通过一些工具软件进行测试,具体测试方法可参见各软件使用说明文档,在此不做过多阐述。
如前所述,丢包故障多数由以下几方面问题引起:蠕虫病毒、网线连接距离过长(室内理论有效传输距离为100米,但实际应用中一般以不超过50米为宜)、网线故障(包括水晶头金属物氧化及其他故障)、操作系统自身故障、网卡故障(由于网卡工作频率与网络设备工作频率不相符引起的故障,如千兆网卡配合百兆网络设备等;也可能为网卡物理故障,如设备自然老化或遇到雷击等)、网络设备故障(设备工作环境影响引起,如环境过于潮湿、干燥或电磁干扰严重等,也可能由于设备硬件故障造成)、网络运营商线路问题。
解决方法对照以上所示故障为:断开网络后安全模式下查杀病毒、适当减短网线长度、检查网线并重新制作水晶头、重装操作系统、调整网卡或网络设备使之工作在同一频率、更换网卡、更换网络设备的使用环境或更换网络设备、联系网络运营商解决。
网络丢包率就是在我们数据包的数据传输过程中,因为中途的传输而导致部分数据包被丢失。
1、物理线路故障
如果是物理线路故障所造成网络丢包现象,则说明故障是由线路供应商提供的线路引起的,需要与线路供应商联系尽快解决问题。联系你的服务商来解决网络丢包很严重的情况。
2、设备故障
设备方面主要包括软件设置不当、网络设备接口及光纤收发器故障造成的。这种情况会导致交换机端口处于死机状态。那么可以将你的光纤模块更换掉,换一条新的模块替换掉。
3、网络被堵塞、拥堵
当网络不给力的时候,在通过网络传输数据,就会将网络丢包更多,一般是路由器被占用大量资源造成的。解决方法就是这时应该show process cpu和show process mem,一般情况下发现IP input process占用过多的资源。接下来可以检查fast switching在大流量外出端口是否被禁用,如果是,则需要重新使用。用show interfaces和show interfaces switching命令识别大量包进出的端口。一旦确认进入端口后,打开IP accounting on the outgoing interface看其特征,如果是攻击,源地址会不断变化但是目的地址不变,可以用命令“access list”暂时解决此类问题。
4、路由错误
网络中的路由器的路径错误也是会导致数据包不能正常传输到主机数据库上这种情况属于正常状况,它所丢失的数据也是很小的。所以用户可以忽略这些数据丢包,而且这也是避免不了的。
如何查询网络丢包率?
点击任务栏的“开始-运行”,在运行对话框上输入cmd命令,执行该命令即可打开命令提示符,在界面中键入“ping [网址]”,显示最后一行(x% loss)就是对目标地址ping包的丢包率。
查一下是不是中毒,还有就是哪里网络出现毛病,线路两端双工是不是匹配,丢包很有多原因,线路延迟,帧错误,还有就是服务器cpu利用太高没时间处理什么的。
慢慢找,只要找到就好解决,最后建议你在做个qos
如果您的服务器出现ping值大,丢包现象,以下为最终解释:
1 如果您的服务器被攻击,则耐心等待机房处理(抗攻击机房会针对攻击的特点做出硬防上的策略改动;非抗攻击机房会屏蔽你服务器的IP,或者干脆拔线)
2 你上网使用的网络运营商出国带宽峰值,或者你所在地区的市级、省级带宽出口问题(此时使用其他运营商线路访问服务器的速度是正常的),耐心等待你的网络运营商解决;
3 如果出现大面积的丢包和故障,一般原因是从一个国家的运营商发起的大规模攻击,导致与另外一家运营商的对接路由出现死机或者堵塞。这种情况下需要跨国通讯运营商的协调解决,时间会比较长。
从国内终端到国外服务器,所经过的互联网线路,最少是两家不同国家的网络运营商在提供服务,比如到西雅图机房,在国内段,需要中国联通的线路,海缆到美国上岸后,有需要对接到美国qwest通讯公司的线路,然后连接到西雅图SL数据中心;
到达拉斯SL,海缆上岸之后对接的是美国Cogentco通讯公司的光缆,进入达拉斯SL数据中心。其实不管是客户还是数据中心运营商,两方都是通讯运营商的客户。出问题都需要依赖通讯运营商来解决。
数据中心能解决的,只是充足的电力,公平的网络带宽分配,及时有效的技术支持,还有可靠的服务器硬件。
希望通过我们的解释,能够使您在网络异常的时候,心平气和的等待网络正常
0条评论