香鱼嫩虾 2022-01-25 14:44 采纳率: 0%
浏览 88

TCP协议如何保证数据完整性?

TCP协议如何保证数据完整性(不是可靠性、不是可靠性)? 求解答,越详细越好。
  • 写回答

2条回答 默认 最新

  • yun6853992 2022-01-25 15:28
    关注

    个人理解,理性参考:
    以前思考过tcp粘包和半包的问题,当时总觉得tcp不会有类似的包的问题,后来才理解,需要在应用层做一些协议的处理来规避一些问题。
    ==》因为底层协议,MTU限制等关系,tcp会做拼包(多个包组一个包),拆包(一个包拆多个包的处理),
    ==》而我们都知道,tcp是可靠的流式传输,他可以有序的,可靠得接收到发送的数据。
    ==》而tcp又有fd(五元组)之说,每个连接对应一个特定得fd,每个fd又对应一个特定得发送缓冲区和接收缓冲区。
    ==》一个连接有序,可靠接收到得数据,只是按照原来发送顺序,依次放在了这个缓冲区中而已。
    ==》那么,如何保证数据得完整性,是不是可以理解为我们对这个缓冲区中相关接收到数据得处理逻辑?
    ==》进而,是不是应该在应用层定义一些适当得协议,以及合理得取数据逻辑,来处理粘包,半包问题,以保证数据得完整性?

    评论

报告相同问题?

问题事件

  • 创建了问题 1月25日