SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Lessons in IPv6 deployment in OpenStack
environments
May 8, 2017
Akihiro Motoki
OSS Promotion Center, NEC
2 © NEC Corporation 2017
Why IPv6?
IPv4 Address has run out!
Smart City and IoT needs lots
of addresses
All the Industry and Telecom has to prepare
IPv6 Era
3 © NEC Corporation 2017
Agenda
▌Many consideration points on IPv6 deployments with OpenStack
▌[0] Understanding IPv6 words
▌[1] IPv6 address allocation
How to manage IPv6 address pools
Global unique addresses for tenants
▌[2] IPv6 address configuration
How to distribute IPv6 address to clients
▌[3] Routing considerations
How to reach tenants’ network?
How to prevent unauthorized global addresses?
▌[4] VNF choices
Neutron router?
3-rd party VNF router? Firewall?
▌This presentation is based on OpenStack Mitaka release
IPv6 address allocation
How to manage IPv6 address pools?
5 © NEC Corporation 2017
IPv6 address allocation
▌What we need?
▌GUA (Global unique address) are assigned to tenants
▌GUA should be assigned to a specified address range
▌Tenants still need to use their own addresses
Unless they are not connected to external
ULA (Unique local address)
Neutron Subnet Pool
Legacy way to specify CIDR
(or tenant subnet pool)
6 © NEC Corporation 2017
Neutron “subnet pool”
▌“Subnet pool” defines CIDR pool and allocates CIDR for a
subnet from the pool
▌What we can?
No need to care which CIDR is used or not. Subnet pool manages assigned
CIDR.
OpenStack operators pre-defines a desired IP address range
It allows us to assign non-overlapping address ranges across tenants
Subnet Pool
Pool Prefixes
203.0.113.0/24
Prefix Length
default: 26
Max: 25, Min: 28
Subnet 1
203.0.113.0/26
Subnet 2
203.0.113.128/25
Subnet 3
203.0.113.64/27
neutron subnetpool-create
--pool-prefix 203.0.113.0/24 --default-prefixlen 26
--shared --is-default demo-subnetpool
neutron subnet-create --subnetpool demo-subnetpool --ip-version 4 demo-net
neutron subnet-create --use-default-subnetpool --ip-version 4 demo-net
neutron subnetpool-update
--pool-prefix 203.0.113.0/24 --pool-prefix 198.51.100.0/24 demo-subnetpool
7 © NEC Corporation 2017
IPv6 address allocation – admin
▌We use “subnet pool” to manage IPv6 address ranges
▌Create a subnet pool for GUA
openstack subnet pool create
--pool-prefix 2001:DB8:1234::/48
--default-prefix-length 64 --min-prefix-length 64 --max-prefix-length 64
subnet-pool-ipv6
Specify the global address range as a pool prefix
/64 is suggested as prefix length as most IPv6 routers assume 64 in RA
▌Mark it as “shared” so that tenants can consume it
openstack subnet pool set --share subnet-pool-ipv6
▌(optional) Mark it as a default subnet pool
 openstack subnet pool set --default subnet-pool-ipv6
Tenants do not need to specify the subnet pool name when creating a subnet
8 © NEC Corporation 2017
IPv6 address allocation - tenant
▌Check per-defined subnet pools
openstack subnet pool list
▌Create a subnet using the subnet pool
openstack subnet create --use-default-subnet-pool --ip-version 6
--ipv6-ra-mode XXX –ipv6-address-mode XXX --network net1 subnet1
You can specify a subnet pool explicitly but using a default pool would be easier
▌Quota on subnet pool
Subnet pool supports quota
In IPv6 case, it is calculated as the number of /64 subnets.
If the subnet pool quota is 3, a tenant can allocate 3 /64 subnets.
▌Tenants still can specify their own address range
Limited to local use and no internet connection
IPv6 address configuration
10 © NEC Corporation 2017
IPv6 address configuration modes
▌Three configuration modes:
 SLLAC, DHCPv6 stateless, DHCPv6 stateful
