Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
ogatay
20,910 views
TCAMのしくみ
Read more
31
Save
Share
Embed
Embed presentation
Download
Downloaded 119 times
1
/ 18
2
/ 18
Most read
3
/ 18
4
/ 18
5
/ 18
6
/ 18
7
/ 18
8
/ 18
9
/ 18
10
/ 18
11
/ 18
12
/ 18
Most read
13
/ 18
14
/ 18
15
/ 18
16
/ 18
17
/ 18
18
/ 18
Most read
More Related Content
PDF
BGP Unnumbered で遊んでみた
by
akira6592
PPTX
iostat await svctm の 見かた、考え方
by
歩 柴田
PDF
CXL_説明_公開用.pdf
by
Yasunori Goto
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
PDF
Protocol Buffers 入門
by
Yuichi Ito
PDF
大規模サービスを支えるネットワークインフラの全貌
by
LINE Corporation
PDF
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
PDF
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
by
Toru Makabe
BGP Unnumbered で遊んでみた
by
akira6592
iostat await svctm の 見かた、考え方
by
歩 柴田
CXL_説明_公開用.pdf
by
Yasunori Goto
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
Protocol Buffers 入門
by
Yuichi Ito
大規模サービスを支えるネットワークインフラの全貌
by
LINE Corporation
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
by
Toru Makabe
What's hot
PPTX
ConfD で Linux にNetconfを喋らせてみた
by
Akira Iwamoto
PDF
ロードバランスへの長い道
by
Jun Kato
PDF
NETCONFとYANGの話
by
Masakazu Asama
PDF
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
by
Yahoo!デベロッパーネットワーク
PDF
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
by
VirtualTech Japan Inc.
PDF
検証環境をGoBGPで極力仮想化してみた
by
Toshiya Mabuchi
PDF
閉域網接続の技術入門
by
Masayuki Kobayashi
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PDF
MySQL 5.7にやられないためにおぼえておいてほしいこと
by
yoku0825
PDF
プログラマ目線から見たRDMAのメリットとその応用例について
by
Masanori Itoh
PDF
GPU仮想化最前線 - KVMGTとvirtio-gpu -
by
zgock
PDF
10分でわかる Cilium と XDP / BPF
by
Shuji Yamada
PDF
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
by
Atsushi Tanaka
PDF
FPGA+SoC+Linux実践勉強会資料
by
一路 川染
PDF
ネットワークコンフィグ分析ツール Batfish との付き合い方
by
akira6592
PDF
"SRv6の現状と展望" ENOG53@上越
by
Kentaro Ebisawa
PPTX
あなたのところに専用線が届くまで
by
Tomohiro Sakamoto(Onodera)
PDF
JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
by
NTT DATA Technology & Innovation
PPTX
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
by
シスコシステムズ合同会社
PDF
Ethernetの受信処理
by
Takuya ASADA
ConfD で Linux にNetconfを喋らせてみた
by
Akira Iwamoto
ロードバランスへの長い道
by
Jun Kato
NETCONFとYANGの話
by
Masakazu Asama
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
by
Yahoo!デベロッパーネットワーク
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
by
VirtualTech Japan Inc.
検証環境をGoBGPで極力仮想化してみた
by
Toshiya Mabuchi
閉域網接続の技術入門
by
Masayuki Kobayashi
Docker Compose 徹底解説
by
Masahito Zembutsu
MySQL 5.7にやられないためにおぼえておいてほしいこと
by
yoku0825
プログラマ目線から見たRDMAのメリットとその応用例について
by
Masanori Itoh
GPU仮想化最前線 - KVMGTとvirtio-gpu -
by
zgock
10分でわかる Cilium と XDP / BPF
by
Shuji Yamada
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
by
Atsushi Tanaka
FPGA+SoC+Linux実践勉強会資料
by
一路 川染
ネットワークコンフィグ分析ツール Batfish との付き合い方
by
akira6592
"SRv6の現状と展望" ENOG53@上越
by
Kentaro Ebisawa
あなたのところに専用線が届くまで
by
Tomohiro Sakamoto(Onodera)
JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
by
NTT DATA Technology & Innovation
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
by
シスコシステムズ合同会社
Ethernetの受信処理
by
Takuya ASADA
Similar to TCAMのしくみ
PDF
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
by
Ruo_Ando
PDF
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
by
Ruo Ando
PDF
演習発表 Sari v.1.1
by
Lutfiana Ariestien
PDF
NLP2012
by
Yuki Nakayama
PDF
神成淳司研究室 特別講義 - 符号化と正規化
by
Yutaro Ono
PDF
M1gp2012_sakamoto
by
ksakamoto416
PPT
20140310 fpgax
by
funadasatoshi
PDF
『どうする?どうやる? データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
by
Yukihiro Kikuchi
PDF
研究動向から考えるx86/x64最適化手法
by
Takeshi Yamamuro
PDF
演習発表 Sari v.1.2
by
Lutfiana Ariestien
PPTX
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
by
Kota Abe
PDF
Google 20130218
by
Takefumi MIYOSHI
PDF
Ibisml2011 06-20
by
Yasuo Tabei
PDF
超連射68K 開発日記 -弾幕世代以前の90年代 STG のこと-
by
IGDA Japan
PDF
IEICE technical report (RECONF), January 2013.
by
Ryohei Kobayashi
PDF
Hadoop
by
Masayoshi Hagiwara
PDF
CODE THANKS FESTIVAL 2014 A日程 解説
by
AtCoder Inc.
PDF
2011 icse-reverse engineering feature models
by
n-yuki
PDF
HistoPyramid Stream Compaction
by
dasyprocta
PDF
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
by
Panda Yamaki
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
by
Ruo_Ando
法政大学情報科学部 2012年度コンピュータネットワーク-第3回授業-Web公開用
by
Ruo Ando
演習発表 Sari v.1.1
by
Lutfiana Ariestien
NLP2012
by
Yuki Nakayama
神成淳司研究室 特別講義 - 符号化と正規化
by
Yutaro Ono
M1gp2012_sakamoto
by
ksakamoto416
20140310 fpgax
by
funadasatoshi
『どうする?どうやる? データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
by
Yukihiro Kikuchi
研究動向から考えるx86/x64最適化手法
by
Takeshi Yamamuro
演習発表 Sari v.1.2
by
Lutfiana Ariestien
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
by
Kota Abe
Google 20130218
by
Takefumi MIYOSHI
Ibisml2011 06-20
by
Yasuo Tabei
超連射68K 開発日記 -弾幕世代以前の90年代 STG のこと-
by
IGDA Japan
IEICE technical report (RECONF), January 2013.
by
Ryohei Kobayashi
Hadoop
by
Masayoshi Hagiwara
CODE THANKS FESTIVAL 2014 A日程 解説
by
AtCoder Inc.
2011 icse-reverse engineering feature models
by
n-yuki
HistoPyramid Stream Compaction
by
dasyprocta
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
by
Panda Yamaki
TCAMのしくみ
1.
スイッチ・ルータのしくみ 〜TCAMのしくみ〜
@yogata 2013/2/24 1
2.
高速に転送するには — 受信・転送先決定・転送 を高速に行う
← 結論 — でも,,, — 送受信のEO/変換やSerDes(シリアル化,非シリアル化)な はハードウェアで実装されていて,既に高速で処理可能 — そこで,転送先決定の中身に着目 3.転送 1.受信 2.転送先決定 Switch/Router 2
3.
転送部でやること — パケットヘッダとエントリ(ルーティング・フォワーディング・
NDP/ARPテーブル等)を比較してマッチするエントリを探す — ポイント — 例えばACLの探索 — プレフィックス指定やANY指定でのマッチングを行う — 例えばルーティングの探索 — ロンゲストマッチを行う →複数のエントリにマッチする場合,プレフィックス長をみて探索 3
4.
マッチング — いろんなやりかた (たとえばルーティングの場合)
— ソフトウェア — パケットヘッダに対して,エントリを1つずつ比較して,最後にマッ チした全エントリの中からプレフィックス長が最大のエントリを探 す (シーケンシャルマッチング) — 事前にプレフィックス長でルーティングエントリをグループ化して おき,プレフィックス長が大きい方から順番にマッチングする ( シーケンシャルマッチング+エントリソート) — 探索木を作ってマッチングする (探索木) — ハードウェア — TCAM 4
5.
マッチするエントリの探索 — (1)パケットヘッダに対してエントリを1つずつ比較して,(2)
最後にマッチした全エントリの中からプレフィックス長が最 大のエントリを探す (シーケンシャルマッチング) パケットヘッダ ルーティングテーブル (1)全部とマッチして DstIP:192.0.2.100 192.0.0.0/8 192.168.0.0/24 192.0.2.0/24 10.0.0.0/8 (2)プレフィックス長が 最大のエントリを探す 5
6.
マッチするエントリの探索 — 事前にプレフィックス長でルーティングエントリをグループ化
しておき,プレフィックス長が大きい方から順番にマッチング する パケットヘッダ ルーティングテーブル DstIP:192.0.2.100 /8 192.0.0.0 10.0.0.0 ・・・ /24 192.168.0.0 192.0.2.0 ・・・ — マッチした時点で処理を終えることができる 6
7.
マッチするエントリの探索
— 探索木 111* 110* 101* 100* 011* 010* 001* 000* R0,R1,R5,R6 R2,R3,R4 R7 R8 R9 R10,R11 引用元 http://cseweb.ucsd.edu/~susingh/papers/hyp-sigcomm03.pdf HiCutアルゴリズムの場合 7
8.
マッチするエントリの探索 — TCAM
— Ternary Content Addressable Memory — TCAM:マッチングを行う専用のハードウェア — 0, 1, どちらでも良いの3値(ternary)でマッチングを行う — CAMだと,0, 1の2値でマッチングを行う 8
9.
(T)CAMのしくみ
— (T)CAMの3つのしくみ (1) 入力 (2) マッチング (3) 出力 (2)マッチング (3)出力 (1)入力 引用元 http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf 9
10.
(T)CAMのしくみ
— (1)入力 — パケットヘッダXをもとに,Xと¬Xを比較部に渡す ¬X0 X0 X 引用元 http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf 10
11.
(T)CAMのしくみ
— (2)マッチング (CAMの場合) ルールのプライオリティ順に事前に並べておく ルーティングテーブルやACLの各ルール CAMのワードビットサイズ 各ルールの1ビット マッチング 結果(出力) Priority Encoder エントリ数 C C ヘッダ情報 SRAMベース とルールの ヘッダ情報 のメモリ マッチング (入力) (6トランジスタ) 引用元 http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf 11
12.
(T)CAMのしくみ
— (2)マッチング (CAMの場合) C=0 C=1 ・緑枠はマッチしているパターン X0=0 ・この例では,Xと¬C・¬XとCを 比較 ・マッチすれば不一致なので MLをLOWにする (GNDに落とす) X0=1 ・全ビットでマッチすれば終端で ML(Match Line)がHIGHの ままとまる HIGH LOW 引用元 http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf 12
13.
(T)CAMのしくみ
— (2)マッチング (TCAMの場合) — CAMにSRAMをつけたもの ・SRAMが1だと このビットはマッチとなる ・SRAMが0だと下のマッチングに したがって結果を返す CAM 引用元 http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf 13
14.
(T)CAMのしくみ — (3)出力
— 比較部ではマッチしたすべてのエントリを返すので,出力部で 最もプライオリティの高いエントリを選択する →プライオリティエンコーダ 14
15.
(T)CAMのしくみ — (3)出力 (プライオリティエンコーダ)
— マッチしたエントリD0-3の結果に応じた出力xyVを求める 引用元 http://filebox.ece.vt.edu/~jgtront/introcomp/encoder.swf 15
16.
(T)CAMのしくみ — (3)出力 (プライオリティエンコーダ)
— 結果を回路にする 引用元 http://filebox.ece.vt.edu/~jgtront/introcomp/encoder.swf — エントリ数が多いと大変 16
17.
まとめ — TCAMはマッチングが早いが,消費電力が大きい (らしい)
— パケットとエントリのマッチングをビット単位で並列で実施する — その結果を集約することでマッチしたエントリを探索する — 複数エントリをマッチした場合は,事前に最上位エントリほど 優先度が高いように設定しているため,専用回路(プライオリ ティエンコーダ)を使って最優先エントリを確定する — これらすべてのマッチングを行う専用回路を用意し,1クロック でマッチングが完了することから,非常に高速にマッチングを 行える — ただし,回路全体を使う必要があるため消費電力が大きい 17
18.
参考 — Content-Addressable Memory
(CAM) Circuits and Architectures: A Tutorial and Survey — http://www.pagiamtzis.com/pubs/pagiamtzis- jssc2006.pdf — Intro to Computer Engineering Tutorial Material — http://filebox.ece.vt.edu/~jgtront/introcomp/ — Packet Classification Using Multidimensional Cutting — http://cseweb.ucsd.edu/~susingh/papers/hyp- sigcomm03.pdf 18
Download