0:00
This class focus on several IP address and techniques.
IP addresses are said to be logical,
because they are defined in terms of logical topology of the routers and end systems.
The logical IP addresses need to be converted into
specific physical addresses for the underlying network technology.
Currently, Ethernet is the most common network that IP runs on.
Ethernet uses 48-bit MAC address format.
How does the host map the IP address to the MAC address?
Address resolution protocol, ARP,
provides conversion between IP address and physical address.
This figure illustrates the main idea.
Suppose H1 wants to send an IP packet to H3,
but doesn't know the MAC address of H3.
H1 first broadcasts an ARP request packet asking the destination host,
which is identified by H3's IP address, to reply.
All hosts in the network receive the packet,
but only the intended host,
H3, responds to H1.
The ARP response packet contains H3's MAC and IP addresses.
From now on, H1 knows how to send a package to H3.
Further questions are how to speed up this mapping process.
Caching is an effective scheme.
For example, H1 can cache H3's MAC and IP address in it's
ARP table so that H1 can simply look up H3's MAC address in the table for future use.
In order to refresh caching results,
each entry in the IP table is usually H so that
its contents are erased if no activity occurs within a certain period,
say 5 to 15 minutes.
One of the strengths of IP is that it can work on a variety of physical networks.
Each physical networks usually impose
a certain packet size limitation on the packets that can be carried.
This is called the maximum transmission unit, MTU.
When IP wants to send a packet that is larger than the MTU of the physical network,
IP must break packet into smaller fragments to fit.
Fragmentation can be done at a source level or at an intermediate router,
as illustrated in the figure.
The destination IP is the only entity that is
responsible for assembling the fragments to the original packet.
To reassemble the fragments,
the destination waits until it
has received all the fragments belonging to the same packet.
If one or more fragments are lost in the network,
the destination abandons the assembly process.
Although fragmentation may seem to be a good feature,
it involves a subtle performance penalty.
There are three fields in IP header: Identification, Flags, and Fragment Offset.
They have been assigned to manage fragmentation and reassembly.
The identification field is used to
identify which packet a particular fragment belongs to,
so that fragments for different packets do not get mixed up.
The Flag field has three bits: One unused bit,
one "do not fragment" bit,
and one "more fragment" bit.
If the "don't fragment" bit is set to one,
it will force the router not to fragment the packet.
If "more fragment" bit is set to one,
it tells the destination host that there are more fragments to follow.
The Fragment Offset field identifies the location of a fragment in the packet.
The value matches offset in units of 8 bytes between
the beginning of the packet to be fragmented and the beginning of the fragment.
The reason that offset is measured in units of 8 bytes is to
address the problem that the packet length has 16 bits,
while the offset only has 13 bits.
The audience should verify that
these three fields give sufficient information to hosts and
routers to perform fragmentation and reassembly.
Let's look at the example.
Suppose a packet arrives at a router and it is to be
forwarded to a network having an MTU of 576 bytes.
The packet has an IP header of 20 bytes and a data part of 1484 bytes.
We need to perform fragmentation and include the pertinent values of the IP header.
The MTU per fragment equals to 576 minus 20 bytes of header,
which becomes 556 bytes.
However, 556 is not a multiple of 8.
Therefore, we need to set the maximum data length to 552,
and we can break 1482 into 552 plus 552 plus 380.
So we need three fragments.
This table shows the pertinent values for
the IP header where X denotes a unique identification value.
All the value except the header checksum are the same as in original packet.
This concludes today's class.