やさしいネットワークとセキュリティ

情報処理安全確保支援士、ネットワークスペシャリスト、技術士として、資格取得を目指す方に有益な情報を発信します。

OpenFlowのコントローラとスイッチの動作【ネットワークスペシャリスト試験 平成29年度 秋期 午後2 問1 設問1】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「OpenFlowのコントローラとスイッチの動作」を取り上げた「ネットワークスペシャリスト試験 平成29年度 秋期 午後2 問1 設問1」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成29年度 秋期 午後2 問1 設問1

問1 SDNとクラウドの活用に関する次の記述を読んで、設問1〜4に答えよ。

 A社は、国内外に顧客をもつ生産機械メーカである。A社では、IoT時代に適応するために、新たな情報システム基盤を整備中である。

 現在の情報システム基盤は、国内工場の自社設備と、国内外にサービス用拠点をもつクラウドサービス事業者B社のIaaS環境で構成されている。B社のA社向けIaaS環境は国内にあり、工場とは専用線で接続されている。インターネットと工場とは、インターネットサービス事業者C社の国内拠点を介して接続されている。

 A社の情報システム部は、顧客の拠点で稼働中の生産機械(以下、機械という)と情報システム基盤のWebサーバで構成されたシステム(以下、新システムという)を開発中である。また、本年度は、ネットワーク(以下、NWという)の拡張を予定している。NW拡張の概要を図1に示す。

f:id:aolaniengineer:20200704172200p:plain

 

 NW拡張の目的を次に示す。

・工場LANのSDN(Software-Defined Networking)化:SDN技術を用いて、現在の工場LANを、ビジネス変化に対応できる柔軟性と拡張性を備えた新たな工場LAN(以下、新工場LANという)に刷新する。新工場LANでは、物理配線の変更なしに、自社要員だけで構成変更ができるようにする。

・クラウドサービスの利用拡大:開発中の新システムは、国内外の多数の機械に対する、ファームウェアの一斉更新、稼働状況の定期収集に用いられる。新システムの本運用のために、Web-Aよりも大規模なWeb-Bを構築し、B社クラウドサービス(図1中のB社CDN、B社ISP)を活用して、Web-Aへのアクセス経路よりも高速なWeb-Bへのアクセス経路を実現する。

 

 機械からWeb-Aへのアクセスの概要を次に示す。

Web-Aを収容しているDMZは、プライベートアドレスが割り当てられている

・機械から送信されたIPパケットは、C社ISPを経由し、FWに転送される。その宛先IPアドレスは、図1中の(あ:i1)である。

あ:i1

 機械からWeb-Aへ送信されるパケットの宛先IPアドレスは何かを考えます。

 Web-AのIPアドレスは、本文に「Web-Aを収容しているDMZは、プライベートアドレスが割り当てられている」とあり、プライベートアドレスです。

 したがって、Web-Aがインターネットと通信するにはグルーバルIPアドレスに変換する必要があります。

 この変換を担うのはFWであり、インターネット側の機械からは変換されたグローバルIPアドレスを宛先に通信します。

 したがって、図1でFWのインターネット側に割り当てられている「i1」が該当します。

FWは、受信したIPパケットをLBに転送する。その際、FWの(い:NAT)機能によって、宛先IPアドレスは図1中の(う:i3)に書き換えられる。

い:NAT、う:i3

 FWでのグルーバルIPアドレスからプライベートIPアドレスへの変換(その逆の変換)のことをNAT(Network Address Translation)といいます。

 図1より、Web-Aは、LB(負荷分散装置)とWeb-A1/A2から構成されていて、FWでインターネット側から受信したパケットをNATした後に、LBに転送します。

 したがって、宛先IPアドレスはLBの「i3」が該当します。

・LBは、サーバの稼働状況をチェックしながら、受信したIPパケットを動的にWeb-A1又はWeb-A2に振り分ける。

 

 NW拡張後は、B社クラウドサービスを使って、機械からWeb-Bへ同様のアクセスが行われるようになる。機械は、Web-AへのアクセスとWeb-Bへのアクセスを切り換えられるようになっており、試行環境と本運用環境を使い分けながら、新システムの機能拡充を進めていく予定である。

 

 情報システム部のNW拡張プロジェクトでは、新工場LANの提案と構築をベンダに委託し、それ以外の作業を自社要員が担当する。NW拡張プロジェクト発足に先立ち、情報システム部のD君が、次の準備作業を行っている。

・新工場LANに適用するSDN技術の調査:ベンダから提案があった、新工場LANに適用するSDN技術について、その概要を整理する。

