bgp, ipv6, ietf - bgpexpert.combgpexpert.com/presentations/nivo17mei2016ivb.pdf · bgp, ipv6, ietf...

Post on 16-Mar-2018

214 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

BGP, IPv6, IETF

NivoWeesp

17 mei 2016Iljitsch van Beijnum

1996

2002

2002

Internet exchange

GROTE ETHERNET SWITCH

AS 789 7.8.9.0/24

AS 1011 10.11.0.0/16

AS 1231.2.3.0/24

AS 456 4.5.6.0/24

1.2.3.0/24 123 4.5.6.0/24

AS 456 4.5.6.0/24

1.2.3.0/24 4.5.6.0/24 456

AS 1231.2.3.0/24

IX peering

GROTE ETHERNET SWITCH

AS 789 7.8.9.0/24

AS 1011

AS 456

AS 123

10.11.0.0/16

IX peering (2)

GROTE ETHERNET SWITCH

AS 7891.2.3.0/24 123 4.5.6.0/24 456 7.8.9.0/24 10.11.0.0/16 1011

AS 1011 7.8.9.0/24 789 10.11.0.0/16

AS 1231.2.3.0/24 4.5.6.0/24 456 7.8.9.0/24 789

AS 4561.2.3.0/24 123 4.5.6.0/24 7.8.9.0/24 789

GROTE ETHERNET SWITCH

AS 789 7.8.9.0/24

AS 1011 10.11.0.0/16

AS 1231.2.3.0/24

AS 456 4.5.6.0/24

Route server

1.2.3.0/24 25 123 4.5.6.0/24 25 456 7.8.9.0/24 10.11.0.0/16 25 1011

1.2.3.0/24 25 123 4.5.6.0/24 25 456 7.8.9.0/24 25 789 10.11.0.0/16

1.2.3.0/24 4.5.6.0/24 25 456 7.8.9.0/24 25 789 10.11.0.0/16 25 1011

1.2.3.0/24 25 123 4.5.6.0/24 7.8.9.0/24 25 789 10.11.0.0/16 25 1011

AS 25 (RS)1.2.3.0/24 123 4.5.6.0/24 456 7.8.9.0/24 789 10.11.0.0/16 1011

Route reflectorR4

R3

R5R6

R2R1

RR

Publ

ieke

pee

ring

Net

flix

Koppelnet Publieke Sector

Groei BGP-tabel

AS 3 (16-bit)

AS16: 2 23456 AS32: 2 100000

AS 2 (32-bit)

AS16: 23456 AS32: 100000

AS 4 (32-bit)

AS16: 3 2 23456 AS32: 2 100000

AS 100000 (32-bit)

AS16: AS32: 100000

23456

32-bit AS-nummers

2 2 3

3

BGP-ontwikkelingen

• We draaien al > 20 jaar BGP-4

• zelfs IPv6 over BGP-4 ook al is BGP-4 ouder dan IPv6!

• Actueel: beveiliging

• RPKI

• BGPSEC

IPv6

Status IPv4Feb 2011

Apr 2011: final /8

Sep 2012: final /8

Jun 2014: final /10

July 2015: waitlist

IPX

MAC Address

IPXAddress

MAC Address

=

=

Host PartNetwork Part(assigned by router broadcasts)

AppleTalk

AppleTalk Address

MAC Address

ARP

Host Part(random)

Network Part(router broadcasts)

DECnet Phase IV

DECnet Phase IV Address

MAC Address

=

Host PartNetwork Part

(manually configured)

fixed value

CLNP

OSI NSAP(CLNP Address)

MAC Address

=Host Part

Network Part(router broadcasts)

IP(v4)

IP Address

MAC Address

ARP

Host PartNetwork Part

Manual Configuration or DHCP

IPv6

Host PartNetwork Part

(router broadcasts)

ModifiedEUI-64

IPv6 Address

MAC Address

ND

DAD

(also manual configuration or DHCPv6)

IPv6 adresconfiguratie

• Vanaf het begin: stateless autoconfig: router advertisement + MAC-adres

• Later: privacy-adressen: router advertisement + willekeurig nummer

