Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network...

125
Network Virtualisation: The Killer App for IPv6? Mark Smith [email protected] Ausnog 2014

Transcript of Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network...

Page 1: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Network Virtualisation:The Killer App for IPv6?

Mark [email protected] 2014

Page 2: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Network Virtualisation

Page 3: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Network virtualisation, primarily in the data centre

Page 4: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

The networks being virtualised are links and corresponding IP subnets

Page 5: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

They are being virtualised over the top of a physical network

Page 6: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Physical Network

Virtual Network #1, 192.0.2.0/24

Virtual Network #2, 172.18.254.0/23

Virtual Network #3, 2001:db8:0:1234::/64

Page 7: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Virtualisation is achieved by tunnelling unicast, multicast and broadcast traffic over the top of a

'physical' IP network

Page 8: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Encapsulation Methods

Page 9: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

A number of encapsulation methods for network virtualisation have or are being

developed and deployed

Page 10: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

VXLAN

“VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks”

IETF RFC7348

with authors from:

Cumulus Networks, Arista, Broadcom, Cisco, VMware, Citrix, Red Hat

Page 11: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

NVGRE

“NVGRE: Network Virtualization using Generic Routing Encapsulation”

IETF ID: draft-sridharan-virtualization-nvgre

with authors from:

Microsoft, Arista, Intel, Google, Hewlett-Packard, Broadcom, Emulex

Page 12: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

STT

“A Stateless Transport Tunneling Protocol for Network Virtualization”

IETF ID: draft-davie-stt

with authors from:

Nicira Networks

Page 13: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

What's Common?

Header/header field used to carry virtual network identifier

Header/header field used to better facilitate traffic load balancing

Page 14: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Anything Else?

Page 15: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

“Use of VXLAN with IPv6 transport is detailed below.”

“Figure 2 VXLAN Frame Format with IPv6 Outer Header”

RFC7348

Page 16: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

“The outer IP header: Both IPv4 and IPv6 can be used as the delivery protocol for GRE. The IPv4

header is shown for illustrative purposes.”

draft-sridharan-virtualization-nvgre

Page 17: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

“The TCP segments shown in Figure 2 are of course further encapsulated as IP datagrams, and

may be sent as either IPv4 or IPv6.”

draft-davie-stt

Page 18: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 == IPv4?

Page 19: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 != IPv4!

Page 20: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Change may create

Opportunities

Page 21: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

I THINK THERE ARE AT LEAST

8IPV6 VN ENCAPSULATION OPPORTUNITES

Page 22: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

A Terminology Detour

Page 23: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IETF NVO3 Working Group

WG focussed on “Network Virtualization Over Layer 3”

Defining frameworks, terminology and methods

Page 24: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

NVO3 Terminology

Tenant System

Physical or logical device sending or receiving packets over a virtual network e.g., hosts or routers

Page 25: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

NVO3 Terminology

Tenant Packets

Frames or packets sent over a virtual network by Tenant Systems

Page 26: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

NVO3 Terminology

(IPv6) Underlay Network

Physical IPv6 network across which Tenant Packets are tunnelled

Page 27: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

NVO3 Terminology

Virtual Network Context ID

Identifier used to distinguish Tenant Packet virtual network membership when tunnelled across the IPv6 Underlay Network

Page 28: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

NVO3 Terminology

Network Virtualization Edge (NVE)

Device or function encapsulating or decapsulating virtual network traffic at edge of IPv6 Underlay Network

a.k.a. Tunnel End-Point

Page 29: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 VN Encapsulation Opportunities

Page 30: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Flow Labels for VNs

Page 31: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Flow Label

20 bits in size

Can hold 2^20 or 1 Million values

Page 32: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Flow Label

Intended to be used as one of the inputs into traffic load balancing e.g. ECMP, LAG

Page 33: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Flow Label

Page 34: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Flow Label

Alternative to UDP or TCP header as load balancing input

They may be hidden by IPsec or behind a number of IPv6 Extension Headers

Page 35: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity #1

Page 36: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

Copy whole or part of the Virtual Network Context ID into the Flow Label field

Page 37: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

The Virtual Network Context ID value will now be used as an input into IPv6 Underlay Network load balancing

Page 38: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

Don't need to add UDP header for load balancing purposes as VXLAN does, avoiding increasing tunnelling overhead

Page 39: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

Don't need to use part of GRE key field to encode entropy for load balancing as NVGRE does, avoiding special case field definition

Page 40: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Flow Label Virtual Network Context ID

IPv6 Header Virtual Network Header Tenant Packet

Page 41: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity #2

Page 42: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

Use Flow Label field to carry Virtual Network Context ID

Page 43: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

This will reduce tunnelling overhead

Page 44: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Best Effort

Flow Label is a 'best effort' field, to allow the network to modify it

Would need to protect its value using some other VN header checksum

