丢包,故名思议,在通信中是指通信数据包丢失。
数 据在通信网络上是以数据包为单位传输的,每个数据包中有表示数据信息和提供数据路由的帧。这就是说,不管网络情况有多好,数据都不是以线性(就像打电话一 样)连续传输的,中间总是有空洞的。数据包的传输,不可能百分之百的能够完成,因为物理线路故障、设备故障、病毒攻击、路由信息错误等原因,总会有一定的 损失。碰到这种情况,网络会自动的让通信的两端根据协议来补包。如果线路情况好,速度快,包的损失会非常小,补包的工作也相对较易完成,因此可以近似的将
数据看作是无损传输。但是,如果线路较差(如用调制解调器),数据的损失量就会非常大,补包工作也不可能百分之百完成。在这种情况下,数据的传输就会出现 空洞,造成丢包。
举例
常见的测试丢包的方法是通过使用PING命令进行测试,Request timed out表示此刻发生丢包故障。Reply from 220.181.6.19: bytes=32 time=10ms TTL=55 类似显示表示数据传输正常。另外,还可以通过一些工具软件进行测试,在此不做过多阐述。
根据引起丢包的几种原因进行具体分析,如下。
-
物理线路故障
网管员发现广域网线路时通时断,发生这种情况时,有可能是线路出现故障,也可能是用户方面的原因。
由物理线路引起的丢包现象还有很多,如光纤连接问题,跳线没有对准设备接口,双绞线及RJ-45接头有问题等。另外,通信线路受到随机噪声或者突发噪声造成的数据报错误,射频信号的干扰和信号的衰减等都可能造成数据包的丢失。我们可以借助网络测试仪来检查线路的质量。
-
设备故障
设备故障主要是指设备硬件方面的故障,不包含软件配置不当造成的丢包。如网卡是坏的,交换机的某个端口出现了物理故障,光纤收发器的电端口与网络设备接口,或两端设备接口的双工模式不匹配。
例如交换机端口的光纤模块故障造成的丢包现象。交换机接收到的数据包在转发过程中不会被发送出去,也不会被丢弃。它们将会堆积在动态缓存中,永远无法发送出去,等到缓存中堆积满了,就会造成交换机死机的现象。最终结果是,数据包无法到达目的主机。
-
网络拥塞
网络拥塞造成丢包率上升的原因很多,主要是路由器资源被大量占用造成的。
应用中遇到的造成网络拥塞的情况还有很多,如大量的UDP流量、大量的组播流、广播包穿越路由器,路由器配置了IP NAT并且有很多DNS包穿越路由器等。上述情况造成网络拥塞后,通信双方采取流量控制,丢弃不能传输的包。
-
路由错误
网络路径错误也会导致数据包不能到达目的主机,如主机的默认路由配置错误,主机发出的访问其他网络的数据包会被网关丢弃。但此类丢包属于正常情况下的丢包,是意料之中的,不会对网络造成影响。
其中,由网络拥塞原因导致的丢包,有一部分是通信双方采取流量控制而主动丢弃的,这部分被主动丢弃的数据包就称为弃 包。丢包和弃包的概念通常用作丢包率和弃包率,应用于衡量网络的性能指标中。丢失的数据包数量占发送数据包的比率称为丢包率,丢弃的数据包数量占发送数据 包的比率称为弃包率。丢包率和弃包率的值一定程度上体现了网络性能。
解决方法