• (Nog later: router advertisement + hash over public key)

• Veel later: DHCPv6

RA flags and DHCPv6M O Prfx A Result0 0 - default gw but no address0 0 yes 0 default gw but no address0 0 yes 1 working IPv6 but no DNS0 1 - default gw + DNS but no address0 1 yes 0 default gw + DNS but no address0 1 yes 1 working IPv61 0 - address+DNS, no subnet length (may not work)1 0 yes 0 working IPv61 0 yes 1 working IPv6, 2 addresses1 1 - address+DNS, no subnet length (may not work)1 1 yes 0 working IPv61 1 yes 1 working IPv6, 2 addresses

WTF?

Router advertisements??

Geen NAT??

Aaargghh!

Communicatie tussen router- en

servermensen??

Zonder NAT kan iedereen m'n adres

zien!

Als hosts hun eigen adres maken weet ik niet wie

achter welk adres zit!

NAT breekt veel protocollen!

End-to-end is beter

Geen default gateway in DHCPv6: fate sharing(veel minder kans op

fouten)

illustraties door Nitrozac

Address notation• Zero compression for one contiguous range of zeros:

• 2001:db8:31:0:0:0:0:1 → 2001:db8:31::1• 2001:db8:0:0:ff:0:0:1 → 2001:db8::ff:0:0:1 or

2001:db8:0:0:ff::1, not 2001:db8::ff::1• Localhost: 0:0:0:0:0:0:0:1 → ::1• Unspecified address: 0:0:0:0:0:0:0:0 → ::

Online tools

• RADB whois: http://www.radb.net/query/• RIPE whois: http://apps.db.ripe.net/search/query.html• ARIN whois: http://whois.arin.net/ui/advanced.jsp• IEEE OUI: http://standards.ieee.org/develop/regauth/

oui/public.html• Calculators:

• http://kloth.net/services/ • http://grox.net/utils/ipv6.php • http://www.ipuptime.net/ipCalc.aspx

bit 1270010 0000 0000 0001 0000 1101 1011 1000 0000 0000 0011 0001 1101 1110 1010 1101 1011 1110 1110 1111 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

2 0 0 1 0 d b 8 0 0 3 1 d e a d b e e f 1 2 3 4 5 6 7 8 9 a b c

1111 1101 0010 1101 1100 1111 0110 1010 0110 0000 0010 0010

f d 2 d c f 6 a 6 0 2 2

Unique site-local (ULA): fc00::/7

1111 1110 1100

f e c

Old site-local: fec0::/10 (deprecated)

1111 1110 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0

Link-local: fe80::/10

bit 0

0010 0000 0000 0001 0000 0000 0000 0000 1100 0000 0000 0000 0000 0010 1010 1101 1000 0000 0000 0000 0011 0010 0001 0000 0011 0101 0010 0110 0011 1111 1001 0111

2 0 0 1 0 0 0 0 c 0 0 0 0 2 a d 8 0 0 0 3 2 1 0 3 5 2 6 3 f 9 7

0010 0000 0000 0010 1100 0000 0000 0000 0000 0010 0011 0001

2 0 0 2 c 0 0 0 0 2 3 1

0010

2

1111 1111

f f

Multicast: ff00::/8

Global unicast: 2000::/3

6to4 tunneling: 2002::/16 + IPv4 address

Teredo tunneling: 2001:0::/32 + IPv4/flags/port/IPv4

0000 0000 0110 0100 1111 1111 1001 1011 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1100 0000 0000 0000 0000 0010 1011 1100

0 0 6 4 f f 9 b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 0 0 0 2 b c

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1111 1111 1111 1111 1100 0000 0000 0000 0000 0010 1011 1100

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f f f f c 0 0 0 0 2 b c

1011 1110 1110 1111 0001 0010 1111 1111 1111 1110 0111 1000 1001 1010 1011 1100

b e e f 1 2 f f f e 7 8 9 a b c

MAC address

IPv4-mapped: ::ffff:0:0/96 + IPv4 (not on the wire!)

NAT64 well-known: 64:ff9b::/96 + IPv4

1011 1100 1110 1111 0001 0010 0111 1000 1001 1010 1011 1100

