throbber
1/4/14
`
`W.ietf.org/rfc/rfc791.txt
`
`RFC:
`
`791
`
`INT:
`
`
`
`L11 w2 LU a m MO H O O o H
`
`
`DARPA INTER ET PROGRAM
`
`
`
`
`
`PROTOCOL SPECIFICATION
`
`September 1981
`
`prepared for
`
`Defense Advanced Research Projects Agency
`Information Processing Techniques Office
`1400 Wilson Boulevard
`
`Arlington, Virginia
`
`22209
`
`by
`
`Information Sciences Institute
`
`University of Southern California
`4676 Admiralty Way
`Marina del Rey, California
`
`90291
`
`September 1981
`
`\ANMN.ietf.0rg/rfc/rfc791.b<t
`
`1/51
`
`Petitioner Apple Inc. - EX. 1020, p. 1
`
`Petitioner Apple Inc. - Ex. 1020, p. 1
`
`

`

`1/4/14
`
`stNv.ietf.0rg/rfc/rf0791.b<t
`
`Internet Protocol
`
`
`
`TABLE OF CONTENTS
`
`
`
`PREFACE ........................................................ iii
`
`1.
`
`INTRODUCTION ..................................................... l
`
`1.1 Motivation .................................................... 1
`
`1.2
`1.3
`
`Scope ......................................................... 1
`Interfaces .................................................... 1
`
`1.4 Operation ..................................................... 2
`
`
`
`OVERVIEW ......................................................... 5
`
`2.
`
`2.1 Relation to Other Protocols ........................: .......... 9
`
`2.2 Model of Operation ............................................ 5
`2.3 Function Description .......................................... 7
`2.4 Gateways ...................................................... 9
`
`3.
`
`
`SPECIFICATION ................................................... 11
`
`Internet Header Format ....................................... 11
`3.1
`3.2 Discussion ................................................... 23
`3.3
`Interfaces ................................................... 31
`
`
`
`Examples & Scenarios ................................... 34
`APPENDIX A:
`APPENDIX B: Data Transmission Order ................................ 39
`
`GLOSSARY ............................................................ 41
`
`
`REFERENCES .......................................................... 45
`
`www.i etf.org/rfc/rfc791 .txt
`
`251
`
`2
`
`Petitioner Apple Inc. - EX. 1020, p. 2
`
`[Page i]
`
`Petitioner Apple Inc. - Ex. 1020, p. 2
`
`

`

`1/4/14
`
`\ANmN.ietf.org/rfc/rf0791.b<t
`
`Internet Protocol
`
`September 1981
`
`WVWVJ etf.org Irfc/rfc79‘l .txt
`
`3/51
`
`Petitioner Apple Inc. - EX. 1020, p. 3
`
`Petitioner Apple Inc. - Ex. 1020, p. 3
`
`

`

`1/4/14
`
`[Page ii]
`
`September 1981
`
`WWWJ etf.org /rfc/rfc791 .txt
`
`
`
`PREFACE
`
`Internet Protocol
`
`This document specifies the DOD Standard Internet Protocol. This
`document is based on six earlier editions of the ARPA Internet Protocol
`
`There have
`Specification, and the present text draws heavily from them.
`been many contributors to this work both in terms of concepts and in
`terms of text. This edition revises aspects of addressing, error
`handling, option codes, and the security, precedence, compartments, and
`handling restriction features of the internet protocol.
`
`
`
`Jon Postel
`
` Editor
`
`WN,ietf.org/rfc/rfc791.b¢
`
`4/51
`
`Petitioner Apple Inc. - EX. 1020, p. 4
`
`Petitioner Apple Inc. - Ex. 1020, p. 4
`
`

`

