简体   繁体   中英

Checksum in an IP based protocol

Just out of curiosity I was wondering if not having a checksum field in the application layer of the protocol is a major design issue? Or since the IP has the inbuilt checksum part in it, shouldn't it be an issue at all? Or you think is a dumb question as there is never a checksum in application layer?

Unless I am much mistaken FTP doesn't have a checksum, and neither does HTTP, and both are used to download enormous pieces of software by the million. Draw your own conclusion. Neither does RMI, or IIOP, or XDR, or ... In fact I can't think of an application protocol that does, other than one I wrote in 1994.

It depends on the integrity requirements of the application.

IP's checksum won't protect the application against packets that are lost or misordered. Applications that seek reliability usually use TCP (which provides a checksum over the data as well as recovering from loss and misordering).

The question then becomes whether an application needs its own checksum when TCP already provides one? That depends on whether the 16b checksum of TCP is sufficient for the integrity needs of the application. eg financial or other applications that are very sensitive to data changes might need to use a CRC or message digest to double-check the information after TCP has checked it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM