IPv6 Foundations-Basic IPv6 Config -Live Session 1-20-09-24

Download as pdf or txt
Download as pdf or txt
You are on page 1of 89

Mukom Akong T.

| @perfexcellent
AGENDA
IPv4 Exhaustion
and its implications 1
2 IPv6 Address Basics
notation, shortening rules

IPv6 Address Types


LLA | GUA | ULA etc 3
4 Basic Configuration
hosts and routers
IPv6 vs IPv4
key functions comparison 5
6 Address Planning
ISPs, campuses, enterprises

Neighbor Discovery
and it’s applications 7
8 Provisioning
SLAAC, DHCPv6, DHCP-PD
Basic IPv6 Routing
static & OSPFv3 9
10 Transition Techniques
usage scenarios

11
Transition Techniques
dual stack, tunnels, NAT64

END
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
IPv4 EXHAUSTION
Timelines, Implications, Consequences
Central IPv4 pool as at 31.01.2011

Used

Free

Unusable

learn.afrinic.net | slide 9
Global IPv4 address distribution is unbalanced

Number of IPv4 addresses per person


learn.afrinic.net | slide 10
Exhaustion drives up address costs & NATs

Network complexity

$50
Increase in OPEX

/address
NAT Breaks end-to-end

Cripples innovation

learn.afrinic.net | slide 12
Implications for Africa: ‘Scramble for Africa’

▪ African networks deprived


of critical IPv4 needed to
facilitate transition to IPv6

▪ We are forced to deploy


greenfield IPv6

▪ Use of NAT increases


learn.afrinic.net | slide 13
How will you deal with IPv4 exhaustion?

Wait and see

Deploy IPv6 Deploy NAT on Steroids


IPv6 ADDRESSES
Notation, Format, Shortening Rules
IPv4 Exhaustion
and its implications 1
2 IPv6 Address Basics
notation, shortening rules

IPv6 Address Types


LLA | GUA | ULA etc 3
4 IPv6 vs IPv4
key functions comparison
Recall: TCP/IP model (IPv4 – 32 bits)
APPLICATION
DNS HTTP IMAP SMTP POP NFS

TRANSPORT
TCP UDP

NETWORK
IPv4 ICMP IGMP IPSec NAT OSPF IS-IS mob. IP

DATA LINK
Ethernet et al NBMA ATM 3GPP
learn.afrinic.net | slide 19
TCP/IP model (IPv6 – 128 bits)
APPLICATION
DNS HTTP IMAP SMTP POP NFS

TRANSPORT
TCP UDP

NETWORK
IPv6 ICMPv6 MLD IPSec ND OSPFv3 IS-IS mob. IP

DATA LINK
Ethernet et al NBMA ATM 3GPP
learn.afrinic.net | slide 20
How to write IPv6 addresses (1/2)

0010000000000001 0100001010010000
0000000000010000 0000001001001001
1011101011101000 0101011011111111
1111111001001010 1110110011111110

128 bits
learn.afrinic.net | slide 21
How to write IPv6 addresses (2/2)
128 bits

32 nibbles

hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh/n
▪ h = hexadecimal digit (hexit) [0 – 9, a – f]
▪ n = prefix length: decimal value
learn.afrinic.net | slide 22
Full IPv6 address example
0010000000000001 0100001010010000 0000000000010000 0000001001001001

2001:4290:0010:0249:bae8:56ff:fe4a:ecfe

1011101011101000 0101011011111111 1111111001001010 1110110011111110

learn.afrinic.net | slide 23
Rules for shortening IPv6 addresses

1
The Zero Suppression rule

Strip off all LEADING zeroes

2 The Zero Compression rule

Replace CONTIGUOUS groups of zeroes with ‘::’

learn.afrinic.net | slide 24
Example: shortening an IPv6 address

2001:0000:0000:0249:0000:0000:0000:ecfe

Zero Compression Zero Suppression

2001::249:0:0:0:ecfe
learn.afrinic.net | slide 25
Example: shortening an IPv6 address

2001:0000:0000:0249:0000:0000:0000:ecfe

Zero Suppression Zero Compression

2001:0:0:249::ecfe
learn.afrinic.net | slide 26
WRONG! IPv6 address shortening

2001:0000:0000:0249:0000:0000:0000:ecfe

The Zero Compression rule The Zero Compression rule