▌SLACC
IPv6 address of a client is configured based on RA (Router advertisement)
Gateway is also configured.
Optionally, DNS information(if RFC6106), MTU and so on can be configured.
Only /64 prefix is used
▌DHCPv6 stateless
IPv6 address is configured based on RA.
Other information is retrieved via DHCPv6.
Looks used most commonly
Only way to distribute DNS info before RFC6106
▌DHCPv6 stateful
All information is configured based on DHCPv6
There is information that GW is not configured properly.
11 © NEC Corporation 2017
IPv6 address configuration modes
▌The configuration mode is determined based on RA flag
M (Managed) => 0 (RA/DHCPv6 stateless), 1 (DHCPv6 stateful)
O (Other) => 0 (SLAAC), 1 (use DHCPv6)
▌Need to selection address mode, depending on router
implementation used
Neutron exposes all modes, but it is not necessarily all modes are available...
12 © NEC Corporation 2017
Understanding Neutron IPv6 two modes
▌Two attributes related to IPv6 address configuration:
ipv6_address_mode
ipv6_ra_mode
▌There are constraints between two modes
OpenStack networking guide
https://docs.openstack.org/ocata/networking-guide/config-ipv6.html
13 © NEC Corporation 2017
Understanding Neutron IPv6 two modes
14 © NEC Corporation 2017
Understanding Neutron IPv6 two modes
A lot of combinations.
What does each mode mean?
15 © NEC Corporation 2017
Understanding IPv6 two mode
▌IPv6 address mode
Specifies how IPv6 address is generated and assigned
IPAM is mainly involved in it.
Also controls if the reference DHCP implementation serves
“slaac”
• Neutron generates a port address based on MAC address (EUI-64)
“dhcpv6-stateless”
• Neutron generates a port address based on MAC address (EUI-64)
• Neutron provides DHCP options for port
“dhcpv6-stateful”
• Any address can be configured.
• Perhaps non-/64 prefix can be used
Not Specified (N/S)
• (Backward compatibility)
• Any static address can be configured.
16 © NEC Corporation 2017
Understanding IPv6 two mode
▌IPv6 RA mode
Specifies how neutron router sends RA
▌“slaac”
▌“dhcpv6-stateless”
▌“dhcpv6-stateful”
Neutron setup radvd on a router and provides RA
RA flags are set accordingly
▌Not Specified (N/S)
Neutron does nothing.
radvd on a router is not setup
17 © NEC Corporation 2017
Deployment patterns
▌(1a) Tenant Router (OpenStack)
Neutron router; VNF integrated with neutron
▌(1b) Tenant Router (VNF)
Virtual appliance; not integrated with neutron
▌(2) Provider Router
VM
Upstream
Router
External
network
(1a) Tenant Router (OpenStack) (1b) Tenant Router (VNF)
VM
Neutron
network
Neutron
router
Upstream
Router
External
network
NW infra
VM
Neutron
network
VNF (vRouter,
vFW)
Upstream
Router
External
network
Managed by
OpenStack
VNF
manager
NW infra NW infra
(2) Provider router
Managed by
OpenStack
Managed by
OpenStack
18 © NEC Corporation 2017
IPv6 two modes: tenant neutron router
▌Simplest case!
▌Tenant router is implemented as neutron router
L3 agent (reference implementation)
Other 3rd party L3 plugin (if you use)
▌Neutron provides both RA and DHCPv6
Ref implementation: RA = radvd, DCHPv6 = dnsmasq
▌If 3rd party L3 plugin is provided, the behavior needs to be checked
ipv6_address
_mode
ipv6_ra_
mode
Description (L3 agent)
SLAAC SLAAC Radvd runs on netns and provides RA
DHCPv6
stateless
DHCPv6
stateless
Radvd on router netns and dnsmasq
on dhcp netns
DHCPv6
stateful
DHCPv6
stateful
Same as above
VM
Neutron
network
Neutron
router
Upstream
Router
External
network
NW infra
Managed by
OpenStack
19 © NEC Corporation 2017
IPv6 two modes: tenant VNF router
▌Tenant router is implemented as virtual appliance
▌BUT it is not well integrated with neutron (= no L3 plugin)
▌SLLAC works well
▌DHCPv6-stateless / stateful : neutron DHCP (dnsmasq) serves too
If VNF provides DHCPv6, two DHCP servers works as a result
and they may conflicts...
ipv6_address
_mode
ipv6_ra_
mode
Description
SLAAC Off (N/S) VNF router sends RA
DHCPv6
stateless
DHCPv6
stateless
VNF router sends RA
neutron dnsmasq is configured
If VNF provides DHCPv6, the feature
potentially conflicts…Off
DHCPv6
stateful
DHCPv6
stateful
VNF router sends RA
neutron dnsmasq is configured
If VNF provides DHCPv6, the feature
potentially conflict…Off VM
Neutron
network
VNF (vRouter,
vFW)
Upstream
Router
External
network
Managed by
OpenStack
VNF
manager
NW infra
20 © NEC Corporation 2017
IPv6 two modes: provider router
▌Router on a provider network sends RA.
▌From the perspective of neutron, same as “tenant VNF router” case
▌SLLAC works well
▌DHCPv6 stateless : DHCPv6 by neutron and upstream router may
potentially conflict
▌DHCPv6 stateful : neutron DHCPv6 is the only option?
 There is no way to share address information between provider router and neutron
