TCP的总结

来源:互联网 发布:dnf账号数据异常解除 编辑:程序博客网 时间:2024/06/06 05:02

总结

1、TCP的三次握手:(1)发送方发送一个连接请求数据报,该数据报中含有随机序号SYN,假设SYN=11(这个SYN的值是随机的),含有mss值,代表此后数据传送过程中报文段的最大值是mss的值。(2)接收方在接收到该数据连接请求后会发送一个数据包,该数据报中含有ACK(这个值是收到的SYN的值加1即12,表示接收方希望接受到的下一个数据报的序号是12),还含有接收方的一个随机序号SYN,还有接收方的mss。(3)发送在接收到确认请求后发送一个数据包含有ACK(该ACK的值是接收方发送的SYN加1)。

至此三次握手完成。(注意,三次握手的三个数据报中都有通报自己的窗口大小)。

2、TCP的确认机制:发送方发送完一个数据报之后,接收方在接收到这个数据报之后会发送一个ACK给发送方。

3、TCP的拥塞窗口:当TCP的拥塞窗口为1时,发送方在接收到ACK之前一次只能发送一个数据包给接收方。当拥塞窗口为2时,发送方在接收到ACK之前可以发送两个数据报(也就是即使第一个数据报发出后还没有接收到ACK发送方也可以再发一个数据报)。

4、经受时延的确认:正常的ACK确认是接收方对发送方发送的每一个数据报都要进行确认。经受时延的确认可以在接收到一个数据包之后先不发送ACK,等下一个数据报过来之后在发送ACK对这两个数据报进行确认。

5、TCP的重传机制:当发送方发送了一个数据包1给接收方后,接受方法ACK1进行确认了,此时如果发送方再发送数据报2给接收方并丢失了数据报2,此时接收方会继续产生ACK1给发送方,而发送方也会继续发送数据包3、4等给接收方,接收方会把数据报3、4等保存在接收方的接收缓存中直到丢失的数据报2发送过来才会发给用户程序。在发送方接收到接收方发送的第三个ACK1的时候,发送方会意识到数据报2丢失了,此时会发送数据报2给接收方,这时接收方会发送ACK将数据报2以及之前储存的数据报3、4一起确认了,并将其从接收缓存中发给用户程序。

0 0