IP Fragmentation

Download Report

Transcript IP Fragmentation

IP Fragmentation
Network layer
• transport segment from
sending to receiving host
• on sending side
encapsulates segments
into datagrams
• on rcving side, delivers
segments to transport
layer
• network layer protocols in
every host, router
• router examines header
fields in all IP datagrams
passing through it
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
network
data link
data link
physical
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
What is IP Fragmentation
• Large IP datagram divided (“fragmented”) within
net.
• But why ?
• After fragmentation, IP packet need Reassembly.
• Who can Fragment ?
• Who can Reassemble ?
Table 8.5 MTUs for some networks
IP Fragmentation & Reassembly
• network links have MTU
(max.transfer size) - largest
possible link-level frame.
– different link types,
different MTUs
• 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
fragmentation:
in: one large datagram
out: 3 smaller datagrams
reassembly
IP datagram format
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
head. type of
length
ver
len service
fragment
16-bit identifier flgs
offset
upper
time to
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.
How to Fragment/Reassembly
Example
• 4000 byte
datagram
• MTU = 1500
bytes
1480 bytes in
data field
offset =
1480/8
length ID fragflag offset
=4000 =x
=0
=0
One large datagram becomes
several smaller datagrams
length ID fragflag offset
=1500 =x
=1
=0
length ID fragflag offset
=1500 =x
=1
=185
length ID fragflag offset
=1040 =x
=0
=370
Figure 8.7
Flags field
Figure 8.8
Fragmentation example
Figure 8.9
Detailed fragmentation example
Proof in Qualnet
Similar to TCP 3 Ways Handshake
Change Telnet to CBR
Items to send: 10
Item Size: 3972
MTU: 1500