出于好奇,我想知道如果在协议的应用层中没有校验和字段是一个主要的设计问题?或者由于IP中有内置的校验和部分,它应该不是一个问题吗?或者你认为是一个愚蠢的问题,因为应用层中从来没有校验和?
答案 0 :(得分:0)
除非我误以为FTP没有校验和,HTTP也没有,并且两者都被用来下载百万的大量软件。得出你自己的结论。无论是RMI,IIOP,还是XDR,还是......实际上,除了1994年我写的应用协议之外,我无法想到应用协议。
答案 1 :(得分:0)
这取决于应用程序的完整性要求。
IP的校验和不会保护应用程序免受丢失或错误的数据包的影响。寻求可靠性的应用程序通常使用TCP(它提供数据校验和以及从丢失和错误中恢复)。
然后问题是当TCP已经提供应用程序时,应用程序是否需要自己的校验和?这取决于TCP的16b校验和是否足以满足应用程序的完整性需求。例如对数据更改非常敏感的财务或其他应用程序可能需要使用CRC或消息摘要在TCP检查后仔细检查信息。