VM
Upstream
Router
External
network
NW infra
(2) Provider router
Managed by
OpenStack
ipv6_address
_mode
ipv6_ra_
mode
Description
SLAAC Off (N/S) provider router sends RA
DHCPv6
stateless
DHCPv6
stateless
provider router sends RA
neutron dnsmasq is configured
If provider router provides DHCPv6,
the feature potentially conflicts…Off
DHCPv6
stateful
DHCPv6
stateful
provider router sends RA
neutron dnsmasq is configured
If VNF provides DHCPv6, address from
both will conflicts XXXOff
21 © NEC Corporation 2017
In our case..
▌(SLAAC)
Not many VNF supports DNS option in RA message
▌(DHCPv6-stateless)
Neutron DHCPv6-stateless does not provide DNS.. Needs investigation
Some VNFs support SLAAC only. Cannot configure RA flags.
VNF SLAAC DHCPv6-stateless
Neutron router OK OK
Cisco CSR1000V OK (+DNS) OK (+DNS)
NEC Intersec VM/SG OK -
Paloalto VM-100 OK -
Routing Considerations [1]
How to reach tenants’ network from the Internet?
23 © NEC Corporation 2017
Dynamic routing to tenant IPv6 subnets
▌How to reach tenants’ network?
▌To deliver packets from the Internet to tenants’ networks, the
upstream router must know routes to tenants’ networks
▌In IPv6, tenant networks get GUA (global unique address)
dynamically
▌Route tables on the upstream router needs to be updated
▌We need some mechanism to update routes automatically
Self Service
Network 1
2001:0DB8:1:/64
Self Service
Network 2
2001:0DB8:2:/64
Self Service
Network 3
2001:0DB8:3:/64
Router1
Router2
Router3
Upstream
Router
Provider
Network
(router:
external)
Internet
24 © NEC Corporation 2017
Dynamic routing to tenant IPv6 subnets
▌Dynamic Routing
BGP
OSPF
▌IPv6 Prefix Delegation
▌Static Route (with some automation mechanism)
Need some mechanism to monitor neutron-side changes
25 © NEC Corporation 2017
Dynamic routing : BGP (neutron integration)
▌Neutron provides BGP dynamic route advertisement
▌Create a BGP peering between BGP agent (dr-agent) and upstream
Router
▌BGP agent advertises routes to tenant networks dynamically
▌Only networks whose address scope is same as that of the external
network are advertised. Networks on different address scope are not
advertised.
Self Service
Network 1
2001:0DB8:1:/64
Self Service
Network 2
2001:0DB8:2:/64
Self Service
Network 3
2001:0DB8:3:/64
Router1
Router2
Router3
Upstream
Router
Provider
Network
(router:
external)
Internet
Address ScopeL3 agent
BGP agent
BGP peering
AS 4321
AS 1234
http://docs.openstack.org/newton/networking-guide/config-bgp-dynamic-routing.html
26 © NEC Corporation 2017
Dynamic routing : OSPF
▌OSPF can be used for dynamic routing
▌Create router relationships between tenant and upstream routers
when a tenant router is created
▌Once a relationship is established, a route to a tenant network is
configured to the upstream router
▌Useful for small network where BGP is not preferred
▌Most VNF router supports OSPF
▌No neutron integration
Self Service
Network 1
2001:0DB8:1:/64
Self Service
Network 2
2001:0DB8:2:/64
Router1
(VNF)
Router2
(VNF)
Upstream
Router
Provider
Network
(router:
external)
Internet
Router relationship
AS 4321
http://docs.openstack.org/newton/networking-guide/config-bgp-dynamic-routing.html
27 © NEC Corporation 2017
IPv6 Prefix Delegation (PD)
▌Upstream router is a PD (prefix delegation) server and this manages
IPv6 address ranges to be assigned to OpenStack tenant networks
▌PD server assigns CIDR (normally /64 prefix) to PD client
▌Neutron router acts as a PD client
▌Upstream router sets up a route to PD client when assigning a prefix
 The upstream router knows an external IP address of Neutron router (PD client)
 LLA (Link local address) can be used as IP address of PD client
▌Neutron integration
Self Service
Network 1
2001:0DB8:1:/64
Self Service
Network 2
2001:0DB8:2:/64
Self Service
Network 3
2001:0DB8:3:/64
Router1
Router2
Router3
Upstream
Router
Provider
Network
(router:
external)
Internet
PD Server
http://docs.openstack.org/newton/networking-guide/config-ipv6.html#prefix-delegation
PD Client
Assign CIDR
28 © NEC Corporation 2017
Comparison
Choices depend on network policy and router types to be used
▌Dynamic routing (BGP)
Neutron integration
Depending on network policy of upstream network
Some operators does not use BGP inside their network
One AS is required for OpenStack deployment
▌Dynamic routing (OSPF)
No neutron integration
OSPF is used for smaller deployment
Most VNF router supports OSPF
▌Prefix delegation
Neutron integration
Only simple topology is supported.
Cannot handle nested tenant router
Not a small number of VNF does not support prefix delegation
Routing Considerations [2]
How to prevent unauthorized global addresses?
30 © NEC Corporation 2017
How to prevent unauthorized global addresses?
▌Neutron allows tenants to assign arbitrary IP addresses.
▌In IPv6, global unique addresses are assigned to tenants from the
predefined ranges.
▌If some tenant assigns overlapping address ranges with other
tenant, what happens?
▌There needs a way to block unauthorized global unique address
assigned by tenants in their own way.
31 © NEC Corporation 2017
Neutron address scope
▌Address Scope
Concept to define which IP addresses can directly communicate each other
Subnet pool is associated to some address Scope
Router allows traffic among a same address scope
• Router identifies an address scope of each router interface
Net1
R
Net2
Net3
Networks on a same
address scope can
communicate
Networks in different
address scope cannot
communicate
Subnet
pool 1
Address
Scope 1
Subnet
pool 2
Address
Scope 2
or CIDR (If CIDR is specified,
“Implicit Address
Scope” is used)
32 © NEC Corporation 2017
How to prevent unauthorized global addresses?
▌By using address scope, administrators can only allow
traffic from IP address ranges they authorize.
▌Administrator
 Create a address scope
 Create a subnet pool for external communication
 Associate the subnet pool with the above address scope
 Create a subnet of external network from the above subnet pool
▌Tenant user
 Create a subnet from the shared subnet pool (when communicating externally)
 Subnet whose CIDR is specified explicitly cannot communicate with the Internet even if
it has the same CIDR.
Ext-Net
R
Net2
Net3
Networks on a same
address scope can
communicate
Networks in different
address scope cannot
communicate
Subnet
pool 1
Address
Scope 1
Subnet
pool 2
Address
Scope 2
(or CIDR)
External Network
33 © NEC Corporation 2017
How to prevent unauthorized global addresses?
▌Create a address scope
openstack address scope create --share --ip-version 6 address-scope-ip6
▌Creaet a subnet pool for external communication
▌Associate the subnet pool with the above address scope
openstack subnet pool create --address-scope address-scope-ip6
--share --pool-prefix 2001:db8:a583::/48 --default-prefix-length 64
subnet-pool-ip6
▌Create a subnet of external network from the above subnet pool
openstack subnet create --subnet-pool subnet-pool-ip6
--ip-version 6 --disable-dhcp --network external-network
external-subnet-ip6
▌Create a subnet from the shared subnet pool
openstack subnet create --subnet-pool subnet-pool-ip6
--ip-version 6 --ipv6-address-mode slaac --ipv6-ra-mode slaac
--network my-network my-subnet-ip6
Additional topics
35 © NEC Corporation 2017
Additional topics
▌For SLAAC/DHCPv6 stateless, /64 is actually the only unit assigned
to tenant
 The required number of /64 prefix will be the number of tenants
