(学习笔记-TCP连接建立)IP层会分片,为什么TCP层还需要MSS呢?

前提知识:

网络层最常用的是IP协议,IP协议会将传输层的报文作为数据部分,再加上IP包头组装成IP报文,如果IP报文大小超过了MTU(1500字节)就会再次分片,得到一个即将发送到网络的IP报文

 MTU和MSS:

  •  MTU:一个网络包的最大长度,以太网中一般为1500字节
  •  MSS:除去IP和TCP头部后,一个网络包所能容纳的TCP数据的最大长度

如果在TCP的整个报文(头部+数据)交给IP层进行分片:

当IP层有一个超过MTU大小的数据(TCP头部+TCP数据)要发送,那么IP层就要进行分片,把数据分片为若干片,保证每一个分片都小于MTU。把一份IP数据进行分片后,由目标主机的IP层来进行重新组装后再交给上一层TCP传输层。

那么当一个IP分片丢失,整个IP报文的所有分片都得重传。

因为IP层本身没有超时重传机制,它由传输层的TCP来负责超时重传。

当某一个IP分片丢失后,接收方的IP层就无法组装成一个完整的TCP报文,也就无法将数据报文送给TCP层,所以接收方不会响应ACK给发送方,因为发送方迟迟收不到ACK确认报文,所以就会触发超时重传,就会重发整个TCP报文(头部+数据)

因此,由IP层进行分片传输,是非常没有效率的

所以为了达到最佳传输效能TCP协议在建立连接时通常要协商双方的MSS值,当TCP层发现数据超过MSS时,则会先进行分片,分片后的形成的IP包自然不会超过MTU,也就不用IP进行分片了。此时,如果一个TCP分片丢失后,进行重发也是MSS为单位的,而不用重发所有数据,大大增加了重传的效率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: TCP连接是一种可靠的连接,它可以保证数据的可靠传输。当a和b建立TCP连接时,MSS为1KB,这意味着每次传输的数据包大小为1KB。在传输过程中,如果发生数据包丢失或损坏,TCP自动重传数据包,以确保数据的完整性和可靠性。此外,TCP还可以进行流量控制和拥塞控制,以避免网络拥塞和数据丢失。因此,TCP连接是一种非常可靠的连接方式,适用于需要高可靠性和稳定性的应用场景。 ### 回答2: TCP连接指的是在计算机网络中利用TCP协议来进行通信的一种机制。其中,TCP协议是一种传输协议,它可以确保所传输的数据能够被成功地发送和接收,并且在发送过程中数据能够被切分成多个包进行传输,比如MSS为1KB的数据包。 建立TCP连接时,通常采用TCP三次握手的方式。首先,客户端a先向服务器b发送一个SYN包,请求建立连接。服务器b收到这个包后,向a回复一个SYN+ACK包,表示已经收到了请求,并且可以建立连接。最后,a再向b发送一个ACK包,表示已经准备好进行通信了。 在建立连接时,MSS是非常重要的一个参数。MSS的意思是Maximum Segment Size,即最大分段大小。在TCP协议中,数据被分成多个段进行传输,而每个段传输的最大大小就是MSSMSS的默认值是536字节,但是由于网络状况等原因,有时候需要调整MSS的大小。 如果MSS的值为1KB,那么每个数据包的最大传输量就是1KB。这样,就可以有效地减少数据包的数量,提高传输效率。但是,在网络状况不佳的情况下,大的MSS值可能导致数据包的丢失或延迟,从而影响通信质量。 总之,在建立TCP连接时,需要注意MSS的大小,以保证数据能够成功地传输。同时,在实际应用中,还需要根据具体的网络状况和需求,适当地调整MSS的大小。 ### 回答3: TCP(传输控制协议)是一种计算机网络协议,它实现了可靠性、错误恢复和数据流控制等功能。建立TCP连接的过程包括三次握手和四次挥手,而建立连接能够为数据传输提供可靠的保障,保证数据的完整性和可靠性。在此基础上,对于数据的分段传输,TCP采用了MSS(最大有效载荷大小)机制来限制数据段的大小,以避免数据在网络传输过程中的碎片化。 对于题目中给定的情境,a和b建立TCP连接MSS为1kb。这里的1kb表示了TCP数据段的最大大小,也就是MSS的值。在这种情况下,数据的分段传输就被限制在1kb的大小内,以避免数据在网络传输过程中的碎片化。 当a向b发送数据时,数据将被划分为多个由TCP头部和数据组成的1kb的数据段。然后,这些数据段按照TCP的流量控制机制进行传输,确保数据的完整性和可靠性。在两个端点之间,TCP建立一个虚拟的通道,该通道能够控制数据的传输速率,并避免网络拥塞。 可以结合TCP协议的传输控制功能,理解题目中的情境。在实际应用中,MSS的大小也根据网络带宽、延迟和拥塞程度等因素进行优化,以提高TCP传输的效率和可靠性,从而保证更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值