2001::249::ecfe
learn.afrinic.net | slide 27
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
Questions?
IPv6 ADDRESS TYPES
Types, Structure, Scope
IPv4 Exhaustion
and its implications 1
2 IPv6 Address Basics
notation, shortening rules

IPv6 Address Types


LLA | GUA | ULA etc 3
4 Basic Configuration
hosts and routers
There’re 3 types of IPv6 addresses
1:1 1:n 1:closest
Unicast Multicast Anycast
Rx
Tx Tx

Tx

Rx Rx Rx Rx Rx Rx

No broadcast addresses (or communications) in IPv6


learn.afrinic.net | slide 38
And address has scope = extent of uniqueness
Global scope Link-local scope

Within a scope, an address can be used as a unique ID for


an interface
learn.afrinic.net | slide 39
Global unicast addresses (GUA)

‘Network’ portion ‘Host’ portion

n bits 64 - n bits 64 bits

001 Global Routing Prefix SubnetID InterfaceID

2000::/3
Ex: 2001:4290:10:249:bae8:56ff:fe4a:ecfe
learn.afrinic.net | slide 40
Link-local addresses (LLA)

10 bits 54 bits 64 bits

1111111010 0 InterfaceID

fe80

Ex: fe80:0000:0000:0000:bae8:56ff:fe4a:ecfe
learn.afrinic.net | slide 41
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
Link-local reachability and scopeID

fe80::1 fe80::3
fe80::1a fe80::1b
Fe 0/0 Fe 0/1
fe80::2 fe80::4

ping fe80::1
▪ Which interface does the router send out the packet?
▪ You must additionally specify the egress interface
learn.afrinic.net | slide 46
Resolving LLA ambiguity with zoneIDs

Identifies address scope


Automatically generated by OS
Typically a +ve integer or interface name

fe80::hhhh:hhhh:hhhh:hhhh%zoneID
▪ E.g on Mac OS X: fe80::bae8:56ff:fe4a:ecfe%en0
▪ E.g on Windows: fe80::bae8:56ff:fe4a:ecfe%10
learn.afrinic.net | slide 47
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
Unique Local Addresses (ULA)

8 bits 56 bits 64 bits

1111 110L 0 InterfaceID

fc00::/7

L=0 fd00::/8 L=1


Unassigned Free use self assignment
learn.afrinic.net | slide 54
Generating the InterfaceID (IID)

‘Network’ portion ‘Host’ portion

64 bits 64 bits

Network Prefix InterfaceID

Static (manual) EUI-64 cryptographically Pseudo-random

Servers
Router interfaces Automatically configured hosts
learn.afrinic.net | slide 57
Reserved InterfaceIDs (RFC 5453)

0000:0000:0000:0000 Subnet router anycast


FDFF:FFFF:FFFF:FF80
Subnet anycast
FDFF:FFFF:FFFF:FFFF

learn.afrinic.net | slide 60
How EUI-64 interfaceIDs are generated
00 90 27 17 FC 0F Start with MAC address (48 bits)

00 90 27 FF FE 17 FC 0F Expand it to 64 bits (add “fffe”)

Set U/L bit


0000 00X0 X = 0 for unique MAC
X = 1 for non-unique MAC

02 90 27 FF FE 17 FC 0F Voila! your InterfaceID


learn.afrinic.net | slide 61
Important well-known addresses
• Unspecified address

:: •


Means host doesn’t have an IPv6 address
Never used as destination address
Link-local scope

::/0 • All IPv6 addresses

::1 • IPv6 loopback address


• Must never be forwarded outside the node
learn.afrinic.net | slide 64
Anycast addresses

▪ Same unicast address assigned to multiple interfaces (yellow)


▪ Anycast packets are delivered to topologically closest one
learn.afrinic.net | slide 66
Multicast addresses
ID of the multicast group within given scope
Prefix of unicast subnet which owns this address

4 4
8 bits bits bits 8 bits 8 bits 64 bits 32 bits

11111111 flags scope reserved p-len network prefix groupID

Number of bits in “network prefix” field


ff
All multicast addresses are in the range ff00::/8
learn.afrinic.net | slide 67
Well-known multicast scopes
4
bits

b b b b Bits Hex Scope


0001 1 Interface-local
0010 2 Link-local
0100 4 Admin-local
0101 5 Site-local
1000 8 Organization-local
1110 e Global
learn.afrinic.net | slide 69
Example: groupID with different scopes

If ‘NTP servers’ is assigned a permanent multicast group with ID = 101

FF01::101 All NTP servers on the same interface as sender


