130 likes | 255 Views
IPv4/IPv6 Coexistence Framework Prefixing/Encap/Translation (PET). draft-cui-softwire-pet-01 draft-cui-softwire-pet64-00 Yong Cui, Mingwei Xu, Shengling Wang, Jianping Wu, Xing Li, Chris Metz, etc. CERNET, CISCO Nov. 2009. Motivation: Diminish the disadvantage of translation.
E N D
IPv4/IPv6 Coexistence Framework Prefixing/Encap/Translation (PET) draft-cui-softwire-pet-01 draft-cui-softwire-pet64-00 Yong Cui, Mingwei Xu, Shengling Wang, Jianping Wu, Xing Li, Chris Metz, etc. CERNET, CISCO Nov. 2009
Motivation: Diminish the disadvantage of translation Host A (IPv4) • Do we need translation? YES • We have spent years to reduce the complexity of translation • SIIT, NAT-PT, … • IVI, NAT64, DNS64, … • Why not look at finding the right place to diminish the disadvantage of translation? • Even using an additional tunnel IPv4 Internet Xlate??? AFBR1 Dual-stackbackbone Xlate??? AFBR2 IPv6 Edgenetwork Host B (IPv6)
Processing Layer State Maintenance IPv4/IPv6 Routing Application Scenario Motivation Tunneling Translation • It is necessary to • decide which method should be used in given scenarios • how they collaborate for solving transition problems while utilizing both advantages? IP layer (Hardware) Stateless (Scalable) Separated routing (Scalable) E-IP over I-IP ALG (Software) Stateful (No Scalable) Routing merge (No Scalable) E-IP I-IP
IPv6 Backbone IPv4 Internet IPv6 Edge AFBR Xlate AFBR SW AFBR SW Softwire Example to combine them • In the beginning of small IPv6 network • Next step on large IPv6 backbone • Incremental deployment for 100 IPv6 edge networks • Optionally xlate on either side • How can network decide where to use tunneling or xlate IPv6 Backbone IPv4 Internet IPv6 Edge AFBR Xlate PE
PET framework • P: prefixing • all transition operations of control plane involved with subnet prefix • For tunneling: prefix announcement, tunnel endpoint discovery/selection, and so on • For translation: prefix configuration or address mapping policy, and so on • E: encapsulation • all tunneling operations of data plane • Encapsulation/decapsulation/MTU processing • T: translation • all translation operations of data plane • address mapping/protocol translation/MTU processing.
PET framework E-IP Backbone E-IP network PET PET E-IP network PET PET I-IP Backbone (Dual-stack) PET PET PET I-IP network Edge Network Edge Network
Forwarding Xlate IPv6 Backbone IPv4 664 Remote Xlat Xlate+SW Decap IPv6 Edge net IPv4 664 Local-Xlat+SW IPv4 Encap. IPv6 Decap+Xlate 466 SW+Remote Xlat Function of PET PET Signaling IPv6 backbone source PET Dest PET IPv6 Encap. 464 SW IPv4 IPv4 Decap.
PET signaling • Functionality • Negotiate between PET boxes • Who should do translation / tunneling • For what kind of packets / prefix • Example • Negotiate the translation preference (TP) • Parameters: Bandwidth, pps, load • Stateless/Stateful
PET: Softwire + Behave (1:1/IVI) √ √ [ P_ivi+ IPv4 prefix ] [ P_ivi+ (0.0.0.0/0) ] IPv6 native routing IVI mapped IPv4 prefix IPv4 Internet prefix Softwire routing TP1 TP2 PET signaling DNS process TP1 lose Softwire vif + Xlate TP2 win IPv4 packet Src: remove P_ivi Dst: remove P_ivi IPv6 packet IPv6 interface for IPv6 dst Softwire vif for IPv4 dst TP2 win IPv4 packet IPv6 packet IPv6 interface for IPv6 dst Src add P_ivi Dst add P_ivi IPv6 Backbone IPv4 Internet IPv6 Campus PET1 PET2 DNS6 DNS4 IVI prefix(P_ivi)+IPv4 Address allocation √
PET: Softwire + Behave (1:1/IVI) √ √ [ P_ivi+ IPv4 prefix ] [ P_ivi+ (0.0.0.0/0) ] IPv6 native routing IVI mapped IPv4 prefix IPv4 Internet prefix Softwire routing TP1 TP2 PET signaling DNS process TP1 win Softwire vif + Xlate IPv6 packet 4over6 Softwire IPv4 packet Decap Remove P_ivi IPv6 interface for IPv6 dst TP2 lose 4over6 Softwire Softwire vif for IPv4 dst IPv6 packet Decapsulation Add P_ivi IPv4 packet IPv6 interface for IPv6 dst IPv6 Backbone IPv4 Internet IPv6 Campus PET1 PET2 DNS6 DNS4 IVI prefix(P_ivi)+IPv4 Address allocation √
PET: Softwire + Behave (1:N) √ √ [ P_ivi+ IPv4 prefix ] [ P_ivi+ (0.0.0.0/0) ] IPv6 native routing IVI mapped IPv4 prefix IPv4 Internet prefix Softwire routing TP1 TP2 PET signaling DNS process TP1 lose Softwire vif + Xlate TP2 win IPv6 packet Src: IPv6 addr+port => PET2 v4 addr + port Dst: remove P_ivi IPv4 packet IPv6 interface for IPv6 dst IPv6 packet Softwire vif for IPv4 dst IPv4 packet TP2 win IPv6 interface for IPv6 dst Src: add P_ivi Dst: port=> IPv6 addr+port IPv6 Backbone IPv4 Internet IPv6 Campus PET1 PET2 DNS6 DNS4 IPv6 address allocation √
PET: Softwire + Behave (1:N) √ √ [ P_ivi+ IPv4 prefix ] [ P_ivi+ (0.0.0.0/0) ] IPv6 native routing IVI mapped IPv4 prefix IPv4 Internet prefix Softwire routing TP1 TP2 PET signaling DNS process TP1 win Softwire vif + Xlate IPv6 packet 4over6 Softwire IPv4 packet Decap Src: IPv6 ddr+port =>PET1 v4 addr + port Dst: remove P_ivi IPv6 interface for IPv6 dst TP2 lose Decapsulation; Src: add P_ivi Dst: port=> IPv6 addr+port 4over6 Softwire Softwire vif for IPv4 dst IPv6 packet IPv4 packet IPv6 interface for IPv6 dst IPv6 Backbone IPv4 Internet IPv6 Campus PET1 PET2 DNS6 DNS4 IPv6 address allocation √
Future work • PET signaling will be defined by BGP extension based on Softwire • Leveraging other existing tunneling and translation technologies