`1/4/14
`
`vmmW.ietf.org/rfc/rfc791.txt
`
`[Page iii]
`
`September 1981
`
`RFC:
`
`791
`
`RFC 760
`Replaces:
`
`IENs 128, 123, 111,
`80, 54, 44, 41, 28, 26
`
`
`
`INTERNET PROTOCOL
`
`
`
`DARPA INTER ET PROGRAM
`
`PROTOCOL SPECIFICATION
`
`l .
`
`INTRODUCTION
`
`1.1. Motivation
`
`The Internet Protocol is designed for use in interconnected systems of
`packet-switched computer communication networks.
`Such a system has
`been called a "catenet" [l].
`The internet protocol provides for
`transmitting blocks of data called datagrams from sources to
`destinations, where sources and destinations are hosts identified by
`fixed length addresses.
`The internet protocol also provides for
`fragmentation and reassembly of long datagrams,
`if necessary,
`for
`transmission through "small packet" networks.
`
`1.2.
`
`Scope
`
`The internet protocol is specifically limited in scope to provide the
`functions necessary to deliver a package of bits (an internet
`datagram)
`from a source to a destination over an interconnected system
`of networks.
`There are no mechanisms to augment end—to~end data
`
`flow control, sequencing, or other services commonly
`reliability,
`found in host—to-host protocols.
`The internet protocol can capitalize
`on the services of its supporting networks to provide various types
`and qualities of service.
`
`1.3.
`
`Interfaces
`
`This protocol is called on by host-to—host protocols in an internet
`environment. This protocol calls on local network protocols to carry
`the internet datagram to the next gateway or destination host.
`
`a TCP module would call on the internet module to take a
`For example,
`(including the TCP header and user data) as the data
`TCP segment
`portion of an internet datagram.
`The TCP module would provide the
`addresses and other parameters in the internet header to the internet
`module as arguments of the call.
`The internet module would then
`create an internet datagram and call on the local network interface to
`
`www.i etf. org /rfc/rfc791 M
`
`5/51
`
`Petitioner Apple Inc. - EX. 1020, p. 5
`
`Petitioner Apple Inc. - Ex. 1020, p. 5
`
`

`

`1/4/14
`
`www.ietf.org /rfc/rfc79’| .txt
`
`transmit the internet datagram.
`
`
`In the ARPANET case, for example,
`
`the internet module would call on a
`
`Internet Protocol
`Introduction
`
`[Page 1]
`
`September 1981
`
`local net module which would add the 1822 leader [2]
`
`The
`datagram creating an ARPANET message to transmit to the IMP.
`ARPANET address would be derived from the internet address by the
`local network interface and would be the address of some host
`in the
`
`to the internet
`
`ARPANET,
`
`that host might be a gateway to other networks.
`
`
`
`1.4. Operation
`
`r1he internet protocol
`fragmentation.
`
` r‘he internet modules use the addresses carried in the internet header
`
`implements two basic functions:
`
`addressing and
`
`to transmit internet datagrams toward their destinations.
`selection of a path for transmission is called routing.
`
`The
`
`The internet modules use fields in the internet header to fragment and
`reassemble internet datagrams when necessary for transmission through
`"small packet" networks.
`
`The model of operation is that an internet module resides in each host
`engaged in internet communication and in each gateway that
`interconnects networks.
`These modules share common rules for
`
`interpreting address fields and for fragmenting and assembling
`internet datagrams.
`In addition,
`these modules
`(especially in
`gateways) have procedures for making routing decisions and other
`functions.
`
`The internet protocol treats each internet datagram as an independent
`entity unrelated to any other internet datagram.
`There are no
`connections or logical circuits (virtual or otherwise).
`
`The internet protocol uses four key mechanisms in providing its
`service:
`r1ype of Service, Time to Live, Options, and Header Checksum.
`
`The Type of Service is used to indicate the quality of the service
`desired.
`’
`
` “he type of service is an abstract or generalized set of
`
`parameters which characterize the service choices provided in the
`networks that make up the internet. This type of service indication
`is to be used by gateways to select the actual transmission parameters
`for a particular network,
`the network to be used for the next hop, or
`the next gateway when routing an internet datagram.
`
`The Time to Live is an indication of an upper bound on the lifetime of
`
`\AMAN.ietf.org/rfC/rfc791.b<t
`
`6/51
`
`Petitioner Apple Inc. - EX. 1020, p. 6
`
`Petitioner Apple Inc. - Ex. 1020, p. 6
`
`

`

`1/4/14
`
`\MNw.ietf.org/rfc/rfc791.txt
`
`It is set by the sender of the datagram and
`an internet datagram.
`reduced at the points along the route where it is processed.
`If the
`
`time to liv r ach s
`z ro b for
`th
`int rnet datagram reaches its
`destination,
`the internet datagram is destroyed.
`The time to live can
`be thought of as a self destruct time limit.
`
`[Page 2]
`
`September 1981
`
`Internet Protocol
`Introduction
`
`in some
`The Options provide for control functions needed or useful
`situations but unnecessary for the most common communications.
`The
`options include provisions for timestamps, security, and special
`routing.
`
`The Header Checksum provides a verification that the information used
`in processing internet datagram has been transmitted correctly.
`The
`data may contain errors.
`If the header checksum fails,
`the internet
`datagram is discarded at once by the entity which detects the error.
`
`The internet protocol does not provide a reliable communication
`facility.
`There are no acknowledgments either end—to—end or
`hop—by—hop.
`There is no error control for data, only a header
`checksum.
`There are no retransmissions. There is no flow control.
`
`
`Errors detected may be reported via the Internet Control Message
`Protocol
`(ICMP)
`[3] which is implemented in the internet protocol
`module.
`
`vvaN.ietf.org/rfc/rfc791,t>d
`
`7/51
`
`7
`
`Petitioner Apple Inc. - EX. 1020, p. 7
`
`Petitioner Apple Inc. - Ex. 1020, p. 7
`
`

