LAN Switch 技術 ~ 冗長化手法とループ防止 ~ 安藤 雅人 1 Ethernet におけるループ発生の発生と弊害 リンクやノードの故障の影響を防ぐ為に イーサネットスイッチを冗長を持たせて接続すると ループ部分ができてしまう 何故ループが駄目か? (1)FDB(Forwarding Da

Similar documents
LAN Switch 技術 ~ 冗長化手法と最新技術 ~ Version 2.0c 安藤 雅人 1

CSS のスパニングツリー ブリッジの設定

初めてのBFD

77-j.pdf

15群(○○○)-8編

スイッチ ファブリック

VLAN の設定

2.5 トランスポート層 147

PowerPoint プレゼンテーション

山添.pptx

2014/07/18 1

スライド 1

TLS-Web2

[技術資料] PRIMERGY サーバブレードのLAN 冗長化

アライドテレシス・コアスイッチ AT-x900 シリーズ で実現するエンタープライズ・VRRPネットワーク

2 台の N-PE 上でのアクセス リングの終端

網設計のためのBGP入門

IPsec徹底入門

第1回 ネットワークとは

PIM-SSMマルチキャストネットワーク

MPLS での traceroute コマンド

Microsoft PowerPoint - mplsjp

PowerPoint プレゼンテーション

Ethernet OAM の 効果的な利用形態について

スライド 1

IIJ 100G バックボーン

FUJITSU Cloud Service for OSS プライベート接続 サービス仕様書

ヤマハDante機器と他社AES67機器の接続ガイド

Mobile IPの概要

2 つの遅延 マスターとスレーブの遅延とスレーブとマスターの遅延を計算しなければなりません まずマスターとスレーブの差を計算します : 最初に送られるタイムスタンプは T1 です T1 はマスターがその Ethernet のポートに Sync message を送った時刻であり Follow-up

技術知識 11 ディスタンスベクターとリンクステート ディスタンスベクターとは 噂話が好きな奥様達による伝言ゲームである リンクステートとは 同じカーナビをつけた走り屋の集団である... 私の先輩の格言より * * * ルーティングプロトコルの仕組みに

PN Open Seminar2011_Ethernet Switch_Final

<4D F736F F F696E74202D208CA48B868FD089EE288FDA82B582A294C5292E B8CDD8AB B83685D>

1. ネットワーク経由でダウンロードする場合の注意事項 ダウンロード作業における確認事項 PC 上にファイアウォールの設定がされている場合は 必ずファイアウォールを無効にしてください また ウイルス検知ソフトウェアが起動している場合は 一旦その機能を無効にしてください プリンターは必ず停止状態 (

NTMobile LAN NT- Mobile(Network Traversal with Mobility) [1] NTMobile LAN 2. NTMobile NTMobile NTMobile NTM IP DC(Direction Coordinator)

Ethernet Internet 20

コンバージドファブリック仕様一覧

技術的条件集別表 35 IP トランスポート仕様

本資料について

TFTP serverの実装

Microsoft Word - r0703.doc

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

Microsoft PowerPoint - ie ppt

PowerTyper マイクロコードダウンロード手順

PowerPoint プレゼンテーション

X.25 PVC 設定

インターネット,LAN,ネットワークに関する知識

Non Stop Routing の実装と課題 MPLS JAPAN 2004 ノーテルネットワークス株式会社近藤卓司

AN424 Modbus/TCP クイックスタートガイド CIE-H14

アライドテレシス・コアスイッチ AT-x900 シリーズとディストリビューションスイッチ AT-x600 シリーズで実現するACLトラフィックコントロール

概要

インターネットVPN_IPoE_IPv6_fqdn

PC にソフトをインストールすることによって OpenVPN でセキュア SAMBA へ接続することができます 注意 OpenVPN 接続は仮想 IP を使用します ローカル環境にて IP 設定が被らない事をご確認下さい 万が一仮想 IP とローカル環境 IP が被るとローカル環境内接続が行えなくな

IPv4

オペレーティング システムでの traceroute コマンドの使用

MPLS Japan 2015 キャリアサービスへの EVPN 適 用の検討と課題 横 山博基 NTT コミュニケーションズ株式会社 ネットワークサービス部 Copyright NTT Communications Corporation. All right reserved.

EPSRスーパーループプリベンション(SLP) ネットワーク

2) では, 図 2 に示すように, 端末が周囲の AP を認識し, 認識した AP との間に接続関係を確立する機能が必要である. 端末が周囲の AP を認識する方法は, パッシブスキャンとアクティブスキャンの 2 種類がある. パッシブスキャンは,AP が定期的かつ一方的にビーコンを端末へ送信する

2ACL DC NTMobile ID ACL(Access Control List) DC Direction Request DC ID Access Check Request DC ACL Access Check Access Check Access Check Response DC

IPSEC(Si-RG)

アライドテレシス ディストリビューションスイッチ x610シリーズで実現するVRF-Lite + Tagging + EPSR for x610

NetworkKogakuin12

Exam : 日本語版 Title : Designing Cisco Network Service Architectures Vendor : Cisco Version : DEMO 1 / 5 Get Latest & Valid J Exam's Quest

total.dvi

Microsoft PowerPoint f-InternetOperation04.ppt

Q-SYS Designer Version 5.4 Release Note ソフトウェア要件 Q-SYS Designer は下記の OS での動作確認をしております Windows 7 Professional 32-bit / 64-bit Windows 8.1 Professional

ソフトウェアの説明

変更履歴 項番版数内容更新日 版新規作成 2013 年 11 月 18 日 1

WLAR-L11G-L/WLS-L11GS-L/WLS-L11GSU-L セットアップガイド

janog40-sr-mpls-miyasaka-00

ブロッキングに関する技術とネットワーク インターネット上の海賊版対策に関する検討会議資料 ( 一社 ) 日本インターネットプロバイダー協会副会長兼専務理事立石聡明

Windows Server 2003 Service Pack 適用手順書

スライド 0

_mokuji_2nd.indd

4-4. ファイアウォール (IPv4)

4-5. ファイアウォール (IPv6)

Microsoft Word - 楽天㇯ㅩ㇦ㅛIaaSㇵㅼã…fiã‡¹ä»Łæ§Ÿ.doc

PowerPoint プレゼンテーション

2014 年電子情報通信学会総合大会ネットワークシステム B DNS ラウンドロビンと OpenFlow スイッチを用いた省電力法 Electric Power Reduc8on by DNS round- robin with OpenFlow switches 池田賢斗, 後藤滋樹

設定例: 基本 ISDN 設定

Outlook2010 の メール 連絡先 に関連する内容を解説します 注意 :Outlook2007 と Outlook2010 では 基本操作 基本画面が違うため この資料では Outlook2010 のみで参考にしてください Outlook2010 の画面構成について... 2 メールについて

スライド 1

IPSEC(Si-RGX)

Time Server Pro. TS-2910 リリースノート お客様各位 2019/09/13 セイコーソリューションズ株式会社 Time Server Pro.(TS-2910/TS-2912) システムソフトウェアリリースノート Ver2.1.1 V2.2 変更点 Version 2.2 (

TECHNICAL BRIEF RealServer ロードバランス時の BIG-IP 設定方法 本ドキュメントは複数の RealServer をロードバランスする際の BIG-IP コントローラの設定方法を紹介するもので F5 Networks Japan K.K. と RealNetworks

presen1.pptx

ループ防止技術を使用して OSPFv3 を PE-CE プロトコルとして設定する

コンテンツセントリックネットワーク技術を用いた ストリームデータ配信システムの設計と実装

TinyVPN とブリッジ接続機能による LAN 統合方法 PU-M TinyVPN とブリッジ接続機能による LAN の統合方法 Version 1.7 シモウサ システムズ (C) Shimousa Systems Corporation. All righ

Microsoft Word - 3.1NW...o...doc

p_network-management_old-access_ras_faq_radius2.xlsx

ic3_lo_p29-58_0109.indd

Motivation 3 Motivation 4 (Availability) Keep High Availability Providing Reliable Service (New service, function) Provide new Services, with new func

058 LGWAN-No155.indd

Windows GPO のスクリプトと Cisco NAC 相互運用性

ルート プロセッサ

MC3000一般ユーザ利用手順書

IPIP(Si-RG)

Cumulus Linux MLAG と vsphere vds の LACP 接続検証

VLAN VPN mapped MPLS ~実稼動するVPLSネットワーク~

Transcription:

LN Switch 技術 ~ 冗長化手法とループ防止 ~ 安藤 雅人 Ethernet におけるループ発生の発生と弊害 リンクやノードの故障の影響を防ぐ為に イーサネットスイッチを冗長を持たせて接続すると ループ部分ができてしまう 何故ループが駄目か? ()(Forwarding ata ase=mc 学習テーブル ) が狂う ユニキャスト通信が出来なくなる () フレームが増殖する ( トラフィック圧迫 ) 帯域が圧迫されるアプリケーションへの悪影響 ( システムダウンする場合もある ) 絶対にループは発生させてはならない!( 一瞬でも ) 冗長を組みながら ループを防止する方法を紹介

正常時のスイッチ網の 学習状況 通常時の学習 端末 MC: Ethernet Frame データ 送り元 送り先 データ -Cast MC: を送り元としたブロードキャストパケットによるスイッチの学習 端末 MC: 端末 MC: MC: を送り元としたブロードキャストパケットによるスイッチの学習 端末 MC: Ethernet Frame 送り先 送り元 データ -Cast データ 正常時のスイッチ網の 学習状況 通常時の通信 端末 学習されたユニキャストの通信は正しい送り先だけに届けられる MC: Ethernet Frame データ 送り元 送り先 データ 端末 MC: 端末 MC: 端末 MC: Ethernet Frame 送り先 送り元 データ データ

ループ発生時の ループ発生時の学習 データデータ 端末 MC: Ethernet Frame 送り元 ループ発生時の通信 端末 MC: 送り先 -Cast 瞬間的なループであっても が狂い 通信不能は発生する!???? ループがあるネットワークでは スイッチにて学習されている内容は時間とともに変化する 狂った となる これは C スイッチの 学習機構に負荷を与える事にもなる 端末 MC: 狂った ではユニキャストフレームを正常に送り届ける事は出来ない マルチキャスト ブロードキャスト アンノウンユニキャストは を参照しないで転送する為届くことは届く MC: 端末 Ethernet Frame 送り先 送り元 データ データ 5 ループ発生時の ループ発生時の通信 端末 MC: 増加はするが到着 MC: 端末 Ethernet Frame 送り先 送り元 データ -Cast データ ループ時でもブロードキャストやマルチキャストのフレームは送り先に一応到達する場合が多い ( フラッディングは と関係なく転送されるため ) ユニキャストは通信不能となるが マルチキャストやブロードキャストの通信は転送されているように見える事がある (OSPF のネイバーは見えるが ping が通らないなど ) 6

7 ループによる帯域圧迫 MC: MC: ループによる増殖と帯域圧迫 ループ発生時において マルチキャスト ブロードキャストと言ったトラフィックは 消えることがなく延々とループ内を流れ続け 帯域を圧迫する ( ユニキャストは増殖しにくい ) MC: MC: ループ内に回り続けるマルチキャスト ブロードキャストトラフィックはノードの分岐点で毎回コピーされて送出される為 直接ループしていない箇所においても 帯域は圧迫される 端末端末端末端末 端末端末端末端末 端末端末端末端末 端末端末端末端末 -Cast データデータデータデータ送り元送り元送り元送り元送り先送り先送り先送り先データデータデータデータフレームの増殖は 帯域の圧迫だけでなく 受信した装置のプロセスに悪影響を与える場合がある Ethernet Frame 8 同一ポートでの折り返しのループ MC: MC: TX -Cast データデータデータデータ送り元送り元送り元送り元送り先送り先送り先送り先データデータデータデータ Ethernet Frame X MC: MC: TX X 同一ポートでの送受信の折り返し発生 MC: MC: TX X 廃棄 データデータデータデータ送り元送り元送り元送り元送り先送り先送り先送り先データデータデータデータ Ethernet Frame 同一ポートでの折り返しのループはトラフィックの無限増殖は発生させないが を狂わせる為 ユニキャストの通信は不可となる

ループが発生したら何をすべきか?( 手動の場合 ) () ループを構成している部分のリンクを切断したり スイッチの転送を止める 端末 MC: 端末 MC: ループを発生させている部分を抜く ()の内容を一度フラッシュする ( フラッシュしなければ のエージアウトを待つか 内容が上書きされるのを待たなければ正常な通信が行えない ) MC: 端末 狂った の内容が残っていると フレーム転送が正常に行えない 端末 MC: 何もしなければ のエージアウトは 5 分で geout するのが一般的 ( 設定によって変更可能な物が多い ) 9 イーサネット網における冗長方式の分類 ネットワーク冗長 (STP ファミリ P VPLS リング型冗長など ) ネットワークとして 冗長性を確保する 爆撃やテロなどに対しても比較的強い 大阪 東京 千葉 名古屋 神奈川 ノード冗長化 = メッシュトポロジー ( ベンダ独自のもの ) コアのスイッチの冗長化 ( 二重化 ) 装置の信頼性 伝送路の信頼性を補う為に主に用いられる ノード内完全冗長 + リンクアグリゲーション装置内部を完全に冗長化し 冗長単位で交換可能とする 伝送路はリンクアグリゲーションなどで冗長性を確保 0 5

冗長なネットワークでのループを防止する三つの機構. ループフリーな論理トポロジーを維持する機構 STP をはじめとする 様々な論理ネットワーク維持機構. ループが発生した場合ループを検出し 論理トポロジーに働きかける機構ループの検出を行い 網のトポロジーに働きかける機構. ループしたフレームを検出し フレームを破棄する機構 TTL を利用したフレーム破棄 フィルタリング Spanning Tree Protocol ループフリーな論理トポロジーを維持する機構 6

STP(Spanning Tree Protocol) IEEE 80. ループフリーな論理トポロジーを維持する機構の一つ IEEE 80. 標準 中心となるスイッチはルートブリッジと呼ばれそこから木のように枝分かれしていくので Spanning Tree ( 広がる木 ) と呼ばれる 木は 枝分かれはするが 一度分かれた枝が先で再度くっつく事は ( 普通 ) ないので ループが発生するようなトポロジーとならない 利用中のリンクが断したり ノードが停止したら 論理トポロジーを自動的に再構成 Spanning Tree ルートブリッジ スイッチ 物理リンク Spanning Tree Spanning Tree の再構成 ルートブリッジ ブリッジ = スイッチ スイッチ 故障 論理的に切れている部分 (lock) ブリッジ = スイッチ STP でのトポロジーの構築 ( 概要 ) () 木構造の中心となるルートブリッジをどれにするか選ぶ ridge はトポロジーの中に 台だけ存在出来る 物理構成はループを含む構成 ridge( 木構造の中心となるブリッジ ): このブリッジが中心となるように トポロジーを構成する () ブロック ( 転送禁止 ) にするポートどれにするか選ぶ (= 転送するポートを選ぶ ) ridge ( 幹 ) ridgeを中心とした木構造 ( ループなし ) が構成される これらの動作を STP ではスイッチ間で PU と呼ばれるパケットの交換し自動的に行う 7

STP でのトポロジーの構築 ( ルートブリッジの選択 ) ルートブリッジの選択とブリッジ識別子 ( ブリッジ I) ブリッジはそれぞれ固有のブリッジ識別子 (I) を持ちその値のもっとも小さいものがルートブリッジになる ブリッジ識別子は オクテットのブリッジ優先度とブリッジ MC アドレス (6 オクテット ) をつなげたものになる ブリッジ優先度が同じでも ブリッジ MC アドレスはユニークなので ブリッジ識別子は必ずユニークとなる ブリッジ識別子 I の最も値の小さいものがルートブリッジになる ブリッジ優先度 ( バイト ) ブリッジ MC アドレス (6 オクテット ) ブリッジ優先度はデフォルトでは 768(0x8000) となる ridge 5 I( ブリッジ識別子 ) の数字は簡略化した表現とした 5 STP でのトポロジーの構築 ( 転送禁止ポートの選択 ) 転送禁止ポート ( 転送ポート ) の選択とリンクコスト 転送 / 非転送のポートの選択は リンクコストの計算によって決定される 一般的にはポートの速度に応じてリンクのコストを付ける メディアの高速化に伴い 推奨コストも変化して来ている ( かつては000/ 速度 Mbpsで設定していた ) 6bitショート法 (IEEE80.[IEEE98a]) bitロング法 (IEEE80.t) Link ggregationを組む場合には 速度によるリンクコスト /Link ggregationのコストとなる (IEEE80.t) GbE(Gbps) のコストを0.000とすると 本のGbEで組まれたLink ggregationのリンクコストは 0.000となる IEEE80. 98a でのコスト設定例 ridge Link Cost Gbps Link Cost 00 0Mbps Link Cost 9 00Mbps Link Cost 9 00Mbps Link Cost 9 00Mbps 6 8

STP でのトポロジーの構築 ( リンクコスト表 ) リンクコストの推奨値 データレート Mbps 0Mbps 6Mbps 00Mbps Gbps 0Gbps 00Gbps Tbps 0Tbps IEEE 80. 98a( ショート法 ) 推奨リンクコスト範囲 ( 推奨値 ) 00~000(50) 50~600(00) 0~00(6) 0~60(9) ~0() ~5() IEEE80.t( ロング法 ) 推奨リンクコスト範囲 ( 推奨値 ) 00.000-0.000.000(.000.000) 0.000-.000.000(00.000).000-00.000(0.000) 00-0.000(.000) 0-.000(00) -00(0) -0() 7 STP でのトポロジーの構築 ( 転送禁止ポートの選択 ) 各スイッチでリンクコストの積算が最も小さくなるポートを選ぶ ( スイッチの出口 ) ridge Link Cost Link Cost 00 Link Cost 9 ルートポート ( 後述 ) Link Cost 9 9 Link Cost 9 各リンクでリンクコストの積算が最も小さくなる接続点を選ぶ ( リンクの出口 ) 代表ポート ( 後述 ) ridge 0 0 Link Cost 0 Link Cost 00 Link Cost 9 Link Cost 9 Link Cost 9 9 8 9

STP でのトポロジーの構築 ( 転送禁止ポートの選択 ) ルートポートと代表ポートは転送状態にする ridge 0 0 Link Cost 0 Link Cost 00 Link Cost 9 9 Link Cost 9 Link Cost 9 9 ルートポートあるいは 代表ポートにならなかったポートはブロック ( 非転送状態 ) にする 0 ridge 0 ridgeを中心とした木構造 ( ループなし ) が構成される 0 9 9 9 STP での PU の交換 Spanning Tree の構築は Configuration PU の交換によって行われる 各スイッチは 自身が知っている最も条件のいいルートへのコストを PU を使って広報する 自身が知っているよりもより条件の良いコストを示す PU を受け取ったら受け取ったポートのコストを足して自身が採用するとともに 他のスイッチへその情報を広報する LC: LC:9 ridge LC: : Cost:0 リンク -X : Cost: LC:00 LC:9 5 : Cost:0 LC:9 LC:00 : Cost:0 : Cost:00 : Cost: LC:9 LC:9 : Cost:0 : Cost:9 LC:9 LC:9 :5 Cost:0 : Cost:9 : Cost: リンク -Y 0 0

STP PU PU(ridge Protocol ata Unit) Spanning Tree の作成維持管理を行う スイッチ ( ブリッジ ) 間で通常 秒間隔で送信 交換される 二種類の PU Configuration PU(Hello パケットとも呼ばれる ) Topology Change Notification PU Configuration PU( トポロジー構築に使用 ) Protocol I=0000h Protocol Version I=00h PU Type=00000000b Flags I Path Cost ridge I Port I Message ge Max ge Hello Time Forward elay 8 8 Topology Change Notification PU ( トポロジー変更時に使用 ) Protocol I=0000h Protocol Version I=00h PU Type=0000000b 発信するスイッチが知りえる最もブリッジ I が小さいスイッチの I ( ridge と思われるブリッジ I) ridge までの Path コスト 宛先 MC 0:80:C:00:00:00 LLC TYPE SP,SSP 0x Flag には Topology Change Flag と Topology Change cknowledgement Flag の二種類が定義されている STPでのトポロジーの構築 (PUでのポートの役割の決定 ) ルートポート ( Port) スイッチからルートブリッジに到達するのに利用出来るポートを つだけにする このポートの事をルートポートと言う スイッチの中で最もルートブリッジに少ないパスコスト ( リンクコストの合計 ) で行けるポートがルートポートとなる スイッチが受信した PU にその受け取ったポートのコストを足した結果スイッチの中で一番コストが小さくなったポートが一つルートポートとして選択される ポート a から受け取った Path Cost(9) に受け取ったポートのコスト (00) を足した条件が一番優れた条件 ( 値が小さい ) なので ルートポートにしよう ridge LC:9 スイッチ主体で考えるのがルートポート! LC:9 PU Path Cost=9+(00) LC:9 LC:00 a LC:00 b c LC:9 スイッチ LC:00 PU: Path Cost=9+9+(00) PU Path Cost =9+9+9+(00)

STPでのトポロジーの構築 (PUでのポートの役割の決定 ) 代表ポート (esignated Port) リンクからルートブリッジに到達するのに利用出来るポートを つだけにする このポートの事を代表ポートと言う ルートブリッジのポートは全て代表ポートとなる ( ルートブリッジ以外の代表ポートを持つブリッジを代表ブリッジ =esignated ridge と呼ぶ ) リンクに流れている PU をそのポートにて観察しそのブリッジが持っているコストより優れたものが流れていない場合に そのリンクからルートブリッジに到達するのにそのポートが一番有利な条件と考え そのポートを代表ポートとする 他のスイッチが広報しているルートブリッジまでの距離 ( Path Cost) よりも自分が広報しているコストの方が小さいからLink Network の代表ポートになろう! ルートまでのコスト : PU Path Cost= Link Network リンクネットワーク主体で考えるのが代表ポート! PU Path Cost=0 ルートまでのコスト :0 ルートまでのコスト :9 PU Path Cost=9 STP でのトポロジーの構築 ( ポートの役割の決定 ) ルートポートでも代表ポートでもないポートはブロッキング状態 ( 非転送 ) になる ridge : Cost:0 LC:9 LC:00 LC:9 : Cost: LC:9 LC:9 : Cost:9 リンク -X 5 LC:9 : Cost: リンク -Y ルートポート ( Port) LOOP FEE 代表ポート (esignated Port) ブロックポート (lock Port) ルートポートと代表ポートだけがフォワーディング状態 ( 転送 ) になる フォワーディング状態にあるポートとリンクだけを繋ぐとループのない木構造になっている ridge LC: LC: LC:9 : Cost: LC:00 リンク -X 5 リンク -Y LC:9

STP でのトポロジー構築 ポート識別子 ブリッジ内のポートはそれぞれシャーシ内で固有のポート識別子を持つ ポート識別子は オクテットのポート優先度と オクテットポート番号をつなげたものになる 代表ポートの選択がパスコストの比較だけではつかなかった時にこの数値が低い方のポートが代表ポートになる ポート識別子 (Port-I) ポート優先度 ( バイト ) ポート番号 ( オクテット ) ポート優先度はデフォルトでは 8(0x80) となっている Port-I: ルートブリッジ Port-I:0 代表ポートの選択でパスコストが同じ場合 ( 同シャーシの場合など )Port- Iが小さいほうが 代表ポートとなる 5 STP でのトポロジー再構築 障害発生の場合 スイッチ はルートポートの断を検出すると Spanning Tree の再計算を開始する ここでの計算の方法は通常の STP 構築と同じ 断発生 LC: LC:9 ridge : Cost:0 LC:9 LC: LC:00 : Cost: リンク -X 5 LC:00 LC:9 LC:9 LC:9 : Cost: : Cost: ルートポート ( Port) 代表ポート (esignated Port) LC:9 LC:9 : Cost:9 リンク -Y ブロックポート (lock Port) 6

STP での フラッシュ ( 消しこみ ) の必要性 MC: ridge 冗長パス 何故トポロジー変更中に Flag=TCN の PU を ridge が送信して の内容の消しこみを行う必要があるのか? STP のトポロジー変更が発生した後で に以前学習した内容が残っていると 正常な通信が出来ない の中身を消せば通信出来るようになる MC: MC: ridge ridge アクティブ アクティブ 7 STP での フラッシュ STP 構築以外に網全体の をフラッシュする為の機構が必要となる トポロジーの変更を検出したスイッチは ルートポートより Topology Change Notification PU(TCN PU) を送出する 代表ポートは TCN-PU を受け取ると PU の Flag=TCack(Topology Change cknowledgement) を設定し送り返し TCN-PU を受信した事を通知し さらに上位のスイッチに TCN-PU を送信する : Cost:0 ridge LC:9 LC:00 LC:00 トポロジー変更メッセージ TCN PU LC:9 : Cost:57 : Cost:57 LC:9 5TCN PU LC:9 LC:9 6PU(Flag=TCack) : Cost:9 リンク -X PU(Flag=TCack) LC:9 5 LC:9 : Cost:8 TCN PU リンク -Y PU(Flag=TCack) ルートポート ( Port) 代表ポート (esignated Port) ブロックポート (lock Port) 8

STP での フラッシュ TCN PU を受信した ルートブリッジは 一定期の間 送信する Configuration PU を Flag=TC(Topology Change) として送信し 全てのスイッチにトポロジー変更が発生した事を通知する Flag=TC の PU を受信したスイッチはフラグが設定されている期間中 の中身をより短い時間で ge Out するようにする ging Time( 一般には 5 分 ) を Forward elay(efault=5 秒 ) に変更する事により 速やかに を忘れさせる : Cost:0 ridge LC:9 LC:00 LC:00 : Cost:57 : Cost:57 LC:9 LC:9 PU(Flag=TC) LC:9 LC:9 : Cost:9 リンク -X LC:9 5 LC:9 : Cost:8 リンク -Y ルートポート ( Port) 代表ポート (esignated Port) ブロックポート (lock Port) 9 STP でのポート状態 STP でブロッキングポートが ルートポートや 代表ポートに変更されたとしてもすぐに転送状態 (Forwarding) とはならない ループ防止 無駄なフラッディングを防ぐ ルートポートであるとか代表ポートであるとかいったポートの役割とは別に ポートにはいくつかの状態がある ISLE 状態 シャットダウンされているか 電源の入ってない状態 ( このポートは使えない ) LOCKING 状態 データフレームの転送を行わない ルートポートや代表ポートになっていないポートはこの状態に落ち着く PUの送信は行わないが PUの受信は行っており その処理も行われる ; 電源投入時は全てのポートがこの状態 LISTENING 状態 データフレームの転送は行わない PUの受信を行う状態 必要であればPUの送信も行う Spanning Treeを構築中のスイッチはこの状態にある 0 5

STP でのポート状態 LENING 状態 転送を始める前は の内容が空である為そのまま転送をはじめるとフラッディングが多発する これをおさえる為 転送を開始する前に流れているフレームから の内容の学習を行う FOWING 状態 通常の転送状態 利用可能? PU 処理 MC 学習 データ転送 ISLE 状態 LOCKING 状態 ( 受信のみ ) LISTENING 状態 LENING 状態 FOWING 状態 STP でのポート状態 STP ポート状態遷移 LISTENING PUをMax ge(efault 0 秒 ) 受 Forward elay(efault 5 秒 ) の間け取らないかPUによってPか LISTENINGの状態が経過した場合 Pになる可能性が示された時 PUによってLOCKINGであるべきと判断された時 LOCKING PU によって LOCKING であるべきと判断された時 LENING PU によって LOCKING であるべきと判断された時 Forward elay(efault 5 秒 ) の間 LENING の状態が経過した場合 FOWING P や P としてフレームの転送を開始 6

STP でのポート状態 トポロジー変更により LOCKING 状態であったポートがルートポート (P) や代表ポート (P) に変更され 転送状態になるには Forward elay x 待たなくてはならない スイッチの起動時やポートをリンクアップさせてすぐの状態も同様 ( スイッチに PC に付けてすぐに通信出来ないのはこれが原因の事もある ) PU によって P か P になる可能性が示された時 LISTENING P か P になれるかも? 知れないが他のスイッチが流す PU をもう少し観察しよう LOCKING efault 0 秒待ち Forward elay(efault 5 秒 ) の間 LISTENING の状態が経過 自分より P や P になるに相応しいものがいる事を示す PU は受信しなかったから FOWING 状態になる準備をしよう Forward elay(efault 5 秒 ) の間 LENING の状態が経過 LENING P や P としてフレームの転送を開始 FOWING STP でのポート状態 上位のブリッジから PU を MX ge 時間受け取らなかった場合は結果的に MX ge + (Forward elay x ) 待たなくては転送を開始出来ない PU を Max ge (efault 0 秒 ) 受け取らない LOCKING efault 50 秒待ち LISTENING Forward elay(efault 5 秒 ) の間 LISTENING の状態が経過 自分より P になるに相応しいものがいる事を示す PU は受信しなかったから FOWING 状態になる準備をしよう Forward elay(efault 5 秒 ) の間 LENING の状態が経過 P になれるかも? 知れないが他のスイッチが流す PU をもう少し観察しよう LENING P や P としてフレームの転送を開始 FOWING 7

STP パラメータの確認 パラメータ Hello time 説明 PU の送信間隔 efault 値 ( 設定可能範囲 ) 秒 (-0) Forward elay LISTENNING や LENING に使う時間 5 秒 (-0) MX ge PU がタイムアウトする時間 0 秒 (6-0) ridge Priority Port Cost Port Priority スイッチの優先度 小さいほど ルートブリッジになりやすい そのポートのコストを示します 小さいほど選択されやすくなる ポート間でパスコストが同じだった場合に比較される値 小さいほど選択されやすくなる 768(0-6555) 速度に応じて設定 6(0-55) 5 STP のまとめ 通常 STP が止まるのは LISTENING LENING FOWING にかかる Forward elay x =efault 0 秒の時間 ただし 最悪の場合 MX ge + Forward elay x =efault 50 秒の時間止まる Forward elay と MX ge を設定変更する事も可能 それでも 秒 (6+x) を切る事は出来ない パラメータはルートブリッジに設定されたものが採用される 他のスイッチはルートブリッジが流す PU に記述されたパラメータを採用する STP は特に何も設定しなくても動作するが最低限ルートブリッジとバックアップでルートブリッジになる装置がネットワークの適切な位置で適切な性能のスイッチになるように設計されなくてはならない STP のパラメータはむやみに変更しない ( 障害時の解析が大変になる ) 変更する時はきちっと設計を行い 全てのスイッチが同じポリシーで動作するようにする事 STP のメリット 標準的なプロトコルであり 異ベンダ機器の相互接続が可能になっている 物理トポロジーを選ばない STP のデメリット 標準の STP は切り替えに時間がかかる トポロジー全体の事を考えて オペレーションを行わなくてはならない PC などをつなげる場合も Forward elay x の時間待たされる 6 8

STP の拡張 (Port fast) スイッチに PC などを接続した後 LISTENING LENING FOWING と状態変化する時間 ( 通常 0 秒 ) 待たなくてはならないのは使いにくい スイッチが接続される可能性のないポートに関しては 事前に設定しておくことにより いきなり FOWING になるようにしておく PU をポートで受信した場合はポートをブロッキング状態にする Cisco で実装しているが多くのスイッチで同様の効果を得る設定は出来る LISTENING LENING FOWING と待つと efault 0 秒かかる HCP に失敗したりする スイッチが接続されない事が分かっているのなら いきなり FOWING にしても問題ない ( すぐ使える ) 7 STP の拡張 (Uplink fast) CiscoによるSTPの拡張 アクティブなリンクが断となった場合に バックアップのリンクにすぐ切り替わる機能 ( LISTENING LENING FOWINGの状態変化にかかる時間をとばす ) エッジに設置したスイッチが上位のスイッチに 本のリンクで接続されている場合にエッジに設定出来る 上位のスイッチの 構築を支援する為 Uplink fastでエッジスイッチが切り替わりを発生させた場合に エッジスイッチは自身が 内に学習済みのアドレスを送り元アドレスとする マルチキャストフレームを新しくアクティブにしたリンクに流す スイッチ スイッチ ridge UP Link Fastに設定 エッジスイッチ a ブロックポート (lock Port) スイッチ スイッチ エッジスイッチ a 自身の の内容を上位のスイッチに教えるようなマルチキャストフレームを送信 LISTENING,LE NING を経ずにいきなり転送を開始する 8 9

apid Spanning Tree Protocol ループフリーな論理トポロジーを維持する機構 (STP 高速化 ) 9 STP(apid Spanning Tree Protocol)80.w IEEE 80.w 標準 STPの切り替わり動作を高速化する為に作られた (0 秒や50 秒かかるのは遅い ) 構築される論理木構造はSTPと同じ ( 同じパラメータを使う ) Max ge Forward elayのパラメータはpuを受信しないポートを代表ポートとする場合か あるいはSTPと混在して使う時のみ有効 80.wは80.の上位互換性がある Point-to-Pointの接続が基本 PUの交換にHandshake 方式の導入 ポートの役割の種類の追加 Handshake 方式 Proposal PU( 私の条件はこうです ) Proposal PU( 私の条件はこうです ) 条件の比較 (Synchronization) greement PU( 分かりましたあなたを上位と認めます ) Port になった Port だけが greement を出す ridge Priority: ridge Priority: ridge 0 0

STP におけるポートの役割 (Port ole) ポートの役割 ルートポート ( Port) 代表ポート (esignated Port) 説明 ブリッジへ最も少ないコストで到達出来る経路を提供するポート STP と同じ リンクから ブリッジへ最も少ないコストで到達出来る経路を提供するポート STP と同じ 定常状態 Forwarding Forwarding アルタネートポート (lternate Port) ルートポートに変わる二番目に少ないコストでルー locking トブリッジに到達出来るルートブリッジへの経路を提供するポート ( 複数あり ) Next Port バックアップポート (ackup Port) 指定ポートが提供するリンクへの経路に変わるリンクへの経路を提供するポート Next esignated Port locking ディスエーブルドポート (isabled Port) 故障しているか シャットダウンされているポート STP と同じ isabled STP で使用される PU STP-PU PU ver として定義 Hello 間隔ごとにスイッチ間で交換 (Hello time で過去の情報は無効になる ) Flag の部分を拡張 Topology Change Notification PU は使わない (STP とのインターワークでのみ利用 ) STP PU Protocol I=0000h Protocol Version I=0h () PU Type=0000 000b () Flags I Path Cost ridge I Port I Message ge Max ge Hello Time Forward elay 8 8 FLGを大きく拡張 it 位置 Flagの意味 0 Topology Change Proposal - Port ole 00 Unknown Port 0 lternate or ackup Port 0 Port esignated Port Learning 5 Forwarding 6 greement 7 Topology Change ck

STP でのトポロジー構築 STPにおける Handshake Proposal = Cost=0 ole=p ridge greement = ole=p LC:9 接続 LC:9 Proposal = Cost=0 ole=p ridge 条件比較 (Synchronization) 番のスイッチを ブリッジと認め ポートを ポートにしました! ridge 二つのスイッチが接続されると ポートを代表ポートとし状態を非転送 ( ブロッキング ) にした上で双方のスイッチが自身が ridge であり 当該ポートが代表ポート (P) であるとする Proposal PU を送信する Proposal PU を受信すると 自身の持つ 情報及びコストと比較し 相手が勝る場合 相手を代表ポート (P) と認める Proposal PU を受信したポートを ポート (P) として転送状態にし その他のポートをブロック状態にする 相手に greement PU を送信する 自身が勝る場合 相手から greement PU を受け取ると代表ポートとしてすぐに転送を開始する STP でのトポロジー構築 STP による論理トポロジーの構築 Proposal () ブリッジ の追加 ()Proposal の交換 = ridge ridge Cost=0 ole=p LC:9 LC:0 LC:9 LC:0 LC: ridge LC: ridge Proposal = Cost=0 ole=p ()Synchronization とgreement ridge LC:9 LC:0 greement = ole=p Proposal = Cost=9 ole=p ルートポート ( Port) Proposal = Cost=0 ole=p ブロッキング LC: Proposal を送信して Forwarddelay x の時間 greement がないので P になる Port でないので greement は出さない 代表ポート (esignated Port) アルタネートポート (lock Port) Proposal 交換中のポートがブロッキング ( 非転送状態 ) である事に注意

STP でのトポロジー構築 STP による論理トポロジーの構築 ( 続き ) () ) ブリッジ の追加 (5) ridge Proposal Proposal ridge = = Cost=0 Cost=0 LC:9 ole=p ole=p LC:9 LC:0 LC: (6) ridge LC:9 LC:0 LC: Proposal = Cost=9 ole=p LC:9 接続 Proposal = Cost=9 ole=p LC:9 ridge ridge LC:0 LC: greement = ole=p LC:9 greement 送信中はそのスイッチの他のポートがブロッキング ( 非転送状態 ) である事に注意 ridge 5 STP でのトポロジー構築 STP による論理トポロジーの構築 ( 続き ) (7) greement = ole=p (9) ) 完成 Proposal を送信して Forwarddelay x の時間 greement がないので P になる LC:9 LC:0 LC: greement = ole=p LC:9 ridge LC:9 LC:0 LC: LC:9 ridge Port でないので greement は出さない Proposal = Cost= ole=p Proposal = Cost=9 ole=p (8) LC:9 LC:0 LC: LC:9 ridge 6