b d e f 1 2 7 8 9 a b c

Interface identifier

IPv6 capabilitiesOS Autoconfig DHCPv6 Tunnels RA RDNSS

Windows XP yes no 6to4/Teredo no

Windows Vista yes yes 6to4/Teredo no

Windows 7 yes yes 6to4/Teredo no

Mac OS 10.6 yes no 6to4 no

Mac OS 10.7 yes yes 6to4 yes

iOS 4.3 yes yes no yes ?

FreeBSD yes yes 6to4* no

Linux yes yes 6to4* no

IPv6 defaultsOS Link local Autoconfig DHCPv6 Tunnels

Windows XP no no no no

Windows Vista yes yes yes 6to4/Teredo

Windows 7 yes yes yes 6to4/Teredo

Mac OS 10.6 yes yes no no

Mac OS 10.7 yes yes yes no

iOS 4.3 yes yes yes no

FreeBSD yes depends depends no

Linux yes depends depends no

IPv6 Address SpaceFirst Bits Prefix Purpose

000 ::/3 Special uses

001 2000::/3 Global unicast

01 - 1111 1011 4000::/2 - fb00::/8 Reserved

1111 1100 fc00::/8 Unique site local

1111 1110 10 fe80::/10 Link local

1111 1110 11 fec0::/10 Old site local

1111 1111 ff00::/8 Multicast

IPv6 cheat sheet

World IPv6 Launch — June 6, 2012"the future is forever"

http://www.worldipv6launch.org/

Transition: dual stack

IPv4 dual stack IPv6

YOU ARE HERE

Transition: translation

IPv4 dual stack IPv6

Tran

slato

r

Tran

slato

r

NAT64Internet Engineering Task Force (IETF) M. BagnuloRequest for Comments: 6146 UC3MCategory: Standards Track P. MatthewsISSN: 2070-1721 Alcatel-Lucent I. van Beijnum IMDEA Networks April 2011

Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers

Abstract

This document describes stateful NAT64 translation, which allows IPv6-only clients to contact IPv4 servers using unicast UDP, TCP, or ICMP. One or more public IPv4 addresses assigned to a NAT64 translator are shared among several IPv6-only clients. When stateful NAT64 is used in conjunction with DNS64, no changes are usually required in the IPv6 client or the IPv4 server.

Terminologie:

• NATXY: NAT van X naar Y:

• NAT44: IPv4 → IPv4 (zoals thuis)

• NAT64: IPv6 → IPv4

• NAT46: IPv4 → IPv6

• NAT444: IPv4 → IPv4 → IPv4 (door ISP) ook: CGN, Carrier Grade NAT

• NAT66: IPv6 → IPv6...

Hoe werkt het?

DNS64

• Gewone DNS-server:

• V: IPv6 adres van example.com?

• A: bestaat niet

• DNS64:

• V: IPv6-adres van example.com?

• A: Pref64 + IPv4-adres

DNS64 (2)

• Pref64: een prefix die naar het NAT64-apparaat wijst

• gewoonlijk: 64:FF9B::/96

• dus 192.0.2.31 wordt 64:ff9b::c000:21f

De NAT64

• De Pref64 wordt naar de "translator" / converter gerouteerd

• Dus pakketten naar 64:ff9b::c000:21f gaan naar de NAT64

• NAT64 vertaalt IPv6 naar IPv4

• 64:ff9b::c000:21f →192.0.2.31

• NAT64 doet dan standaard IPv4 NAT

Beperkingen

• Werkt alleen:

• van IPv6 clients

• naar IPv4 servers

• Applicatie moet IPv6-compatible zijn

• (dus geen Skype!)

• Werkt niet met IPv4-adressen in URL

DS-Lite en 464XLAT

• DS-Lite:

• ISP (of bedrijfsnetwerk) runt IPv6, maar ook grote IPv4 NAT

• eindgebruikers sturen IPv4-pakketten die getunneld worden over IPv6, dan geNAT

• Dus compatible met IPv4-only apparaten/applicaties

• 464XLAT:

• zie DS-Lite maar pakketten worden in API onderschept

iljitsch@bgpexpert.com

top related