Overview: IP
header
fragmentation and reassembly
IPv6
mobile IP
ICMP
DHCP
SLIP
PPP
IP Header
bits
field
4
ip Version number (4)
4
header length, in 32-bit words
8
type of service
16
packet length in bytes
16
ID
3
flags
13
offset
8
time to live
8
protocol
16
header checksum
32
source IP address
32
destination IP address
IP fragmentation
IP packets cannot be larger than Maximum Transmission Unit (MTU) of underlying network
many different networks in Internet
router may be given packet of size N to send over network with MTU < N
put "unique" identifier in each packet
fragmentation may also be done by sender
IP reassembly
ID identifies packet
offset * 8 identifies fragment within packet
flags identify end of packet (last fragment)
packets, fragments may be delivered out of order
use TTL to discard packets with lost fragments
IPv6
design initiated in response to exhaustion of class B addresses
128-bit addresses
better autoconfiguration
better security (encryption, authentication)
better type of service
simpler to process a packet
no header checksum
"extension headers" instead of options, higher-level protocols
Does not interoperate with IPv4, but can be tunneled
ICMP
Internet Control Message Protocol
ping
try to inform sender when discarding a packet
(never send in response to an ICMP packet)
unreliable, but useful
Mobile IP
post office forwarding address
I get a guest IP address from the network I'm on
forwarding agent on my network sends all my packets to the guest address
I can either
send packets with my home IP address (probably dropped for security reasons)
send packets with my guest IP address (source address authentication won't work)
DHCP
Dynamic Host Configuration Protocol
"plug and play"
broadcast request for IP address
assigned IP address
e.g. ISPs
PPP
"lower layer" for IP (and other protocols)
has IP address negotiation
can use multiple serial lines
2-byte CRC
complex, useful
SLIP
"lower layer" for IP only
marker character END, replaced in packet by ESC END
escape character ESC, replaced in packet by ESC ESC
END starts and ends packet
IP+TCP headers are predictable: compression increases rate of useful data