`

`1/4/14
`
`MM.ietf.org/rfc/rfc791.b<t
`
`Internet Protocol
`
`[Page 3]
`
`September 1981
`
`\MMN.ietf.org/rfc/rfc791.txt
`
`8/51
`
`Petitioner Apple Inc. - EX. 1020, p. 8
`
`Petitioner Apple Inc. - Ex. 1020, p. 8
`
`

`

`1/4/14
`
`mmietfprg /rfc/rfc791 .tXt
`
`[Page 4]
`
`September 1981
`
`Internet Protocol
`
`2.1. Relation to Other Protocols
`
`2.
`
`
`
`OVERVIEW
`
`The following diagram illustrates the place of the internet protocol
`in the protocol hierarchy:
`
`+ —————— + ——————— + ——————— +
`
`+ ——————»
`
`TFTP
`FTP 1
`[Telnetl
`+ —————— + »—————— + ,———————~
`
`
`
`J
`|
`+ ————— +
`
`I
`TC]?
`,______ +
`
`|
`——————— +
`
`UDP
`+ ______r
`
`»—————— +
`
`|
`~———————~
`
`_______.
`
`
`
`
`
`
`
`|
`l
`_______________ _.___
`
`|
`+____.._
`
`Internet Protocol
`i__ _____
`____
`____
`
`
`
`ICMP
`&
`____+ -__i
`
`l
`
`+ ____________ _.__...
`_____.
`
`Protocol Relationships
`
`Figure 1.
`
`Internet protocol interfaces on one side to the higher level
`host~to~host protocols and on the other side to the local network
`protocol.
`In this context a "local network" may be a small network in
`
`a building or a large network such as the ARPANET.
`
`‘2.2. Model of Operation
`
`The model of operation for transmitting a datagram from one
`application program to another is illustrated by the following
`scenario:
`
`\MMN.ietf.org/rfc/rfc791.b<t
`
`9/51
`
`Petitioner Apple Inc. - EX. 1020, p. 9
`
`Petitioner Apple Inc. - Ex. 1020, p. 9
`
`

`

`1/4/14
`
`.
`
`\AMMI.ietf.org/rfc/rf0791.txt
`
`We suppose that this transmission will
`gateway.
`
`involve one intermediate
`
`The sending application program prepares its data and calls on its
`local internet module to send that data as a datagram and passes the
`destination address and other parameters as arguments of the call.
`
`The internet module prepares a datagram header and attaches the data
`to it.
`The internet module determines a local network address for
`this internet address,
`in this case it is the address of a gateway.
`
`Internet Protocol
`Overview
`
`[Page 5]
`
`September 1981
`
`It sends this datagram and the local network address to the local
`network interface.
`
`The local network interface creates a local network header, and
`
`attaches the datagram to it,
`network.
`
`then sends the result via the local
`
`The datagram arrives at a gateway host wrapped in the local network
`header,
`the local network interface strips off this header, and
`turns the datagram over to the internet module.
`The internet module
`determines from the internet address that the datagram is to be
`forwarded to another host
`in a second network.
`The internet module
`determines a local net address for the destination host.
`It calls
`on the local network interface for that network to send the
`datagram.
`
`This local network interface creates a local network header and
`
`attaches the datagram sending the result to the destination host.
`
`At this destination host the datagram is stripped of the local net
`header by the local network interface and handed to the internet
`module.
`
`The internet module determines that the datagram is for an
`
`It passes the data to the
`application program in this host.
`application program in response to a system call, passing the source
`address and other parameters as results of the call.
`
`Application
`Program
`\
`Internet Module
`\
`LNI—l
`
`WMN.ietf.org/rfc/rfc791.b<t
`
`Internet Module
`/
`\
`LNI~1
`LNI—2
`
`10
`
`Application
`Program
`/
`Internet Module
`/
`LNI—Z
`
`10/51
`
`Petitioner Apple Inc. - EX. 1020, p. 10
`
`Petitioner Apple Inc. - Ex. 1020, p. 10
`
`

