Title: IP addressing and IPv6
1IP addressing and IPv6
2TCP/IP Protocol Suite
TCP
UDP
ICMP
IP
IGMP
ARP
RARP
Ethernet
3IP Packet Format
0
4
8
16
19
31
TOS
Length
V
ersion
HLen
Ident
Flags
Offset
TTL
Protocol
Checksum
SourceAddr
DestinationAddr
Pad
Options (variable)
(variable)
Data
4Fragmentation and Reassembly
5Addressing
- Ethernet address is flat.
- IP address is hierarchical.
7
24
(a)
Network
Host
0
14
16
(b)
Network
Host
1
0
21
8
(c)
Network
Host
1
1
0
6Datagram Forwarding in IP
For a router if (NetworkNum of destination
NetworkNum of one of my interface) then
deliver packet to destination over that
interface else if (NetworkNum of destination
is in my forwarding table) then deliver
packet to NextHop router else deliver
packet to default router For a host if
(NetworkNum of destination my NetworkNum) then
deliver packet to destination directly else
deliver packet to default router
7ICMP Features
- ICMP Used by IP to send error and control
messages - ICMP uses IP to send its messages
- ICMP does not report errors on ICMP messages.
- ICMP message are not required on datagram
checksum errors. (Some implementations still do)
8ICMP Message Format
9ICMP Message Types
- Type description
- 0 echo reply (ping)
- 3 destination unreachable
- source quench
- redirect
- 8 echo request (ping)
- 9 route advertisement
- 10 router discovery
- 11 TTL expired
- bad IP header
- timestamp request
- timestamp reply
- information request
- information reply
- address mask request
- address mask reply
10ICMP Messages
- Source Quench Please slow down! I just dropped
one of your datagrams. - Time Exceeded Time to live field in one of your
packets became zero. or Reassembly timer expired
at the destination. - Fragmentation Required Datagram was longer than
MTU and No Fragment bit was set. - Address Mask Request/Reply What is the subnet
mask on this net? Replied by Address mask agent
11Destination Unreachable
12Other ICMP Messages
- Redirect Please send to router X instead of me.
- 0 Redirect datagrams for the network
- 1 Redirect datagrams for the host
- 2 Redirect datagrams for the type of service
and net - 3 Redirect datagrams for the type of service
and host - Time Stamp Request/Reply
13IP version 6- IP Next Generation (IPng)
14Related RFCs
15IPng Considerations
- Addressing
- the two level structure of the IP address is
convenient but wasteful of address spaces. - it is general practice to assign a unique network
number to an IP network whether or not it is
actually connected to the Internet. - networks are proliferating rapidly.
- growth of TCP/IP usage in new areas will result
in a rapid growth in the demand for unique IP
addresses. - Performance
- reduced number of fields in the IPv6 packet
header - fixed length of header extension header
- disabling fragmentation
16IPng Considerations
- Network service
- should be possible to associate packets with
particular services classes flow label - Addressing flexibility
- anycast delivered to just one of a set of nodes
- multicast improved scalability by a scope filed
- Security capabilities
- providing authentication and privacy
17IPv6 Packet Header
0
4
12
16
24
31
V
ersion
T
rafficClass
FlowLabel
PayloadLen
NextHeader
HopLimit
SourceAddress
DestinationAddress
Next header/data
18Extension Headers
- Hop-by-hop options header
- defines special options that require hop-by-hop
processing - Routing header
- provides extended routing, similar to IPv4 source
routing - Authentication header
- provides packet integrity and authentication
- Encapsulating security payload header
- provides privacy
- Destination options header
- contains optional information to be examined by
the destination node
19Priority Field
- One bit for two classes
- congestion controlled traffic
- non-congestion controlled traffic
- Three bits for eight priorities in each class
20Flow Label
- a flow is a sequence of packets that
- are generated from a single application instance
from the sources point of view - share attributes which affect how they are
handled from the routers point of view - Rules for flow label
- hosts or routers that do not support the flow
label field must - set the field to zero when originating a packet
- pass the filed unchanged when forwarding a packet
- ignore the filed when receiving a packet
- all the packets with the same non-zero flow label
must have the same destination address, source
address, priority, hop-by-hop options header
contents and routing header contents. - the source assigns a flow label to a flow.
21Addressing
- 128 bit address space
- Address notation 47cd12344422ac0200221234a4
560123
125
m
n
o
p
p
o
n
m
3
SubscriberID
ProviderID
RegistryID
010
InterfaceID
SubnetID
22Address Prefix Assignment
23Multicast Address
112
4
4
8
11111111
Scope
Flags
Group ID
- flags field
- consists of three zeros followed by a T bit with
- T 0 to indicates a permanently assigned or
well-known multicast address, assigned by the
global internet numbering authority - T 1 to indicates a nunpermanently-assigned or
transient multicast address - Scope field to limit the scope of the multicast
group - 0reserved, 1node-local, 2link-local,
5site-local, 8organization-local, 14global
24Anycast
- Delivery method
- unicast one-to-one
- multicast one-to-many
- broadcast one-to-all
- anycast one-to-one-of-many
- Anycast address an address assigned to multiple
hosts - Restrictions
- do not use in the source address field
- only assign to routers but not hosts
- Applications of anycast
- server selection
- service location
25Challenges in Anycast
- Global routing
- anycast defeats the advantages of aggregated
routing - Global IP Anycast (GIA) has been proposed
- Supporting stateful connections
- anycast is naturally inappropriate for stateful
connection such as TCP - proposals
- use only stateless connection protocol such as
UDP - five-way handshake
- source id option
-
26Evaluating IPv6
- Test setup
- Two Intel Pentium III 500 Mhz PCs
- 100 Mbps PCI Ethernet adapter
- Both Windows 2000 Professional and Solaris 8.0
- Metrics
- throughput
- round-trip time
- CPU utilization
- socket-creation time
- TCP-connection time
- client-server interactions
27Throughput
28Latency
29Socket Creation and TCP Connection