software packet processing and hardware packet processing

12
Copyright 2016 Yoshihiro Nakajima, Kentaro Ebisawa Licensed under the Apache License, Version 2.0 Software Packet Processing and Hardware Packet Processing — Architecture — JANOG 37 @ Nagoya Kentaro Ebisawa [email protected] | Twitter: @ebiken Janog 37 software & hardware packet processing | Kentaro Ebisawa | January 22, 2016 1

Upload: others

Post on 07-Apr-2022

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Packet Processing and Hardware Packet Processing

Copyright2016YoshihiroNakajima,KentaroEbisawaLicensedundertheApacheLicense,Version2.0

Software Packet Processing and

Hardware Packet Processing

— Architecture —JANOG 37 @ Nagoya

Kentaro [email protected] | Twitter: @ebiken

Janog37software&hardwarepacketprocessing|KentaroEbisawa|January22,2016 1

Page 2: Software Packet Processing and Hardware Packet Processing

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)

Page 3: Software Packet Processing and Hardware Packet Processing

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

Page 4: Software Packet Processing and Hardware Packet Processing

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

Page 5: Software Packet Processing and Hardware Packet Processing

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

Page 6: Software Packet Processing and Hardware Packet Processing

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

Page 7: Software Packet Processing and Hardware Packet Processing

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

Page 8: Software Packet Processing and Hardware Packet Processing

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

Page 9: Software Packet Processing and Hardware Packet Processing

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

Page 10: Software Packet Processing and Hardware Packet Processing

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

Page 11: Software Packet Processing and Hardware Packet Processing

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

Page 12: Software Packet Processing and Hardware Packet Processing

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