`

`1/4/14
`
`\MMN.ietf.org/rfc/rfc791.txt
`
`/
`\
`Local Network 1
`
`/
`\
`Local Network 2
`
`Transmission Path
`
`Figure 2
`
`[Page 6]
`
`September 1981
`
`Internet Protocol
`Overview
`
`2.3.
`
`Function Description
`
`The function or purpose of Internet Protocol is to move datagrams
`through an interconnected set of networks. This is done by passing
`the datagrams from one internet module to another until the
`destination is reached.
`The internet modules reside in hosts and
`
`The datagrams are routed from one
`gateways in the internet system.
`internet module to another through individual networks based on the
`interpretation of an internet address.
`Thus, one important mechanism
`of the internet protocol is the internet address.
`
`In the routing of messages from one internet module to another,
`datagrams may need to traverse a network whose maximum packet size is
`smaller than the size of the datagram.
`To overcome this difficulty,
`fragmentation mechanism is provided in the internet protocol.
`
`a
`
`Addressing
`
`A distinction is made between names, addresses, and routes [4].
`name indicates what we seek.
`An address indicates where it is.
`route indicates how to get there.
`The internet protocol deals
`primarily with addresses.
`It is the task of higher level (i.e.,
`host—to-host or application) protocols to make the mapping from
`names to addresses.
`The internet module maps internet addresses to
`local net addresses.
`It is the task of lower level (i.e.,
`local net
`
`A
`
`A
`
`or gateways) procedures to make the mapping from local net addresses
`to routes.
`
`An address
`Addresses are fixed length of four octets (32 bits).
`begins with a network number,
`followed by local address (called the
`"rest" field).
`There are three formats or classes of internet
`addresses:
`in class a,
`the high order bit is zero,
`the next 7 bits
`are the network, and the last 24 bits are the local address;
`in
`
`www.ietf.org/rfc/rfc791.txt
`
`11/51
`
`V
`
`Petitioner Apple Inc. - EX. 1020, p. 11
`
`Petitioner Apple Inc. - Ex. 1020, p. 11
`
`

`

`1/4/14
`
`\ANmN.ietf.org/rfc/rfc791.txt
`
`the next 14 bits are
`the high order two bits are one—zero,
`class b,
`the network and the last 16 bits are the local address;
`in class c,
`
`the next 21 bits are the
`the high order three bits are one—one-zero,
`network and the last 8 bits are the local address.
`
`Care must be taken in mapping internet addresses to local net
`addresses;
`a single physical host must be able to act as if it were
`several distinct hosts to the extent of using several distinct
`internet addresses.
`Some hosts will also have several physical
`interfaces (multi-homing).
`
`to have several physical
`That is, provision must be made for a host
`interfaces to the network with each having several
`logical internet
`addresses.
`
`Internet Protocol
`Overview
`
`[Page 7]
`
`September 1981
`
`
`Examples of address mappings may be found in "Address Mappings"
`
`[5].
`
`Fragmentation
`
`Fragmentation of an internet datagram is necessary when it
`originates in a local net that allows a large packet size and must
`traverse a local net that limits packets to a smaller size to reach
`its destination.
`
`An internet datagram can be marked "don't fragment." Any internet
`datagram so marked is not to be internet fragmented under any
`circumstances.
`If internet datagram marked don't fragment cannot be
`delivered to its destination without fragmenting it, it is to be
`discarded instead.
`
`transmission and reassembly across a local network
`Fragmentation,
`which is invisible to the internet protocol module is called
`intranet fragmentation and may be used [6].
`
`The internet fragmentation and reassembly procedure needs to be able
`to break a datagram into an almost arbitrary number of pieces that
`can be later reassembled.
`The receiver of the fragments uses the
`identification field to ensure that fragments of different datagrams
`are not mixed.
`The fragment offset field tells the receiver the
`position of a fragment
`in the original datagram.
`The fragment
`offset and length determine the portion of the original datagram
`covered by this fragment.
`The more—fragments flag indicates (by
`being reset) the last fragment.
`These fields provide sufficient
`information to reassemble datagrams.
`
`The identification field is used to distinguish the fragments of one
`
`\ANvW.ietf.org/rfC/rfc791.b¢
`
`12/51
`
`12
`
`Petitioner Apple Inc. - EX. 1020, p. 12
`
`Petitioner Apple Inc. - Ex. 1020, p. 12
`
`