・新工場LANの運用の調査:ベンダから提案があった、新工場LANの論理構成と通信方式の概要を整理する。

・クラウドサービス利用拡大の検討:新システムの本運用に用いる、B社CDNとB社ISPを使ったNWの導入案を作成する。

・A社向けIaaS環境のバックアップの検討:B社拠点(国内)が長時間使えない場合を想定し、新システムの稼働を再開させるための代替手段を検討する。

 

【新工場LANに適用するSDN技術の調査】

 ベンダから提案があったSDN技術について、D君は次のように整理した。

・従来のスイッチ機能を、経路制御などの管理機能を実行するフローコントローラ(以下、OFCという)と、データ転送を行うスイッチ(以下、OFSという)に分け、OFSに入るパケットの経路制御をOFCが集中制御する方式を採用する。

・OFSとOFCは、管理のための専用NW(以下、管理NWという)を介して、通信メッセージを交換する。OFCとOFS間の通信メッセージを表1に示す。

f:id:aolaniengineer:20200704172228p:plain

 

・OFSは、IPアドレス、MACアドレスなどのパケット識別子(Match Field、以下、MFという)を使ったパケット識別条件と、識別されたパケットの処理(以下、Actionという)の組合せ(以下、エントリという)を、OFS内の管理テーブルで管理する。

・OFSは、入力パケットに対して、管理テーブル内のパケット識別条件が一致するエントリを探し、そのエントリのActionを実行する。一致するエントリがない場合は、事前の設定に従い、入力パケットを破棄するか、Packet-Inメッセージを使ってOFCに入力パケットを転送する。今回の提案では、OFCへの通信集中を避けるために、入力パケットを破棄させる設定を全OFSに対して行う。

・MFとActionの例を表2に示す。

f:id:aolaniengineer:20200704172254p:plain

 ベンダの提案では、8台のOFSを導入する。ベンダから提案があった新工場LANの物理構成案を、図2に示す。

f:id:aolaniengineer:20200704172320p:plain

 

 OFS同士の接続情報をOFCが収集する通信シーケンスについて、D君はベンダから説明を受けた。例えば、図2中のOFCが、OFS1とOFS2の接続情報を得る場合のOFS接続情報収集の通信シーケンス例は、図3のようになる。

f:id:aolaniengineer:20200704172349p:plain

 

 OFS接続情報の収集では、IEEE 802.1ABで規定されているLLDP(Link Layer Discovery Protocol)の仕組みを流用する。図3中のOFCは、固有のイーサネットタイプ88CCをもつLLDPフレームを使って、次のように、LLDPフレームXとLLDPフレームYの内容からOFS1のp8とOFS2のp9の接続情報を得ている。

①OFCは、表1中の(え:Flow-Mod)メッセージを使って、ETH_TYPEが88CCに等しいときのActionとして、Output(お:controller)を、OFS内の管理テーブルに登録させる。

え:Flow-Mod、お:controller

 ①は、OFCからOFSへの通信で、OFS内の管理テーブルに登録させるものであるので、表1のFlow-Modメッセージに該当します。

 Actionの設定については、表2からOutputとして「ポートID」(指定ポートに出力する)か、「controller」(Packet-Inメッセージを使いOFCに転送する)が入ることが分かります。

 そして②の処理で、Packet-InメッセージでOFCに送信していることから、ここではOutput(controller)が該当します。

②OFCは、表1中の(か:Packet-Out)メッセージを使って、OFS1の全ポートについて、OFS1の装置名とそれぞれのポートIDを格納したLLDPフレームを出力させ、装置名OFS1とポートID p8が格納されたLLDPフレームXをOFS2から受け取る。

か:Packet-Out

 表1で、OFCがOFSに送信するPacket-Outメッセージ(出力パケットと出力ポートIDを送り、OFSに出力させる)が該当します。

 ②の処理は、OFCがOFS1にLLDPフレームを出力させ、それを受信したOFS2がLLDPフレームXをOFCに送信することで、OFCがOFS接続情報を収集することになります。

③OFCは、OFS2に対して②と同様の操作を行い、装置名(き:OFS2)とポートID(く:p9)が格納されたLLDPフレームYをOFS1から受け取る。

【出典:ネットワークスペシャリスト試験 平成29年度 秋期 午後2 問1(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2017h29_2/2017h29a_nw_pm2_qs.pdf

き:OFS2、く:p9

 ③は②と同様に、OFCがOFS2にLLDPフレームを出力させ、それを受信したOFS1がLLDPフレームYをOFCに送信します。

 OFSのLLDPフレームですので、装置名「OFS2」、ポートID「p9」が該当します。