Fragmentation and IP Forwarding
Download
Report
Transcript Fragmentation and IP Forwarding
Discussion Monday (11-3-2014)
IP protocol version
number
header length
(bytes)
“type” of data
max number
remaining hops
(decremented at
each router)
upper layer protocol
to deliver payload to
how much overhead
with TCP?
20 bytes of TCP
20 bytes of IP
= 40 bytes + app
layer overhead
32 bits
ver head. type of
len service
length
fragment
16-bit identifier flgs
offset
time to upper
header
layer
live
checksum
total datagram
length (bytes)
for
fragmentation/
reassembly
32 bit source IP address
32 bit destination IP address
Options (if any)
data
(variable length,
typically a TCP
or UDP segment)
E.g. timestamp,
record route
taken, specify
list of routers
to visit.
network links have MTU
(max.transfer size) - largest
possible link-level frame.
different link types,
different MTUs
fragmentation:
in: one large datagram
out: 3 smaller datagrams
large IP datagram divided
(“fragmented”) within net
one datagram becomes
several datagrams
“reassembled” only at final
destination
IP header bits used to
identify, order related
fragments
reassembly
Example
4000 byte
datagram
MTU = 1500 bytes
length ID
=4000 =x
MF
=0
offset
=0
One large datagram becomes
several smaller datagrams
1480 bytes in
data field
offset =
1480
length =
3980(total data)-1480-1480+20(Header)
offset =
1480+1480
length ID
=1500 =x
MF
=1
offset
=0
length ID
=1500 =x
MF
=1
offset
=1480
length ID
=1040 =x
MF
=0
offset
=2960
Classless Inter-Domain Routing (1993)
Networks described by variable-length prefix
Allows arbitrary allocation between network and host address
Forwarding table contains:
List of network names and next hop routers
Local networks have entries specifying which interface
Link-local hosts can be delivered with Layer-2 forwarding
Longest prefix matching
IP Address
Netmask
Next hop
Interface
0.0.0.0/0
0.0.0.0
5.10.1.1
eth0
12.1.0.0/16
255.255.0.0
12.1.0.1
eth1
12.1.1.0/24
255.255.255.0
12.1.1.1
eth2
12.1.1.200/32
255.255.255.255 12.1.1.200
What is the longest prefix matching for:
1. 12.1.1.200
----
2. 12.1.0.20
----
3. 128.12.92.53 ----
eth3
Consider sending a 2100 byte datagram over a link with MTU of 700 bytes. How many
fragments will be generated ?
IP forwarding. Consider the network diagram below. Each router (a square in the figure) is
labeled with the names of its interfaces (e.g., eth0) and the IP addresses assigned to each. Each
network (a circle) is labeled with its network name and prefix length.
A
192.168.128/17
B
192.168.128.1
192.168.16.1
eth0
10.0.1.2
eth3
R1
192.168.16/21
eth0
10.0.2.2
eth1
eth3
10.0.2.1
eth2
R2
eth1
192.168.8.1
C
eth2
192.168.7.2
10.0.3.1
192.168.8/22
10.0.3.2
eth0
D
192.168.7.1
eth3
R3
eth1
192.168.4.1
E
eth2
192.168.6.1
192.168.7/24
F
192.168.6/24
192.168.4/23
Continued
The machine I’m typing this on has an IP address 192.168.9.12. To which of the
networks above am I connected? What is the subnet mask my machine should use?
What is the most concise CIDR block R2 can use to describe the networks
reachable through R3?
Suppose R1 and R3 contain the following forwarding tables, on the next slide:
What path would a packet from my machine follow to a host on network F? Explain
how the packet is forwarded by showing the rows in each forwarding table that
would be invoked. If the packet is forwarded by R2, please list the forwarding table
entries in R2’s table that would be used.?