▌All IPv6 modes cannot be used necessarily, but neutron exposes all
 Some mechanism to expose available IPv6 mode to users
▌Windows supports address randomization for EUI-64 address
It randomizes the lower 64 bits of addresses
Ephemeral address is also supported
It works ..
but a generated IPv6 address will be different from Neutron port information
▌Most VNF does not provide Neutron L3 plugin
 Need a way to retrieve information from neutron
• IPv6 RA flag (Managed, Other)
• Address scope
Prefix (64) EUI-64 (64)
randomize
36 © NEC Corporation 2017
Summary
▌This presentation share our experiences on IPv6
▌Hope it helps introductions of IPv6 deployment
▌Most things work well.
▌There are several things remaining to be improved
▌Let’s upstream it!
 Feel free to file a bug to neutron!
▌Let’s share our knowledge!
 OpenStack Networking Guide is a good place
Latest release : https://docs.openstack.org/ocata/networking-guide/
Development version : https://docs.openstack.org/draft/networking-guide/
OpenStack Neutron IPv6 Lessons

Contenu connexe

Tendances

[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
OpenStack Korea Community
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
OpenStack Korea Community
 

Tendances (20)

VXLAN and FRRouting
VXLAN and FRRoutingVXLAN and FRRouting
VXLAN and FRRouting
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStackMeetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStack
 
OVN DBs HA with scale test
OVN DBs HA with scale testOVN DBs HA with scale test
OVN DBs HA with scale test
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
 
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/NeutronOverview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
 
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
VPNaaS in Neutron
VPNaaS in NeutronVPNaaS in Neutron
VPNaaS in Neutron
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
Neutron packet logging framework
Neutron packet logging frameworkNeutron packet logging framework
Neutron packet logging framework
 
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
 
IPv6 Address Planning
IPv6 Address PlanningIPv6 Address Planning
IPv6 Address Planning
 
L3HA-VRRP-20141201
L3HA-VRRP-20141201L3HA-VRRP-20141201
L3HA-VRRP-20141201
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
EVPN Introduction
EVPN IntroductionEVPN Introduction
EVPN Introduction
 
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
 
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregateAvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
 
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATOpen vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NAT
 

En vedette (7)

MySQL Fabric with OpenStack Nova
MySQL Fabric with OpenStack NovaMySQL Fabric with OpenStack Nova
MySQL Fabric with OpenStack Nova
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 

Similaire à OpenStack Neutron IPv6 Lessons

2009 11 06 3gpp Ietf Ipv6 Shanghai Nat64
2009 11 06 3gpp Ietf Ipv6 Shanghai Nat642009 11 06 3gpp Ietf Ipv6 Shanghai Nat64
2009 11 06 3gpp Ietf Ipv6 Shanghai Nat64
yacc2000
 
Configuringadualstackthatusesndra 131018075723-phpapp02
Configuringadualstackthatusesndra 131018075723-phpapp02Configuringadualstackthatusesndra 131018075723-phpapp02
Configuringadualstackthatusesndra 131018075723-phpapp02
Christine Joy Lanzar
 

Similaire à OpenStack Neutron IPv6 Lessons (20)

Neutron IPv6
Neutron IPv6Neutron IPv6
Neutron IPv6
 
OpenStack Havana over IPv6
OpenStack Havana over IPv6OpenStack Havana over IPv6
OpenStack Havana over IPv6
 
OpenStack Icehouse Over IPv6
OpenStack Icehouse Over IPv6OpenStack Icehouse Over IPv6
OpenStack Icehouse Over IPv6
 
Successes and Challenges of IPv6 Transition at APNIC
Successes and Challenges of IPv6 Transition at APNICSuccesses and Challenges of IPv6 Transition at APNIC
Successes and Challenges of IPv6 Transition at APNIC
 
IDNIC OPM 2023: IPv6 deployment planning and security considerations
IDNIC OPM 2023: IPv6 deployment planning and security considerationsIDNIC OPM 2023: IPv6 deployment planning and security considerations
IDNIC OPM 2023: IPv6 deployment planning and security considerations
 
IPv6 at CSCS
IPv6 at CSCSIPv6 at CSCS
IPv6 at CSCS
 
2009 11 06 3gpp Ietf Ipv6 Shanghai Nat64
2009 11 06 3gpp Ietf Ipv6 Shanghai Nat642009 11 06 3gpp Ietf Ipv6 Shanghai Nat64
2009 11 06 3gpp Ietf Ipv6 Shanghai Nat64
 
OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07
 
7 slaac-rick graziani
7 slaac-rick graziani7 slaac-rick graziani
7 slaac-rick graziani
 
Network Configuration Example: Configuring a Dual Stack That Uses NDRA and DH...
Network Configuration Example: Configuring a Dual Stack That Uses NDRA and DH...Network Configuration Example: Configuring a Dual Stack That Uses NDRA and DH...
Network Configuration Example: Configuring a Dual Stack That Uses NDRA and DH...
 
Configuringadualstackthatusesndra 131018075723-phpapp02
Configuringadualstackthatusesndra 131018075723-phpapp02Configuringadualstackthatusesndra 131018075723-phpapp02
Configuringadualstackthatusesndra 131018075723-phpapp02
 
What's new in Neutron Juno
What's new in Neutron JunoWhat's new in Neutron Juno
What's new in Neutron Juno
 
Demystifying Networking Webinar Series- Routing on the Host
Demystifying Networking Webinar Series- Routing on the HostDemystifying Networking Webinar Series- Routing on the Host
Demystifying Networking Webinar Series- Routing on the Host
 
IPv6
IPv6IPv6
IPv6
 
Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...
Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...
Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...
 
Swiss IPv6 Council: Konfusion um die Router Flags
Swiss IPv6 Council: Konfusion um die Router FlagsSwiss IPv6 Council: Konfusion um die Router Flags
Swiss IPv6 Council: Konfusion um die Router Flags
 
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
 
6WINDGate™ - Enabling Cloud RAN Virtualization
6WINDGate™ - Enabling Cloud RAN Virtualization6WINDGate™ - Enabling Cloud RAN Virtualization
6WINDGate™ - Enabling Cloud RAN Virtualization
 
IPv6 translation methods
IPv6 translation methodsIPv6 translation methods
IPv6 translation methods
 
Implementing an IPv6 Enabled Environment for a Public Cloud Tenant
Implementing an IPv6 Enabled Environment for a Public Cloud TenantImplementing an IPv6 Enabled Environment for a Public Cloud Tenant
Implementing an IPv6 Enabled Environment for a Public Cloud Tenant
 

Plus de Akihiro Motoki

20131211 Neutron Havana
20131211 Neutron Havana20131211 Neutron Havana
20131211 Neutron Havana
Akihiro Motoki
 
20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack
Akihiro Motoki
 
20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting
Akihiro Motoki
 
20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum
Akihiro Motoki
 
Horizon Quantum Integration grizzly
Horizon Quantum Integration grizzlyHorizon Quantum Integration grizzly
Horizon Quantum Integration grizzly
Akihiro Motoki
 
Horizon quantum-integration-grizzly
Horizon quantum-integration-grizzlyHorizon quantum-integration-grizzly
Horizon quantum-integration-grizzly
Akihiro Motoki
 
Quantum-grizzly-packet-filtering
Quantum-grizzly-packet-filteringQuantum-grizzly-packet-filtering
Quantum-grizzly-packet-filtering
Akihiro Motoki
 

Plus de Akihiro Motoki (18)

20190722 OpenStack community past present future
20190722 OpenStack community past present future20190722 OpenStack community past present future
20190722 OpenStack community past present future
 
20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack20190722 Building handy CI with zuul and OpenStack
20190722 Building handy CI with zuul and OpenStack
 
20190118-josug-open stack-community-goals
20190118-josug-open stack-community-goals20190118-josug-open stack-community-goals
20190118-josug-open stack-community-goals
 
20161129 neutron recent topic
20161129 neutron recent topic20161129 neutron recent topic
20161129 neutron recent topic
 
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
 
20150713 OpenStack Translation in Japan
20150713 OpenStack Translation in Japan20150713 OpenStack Translation in Japan
20150713 OpenStack Translation in Japan
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_update
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)
 
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessionsOpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
OpenStack Atlanta Summit Report: Neutron, Nova and design summit sessions
 
