TCP协议总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP协议总结相关的知识,希望对你有一定的参考价值。

TCP协议是有连接且可靠的传输层协议。所以一切都是围绕面向连接和可靠展开的。

面向连接:

连接的建立:三次握手,标志位的变化,及状态变化。发送端状态变化SYN_SENT-->ESTABLISHED;接收端状态变化Listen-->SYN_RCVD-->ESTABLISHED。

引入的问题:SYN_FLOOD攻击,伪装IP地址向服务器端发送大量SYN,服务器端维护一个半连接队列,耗尽其资源(服务器端要等待1+2+4+8+16+32=63s才会将这个请求移出队列)。解决方法?

连接的保持:保活定时器。保持定时器(防止窗口更新报文丢失,窗口关闭时开启计时,超时后连续三次主动探测接收端的窗口大小)。

连接的关闭:四次挥手。发送端状态切换FIN_WAIT1-->FIN_WAIT_2(半关闭状态,为何要有半关闭)-->TIME_WAIT(2MSL);接收端状态切换CLOSE_WAIT-->LAST_ACK-->CLOSED

 

可靠:

ACK:确认报文保证不丢包。SACK

超时重传:超过RTO没有收到ACK就会重传。

校验和:其实UDP也有。检验和是一种比较弱的检验方法,其实二层已经做了CRC检测,TCP的检验和有点冗余。

流量控制:滑动窗口,但又带来了新的问题-网络中小数据包太多,导致有效载荷太小了,导致SWS,收发两端引入解决的方案,及Nagle算法。

拥塞控制:有四个算法分别在不同时期使用-慢开始(如何维护一个拥塞窗口cwnd),拥塞避免,快速重传和快速恢复。

以上是关于TCP协议总结的主要内容,如果未能解决你的问题,请参考以下文章

面试补缺:TCP协议与UDP协议总结

TCP/IP协议与OSI体系结构总结

TCP协议总结

详解TCP/IP协议总结(怒喷一口老血)

TCP协议总结

TCP/IP详解系列 --- 概念总结01