25.02.2013 Views

TCP/IP Tutorial and Technical Overview - IBM Redbooks

TCP/IP Tutorial and Technical Overview - IBM Redbooks

TCP/IP Tutorial and Technical Overview - IBM Redbooks

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Hop-by-hop header option types<br />

You might have noticed that each extension header is an integer multiple of 8<br />

bytes long in order to retain 8-byte alignment for subsequent headers. This is<br />

done not purely for “neatness” but because processing is much more efficient if<br />

multibyte values are positioned on natural boundaries in memory (<strong>and</strong> today's<br />

processors have natural word sizes of 32 or 64 bits).<br />

In the same way, individual options are also aligned so that multibyte values are<br />

positioned on their natural boundaries. In many cases, this will result in the<br />

option headers being longer than otherwise necessary, but still allow nodes to<br />

process packets more quickly. To allow this alignment, two padding options are<br />

used in hop-by-hop headers:<br />

Pad1 A X'00' byte used for padding a single byte. For longer padding<br />

sequences, use the PadN option.<br />

PadN An option in the TLV format (described earlier). The length byte gives<br />

the number of bytes of padding after the minimum two that are<br />

required.<br />

The third option type in a hop-by-hop header is the Jumbo Payload Length. This<br />

option is used to indicate a packet with a payload size in excess of 65,535 bytes<br />

(which is the maximum size that can be specified by the 16-bit Payload Length<br />

field in the <strong>IP</strong>v6 basic header). When this option is used, the Payload Length in<br />

the basic header must be set to zero. This option carries the total packet size,<br />

less the 40 byte basic header. See Figure 9-6 for details.<br />

0 8 16 24 31<br />

Figure 9-6 Jumbo Payload Length option<br />

Jumbo Payload Length<br />

type= C2 length=4<br />

Routing header<br />

The path that a packet takes through the network is normally determined by the<br />

network itself. Sometimes, however, the source wants more control over the<br />

route taken by the packet. It might want, for example, for certain data to take a<br />

slower but more secure route than would normally be taken. The routing header<br />

(see Figure 9-7 on page 338) allows a path through the network to be<br />

predefined. The routing header is identified by the value 43 in the preceding Next<br />

Header field. It has its Next Header field as the first byte <strong>and</strong> a single byte routing<br />

type as the second byte. The only type defined initially is type 0, strict/loose<br />

Chapter 9. <strong>IP</strong> version 6 337

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

Saved successfully!

Ooh no, something went wrong!