20131211 Neutron Havana
20131211 Neutron Havana20131211 Neutron Havana
20131211 Neutron Havana
 
20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack
 
20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting
 
20130724 openstack-3rd-anniversary-amotoki
20130724 openstack-3rd-anniversary-amotoki20130724 openstack-3rd-anniversary-amotoki
20130724 openstack-3rd-anniversary-amotoki
 
OpenStack Contribution Howto
OpenStack Contribution HowtoOpenStack Contribution Howto
OpenStack Contribution Howto
 
20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum20121216 OSC Cloud OpenStack Quantum
20121216 OSC Cloud OpenStack Quantum
 
Horizon Quantum Integration grizzly
Horizon Quantum Integration grizzlyHorizon Quantum Integration grizzly
Horizon Quantum Integration grizzly
 
Horizon quantum-integration-grizzly
Horizon quantum-integration-grizzlyHorizon quantum-integration-grizzly
Horizon quantum-integration-grizzly
 
Quantum-grizzly-packet-filtering
Quantum-grizzly-packet-filteringQuantum-grizzly-packet-filtering
Quantum-grizzly-packet-filtering
 

Dernier

Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
shivangimorya083
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
anilsa9823
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
ellan12
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
Diya Sharma
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 

Dernier (20)

Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 

OpenStack Neutron IPv6 Lessons

  • 1. Lessons in IPv6 deployment in OpenStack environments May 8, 2017 Akihiro Motoki OSS Promotion Center, NEC
  • 2. 2 © NEC Corporation 2017 Why IPv6? IPv4 Address has run out! Smart City and IoT needs lots of addresses All the Industry and Telecom has to prepare IPv6 Era
  • 3. 3 © NEC Corporation 2017 Agenda ▌Many consideration points on IPv6 deployments with OpenStack ▌[0] Understanding IPv6 words ▌[1] IPv6 address allocation How to manage IPv6 address pools Global unique addresses for tenants ▌[2] IPv6 address configuration How to distribute IPv6 address to clients ▌[3] Routing considerations How to reach tenants’ network? How to prevent unauthorized global addresses? ▌[4] VNF choices Neutron router? 3-rd party VNF router? Firewall? ▌This presentation is based on OpenStack Mitaka release
  • 4. IPv6 address allocation How to manage IPv6 address pools?
  • 5. 5 © NEC Corporation 2017 IPv6 address allocation ▌What we need? ▌GUA (Global unique address) are assigned to tenants ▌GUA should be assigned to a specified address range ▌Tenants still need to use their own addresses Unless they are not connected to external ULA (Unique local address) Neutron Subnet Pool Legacy way to specify CIDR (or tenant subnet pool)
  • 6. 6 © NEC Corporation 2017 Neutron “subnet pool” ▌“Subnet pool” defines CIDR pool and allocates CIDR for a subnet from the pool ▌What we can? No need to care which CIDR is used or not. Subnet pool manages assigned CIDR. OpenStack operators pre-defines a desired IP address range It allows us to assign non-overlapping address ranges across tenants Subnet Pool Pool Prefixes 203.0.113.0/24 Prefix Length default: 26 Max: 25, Min: 28 Subnet 1 203.0.113.0/26 Subnet 2 203.0.113.128/25 Subnet 3 203.0.113.64/27 neutron subnetpool-create --pool-prefix 203.0.113.0/24 --default-prefixlen 26 --shared --is-default demo-subnetpool neutron subnet-create --subnetpool demo-subnetpool --ip-version 4 demo-net neutron subnet-create --use-default-subnetpool --ip-version 4 demo-net neutron subnetpool-update --pool-prefix 203.0.113.0/24 --pool-prefix 198.51.100.0/24 demo-subnetpool
  • 7. 7 © NEC Corporation 2017 IPv6 address allocation – admin ▌We use “subnet pool” to manage IPv6 address ranges ▌Create a subnet pool for GUA openstack subnet pool create --pool-prefix 2001:DB8:1234::/48 --default-prefix-length 64 --min-prefix-length 64 --max-prefix-length 64 subnet-pool-ipv6 Specify the global address range as a pool prefix /64 is suggested as prefix length as most IPv6 routers assume 64 in RA ▌Mark it as “shared” so that tenants can consume it openstack subnet pool set --share subnet-pool-ipv6 ▌(optional) Mark it as a default subnet pool  openstack subnet pool set --default subnet-pool-ipv6 Tenants do not need to specify the subnet pool name when creating a subnet
  • 8. 8 © NEC Corporation 2017 IPv6 address allocation - tenant ▌Check per-defined subnet pools openstack subnet pool list ▌Create a subnet using the subnet pool openstack subnet create --use-default-subnet-pool --ip-version 6 --ipv6-ra-mode XXX –ipv6-address-mode XXX --network net1 subnet1 You can specify a subnet pool explicitly but using a default pool would be easier ▌Quota on subnet pool Subnet pool supports quota In IPv6 case, it is calculated as the number of /64 subnets. If the subnet pool quota is 3, a tenant can allocate 3 /64 subnets. ▌Tenants still can specify their own address range Limited to local use and no internet connection
  • 10. 10 © NEC Corporation 2017 IPv6 address configuration modes ▌Three configuration modes:  SLLAC, DHCPv6 stateless, DHCPv6 stateful ▌SLACC IPv6 address of a client is configured based on RA (Router advertisement) Gateway is also configured. Optionally, DNS information(if RFC6106), MTU and so on can be configured. Only /64 prefix is used ▌DHCPv6 stateless IPv6 address is configured based on RA. Other information is retrieved via DHCPv6. Looks used most commonly Only way to distribute DNS info before RFC6106 ▌DHCPv6 stateful All information is configured based on DHCPv6 There is information that GW is not configured properly.
  • 11. 11 © NEC Corporation 2017 IPv6 address configuration modes ▌The configuration mode is determined based on RA flag M (Managed) => 0 (RA/DHCPv6 stateless), 1 (DHCPv6 stateful) O (Other) => 0 (SLAAC), 1 (use DHCPv6) ▌Need to selection address mode, depending on router implementation used Neutron exposes all modes, but it is not necessarily all modes are available...
  • 12. 12 © NEC Corporation 2017 Understanding Neutron IPv6 two modes ▌Two attributes related to IPv6 address configuration: ipv6_address_mode ipv6_ra_mode ▌There are constraints between two modes OpenStack networking guide https://docs.openstack.org/ocata/networking-guide/config-ipv6.html
  • 13. 13 © NEC Corporation 2017 Understanding Neutron IPv6 two modes
  • 14. 14 © NEC Corporation 2017 Understanding Neutron IPv6 two modes A lot of combinations. What does each mode mean?
  • 15. 15 © NEC Corporation 2017 Understanding IPv6 two mode ▌IPv6 address mode Specifies how IPv6 address is generated and assigned IPAM is mainly involved in it. Also controls if the reference DHCP implementation serves “slaac” • Neutron generates a port address based on MAC address (EUI-64) “dhcpv6-stateless” • Neutron generates a port address based on MAC address (EUI-64) • Neutron provides DHCP options for port “dhcpv6-stateful” • Any address can be configured. • Perhaps non-/64 prefix can be used Not Specified (N/S) • (Backward compatibility) • Any static address can be configured.
  • 16. 16 © NEC Corporation 2017 Understanding IPv6 two mode ▌IPv6 RA mode Specifies how neutron router sends RA ▌“slaac” ▌“dhcpv6-stateless” ▌“dhcpv6-stateful” Neutron setup radvd on a router and provides RA RA flags are set accordingly ▌Not Specified (N/S) Neutron does nothing. radvd on a router is not setup
  • 17. 17 © NEC Corporation 2017 Deployment patterns ▌(1a) Tenant Router (OpenStack) Neutron router; VNF integrated with neutron ▌(1b) Tenant Router (VNF) Virtual appliance; not integrated with neutron ▌(2) Provider Router VM Upstream Router External network (1a) Tenant Router (OpenStack) (1b) Tenant Router (VNF) VM Neutron network Neutron router Upstream Router External network NW infra VM Neutron network VNF (vRouter, vFW) Upstream Router External network Managed by OpenStack VNF manager NW infra NW infra (2) Provider router Managed by OpenStack Managed by OpenStack
  • 18. 18 © NEC Corporation 2017 IPv6 two modes: tenant neutron router ▌Simplest case! ▌Tenant router is implemented as neutron router L3 agent (reference implementation) Other 3rd party L3 plugin (if you use) ▌Neutron provides both RA and DHCPv6 Ref implementation: RA = radvd, DCHPv6 = dnsmasq ▌If 3rd party L3 plugin is provided, the behavior needs to be checked ipv6_address _mode ipv6_ra_ mode Description (L3 agent) SLAAC SLAAC Radvd runs on netns and provides RA DHCPv6 stateless DHCPv6 stateless Radvd on router netns and dnsmasq on dhcp netns DHCPv6 stateful DHCPv6 stateful Same as above VM Neutron network Neutron router Upstream Router External network NW infra Managed by OpenStack
  • 19. 19 © NEC Corporation 2017 IPv6 two modes: tenant VNF router ▌Tenant router is implemented as virtual appliance ▌BUT it is not well integrated with neutron (= no L3 plugin) ▌SLLAC works well ▌DHCPv6-stateless / stateful : neutron DHCP (dnsmasq) serves too If VNF provides DHCPv6, two DHCP servers works as a result and they may conflicts... ipv6_address _mode ipv6_ra_ mode Description SLAAC Off (N/S) VNF router sends RA DHCPv6 stateless DHCPv6 stateless VNF router sends RA neutron dnsmasq is configured If VNF provides DHCPv6, the feature potentially conflicts…Off DHCPv6 stateful DHCPv6 stateful VNF router sends RA neutron dnsmasq is configured If VNF provides DHCPv6, the feature potentially conflict…Off VM Neutron network VNF (vRouter, vFW) Upstream Router External network Managed by OpenStack VNF manager NW infra
  • 20. 20 © NEC Corporation 2017 IPv6 two modes: provider router ▌Router on a provider network sends RA. ▌From the perspective of neutron, same as “tenant VNF router” case ▌SLLAC works well ▌DHCPv6 stateless : DHCPv6 by neutron and upstream router may potentially conflict ▌DHCPv6 stateful : neutron DHCPv6 is the only option?  There is no way to share address information between provider router and neutron VM Upstream Router External network NW infra (2) Provider router Managed by OpenStack ipv6_address _mode ipv6_ra_ mode Description SLAAC Off (N/S) provider router sends RA DHCPv6 stateless DHCPv6 stateless provider router sends RA neutron dnsmasq is configured If provider router provides DHCPv6, the feature potentially conflicts…Off DHCPv6 stateful DHCPv6 stateful provider router sends RA neutron dnsmasq is configured If VNF provides DHCPv6, address from both will conflicts XXXOff
  • 21. 21 © NEC Corporation 2017 In our case.. ▌(SLAAC) Not many VNF supports DNS option in RA message ▌(DHCPv6-stateless) Neutron DHCPv6-stateless does not provide DNS.. Needs investigation Some VNFs support SLAAC only. Cannot configure RA flags. VNF SLAAC DHCPv6-stateless Neutron router OK OK Cisco CSR1000V OK (+DNS) OK (+DNS) NEC Intersec VM/SG OK - Paloalto VM-100 OK -
  • 22. Routing Considerations [1] How to reach tenants’ network from the Internet?
  • 23. 23 © NEC Corporation 2017 Dynamic routing to tenant IPv6 subnets ▌How to reach tenants’ network? ▌To deliver packets from the Internet to tenants’ networks, the upstream router must know routes to tenants’ networks ▌In IPv6, tenant networks get GUA (global unique address) dynamically ▌Route tables on the upstream router needs to be updated ▌We need some mechanism to update routes automatically Self Service Network 1 2001:0DB8:1:/64 Self Service Network 2 2001:0DB8:2:/64 Self Service Network 3 2001:0DB8:3:/64 Router1 Router2 Router3 Upstream Router Provider Network (router: external) Internet
  • 24. 24 © NEC Corporation 2017 Dynamic routing to tenant IPv6 subnets ▌Dynamic Routing BGP OSPF ▌IPv6 Prefix Delegation ▌Static Route (with some automation mechanism) Need some mechanism to monitor neutron-side changes
  • 25. 25 © NEC Corporation 2017 Dynamic routing : BGP (neutron integration) ▌Neutron provides BGP dynamic route advertisement ▌Create a BGP peering between BGP agent (dr-agent) and upstream Router ▌BGP agent advertises routes to tenant networks dynamically ▌Only networks whose address scope is same as that of the external network are advertised. Networks on different address scope are not advertised. Self Service Network 1 2001:0DB8:1:/64 Self Service Network 2 2001:0DB8:2:/64 Self Service Network 3 2001:0DB8:3:/64 Router1 Router2 Router3 Upstream Router Provider Network (router: external) Internet Address ScopeL3 agent BGP agent BGP peering AS 4321 AS 1234 http://docs.openstack.org/newton/networking-guide/config-bgp-dynamic-routing.html
  • 26. 26 © NEC Corporation 2017 Dynamic routing : OSPF ▌OSPF can be used for dynamic routing ▌Create router relationships between tenant and upstream routers when a tenant router is created ▌Once a relationship is established, a route to a tenant network is configured to the upstream router ▌Useful for small network where BGP is not preferred ▌Most VNF router supports OSPF ▌No neutron integration Self Service Network 1 2001:0DB8:1:/64 Self Service Network 2 2001:0DB8:2:/64 Router1 (VNF) Router2 (VNF) Upstream Router Provider Network (router: external) Internet Router relationship AS 4321 http://docs.openstack.org/newton/networking-guide/config-bgp-dynamic-routing.html
  • 27. 27 © NEC Corporation 2017 IPv6 Prefix Delegation (PD) ▌Upstream router is a PD (prefix delegation) server and this manages IPv6 address ranges to be assigned to OpenStack tenant networks ▌PD server assigns CIDR (normally /64 prefix) to PD client ▌Neutron router acts as a PD client ▌Upstream router sets up a route to PD client when assigning a prefix  The upstream router knows an external IP address of Neutron router (PD client)  LLA (Link local address) can be used as IP address of PD client ▌Neutron integration Self Service Network 1 2001:0DB8:1:/64 Self Service Network 2 2001:0DB8:2:/64 Self Service Network 3 2001:0DB8:3:/64 Router1 Router2 Router3 Upstream Router Provider Network (router: external) Internet PD Server http://docs.openstack.org/newton/networking-guide/config-ipv6.html#prefix-delegation PD Client Assign CIDR
  • 28. 28 © NEC Corporation 2017 Comparison Choices depend on network policy and router types to be used ▌Dynamic routing (BGP) Neutron integration Depending on network policy of upstream network Some operators does not use BGP inside their network One AS is required for OpenStack deployment ▌Dynamic routing (OSPF) No neutron integration OSPF is used for smaller deployment Most VNF router supports OSPF ▌Prefix delegation Neutron integration Only simple topology is supported. Cannot handle nested tenant router Not a small number of VNF does not support prefix delegation
  • 29. Routing Considerations [2] How to prevent unauthorized global addresses?
  • 30. 30 © NEC Corporation 2017 How to prevent unauthorized global addresses? ▌Neutron allows tenants to assign arbitrary IP addresses. ▌In IPv6, global unique addresses are assigned to tenants from the predefined ranges. ▌If some tenant assigns overlapping address ranges with other tenant, what happens? ▌There needs a way to block unauthorized global unique address assigned by tenants in their own way.
  • 31. 31 © NEC Corporation 2017 Neutron address scope ▌Address Scope Concept to define which IP addresses can directly communicate each other Subnet pool is associated to some address Scope Router allows traffic among a same address scope • Router identifies an address scope of each router interface Net1 R Net2 Net3 Networks on a same address scope can communicate Networks in different address scope cannot communicate Subnet pool 1 Address Scope 1 Subnet pool 2 Address Scope 2 or CIDR (If CIDR is specified, “Implicit Address Scope” is used)
  • 32. 32 © NEC Corporation 2017 How to prevent unauthorized global addresses? ▌By using address scope, administrators can only allow traffic from IP address ranges they authorize. ▌Administrator  Create a address scope  Create a subnet pool for external communication  Associate the subnet pool with the above address scope  Create a subnet of external network from the above subnet pool ▌Tenant user  Create a subnet from the shared subnet pool (when communicating externally)  Subnet whose CIDR is specified explicitly cannot communicate with the Internet even if it has the same CIDR. Ext-Net R Net2 Net3 Networks on a same address scope can communicate Networks in different address scope cannot communicate Subnet pool 1 Address Scope 1 Subnet pool 2 Address Scope 2 (or CIDR) External Network
  • 33. 33 © NEC Corporation 2017 How to prevent unauthorized global addresses? ▌Create a address scope openstack address scope create --share --ip-version 6 address-scope-ip6 ▌Creaet a subnet pool for external communication ▌Associate the subnet pool with the above address scope openstack subnet pool create --address-scope address-scope-ip6 --share --pool-prefix 2001:db8:a583::/48 --default-prefix-length 64 subnet-pool-ip6 ▌Create a subnet of external network from the above subnet pool openstack subnet create --subnet-pool subnet-pool-ip6 --ip-version 6 --disable-dhcp --network external-network external-subnet-ip6 ▌Create a subnet from the shared subnet pool openstack subnet create --subnet-pool subnet-pool-ip6 --ip-version 6 --ipv6-address-mode slaac --ipv6-ra-mode slaac --network my-network my-subnet-ip6
  • 35. 35 © NEC Corporation 2017 Additional topics ▌For SLAAC/DHCPv6 stateless, /64 is actually the only unit assigned to tenant  The required number of /64 prefix will be the number of tenants ▌All IPv6 modes cannot be used necessarily, but neutron exposes all  Some mechanism to expose available IPv6 mode to users ▌Windows supports address randomization for EUI-64 address It randomizes the lower 64 bits of addresses Ephemeral address is also supported It works .. but a generated IPv6 address will be different from Neutron port information ▌Most VNF does not provide Neutron L3 plugin  Need a way to retrieve information from neutron • IPv6 RA flag (Managed, Other) • Address scope Prefix (64) EUI-64 (64) randomize
  • 36. 36 © NEC Corporation 2017 Summary ▌This presentation share our experiences on IPv6 ▌Hope it helps introductions of IPv6 deployment ▌Most things work well. ▌There are several things remaining to be improved ▌Let’s upstream it!  Feel free to file a bug to neutron! ▌Let’s share our knowledge!  OpenStack Networking Guide is a good place Latest release : https://docs.openstack.org/ocata/networking-guide/ Development version : https://docs.openstack.org/draft/networking-guide/