IP -- The Internet Protocol
Purpose: IP provides a best effort, out of order, unreliable
delivery of individual packets. It can cross multiple hops, and multiple
technologies. Routing is done at the IIP level. No error
checking is done at the IP level. IP is not used by users,
but by higher level protocols above.
The internet Datagram: A datagram consists of a header
followed by a data area. The datagram header can be found on page
92. The datagram itself lives in a physical packet. Important
fields include ...
-
The Precedence and Type of Service fields. These describe the priority
and requirements of the packet, and are commonly ignored. For example,
is high bandwidth or low latency required.
-
Source and dest IP addresses
-
Time to live -- limits the number of hops a packet can take to reduce the
effect of routing errors.
-
Header and packet lengths -- always measured in 4 byte units.
Fragments: If the IP datagram is larger than the maximum transmission
unit of any physical network in the route, the packet must be broken up.
Each piece is called a fragment. Fragments are NOT reassembled
along the way. Why?
-
Different fragments might take different paths, it might not be possible
to reassemble.
-
Intermediate routers that wait for additional fragments add latency
-
Causes extra work for intermediate routers.
Options: There are several options that can be set on an IP datagram.
-
Record route -- List the hops taken by this packet
-
Loose source routing -- Give several intermediate points along the route,
doing normal routing between these points.
-
Strict source routing -- Give EVERY intermediate point along the route.
-
Timestamp -- Record the ltime the packet went in and out of every intermediate
hop.