Incremental update typically after every hop at least one


UDP and TCP use 16-bit 1s complement arithmetic to compute checksums. In this problem we investigate why. For simplicity we will work with 4-bit words. Let x = 1101, y = 1011, and z = 0110.

(a) Reason 1: Incremental Update. Typically, after every hop at least one packet header field (e.g., a packet's time-to-live field) needs to be overwritten. Because the checksum is a simple complement of a 1s complement sum, it turns out that when, for instance, a packet's header x is updated to y, rather than recomputing the checksum from scratch, it success to simply add x+y to the original checksum to compute the update. Suppose that packet [ x | z ] is updated to packet [ y | z ]. Verify, for the x, y, and z given above, that checksum{[ y | z ]} = checksum{[ x | z ]} + x + y,
where "+" denotes 1s complement addition and y denotes the y complement.

(b) Reason 2: Endian Independence. Little endian computers store numbers with the least significant byte first (Intel processors for example). Big endian computers put the most significant byte first (IBM mainframes for example). It turns out, once again, that because the checksum is a simple complement of a 1s complement sum the checksum computation is endian independent (this is not true if 1s complement arithmetic is not used). Partition x and z as x = x1 x2 = 11 01 and z = z1 z2 = 01 10. Verify that checksum{[x1 x2|z1 z2]} = c1 c2 if and only if checksum{[x2 x1|z2 z1]} = c2 c1.

Request for Solution File

Ask an Expert for Answer!!
Electrical Engineering: Incremental update typically after every hop at least one
Reference No:- TGS0590560

Expected delivery within 24 Hours