STP での障害回復 ( アルタネートポート ) 障害発生の場合 ( アルタネートポートがあるとき ) () 障害発生 LC:9 LC:0 LC: 断発生 アルタネートポートは二番目に ブリッジに近いポート ルートポート断を検出するとすぐに転送状態に切り替える (STP では LISTENNING->LENING->FOWING と言う状態変化を経なくては切り替えられなかった ) LC:9 ridge () すぐにアルタネートポートを転送状態にする LC:9 LC:0 LC: LC:9 ridge 7 STP での障害回復 障害発生の場合 () 障害発生 Topology Change 断発生 LC:9 LC:0 ridge LC: LC:9 スイッチ はルートポートの断を検出すると トポロジー変更があった事を示す PU を送信する ()Proposal Proposal = Cost= ole=p LC:9 LC: ()greement greement = ole=p ridge LC:9 LC:9 LC: LC:9 ridge スイッチ は TCN を受信後 ただちに Handshake を開始 Handshake 完了で 新トポロジー完成 8

STP のまとめ トポロジー変更 LISTENNING->LENING->FOWING のステートを Handshake を導入したことによりはぶけるので STP よりも高速 トポロジー変更に伴う のフラッシュ STP では Topology Change Notification PU は使わない そのかわり Topology Change Flag を立てた PU を使って 他のスイッチにトポロジー変更が発生した事を教える Topology Change Flag を立てた PU を受信したスイッチは他のポートに Topology Change Flag を立てた PU を送信するともに のフラッシュを行う 80. との接続 Proposal を投げて greement を返してこなければ (Forward elay x の時間 ) 80. の動作をする 9 MSTP(Multiple Spanning Tree Protocol)80.s STP で複数のトポロジー ( インスタンス ) を扱いたいと言う要求に答える為に登場 IEEE 80.s 標準 80.s は 80. の上位互換性がある STP 80.w と連携して使われる VLN ごとに別々の STP のインスタンスを動作させる方法 (PVST など ) もあるが VLN 数が増えるとそれなりに負荷が大きくなるので MSTP では複数のインスタンスを一つの PU で扱えるようにしている VLN: VLN: 負荷分散などの為に VLN ごとに経路を変えたい事がある 50 5

