Cisco Nexus 9000 アーキテクチャ

Cisco Live! 2019 Melbourne で行われたセッションスライドを元に。
NEXUS CISCO ACI
118view 0コメント
このまとめをお気に入りにして応援しよう!
0
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture"は #CiscoNexus シリーズの中で最新のアーキテクチャである Nexus 9000シリーズとそれを支えるCloud Scale ASICに特にフォーカスしたセッションです。10/40Gへの移行を支えたNexus 5k / 7k から、100/400Gへの発展を担うNexus 9kへと進化は続きます。 pic.twitter.com/nNCTJSUdTK
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" スイッチが担うスイッチングという処理自体は変わらずとも、その高速化を支える技術は進化し続けています。Bus接続からCrossbar接続へ、そしてASIC間接続へ、100Mから100Gへの1万倍の性能向上はそれを支えるアーキテクチャの進化の歴史でもあります。 pic.twitter.com/lSigILP9np
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" 高速処理を実現する手法として用いられる手段の1つがコンポーネントの統合です。同じASICでも1 Chipで処理している範囲は異なります。たとえばNexus 7kとNexus 9kのラインカード上のチップ搭載数を見ることがあれば、その違いは明確で9kはスカスカです。 pic.twitter.com/Bz2p3AM4f2
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" 現在のスイッチ用ASICは、以前であれば別々のチップで処理していた機能を統合したまさに"Switch On Chip"となっています。Cloud Scale ASICを搭載したNexus 9000はその最たる例で、驚くほど基板上にチップが少ない実装となっています。 pic.twitter.com/huW574t1TJ
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" 第1世代のNexus 9000では、ネットワーク転送の基本処理は汎用ASICにまかせ独自性が求められる範囲のみを対象とした自社ASICも搭載するDual ASIC実装でした。開発リソースを自社ASIC機能範囲に集中できる利点と引き換えにスケールが制約されていました。 pic.twitter.com/fuA0WmjcGv
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" 第2世代以降の #CiscoNexus 9000シリーズでは転送処理を含む全機能をCloud Scale ASICとして単一ASIC実装しています。大幅にスケール性能が向上すると共に、転送処理レベルで制御できる自由度が向上し #CiscoACI の様々な機能実装にも活用されています。 pic.twitter.com/hnwf98nwfJ
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" Cloud Scale ASICは、ASICとしてはかなり驚異的なスピードで開発され続けています。そのASICの開発スピードとそれを活用したソフトウェアの開発の両輪を全て自社でコントロールできるところがASICを自社で開発することの大きなメリットです。 pic.twitter.com/0pgmlJmzfw
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" Cloud Scale ASICでは、見た目としてはシングルチップでも内部的には複数のSliceから構成されているものがあります。多くの場合、最初に複数Sliceのチップとして提供が開始され、その後単一もしくはより少ないSlice数へと発展していきます。 pic.twitter.com/VYU8jjdY5c
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" ASIC内のSliceはそれぞれIngressとEgressの両方の処理が実装されており、入力パケットはPacket ParserによってLoopup Pipelineを通されて適切なEgress Sliceへと送られます。出力パケットは送出順の整理やポリシー適用が行われた上で送出処理されます。 pic.twitter.com/XzU6f0SNvp
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" パケットを受信したCloud Scale ASICのSliceでは、Packet Parserにより転送先の確認や分類、優先度制御などの各処理を担うLookup Pipelineを通された上で、Egress Sliceへと送出されます。 pic.twitter.com/7qrIY7N7uN
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" Cloud Scale ASICの持つ特徴的な機能がFlex Tileです。Lookup処理の中で参照先として使われるTileのTable割当バランスは変更が可能となっており、Border LeafではLPMを多めに、ACIでポリシーを多用する際にはPolicyを多めに等調整が可能になっています。 pic.twitter.com/gwwYN9uhuf
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" Flex Tileの機能は Stand-aloneな #CiscoNexus でも #CiscoACI でもどちらでもご利用頂けます。事前に定義されたテンプレートを適用し再起動することによって有効化されます。 pic.twitter.com/MWRr3guVai
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" IP Unicastの転送処理ではVRF毎に分類された上でHRT (Host Route Table)とLPM (Longest Prefix Match)による宛先決定が処理された上でFabric内のMulti-pathでの利用経路を決定する処理が行われて送り出されます。 pic.twitter.com/jBbcCBPo9d
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" VXLAN転送のEncap/Decap処理も全てASICレベルで行われるため、VXLAN処理が遅延につながることはありません。 pic.twitter.com/OEZriLo6CV
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" Multicastの転送処理についても、Unicast同様にASICでの転送処理が行われます。MRoute Lookup後、Reverse Path Forwarding (RPF)チェックとMulticast Expansion Table (MET)により出力先の決定が行われて送出されます。 pic.twitter.com/DUJ47VinEs
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" TCAMはパケットの分類を行うために用いられ、各種ACLやQoS、SPAN、CoPP、FTEのためのフィルタ等、ASICレベルの転送処理の制御に用いられるSlice上の専用メモリ空間です。Cloud Scale ASICではモデルごとにIngress/Egress用のTCAM割当が決まっています。 pic.twitter.com/Kl1Gstbfbo
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" TCAMの割当は変更することが可能となっていますが、容量は限られているため何かを増やす場合は何かを減らす必要があります。割当の変更はFlex Tile同様に再起動により有効化されます。 pic.twitter.com/dWs9sh6BnR
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" スイッチの状態を把握するには、CPUを通じて把握できるプロセスやプロトコル等の状態だけでなく、ASICレベルで処理されている転送処理の状態の把握も重要です。ASICレベルの情報を如何にCPU負荷をかけずに取得する仕組みを提供するのか、も重要です。 pic.twitter.com/48Zy5rrx6E
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" Cloud Scale ASICはASICレベルのデータプレーンにおける転送処理の情報や、ASIC自身の処理に関する統計情報を出力するための仕組みとしてFlow Table (FT), Flow Table Export (FTE), Streaming Statistics Export (SSX)と呼ばれる機能を実装しています。 pic.twitter.com/pryrQW10zf
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" Flow Table (FT)は、データプレーンレベルの全フローの情報とメタデータをASICレベルで取得・送出します。 #CiscoTetration, #CiscoNetworkInsights, NetFlowなどで取得されたフローデータを利用することが可能です。 pic.twitter.com/9TQyBXzchF
 拡大
Takao Setaka @twtko
#CLMEL BRKDCT-3640 "Nexus 9000 Architecture" Flow Tableで取得したデータをNetFlowレコードとして出力する場合には、FTデータをCPUでフローレコードにした上でNetFlowコレクタ宛に出力する必要があるため、完全なASICレベルだけの処理ではなくなります。 pic.twitter.com/rX5tAgGDZp
 拡大
ログインして広告を非表示にする
ログインして広告を非表示にする