Transcript Agenda
IP : Internet Protocols
Agenda
•
•
•
•
•
IP functions
IP header format
IP routing
Fragmentation
IPng’s overview
Connectionless Delivery System
Most fundamental internet service consists of
a packet delivery system
Service is defined as
Unreliable
Best-effort
Connectionless
Purpose Of Internet Protocol
Protocol that defines the unreliable,
connectionless delivery mechanism is called
Internet Protocol and usually called IP
IP has 3 important definitions
Basic unit of data transfer used throughout a
TCP/IP internet
IP software perform the routing function
Including a set of rule that embody the idea of
unreliable packet delivery
IP layer
defines a single virtual network on top of
different kinds of hardware platform using IP
address
functions of IP
route packet
fragmentation
handle type of services
send and receive error and control
message using ICMP
IP attributes
handle data unit called IP datagrams
connectionless protocol - doesn’t promise
reliable delivery
best effort delivery
packets may be lost, out out sequence, or
duplicated due to various reasons
IP encapsulation
with Ethernet frame
IP datagrams
Ethernet hdr
IP header
data
IP reframing
• IP will reframe the packet when A send data to B
IP
158.108.33.1
MAC 0:0:c:6:13:4a
MAC dest
MAC src
type
IP source
IP dest
IP
158.108.2.1
MAC 0:0:c:6:12:40
0:0:c:6:13:4a
0:0:e8:15:cc:c
0x800
158.108.33.4
158.108.2.71
MAC dest
MAC src
type
IP source
IP dest
packet to router
A
IP
158.108.33.4
MAC 0:0:e8:15:cc:c
B
0:0:33:10:a:c
0:0:c:6:12:40
0x800
158.108.33.4
158.108.2.71
packet from router
IP
158.108.2.71
MAC 0:0:33:10:a:c
Change MAC address, IP address be the same
IP datagrams
0
15 16
vers:4 hlen:4
TOS:8
total length:16
identification:16
20
bytes
time to live:8
31
flags:3
protocol:8
frag offset:13
header checksum :16
source address :32
destination address :32
options and padding :32
data
:
IP header details (1)
• vers - version = 4
• hlen - header length in 32-bit words,
– with no options, hlen = 5 = 20 bytes
• TOS - type of service, desired quality of
services
0
1
Prec.
bits
0-2
3
4
5
6-7
2
3
4
5
6
7
D
T R 0
0
if 0
if 1
Precedence
Normal delay
Low delay
Normal throughput High throughput
Normal Reliability
High reliability
Reserved
IP header details (2)
Total length - length of datagrams (incl. header),
max datagrams is 64K
identification, flags, fragmentation - use to
segmentation and reassembly packet
TTL - Time to live, defining max number of routers
through which the datagrams may pass (hop
count)
ttl-- decrease each router it passes a router
normally set to 30
if ttl == 0 discard and send ICMP TTL exceeded to source IP (prevent
looping)
IP header details (3)
Protocol - higher-level protocol that provides data
1 = datagrams carries an ICMP messages
6 = datagrams carries an TCP segments
17 = datagrams carries an UDP datagrams
header checksum - 16 bit one’s compliment, note
that there is no data checksum
source address - 32 bit IP source address
destination address - 32 bit IP destination
address
option and padding - additional info to control
functions such as routing and security
Routing
routing is a process of choosing a path over
which to send datagrams
IP routes packet by looking at the IP network
number
routing components
determine what path are available
selecting the best path for a particular purpose
using those paths to reach other networks
devices which perform routing are routers
(historically call IP gateways)
Routing Table
Every router contains a routing table of the
network numbers
The table records
which connection can be used to reach a
particular network
plus some indication of the performance or
cost of using connection
Routing Table form
• Routing Table form
– <network, gateways, others>
% netstat -rn
Destination
Gateway
Genmask
Flags MSS Window irtt Iface
158.108.32.0 0.0.0.0 255.255.255.192 U 1500
127.0.0.0
0.0.0.0 255.0.0.0
U 3584
0.0.0.0
158.108.32.1 0.0.0.0
UG 1500
0
0
0
0 eth0
0 lo
0 e
How to create routing table
IP does not create routing table by itself
Normal 3 ways to create routing table
static route - by hand
% route add 158.108.20.0 158.108.33.1
dynamic routes - via routing protocol
via ICMP redirect
Routing Protocol
Routing protocol manages and updates
routing table on each network node
often implemented in UNIX using one of the
two daemons:
routed : basic routing daemon for interior
routing, normally with RIP
gated : sophisticated daemon for interior
and exterior routing, with additional protocol
such as OSPF, BGP
MTU revisited for fragmentation
The upper limit number of data byte in data
link frame is call MTU (Maximum Transfer
Unit)
Typical MTU (bytes)
FDDI : 4325
Ethernet : 1500
802.3 : 1492
Point-to-Point : 296
If #bytes of datagrams to send>link layer’s
MTU, IP breaks the datagrams up into smaller
pieces (fragmentation)
Fragmentation
fragmentation = processed used by IP to
reduced size of datagram that are too big for
link connection MTU e.g. fragment 2000
bytes to Ethernet (MTU=1500)
fragments should be reassembled at the final
destination (expensive process)
How ?
each fragment has its own header
each fragment carries the same 16 bit identification number
Each fragment must be aligned with an eight-octet boundary
Fragmentation flag
Identification number
16 bits integer value used to identify all fragments
This id is not a sequence number!
flags - 3 bits control fragmentation
0= may fragment
1= don’t fragment
reserve,
must be 0
R
0= last fragment
1= more fragments
DF
MF
fragment offset - indicate the distance of fragment data from
the start of the original datagram, measure in 8 octets unit
Fragmentation sample
other header
original
ident flags offset
…….
232
0
0..2000
20 bytes
20 bytes
Ethernet
with MTU ... 111 1
of 1500
0
data
0
0..1479
... 111 0 185 1480..2000
identification number
more fragment
post 0
last fragment
post 185*8=1480
Problem in fragmentation
The end node has no way of knowing how many
fragments there be. It has to manage enough
buffer space to handle reassembly process.
If any fragments lost, all datagram must be
discarded
End node starts a timer when received the first
fragment, if any fragments fails to arrive (usually
30 secs), all datagrams must be discarded
Since the IP service is connection's. No attempt is
made by IP to recover these situations, though
ICMP error message may be generated
Path MTU
Path MTU : the smallest MTU of data link
between two distance hosts
Need not to be constant because routing
mechanism
Avoid fragmentation by discover PATH MTU
(RFC1191)
Use ICMP to determine PATH MTU
Avoiding fragmentation
For datagrams within the same physical network,
the MTU is known. TCP/UDP then use the MTU
to limit the message size pass to IP; messages
will never be fragmented.
For datagrams passed to diff net, not easy to
know the MTU!
standard recommends that all networks
supporting TCP/IP have an MTU of at least 576
bytes
512 bytes data+20 bytes TCP hdr + 20 bytes IP hdr with
options
TO GUARANTEED THAT A PACKET OF 576 BYTES OR
LESS IS NEVER FRAGMENTED
IPng
Problem of current IP address : limitation of 32
bit address space
1990 : IETF defined a new version of IP,
generally called IP Next Generation or IPng
Spring 1992 : IAB issues IPv7, proposed the OSI
CLNP (connectionless Network Protocol) as the
basis of IPv7. Finally rejected by IETF and
working groups
IPV6
End 1992: 7 proposals for IPng
CNAT, IP Encaps, Nimrod, Simple CLNP, P Internet
Protocol, SIP, and TP/IX
resolution to 3 possibilities :
SIP+ TP/IX => TUBA (TCP and UDP with bigger
Address: RFC 1347)
TP/IX => CATNIP (Common Architecture for the Next
Generation Internet Protocol :RFC1707)
SIP+IP encaps+PIP=> SIPP (Simple Internet Protocol
Plus: RFC1710)
Mid 1994 : SIPP was chosen, known as IP
version 6 (IPv6)
IPv6 Header
0
15 16
vers:4
40
bytes
31
flow lable:28
payload length:16
next hdr:8
hop limit:8
destination address :128
source address :128
40 bytes fixed length header, no checksum, options are
replace by additional extension header
IPV6 address representation
16 bits eight hexadecimal value e.g.
4210:30:127F:9111:7801:DA0A:3232:44
5510:0:0:0:0:0:0:44 or 5510::44
Address with mixed environment of v4 and
v6
x:x:x:x:x:x:d.d.d.d
e.g. 0:0:0:0:0:0.158.108.2.71
IPV6 key advantages
16 bytes fix length IP address support
~1000 million networks
IPv4 compatibility
self-configuration of workstations
support mobile workstations
improved security features