MSTP MSTP には 80. 互換の親玉になる 個の Internal Spanning Tree(IST) と多数の Multiple Spanning Tree Instance(MSTI) がある 個々の VLN は IST( すべての VLN がマッピングされている ) と任意の MSTI インスタンス つにマッピングされ それらのインスタンスの挙動に同期した挙動を行う MSTI ごとに PU(MSTP の PU は version) に M-record と呼ばれるレコードが追加される 個の PU に多数の M-record が搭載される為 インスタンスが増えても PU は増えない egion と呼ばれる概念があり MSTI はリージョン内に閉じ込められるが IST は egion をまたいで存在する IST は egion 間を跨ぐ egion MSTI は egion 内だけで終始する egion egion IST: インスタンス 0 MST: インスタンス -5 5 STP ファミリ以外の冗長化プロトコルノード冗長化 ( メッシュトポロジー ) ESP VSP FVP GVP 5 6

ノード冗長化プロトコル ( メッシュトポロジー ) ネットワークコアにあるスイッチを二重化し コアに接続されるエッジ側のスイッチはコアに二重帰属する構成が基本 Edge-Coreトポロジーとも呼ばれる 標準的なプロトコルはない ベンダ独自の実装 ESP : Extreme VSP : Foundry FVP : Force0 GVP( 仮称 ) : 日立製作所コアの 台だけを転送状態にしておく Master ackup コア (Master のみフレームの転送を行う ) エッジ上位のスイッチの切り替わりを検知する事により をフラッシュし高速な切り替わりに対応する 5 ノード冗長化プロトコルの大規模化 大規模な冗長を組む場合は スイッチのペアごとに独立したのノード冗長化のインスタンスを作成し そのペアを通過するVLNはそのインスタンスの挙動に同期して動作をするようにする STPと比較して スイッチやリンクの障害がネットワーク全体のトポロジーの再構成に引き起こさない ( トポロジー変更が局所に閉じる ) と言うメリットがある リンク数は多くなりがち インスタンス ある程度の実績あり インスタンス インスタンス C 5 7

