Submit Search
スイッチ・ルータのしくみ
64 likes
19,887 views
ogatay
最終更新は2013.7.14です.以下でLTした資料に加筆しました. ・カーネル/VM探検隊@TKB 2012.9.22 ・自宅ラック勉強会 2012.10.8
Technology
Read more
1 of 57
Download now
Downloaded 160 times
1
2
3
4
Most read
5
Most read
6
7
8
9
10
Most read
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
More Related Content
PDF
バックボーン運用から見るインターネットの実情
IIJ
PDF
AS45679 on FreeBSD
Tomocha Potter
PDF
インターネットの舞台裏
Taiji Tsuchiya
PPTX
自宅インフラの育て方 第2回
富士通クラウドテクノロジーズ株式会社
PDF
インターネットの仕組みとISPの構造
Taiji Tsuchiya
PDF
30分でわかる! コンピュータネットワーク
Trainocate Japan, Ltd.
PDF
大規模DCのネットワークデザイン
Masayuki Kobayashi
PPTX
あなたのところに専用線が届くまで
Tomohiro Sakamoto(Onodera)
バックボーン運用から見るインターネットの実情
IIJ
AS45679 on FreeBSD
Tomocha Potter
インターネットの舞台裏
Taiji Tsuchiya
自宅インフラの育て方 第2回
富士通クラウドテクノロジーズ株式会社
インターネットの仕組みとISPの構造
Taiji Tsuchiya
30分でわかる! コンピュータネットワーク
Trainocate Japan, Ltd.
大規模DCのネットワークデザイン
Masayuki Kobayashi
あなたのところに専用線が届くまで
Tomohiro Sakamoto(Onodera)
What's hot
(20)
PPTX
フロー技術によるネットワーク管理
Motonori Shindo
PDF
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
Akira Nakagawa
PDF
閉域網接続の技術入門
Masayuki Kobayashi
PDF
ネットワーク構築訓練 入門
株式会社 NTTテクノクロス
PDF
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
自宅サーバラックの勧め BGP4編
h-otter
PDF
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Kiyotaka Doumae
PDF
本当は楽しいインターネット
Yuya Rin
PDF
IX事業者とインターネットの未来
Yoshiki Ishida
PPTX
トランザクションの設計と進化
Kumazaki Hiroki
PPTX
FD.io VPP事始め
tetsusat
PDF
ネットワークエンジニアはどこでウデマエをみがくのか?
Yuya Rin
PPTX
「おうちクラウド」が今熱い!
Hirotaka Sato
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
PDF
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
PDF
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
Satoshi Matsumoto
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
PDF
ISPの向こう側、どうなってますか
Akira Nakagawa
PDF
IPv4/IPv6 移行・共存技術の動向
Yuya Rin
PDF
BGP Unnumbered で遊んでみた
akira6592
フロー技術によるネットワーク管理
Motonori Shindo
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
Akira Nakagawa
閉域網接続の技術入門
Masayuki Kobayashi
ネットワーク構築訓練 入門
株式会社 NTTテクノクロス
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
自宅サーバラックの勧め BGP4編
h-otter
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Kiyotaka Doumae
本当は楽しいインターネット
Yuya Rin
IX事業者とインターネットの未来
Yoshiki Ishida
トランザクションの設計と進化
Kumazaki Hiroki
FD.io VPP事始め
tetsusat
ネットワークエンジニアはどこでウデマエをみがくのか?
Yuya Rin
「おうちクラウド」が今熱い!
Hirotaka Sato
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
Wakamonog6 “ISPのネットワーク”って どんなネットワーク?
Satoshi Matsumoto
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
ISPの向こう側、どうなってますか
Akira Nakagawa
IPv4/IPv6 移行・共存技術の動向
Yuya Rin
BGP Unnumbered で遊んでみた
akira6592
Ad
Similar to スイッチ・ルータのしくみ
(20)
PDF
さくらのクラウドインフラの紹介
SAKURA Internet Inc.
KEY
Openvswitch vps 20120429資料
Daisuke Nakajima
PDF
低遅延Ethernetとファブリックによるデータセンタ・ネットワーク
Naoto MATSUMOTO
PDF
プログラマ目線から見たRDMAのメリットとその応用例について
Masanori Itoh
PPTX
Mashup Award 7 Caravan in Fukuoka
Kazumi Hirose
PDF
Vyatta: The Virtual Router for Cloud Computing Enviroment
Naoto MATSUMOTO
PPTX
Cisco ios
ssuserc9df1e
PPTX
Cisco ios
ssuser021e0d
PDF
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
PDF
hbstudy25 劇的ビフォーアフター
semind
PDF
NSDI16_reading
紘也 金子
PDF
高速ネットワーク技術と周辺動向(特別講義)
Naoto MATSUMOTO
PDF
L2 over L3 ecnaspsulations
Motonori Shindo
PDF
『どうする?どうやる? データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
Yukihiro Kikuchi
PDF
wakamonog6 Routing Tutorial
Naohide Kamitani
PPTX
NW-DIY で開拓したい社会
啓章 加嶋
PDF
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
Ryousei Takano
PPT
Tremaで構築!中小企業の社内LAN #Tremaday 120419
エイシュン コンドウ
PDF
RDMA for Windows Server 2012
Naoto MATSUMOTO
PDF
クラウドインターネットルータ
Yasuhito Takamiya
さくらのクラウドインフラの紹介
SAKURA Internet Inc.
Openvswitch vps 20120429資料
Daisuke Nakajima
低遅延Ethernetとファブリックによるデータセンタ・ネットワーク
Naoto MATSUMOTO
プログラマ目線から見たRDMAのメリットとその応用例について
Masanori Itoh
Mashup Award 7 Caravan in Fukuoka
Kazumi Hirose
Vyatta: The Virtual Router for Cloud Computing Enviroment
Naoto MATSUMOTO
Cisco ios
ssuserc9df1e
Cisco ios
ssuser021e0d
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
hbstudy25 劇的ビフォーアフター
semind
NSDI16_reading
紘也 金子
高速ネットワーク技術と周辺動向(特別講義)
Naoto MATSUMOTO
L2 over L3 ecnaspsulations
Motonori Shindo
『どうする?どうやる? データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
Yukihiro Kikuchi
wakamonog6 Routing Tutorial
Naohide Kamitani
NW-DIY で開拓したい社会
啓章 加嶋
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
Ryousei Takano
Tremaで構築!中小企業の社内LAN #Tremaday 120419
エイシュン コンドウ
RDMA for Windows Server 2012
Naoto MATSUMOTO
クラウドインターネットルータ
Yasuhito Takamiya
Ad
スイッチ・ルータのしくみ
1.
スイッチ・ルータのしくみ @yogata
2.
高速転送(大容量化)の必要性 — 高速転送によるスイッチ・ルータの大容量化のメリット — コスト削減:装置台数の削減 (ただし,ポート数が問題になる場合は当てはまらない) —
コスト削減:インターフェース・伝送装置数の削減 — 低速リンクのLAGではなく,高速リンク1本にすることで,伝送路にかか る費用を削減できる スイッチ・ルータで一層の高速転送(大容量化)が 可能になると,各種コストが下がる場合がある
3.
今後の大容量転送時代に向けて — ハードウェア転送=早い☝( ◠‿◠
)☝ — ソフトウェア転送=遅い☝(◞‸◟)☝ — ( ^o^)「魔法のハードウェアでポポポポ~ンとパケット転送したい」 — ( ˘⊖˘) 。o(ん?ちょっと待てよ…ハードウェア転送ってなんだ?) — |ハードウェア|┗(☋` )┓三 — ( ◠‿◠ )☛よくわからない — ▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂ うわあああああああ
4.
スイッチ・ルータの役割 — 3つのプレーン — U/D-Plane
(User/Data-Plane) — トラヒックを転送する役割 — 自宛以外のすべての通信(ユーザ通信など) — C-Plane (Control-Plane) — U/D-Planeの制御,経路制御をする役割 — 動的ルーティングなどの制御パケットの通信 — 例:RIP, OSPF, BGP, OpenFlow, LinkAggregation(LACP) — M-Plane (Management-Pane) — 装置自体を制御する役割 — 例:TELNET/SSH(CLI), SNMP, NETCONF, OF-Config
5.
スイッチ・ルータの役割 — 3つのプレーン — U/D-Plane
(User/Data-Plane) — トラヒックを転送する役割 — 自宛以外のすべての通信(ユーザ通信など) — C-Plane (Control-Plane) — U/D-Planeの制御,経路制御をする役割 — 動的ルーティングなどの制御パケットの通信 — 例:RIP, OSPF, BGP, OpenFlow, LinkAggregation(LACP) — M-Plane (Management-Pane) — 装置自体を制御する役割 — 例:TELNET/SSH(CLI), SNMP, NETCONF, OF-Config 高速転送の仕組み なので, U/D-Plane に着目
6.
U/D-Planeの処理について — ルータ・スイッチがU/D-Planeで行う役割 — パケットを転送する3STEP 1.パケットを受信する 2.宛先を決める 3.パケットを送信する Switch/Router 1 2 3
7.
1. パケットを受信する 出展:FIB Scaling-
A Switch/Router Vendor Perspective
8.
2.宛先を決める
9.
3. パケットを送信する
10.
1.パケットを受信する(詳細) — 10GBASE-Rの場合 — 802.3
section4 Fig. 44A-2 — 光ファイバからの情報を O/E変換 [PMD] — XSBIにデシリアライズ [PMA] — 64B/66Bで同期してXGMII [PCS➙RS(or via XGXS)] — 必要(7cm超orXENPAK) であればXGXS [PCS〜RS] — L2のMAC副層 [RS➙MAC] XENPAK 300pin MSA XFP/SFP+
11.
2.宛先を決める(詳細) — ネットワークプロセッサユニット(NPU) — IXP1200の動作を調べる —
2004年ぐらいにリリースされたNPU — ギガビットルータ用のNPUで2ポートまで処理可能 — 理由: — ドキュメント・解説がたくさんある — NPUが何をしているかを知りたいので,昔のでも良いはず
12.
2.宛先を決める(詳細) — 詳細は Intel
IXP 1200 Network Processor Architecture and Programming の p.19以降を参照 — 概要 — イーサネットコントローラ(L2 MAC)の受信を定期ポーリングする — 受信を検知したらイーサネットコントローラからパケットをコピーして NPU上に持ってくる — ヘッダ情報を元に宛先を探索しつつ,パケット全体をメモリ (SDRAM)上にコピーする — 必要に応じてSDRAM上にコピーしたパケットのヘッダの書き換え を行う(TTL減算とか,CRC計算とか) — 探索結果に基づいて出力ポートのイーサネットコントローラ上のメ モリに書き込む
13.
2.宛先を決める(詳細) — IXP1200の全体像 — Strong
ARM — SRAM/SDRAM上に探索木を構築 — Microengine — パケットコピーの実施 — 探索(マッチング)の実施 — SDRAM Unit — パケットを格納 — ルックアップ結果の情報 (出力ポート,MAC書換) — SRAM Unit — 探索木情報の格納
14.
2.宛先を決める(詳細) 1) イーサネットコントローラまでフレームが到達する
15.
2.宛先を決める(詳細) 2) Microengineは定期的(66MHz)にIX Bus
UnitのReady Busをポーリングして,イーサネットコントローラでフレームを受 信したことを検知する.検知したらIX Bus Unitがイーサネット コントローラからRxFIFOにコピーする(DMA転送). Ready Bus
16.
2.宛先を決める(詳細) 3) IX Bus
Unitはイーサネットコントローラからフレームのコピー が終わったら,完了を通知する
17.
2.宛先を決める(詳細) 4) 2コア(8スレッド)のMEが,フレームを64バイト単位 (Mpacket)に区切ってSDRAMにコピーする.1つ目の MpacketとSRAMを使って宛先探索する
18.
2.宛先を決める(詳細) 4) (補足)Port 8/9について
19.
2.宛先を決める(詳細) 5) 宛先探索(探索木) • ヘッダ情報(4ビット単位)をインデックスにして,次ノードのベース アドレスを得る(ベースアドレス+次のヘッダ情報で探索していく) •
葉ノードにSDRAMの アドレスが格納されて いて,出力ポート, 宛先MACアドレスを 得る • (IPv4なので32bit) 先頭16ビット +残り16ビットを 4ビットトライx4 →最大5アクセス
20.
(補足)探索木での探索
21.
2.宛先を決める(詳細) 6) パケットの処理 — TTL,
Header Length, チェックサムの確認 — TTLの減算とIPヘッダチェックサムの更新 — IP転送であればMACアドレスの更新
22.
2.宛先を決める(詳細) 7) IX Bus
UnitがSDRAMからTxFIFOにコピーする(DMA転送) • 512バイト単位
23.
2.宛先を決める(詳細) 8) TxFIFOからイーサネットコントローラへ転送する • Tx
Schedが利用可能なMACの確認を行う
24.
2.宛先を決める(まとめ) • まとめ (ハードウェア処理が速い理由) • マッチングが速い •
SRAMにインデックスでアクセスして探索を行い,シーケンシャルに ルックアップしているわけではない →メモリアクセス回数が少ない • でもCAMの方が速い,,,はず(CAMについては後述) • 並列処理で速い • メモリコピーを並列で行う • これは今のDDR SDRAMのチャネルと同じ?
25.
3.パケットを送信する(詳細) — 10GBASE-Rの場合 — 802.3
section4 Fig. 44A-1 — 受信の逆
26.
転送部でやること — パケットヘッダとエントリ(ルーティング・フォワーディング・NDP/ ARPテーブル等)を比較してマッチするエントリを探す — ポイント —
例えばACLの探索 — プレフィックス指定やANY指定でのマッチングを行う — 例えばルーティングの探索 — ロンゲストマッチを行う →複数のエントリにマッチする場合,プレフィックス長をみて探索
27.
マッチング — いろんなやりかた (たとえばルーティングの場合) —
ソフトウェア処理 — パケットヘッダに対して,エントリを1つずつ比較して,最後にマッ チした全エントリの中からプレフィックス長が最大のエントリを探 す (シーケンシャルマッチング) — 事前にプレフィックス長でルーティングエントリをグループ化し,プ レフィックス長が大きい方から順番にマッチングする (エントリソート+シーケンシャルマッチング) — ハードウェア処理 — 探索木を作ってマッチングする (探索木) — TCAM
28.
マッチするエントリの探索 — (1)パケットヘッダに対してエントリを1つずつ比較して, (2)最後にマッチした全エントリの中からプレフィックス長が最大 のエントリを探す (シーケンシャルマッチング) 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)プレフィックス長が 最大のエントリを探す (1)全部とマッチして
29.
マッチするエントリの探索 — 事前にプレフィックス長でルーティングエントリをグループ化し, プレフィックス長が大きい方から順番にマッチングする (エントリソート+シーケンシャルマッチング) — マッチした時点で処理を終えることができる DstIP:192.0.2.100
/8 パケットヘッダ ルーティングテーブル /24 192.0.0.0 192.168.0.0 192.0.2.0 10.0.0.0 ・・・ ・・・
30.
マッチするエントリの探索 — 探索木 HiCutアルゴリズムの場合 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
31.
マッチするエントリの探索 — TCAM — Ternary
Content Addressable Memory — TCAM:マッチングを行う専用のハードウェア — 0, 1, どちらでも良いの3値(ternary)でマッチングを行う — CAMだと,0, 1の2値でマッチングを行う
32.
(T)CAMのしくみ — (T)CAMの3つのしくみ (1) 入力 (2) マッチング (3) 出力 (1)入力 (2)マッチング (3)出力 引用元
http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf
33.
(T)CAMのしくみ — (1)入力 — パケットヘッダXをもとに,Xと¬Xを比較部に渡す X0 X ¬X0 引用元
http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf
34.
(T)CAMのしくみ ルーティングテーブルやACLの各ルール 各ルールの1ビット C ルールのプライオリティ順に事前に並べておく PriorityEncoder CAMのワードビットサイズ エントリ数 — (2)マッチング (CAMの場合) C ヘッダ情報 (入力)
マッチング 結果(出力) SRAMベース のメモリ (6トランジスタ) ヘッダ情報 とルールの マッチング 引用元 http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf
35.
(T)CAMのしくみ — (2)マッチング (CAMの場合) C=0
C=1 X0=0 X0=1 HIGH LOW ・緑枠はマッチしているパターン ・この例では,Xと¬C・¬XとCを 比較 ・マッチすれば不一致なので MLをLOWにする (GNDに落とす) ・全ビットでマッチすれば終端で ML(Match Line)がHIGHの ままとまる 引用元 http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf
36.
(T)CAMのしくみ — (2)マッチング (TCAMの場合) —
CAMにSRAMをつけたもの CAM ・SRAMが1だと このビットはマッチとなる ・SRAMが0だと下のマッチングに したがって結果を返す 引用元 http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf
37.
(T)CAMのしくみ — (3)出力 — 比較部ではマッチしたすべてのエントリを返すので,出力部で 最もプライオリティの高いエントリを選択する →プライオリティエンコーダ
38.
(T)CAMのしくみ 引用元 http://filebox.ece.vt.edu/~jgtront/introcomp/encoder.swf — (3)出力
(プライオリティエンコーダ) — マッチしたエントリD0-3の結果に応じた出力xyVを求める
39.
(T)CAMのしくみ 引用元 http://filebox.ece.vt.edu/~jgtront/introcomp/encoder.swf — (3)出力
(プライオリティエンコーダ) — 結果を回路にする — エントリ数が多いと大変
40.
(T)CAMのしくみ — (3)出力 (アクション決定/インスタンス1つの場合) —
一般的にマッチング結果の処理はSRAM上に保持される — ルーティングインスタンスが1つの場合 prefix (TCAM) action (SRAM) 00001010* A1 11000000* A2 1* A3 11* A4 111* A5 1111* A6 * A7 1101….
41.
(T)CAMのしくみ — (3)出力 (アクション決定/VR環境/VID_prefix) —
ルーティングインスタンスが複数の場合 — 仮想ルータIDをprefixに含める場合,エントリ数が膨大になる R0 prefix Action 00001010* A1 11* A2 1111* A3 * A4 R1 prefix Action 00001010* B1 11000000* B2 1* B3 11* B4 * B5 prefix (TCAM) action (SRAM) 0 00001010* A1 0 11* A2 0 1111* A4 0 * A5 1 00001010* B1 1 11000000* B2 1 1* B3 1 * B5
42.
(T)CAMのしくみ — (3)出力 (アクション決定/VR環境/VID_prefix) —
エントリ追加はそのまま追加すれば良い R0 prefix Action 00001010* A1 11* A2 111* A5 1111* A3 * A4 R1 prefix Action 00001010* B1 11000000* B2 1* B3 11* B4 * B5 prefix (TCAM) action (SRAM) 0 00001010* A1 0 11* A2 0 111* A5 0 1111* A3 0 * A4 1 00001010* B1 1 11000000* B2 1 1* B3 1 * B5
43.
(T)CAMのしくみ — (3)出力 (アクション決定/VR環境/VID_index) —
ルーティングインスタンスが複数の場合 — TCAMマッチング後のSRAMをVIDインデックスアクセスする場合 — TCAMエントリ数を削減することが可能だが処理が複雑になる R0 prefix Action 00001010* A1 11* A2 1111* A3 * A4 R1 prefix Action 00001010* B1 11000000* B2 1* B3 11* B4 * B5 A4 B5 A1 B1 A4 B3 A2 B4 A3 B4 1111* A2 B2 * 1* 11* 00001010* 11000000* 無い所(青文字) は埋める必要あり
44.
(T)CAMのしくみ — (3)出力 (アクション決定/VR環境/VID_index) prefix (TCAM) action (SRAM) 00001010*
A1 B1 11000000* A2 B2 1* A4 B3 11* A2 B4 1111* A3 B4 * A4 B5 A4 B5 A1 B1 A4 B3 A2 B4 A3 B4 1111* A2 B2 * 1* 11* 00001010* 11000000* 無い所(青文字) は埋める必要あり
45.
(T)CAMのしくみ — (3)出力 (アクション決定/VR環境/VID_index) —
エントリ追加には一手間必要 — エントリ追加のたびに,すべての仮想ルータで下記青字箇所を埋 める必要が発生する可能性がある R0 prefix Action 00001010* A1 11* A2 111* A4 1111* A3 * A4 R1 prefix Action 00001010* B1 11000000* B2 1* B3 11* B4 * B5 A5 B5 A1 B1 A5 B3 A2 B4 A4 B4 1111* A2 B2 * 1* 11* 00001010* 11000000* 無い所(青文字) は埋める必要あり A3 B4 111*
46.
(T)CAMのしくみ — (3)出力 (アクション決定/VR環境/VID_index) —
エントリ追加に関係のない仮想ルータにも,TCAM+SRAM更新の 影響がある prefix (TCAM) action (SRAM) 00001010* A1 B1 11000000* A2 B2 1* A4 B3 11* A2 B4 111* A3 B4 1111* A3 B4 * A4 B5 A5 B5 A1 B1 A5 B3 A2 B4 A4 B4 1111* A2 B2 * 1* 11* 00001010* 11000000* 無い所(青文字) は埋める必要あり A3 B4 111*
47.
(T)CAMのまとめ — 動作概要 — 全ルールの全ビットと並列でマッチングを行う (1ルール144bit,128kルールあれば,144x128k=18M
bitの マッチングを行う回路がある.このパラメータはCRS-1のもの) — そのため,マッチングは必ず1クロックで完了する. 350MHzのCAMであれば350Mppsの処理性能が有るといえる — 特徴 (JメリットとLデメリット) — J 高速マッチング — 1クロックですべてのルールとマッチング出来る — L 高消費電力 — 仕組み上,CAMの回路全体に電流が流れる.これにより超並列でマッチン グを行えるが,その分だけ消費電力が非常に大きい
48.
DRAM — DRAM(Dynamic Random
Access Memory)とは — 大容量・低速メモリ — パケットをイーサネットコントローラからコピーして保持しておく用の メモリ — 大容量 — 1bitをトランジスタ1つとキャパシタ1つで構成できるため高密度 — 低速メモリ — 1回の読み込み遅延が大きい — Rowを指定して1Row全体を読み込んだ後に(t_RAS),Columnを指定して (t_CAS),Burst Length分だけ取得する方式であるため — また破壊読み出しであるため読み出したRowへチャージ(t_RP)が必要であ るため.
49.
DRAM — アドレス指定から読み出しまでのシーケンスについて ①Bank/Row/ Columnを指定 ②1Rowから データを読み出す ③BusrtLength だけ読み出す ④データを出力
50.
DRAM — アドレス指定から読み出しまでのシーケンスについて
51.
DRAM — キャパシタからデータを読み出すシーケンス詳細について 1) Logic1はキャパシタにVcc保持. Logic0は接地して0 2)
リード線の電圧を 中間(Vcc/2)にする 3) アドレスバス(Row指定) で開放してキャパシタ の電圧をリード線に 出す 4) Vcc/2から,少しだけ 電圧が変化するので センスアンプで増幅し, 0/1を判別する
52.
(補足)xRAM比較 — TCAM(結局On-Chip SRAM),
SRAM(On-Chip)はアクセス遅 延が小さい(早い).SRAM(Off-Chip)は中くらい.DRAMは大き い(遅い). TCAM SRAM (On-Chip) SRAM (Off-Chip) DRAM 適用箇所 ・ルータやスイッチ などの特殊用途の マッチング専用 ・CPUなどの一部 レジスタとか ・ルータやスイッチ の探索用エントリの 保持 ・TCAMでマッチング した後の処理を記 録 ・ルータやスイッチ の探索用エントリ の保持 ・パケットバッファ アクセス速度 0.5ns 0.5ns 4-10ns 40-100ns 集積度 (T=トランジスタ C=コンデンサ) 低集積度 (10T/bit) 中集積度 (6T/bit) 中集積度 (6T/bit) 高集積度 (1C+1T/bit) 消費電力 高 低 低 中
53.
(補足)RLDRAM*1 — 大容量・低遅延DRAM(SRAMとDRAMの良いとこ取り)もある 出展:http://www.micron.com/products/rldram-forges-ahead *1: Reduced
Latency DRAM, *2:t_RCはRow指定の間隔(=メモリアクセス遅延) *2
54.
(参考) Cisco装置でのマッチング方式 たぶん,探索木でのマッチング (少なくとも,CRS-1は探索木 (Tree Bitmapアルゴリズム)) 出展:Internet
week2011 S8 ルーティング関連セッション(2) http://www.nic.ad.jp/ja/materials/iw/2011/ proceedings/s08/s08-03.pdf
55.
(参考) 読み書きの遅延比較 SRAM (on-chip) SRAM (off-chip) DRAM (DDR3) RLDRAM 遅延 0.5nsec (※1) 5
- 10nsec (※2) 40 - 60nsec (※3) <10nsec (※4) ioDrive SSD HDD 遅延 <30usec (※5) 65usec (※6) <5msec (※7) ※1: Network Algorithmics, George Varghese [2004] ※2: Network Algorithmics, George Varghese [2004] ※3: http://www.micron.com/products/rldram-forges-ahead ※4: http://www.micron.com/products/rldram-forges-ahead ※5: http://www.fusionio.com/products/iodrive-duo/ ※6: http://ark.intel.com/products/67008/Intel-SSD-910-Series-400GB-12-Height-PCIe-2_0-25nm-MLC ※7: http://www.seagate.com/staticfiles/support/disc/manuals/enterprise/savvio/Savvio%2015K.1/FC/100384763b.pdf
56.
参考文献 — FIB Scaling-
A Switch/Router Vendor Perspective, Greg Hankins, nanog39 — http://www.nanog.org/meetings/nanog39/presentations/fib- hankins.pdf — Intel IXP 1200 Network Processor - Architecture and Programming, Andreas Mitschele-Thiel — http://www.tu-ilmenau.de/fileadmin/public/iks/files/lehre/wi/WI- IXP.pdf — Content-Addressable Memory (CAM) Circuits and Architectures - A Tutorial and Survey, Pagiamtzis, K. — http://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf — DRAM Memory Access Protocols, Bruce Jacob, Spencer Ng, & David Wang — http://www.eng.utah.edu/~cs7810/pres/dram-cs7810-protocolx2.pdf
57.
参考文献 — DDR SDRAM
の使い方, ELPIDA — http://www.elpida.com/pdfs/J0234E50.pdf — DDR3 SDRAMにおけるコマンドとオペレーション — http://ja.wikipedia.org/wiki/DDR3_SDRAM%E3%81%AB%E3%81%8A %E3%81%91%E3%82%8B%E3%82%B3%E3%83%9E %E3%83%B3%E3%83%89%E3%81%A8%E3%82%AA%E3%83%9A %E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3 — Intel® IXP1200 Network Processor Family Hardware Reference Manual — IXP1200 Network Processor Gigabit Ethernet Example Design Application Note
Download