02.01.2013 Views

Internet Protocol - Research by Kirils Solovjovs

Internet Protocol - Research by Kirils Solovjovs

Internet Protocol - Research by Kirils Solovjovs

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!