ノード冗長化プロトコル (ESP) ESP(Extreme Standby outer Protocol) Extreme 社が開発した ノード冗長化プロトコル レイヤー とレイヤー の冗長機能の両方の機能を提供している 冗長機能を必要とするスイッチに ESP 機能を持たせ 冗長を持たせている Master スイッチ : データの送受信を行っている SW Slave スイッチ : データの送受信を行わず 予備状態となっている SW(Standby とも言う ) マスタ vlan: ESP を管理する vlan マスタ vlan のみ ESP のアルゴリズムを計算し 他の vlan はマスタ vlan の動作に同期して Master Slave の選択を行う事が出来る Master 通信経路 Slave ESP を動作させるスイッチ ( ペア ) 55 ノード冗長化プロトコル (ESP) ESP マスターの選択 ESP を動作させるスイッチでは 定期的に制御フレーム (ESP hello packet) を交換し どのスイッチが最も Master にふさわしいかを判断している ESP マスターを決定する要素 ctive Port 数 スイッチの優先度 (Priority) トラッキング情報 (pingなど) システムMCアドレス ( 大きい番号のものが優先 ) これらの要素をタイブレークルールで比較していく ( 比較順は変更可能 ) 相手スイッチがMasterに遷移したと言う通知を受けた時 自身がMasterで あったら 即座に Slave へ状態遷移する ) ctive Port 数が です優先度 0 です MC XXX です Master(0) ctive Port 数は同点だけど 優先度が高いから Master になろう ctive Port 数が です優先度 です MC YYY です Slave() ctive Port 数は同点だけど 優先度が低いから Slave になろう 56 8

ノード冗長化プロトコル (ESP) リンク障害による切り替え Master(0) Slave() フレームは Master となっているスイッチ を経由して流れている ctive port 数 : 同点 Priority 数 0: 0 の勝ち ( スイッチ がマスター ) Master(0) Slave() Slave(0) Master() 障害 障害切り替え スイッチ を経由する通信経路で障害が発生 勝負前 ESP の機構により Master/Slave の切り替えが発生し フレームの流れる経路も変わる ctive port 数 : の勝ち ( スイッチ がマスター ) 57 ノード冗長化プロトコル (ESP) ノード停止による切り替え Master(0) Slave() フレームは Master となっているスイッチ を経由して流れている ctive port 数 : 同点 Priority 値 0: 0 の勝ち ( スイッチ がマスター ) 障害 スイッチ が停止 Slave() Slave(0) Master() Time Out により Master になる スイッチ で hello packet が未受信となってあらかじめ設定した時間を越えると Slave スイッチは Master スイッチに障害が発生したと認識して Master となる 58 9

