Transcript WB_IP-2
CS4550
Computer Networks II
IP : internet protocol,
part 2 : packet formats, routing, routing
tables, ICMP
read feit chapter 6
IP packet format
0
34
78
15 16
10
vers. HLEN pre.
TTL
total length
TOS
identification
flags
protocol
31
fragment offset
header checksum
source IP address
destination IP address
options, (if any)
DATA
IP packet - explanation
version
-- currently 4; next - 6.
HLEN - header length; 20 to 60 bytes.
total length - packet length in bytes.
precedence (3 bits) - designed for priority, but
no standard procedure for this; little used.
TOS - type of service
TTL - time to live (die). Standard specified
seconds, but in practice - router hops.
IP packet - explanation
ID
- numbers each datagram sent by a host. (
fragmentation/reassembly)
flags
- 3 bits. DF, don’t fragment; MF, more
fragments. (1st bit unused=0).
frag
offset - ( fragmentation/reassembly)
protocol
header
- indicates TCP, UDP, etc.
checksum - done on header only;
recomputed at each hop.
IP routing
routing
mechanism - the mechanics of routing;
simply, IP routs packets according to a routing
table, in memory.
routing policy - how the paths in the
networking are calculated- i.e., how the entries
in the table are determined. Two separate
procedures.
mechanism - differs slightly, depending on
whether in a host or a router; simpler for hosts.
IP routing
basic
IP routing mechanism:
given an IP DA (destination IP address),
1. search table for complete IP DA; if found, send to next
hop indicated.
2. search table for network ID; if found, send to next hop
indicated.
3. search for default entry; if found, send to next hop
indicated.
4. discard the packet.
IP routing : in a host
IP
(in host) receives packets to send from TCP,
UDP, ICMP, IGMP.
upon receipt of a packet to send, IP will
1. check mask (determine net/host parts).
2. if destination directly connected (point-to-point
link/ same subnet), then send packet to it.
3. otherwise, send packet to the default router (routing
table).
IP routing : in a host
fundamental difference : a host never forwards a
packet; IP packets received not for this host are
discarded.
note :
if sending to a host on same subnet (e.g. ethernet), the
MAC address corresponds to the IP DA;
if sending to default router, the MAC/hardware DA is
the router’s, while the IP DA is that of the final
destination.
IP routing : in a host
TCP, UDP, etc.
routing table
yes
get
next
hop
this IP DA
or
broadcast
packet?
input
queue
IP (host)
NW interface
no
bit bucket
IP routing : in routers
Same basic algorithm as stated, but :
routing
tables bigger, generally ;
more
overhead in maintaining routing tables,
exchanging information with other routers;
more
network interfaces, generally ; usually at
least 2 (hosts may have only 1)
forward
packets received onto other routers.
(fundamental difference)
IP routing : in routers
TCP, UDP, etc.
routing table
yes
get
next
hop
no
this IP DA
or
broadcast
packet?
input
queue
IP (router)
NW interfaces
IP routing tables
series
of entries(non standard) typically(F 8.1)
destination - IP address of distant location
(either network or host)
route mask - AND with packet destination to get
matching route destination
gateway(router) - IP address of router to send
the packet to
route metric - metric to use for shortest route
calculation, often hop count
interface - the outgoing interface for this route; (e.g.,
ethernet, a direct link, etc. )
Route Age - how many seconds since last update
ICMP : internet control message
protocol
required
& essential companion protocol to IP
purpose : to provide a tool for notifying routers
/ hosts of problems (e.g., router down, packet
discarded, etc.)
ICMP messages wrapped in IP packets with
protocol = 1
ICMP protocol specifies that messages
“should” or “may” be sent; doesn’t require
every error be reported
ICMP
sends
error messages to report problems on
internets, such as
destination unreachable
time exceeded ...{ dead packet :-) }
parameter problem (in IP header)
source quench (router/host is congested)
redirect (host sent a packet to wrong local
router)
ICMP
ICMP
message NOT sent when -- routing/delivering ICMP messages
for broadcast/multicast packets
datagram fragments except 1st
source address not unique (e.g., 0.0.0.0)
ICMP message contents
“destination unreachable” example
type
field (3)
code (some error information)
checksum
IP header and 1st 8 data bytes
other information according to the code field