Page 45: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Flow Label Virtual Network Context ID

IPv6 Header Virtual Network Header Tenant Packet

Page 46: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

/64s for NVEs

Page 47: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

/64s

IPv6 Networks should have lots of /64s

RFC6177 minimum for a site is global /56 or 256 x /64s

RFC4193 Unique Local Address space is /48 or 65536 x /64s

Page 48: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity #3

Page 49: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

Use /64s to identify NVEs in the IPv6 Underlay Network, instead of individual unicast 128 bit addresses

Page 50: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

Now have more conventional /64 subnet routing in the IPv6 Underlay Network

Page 51: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

May get better IPv6 underlay network forwarding performance, as apparently some routers a better at forwarding for prefix lengths <= /64

Page 52: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Lower 64 bits?

The complete unicast IPv6 addresses in the IPv6 Underlay Network packets would be the 'Subnet-Router' anycast address

Page 53: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Subnet-Router Anycast Address

The Subnet-Router anycast address is the /64 prefix combined with an 8 octet Interface Identifier (IID) of all-zeros

Page 54: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

2001:db8:0:1234:687c:1dff:fe48:cce3

2001:db8:0:5678:108b:6cff:fe07:277d2001:db8:0:9abc:1097:caff:fe07:26f8

2001:db8:0:def0:18de:a1ff:fe5a:6460

2001:db8:0:beaf:e028:99ff:fee7:e4a1

/128 per NVE

Page 55: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

/64 per NVE

2001:db8:0:1234::/64

2001:db8:0:5678::/642001:db8:0:9abc::/64

2001:db8:0:def0::/64

2001:db8:0:beaf::/64

Page 56: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IIDs for Tenants

Page 57: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity #4

Page 58: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

Copy whole or part Tenant Packet addresses into the 8 octet IID portions of IPv6 Underlay Network packet unicast addresses

Page 59: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

Tenant System addresses will now be used as inputs into IPv6 Underlay Network load balancing

Page 60: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Load balancing methods for IPv6 traffic are expected to use at least

source and destination addresses

flow label

as inputs

Page 61: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

Also exposes Tenant System address information to IPv6 Underlay Network operator's analysis and troubleshooting tools such as Netflow/IPFIX

Page 62: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Header Virtual Network Header Tenant Packet

Src. Address Dest. Address Src. AddressDest. Address

IID IID

Other Fields & Payload

Page 63: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity #5

Page 64: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

Carry Tenant Packet addresses in the IID portions of IPv6 Underlay Network packet unicast addresses, and remove them from the Tenant Packets while being tunnelled

Restore them in the Tenant Packets at destination NVE

Page 65: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

This will reduce tunnelling overhead

Page 66: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Header Virtual Network Header Tenant Packet

Src. Address Dest. Address Src. AddressDest. Address

IID IID

Other Fields & Payload

Page 67: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity #6

Page 68: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

Copy or carry other Tenant Packet field values into IID's in remaining octets

Page 69: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

Reduce tunnelling overhead even further

Page 70: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

Contribute more Tenant Packet field values to IPv6 Underlay Network load balancing

Page 71: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Copy and remove 8 octets of both Ethernet Source Address and Type/Length field into outer IPv6 Source Address 8 octet IID

Page 72: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Header Virtual Network Header Ethernet Tenant Packet

Src. Address Dest. Address Src. AddressDest. Address

IID IID

Type/Length Payload

Page 73: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Header Virtual Network Header Ethernet Tenant Packet

Src. Address Dest. Address Src. AddressDest. Address

IID IID

Type/Length Payload

Page 74: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Easy IPv6 Underlay Multicast

Page 75: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Multicast Addresses

Page 76: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Multicast Group ID

RFC4291, “IP Version 6 Addressing Architecture”, specifies 112 bits for the multicast group identifier

Page 77: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Multicast Group ID

Page 78: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

RFC3307

RFC3307, “Allocation Guidelines for IPv6 Multicast Addresses”, narrows it down to 32 bits for better mapping to link-layer multicast addresses

Page 79: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

RFC3307 32 bit Group ID Structure

Permanent IPv6 Multicast Address

::0000:00001 - ::3fff:fffff (1 billion)

Permanent IPv6 Multicast Group Identifier

::4000:0000 - ::7fff:ffff (1 billion)

Dynamic IPv6 Multicast Addresses

::8000:0000 - ::ffff:ffff (2 billion)

Page 80: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Multicast Address Scope

Page 81: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IPv6 Multicast Address Scope

Specifies a multicast traffic forwarding domain, independent of the IPv6 Hop Count

e.g., link-local, admin-local, site-local, organization-local

Page 82: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity #7

Page 83: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

IANA could allocate a permanent multicast group ID to Virtual Network Encapsulation over IPv6, as per RFC3307 guidelines

