IPv6 - Department of Computer Engineering
Download
Report
Transcript IPv6 - Department of Computer Engineering
IP version 6
Asst. Prof. Chaiporn Jaikaeo, Ph.D.
[email protected]
http://www.cpe.ku.ac.th/~cpj
Computer Engineering Department
Kasetsart University, Bangkok, Thailand
Adapted from the notes by Lami Kaya and lecture slides from Anan Phonphoem
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
© The McGraw-Hill Companies, Inc.
What is wrong with IPv4 ?
Internet growth
New applications – Real time app.
Network Changes
Need for corporations
2
Internet Growth
3
IP Address Allocation
IANA RIRs ISPs
IANA – Internet Assigned Numbers Authority
RIR – Regional Internet Registrar
Source: wikipedia.org
4
Number of Free /8s
Source: wikipedia.org
5
NAT to the Rescue…
Or not?
The Internet
ISP
61.100.0.0/16
61.100.32.0/25
R
..
..3 ..4
61.100.32.1
61.100.32.128
NAT
10.0.0.1..2 ..3 ..4
6
The NAT “Problem”
NAT breaks end-to-end connectivity model
Complicate communication between hosts
Internet
NAT
61.100.32.128
10.0.0.1
?
7
Rationale for IPv6
IPv4 address space consumption
Last blocks have already been allocated
Unused addresses reclaimed
Loss of “end to end” connectivity
Widespread use of NAT due to ISP policies and marketing
Additional complexity and performance degradation
8
Needs for IPv6
http://www.theregister.co.uk/2014/04/24/ipv6_iot/
9
IPv6 Feature Summary
Increased size of address space
Header simplification
Extended Address Hierarchy
Auto-configuration / Renumbering
Quality of Services (QoS)
IPSec (As for IPv4)
10
IPv6 Addressing Model
Unicast
single interface
Anycast
any one (among many)
same location
replicate services (servers)
Multicast
all of a group of interfaces
replaces IPv4 “broadcast”
See RFC 3513
11
IPv4 vs. IPv6 Addresses
IPv4: 32 bits
• 232 addresses
= 4,294,967,296 addresses
= 4 billion addresses
IPv6: 128 bits
• 2128 addresses?
= 340,282,366,920,938,463,463,374,607,431,770,000,000
= 340 billion billion billion billion addresses?
• No, due to IPv6 address structure…
12
IPv6 Address Presentation
128 bits
2001:0DA8:E800:0000:0260:3EFF:FE47:0001
8 groups of 4 hexadecimal digits
Each group represents 16 bits
Separator is “:”
Case-independent
13
IPv6 Address Presentation
2001:0DA8:E800:0000:0260:3EFF:FE47:0001
2001:DA8:E800:0:260:3EFF:FE47:1
2001:0DA8:E800:0000:0000:0000:0000:0001
2001:DA8:E800::1
14
Special Addresses
Unspecified address
0:0:0:0:0:0:0:0 ::
Source add. (when own add. is unknown)
Loopback address
0:0:0:0:0:0:0:1 ::1
For testing
Datagram is delivered to local machine
15
Unicast Address Scopes
Global scope
Start with 001
(binary)
001
Prefix provided by
service provider
48
Interface ID
16
64
Link-local scope
Only used within directly attached network
Belonging to FE80::/10 block
0 (54 bits)
Interface ID (64 bits)
1111 1110 10
10 bits
96 db c9 FF FE 00 16 fe
xxxxxxUx
U = 0: not unique
U = 1: unique
16
Subnet ID
94 db c9 00 16 fe
Unicast Address Scopes
Loopback address (::1/128) also has linklocal scope
Tied to the host’s loopback interface
17
Multicast Address Format
Multicast addresses define groups of
receivers
Similar to IPv4’s class D addresses
8 bits
4
4
112 bits
1111 1111
flag
scope
Group ID
18
IPv6 header
IPv6 header is simpler than IPv4
Header fields eliminated in IPv6
IPv4: 14 fields, variable length (20 bytes +)
IPv6: 8 fields, fixed length (40 bytes)
Header Length
Identification
Flag
Fragmentation Offset
Checksum
Header fields enhanced in IPv6
Traffic Class
Flow Label
19
Basic Headers
IPv4
IPv6
20
Structure of Datagram
Base Header
TCP/UDP
Data
Base Header is fixed
Extensions
40 Octets long
Options are in an extension header
Several extension headers
21
Basic Headers (Fields)
Version (4 bits) – only field to keep same position and
name
Class (8 bits) – new field
Flow Label (20 bits) – new field
Payload Length (16 bits) – length of data, slightly
different from total length
Next Header (8 bits) – type of the next header, new
idea
Hop Limit (8 bits) – was time-to-live, renamed
Source address (128 bits)
Destination address (128 bits)
22
Header Simplification
Fixed length of all fields, not like old options field –
IHL, or header length irrelevant
Remove Header Checksum – rely on checksums at
other layers
No hop-by-hop fragmentation – done at hosts
only (using Path MTU Discovery)
Add extension headers – next header type (sort of
a protocol type, or replacement for options)
Basic Principle: Routers along the way should do
minimal processing
23
Extension Headers Types
Routing Header
Fragmentation Header
Hop-by-Hop Options Header
Destinations Options Header
Authentication Header
Encrypted Security Payload Header
Base Header
Extensions
TCP/UDP
Data
24
IPv6 Extension Headers
Example 1: no extension header
Next header = 6 (TCP)
Example 2: with a routing header
Next header = 43 (routing)
25
TCP hdr + payload
Next header = 6 (TCP)
TCP hdr + payload
IPv6 Transition
Dual stack hosts
Two TCP/IP stacks co-exists on one host
Supporting IPv4 and IPv6
Client uses whichever protocol it wishes
26
IPv6 Transition
?
?
www.apnic.net
IPv4
Application
IPv6
TCP/UDP
IPv4
IPv6
Link
27
TCP/IP Protocol Stack
Application
Application
Transport
Transport
Network
Network
Network
Data Link
Data
Data
Data Link
Physical
Phy
Phy
Physical
28
IPv6 Transition
IPv6 tunnel over IPv4
IPv6
IPv4
Network
IPv6
tunnel
IPv4 Header
IPv6 Header Data
IPv6 Header Data
IPv6 Header Data
29