校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 专业课 > 网络-TCP/IP模型
题目

如何保证TCP连接的可靠性?

解答

TCP通过以下方式提供数据传输的可靠性:

(1)TCP在传输数据之前,都会把要传输的数据分割成TCP认为最合适的报文段大小。在TCP三次我握手的前两次握手中(也就是两个SYN报文段中),通过一个“协商”的方式来告知对方自己期待收到的最大报文段长度(MSS),结果使用通信双发较小的MSS最为最终的MSS。在SYN=1的报文段中,会在报文段的选项部分来指定MSS大小(相当于告知对方自己所能接收的最大报文段长度)。在后续通信双发发送应用层数据之前,如果发送数据超过MSS,会对数据进行分段。

(2)使用了超时重传机制。当发送一个TCP报文段后,发送发就会针对该发送的段启动一个定时器。如果在定时器规定时间内没有收到对该报文段的确认,发送方就认为发送的报文段丢失了要重新发送。

(3)确认机制。当通信双发的某一端收到另一个端发来的一个报文段时,就会返回对该报文段的确认报文。

(4)首部校验和。在TCP报文段首部中有16位的校验和字段,该字段用于校验整个TCP报文段(包括首部和数据部分)。IP数据报的首部校验和只对IP首部进行校验。TCP详细的校验过程如下,发送TCP报文段前求一个值放在校验位,接收端接受到数据后再求一个值,如果两次求值形同则说明传输过程中没有出错;如果两次求值不同,说明传输过程中发生错误,无条件丢弃该报文段引发超时重传。

(5)使用滑动窗口流量控制协议。

(6)由于在TCP发送端可能对数据分段,那么在接收端会对接收到的数据重新排序。

C 2条回复 评论
SLawliet

学习学习学习

发表于 2023-11-22 22:00:00
0 0
童立

刚接触Spring框架,一个Method method直接把我看晕了

发表于 2023-09-06 23:00:00
0 0