`

`1flfl14
`
`WMN.ietf.org/rfc/rfc791.b¢
`
`The originating protocol module of
`datagram from those of another.
`an internet datagram sets the identification field to a value that
`must be unique for that source—destination pair and protocol for the
`time the datagram will be active in the internet system.
`The
`originating protocol module of a complete datagram sets the
`more-fragments flag to zero and the fragment offset to zero.
`
`To fragment a long internet datagram, an internet protocol module
`(for example,
`in a gateway), creates two new internet datagrams and
`copies the contents of the internet header fields from the long
`datagram into both new internet headers.
`The data of the long
`datagram is divided into two portions on a 8 octet
`(64 bit) boundary
`(the second portion might not be an integral multiple of 8 octets,
`but
`the first must be). Call
`the number of 8 octet blocks in the
`
`The first
`first portion NFB (for Number of Fragment Blocks).
`portion of the data is placed in the first new internet datagram,
`and the total length field is set to the length of the first
`
`[Page 8]
`
`September 1981
`
`Internet Protocol
`Overview
`
`The second
`The more-fragments flag is set to one.
`datagram.
`portion of the data is placed in the second new internet datagram,
`
`and the total length field is set to the length of the second
`datagram.
`The more—fragments flag carries the same value as the
`long datagram.
`The fragment offset field of the second new internet
`datagram is set to the value of that field in the long datagram plus
`NFB.
`
` 1
`
`r‘his procedure can be generalized for an n—way split, rather than
`the two—way split described.
`
`“o assemble the fragments of an internet datagram, an internet
`protocol module (for example at a destination host) combines
`internet datagrams that all have the same value for the four fields:
`identification, source, destination, and protocol.
`The combination
`is done by placing the data portion of each fragment
`in the relative
`position indicated by the fragment offset in that fragment's
`internet header.
`The first fragment will have the fragment offset
`zero, and the last fragment will have the more—fragments flag reset
`to zero.
`
`2
`
`.4. Gateways
`
`Gateways implement internet protocol to forward datagrams between
`networks. Gateways also implement the Gateway to Gateway Protocol
`(GGP)
`[7]
`to coordinate routing and other internet control
`information.
`
`In a gateway the higher level protocols need not be implemented and
`
`www.i etf.org /rfc/rfc791 .txt
`
`13/51
`
`13
`
`Petitioner Apple Inc. - EX. 1020, p. 13
`
`Petitioner Apple Inc. - Ex. 1020, p. 13
`
`

`

`1/4/14
`
`\Amw.ietf.org/rfc/rfc791.txt
`the GGP functions are added to the IP module.
`
`+ ________________________________l
`
`ICMP & GGP
`&
`Internet Protocol
`1
`+ ________________________________-
`
`
`
`I
`——————————————————
`
`1
`+ ——————————————— +
`
`Local Net
`,——————————————————
`
`
`
`
`
`|
`Local Net
`1
`+ ——————————————— +
`
`Gateway Protocols
`
`Figure 3.
`
`Internet Protocol
`
`[Page 9]
`
`September 1981
`
`\AMNv.ietf.org/rfc/rfc791.b¢
`
`14/51
`
`14
`
`Petitioner Apple Inc. - EX. 1020, p. 14
`
`Petitioner Apple Inc. - Ex. 1020, p. 14
`
`

`

`1/4/14
`
`W.ietf.org/rfc/rf0791.t>¢
`
`[Page 10]
`
`September 1981
`
`Internet Protocol
`
`3.1.
`
`Internet Header Format
`
`3.
`
`
`SPECIFICATION
`
`A summary of the contents of the internet header follows:
`
`O
`l
`O
`l
`2
`3
`4
`5
`6
`7
`8
`9
`O
`l 2
`3
`4
`5
`6
`
`+—1
`1
`—~—
`:~{- —+ ~—+—+
`1—+—+~1
`
`3
`2
`l
`O
`9
`8
`7
`6
`5
`4
`3
`2
`l
`O
`9
`8
`7
`~—~—+—+—+—«—+~+—+—+~»—~—+—+—+—u
`
`Type of Service
`IHL
`Version
`—~—:
`“~1—fi—+ 1—fi—+— ~1—+—l
`1—+—e~+ —"—+
`
`Total Length
`1—w—+—1
`1—+—
`
`1— —1—
`
`1
`
`Fragment Offset
`F;ags
`Identification
`~- -+— e—0 "
`L—+—1—w—+—1—+~+—1—1—W +—1—+ +—d—1
`+
`1-1—» ~~ —z—" "
`Time
`:0 lee
`Protocol
`Header Checksum
`+—+—1
`—+—1
`1~+—+—1
`+—:—+ 1—e—+—+ «—+—1— +—+—1
`:-+—+— —1— —:
`Source Address
`+— —1—+ +—:— — —~—1—+ +—1—:—+—+—:—" +— —+—~ +—+—~ +—+— —”
`Destination Address
`»—:—+—u—1~+—+— —:—+—+—l—+~fi—l—l~ —»—+—+—h— —:—~— —1—1— —u—»—+~e—»
`
`-+— —
`
`Options
`Padding
`
`~—+—+—e—+—+—+—"—+—1—1—+—:— +—+— +—+—1—“— —+—
`fi~+—:—:— ~ —1—1
`
`
`
`wvwvj etf. org /rfc/rfc791 .txt
`
`
`Example Internet Datagram Header
`
`Figure 4.
`
`15
`
`15/51
`
`Petitioner Apple Inc
`
`.— Ex. 1020, p. 15
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`
`
`
`Petitioner Apple Inc. - Ex. 1020, p. 15
`
`

`

`1/4/14
`
`vme.ietf.0rg/rfc/rf0791.b<t
`
`Note that each tick mark represents one bit position.
`
`Version:
`
`4 bits
`
`r“he Version field indicates the format of the internet header. This
`document describes version 4.
`
`
`
`IHo:
`
`4 bits
`
`Internet Header Length is the length of the internet header in 32
`bit words, and thus points to the beginning of the data. Note that
`the minimum value for a correct header is 5.
`
`[Page ll]
`
`September 1981
`
`Internet Protocol
`
`Specification
`
`Type of Service:
`
`8 bits
`
`The Type of Service provides an indication of the abstract
`parameters of the quality of service desired.
`These parameters are
`to be used to guide the selection of the actual service parameters
`when transmitting a datagram through a particular network.
`Several
`networks offer service precedence, which somehow treats high
`precedence traffic as more important than other traffic (generally
`by accepting only traffic above a certain precedence at time of high
`load).
`The major choice is a three way tradeoff between low—delay,
`high—reliability, and high-throughput.
`
`Bits 0—2:
`
`Precedence.
`
`Bit
`Bits
`Bits
`Bit
`
`1 2 Low Delay.
`O = Normal Delay,
`3:
`l = High Throughput.
`O = Normal Throughput,
`4:
`l = High Relibility.
`O = Normal Relibility,
`5:
`6~7z Reserved for Future Use.
`
`7
`6
`5
`4
`3
`2
`l
`0
`+ ————— + ————— + ————— + ————— + ————— + ————— + ————— + ————— +
`
`I
`|
`l
`
`
`
`
`
`PR 3 C 3 D ENCE
`
`l
`I
`|
`
`D
`
`1
`|
`|
`
`T
`
`|
`I
`1
`
`R
`
`vm~w.ietf.org/rfo/rfc791.txt
`
`O
`
`l
`|
`1
`
`O
`
`l
`l
`1
`
`1
`1
`|
`
`16
`
`16/51
`
`Petitioner Apple Inc. - EX. 1020, p. 16
`
`Petitioner Apple Inc. - Ex. 1020, p. 16
`
`

`

`1/4/14
`
`\AMAN.ietf.org/rfc/rfc791.txt
`+ ————— + ————— + ————— + ————— + ————— + ————— + ————— + ————— +
`
`Precedence
`
`111 — Network Control
`110 ~ Internetwork Control
`
`101 - CRITIC/3GP
`100 — Flash Override
`011 — Flash
`010 — Immediate
`
`OOl — Priority
`OOO — Routine
`
`The use of the Delay, Throughput, and Reliability indications may
`increase the cost
`(in some sense) of the service.
`In many networks
`better performance for one of these parameters is coupled with worse
`
`performance on another. Except for very unusual cases at most
`two
`of these three indications should be set.
`
`The type of service is used to specify the treatment of the datagram
`during its transmission through the internet system.
`Example
`mappings of th
`int rn t typ
`of s rvic
`to the actual service
`
`
`provided on networks such as AUTODIN II, ARPANET, SATNET, and PRNET
`is given in "Service Mappings"
`[8].
`
`
`
`[Page 12]
`
`September 1981
`
`Internet Protocol
`
`Specification
`
`The Network Control precedence designation is intended to be used
`within a network only.
`The actual use and control of that
`designation is up to each network. The Internetwork Control
`designation is intended for use by gateway control originators only.
`If the actual use of these precedence designations is of concern to
`a particular network, it is the responsibility of that network to
`control the access to, and use of,
`those precedence designations.
`
`Total Length:
`
`16 bits
`
`Total Length is the length of the datagram, measured in octets,
`including internet header and data. This field allows the length of
`a datagram to be up to 65,535 octets.
`Such long datagrams are
`impractical for most hosts and networks. All hosts must be prepared
`to accept datagrams of up to 576 octets (whether they arrive whole
`or in fragments).
`It is recommended that hosts only send datagrams
`larger than 576 octets if they have assurance that the destination
`is prepared to accept
`the larger datagrams.
`
`The number 576 is selected to allow a reasonable sized data block to
`be transmitted in addition to the required header information.
`For
`
`\AMNv.ietf.org/rfc/rfc791.b<t
`
`17/51
`
`17
`
`Petitioner Apple Inc. - EX. 1020, p. 17
`
`Petitioner Apple Inc. - Ex. 1020, p. 17
`
`

`

`1/4/14
`
`\Ava.ietf.org/rfc/rfc791.t)¢
`
`this size allows a data block of 5l2 octets plus 64 header
`example,
`octets to fit in a datagram.
`The maximal internet header is 60
`octets, and a typical internet header is 20 octets, allowing a
`margin for headers of higher level protocols.
`
`Identification:
`
`16 bits
`
`An identifying value assigned by the sender to aid in assembling the
`fragments of a datagram.
`
`Flags:
`
`3 bits
`
`Various Control Flags.
`
`Bit O:
`Bit l:
`Bit 2:
`
`reserved, must be zero
`(DF
`0 = May Fragment,
`(MF
`0 2 Last Fragment,
`
`l = Don't Fragment.
`l = More Fragments.
`
`
`
`2
`l
`O
`+——~+——~v——————
`
`M
`D
`|
`l
`F
`1 F
`O
`|
`+———+~——-—————~
`
`
`
`Fragment Offset:
`
`L3 bits
`
`This field indicates where in the datagram this fragment belongs.
`
`[Page 13]
`
`September 1981
`
`Internet Protocol
`
`Specification
`
`The fragment offset is measured in units of 8 octets (64 bits).
`first fragment has offset zero.
`
`The
`
`Time to Live:
`
`8 bits
`
`This field indicates the maximum time the datagram is allowed to
`remain in the internet system.
`If this field contains the value
`zero,
`then the datagram must be destroyed. This field is modified
`in internet header processing.
`The time is measured in units of
`seconds, but since every module that processes a datagram must
`decrease the TTL by at least one even if it process the datagram in
`less than a second,
`the TTL must be thought of only as an upper
`bound on the time a datagram may exist.
`The intention is to cause
`undeliverable datagrams to be discarded, and to bound the maximum
`datagram lifetime.
`
`Protocol:
`
`8 bits
`
`This field indicates the next level protocol used in the data
`
`mev.ietf.org/rfo/rfc791.txt
`
`18/51
`
`18
`
`Petitioner Apple Inc. - EX. 1020, p. 18
`
`Petitioner Apple Inc. - Ex. 1020, p. 18
`
`

`

