#include<lc.h> 2021-05-16 18:10 采纳率: 100%
浏览 282
已采纳

在TCP协议基础上又加入自定义协议(长度值和CRC校验)是否有意义?

最近在做socket网络编程,使用的TCP流式套接字进行收发。

一直在思考一个问题,由于TCP协议的底层做了很多校验:包括传输层TCP首部中的检验和、网络层IP数据包头部检验和数据链路层mac帧的CRC校验,在传输层可不可以认为数据就是准确无误的接收呢?

在TCP基础之上,又在应用层加入自己的协议或者校验是否还有必要?

  • 写回答

1条回答 默认 最新

  • zcg2073 2021-05-16 19:01
    关注

    有必要。因为在接收端,数据层层解包和处理过程中,传输层(TCP层)完成了解包和检验并正确,但在后面的层(会话,表示,应用)数据处理过程中可能会出现问题,因此最好在用户应用层进行检验,同时也可以定义用户协议

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?