NVEs would automatically subscribe to the Interface-Local, Link-Local and Site-Local scope multicast addresses for this permanent group ID

Page 84: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

This would simplify and automate NVE multicast configuration

Page 85: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IANA Assigned Permanent ID: 4fee:feee (e.g.)

Interface-Local Scope - ff01::db8:4fee:feee

Link-Local Scope - ff02::db8:4fee:feee

Site-Local Scope - ff05::db8:4fee:feee

IANA VN Multicast Addresses

Page 86: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Efficient IPv6 Underlay Multicast

Page 87: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

RFC3306 Unicast Prefix Based IPv6 Multicast Addresses

Use a unicast prefix, up to /64, to generate a locally administered multicast address space

Global and ULA unicast prefixes should generate a globally unique multicast address space

Page 88: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Unicast Prefix Based IPv6 Multicast Addresses

Page 89: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity #8

Page 90: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

Use a single unicast prefix, known by all NVEs, and dynamic multicast Group IDs, to create per-VN multicast addresses

Page 91: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

NVEs would only subscribe to the multicast groups for the local VN segments they're attached to

Page 92: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

Tenant System multicasts and broadcasts would now only be sent to NVEs where the Tenant's Virtual Network is present

Page 93: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

This would reduce unnecessary multicast traffic on the IPv6 Underlay Network

Page 94: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Common NVE unicast prefix

2001:db8:dead:beef::/64

Per-VN Multicast Addresses

ff3X:40:2001:db8:dead:beef:8xxx:xxxx

X = MC scope, xxx:xxxx = VN Context ID

Page 95: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Many VN multicast groups might exceed IPv6 Underlay Network multicast group capacity

Mapping a number of VNs to each VN multicast group would be an alternative

Page 96: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity #9

Page 97: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Opportunity

Use NVE individual /64 prefixes to generate NVE specific per-VN multicast addresses

Page 98: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Benefit

?????

(I had an idea, but it didn't work out ... ask me afterwards if interested!)

Page 99: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

So there's at least 8 opportunities to enhance virtual network encapsulation using IPv6

Page 100: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

“Enhancing Virtual Network Encapsulationwith IPv6”

IETF ID: draft-smith-enhance-vne-with-ipv6

https://datatracker.ietf.org/doc/draft-smith-enhance-vne-with-ipv6/

Page 101: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

draft-smith-enhance-vne-with-ipv6

More details of what I've presented here

Recently submitted to IETF NVO3 WG for consideration and comments

Page 102: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

draft-smith-enhance-vne-with-ipv6

Thanks to Fred Baker and Brian Carpenter for their encouragement, review and comments

I'm interested in your thoughts and comments too!

Page 103: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

The Bigger Picture

Page 104: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

What problem are we really trying to solve with host and network virtualisation?

Page 105: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

I think Virtual Hosts/Machines are really being used to create “(Network) Service Containers”

Page 106: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

A Network Service is created using one or more applications, commonly and intentionally

residing on the same host

Page 107: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

A Virtual Host/Machine is a way to bundle/bind together

application data

application configurations

application binaries and shared libraries

CPU, RAM and storage resource specifications

Page 108: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

A single IP address and MAC address are also bound to the Virtual Host/Machine

Page 109: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

1 IP Address == 1 VM == 1 Network Service

1 MAC Address == 1 VM == 1 Network Service

Page 110: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

1 IP Address == 1 Network Service

1 MAC Address == 1 Network Service

Page 111: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

IP Addresses and MAC addresses aren't really host identifiers any more

They're Service Identifiers

Page 112: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

The problem network virtualisaton is solving is to allow the “Service Identifiers” to continue to be

bound to the “Service Container”

Page 113: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Even when the 'Service Container' is moved to a different physical machine and physical location within in the physical network

Page 114: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

So why is IPv6 better for this?

Page 115: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Two Reasons

Page 116: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

73 billion billion times more “Service IDs” available than what IPv4 could provide

(2^128 – 2^32 or 2^96)

Page 117: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

With no need for NAT, there is no need for hard state in the IPv6 network

Page 118: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Moving 'Service Containers' around the network doesn't require trying to shift around hard

network state with them

Page 119: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Finally

Page 120: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

What I hope you've got out of this ...

Page 121: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Learned a few new things about IPv6

Page 122: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Seen how IPv6's differences from IPv4 can be taken advantage of

Page 123: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Perhaps seen how we might do Virtual Networking over IPv6 in the future

Page 124: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Questions?

Page 125: Network Virtualisation: The Killer App for IPv6? - Internodemarkachy/nvtkaipv6.pdf · Network Virtualisation: The Killer App for IPv6? ... IPv6 Header Virtual Network Header Tenant

Thanks for listening!

CC image courtesy of Kiwithinghttp://www.flickr.com/photos/kiwisaotome/8261132558/sizes/c/in/photostream/