FF02::101 All NTP servers on the same link as sender
FF05::101 All NTP servers on the same site as sender
FF08::101 All NTP servers in same organization as sender
FF0E:101 All NTP servers on the Internet
learn.afrinic.net | slide 71
Some well-known multicast addresses

FF01::1 All IPv6 nodes on the local interface


FF02::1 All nodes on the local link
FF01::2 All IPv6 routers on the local interface
FF02::2 All IPv6 routers on the local link
FF05::2 All IPv6 routers on the local site

RFC 2375 has the complete list


learn.afrinic.net | slide 73
The Solicited-Node multicast address (SNMA)

learn.afrinic.net | slide 74
The Solicited-Node multicast address (SNMA)

hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh
24 bits

ff02::1:ffhh:hhhh/104
▪ Computed for each unicast/anycast address
▪ Different addresses with same lower 24 bits have same SNMA
learn.afrinic.net | slide 75
Example of a Solicited-Node multicast address

2000::01:800:200e:8c6c
24 bits

ff02::1:ff0e:8f6c/104
learn.afrinic.net | slide 76
Example of Solicited-Node multicast addresses
#show ipv6 interface g0/0
GigabitEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::CA9C:1DFF:FE6B:B6A0
Description: [Link to R1]
Global unicast address(es):
2001:43F8:90:C0::2, subnet is 2001:43F8:90:C0::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:2
FF02::1:FF6B:B6A0

learn.afrinic.net | slide 77
Mapping multicast to Ethernet addresses

ffhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh
32 bits

33-33-hh-hh-hh-hh
Multicast MAC address

learn.afrinic.net | slide 78
Multicast MAC address examples

ff02::1 33-33-00-00-00-01
ff02::2 33-33-00-00-00-02
ff02::1:ff3f:21ac 33-33-ff-3f-21-ac

learn.afrinic.net | slide 79
Questions?
Understanding

IPv6 from an IPv4


Perspective
Section Objectives
⫞ Describe the IPv6 header & how it differs from the IPv4
⫞ Identify the IPv6 equivalents of key IPv4 protocols
IPv6 vs IPv4
key functions comparison 5
6 Address Planning
ISPs, campuses, enterprises

Neighbor Discovery
and it’s applications 7
8 Provisioning
SLAAC, DHCPv6, DHCP-PD
The IPv6 packet structure
4 bits 8 bits 20 bits

Version Traffic Class Flow Label


Payload Length Next Header Hop Limit

Source Address 40
bytes

Destination Address

Next Header Variable


Extension Header Information
length
Data
learn.afrinic.net | slide 89
IPv6 extension headers

▪ Similar to IPv4 “Protocol” field


▪ Encode additional Internet-layer information
▪ Between base & upper-layer headers
▪ “Next Header” field holds unique value for each header

learn.afrinic.net | slide 90
IPv6 packet with no extension header

Version Traffic Class Flow Label


Payload Length Next Header = UL Hop Limit
40
Source Address bytes
Destination Address

Variable
Upper Layer (e.g. TCP, UDP, ICMPv6, OSPFv3, tunnel etc.) Header
length

Data

learn.afrinic.net | slide 91
IPv6 packet with extension headers
Version Traffic Class Flow Label
Payload Length Next Header = EH1 Hop Limit
40
Source Address bytes
Destination Address

Next Header = EH2


EH1 Header

Next Header = UL
EH2 Header

Upper Layer (e.g. TCP, UDP, ICMPv6, OSPFv3, tunnel etc) Header

Data
learn.afrinic.net | slide 92
List and order of IPv6 extension headers

Order Header Code Description


1 Base IPv6 header
2 Hop-by-hop options 0 Examined by all hosts in path
3 Destination options 60 Examined only by destination node

4 Routing 43 Specify the route for a datagram (mobile v6)

5 Fragment 44 Fragmentation parameters


6 Authentication (AH) 51 Verify packet authenticity
7 ESP 50 Encrypted data
8 Destination options 60 Examined only by destination node

learn.afrinic.net | slide 93
Packet header structure changes from IPv4

Version IHL Type of Service Total length

Identification Flags Fragment Offset

Time to Live Protocol Header Checksum

Source Address
Destination Address
Options Padding

Field eliminated from IPv6 Field removed from IPv6 base header
Field renamed in IPv6 header Field maintained
learn.afrinic.net | slide 96
IPv4 vs IPv6 key functionality comparison

