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