JP2016105576A - 通信路切替装置、通信路切替装置の制御方法、及びプログラム - Google Patents

通信路切替装置、通信路切替装置の制御方法、及びプログラム Download PDF

Info

Publication number
JP2016105576A
JP2016105576A JP2015146974A JP2015146974A JP2016105576A JP 2016105576 A JP2016105576 A JP 2016105576A JP 2015146974 A JP2015146974 A JP 2015146974A JP 2015146974 A JP2015146974 A JP 2015146974A JP 2016105576 A JP2016105576 A JP 2016105576A
Authority
JP
Japan
Prior art keywords
data
unit
communication path
communication
setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015146974A
Other languages
English (en)
Other versions
JP6631065B2 (ja
Inventor
究 渡邊
Kiwamu Watanabe
究 渡邊
義一 東
Giichi Azuma
義一 東
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to EP15862681.2A priority Critical patent/EP3224997B1/en
Priority to CN201580063979.XA priority patent/CN107005473B/zh
Priority to US15/528,836 priority patent/US10298454B2/en
Priority to PCT/JP2015/005592 priority patent/WO2016084314A1/en
Publication of JP2016105576A publication Critical patent/JP2016105576A/ja
Application granted granted Critical
Publication of JP6631065B2 publication Critical patent/JP6631065B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】オープンフロースイッチ(OFS)をネットワークインタフェースに接続しない状態で正常に実行されていたサービス又はソフトウェアを、OFSをネットワークインタフェースに接続した場合でも、正常に実行する。【解決手段】他の通信装置と無線通信を行うための所定の機能を実行するアプリケーション手段と、アプリケーション手段に所定の機能を実行させるためのデータを転送するデータ切替手段と、データ切替手段によりデータを転送するための設定を行う制御手段と、制御手段による設定に基づいて、データ切替手段から転送されたデータを、アプリケーション手段に転送する仮想デバイス手段と、を含む。【選択図】図5

Description

本発明は、通信路切替装置、通信路切替装置の制御方法、及びプログラムに関する。
通信ネットワークは、公衆回線等の広域通信、企業構内LAN(Local Area Network)等の中規模エリア通信、及びオフィスの居室や会議室等でユーザ端末間を繋ぐ近距離通信に至るまで、インターネットプロトコル(IP:Internet Protocol)によるパケット通信化が進み、用途をあらゆる領域に拡大している。IPパケットを伝送する媒体として、有線通信はEthernet(登録商標)に略収束し、無線通信は遠距離が3G(Third Generation)/LTE(Long Term Evolution)系、中距離から近距離までがWi−Fi(Wireless Fidelity)の愛称で知られるIEEE(The Institute of Electrical and Electronics Engineers ,Inc)802.11無線LAN系に略収束しつつある。
一方、近年Software Defined Network(SDN)と呼ばれる概念が注目を集めている。文字通り、ソフトウェアによる記述でネットワークの動作を定義しようというもので、最も注目を集めている大きな構成技術要素として、ネットワークの仮想化と、その仮想化通信を制御する手法及びプロトコルの一つでありベンダに依存しないオープンな仕様であるOpen Flow Switchingがある。
Open Flow(登録商標)とは、通信をエンド・ツー・エンドのフローとして捉え、そのフロー単位に経路制御、負荷分散、最適化等を行える技術で、ONF(Open Networking Foundation)という非営利団体で標準化が進められている。具体的には、データ通信経路のスイッチングハブ(スイッチ)といった中継機器等において、自立分散的に各データパケットを解析して転送するのではなく、コントローラと呼ばれる機器等で各中継機器に対する集中制御を行うものである。
Open Flowでは、データの解析・転送先判断及び決定制御部分であるコントロールプレーンと、単なるパケットの物理的な伝送を担う部分であるデータプレーンとを分離している。そして、前者を担うOpen Flowコントローラ(OFC)が転送ルールを指示し、後者を担うOpen Flowスイッチ(OFS)は、OFCの指示、具体的には、OFCが追加・書換を行うOFSが持つフローテーブルにしたがって転送を行う。この仕組みを用いることで、前述のネットワーク仮想化を制御するためのツールとして活用できる。
ネットワーク仮想化、及びOpen FlowといったSDN関連技術は、IP通信網の中でも通信負荷が集中するWeb/クラウド・データセンタ、及び通信キャリア・バックボーン等での活用が急拡大し、柔軟な最適化制御によって通信トラフィックの効率化やネットワーク機器の削減等、コスト及びエネルギーの低減等が実現されてきている。このような、Open Flowと呼ばれる技術が既に知られている。
特許文献1には、コンピュータシステムの適応度を高めること、及びTCP(Transmission Control Protocol)層よりも上位のプロトコルに応じたフロー制御が可能なコンピュータシステムを提供することを目的として、TCPヘッダに上位のプロトコル情報を含めた通信方法等が開示されている。
しかしながら、同一のマシン内で、OFSをNIC(Network Interface Card)等のネットワークインタフェースと接続すると、OFSが、NICが受信したデータをすべて横取りしてしまうことがある。その結果、OFSをNIC等のネットワークインタフェースに接続する以前は正常にデータを受信したり処理したりすることができていた他のサービス又はソフトウェアが、データを受信することができなくなり、従来NICから特定のデータを取得して利用及び処理していたサービス又はソフトウェアを正常に処理することができなくなるという問題があった。
また、特許文献1に開示された技術では、通信データのヘッダを見たフロー制御を行っている。しかしながら、上記したOFSをNIC等のネットワークインタフェースに接続する以前は正常にデータを受信したり処理したりすることができていた他のサービス又はソフトウェアが、データを受信したり処理したりすることができなくなり、サービス又はソフトウェアを正常に処理することができなくなるという問題は依然として解決されていない。
そこで、本発明は、上記従来技術の問題点に鑑みてなされたものであって、オープンフロースイッチ(OFS)をネットワークインタフェースに接続しない状態で正常に実行されていたサービス又はソフトウェアを、OFSをネットワークインタフェースに接続した場合でも、正常に実行することが可能な通信路切替装置を提供することを目的とする。
上記課題を解決するため、請求項1に記載の本発明における通信路切替装置は、他の通信装置と無線通信を行うための所定の機能を実行するアプリケーション手段と、前記アプリケーション手段に前記所定の機能を実行させるためのデータを転送するデータ切替手段と、前記データ切替手段により前記データを転送するための設定を行う制御手段と、前記制御手段による設定に基づいて、前記データ切替手段から転送されたデータを、前記アプリケーション手段に転送する仮想デバイス手段と、を含むことを特徴とする。
本発明によれば、オープンフロースイッチ(OFS)をネットワークインタフェースに接続しない状態で正常に実行されていたサービス又はソフトウェアを、OFSをネットワークインタフェースに接続した場合でも、正常に実行することが可能な通信路切替装置を得ることができる。
通信路切替装置に実装される通信機能を、階層構造に分割したモデルで例示した図である。 (a)従来の経路切替スイッチの構成、(b)Open Flow Switchingの構成について説明する図である。 Open Flow Switchにおいて保存されるフローテーブルの構成について説明する図である。 本実施形態の通信路切替装置の概略構成を示すハードウェアブロックの一例を示す図である。 本実施形態の通信路切替装置の概略構成を示す機能ブロックの一例を示す図である。 LAN内のネットワーク構成の概要を示す具体例について説明する図である。 PCを一例とする情報処理装置において、TCPやIP等を使用して通信を行う際の処理について説明する図である。 DIX Ethernetにおけるフレームフォーマットについて説明する図である。 一般的なNICがデータを受信したときにパケットがOSI参照モデルの各層をどのように流れるかを説明する図である。 図9に、OFS及びOFCを追加したときにパケットがどのように流れるかを説明する図である。 図10に示す構成において、EAPoLパケットが仮想NICを経由して特定のソフトウェア等へどのように流れるかを説明する図である。 本実施形態の通信路切替装置の動作について説明するフロー図である。 本実施形態の通信路切替装置の動作について説明するフロー図である。 図11に示す構成において、OFCとOFSとの間に、NICを挿入した構成を示す図である。
本実施形態の説明に入る前に、Open Flowについて若干説明を行う。Open Flow Switchingは、通信をエンド・ツー・エンドのフローと捉え、データの解析、転送先判断、決定制御の部分であるコントロールプレーンと、パケットの物理的な伝送を担う部分であるデータプレーンとを分離する技術である。この技術では、コントロールプレーンの処理を司るOpen Flow コントローラ(OFC)が転送先ルールを指示する。そして、データプレーンの処理を担うOpen Flow スイッチ(OFS)が、OFCからの指示にしたがってパケットの転送を行う。詳細には、OFCが、OFSが持つフローエントリーに追加、書換を行い、OFSが、そのフローエントリーにしたがってパケットの転送を行う。
これらの概念やプロトコルをさらに詳細に説明するが、その前に、通信路切替装置に実装される通信機能を、階層構造に分割したモデルで例示したものについて説明する。図1は、通信路切替装置に実装される通信機能を、階層構造に分割したモデルで例示した図である。このモデルは、OSI(Open System Interconnection)参照モデルであり、第1層の物理層から第7層のアプリケーション層の7つの階層からなるモデルである。
IPパケットを交換する現状の通信方式の主流は、第3層のIPを共通資産とし、各階層で各インタフェースが定義され、個別に実装し、また、入れ替えを行うことができる水平分業モデルとなっている。IPパケットベースのアプリケーションは、第4層のトランスポート層が規定するポートの概念で通信ピア同士のセッションを作り、各サービスのデータ通信を行っている。
サービスとしては、図1の第5層から第7層にかけて示されている、Web、XML Webサービス、メール、メッセージング、ファイル共有、ファイル転送等がある。これらのサービスを提供するアプリケーションは、第3層及び第4層に示される、TCP/IPやUDP(User Datagram Protocol)/IPを使用している限り、それ以下の第1層や第2層の通信層を意識する必要はない。
このため、Webやクラウドのサービス開発は、従来の電話交換網のような垂直統合モデルに比して加速することができる。通信装置も、基本的には、図1に示したIPパケットベースの通信アプリケーションを開発するための一般的なハードウェア及びソフトウェア構成とすることができる。
ここから、通信装置に実装可能なOpen Flow Switchingの概念について説明する。通信装置から送出されたIPパケットは、有線や無線通信における各中継装置を経由して目的の相手まで到達する。図2は、(a)従来の経路切替スイッチの構成、(b)Open Flow Switchingの構成について説明する図である。従来の方式では、図2(a)に示すように、各中継装置が経路制御を自立分散的に行い、パケットの転送先を決定している。すなわち、中継装置としてのスイッチ20が、経路制御とパケット転送機能との両方を備え、その両方の処理を実行している。
このため、経路制御に関する情報は、スイッチ20が自己学習し、他のスイッチへ通知されないので固定的なものとなる。また、スイッチ20の機能については、機器ベンダが開発した各種機能を利用しなければならず、カスタマイズすることはできない。
これに対し、Open Flow Switchingでは、図2(b)に示すように、スイッチ20における経路制御機能が分離され、OFC21にその機能が実装され、スイッチ20としてのOFS22には、パケットの転送機能のみが実装される。経路制御に関する情報は、OFC21がすべて管理し、このOFC21が、各OFS22の振る舞いを中央制御するので、より柔軟な制御化が可能となる。
このことは、図1に示したOSI参照モデルでいうと、第4層までの各種条件で自由に制御することが可能であることを示す。したがって、HTTP(Hyper Text Transfer Protocol)で一般的に使用されるTCPポート80番の通信であれば、線路を変えるという制御も可能となる。
図3に示す概念図を参照して、Open Flow Switchingの具体的仕組みについて説明する。図3は、Open Flow Switchにおいて保存されるフローテーブルの構成について説明する図である。OFS22は、図3に示したフローテーブルの情報にしたがってフレームを転送する等の処理を行う。
フローテーブルは、図3に示すように、フレームの制御ルールを表すフローエントリーを含む。そのフローエントリーを識別するための構成要素と、それに対応する条件、統計情報、処理という3種類の情報とが含まれる。構成要素は、互いに識別できるように「フローエントリー1」、「フローエントリー2」等が入力されるフィールドである。条件は、ヘッダフィールドであり、通信を識別し、特定するために、後述する図8に示すような情報が入力されるフィールドである。
統計情報は、条件に適合した通信がどれくらい発生し、どの程度処理したかを管理するフィールドである。処理は、フレームに対する処理を定義するフィールドである。処理としては、例えば、転送する(Forward)、指定したキューに入れる(Enqueue)、廃棄する(Drop)、指定したフィールドの値を書き換える(Modify-Field)等を挙げることができる。また、特別なグループ向けに予め指定した処理を実行(Group)、タグの追加や取り外し(Push-Tag、Pop-Tag)等も挙げることができる。さらに詳細に指定することもでき、上記の「転送する」では、すべての物理ポートに転送、カプセル化してコントローラに送る、等を指定することができる。
次に、本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。以下、本実施形態について説明するが、本実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態は、LANに5台の情報処理装置(PC、タブレット、スマートフォン)が接続されている例について説明しているが、LANに対して、任意の種類の任意の台数の情報処理装置が接続される構成であっても良い。
本発明は、OFSを装置外からデータを受信するネットワークインタフェースの一例であるNICと接続して使用する場合、OFCからのフローエントリー設定にしたがって仮想NICにOFSがパケットを転送する。そして、仮想NICが、特定のデータを利用するサービス又はソフトウェアに対してソケット等を通じてデータの転送を行うことが特徴になっている。この本発明の特徴について、以下の図面を用いて具体的に解説する。
最初に、本実施形態の通信路切替装置の概略構成を示すハードウェアブロックについて説明する。図4は、本実施形態の通信路切替装置の概略構成を示すハードウェアブロックの一例を示す図である。
本実施形態の通信路切替装置は、CPU(Central Processing Unit)451と、ROM(Read Only Memory)452と、RAM(Random Access Memory)453とから構成されている。また、本実施形態の通信路切替装置は、HDD(Hard Disk Drive)454と、表示装置455と、入力装置456と、通信インタフェース458、459とから構成されている。
そして、CPU451、ROM452、RAM453、HDD454、表示装置455、入力装置、及び通信インタフェース458、459は、バス460を介して接続されている。
CPU451は、通信路切替装置全体の動作を制御する。CPU451は、通信路切替装置の動作を制御するソフトウェアプログラムをROM452から読み出して、RAM453を作業メモリにして実行する。ROM452は不揮発性メモリであり、ブートプログラムや各種プログラム、データを格納している。RAM453は、揮発性メモリであり、後述する通信インタフェースを介して入力されたデータを一時的に格納する。HDD454は、大容量不揮発性記憶装置である。転送対象のデータ等を格納する。
入力装置456は、通信路切替装置の操作部であり、ユーザインターフェースとなる。ボタンやタッチパネル等の入力装置のほか、LED(Light Emitting Diode)やセンサ等が付いている場合もある。表示装置455は、LCD(Liquid Crystal Display)ディスプレイ等から構成されており、入力装置456がタッチパネル構成である時は、ユーザインターフェースにもなるものである。
通信インタフェース458、459は、後述するように、Device Driver、L2や、nl80211_driver等を接続する。ここで、Device Driver、L2は、Ethernetのパケットのようなものである。また、nl80211_driverは、無線LAN向けのAPI(Application Program Interface)を拡張した無線LANのドライバである。
次に、本実施形態の通信路切替装置の概略構成を示す機能ブロックについて説明する。図5は、本実施形態の通信路切替装置の概略構成を示す機能ブロックの一例を示す図である。
本実施形態の通信路切替装置は、アプリケーション部551と、データ切替部552と、仮想デバイス部553と、制御部554と、判断部555と、確認部556とから構成されている。そして、アプリケーション部551、データ切替部552、仮想デバイス部553、制御部554、判断部555、及び確認部556は、バス557を介して接続されている。アプリケーション部551、データ切替部552、仮想デバイス部553、制御部554、判断部555は、ROM452に書き込まれたプログラムをCPU451により実行することにより実現される。
アプリケーション部551は、所定の機能を実行するアプリケーションソフトウェアであり、一例として、Wi−Fi等の無線LAN通信を行うために必要なドライバ(ソフトウェア)であるnl80211_driverが挙げられる。データ切替部552は、アプリケーション部551に所定の機能を実行させるためのデータを転送する機能を有し、一例として、パケットの転送等の命令情報であるフローエントリーが設定されたOFSが挙げられる。仮想デバイス部553は、データ切替部552から転送されたデータを、アプリケーション部551に転送する機能を有する。一例として、NICで受信したEAPoLパケットを、アプリケーション部551へ転送する仮想NICが挙げられる。
そして、EAPoL(Extensible Authentication Protocol over LAN)とは、他の通信装置と無線通信を行うための認証に使用されるプロトコルである。そして、EAPoLパケットとは、EAPを拡張したプロトコルであり、EAPoLパケットもEAPoL(プロトコル)で使用されるパケットである。
制御部554は、アプリケーション部551が所定の機能を実行するデータを、データ切替部552に転送するよう設定する機能を有し、一例として、OFSに対してパケットの転送等の命令情報であるフローエントリーを設定するOFCが挙げられる。判断部555は、データ切替部552で受信したデータが所定のデータであるか否かを判断する機能を有し、一例として、受信したデータがEAPoLパケットであるか否かを判断する。確認部556は、データ切替部552で受信したデータが所定のデータでない場合、制御部554により、当該受信したデータを転送するための設定が行われているか否かを確認する機能を有する。一例として、OFSで受信したデータがEAPoLパケットでない場合、OFSにおいて当該パケットを転送するためのフローエントリーが設定されているか否かを確認する。
次に、LAN内のネットワーク構成の概要を示す具体例について説明する。図6は、LAN内のネットワーク構成の概要を示す具体例について説明する図である。図6において、PC(Personal Computer)1 41とPC2 42といったユーザ端末が、L2(Layer 2)スイッチ46に有線で接続されている。また、タブレット型コンピュータ44、スマートフォン45、及びPC3 43といったユーザ端末が、無線LAN AP(Access Point)48に無線を介して接続されている。そして、L2スイッチ46及び無線LAN AP48は、L3スイッチ47に有線で接続されている。
ここで、L2スイッチ46は、上記したOSI参照モデルの第2層であるデータリンク層における有線通信の例であるEthernetを指す。また、L3スイッチ47は、OSI参照モデルの第3層であるネットワーク層におけるインターネットプロトコル(IP:Internet Protocol)によるパケット通信を指す。
次に、PCを一例とする情報処理装置において、TCPやIP等を使用して通信を行う際の処理について説明する。図7は、PCを一例とする情報処理装置において、TCPやIP等を使用して通信を行う際の処理について説明する図である。なお、図7においても、IP(L3)503、506やEthernet(L2)504、505等の各々のブロックにおけるL(Layer)は、上記したOSI参照モデルを構成する各層に対応している。
図7において、右側のブロックがアプリケーションにおけるデータの送信処理を実行し、ケーブルや無線チャネルといったメディアを介して左側のブロックにおいてデータの受信処理が実行される。送信処理を実行するブロックにおいて、送信処理は、上位層であるアプリケーション層(L5〜)501から下位層であるEthernet(L2)504へ向かう順番で処理が行われる。受信処理を実行するブロックにおいて、受信処理は、下位層であるEthernet(L2)505から上位層であるアプリケーション層(L5〜)508に向かう順番で処理が行われる。
通常、アプリケーション(L5〜)501、508や、TCP(L4)502、507、IP(L3)503、506といった上位層の処理は、CPU(Central Processing Unit)やメモリ等を用いたソフトウェア処理で実行される。他方、より下位層の処理は、専用ハードウェアで実行されることが多い。しかし、PCやサーバといった用途の違い等によって異なる場合もある。
次に、DIX Ethernetにおけるフレームフォーマットについて説明する。図8は、DIX Ethernetにおけるフレームフォーマットについて説明する図である。なお、Ethernetフレームフォーマットには複数の形式が存在するが、ここでは代表的な1つのみを取り上げて説明する。
図8において、プリアンブル61は、フレームフォーマットの最初に位置する。これは、LANに接続されているインタフェースに対してフレームの開始を認識させ、同期を取るタイミングを与えるための信号である。DIX Ethernetでは、サイズが8オクテット(64ビット)のフィールドで、1と0とが交互に続き、最後のビット(64ビット目)が1で終わる。
送信先アドレス62は、サイズが6オクテット(48ビット)のフィールドで、送信先となるステーションのインタフェースのMAC(Media Access Control)アドレスを設定する。複数のインタフェース宛のマルチキャスト・アドレスを設定することができる。送信元アドレス63は、サイズが6オクテット(48ビット)のフィールドで、フレームを送信したインタフェースのMACアドレスを設定することになっている。
タイプフィールド64は、サイズが2オクテット(16ビット)分のフィールドである。多重化/多重分離のために、次に続くデータフィールドに格納する上位層プロトコルを示す識別子を設定する。例えば、EAPoLであれば0x888Eという数字が使用され、データフィールド65には、EAPプロトコルのパケットが入る。また、IPv(Internet Protocol version)4であれば0x0800という数字が使用され、データフィールド65には、IPv4プロトコルのパケットが入ることになる。
データフィールド65には、最小46オクテットから最大1500オクテットまでといった可変長の情報を格納することができる。FCS(Frame Check Sequence)66は、フレームのエラーを検出するための4オクテットのフィールドである。送信先アドレス62、送信元アドレス63、タイプフィールド64、データフィールド65の各フィールドから計算したCRC(Cyclic Redundancy Check)値を設定する。受信側でも同様にCRC値を計算し、送信側のFCS66の値と一致しない場合はエラーが発生したと判断し、そのフレームを破棄する。
次に、一般的なNICがデータを受信したときにパケットがOSI参照モデルの各層をどのように流れるかについて説明する。図9は、一般的なNICがデータを受信したときにパケットがOSI参照モデルの各層をどのように流れるかを説明する図である。NICの一例である無線LANカードがデータを受信した場合を具体例に挙げて説明する。なお、NICとは、ネットワークインタフェースカードの略であるが、以後の説明において、NICには、従来のハードウェアのインタフェースだけでなく、ソフトウェアのインタフェースも含まれる。
NIC701が受信したデータは、Device driver(デバイスドライバ)やL2(OSI参照モデルの第2層、レイヤ2)702においてパケットを作り出す処理が実行される。その後、L3(レイヤ3)703、及びL4(レイヤ4)704において処理が実行される。なお、Device Driver、L2 702は、レイヤ2の処理を行うものであり、例えば、Ethernetのパケットのようなものである。
また、例えば、hostapd(Host Access Point Daemon)では、L2 702におけるEAPoLパケットを、ソケットを用いてnl80211_driver705へ転送する。ここで、hostapdとは、無線LANのアクセスポイント等のオープンソースソフトウェア実装をいう。また、nl80211_driver705とは、無線LAN向けのAPIを拡張した無線LANのドライバである。
パケットがL3 703及びL4 704において処理が実行されたのと同時に、nl80211_driver705のように、Device driverやL2 702からのデータを必要とするソフトウェアがデータを受信して処理を実行する。そして、Device driverやL2 702から、L3 703へ向かう処理と、nl80211_driver705へ向かう処理との振り分けは、図8に示したフレームフォーマットのタイプフィールド64の値を使用することもある。
次に、図9に、OFS及びOFCを追加したときにパケットがどのように流れるかについて説明する。図10は、図9に、OFS及びOFCを追加したときにパケットがどのように流れるかを説明する図である。すなわち、図9における構成に、OFS801及びOFC802を追加している。
図10に示すように、OFS801を使用することにより、通信におけるパケットやフレーム等のデータは、点線の経路で示したL3 703やnl80211_driver705へは流れなくなる。そして、データは、実線の経路1で示したOFS801側にすべて流れてしまう。
例えば、Wi−Fi等の無線LANの機能を果たすのに必要なドライバ(ソフトウェア)であるnl80211_driver705をOFS801に接続する。そうすると、当該ドライバを動作させるのに必要な情報がすべてOFS801に流れてしまい、nl80211_driver705に渡らなくなってしまうのである。
一方、nl80211_driver705は、自身を動作させるのに必要な情報を何時でも受信できるよう待機状態にある。なお、上記したように、OFS801は経路@を介してOFC802によって制御される。
次に、図10に示す構成において、EAPoLパケットが仮想NIC(virtualNIC)を経由して特定のソフトウェア等へどのように流れるかについて説明する。図11は、図10に示す構成において、EAPoLパケットが仮想NICを経由して特定のソフトウェア等へどのように流れるかを説明する図である。
ここで、具体例として挙げるEAPoLは、EAPを拡張したプロトコルであり、EAPoLパケットもEAPoL(プロトコル)で使用されるパケットである。以下、EAPoLパケットが、OFS801、仮想NIC901を経由してnl80211_driver705に流れる構成について順に説明する。
まず、仮想NIC901として、例えば、L2で動作する仮想的デバイスであるTAPデバイスや、処理するパケットによっては、L3で動作する仮想的デバイスであるTUNデバイスを使用する。そして、図3で説明したように、OFC802は、経路@を介して、OFS801のフローテーブルに、OFS801に入力されたデータをすべて仮想NIC901に転送する旨のフローエントリーを設定する。さらに、nl80211_driver705のEAPoLパケットを受信するインタフェース(例えば、ソケットインタフェース)に、仮想NIC901から送信されるデータを受信するように設定を変更する。
これにより、EAPoLパケットは、まず、経路1によってOFS801にすべて流れる。そして、OFS801は、入力されたEAPoLパケットを経路2によってすべて仮想NIC901に転送する。さらに、nl80211_driver705は、経路3によって仮想NIC901から送信されるEAPoLパケットを受信する。以上の流れによって、NIC701で受信したEAPoLパケットを、nl80211_driver705のように特定の機能を実行するアプリケーションソフトウェア等へ転送することができる。
次に、図11のEAPoLパケットの流れを説明する図を参照しつつ、本実施形態の通信路切替装置の動作について説明する。図12及び図13は、本実施形態の通信路切替装置の動作について説明するフロー図である。
図12において、まず、ステップS111の処理において、通信路切替装置の初期化が行われる。そして、ステップS112の処理において、通信路切替装置を構成するすべての処理ブロックを動作可能な状態にする。さらに、ステップS113の処理において、OFC802からOFS801に対して、必要があればフローエントリー(パケットの転送等の命令情報)を予め設定する。
図13において、ステップS121の処理において通信路切替装置の初期化が行われると、ステップS122の処理において、パケットを受信したか否かが判断される。パケットを受信した(YES)と判断されると、ステップS123の処理へ移行し、パケットを受信していない(NO)と判断されると、パケットを受信するまで待機する。
パケットを受信すると、レイヤの下位層から処理されていく。ステップS123の処理では、図11に示したNIC701からL2 702の処理までを実行する。ステップS124の処理では、OFS801がデータを受信する。ステップS125の処理では、受信したデータがEAPoLパケットであるか否かが判断される。EAPoLパケットである(YES)と判断されると、ステップS126の処理へ移行し、EAPoLパケットでない(NO)と判断されると、ステップS129の処理へ移行する。
ステップS126の処理では、OFS801がEAPoLパケットを仮想NIC901に転送する。ステップS127の処理では、仮想NIC901がEAPoLパケットをnl80211_driver705に転送する。ステップS128の処理では、nl80211_driver705がEAPoLパケットを処理し、すべての処理を終了する。すなわち、EAPoLパケットであった場合、OFS801のフローエントリーにしたがって、OFS801→仮想NIC901→nl80211_driver705の順にパケットを転送する。
ステップS129の処理では、OFC802からOFS801に対してパケットを転送するためのフローエントリーが設定済であるか否かが確認される。設定済である(YES)と確認されると、ステップS130の処理へ移行し、設定済でない(NO)と確認されると、ステップS131の処理へ移行する。
ステップS130の処理では、設定されたフローエントリーにしたがってパケットを転送して処理を終了する。ステップS131の処理では、OFS801がOFC802に対してパケットの処理方法を問い合わせて処理を終了する。OFS801の実装方法によっては、OFC802への問い合わせの後の処理や、フローエントリーがOFS801に予め設定されていない場合の処理がなされる。
次に、図11に示す構成において、OFCとOFSとの間に、NICを挿入した構成について説明する。図14は、図11に示す構成において、OFCとOFSとの間に、NICを挿入した構成を示す図である。
図14において、図11で説明したOFS801とOFC802との間に、NIC101が挿入されている。これにより、自装置である通信路切替装置100を、自装置外に設けられたOFC802から制御することが可能となり、OFC802をOFS801とは異なる装置として設けることができる。具体例として、通信路切替装置として無線LAN APのようなものを想定し、これを自装置外に設けられたOFC802によって制御することが考えられる。また、通信路切替装置100が複数台設けられており、これら複数台の通信路切替装置100−1、100−2、・・・、100−nを、外部に設けられた1個のOFC802からの命令によって制御するようにしても良い。
従来、OFSをNICに接続すると、Device driver、L2から直接、すべてのデータを奪ってしまう。これは、OFSをLinux(登録商標)のカーネルの動きの中にインストールして動作させる場合、L3、L4といったIPパケットの処理にデータが流れることを防止するためである。一方、無線LANの上位レイヤの処理(nl80211_driver)を行う場合、Device_driver、L2からデータを受信することが多い。
しかしながら、上記したように、OFSがすべてのデータを奪ってしまうので、nl80211_driverは、そのデータをコピーしたデータをOFSから譲り受けることができない。そこで、OFSが奪ったデータを転送するためのルールをOFCがOFSに対して設定すると共に、仮想NICからnl80211_driverにデータが渡るようnl80211_driverの設定を変更する。要するに、OFSにデータを通した後、仮想NICにデータを経由させてから再びnl80211_driverにデータを渡すこととしている。これにより、OFSの内部の実装を変えずに、nl80211_driverの設定を変えるだけで済むのである。
このように、本実施形態では、OFSとNICとの接続を維持した状態で、OFSに仮想NICを接続し、OFSがNICから受信したデータのうち、特定のデータを仮想NICへ転送するようOFCがOFSに対してフローエントリーを設定する。また、仮想NICからnl80211_driverにデータが渡るようnl80211_driverの設定を変更する。そして、NIC、OFS、及び仮想NICの順番でデータを転送し、仮想NICから当該データを利用するサービス又はソフトウェアへデータの転送を行うこととしている。これにより、OFSとNICを接続した場合であっても、従来、NICから特定のデータを取得して利用及び処理していたサービス又はソフトウェアにおいて正常な処理を実行することができる。
なお、図12及び図13に示した本実施形態に係る通信路切替装置の動作フローは、コンピュータ上のプログラムに実行させることもできる。すなわち、通信路切替装置を構成する制御部554に内蔵されているCPU451が、ROM452等の記憶部に格納されたプログラムをロードする。そして、プログラムの各処理ステップが順次実行されることによって行われる。
本発明によれば、オープンフロースイッチ(OFS)をネットワークインタフェースに接続しない状態で正常に実行されていたサービス又はソフトウェアを、OFSをネットワークインタフェースに接続した場合でも、正常に実行することが可能となる。これにより、従来技術では得られない有用な通信路切替装置、通信路切替装置の制御方法、及びプログラムを得ることができる。
以上、これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではない。すなわち、他の実施形態、追加、変更、削除等、当業者が想到することができる範囲内で変更することができ、何れの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。
20 スイッチ
21、802 OFC
22、801 OFS
41 PC1
42 PC2
43 PC3
44 タブレット型コンピュータ
45 スマートフォン
46 L2スイッチ
47 L3スイッチ
48 無線LAN AP
61 プリアンブル
62 送信先アドレス
63 送信元アドレス
64 タイプフィールド
65 データフィールド
66 FCS
100、100−1,100−2、・・・、100−n 通信路切替装置
101 NIC
451 CPU
452 ROM
453 RAM
454 HDD
455 表示装置
456 入力装置
458、459 通信インタフェース
460、557 バス
501、508 アプリケーション(L5〜)
502、507 TCP(L4)
503、506 IP(L3)
504、505 Ethernet(L2)
551 アプリケーション部
552 データ切替部
553 仮想デバイス部
554 制御部
555 判断部
556 確認部
701 NIC
702 Device driver、L2
703 L3
704 L4
705 nl80211_driver
901 Virtual NIC
国際公開第2012/120990号

Claims (9)

  1. 他の通信装置と無線通信を行うための所定の機能を実行するアプリケーション手段と、
    前記アプリケーション手段に前記所定の機能を実行させるためのデータを転送するデータ切替手段と、
    前記データ切替手段により前記データを転送するための設定を行う制御手段と、
    前記制御手段による設定に基づいて、前記データ切替手段から転送されたデータを、前記アプリケーション手段に転送する仮想デバイス手段と、
    を含むことを特徴とする通信路切替装置。
  2. 前記データが前記無線通信を行うための認証に使用される所定のデータであるか否かを判断する判断手段を含み、前記判断手段により前記データが前記所定のデータであると判断されると、前記データ切替手段は、前記所定のデータを前記仮想デバイス手段に転送することを特徴とする請求項1に記載の通信路切替装置。
  3. 前記判断手段により前記データが前記所定のデータでないと判断されると、前記制御手段により、前記データを転送するための設定が行われているか否かを確認する確認手段をさらに含むことを特徴とする請求項2に記載の通信路切替装置。
  4. 前記確認手段により前記データを転送するための設定が行われていることが確認されると、前記データ切替手段は、前記データを当該設定にしたがって転送することを特徴とする請求項3に記載の通信路切替装置。
  5. 前記確認手段により前記データを転送するための設定が行われていないことが確認されると、前記データ切替手段は、前記制御手段に対し、前記データの処理方法を問い合わせることを特徴とする請求項4に記載の通信路切替装置。
  6. 前記データ切替手段は、装置外のネットワークインタフェースから装置内の通信インタフェース手段を介して取得した前記データを転送することを特徴とする請求項1から5の何れか1項に記載の通信路切替装置。
  7. 前記装置外のネットワークインタフェースとは異なる他の装置外のネットワークインタフェースを介して前記データ切替手段に接続され、自装置の動作を制御する自装置外の他の制御手段をさらに含むことを特徴とする請求項6に記載の通信路切替装置。
  8. 他の通信装置と無線通信を行うための所定の機能を実行するアプリケーション手段と、前記アプリケーション手段に前記所定の機能を実行させるためのデータを転送するデータ切替手段と、を含む通信路切替装置の制御方法であって、
    前記データ切替手段により前記データを転送するための設定を行う工程と、
    前記設定を行う工程による設定に基づいて、前記データ切替手段から転送されたデータを、前記アプリケーション手段に転送する工程と、
    を含むことを特徴とする通信路切替装置の制御方法。
  9. 他の通信装置と無線通信を行うための所定の機能を実行するアプリケーション手段と、前記アプリケーション手段に前記所定の機能を実行させるためのデータを転送するデータ切替手段と、を含む通信路切替装置のコンピュータに、
    前記データ切替手段により前記データを転送するための設定を行う処理と、
    前記設定を行う処理による設定に基づいて、前記データ切替手段から転送されたデータを、前記アプリケーション手段に転送する処理と、
    を実行させるためのプログラム。
JP2015146974A 2014-11-25 2015-07-24 通信路切替装置、通信路切替装置の制御方法、及びプログラム Active JP6631065B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP15862681.2A EP3224997B1 (en) 2014-11-25 2015-11-09 Communication path switching apparatus, method for controlling communication path switching apparatus, and computer program product
CN201580063979.XA CN107005473B (zh) 2014-11-25 2015-11-09 通信路径切换装置、控制通信路径切换装置的方法
US15/528,836 US10298454B2 (en) 2014-11-25 2015-11-09 Communication path switching apparatus, method for controlling communication path switching apparatus, and computer program product
PCT/JP2015/005592 WO2016084314A1 (en) 2014-11-25 2015-11-09 Communication path switching apparatus, method for controlling communication path switching apparatus, and computer program product

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014238158 2014-11-25
JP2014238158 2014-11-25

Publications (2)

Publication Number Publication Date
JP2016105576A true JP2016105576A (ja) 2016-06-09
JP6631065B2 JP6631065B2 (ja) 2020-01-15

Family

ID=56102628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015146974A Active JP6631065B2 (ja) 2014-11-25 2015-07-24 通信路切替装置、通信路切替装置の制御方法、及びプログラム

Country Status (4)

Country Link
US (1) US10298454B2 (ja)
EP (1) EP3224997B1 (ja)
JP (1) JP6631065B2 (ja)
CN (1) CN107005473B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10575341B2 (en) 2015-08-03 2020-02-25 Ricoh Company, Ltd. Communication system and recording medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7163606B2 (ja) * 2018-04-03 2022-11-01 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011081104A1 (ja) * 2010-01-04 2011-07-07 日本電気株式会社 通信システム、認証装置、制御サーバ、通信方法およびプログラム
WO2011087085A1 (ja) * 2010-01-14 2011-07-21 日本電気株式会社 計算機、ネットワーク接続切替え方法およびプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817695B2 (en) * 2009-04-01 2017-11-14 Vmware, Inc. Method and system for migrating processes between virtual machines
WO2012120990A1 (ja) 2011-03-09 2012-09-13 日本電気株式会社 コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法
US9497786B2 (en) * 2011-11-04 2016-11-15 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for establishing and using PDN connections
US10541926B2 (en) * 2012-06-06 2020-01-21 The Trustees Of Columbia University In The City Of New York Unified networking system and device for heterogeneous mobile environments
US9178807B1 (en) * 2012-09-20 2015-11-03 Wiretap Ventures, LLC Controller for software defined networks
US9124485B2 (en) * 2013-08-19 2015-09-01 Cisco Technology, Inc. Topology aware provisioning in a software-defined networking environment
JP6435719B2 (ja) 2013-09-17 2018-12-12 株式会社リコー 通信システムおよび通信方法
JP6291834B2 (ja) 2013-12-20 2018-03-14 株式会社リコー 通信装置、通信方法および通信システム
JP2015220589A (ja) 2014-05-16 2015-12-07 株式会社リコー 通信制御装置、ネットワークシステム、通信制御方法およびプログラム
JP2016012909A (ja) 2014-06-03 2016-01-21 株式会社リコー 通信装置、通信方法および通信システム
JP6565138B2 (ja) 2014-06-23 2019-08-28 株式会社リコー 通信システム
JP2016086363A (ja) 2014-10-28 2016-05-19 株式会社リコー 通信装置、制御装置、制御方法及びプログラム
BR102015028087B1 (pt) * 2014-11-06 2023-10-31 Avaya Inc Método, sistema e meio legível por computador nãotransitório de acesso seguro e dinâmico baseado em aptidões de agente de centro de contato
CN108141756A (zh) * 2015-09-29 2018-06-08 瑞典爱立信有限公司 促成网络切片管理

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011081104A1 (ja) * 2010-01-04 2011-07-07 日本電気株式会社 通信システム、認証装置、制御サーバ、通信方法およびプログラム
WO2011087085A1 (ja) * 2010-01-14 2011-07-21 日本電気株式会社 計算機、ネットワーク接続切替え方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JON MATIAS ET AL.: "FlowNAC: Flow-based Network Acceess Control", 2014 THIRD EUROPEAN WORKSHOP ON SOFTWARE DEFINED NETWORKS, JPN6019018113, 15 December 2014 (2014-12-15), pages 79 - 84, ISSN: 0004147742 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10575341B2 (en) 2015-08-03 2020-02-25 Ricoh Company, Ltd. Communication system and recording medium

Also Published As

Publication number Publication date
US10298454B2 (en) 2019-05-21
US20170310545A1 (en) 2017-10-26
CN107005473A (zh) 2017-08-01
JP6631065B2 (ja) 2020-01-15
EP3224997A4 (en) 2017-10-04
EP3224997B1 (en) 2020-02-05
CN107005473B (zh) 2020-06-19
EP3224997A1 (en) 2017-10-04

Similar Documents

Publication Publication Date Title
EP3824602B1 (en) Multi-cloud connectivity using srv6 and bgp
US8219713B2 (en) Method and system for a network controller based pass-through communication mechanism between local host and management controller
US10554489B2 (en) Discovery protocol for enabling automatic bootstrap and communication with a service appliance connected to a network switch
US11184842B2 (en) Conveying non-access stratum messages over ethernet
US8645567B2 (en) Method and system for packet filtering for local host-management controller pass-through communication via network controller
Bergmann et al. A CoAP-gateway for smart homes
US8458305B2 (en) Method and system for matching and repairing network configuration
EP2615782A1 (en) Computer system and communication method in computer system
WO2017037615A1 (en) A method and apparatus for modifying forwarding states in a network device of a software defined network
JP5679343B2 (ja) クラウドシステム、ゲートウェイ装置、通信制御方法、及び通信制御プログラム
US11671483B2 (en) In-band protocol-based in-network computation offload framework
US11863454B2 (en) Systems and methods for scalable validation of multiple paths in a network using segment routing
WO2017055122A1 (en) Method and device for establishing multipath network connections
Li et al. SR-PVX: A source routing based network virtualization hypervisor to enable POF-FIS programmability in vSDNs
JP2016012909A (ja) 通信装置、通信方法および通信システム
JP6631065B2 (ja) 通信路切替装置、通信路切替装置の制御方法、及びプログラム
CN113039752B (zh) 用于支持基于服务的架构的网络节点和方法
JP2017098738A (ja) 制御装置、通信システム、制御方法およびプログラム
WO2016084314A1 (en) Communication path switching apparatus, method for controlling communication path switching apparatus, and computer program product
WO2016062085A1 (zh) 虚拟网络实现的方法、nve、nva装置及系统
WO2015055103A1 (zh) 一种配置点连接信息的获取方法及装置
JP2016086363A (ja) 通信装置、制御装置、制御方法及びプログラム
Mule et al. Design and performace ananlysis of IIoT topologies using SDN
WO2018036632A1 (en) Connection establishment for node connected to multiple ip networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180612

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20180706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191125

R151 Written notification of patent or utility model registration

Ref document number: 6631065

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151