2、中转网络故障:中转网络故障具体指的是,访问服务器跳出本地路由直到跟机房核心交换,在这中间的路由网络。中转网络故障非常难以判断,无论是用户还是机房人员,都没办法直接进行干预 *** 作,好在中转网络故障会自行恢复,一般也不要等待太长时间。
3、机房网络故障:机房网络故障的形成原因是机房硬件设备故障跟自然灾害。机房网络故障是相对常见的原因,特别是高防服务器机房,因为可以抵挡各种流量的网络攻击,因而有时会被攻击导致出现丢包的情况。
一、回答这个问题之前,要考虑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将丢弃这个分片,并不确认收到此报文段导致对端超时并重发
丢包和准入服务器有关系。1、服务器管理员账号被黑,发送大量垃圾数据包造成网络堵塞导致丢包。
2、在传输数据过程中的路由节点无法正常提供网络服务导致丢包。
3、机房硬件设备出现损坏或受到火灾、停电等自然灾害的影响导致服务器无法正常运行,从而出现丢包的情况发生。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)