1. The length of IP header is 20 Bytes and the length of checksum is 2 Bytes. n = 2 B m * n = 18 B m = 9 B If we view the IP header as an m by n matrix, the matrix has 10 rows and 2B columns. Recall that the parity bit in a column cannot detect an even number of corruptions in that column, but can detect an odd number of corruptions in the column. a. No If all bits in IP header are corrupted, then checksum cannot detect corruption since all columns have an even number of corruptions. b. YES If all bits in IP header, except one, are corrupted, then the checksum can detect corruption since one column has an odd number of corruptions. 2. process p inp d: array[integer] of integer var x: integer {index of d; init. 0} begin true --> send data(0,d[x]) to q; send data(0,d[x]) to q; x := x+1; send data(1,d[x]) to q; send data(1,d[x]) to q; x := x+1 end process q var e: array [integer] of integer y: integer, {index of e; init. 0} exp, s: 0..1, {init. 0} t: integer begin rcv data(s,t) from p --> if exp = s --> e[y], y, exp := t, y+1, exp +2 1 [] exp != s --> {discard data} skip fi end