`1/4/14
`
`\MANv.ietf.org/rfC/rfc791.txt
`
`portion of the internet datagram.
`are specified in "Assigned Numbers"
`
`The values for various protocols
`[9].
`
`Header Checksum:
`
`16 bits
`
`Since some header fields change
`A checksum on the header only.
`(e.g.,
`time to live),
`this is recomputed and verified at each point
`that the internet header is processed.
`
`The checksum algorithm is:
`
`The checksum field is the 16 bit one's complement of the one‘s
`
`For purposes of
`sum of all 16 bit words in the header.
`complement
`computing the checksum,
`the value of the checksum field is zero.
`
`This is a simple to compute checksum and experimental evidence
`indicates it is adequate, but it is provisional and may be replaced
`by a CRC procedure, depending on further experience.
`
`Source Address:
`
`32 bits
`
`The source address.
`
`See section 3.2.
`
`Destination Address:
`
`32 bits
`
`The destination address.
`
`See section 3.2.
`
`[Page 14]
`
`September 1981
`
`Options:
`
`variable
`
`Internet Protocol
`
`Specification
`
`They must be
`in datagrams.
`The options may appear or not
`(host and gateways). What is optional
`implemented by all IP modules
`is their transmission in any particular datagram, not their
`implementation.
`
`In some environments the security option may be required in all
`datagrams.
`
`The option field is variable in length. There may be zero or more
`options.
`There are two cases for the format of an option:
`
`Case 1:
`
`A single octet of option—type.
`
`Case 2:
`
`An option—type octet, an option-length octet, and the
`actual option—data octets.
`
`MMAN.ietf.org/rfc/rfc791.txt
`
`19/51
`
`19
`
`Petitioner Apple Inc. - EX. 1020, p. 19
`
`Petitioner Apple Inc. - Ex. 1020, p. 19
`
`