ノード冗長化プロトコル (ESP) Priority 変更による切り替え Master(0) Slave() フレームは Master となっているスイッチ を経由して流れている ctive port 数 : 同点 Priority 値 0: 0 の勝ち ( スイッチ がマスター ) Master(0) Slave() (0) Slave(0) 切り替え Master(0) スイッチ に系を切り替える為に Priority 値を から 0 に変更する 勝負前 ESP の機構により Master/Slave の切り替えが発生し フレームの流れる経路も変わる ctive port 数 : 同点 Priority 値 0:0 0 の勝ち ( スイッチ がマスター ) 59 ノード冗長化プロトコル (ESP WE) Master(0) ESP の Master を経由してトラフィックが流れると当然その経路に従った の学習がなされる Slave() Slave() Master(0) ESP の Priority などを変更して Master/Slave の関係が入れ替わった場合に そのままでは 古い の内容に従ってフレームの転送が行われる為 フレームが結果的に転送不能となる ESP の切り替えを感知 Slave() ESP Hello Master(0) ESP の切り替えを感知 の矛盾状態を防ぐ為 両端のスイッチは 上位のスイッチが Master/Slave の関係を変更した事を ESP Hello の内容変更を見る事により の内容を Flush する ( 消す ) これにより再度学習が行われ 正常な通信が行えるようになる 60 0

ノード冗長化プロトコル (VSP) VSP( Virtual Switch edundancy Protocol ) Foundry Networks 社が開発した ノード冗長化プロトコル レイヤー とレイヤー の冗長機能の両方の機能を提供している 冗長機能を必要とするスイッチに VSP 機能を持たせ 冗長を持たせている Master スイッチ : データの送受信を行っている SW ackup スイッチ : データの送受信を行わず 予備状態となっている SW Topology Group: 複数の VLN をグループ化し Master を共有する機能 VSP ware な装置は 系が切り替わり Master となったスイッチが送信する TC packets を受信すると をフラッシュするのではなく ackup 側に書き換える Master 通信経路 VSP ware VSP ware ackup VSP を動作させるスイッチ ( ペア ) 6 ノード冗長化プロトコル (VSP) VSP の priority(-55 efault 00) の高い方が Master となる ポートがダウンすると priority が減る Priority x( 利用可能 Link 数 / 設定 Link 数 ) Tracking port により 特定のリンクの own により priority 値を制御可能 VSP Hello を使って priority 情報を交換 (efault 秒間隔 ) ctive 決定後は Hello は Master からのみ送信 ackup 側のスイッチは Master から ead interval 時間 Hello を受信しないと Hello packet を送信しはじめ さらに Hold-down interval 時間自分より priority の高い Hello を受けとらなければ Master となる 50*(/)=50 0*(/)=0 Master ackup 50*(/)=00 0*(/)=0 ackup Master 設定 Priority=50 設定 Priority=0 設定 Priority=50 設定 Priority=0 6

ノード冗長化プロトコル (FVP) FVP( Force0 VLN edundancy Protocol ) Force0 社が開発した レイヤー ノード冗長化プロトコル 冗長機能を必要とするスイッチに FVP 機能を持たせ 冗長を持たせている Master スイッチ : データの送受信を行っている SW Standby スイッチ : データの送受信を行わず 予備状態となっている SW FVP omain: 複数の VLN をグループ化し Master を共有する機能 FVP ware な装置は コアスイッチより flush address message を受信すると をフラッシュする Master 通信経路 FVP ware FVP ware ackup FVP を動作させるスイッチ ( ペア ) 6 ノード冗長化プロトコル (FVP) ポート数 priority 制御ポートの MC アドレス ( 低い方が有利 ) の順でタイブレークルールで比較し 勝った方が Master となる priority(-55 ただし 55 は強制 Slave) は高い方が Master となりやすい FVP Hello を使って priority 情報を交換 (efault 秒間隔 ) 通常は Master-Standby 間に張られた Core Link を使って Hello のやり取りを行う Core Link が断になった場合はアクセスリンク上のコントロール VLN を使って Hello のやり取りを行う (ual Master を防ぐ為 ) Standby 側のスイッチは Master から Message ge Timer 時間 Hello を受信しないと 遷移プロセスに移る Port= Priority=00 Port= Priority=50 Port= Priority=00 Port= Priority=50 Master ackup ackup Master 6

ノード冗長化プロトコル (FVP) ブロードキャストが帯域を無駄使いする事を防止 Master から port block message を受信すると該当する VLN の Standby 側のポートをブロックする ( これによって余計なブロードキャストが回りこまずに 帯域を有効活用出来る ) roadcast VLN- Master- ackup- S ackup- Master- Unicast S VLN- roadcast VLN- Master- ackup- S ackup- Master- Unicast S VLN- VLN- のブロードキャストによる帯域圧迫の影響を VLN- が影響を受ける Port block message を受信する事により VLN- のトラフィックは S 側に転送されなくなる FVP はスイッチの対向でも使用出来る! VLN- は VLN- の影響を受けない Core switch VLN 00(primary) VLN 00(redundant) VLN 00(redundant) VLN 00(primary) ccess switch 65 ノード冗長化プロトコル (GSP) GSP( GS000 Switch edundant Protocol = 仮称 ) ( 株 ) 日立製作所が開発した ノード冗長化プロトコル 冗長機能を必要とするスイッチに GSP 機能を持たせ 冗長を持たせている Master スイッチ : データの送受信を行っている SW ackup スイッチ : データの送受信を行わず 予備状態となっている SW VLN Group: 複数の VLN をグループ化し 制御する機能 マスターの切り替えが発生すると 新マスタは全隣接スイッチに GSP Flush equest を送信する GSP ware な装置はそれを受信すると をフラッシュする Master 通信経路 GSP ware GSP ware 親間直結リンク ackup GSP を動作させるスイッチ ( ペア ) 66

ノード冗長化プロトコル (GSP) GSP マスターの選択 GSP を動作させているスイッチでは 定期的に制御フレーム (GSP dvertise) を交換し どのスイッチが最も Master にふさわしいかを判断している GSP マスターを決定する要素 ctive Port 数 スイッチの優先度 (Priority) 装置 MC( 大きい番号のものが優先 ) これらの要素をタイブレークルールで比較していく ( 比較順は変更可能 ) デュアルマスター防止策 切り替え時のデュアルマスターの可能性 ( デュアルマスターはループになる ) を排除する為の機構を持っている ( 瞬間ループも が狂うので絶対に駄目!) () マスターになろうとするスイッチはまず マスター待ち状態になる ( ブロック状態のまま ) () バックアップになろうとするスイッチはすぐにバックアップになり バックアップになった事を GSP dvertise を使って広報 () マスター待ちのスイッチは相手側のスイッチがバックアップになった事を示す GSP dvertise を受信すると マスターとして動作しはじめる GSP dvertise を規定回数受信しないと (-55 efault=) で相手不定状態になる オプション指定時は 相手不定状態と親間直結リンク断条件組み合わせでバックアップスイッチはマスターとして動作しはじめる 67 STP ファミリ以外の冗長化プロトコル ( リングトポロジー ) P EPS MP MMP 68

リングトポロジー リングトポロジーはメッシュ ( ノード冗長化 ) トポロジーよりも 伝送路やインターフェースの必要量が少ないと言う特徴がある P(esilient Packet ing) のように 高度で高価な技術の他にイーサネットスイッチをリング状に配置し そのリングに Hello パケットを流す事によってリンク断の監視を行い ブロッキングポートの制御を行うような単純で安価な方式がある (EPS MP MMP) つのリングだけでは限界がある事が多く どうやって 複数のリングを冗長を持たせた形で接続しかつループを起こさないか? が課題の一つとなっている 69 ノード冗長化プロトコルリングマルチ接続 つのリングだけではスケーラビリティが限られている為 複数のリングを接続したいと言う要求がある ( 大規模な接続を行う場合に ノード二重化プロトコルを利用するよりも リンク数を減らせると言う考え方もある 昔 EC の FI スイッチが流行した時のようなリングの使い方をやろうとするとこれが必要 ) リングを一箇所で接続するのは問題ないが 冗長の為に 箇所で接続すると 冗長部分の渡りで断が発生した場合にスーパーループが出来てしまう スーパーループ P S lock Master P S lock Master P S Open Master P S Open Master 70 5

P(esilient Packet ing) 80.7 IEEE 80.7 標準化中 リング型転送方式 ( 最近のEPSなどの簡易なリングとは異なる ) 50msec 以内の高速障害回復 SONET/SH(C8c OC9c) で利用可能 Spatial euse 通常時リング内の最短経路で転送を行う (Link State 情報 ) 通信の公平性を保つ機構がある QoS 制御や帯域制御に優れている P ing 最短経路を選択 7 P(esilient Packet ing) 80.7 障害発生時の切り替えの方法の種類 Wrapping 障害が発生部分の直近で折り返したリングを作る事により障害回復を図る 障害回復がはやい Steering 障害部位を通らない方向にリングを切り替える Wrappingと異なり 切り替え後の遅延の変動も少なく 帯域も有効活用出来る Wrapping Wrapping Steering 7 6

ノード冗長化プロトコルリング構成 (EPS) EPS(Ethernet utomatic Protection Switching) Extreme 社が開発した リング型冗長化プロトコル リング構成で使用する簡易な冗長化プロトコル リングとなるようにスイッチを接続し その中に Master node を 台指定する ( 手動 ) Master node のリングに所属するポートの一つを Primary Port とし もう一方を Secondary Port とする Master node の Secondary Port をブロッキング状態にする Primary ポートより Health Check message を送信し Secondary ポートで受信出来るかによってリングの状態を監視する方式 Primary Health Check messageの送り先 Master node lock Secondary Portはブロックされる Secondary 7 ノード冗長化プロトコルリング構成 (EPS) 障害発生時の挙動 Master nodeがリングの障害を検出する方法 Link own メッセージを転送ノードより受け取る Health Check messageがsecondaryポートで受信出来なくなる 障害によりリングが切断されたと判断すると Master nodeはsecondaryポートを lock 状態からOpen( 転送 ) 状態に遷移させる トポロジーの変更によるエントリの矛盾を回避する為 Master nodeは転送ノードに対して Flush メッセージを流し それを受け取った転送ノードはの内容のFlush( 消去 ) を行う S が Linkown メッセージを Master node に送信 リング断 S S S5 S が Linkown メッセージを Master node に送信 Master node S Flush メッセージ lock Primary Secondary Health Check messageの送り先 S S6 Open 7 7

ノード冗長化プロトコルリング構成 (EPS) 障害復旧時の挙動 Master nodeはリング障害中もhealth Check メッセージの送信は続け Secondary Port に届かない限り 障害が継続中であると判断する リングが復旧後 Health CheckメッセージがSecondary Portに到着するまで ループが発生する可能性がある これを防ぐ為に 断の復旧を検出した転送ノードはそのポートを暫定ブロック状態とし 実データを通さず Health Checkのみ通すようにする Master nodeはhealth Check メッセージをSecondary Portで受信すると Secondary Portをブロッキング状態にし Flush メッセージを送信する 転送ノードは Flush メッセージを受信すると 自身のを一旦消去するとともに 暫定ブロック状態のポートを通常の転送状態にし 次のノードに Flush メッセージを転送する 暫定ブロック状態 S S リング断復旧 S5 Flush S S6 Master node S Open Primary Secondary Health Check メッセージ lock 75 ノード接続マルチリング構成 (EPS) P ctive-open P Master P S P locking Controller Partner Master P S つのリングが共有するリンク部分を挟む形で Controller と partner を設置しておく (Controller と Partner は互いに hello を交換して共有リンクを監視 ) 共有リンク断 共有リンクの断を検出すると Controller は つのポートを ctive-open と呼ばれる状態にして 他のポートをブロッキング状態にする 共有リンク復旧 共有リンクが復旧すると Controller は locking State にしている部分と共有リンク部分を Preforwarding mode(master が流す health-check のみ通す ) にする ( そのまま転送状態にすると一時的なループを構成してしまう為 ) 双方のリングの Master node が health-check により Secondary Port をブロックにし Flush を送出する Controller は Master node が Secondary Port を閉塞した事を示す Flush を受信すると 全てのポートを転送状態にする 76 8

