TCP协议(tcp协议报文格式)

网友投稿 311 2022-09-12


TCP协议(tcp协议报文格式)

1.TCP协议是全双工的,即允许数据在两个方向上同时传输2.TCP的三次握手过程:(1)客户端向服务器端发送一个SYN,建立连接的请求(2)服务器端向客户端响应一个ACK+SYN,表明,建立了客户端到服务器端的连接(3)客户端向服务器端返回一个ACK的响应,表明建立了服务器端到客户端的连接为什么要进行三次握手:为了防止已经失效的连接请求发送到服务器端,发生错误,造成资源的浪费如果是两次握手,则有可能是在网络中滞留很久的一个SYN请求连接,突然发送到服务器端,而服务器认为它是刚才才发送的SYN请求连接,给它返回一个ACK确认连接。此时服务器端认为自己与客户端已经建立了连接,而客户端并没有与服务端端建立连接,服务器就会一直空等客户端发送数据,造成服务器端资源的浪费。3.TCP的四次挥手(1)客户端向服务器端发送一个FIN,关闭连接的请求。表明客户端已经没有数据要发送给服务器。客户端进入FIN_WAIT_1状态。(2)服务器端向客户端响应一个ACK。服务器端进入CLOSED_WAIT状态,客户端接收到ACK报文之后进入FIN_WAIT_2状态。(3)服务器端在处理完之前的数据报之后,服务器端向客户端发送一个FIN请求,表明服务器端向客户端已经没有数据要发送。服务器端进入LAST_ACK状态,客户端接收到进入TIME_WAIT状态。(4)客户端接收到之后,向服务器端发送一个ACK报文段,服务器端接收到进入CLOSE状态。客户端在经过2Time_WAIT时间之后,如果没有收到回复,则进入关闭状态。为什么要进行四次挥手:因为TCP是全双工通信,所以连接的拆除需要单独将两个通道拆除,而四次挥手就是拆除两条通道和释放连接。可不可以三次挥手,不可以,如果将服务器端的ACK和FIN一次性发送给客户端,而服务器端还有数据没有处理,则会发生错误。4.TCP的拥塞控制拥塞控制采用慢启动机制,先发送少量的数据,测试当前网络的拥堵状态,再决定按照怎样的速度进行发送数据。拥塞窗口开始时以指数形式增加,最后达到一定的阈值之后按照线性方式进行增长。5.流量控制发送端的发送数据的速度可以根据接收端处理数据的能力来决定发送速度6.滑动窗口可以一次性发送多条数据,比如窗口的大小是4000字节,则可以一次性发送4个端,不需要确认应答,而当每接收到一个ACK应答,窗口向下滑动,继续发送下一个数据段,提高网络传输效率7.延迟应答当接收端接收到发送端的数据时,并不是立即进行应答,而是延迟一段时间再应答,这样窗口的大小就会大一点,提高吞吐量,提高网络传输效率8.捎带应答将确认应答和下一个要发送的端序列号一起发送。提高网络传输效率9.超时重传机制在发送端发送数据到达一定时间还没有收到接收端的确认应答时,则会进行重新发送,这个时间单位是500ms,第一次是等待500ms,第二次是2*500ms,每次都是500ms的整数倍,当到达一定的次数时,发送端会认为接收端没有接收能力或者网络拥堵,强制进行关闭。10.确认应答机制发送端每发送一个数据,接收端都需要进行确认应答,表明自己已经接收到数据。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HTTP、HTTPS协议
下一篇:未来网络将代替一切,所有资金来源都经过互联网。(互联网已经使这些成为可能)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~