`

`1/4/14
`
`\AMM/.ietf.org/rfc/rfc791.txt
`
`The option—length octet counts the option—type octet and the
`option—length octet as well as the option-data octets.
`
`The option—type octet is viewed as having 3 fields:
`
`1 bit
`2 bits
`5 bits
`
`copied flag,
`option class,
`option number.
`
`The copied flag indicates that this option is copied into all
`fragments on fragmentation.
`
`| ~
`
`o
`
`not copied
`l = copied
`
`The option classes are:
`
`
`
`= control
`= reserved for future use
`\l
`
`debugging and measurement
`= reserved for future use
`
`wNI—‘O
`
`[Page 15]
`
`September 1981
`
`Internet Protocol
`
`Specification
`
`The following internet options are defined:
`
`
`
`
`
`CLASS NUMBTR LTNGTH DESCRIPTION
`
`O
`
`O
`
`O
`
`0
`
`O
`
`l
`
`2
`
`3
`
`—
`
`—
`
`11
`
`var.
`
`
`
`End of Option list. This option occupies only
`1 octet; it has no length octet.
`
`0 Operation. This option occupies only 1
`octet; it has no length octet.
`Security. Used to carry Security,
`Compartmentation, User Group (TCC), and
`Handling Restriction Codes compatible with DOD
`requirements.
`Loose Source Routing. Used to route the
`internet datagram based on information
`supplied by the source.
`
`W.ietf.org/rfc/rfc791.txt
`
`20/51
`
`20
`
`Petitioner Apple Inc. - EX. 1020, p. 20
`
`Petitioner Apple Inc. - Ex. 1020, p. 20
`
`

`