リング構成 (MP) MP(Metro ing Protocol) Foundry Networks 社が開発した リング型冗長化プロトコル リング構成で使用する簡易な冗長化プロトコル リングとなるようにスイッチを接続し その中に Master node を 台指定する ( 手動 ) Master node のリングに所属するポートの一つを Primary Port とし もう一方を Secondary Port とする Master node の Secondary Port をブロッキング状態にする Primary ポートより HPs(ing Health Packets) を送信し Secondary ポートで受信出来るかによってリングの状態を監視する方式 Primary HPsの送り先 Master node lock Secondary Portはブロックされる Secondary 77 リング構成 (MP) 障害発生時の挙動 Master nodeがリングの障害を検出する方法 HPsがSecondaryポートで受信出来なくなる (HPsは00ms 間隔で送信されており 00ms 検出されないと異常と見なす ) 障害によりリングが切断されたと判断すると Master nodeはsecondaryポートを lock 状態からOpen( 転送 ) 状態に遷移させる トポロジーの変更によるエントリの矛盾を回避する為 Master nodeは転送ノードに対して Flush メッセージを流し それを受け取った転送ノードはの内容のFlush( 消去 ) を行う リング断 S S S5 S S6 Master node S lock Open Primary Secondary HPsの送り先 Helloが00ms 検出されないと断とみなす 78 9

リング構成 (MP) 障害復旧時の挙動 Master nodeはリング障害中もhps(ing Health Packets) の送信は続け Secondary Portに届かない限り 障害が継続中であると判断する リングが復旧後 HPsがSecondary Portに到着するまで ループが発生する可能性がある これを防ぐ為に 断の復旧を検出した転送ノードはそのポートを Preforward 状態とし 実データを通さず HPsのみ通すようにする Master nodeは HPsをSecondary Portで受信すると Secondary Portをブロッキング状態にし Flush メッセージを送信する 転送ノードは Flush メッセージを受信すると 自身のを一旦消去するとともに Preforward 状態のポートを通常の転送状態にし 次のノードに Flush メッセージを転送する Preforward 状態 S S リング断復旧 S5 S S6 Master node S Open HPsの送り先 Primary Secondary lock 79 ノード接続マルチリング構成 (MP) ノードのマルチリング接続は IronWare elease 07.7.00 からサポート ing Priority と呼ばれる数値が各リングに設定される 二つのリングが接続されている所で ing Priority の数字が大きい側のリングのポートは Customer Port と呼ばれる Customer Port から入力された HPs だけは ing Priority の小さい側のリングにも流れ込む この HPs は通常 Master Node で止まる S Master M P ing S Customer Port S,, ing S Customer S Port S Master P M ing HPs ing HPs 80 0

ノード接続マルチリング構成 (MP) 障害発生時の挙動 共有リンク部分 S-S 間での断をMが検出すると MのSecondary portは他のリングのhpsのみを透過するpreforwarding 状態になる この状態ではMのSecondary Portはブロック状態のままでありこの後 M がSecondary portをforwarding 状態にしても ループは発生しない 障害復旧時の挙動 リング構成の場合と同じ S Master M P ing S Customer Port S,, 断 ing S Customer S Port S Master P M ing HPs ing HPs 8 ノード冗長化プロトコルリング構成 (MMP) MMP(Multi Master ing Protocol ) 日立電線が開発した リング型冗長化プロトコル ing Master スイッチには Masterポート及び Slaveポートがあり両方のポートで Health Checkフレームを投げる Health チェックが相手のポートに届いているかどうかでリングの状況を確認する マスターポート ( フォワーディング ) Hello ing Master スイッチ スレーブポート ( ブロッキング ) Hello マスターポート ( フォワーディング ) Hello ing Master スイッチ Shadow Master スイッチ スレーブポート ( ブロッキング ) Hello 8

ノード冗長化プロトコルリング構成 (MMP) 障害発生時の挙動 障害の検出方法 (ing Master node) スレーブポートが Hello packet を n 秒以上連続して受信しない場合 Linkown-Trap を受信した場合 ing node での障害の検出と フラッシュ 直接 Linkown を検出した場合 ing Master スイッチがスレーブポートをフォワーディング状態に変更した Trap を受信した場合 どちらかの Hello Packet を n 秒以上連続して受信しない場合 マスターポート ( フォワーディング ) Hello &Trap S ing Master スイッチ S スレーブポート ( ブロッキング ) ( フォワーディング ) S5 Hello &Trap S S リング断 Linkown-Trap を送信 8 ノード冗長化プロトコルリング構成 (MMP) 障害回復時の挙動 Master node での障害回復の検出 Hello パケットを受信した場合 スレーブポートをブロッキングに切り替え ブロッキングにした事を示す Trap を送信 ing node での障害回復の検出と フラッシュ 直接 LinkUp を検出したノードはそのポートをすぐに転送状態にはしないで ハローパケットのみ通す リスニング状態にする ing Master スイッチのスレーブポートがブロッキングになった事を示す trap を受信後 リスニング状態のポートがあれば フォワーディングに変更し を Flush する 5Trap を受信後 Flush マスターポート ( フォワーディング ) ing Master スイッチ スレーブポート ( フォワーディング ) ( ブロッキング ) 状態変更 Trap 5Trap を受信後 Flush 5Trap を受信後リスニング ( Flush) フォワーディング Hello リスニング ( ハローパケットのみを中継 ) S S S5 S S 障害回復 5Trap を受信後リスニング ( Flush) フォワーディング リスニング ( ハローパケットのみを中継 ) 8

ノード接続マルチリング構成 (MMP) MMP によるマルチリング Master スイッチを分散して設置出来る事を利用して マルチリング接続を行う 共有部分のリンク断によって ループ構成とならないように Master と Shadow Master の配置を行えばそれだけで 特別な機能は使わずにマルチリングの構成を構築する事が出来る ing での Hello チェック経路 マスターポート ( フォワーディング ) ing の Hello 用 SW マスターポート ( フォワーディング ) ing の Hello 用 ing での Hello チェック経路 ing ing スレーブポート ( ブロッキング ) ing の Hello 用 SW スレーブポート ( ブロッキング ) ing の Hello 用 SW:ing のシングル Master スイッチ リング の Shadow Master スイッチ SW:ing の Shadow Master スイッチ 85 リンク冗長としての Link ggregation 86

Link ggregation 80.ad IEEE 80.adとして標準化 スイッチ間の複数の物理リンクを論理的に 本にまとめて使う機能 負荷分散の他 伝送路の冗長を確保する為にも用いられる 制御プロトコルとして (LCP:Link ggregation Control Protocol) を規定 論理チャネルを動的に組み上げるためのプロトコルで リンクの状態のチェックや接続の間違いをチェック出来る 実装されていない場合は 手動で設定する トラフィックの振り分けは MC IP ポート番号 入力ポートなどのハッシュやラウンドロビンなどがある 平均的に分散するわけではないので リンク数に比例したパフォーマンスを期待出来るわけではない ラウンドロビンはパケットの順番入れ替えが発生する可能性があるのであまり使わない ケーブルを異なる経路に流したり 伝送路の収容されるカードを別々にしたりして冗長を取るのにも使われる 複数の伝送路をまとめて使用 87 ループを検出し 論理トポロジーに働きかける機構 88

ループを検出し 論理トポロジーに働きかける機構 論理トポロジーがアルゴリズム通り維持出来ない可能性もある 多くのスイッチが データ転送を行う部分 ( 転送エンジン ) と 制御パケット (PU) などをコントロールする部分 (CPU) が分かれている為 CPU の過負荷やソフトウェアの障害により 制御パケットが CPU に転送されるが 処理させず データの転送のみが実行される状況が発生する可能性が存在する その他 リブートのタイミングで 設定情報の読み込みに失敗して立ち上がってくるようなスイッチが存在する可能性も存在する (a) CPU (d) のスイッチの CPU がスタックする事により 論理トポロジー上はループがないように見えるが実際にはループしている例 (b) CPU 転送エンジン (d) 転送エンジン コントロールパケット的にはスイッチ (d) は見えない CPU CPU 転送エンジン (c) データ転送機構としてはループしている 転送エンジン CPU スタック 89 ループを検出し 論理トポロジーに働きかける機構 ループガード (Cisco) の例 ループガード (-STP 用 ) 隣接したスイッチの CPU 異常や単方向リンクの発生により PU が受信出来ない場合に ループの発生を防ぐ機能 ループガードを設定したポートで PU を受信しなくなっても 代表ポートにはせず ループ不整合ブロッキングステートにする ridge CPU 転送エンジン Loop Guard CPU 転送エンジン 上位 ( ride 向け ) に向いているポートであると分かっていれば そのポートで PU を受信しなくなる事によって 代表ポートになる必要性はない!(Hand shake 代表ポートになる可能性はある ) Loop Guard CPU 転送エンジン Loop Guard Loop Guard を設定するポートはルートポートとアルタネートポート 90 5

ループを検出し 論理トポロジーに働きかける機構 ridge CPU 過負荷 ループガード (Cisco) の例 CPU 転送エンジン CPU 転送エンジン PU 送信不能 CPU Loop Guard ridge 転送エンジン CPU 転送エンジン CPU 転送エンジン 通常なら PU 未受信により Forward delay x 秒後に転送状態なるが Loop Guard が設定されていると CPU 転送エンジン ループガードが設定されているポートは PU がタイムアウトしても 転送状態にならないでループ不整合ブロッキング状態になる Loop Guard 5LOOP は発生しない!! 9 ループを検出し 論理トポロジーに働きかける機構 Extremeの例 ELP(Extreme Loop ecovery Protocol) ループ検出を行い 論理トポロジーに働きかける機構として ELPと呼ばれる機構を提供している この機構はESPと組み合わせて利用される この機能はESPのMaster/Slaveの関係の中で 両方のスイッチがMasterにならないよう ループの防止 / 検出をする ESP CPU ELP ESP CPU ELP 転送エンジン 転送エンジン CPU 転送エンジン 9 6