IPv4 IPv6
Automatic configuration of hosts & CPEs
▪ DHCP ▪ DHCPv6
▪ Stateless Address configuration

Network to Link-layer Address Resolution


▪ ARP ▪ ICMPv6 (NS, NA)
▪ Broadcast ▪ Multicasts

learn.afrinic.net | slide 97
IPv4 vs IPv6 key functionality comparison

IPv4 IPv6
Domain name to address resolution
▪ DNS ▪ DNS
▪ A resource records ▪ AAAA resource records
▪ in-addr-arpa reverse zone ▪ ip6.arpa reverse zone
Joining a multicast group
▪ IGMPv1, IGMPv2, IGMPv3 ▪ MLDv1 and MLDv2
Default gateway auto-provisioning
▪ DHCP , IRD or Passive RIP ▪ RA (ICMPv6)

learn.afrinic.net | slide 98
IPv4 vs IPv6 key functionality comparison

IPv4 IPv6
Supported Open Dynamic Routing Protocols
▪ RIPv1 , RIPv2 ▪ RIPng
▪ OSPFv2, IS-IS ▪ OSPFv3 , IS-IS
▪ BGPv4 (IPv4 Address Family) ▪ BGPv4 (IPv6 Address Family)
Minimum Supported MTU size
▪ 576 bytes ▪ 1280 bytes
Supported Communication Modes
▪ Unicast, multicast, broadcast ▪ Unicast, multicast

learn.afrinic.net | slide 99
Mukom Akong T. | @perfexcellent
Mukom Akong T. | @perfexcellent
Questions?
Performing

Basic IPv6 Configuration


Section Objectives
⫞ Configure and verify IPv6 on Windows operating systems
⫞ Configure and verify IPv6 on Linux operating systems
⫞ Configure and verify IPv6 on the MAC OS X operating system
⫞ Configure and verify IPv6 on Cisco IOS
⫞ Configure and verify IPv6 on Junos
IPv4 Exhaustion
and its implications 1
2 IPv6 Address Basics
notation, shortening rules

IPv6 Address Types


LLA | GUA | ULA etc 3
4 Basic Configuration
hosts and routers
Most OSes have IPv6 enabled by default

http://j.mp/OSv6-support
learn.afrinic.net | slide 105
Host Configuration: Windows Vista/7

learn.afrinic.net | slide 106


Host configuration: Mac OS X

learn.afrinic.net | slide 107


Host configuration: Linux
(/etc/netplan)

network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp6: yes
addresses:
- <v6address>/<prefix>
nameservers:
addresses:
- <dns_resolver_1_v6_address>
- <dns_resolver_2_v6_address>
learn.afrinic.net | slide 109
Configuring basic IPv6 on Cisco IOS
Enable IPv6 on an Interface
(config)#ipv6 enable

Assign an IPv6 address with automatic interfaceID


#ipv6 address <prefix/length> eui-64

Assign a static IPv6 address


#ipv6 address <address/length> [link-local | anycast]

Enable IPv6 routing and CEF


(config)#ipv6 unicast-routing
(config)#ipv6 cef
learn.afrinic.net | slide 112
Configuring basic IPv6 on Junos

Enable IPv6 on an Interface


#edit interfaces <interfacename> unit <unit_no>
Assign an IPv6 address with automatic interfaceID
#set family inet6 address <prefix/prefix-length> eui-64
Assign a static IPv6 address
#set family inet6 address <ipv6address/prefix-length>

learn.afrinic.net | slide 114


Troubleshooting tools: Linux

Ping ping6 ping

Traceroute traceroute6 traceroute

Interface info ifconfig ifconfig

Route table netstat -A inet6 -rn netstat -A inet -rn

Neighbor table ip -6 neighbor show arp -an

learn.afrinic.net | slide 115


Troubleshooting tools: OS X & *BSD

Ping ping6 ping

Traceroute traceroute6 traceroute

Interface info ifconfig ifconfig

Route table netstat -f inet6 -rn netstat -f inet -rn

Neighbor table ndp -an arp -an


learn.afrinic.net | slide 116
Troubleshooting tools: Windows Vista & higher

Ping ping -6 ping -4

Traceroute tracert -6 tracert -4

Interface info ipconfig /all ipconfig /all


netsh interface ipv6 netsh interface ipv4
Route table
show route show route
netsh interface ipv6
Neighbor table arp -a
show neighbours
learn.afrinic.net | slide 117
Questions?
Mukom Akong T. | @perfexcellent

You might also like