Internet Protocol - Research by Kirils Solovjovs
Internet Protocol - Research by Kirils Solovjovs
Internet Protocol - Research by Kirils Solovjovs
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Transmission Control <strong>Protocol</strong> 56<br />
TCP pseudo-header for checksum computation (IPv4)<br />
Bit offset 0–3 4–7 8–15 16–31<br />
0 Source address<br />
32 Destination address<br />
64 Zeros <strong>Protocol</strong> TCP length<br />
96 Source port Destination port<br />
128 Sequence number<br />
160 Acknowledgement number<br />
192 Data offset Reserved Flags Window<br />
224 Checksum Urgent pointer<br />
256 Options (optional)<br />
256/288+ Data<br />
The source and destination addresses are those of the IPv4 header. The protocol value is 6 for TCP (cf. List of IP<br />
protocol numbers). The TCP length field is the length of the TCP header and data.<br />
TCP checksum for IPv6<br />
When TCP runs over IPv6, the method used to compute the checksum is changed, as per RFC 2460:<br />
Any transport or other upper-layer protocol that includes the addresses from the IP header in its checksum<br />
computation must be modified for use over IPv6, to include the 128-bit IPv6 addresses instead of 32-bit IPv4<br />
addresses.<br />
A pseudo-header that mimics the IPv6 header for computation of the checksum is shown below.<br />
TCP pseudo-header for checksum computation (IPv6)<br />
Bit offset 0–7 8–15 16–23 24–31<br />
0 Source address<br />
32<br />
64<br />
96<br />
128 Destination address<br />
160<br />
192<br />
224<br />
256 TCP length<br />
288 Zeros Next header<br />
320 Source port Destination port<br />
352 Sequence number<br />
384 Acknowledgement number<br />
416 Data offset Reserved Flags Window<br />
448 Checksum Urgent pointer