12
Copyright 2016 Yoshihiro Nakajima, Kentaro Ebisawa Licensed under the Apache License, Version 2.0 ソフトウェアパケット処理と ハードウェアパケット処理 ~アーキテクチャ~ JANOG 37 @ 名古屋 海老澤 健太郎 [email protected] | Twitter: @ ebiken Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa2016/01/22 1

ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

ソフトウェアパケット処理とハードウェアパケット処理

~アーキテクチャ~JANOG 37@名古屋

海老澤健太郎

[email protected] | Twitter: @ebiken

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 1

Page 2: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

ネットワーク系

海外NW製品の選定・導入支援IPsec, ADSL, L2TP, ATM, MPLS (Edge中心)

@Netmarks

サポセンエンジニア&マネージャーコンテンツ配信&ストレージ@NetApp

ネットワーク機器の設計/開発IPv6v4 Gateway (ASIC) @Sable Networks

OpenFlow switch (FPGA) @Riava NetworksNetwork OS @Ponto Networks

自己紹介 :海老澤健太郎 (Kentaro Ebisawa)

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 2

その他

SaaSサービス開発@SGI / MEX

OSS/BSSの設計・構築支援Solution Architect @Parallelsアジア通信キャリアでのSaaS/IaaS立ち上げ支援

コミュニティ

Vyatta Users Group (元)Lagopus Users GroupOpenVZ (Virtuozzo)

Page 3: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

本日のお話

1.ルータ(L3スイッチ)アーキテクチャ概要

2.パケット処理について

3.ハードウェア(ASIC) と ソフトウエア(CPU)

の違い (アーキテクチャ中心に)

...中島さんによるハードとソフトの違い(詳細) ...

メリット・デメリット、ボトルネック比較

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 3

Page 4: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

ルータ(Layer 3スイッチ)の機能ブロック

隣接ルータ ルータ (Layer 3スイッチ)

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

隣接ルータ

D-plane

C-plane

BGPd

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 4

Page 5: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

ルータ(Layer 3スイッチ)の一般的なアーキテクチャ

• Management-plane (M-plane)• インターフェース,アドレス,ルーティングプロトコルを設定

• CLI, NETCONF, RESTCONF

•運用に必要なモニタリング機能の提供• SNMP, syslog

• Control-plane (C-plane)•隣接ノードやネットワークトポロジの探索

経路交換のためのルーティングプロトコルの処理• BGP, OSPF, ISIS

•経路交換情報をもとに Routing Information Base (RIB)

と Forwarding Information Base (FIB)の更新や管理

• Data-plane (D-plane)• FIBをもとにトランジットトラヒック(パケット)を転送・処理

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 5

Page 6: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

処理するパケットの種類(1)|トランジットトラヒック(パケット)

隣接ルータ ルータ・Layer 3スイッチ

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

隣接ルータ

D-plane

C-plane

BGPd

トランジットトラヒック トランジットトラヒック

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 6

Page 7: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

処理するパケットの種類(2)|隣接ノードとBGPによる経路交換

隣接ルータ ルータ・Layer 3スイッチ

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

隣接ルータ

D-plane

C-plane

BGPd論理的な接続 論理的な接続

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 7

Page 8: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

HW実装とソフト実装は何が違うのか?

• D-planeの実装の違い以外はほぼ同じ構成

•高速パケット処理 (Fast Pass) を「専用HWやASICを使う」か、「すべてソフト実装」なのかの違い

ルータ・Layer 3 スイッチ

D-plane

C-plane

Management/policy-plane

Forwarding table (FIB)

Packet processing

CLI / Configuration/ NETCONF

BGPd

Routing table (RIB)

OSPFd

Routing daemon

種別 HW実装 ソフトウエア実装

M-plane実装: スイッチ制御CPU上のソフトウエアOS: Linux/BSD

実装: CPU上のソフトウエアOS: Linux/BSD

C-plane実装: スイッチ制御CPU上のソフトウエアOS: Linux/BSD

実装: CPU上のソフトウエアOS: Linux/BSD

D-plane(Fast pass)

実装:パケット処理を回路としてASICやFPGAで実装パケットI/O: 専用回路

実装: CPU上のソフトウエアパケットI/O: NIC経由(PCI-exp)OS: Linux/BSD

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 8

Page 9: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

D-planeでの主な処理

Transit-trafficTransit-traffic Transit-traffic

HW実装のパケット処理モダンな

ソフト実装のパケット処理OSのNWスタックによるソフト実装のパケット処理

ソフト実装 HW実装

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 9

Memory

NIC

PCI-Exp

Memory

Phy

Network stack

CPU

Sign

alin

g, C

-pla

ne

msg PCI-Exp

Memory

Phy

HW fast pass

Network stack

HW制御用CPU

Sign

alin

g, C

-pla

ne

msgMemory

NIC

PCI-Exp

Memory

Phy

Soft fast pass

Network stack

CPU

Sign

alin

g, C

-pla

ne

msg

Page 10: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

実機構成

ソフト実装の(汎用PCサーバ)

ハード実装の構成(商用スイッチシリコンスイッチ)

商用スイッチシリコン

CPU

PCIe

Phy PhyPhy

Reference: IntelReference: White Box L3 switch

スイッチ制御CPU

CPUCPU

メモリメモリ

Phy/NIC PCIe

メモリ

Transit-trafficSignaling, C-plane msg

Transit-traffic

Signaling, C-plane msg

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 10

Page 11: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

1番の違い=(トランジット)パケット処理方法•ハードウェア:ASIC (専用HW)で実施

•ソフトウェア:CPUで実施

ホワイトボックススイッチも

パケット処理はハードウェア

(Linuxに見えるけど)

コントロールパケットはどちらもCPUで処理

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 11

まとめ

Page 12: ソフトウェアパケット処理と ハードウェアパケット処理 ......2016/01/22  · Packet processing BGPd CLI / Configuration/ NETCONF Routing table (RIB) OSPFd Routing

Copyright 2016 Yoshihiro Nakajima, Kentaro EbisawaLicensed under the Apache License, Version 2.0

続く...ハードとソフトの違い(詳細)

メリット・デメリット、ボトルネック比較

Janog 37 ソフトウェア&ハードウェアパケット処理|Kentaro Ebisawa|2016/01/22 12