`1/4/14
`
`MAN.ietf.org/rfc/rfc791.b<t
`
`O
`
`0
`
`0
`
`2
`
`9
`
`7
`
`8
`
`4
`
`var. Strict Source Routing. Used to route the
`internet datagram based on information
`supplied by the source.
`var. Record Route. Used to trace the route an
`internet datagram takes.
`Stream ID. Used to carry the stream
`identifier.
`
`4
`
`var.
`
`Internet Timestamp.
`
`Specific Option Definitions
`
` 3nd of Option List
`
`»————————— +
`
`OOOOOOOO‘
`
` _‘
`
`“his option indicates the end of the option list. This might
`not coincide with the end of the internet header according to
`the internet header length. This is used at the end of all
`options, not the end of each option, and need only be used if
`the end of the options would not otherwise coincide with the end
`of the internet header.
`
`introduced, or deleted on fragmentation, or for
`May be copied,
`any other reason.
`
`[Page 16]
`
`September 1981
`
`No Operation
`
`Internet Protocol
`
`Specification
`
`
`
`
`
`1
`
`to align
`for example,
`“his option may be used between options,
`:he beginning of a subsequent option on a 32 bit boundary.
`
`introduced, or deleted on fragmentation, or for
`May be copied,
`any other reason.
`
`WN.ietf.org/rfc/rfc791.txt
`
`21/51
`
`2
`
`Petitioner Apple Inc. - EX. 1020, p. 21
`
`Petitioner Apple Inc. - Ex. 1020, p. 21
`
`

`

`1/4/14
`
`Security
`
`\mwvj etf.org /rfc/rfc791 .txt
`
`This option provides a way for hosts to send security,
`compartmentation, handling restrictions, and TCC (closed user
`group) parameters.
`r‘he format for this option is as follows:
`
`+ ———————— + ———————— +———//———~—~—//———+———//———+~——//——~u
`|10000010|OOOOlOll SSS
`SSS CCC
`CCClHHH
`HHH)
`TCC
`+ ———————— + ———————————-—//—
`———// ——+—
`//—*~: ——//— —~
`Typez130 Length=11
`
`
`
`
`
`
`Security (S field):
`
`16 bits
`
`Specifies one of 16 levels of security
`reserved for future use).
`
`(eight of which are
`
`ed
`al
`
`Jnclassifi
`Confidenti
`EFTO
`MMMM
`PROG
`Restricted
`Secret
`
`
`
`future
`future
`future
`future
`future
`future
`future
`future
`
`for
`for
`for
`for
`for
`for
`for
`for
`
`Top Secret
`(Reserved
`(Reserved
`(Reserved
`(Reserved
`(Reserved
`Reserved
`Reserved
`Reserved
`
`( ( (
`
`
`
`00000000
`11110001
`01111000
`lOllllOO
`01011110
`10101111
`llOlOlll
`01101011
`00110101
`lOOllOlO
`01001101
`00100100
`OOOlOOll
`10001001
`11000100
`11100010
`
`OOOOOOOO —
`00110101 —
`lOOllOlO —
`01001101 -
`OOlOOllO —
`00010011 —
`lOOOlOOO ~
`11000101 -
`11100010 ~
`11110001 -
`01111000 -
`lOllllOl —
`01011110 —
`10101111 -
`llOlOllO -
`01101011 —
`
`Internet Protocol
`
`Specification
`
`[Page 17]
`
`September 1981
`
`Compartments
`
`(C field):
`
`16 bits
`
`An all zero value is used when the information transmitted is
`Other values for the compartments field
`not compartmented.
`
`D f ns
`Ag ncy.
`Int llig nc
`may be obtained from th
`
`Handling Restrictions
`
`(H field):
`
`16 bits
`
`The values for the control and release markings are
`
`alphanumeric digraphs and are defined in the Defense
`"Standard Security
`Intelligence Agency Manual DIAM 65—19,
`
`www.i etf.org /rfc/rfc791 M
`
`22
`
`22%
`
`Petitioner Apple Inc. - EX. 1020, p. 22
`
`Petitioner Apple Inc. - Ex. 1020, p. 22
`
`

`

`1/4/14
`
`wmm.ietf.org/rfc/rfc791.txt
`
`Markings".
`
`Transmission Control Code
`
`(TCC field):
`
`24 bits
`
`Provides a means to segregate traffic and define controlled
`communities of interest among subscribers. The TCC values are
`trigraphs, and are available from HQ DCA Code 530.
`
`Must be copied on fragmentation.
`once in a datagram.
`
`This option appears at most
`
`Loose Source and Record Route
`
`-————————— + —————————————————— + ————————— // ——————————
`
`route data
`pointer]
`length
`10000011!
`»————————— + —————————————————— + ————————— // —————————~
`
`
`
`
`
`
`
`Type=13l
`
`The loose source and record route (LSRR) option provides a mean

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket