340 likes | 536 Views
IPv6 in a Network Processor Based Router. John Du Scott Hahn Intel Corporation. Agenda. What is IPv6? Network Processors NPF APIs and ForCES Protocol Putting it all together. What is IPv6?. IPv6 is the next-generation Internet protocol Standardized by the IETF
E N D
IPv6 in a Network Processor Based Router John Du Scott Hahn Intel Corporation
Agenda • What is IPv6? • Network Processors • NPF APIs and ForCES Protocol • Putting it all together
What is IPv6? • IPv6 is the next-generation Internet protocol • Standardized by the IETF • Designed to provide inexhaustible addresses • 32 bit addresses for IPv4 • 128 bit addresses for IPv6 • Greatly enhanced auto configuration capabilities • Provides better solutions for • Peer to Peer applications • Mobility • Security
Drivers Behind IPv6 • Address shortage, especially in Asia • Governments mandate a move to IPv6 • IP Services in Wireless Networks • Mobile Phones, Handhelds • More IP enabled devices in Home • CE Devices, Always ON Devices, New Services
IPv6 is Happening! • Major Operating Systems support IPv6 today • Governmental and Organizational Mandates • Network Equipment Manufacturers seeing increasing demand for IPv6 support
IPv6 Standards • Core IPv6 specifications are well-tested & stable • IPv6 base spec, ICMPv6, Neighbor Discovery,PMTU Discovery,... • Other important specs are further behind on the standards track, but in good shape • mobile IPv6, header compression,... • Some IPv6 related standards still being refined • Methods for address prefix delegation, flow label usage, DNS server discovery
Agenda • What is IPv6? • Network Processors • NPF APIs and ForCES Protocol • Putting it all together
Control Plane (CP) Executes Routing Protocol, stacks, etc. SW (Protocols, Apps, OS) Standardized APIs to program Data Plane Scalable, extensible, interoperable CP to DP interconnect model HW (PHY, MAC, NPE, SAR, etc.) Interconnect Protocol Data Plane (DP) Wire speed packet processing NPUs:Programmability for new services Modular Network Equipment Traditional Design
Control Plane Executes Routing Protocol, stacks, etc. Data Plane Wire speed packet processing Network Processors • Special Microprocessors for Packet Processing and Forwarding • Replace ASIC based Data Plane with Highly Programmable Data Plane • Easy to add New Functionality • Update Software; Not Hardware Standardized APIs to program Data Plane Interconnect Protocol NPUs:Programmability for new services
Packet Processing • Each Logical Function Block (LFB) performs a well-defined function • Chained together to perform various operations Metering & Marking Block Receive Block Layer 3 Forwarding Block Transmit Block
IPv6 Packet Processing • IPv6 Forwarding Logical Function Block • Forwards IPv6 Packets • Routing and some ICMP Packets to Control Plane IPv4 Forwarding Block Receive Block Transmit Block IPv6 Forwarding Block
IPv4 Forwarding Block Receive Block Transmit Block IPv4/IPv6 Interoperability Block IPv6 Forwarding Block IPv4/IPv6 Interoperability LFB • Encapsulate/Decapsulate IPv6 in IPv4 • Supports the following IPv6 Transition mechanisms • Automatic Tunneling • Configured Tunneling • 6to4 Transition Mech
Agenda • What is IPv6? • Network Processors • NPF APIs and ForCES Protocol • Putting it all together
Control Plane Executes Routing Protocol, stacks, etc. Data Plane Wire speed packet processing Standard Interfaces NPF APIs Standardized APIs to program Data Plane Interconnect Protocol IETF ForCES NPUs:Programmability for new services NPF: Network Processing Forum ForCES: Forwarding and Control Element Separation
Network ProcessingForum • Industry-wide forum, 90+ members • Encourages the growth and effective use of network processing technology (switch fabrics, NPUs, co-processors) through • Specifications • Benchmarking • Interoperability • Education • NPF Software APIs • Software API Framework and Foundations • IPv4 Forwarding and ARP • Interface Configuration • Packet Handler API • Functional APIs
NPF IPv6 Specific APIs • New APIs • IPv6 Forwarding Table API • IPv6 Neighbor Cache API • IPv6/IPv4 Transition Mechanisms API • Extensions to Existing APIs • Interface Configuration API • Functional API • Current Status • IPv6 study group formed (June 2002) • Charter and initial deliverables being defined
Advantages of Standards • Independent Software Development from Hardware • Network Software Portable across a wide variety of hardware • Interoperability -> Vendor Independence • Easy development of New Services • Modularity -> Better Maintainability
Agenda • What is IPv6? • Network Processors • NPF APIs and ForCES Protocol • Putting it all together
Putting it all together Control Plane IPv6 Routing Stack Config. & Mgmt. Appl. NPF API Component (Including IPv6 APIs) ForCES Component Forwarding Plane Module Packet Processing Components (Incl. IPv6 LFBs) Data Plane
Summary • IPv6 enables continued growth of the Internet • IPv6 and IPv4 will need to co-exist • Network processors make it easy to track evolving standards
Acronyms • CP – Control Plane • CE – Control Element • NE – Network Equipment • FP – Forwarding Plane • FE – Forwarding Element • DP – Data Plane • NPF – Network Processing Forum • IETF – Internet Engineering Task Force
Acronyms • ForCES – Forwarding and Control Element Separation • IPv4 – Internet Protocol Version 4 • IPv6 – Internet Protocol Version 6 • PDK – Platform Development Kit • API – Application Programming Interface • LFB – Logical Function Block
Resources • NP Forum • www.npforum.org • IETF Working Groups • http://www.ietf.org/html.charters/ipv6-charter.html • http://www.ietf.org/html.charters/ngtrans-charter.html • IPv6 Forum • http://www.ipv6forum.com
IPv6 Implementations • Linux 2.2 • Sun Solaris* 2.8 • HP-UX 11i • KAME, INRIA for BSD • Windows* XP • Nortel* BayRS • Cisco* IOS 12.2 • Juniper* JUNOS 5.1 • VxWorks* WindNet IPv6 *Other names and brands may be claimed as the property of others.
NPF Software Model Applications OSPF, RIP COPS, CLI, SNMP Other Applications Control PlaneApplication Space NPF Operations NPF Services APIs System AbstractionLayer ThisArea NotDefinedby NPF Interfaces API IPv4API MPLSAPI DiffservAPI NPF Functional APIs ElementAbstractionLayer ThisArea NotDefinedby NPF ClassificationAPI Traffic MgmtAPI Packet HandlerAPI APIs Interconnect ForCES or proprietary messaging Network Processing Elements Network Processing Elements Network Processing Elements
ForCES Protocol • ForCES: Forwarding and Control Element Separation • IETF Working Group • Protocol for communication between Control Element (CE) and Forwarding Elements (FE) • Data model supporting logical functions Network Equipment Control Element ForCES Protocol Forwarding Element 1 Forwarding Element 2
IPv6 islands emerge at the edge IPv6 IPv6 IPv6 IPv6 IPv4/IPv6 IPv6 IPv6 IPv6 IPv6 IPv6 The transition to IPv6 • Core becomes dual stack • IPv6 dominance with some IPv4 legacy IPv4 IPv4 IPv4 IPv4 IPv4 IPv4 IPv4 IPv4 IPv4 IPv4
IPv6 IPv6 IPv4/IPv6 IPv4/IPv6 IPv4/IPv6 Transition:Dual-stack techniques • IPv4 and IPv6 co-exist in the same device • Use IPv4 to communicate with IPv4 devices • Use IPv6 to communicate with IPv6 devices IPv4 IPv4 Packet IPv4 IPv4 IPv4 IPv4 IPv6 Packet IPv4 IPv4 IPv4 IPv4 IPv4
Tunnel Gateway IPv6 IPv6 IPv6 IPv6 IPv4/IPv6 Transition:Tunneling techniques • Enable IPv6 devices to communicate across IPv4 networks • IPv6 packet encapsulated in an IPv4 packet IPv4 IPv4 IPv4 IPv4 Tunnel Gateway IPv4 IPv4 IPv4 IPv4 IPv4 IPv4
Translation device IPv6 IPv6 IPv6 IPv6 IPv4/IPv6 Transition:Translation techniques • Allow IPv6 devices to communicate with IPv4- only devices IPv4 IPv4 IPv4 IPv4 IPv4 IPv4 IPv4 IPv4 IPv4 IPv4
IPv6 Drivers of IPv6 Transitions • Residential Broadband • Always on new uses/services//devices • High speeds new home networks • Network enabled CE devices • Mobile & Wireless • New offer multimedia data services • Explosion of new IP-addressable handheld devices IPv6 IPv6 IPv6 • Enterprise • Geographically influenced • Emerging Markets • New networks/new users
North America Europe 2003 - 2004 2005 - 2006 2004 - 2005 Transitions by Geography Japan Asia