`
`-
`
`TCP/IP Illustrated, Volume 1
`
`The Protocols
`
`W. Richard Stevens
`
`A
`TT
`
`ADDISON-WESLEY PUBLISHING COMPANY
`Reading, Massachusetts Menlo Park, California New York
`Don Mills, Ontario Wokingham, England Amsterdam
`Bonn Sydney Singapore Tokyo Madrid . San Juan
`Seoul Milan Mexico City Taipei
`
`Petitioner
`Ex. 1007 - Page 2
`
`
`
`
`
`Section 1.6
`
`Encapsulation
`
`9
`
`.
`.
`In Section 3.4 we'll extend our d
`after describing IP routing. Figure 3 9 :~:iption of IP_ addresses to include subnetting,
`network IDs of all zero bits or all on~ bits. ws the special case IP addresses: host IDs and
`
`1.5
`
`The Domain Name System
`
`h
`Although the network interfaces O
`addresses humans wo k b
`t
`. n a ost, and therefore the host itself, are known by IP
`;.s ~~mg the name of a host. In the TCP /IP world the Domain
`Name System (DNS) • r
`is a 1stn uted database that provides the mapping between IP
`dd
`d h
`ostnames. Chapter 14 looks into the DNS in detail.
`a
`resses an
`1·
`·
`For now we must be aware th t
`a any app 1cation can call a standard library function
`to lo~k u~ the I~ address ( or addresses) corresponding to a given hostname. Similarly a
`function 1s provided to do the re
`I k
`·
`.
`verse oo up-given an IP address, look up the corre-
`spondmg hostname.
`Most applications that take a hostname as an argument also take an IP address.
`When we use the Telnet client in Chapter 4, for example, one time we specify a host(cid:173)
`name and another time we specify an IP address.
`
`1.6 Encapsulation
`
`When an application sends data using TCP, the data is sent down the protocol stack,
`through each layer, until it is sent as a stream of bits across the network. Each layer
`adds information to the data by prepending headers (and sometimes adding trailer
`information) to the data that it receives. Figure 1.7 shows this pro_cess. The unit of data
`that TCP sends to IP is called a TCP segment. The unit of data that IP sends to the net(cid:173)
`work interface is called an IP datagram. The stream of bits that flows across the Ethernet
`is called a frame.
`The numbers at the bottom of the headers and trailer of the Ethernet frame in Fig(cid:173)
`ure 1.7 are the typical sizes of the headers in bytes. We'll have more to say about each of
`these headers in later sections.
`A physical property of an Ethernet frame is that the size of its data must be between
`46 and 1500 bytes. We'll encounter this minimum in Section 4.5 and we cover the maxi-
`mum in Section 2.8.
`
`All the Internet standards and most books on TCP /IP use the term octet instead of byte. The
`use of this cute, but baroque term is historical, since much_ of the ea~ly work on TCP /IP was
`done on systems such as the DEC-10, which did not use ~-bit ~ytes. Smee almost every current
`computer system uses 8-bit bytes, we'll use the term byte m this text.
`
`To be completely accurate in Figure 1.7 we should say th~t the unit of data passed between IP
`and the network interface is a packet. This p_acket c_~ be ei~er an IP datagram or a fragment of
`an IP datagram. We discuss fragmentation m detail m Section 11.5.
`We could draw a nearly identical picture for UDP data. The only changes ar~ that
`the unit of information that UDP passes to IP is called a UDP datagram, and the size of
`the UDP header is 8 bytes.
`
`Petitioner
`Ex. 1007 - Page 4
`
`
`
`~ IP: Internet Protocol
`~:__~~~~~~~----------------------ChapterJ
`.___
`
`3.2
`
`IP Header
`
`Figure 3.1 shows the format of an
`bytes unless options are present.
`'
`
`0
`
`IP d t gram The normal size of the IP header is 20
`a a
`.
`31
`
`15 16
`
`4-bit
`version
`
`14-bit heade1 8-bit type of service
`(TOS)
`length
`
`16-bit total length (in bytes)
`
`16-bit identification
`
`3-bit
`flags
`
`13-bit fragment offset
`
`8-bit time to live
`(TTL)
`
`8-bit protocol
`
`16-bit header checksum
`
`20 bytes
`
`32-bit source IP address
`
`32-bit destination IP address
`
`options (if any)
`
`data
`
`?
`
`,
`7
`
`'7
`'
`
`7
`'
`
`Figure 3.1 IP datagram, showing the fields in the IP header.
`
`We will show the pictures of protocol headers in TCP /IP as in Figure 3.1. The ~oSt sig(cid:173)
`nificant bit is numbered O at the left, and the least significant bit of a 32-bit value IS mun-
`bered 31 on the right.
`b't
`The 4 bytes in the 32-bit value are transmitted in the order: bits 0-7 first, the~chI_s
`8-15, then 16-23, and bits 24-31 last. This is called big endian byte ordering, whi
`IS
`the byte ordering required for all binary integers in the TCP /IP headers as they traver~e
`a network. This is called the network byte order. Machines that store binary int~gers:
`other formats, such as the little endian format, must convert the header values into e
`network byte order before trai:15mitting the data.
`.
`dis-
`The current protocol version is 4, so IP is sometimes called IPv4. Section 3.lO .
`cusses some proposals for a new version of IP.
`.
`The header length is the number of 32-bit words in the header, including any opti:·
`Since this is a 4-bit field, it limits the header to 60 bytes. In Chapter 8 we'll see thatd ys
`limi
`1 s to a ·
`·
`ak
`tation m es some of the options, such as the record route option, use es
`hich is
`The normal value of_ thi~ field (whe~ no options are present) is 5.
`.
`. The type-of-service field (TOS) Is composed of a 3-bit precedence field (w inutl(cid:173)
`i~ored today), ~ T?S bits, and an unused bit that must be O. The 4 TOS bits are: cost.
`nuze delay, maxuruze throughput, maximize reliability, and minimize monetary
`
`Petitioner
`Ex. 1007 - Page 5
`
`
`
`