View
10
Download
0
Category
Preview:
Citation preview
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
Software Packet Processing and
Hardware Packet Processing
— Architecture —JANOG 37 @ Nagoya
Kentaro Ebisawaebiken.g@gmail.com | Twitter: @ebiken
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 1
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
Network relatedSelection and Deployment Support of
international NW productsIPsec, ADSL, L2TP, ATM, MPLS (focused on
Edge)@Netmarks
Engineer & Manager @ Support Center
Content delivery & storage @NetApp
Design/development of network equipment
IPv6v4 Gateway (ASIC) @Sable NetworksOpenFlow switch (FPGA) @Riava Networks
Network OS @Ponto Networks
Self introduction: Kentaro Ebisawa
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 2
OthersSaaS development
@SGI / MEX
Design and Build support for OSS/BSS
Solution Architect @ParallelsSaaS/IaaS launch assistance
at Asian telecom carrier
CommunityVyatta Users Group
(former)Lagopus Users GroupOpenVZ (Virtuozzo)
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
Today’s talk
1. Router (L3 switch) Architecture Overview
2. About Packet Processing
3. Differences between Hardware (ASIC) and Software (CPU)
(focused on Architecture)
...differences between hardware and softwareby Nakajima (details)...
advantages & disadvantages; bottleneck comparisonJanog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 3
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
Function Block of Router (Layer 3 switch)
Adjacent routers
Router (Layer 3 switch)
D-plane
C-plane
D-plane
C-plane
Management/policy-plane
Forwarding table (FIB)
Packet processing
BGPd
CLI / Configuration/ NETCONF
BGPd
Routing table (RIB)
OSPFd
Routing daemon
Adjacent routers
D-plane
C-planeBGPd
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 4
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
The general architecture of a router (Layer 3 switch)
• Management-plane (M-plane)• Sets the interfaces, address, and routing protocols
• CLI, NETCONF, RESTCONF• Provides operational status for monitoring
• SNMP, syslog
• Control-plane (C-plane)• Looks up adjacent nodes and network topology
Processes routing protocols• BGP, OSPF, ISIS
• Updates and Manages Routing Information Base (RIB) / Forwarding Information Base (FIB), based on routing information
• Data-plane (D-plane)• Forwards and Processes the transit traffic (packets) based on FIB
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 5
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
Type of packet to be processed (1) | Transit traffic (packets)
Adjacent routers
Routers, Layer 3 switches
D-plane
C-plane
D-plane
C-plane
Management/policy-plane
Forwarding table (FIB)
Packetprocessing
BGPd
CLI / Configuration/ NETCONF
BGPd
Routing table (RIB)
OSPFd
Routing daemon
Adjacent routers
D-plane
C-planeBGPd
Transit traffic Transit traffic
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 6
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
Type of packet to be processed (2) | Route Exchange with adjacent nodes via BGP
Adjacent routers
Routers, Layer 3 switches
D-plane
C-plane
D-plane
C-plane
Management/policy-plane
Forwarding table (FIB)
Packet processing
BGPd
CLI / Configuration/ NETCONF
BGPd
Routing table (RIB)
OSPFd
Routing daemon
Adjacent routers
D-plane
C-planeBGPd
Logical connection Logical connection
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 7
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
What’s the difference between hardware implementation and software implementation?• Besides the difference in D-plane implementation, they have nearly the
same construct• The difference is whether “dedicated hardware or ASIC” is used for high-
speed packet processing (Fast Pass), or all are implemented by “software”. Routers and Layer 3 switches
D-plane
C-plane
Management/policy-plane
Forwarding table (FIB)
Packet processing
CLI / Configuration/ NETCONF
BGPd
Routing table (RIB)
OSPFd
Routing daemon
Type Hardware implementation
Software implementation
M-planeImplementation: software on CPU controlling switchOS: Linux/BSD
Implementation: software on CPUOS: Linux/BSD
C-planeImplementation: software on CPU controlling switchOS: Linux/BSD
Implementation: software on CPUOS: Linux/BSD
D-plane
Implementation: packet processing implemented on ASIC or FPGA as fixed circuitPacket I/O: dedicated circuit
Implementation: software on CPUPacket I/O: via NIC (PCIe)OS: Linux/BSD
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 8
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
D-plane basic processing
Transit-trafficTransit-traffic Transit-traffic
Hardware implementation of packet processing
Modernsoftware implementation of
packet processing
Software implementation of packet processing
through OS NW stack
Software implementation Hardware implementation
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 9
Memory
NIC
PCI-Exp
Memory
Phy
Network stack
CPU
Signaling,C-plane
msg PCI-Exp
Memory
Phy
HW fast pass
Networkstack
CPU forHardwareControl
Signaling,C-plane
msgMemory
NIC
PCI-Exp
Memory
Phy
Soft fast pass
Network stack
CPU
Signaling,C-plane
msg
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
Actual configuration
Software implementation(general purpose PC server)
Hardware implementation(commercial silicon switch)
Commercial switchSilicon
CPU
PCIe
Phy PhyPhy
Reference: IntelReference: White Box L3 switch
SwitchControlCPU
CPUCPU
MemoryMemory
Phy/NIC PCIe
Memory
Transit-trafficSignaling, C-plane msgTransit-traffic
Signaling, C-plane msg
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 10
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
The biggest difference = How transit packets are processed
•Hardware: Processed on ASIC (dedicated HW)•Software: Processed on CPU
White-box switches also performpacket processing on dedicated hardware (ASIC)
(although it looks like Linux)
Control packets are both processed by CPU
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 11
Summary
Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0
To be continued...... the differences between hardware and software (details)... advantages & disadvantages, and bottleneck comparison
Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 12
Recommended