为了更好的理解管理实验室服务器,补习一下计算机网络知识。
UDP和TCP的对比
UDP是无连接的,TCP是面向连接的
UDP支持一对一、一对多传输,TCP只支持一对一传输
TCP流量控制
主要是为了解决主机A发送的数据太快,B主机接收不过来
采用滑动窗口机制实现流量控制
TCP拥塞控制
ACK (Acknowledge character)即是确认字符
RTT(往返时间)
拥塞窗口cwnd 、发送窗口swnd
ssthresh慢开始门限值
快重传算法
在使用快重传算法后,避免效率过低,不启用慢开始算法,执行快恢复算法
快恢复算法
4种算法的使用图
练习题
只用了慢开始和拥塞避免算法
4.用了快重传和快恢复算法
5.关键在于发送窗口=min[拥塞窗口,接收方窗口]
TCP超时重传
难点,未过多深究。
TCP可靠传输
主机没收到第二段,因此确认号还要从第二段首部开始,代表前面的都收到了,准备接收第二段。
TCP连接建立(三握手)
发送TCP连接请求、发送针对TCP连接请求的确认、对确认再确认(三次握手)
TCP服务器处于监听状态,等待TCP客户发来连接请求,客户发送请求后进入同步已发送状态。剩下的传输过程如图。为什么不能用两次握手进入连接?
采用两次握手将会导致资源浪费,因为在TCP客户第一次发起的TCP连接请求时TCP服务器将会直接进入连接状态,如果超时重传的TCP连接请求过了很久成功到达了TCP服务器,TCP服务器将直接又进入连接状态,而此时的TCP客户处于CLOSED关闭状态,而非同步已发送状态,因此TCP将会一直等待TCP客户的数据传输。因而导致错误。(为什么其他段不会因为超时重传出现问题,应该是ACK=1,seq能够避免错误。)
TCP连接释放(四挥手)
如果不进入2MSL的时间等待直接关闭将会出现如下情况
如果在连接成功后数据传输过程中TCP客户出现故障造成资源浪费,采用保活计时器。