Internet Protocol

RFC:  791



  

            The Internet Protocol is designed for use in interconnected systems of   packet-switched computer communication networks.  Such a system has   been called a "catenet" .  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.

            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   reliability, flow control, sequencing, or other services commonly   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.

          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.

             For example, a TCP module would call on the internet module to take a   TCP segment (including the TCP header and user data) as the data
  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   transmit the internet datagram.

    Operation

      The internet protocol implements two basic functions:  addressing and   fragmentation.  The internet modules use the addresses carried in the internet header   to transmit internet datagrams toward their destinations.  The   selection of a path for transmission is called routing.

      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:  Type of Service, Time to Live, Options, and Header Checksum.


Relation to Other Protocols

  The following diagram illustrates the place of the internet protocol   in the protocol hierarchy:

                                   
                 +------+ +-----+ +-----+     +-----+ 
                 |Telnet| | FTP | | TFTP| ... | ... | 
                 +------+ +-----+ +-----+     +-----+ 
                       |   |         |           |    
                      +-----+     +-----+     +-----+ 
                      | TCP |     | UDP | ... | ... | 
                      +-----+     +-----+     +-----+ 
                         |           |           |    
                      +--------------------------+----+
                      |    Internet Protocol & ICMP   |
                      +--------------------------+----+
                                     |                
                        +---------------------------+ 
                        |   Local Network Protocol  | 
                        +---------------------------+ 

                                     Protocol Relationships