ループを検出し 論理トポロジーに働きかける機構 ELP の動作概要 ELP パケットを呼ばれる監視パケットを送出し ループの有無を検出 送出されたパケットを受信した場合は ループありと判定 送出されたパケットを受信しない場合は ループなしと判定 ( 正常 ) ELP のパケットは発信スイッチ以外のスイッチでは CPU に転送されず 転送エンジン内で転送される為 他のスイッチの CPU の状況に左右されない ESP CPU ELP ESP CPU ELP 転送エンジン 転送エンジン CPU 転送エンジン 9 ループを検出し 論理トポロジーに働きかける機構 ESP と ELP の連携 ELP はループ検出を行うが トポロジー維持機構の ESP と連係して動作をする事により ループを検知し ループ回避を行う事が出来る ELP Master-poll 機能 Master スイッチが定期的に両系 Master 検出用パケット ( 宛先マルチキャスト ) を送出し 戻りを検出した場合にループが発生していると判断し Slave に落ちる機能 ELP premaster-poll 機能 スイッチがESPのMasterに遷移する直前に 両系 Master 検出用パケット ( 宛先マルチキャストを送出し 戻りを検出した場合に自身がMasterに遷移した場合にループになる事を事前に察知し Masterにならない機能 9 7

ループ検出機構 95 ループ検出機構 ループ検出の必要性について 様々な機構を駆使して ループを防止したとしても 設定ミスなどの可能性やケーブリングのミスなど ループする可能性を 0 にする事は難しい 被害を最小限に食い止める為にループが発生している事にすぐに認識し対策をうつ必要がある ループ検出機構 の書き換わりを見張る方法 ループすると の書き換わりが多発する ある程度の時間内にある程度の回数書き換えが発生すると ループの疑いがあるとして 警報を上げる (SEIKO のキャリア向けスイッチなどに実装 ) ループすると の上書きが多発する (MC:a が右に見えたり左に見えたり ) MC:a 96 8

ループ検出機構 マルチキャスト Hello ポーリング マルチキャスト宛てに Hello フレームを投げ それが戻って来るかどうかを確認する事により ループがないか確認する方法 ( 制限はあるが Cisco などが実装 ) マルチキャスト ( ブロードキャスト ) を投げて戻ってきたらループと認識する マルチキャスト ブロードキャスト ユニキャストの流量観察 ネットワーク上に流れている マルチキャスト ブロードキャスト ユニキャストの定常的な流れのバランスをモニタしておき マルチキャストやブロードキャストの流量の急激な増加 ユニキャストの減少などよりループを検知する 運用レベルの検出方法 97 大規模イーサネットを介したネットワーク冗長について 98 9

大規模イーサネットを介した冗長を組む場合 広域イーサネットや大規模なイーサネットを利用し重要なサービスを動作させるような場合 バックアップの通信経路を持たせるような事がしばしば行われる 一般には OSPF や EIGP などをそのまま動作させる方法が取られる Ethernet ネットワーク outer OSPF OSPF outer ネットワーク ackup Network ルータが二重化されていないのはここでは無視する 99 大規模イーサネットを介した冗長とループ 図の Ethernet 部分でループが発生した場合 の内容が狂う為 条件によっては マルチキャストは通るが ユニキャストが通らないと言う状況が発生する OSPF はルータ間のプロトコルのやり取りを Multicast で行っている為 Ethernet 側でループによって接続性が不安定になっている事を検出出来ず 結果的に ネットワーク からネットワーク への通信に影響を与える可能性がある Ethernet ( 学習テーブル ) が混乱している為ユニキャストパケットは通らない ( 学習テーブル ) が混乱していてもルーティング情報を運ぶ Multicast は透過する ネットワーク outer OSPF コスト小 OSPF コスト大 OSPF コスト小 OSPF コスト大 outer ネットワーク ackup Network 00 50

大規模イーサネットを介した冗長とループ 拠点数が少ない場合は拠点間でGPピアを張る場合もある GPで張る場合のメリット Ethernet 網の中間で切れた場合に 検出しやすい ループの発生によって 使えなくなっているEthernetを検知出来る場合がある (GPはユニキャストでルータ間にTCPピアを張るので が狂っている場合にピア自体が落ちてくれる場合がある そうするとCK Up 側にネットワークが切り替わる ) Ethernet ユニキャストは通信出来ない ユニキャストが通らないと GP ピアが落ちる ネットワーク outer outer ネットワーク ackup Network 0 大規模イーサネットのループを検出し経路を切りかえる 例えば Cisco の一部の L スイッチの機能には Keep live を定期的に Ethernet 網側に投げ その Keep live が折り返して来た場合にその Ethernet 網がループを発生させていると判定してポートに閉塞をかける機能があるものがある ( ループが解除されてしばらくたつとポートの閉塞を解除するような機能もあるものもある ) このような機能を利用する事により 複数の Ethernet 網を使って 冗長を組んだ場合に ループの発生を検出して 経路の切り替えを 効果的に行う事が出来る可能性がある このような機能は ループによる フレーム増殖より アプリケーションを守ると言う側面もある ただし Ethernet 網側では Keep live を透過するような設定をしておかなくてはならない Ethernet ルータは自分が投げる Keeplive が戻って来るとループであると判断し ループ状態が解除されるまで ポートを閉塞する ネットワーク outer OSPF コスト小 OSPF コスト大 OSPF コスト小 OSPF コスト大 outer ネットワーク ackup Network ルータがループを検出した側の Ethernet 網を切り離してくれる為 OSPF などのルーティングプロトコルは正常な Ethernet 網側に経路を切り替える事が出来る 0 5

大規模イーサネットでのループによるルータ停止対策 ループによって増殖したフレームでルータが死ぬ場合もある Ethernet ループによる os ループによる os ネットワーク outer 停止 ackup Network 停止 outer ネットワーク 一箇所のループで 影響を受けないルータの組を考えたほうがいい ループによる os 停止 Ethernet ループによる os 停止 ネットワーク outer ackup Network outer outer ネットワーク 0 広域イーサネットをまたいだ STP 広域イーサネットをまたいだ STP 全てのキャリアが対応しているわけではない ( あんまりおすすめじゃない ) 広域イーサネットのスイッチが ユーザ STP の切り替えを認識しない為切り替え動作に が ge out するまで ( 一般には 5 分 ) 待たなくてはならない ( 広域イーサネットに接続された機器が定期的にマルチキャストやブロードキャストを送信していればこの問題はある程度解決する ) MC:X UserSW 広域 Ethernet X Y Z locking UserSW ridge UserSW MC:Y MC:Z このような構成で の部分が切断されると UserSW のトポロジー変更が上手くいったとしても 広域 Ethernet 網内の ridgetable が古い状態のまま保持されてしまう為 geout するまで通信が出来なくなってしまう事がある 0 5

付録 :VPLS(Virtual Private LN Service) ルーティングを使ってイーサネットの冗長を実現する例 05 VPLS(Virtual Private LN Service) Ethernet フレームを MPLSを使って Multipoint to Multipoint で転送する技術 PE 間でフルメッシュLSPを張り ブリッジングはPEで行い MPLSのコアのではラベルスイッチングのみを行う CE VPLS 社 MC: VPLS 社 MC: CE Local- (PE-rs α) VPLS stmc 出力先 Local: 社 Tunnel-LSP: Tunnel-LSP: Local: 社 Tunnel-LSP: Local- PE-rs α Tunnel-LSP: Tunnel-LSP: MPLS クラウド Tunnel-LSP: 特徴 PE 間でフルメッシュにトンネルを張る PE は関連したトンネルに関して MC の学習機能を持つ MPLS 網側から受け取ったフレームを MPLS 網に戻さない Split Horizon の機能により Loop を防止する MPLS ベースの強力な冗長化機能が使える PE-rs PE-rs CE PE-rs Secondary VC VPLS MC: Primary VC MTU-s CE VPLS 社 MC: CE VPLS 社 MC: raft-lasserre-vkompella-ppvpn-vpls- 06 5

VPLS(Virtual Private LN Service) 基本動作 () にMC アドレスが学習されていない場合の VPLS 上のフレーム転送 ν イングレス ( 入力側 )PEにてMCアドレスが学習されていない場合 PEはフレームをフラッドする ν イグレス ( 出力側 )PEにてMCアドレスが学習されていない場合 PEはローカルポートにのみ送信する (Split Horizon) : S: T : S: T MPLS クラウド MPLS Header : S: T LSP: : S: PE T Local: : S: CE MC: T CE MC: Local: PE PE-() stmc 出力先 MC: Local: Split Horizon の機能により PE はLSP から受け取ったフレームを他の LSP に流さない LSP: MPLS Header : S: T PE C PE-() stmc 出力先 MC: LSP: 07 VPLS(Virtual Private LN Service) 基本動作 () にMC アドレスが学習されている場合の VPLS 上のフレーム転送 ν PEのにMCアドレスが学習されている場合は 学習の内容にそって フレームが転送される : S: T : S: T MPLS クラウド MPLS Header : S: T LSP: : S: PE T Local: : S: CE MC: T CE MC: Local: PE PE-() stmc 出力先 MC: Local: LSP: PE C PE-() stmc 出力先 MC: LSP: MC: Local: MC: LSP: 08 5

付録 :Ether over Ether 広域イーサネットサービスで利用されている拡張イーサネットの例とループ対策 09 階層化ブリッジング (Ether over Ether) 80.Q Tag VLN を使った VLN VPN の改良方式 PE の加入者向けポートそれぞれにユニークな EoEMC アドレスを定義し 加入者から受け取った Ethernet フレームをその入力ポートに定義された EoEMC アドレスをソースとし送り先の PE のポートの EoEMC アドレスをディスティネーションとする Ethernet フレームでカプセル化して転送する方式 PE 広域 Ethernet CoreSwitch PE MC:0 S Tag T 0 0 営業 T EoEMC:a S Tag S Tag T S Tag T b a X 社 0 0 営業 T 0 0 営業 T EoEMC:b MC:0 特徴 コアスイッチで学習しなくてはならないMCアドレスを劇的に減らす事が出来る EoEMCアドレスを階層的に割り振る事により ループトラフィックが防止出来る 特殊な処理を意味するあて先 MCアドレスを持つパケットを安全に転送する コアスイッチは単にジャンボフレームを転送出来る普通のスイッチでかまわない ( 過去の資産の継承 ) 0 55

EoE(Ether over Ether) 基本動作 () にMC アドレスが学習されていない場合の EoE 上のフレーム転送 ν イングレス ( 入力側 )PEにてMCアドレスが学習されていない場合 PEはEoEにマルチキャストアドレスをセットしフレームをフラッドする β S α T Hello EoE Multicast EoES a VPN-I 00 β S α T Hello β S α T Hello 加入者 (00) MC:α EoEMC PEsw Core PEsw a sw Key estination Key estination MC IF EoE MC EoEMC IF α - PEsw a Core sw は普通の Etherスイッチの動作しかしていない b c Key estination MC IF EoE MC α a 加入者 (00) MC:β Key estination MC IF EoE MC α a EoE(Ether over Ether) 基本動作 () にMC アドレスが学習されている場合の EoE 上のフレーム転送 にMCアドレスが学習されている場合は 学習の内容にそって フレームが転送される α S β T Hello EoE a EoES C VPN-I 00 α S β T Hello α S β T Hello 加入者 (00) MC:α EoEMC PEsw Core PEsw a sw Key estination Key estination MC IF EoE MC EoEMC IF α - PEsw a β C C Core sw は普通の Ehterスイッチの動作しかしていない b Key estination MC IF EoE MC α a c 加入者 (00) MC:β Key estination MC IF EoE MC α a β - 56

EoE フレームフォーマット EoEフレーム構造 (Etag 付きの場合 ) (80.Q にカプセル化する場合 ) 7bytes bytes 6bytes 6bytes bytes bytes プリアンブル SF 宛先 EoE MCアドレス送信元 EoE MCアドレス TPI TCI プリアンブル (steoe) (SrcEoE) bytes EoE TPI 8~50bytes or more ペイロード (EoE フレーム ) bytes FCS : TPI について プロバイダ内でどの値を利用するかは任意である 80.Q をその使用するのであれば 0x800 を使う事も出来るが QinQ や vmn で一般に 0x900 が使われたように EoE では一般には 0x00 が用いられる 6bits bits bits bits 0x 00 Pri CFI Tag-I 6bits 0x E0E0 :EoE データフレームの TPI/Type は 0xE0E0 になる これにより EoE カプセルフレームを判定する (UntagEthernetフレームにカプセル化する場合) 7bytes bytes 6bytes 6bytes bytes 8~50bytes or more bytes プリアンブル SF 宛先 EoE MCアドレス送信元 EoE MCアドレスペイロード TYPE FCS プリアンブル (steoe) (SrcEoE) (EoEフレーム) : TTL(Time to Live) は EoE ware なスイッチを通過するたびに減算され 0 になったフレームは転送されず破棄される ( 最大 55) EoE フレーム :Etag(Extension Tag) オプション拡張 Tag は 80.Q がサポートする bits の Tag-I 以上の VLN 空間をサポートする為に用いる ( 最大 bits+8bits=0bits の空間をサポート出来る ) bytes EoE TTL bytes ETag 6~58bytes or more ペイロード ( 加入者フレーム ) EoE による CoreSwitch での MC 学習の低減 加入者が使用する MC アドレスの量が増えたとしても コアスイッチが学習する MC アドレスの量は変わらない ( コアスイッチは数千 VPN を扱う為 VPN ごとの MC 学習数を減らしたい ) エッジスイッチでは 多くてもポート数程度の数の VPN しか存在しない為 スケールし易い MC:000~999 EoEMC:a PE 広域 Ethernet CoreSwitch PE EoEMC:b MC:000-999 000エントリー 000エントリー Key estination Key estination エントリー Key estination Key estination MC IF EoE MC MC IF EoE MC Key estination MC IF EoE MC MC IF EoE MC 000-000 b EoEMC IF 000 a 000-00 - 00 b a 00 a 00 - - b b a - - b a - 999-999 b 999 a 999-57

EoE による制御パケットの安全な透過 Q-in-Q では 特定の制御プロトコルと同じマルチキャストアドレスを宛先に持ったフレームをユーザが送信すると スイッチの CPU に転送されたり ブロックされる場合がある EoE ではユーザが送信したマルチキャストのアドレスは隠蔽されるので CPU に転送されず 透過する Q-in-Q CPU CPU CPU MC:0 S * 0 T T S * 0 Tag X 社 T T S * 0 T T MC:0 EoE CPU CPU CPU PE PE MC:0 S * 0 T T S Tag S T b a X 社 * 0 T EoEMC:a S * 0 EoEMC:b T T MC:0 5 EoE 階層化 MC アドレッシングによるループ防止 () EoEMC アドレスを階層的に割り振る事により ループの発生を防止する EoEMCアドレスを階層的にふり マスク付きMCアドレスフィルタを使って ループを防止出来る ( ストリクトなフィルタの例 ) ソース EoEMC が :*:*:*:*:* 以外は通さない SW SW ソース EoEMC が :*:*:*:*:* 以外は通さない ソース EoEMC が :*:*:*:*:* 以外は通さない SW SW ソース EoEMC が :*:*:*:*:* 以外は通さない PE は自分の送ったフレームは受け取らない ソース EoEMCが ::*:*:*:* であるものは通さない SW SW SW SW SW SW ソース EoEMCが ::*:*:*:* であるものは通さない ソース EoEMCが ::*:*:*:* 以外は通さない ソース EoEMCが ::*:*:*:* であるものは通さない ソース EoEMCが :*:*:*:* 以外は通さない PEs 大阪京都名古屋神奈川東京 PEs PEs PEs PEs (:::*:*:*)(:::*:*:*) (:::*:*:*)(:::*:*:*)(:::*:*:*) 6 58

EoE 階層化 MC アドレッシングによるループ防止 () ν サービスプロバイダ相互接続点 ソース EoEMCが :*:*:*:*:* 以外は通さない ソース EoEMCが :*:*:*:*:* 以外は通さない PEs (:*:*:*:*:*) プロバイダ プロバイダ PEs (:*:*:*:*:*) サービスプロバイダ EoE MC アドレスの構造 0 8bit Prefix 0000 8bit bit SP I PE ddr (0x0E) Local ddress 領域に規定 ( 必要なSPはIEEEから 別途入手してもかまわない ) Prefix(6bit): 0000 SP I(8bit): Service Providerの識別番号 PE ddr: Provider Edgeスイッチのアドレス PEスイッチそのもの 又はPEスイッチの内部のエンティティ ( ラインカードやポート ) を表す場合が有る ( 使用方法はService Provider 毎に任意 ) 7 ループ発生時の流入防止 ( ルーズなフィルタの例 ) 中位網でループが発生しても下位網内部の通信には影響を与えないようにフィルターを設定する 上位網エリア 00 中位網から流れてくる 0E:0: E:0::**:**:** を送り元とするフレームはループなので転送禁止 中位網エリア 0 スイッチを超えるたびに TTL が減算され 0 になるとフレームは破棄される ( フレーム増殖の抑制 ) EGE GW フィルタ 下位網エリア 0E:0: E:0:::0:00 0E:0: E:0:::50:00 0E:0: E:0:::0:00 下位網エリア 0E:0: E:0:::0:00 0E:0: E:0:::0:00 8 59

ループ発生時の流出防止 ( ルーズなフィルタの例 ) 下位網でループが発生しても他網の通信には影響を与えないようにフィルターを設定する EGE 上位網エリア 00 0E:0: E:0::**:**:** を送り元とするフレームのみ転送それ以外はループなので転送禁止 下位網エリア 中位網エリア 0 GW 0E:0: E:0:::0:00 フィルタ 0E:0: E:0:::50:00 0E:0: E:0:::0:00 スイッチを超えるたびに TTL が減算され 0 になるとフレームは破棄される ( フレーム増殖の抑制 ) 下位網エリア 0E:0: E:0:::0:00 0E:0: E:0:::0:00 9 階層エリアのフィルタ ( ルーズなフィルタの例 ) 種類のフィルタの組み合わせにより ループの影響範囲の限定を行ってみる例 上位網エリア 00 0E:0: E:0::**:**:** を送り元とするフレームはループなので転送禁止 0E:0: E:0:* *:**:**:** を送り元とするフレームはループなので転送禁止 0E:0: E:0:* *:**:**:** を送り元とするフレームのみ転送それ以外はループなので転送禁止中位網エリア 0 0E:0: E:0::**:**:** を送り元とするフレームのみ転送それ以外はループなので転送禁止下位網エリア EGE 0E:0: E:0:::0:00 GW 0E:0: E:0:::05:00 フィルタ 0E:0: E:0:::0:00 下位網エリア 0E:0: E:0:::0:00 0E:0: E:0:::0:00 0 60

EoE でのループ位置検出 Ethernet などの MC ブリッジングにおいてループを検出する方式はいくつかある () の書き換わり回数によってループを検出する方法 () マルチキャストなどのフレームを一定方向に送出しそれが戻ってくるのを観測する事によりループの方向と発生を検出する方法 () トラフィックに含まれるフラッディングトラフィックの量をモニタする方法 ()TTL を expire が発生する事によりループの検出を行う方法 ( 拡張イーサネットにおいて ) これらの方法ではループが発生した事の検出は行えるが実際にどのノードがループしているかは判定出来ない! ループが発生するとループを形成しているノードを発信元として 増殖されたマルチキャストやブロードキャストが多量に送信される為 ループ発生後に多量のトラヒックが流れ出す方向に探索を進める事によりループ箇所を検出する事が出来るが スイッチの数が多いと時間がかかる EoE でのループ位置検出 ループの発生位置検出は既存のEthernetでは困難な場合があったが EoEの場合様々な方向から様々なTTL 値を持つフラッディングフレームがループに流れ込んでくると? T TTL Src roadcast? C E? ポート以上で TTL=0 による廃棄が発生するとループノード ループを構成するノードでは つ以上のポートから入力されたフレームにてTTL Expireによる フレーム廃棄が発生する ( ループを構成するノードでは右回りのフレームが流入するポートでも左回りのフレームが流入するポートでもTTL Expireによるフレーム廃棄が発生するため ) ポートだけで TTL=0 による廃棄が発生するとループノードではない 直接ループを構成しないノードでは ループの発生方向に向いたポートに入力されるフレームにてTTL Expireによるフレーム廃棄が発生する ( ループ方向から入力されるフレームのみが ループ内を回るうちにTTLを減らしている可能性がある為 ) 通信事業者網内でのループであればこのトラップの上げ方を変える事により瞬時にループしているノードを検出出来る 6

EoE 階層化 MC アドレッシングと sflow(netflow) 既存の方式では網内の MC アドレスがユーザの MC アドレスそのものであったため そのトラヒックがどの拠点間の通信なのかを特定することが不可能 EoE の階層化 MC アドレッシングと sflow の様なトラヒック分析システムを組み合わせることで 対地毎のトラヒックの流れを分析する事が可能となる sflow Collector nalyzer 大阪 (:*:*:*:*:*) PEsw 解析例 00/X 月 /X 日 区間東京 大阪大阪 東京大阪 名古屋名古屋 大阪東京 名古屋名古屋 東京大阪 仙台仙台 大阪 トラヒック 800Gbytes 70Gbytes 0Gbytes 80Gbytes 0Gbytes 0Gbytes 60Gbytes Gbytes Flow ata Core Switch 名古屋 (C:*:*:*:*:*) PEsw PEsw PEsw 東京 仙台 (:X:*:*:*:*) (:Y:*:*:*:*) EoE と Tag 学習について 一般に Q-in-Q では 加入者が設定した VLN 内で MC アドレスの重複は許されない EoE では エッジで MC と共に Tag-I を学習する事によって 加入者の設定した VLN 内での MC の重複を許容する方式を導入 加入者フレーム EoE カプセル化 転送 0 S 0 VLN-I T 5 Hello EoE SEoE VPN-I 00 0 S 0 VLN-I T 5 Hello 拠点 MC:0 EoEMC: PEsw VPN-I:00 IF:UPlink0 PEsw のフォワーディングテーブル ( 検索 ) 拠点 EoEMC: PEsw MC:0 VPN-I:00 検索 VPN-I 00 Key VLN-I MC 5 0 estination IF EoE MC UPlink0 6

EoE OM EoE Ping PE SW 間あるいはEoE 終端機能を持った装置間のPing ( 疎通確認 ) EoE Traceroute TTLを用いて EoE 経路のトレースを行う ( 専用の中継 Ethernet SWが必要 ) EoE フラッシュ EoEのの全部又は一部のエントリのクリア要求をPEスイッチでやりとり Server MC:0 EoEMC: EoEフラッシュ通知 VPN-I:00 PEsw EoEフラッシュ VPN-I:00 CEsw CoreSW PEsw CEsw 収容変更フラッシュ PEswのフォワーディングテーブル EoEMC: Key estination PEsw VPN-I VLN-I MC IF EoE MC 00-0 UPlink VPN-I:00 フラッシュ Client MC:0 矛盾 5 Questions? masaty@pwd.ad.jp 6 6