JP2015109532A - Communication system and communication device - Google Patents
Communication system and communication device Download PDFInfo
- Publication number
- JP2015109532A JP2015109532A JP2013250707A JP2013250707A JP2015109532A JP 2015109532 A JP2015109532 A JP 2015109532A JP 2013250707 A JP2013250707 A JP 2013250707A JP 2013250707 A JP2013250707 A JP 2013250707A JP 2015109532 A JP2015109532 A JP 2015109532A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- lifetime
- service
- calculated
- multicast
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、通信システム及び通信装置に関する。 The present invention relates to a communication system and a communication apparatus.
マルチキャスト通信では、一般的に、マルチキャストサービスを提供するサーバからサービスを要求するクライアントに対してマルチキャストパケットを送信するため、送信元のノードからネットワークに所属する全てのノードに対してマルチキャストパケットが送信されることになる。この場合、サービスを提供される必要のないノードにもマルチキャストパケットを送信するため、ネットワークの実効帯域が圧迫され、有効に活用することができない。複数のサービスが存在する場合、さらにネットワークの実効帯域が圧迫されることになる。 In multicast communication, in general, a multicast packet is transmitted from a server that provides a multicast service to a client that requests the service, so that the multicast packet is transmitted from the transmission source node to all nodes belonging to the network. Will be. In this case, since multicast packets are also transmitted to nodes that do not need to be provided with services, the effective bandwidth of the network is compressed and cannot be used effectively. When there are a plurality of services, the effective bandwidth of the network is further compressed.
この点、国際公開WO2004/064335号公報(特許文献1)には、「リング型ネットワークにおいて、マルチキャストで通信する送信ホスト及び受信ノードは、マルチキャスト通信に係るノードを示す、エントリ情報を共有する。また、この送信ノード及び受信ノードは、前記エントリ情報をリング型ネットワーク上でブロードキャストし、前記リング型ネットワーク上の位置関係に係る、トポロジ情報を各ノード間で共有する。また、前記送信ノードは、前記エントリ情報及び前記トポロジ情報を参照して、マルチキャスト送信する情報の送信方向を決定し、情報を当該送信方向にマルチキャスト送信する。さらに、前記受信ノードは、当該送信方向に前記情報を受信する他の受信ノードが存在しない場合に、前記情報を廃棄する」と記載されている(要約参照)。つまり、特許文献1では、リング型ネットワークに所属する全てのノードがネットワーク内全ての情報を収容した管理テーブルを保持し、且つマルチキャストサービスごとに管理テーブルを持つことで、個々のノードが互いのノードの状況を知ることができ、リング型ネットワークでのマルチキャスト通信における帯域有効利用を可能としている(特許文献1の「発明の開示」参照)。
In this regard, International Publication WO 2004/064335 (Patent Document 1) states that “in a ring network, a transmission host and a reception node that communicate by multicast share entry information indicating a node related to multicast communication. The transmitting node and the receiving node broadcast the entry information on the ring network and share topology information related to the positional relationship on the ring network between the nodes. Referring to the entry information and the topology information, the transmission direction of the information to be transmitted by multicast is determined, the information is multicast transmitted in the transmission direction, and the receiving node receives the information in the transmission direction. Discard the information when there is no receiving node It has been described (see Abstract). In other words, in
特許文献1では、各ノードがマルチキャストサービス毎に管理テーブルを持つ必要があるため、マルチキャストサービス数と管理テーブルのエントリ数が比例する。マルチキャストサービスが多数ある場合には、管理テーブルの領域が増え、全ノードの管理テーブルの更新処理を行う必要があるため、全ノードでの処理負荷が重くなり、ネットワーク全体の処理負荷が重くなることが予想される。
In
したがって、特許文献1の技術では、マルチキャストサービスを提供するネットワークでのマルチキャスト通信において、ネットワークの実効帯域を圧迫することなく、実効帯域を有効に活用しつつ、ノードでの処理負荷およびネットワーク全体の処理負荷を軽減させることはできなかった。
Therefore, in the technique of
本発明はこのような従来の技術の問題点に鑑みてなされたものである。即ち、本発明の課題は、マルチキャストサービスを提供するネットワークでのマルチキャスト通信において、ネットワークの実効帯域を圧迫することなく、実効帯域を有効に活用しつつ、ノードでの処理負荷およびネットワーク全体の処理負荷を軽減させることにある The present invention has been made in view of such problems of the conventional technology. That is, an object of the present invention is to provide a processing load at a node and a processing load of the entire network while effectively utilizing the effective bandwidth without reducing the effective bandwidth of the network in multicast communication in a network that provides a multicast service. Is to reduce
本発明は上記課題を解決するために、複数の通信装置間でパケットを送受信する通信システムにおいて、通信装置は、パケットを送信する第1の送信部と、マルチキャストパケットにて配信されるサービスを識別する識別子とパケットが他の通信装置にて転送される毎に値が減少する第1の生存時間とを対応づけて記憶する第1の記憶部と、各部を制御する第1の制御部とを備え、他の通信装置は、パケットを送信する第2の送信部と、第1の生存時間を記憶する第2の記憶部と、各部を制御する第2の制御部とを備え、第1の制御部は、第1の記憶部に記憶する第1の生存時間を付与した他の通信装置との間の制御に用いる制御用のマルチキャストパケットを第1の送信部に送信させ、第2の制御部は、制御用のマルチキャストパケットを受信すると、第2の記憶部に記憶する第1の生存時間を付与した通信装置との間の制御に用いる制御用のパケットを第2の送信部に送信させ、第1の制御部は、制御用のパケットを受信すると、受信した制御用のパケットから第1の生存時間を読み出し、読み出した第1の生存時間と第1の記憶部に記憶する第1の生存時間とに基づいて、制御用のパケットが他の通信装置にて転送された回数を算出し、算出した回数を、サービスを配信するマルチキャストパケットが他の通信装置にて転送される毎に値が減少する第2の生存時間として識別子と対応づけて第1の記憶部に記憶させ、第2の生存時間を付与したサービスを配信するマルチキャストパケットを第1の送信部から送信させることを特徴とする通信システムを有する。 In order to solve the above-described problem, in the communication system that transmits and receives a packet between a plurality of communication devices, the communication device identifies a first transmission unit that transmits the packet and a service distributed by the multicast packet. A first storage unit that stores an identifier to be associated with a first lifetime that decreases every time a packet is transferred by another communication device, and a first control unit that controls each unit The other communication device includes a second transmission unit that transmits the packet, a second storage unit that stores the first lifetime, and a second control unit that controls each unit, The control unit causes the first transmission unit to transmit a control multicast packet used for control with another communication device to which the first lifetime is stored, which is stored in the first storage unit. Control multicast packets for control The first transmission unit transmits a control packet used for control with the communication device to which the first lifetime is stored, stored in the second storage unit, to the second transmission unit. When the first packet is received, the first lifetime is read from the received control packet, and the first lifetime is stored in the first storage unit based on the read first lifetime and the first lifetime stored in the first storage unit. Is calculated as the second lifetime in which the value decreases every time a multicast packet for delivering a service is transferred by another communication device. There is provided a communication system characterized in that a multicast packet for distributing a service assigned with a second lifetime is transmitted from a first transmission unit in association with an identifier and stored in a first storage unit.
本発明によれば、一つのマルチキャストサービスに対して、送信元のノードが所望の送信範囲に対してマルチキャストパケットを送信することができる。そのため、マルチキャストサービスを提供するネットワークでのマルチキャスト通信において、ネットワークの実効帯域を圧迫することなく、実効帯域を有効に活用しつつ、ノードの処理負荷を軽減させ、ネットワーク全体の処理負荷を軽減させることができる。 ADVANTAGE OF THE INVENTION According to this invention, a transmission source node can transmit a multicast packet with respect to a desired transmission range with respect to one multicast service. Therefore, in multicast communication in a network that provides a multicast service, the effective bandwidth is effectively used without reducing the effective bandwidth of the network, and the processing load of the node is reduced while reducing the processing load of the entire network. Can do.
以下、図面を用いて本発明の実施形態を詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
本実施の形態における、ネットワークの概念の例を図1に示す。本実施の形態では、ネットワークとして、リング型MPLS(Multi Protocol Label Switching)ネットワークを例に説明する。なお、リング型ネットワーク以外のマルチキャストサービスを提供するネットワークにも本発明を適用することが可能である。 An example of the concept of a network in this embodiment is shown in FIG. In the present embodiment, a ring type MPLS (Multi Protocol Label Switching) network will be described as an example of the network. It should be noted that the present invention can also be applied to a network that provides a multicast service other than a ring network.
MPLSとは、例えば、レイヤ3の転送情報を基に識別されるパケットフローについて、固定長のラベルを割当てて、ラベルに基づいて転送することによって、パケット毎のIP(Internet Protocol)層の転送処理を省略する技術である。
MPLS refers to, for example, an IP (Internet Protocol) layer transfer process for each packet by assigning a fixed-length label to a packet flow identified based on
リング型MPLSネットワークは、パケットを送受信する通信装置であるノード101、102(ノード102、102−1〜102−3)と、サービス配信サーバ111、クライアント112で構成される。ノード101は、CPU(Central Processing Unit)、FPGA(Field−Programmable Gate Array)、メモリ、各種光モジュールなどから構成される。詳細は後述するが、CPUには、送信制御部、FPGAにはEoMPLS(Ethernet(登録商標。以下同じ。) over MPLS)変換部やTTL判定部、サービス判定部、メモリには、送信記憶部などが格納され、動作する。また、ノード102も同様に、CPUには、受信制御部、FPGAにはEoMPLS変換部やTTL判定部、パケット判定部、マルチキャスト部、メモリには、受信記憶部などが格納され、動作する。
The ring-type MPLS network includes
ここではリング型MPLSネットワークにおける右回り方向(時計回り方向)を0系、左回り方向(反時計回り)を1系とする。各ノードは、他のノードとMPLSヘッダが付与されたMPLSパケットを送受信する。 本実施例の基本的な考え方を説明する。サービス配信サーバ111が接続されるノード101(以下、「送信ノード101」という。)に、マルチキャストサービスのサービス名901及びマルチキャストサービス配信範囲である送信TTL(Time To Live)値902と初期TTL値903を対応づける管理テーブル900(図9)を持たせる。
Here, the clockwise direction (clockwise direction) in the ring-type MPLS network is 0 system, and the counterclockwise direction (counterclockwise direction) is 1 system. Each node transmits / receives an MPLS packet to which an MPLS header is added to / from another node. The basic concept of the present embodiment will be described. A
ここで、サービス名とは、各サービスを識別する任意の識別子である。本実施例では、マルチキャストサービスとして、ビデオ映像などのコンテンツ配信サービスや各種情報を配信する情報配信サービスなどを想定するが、これらに限られるものではない。 Here, the service name is an arbitrary identifier for identifying each service. In this embodiment, as a multicast service, a content distribution service such as a video image or an information distribution service that distributes various types of information is assumed. However, the present invention is not limited to these.
TTL値は、パケットの有効期間や生存時間を表す値であり、最大「255」までの整数値で表される。ノード101または102を1回経由されるたびに、すなわち、ノード101または102にてパケットを中継、転送するたびに値が1減少する生存値である。TTL値が0になったパケットはそのノード101または102で廃棄される。このように、TTL値は、転送の基準となる値である。なお、TTL値はIpv6のHop Limit値などであってもよい。
The TTL value is a value that represents the valid period or lifetime of the packet, and is represented by an integer value up to “255”. This is a survival value whose value decreases by 1 every time the
マルチキャストサービス配信範囲とは、マルチキャストサービス配信に用いるマルチキャストパケットの送信範囲を意味する。送信TTL値902とは、マルチキャストパケットを送信する際の送信用のTTL値である。初期TTL値903とは、サービスの開始を通知するパケットであるクエリパケット(以下、「パケット(クエリー)」とする。)を送信する際のTTL値である。なお、詳細は後述するが、初期TTL値903と同じ値が、ノード102にシステムで予め定められたTTL値として記憶されており、ノード102がサービスを受信することを送信ノード101に応答するパケットである参加通知パケット(パケット(レポート))を送信する際のTTL値として使用される。
The multicast service distribution range means a transmission range of multicast packets used for multicast service distribution. The
マルチキャストパケットの送信範囲を制御する方法としては、マルチキャストサービス配信時のTTL値を制御する方法を用いる。本実施例では、TTL値をマルチキャストパケットの送信範囲を制御する方法として使用する。 As a method of controlling the transmission range of the multicast packet, a method of controlling the TTL value at the time of multicast service distribution is used. In this embodiment, the TTL value is used as a method for controlling the transmission range of the multicast packet.
ここで、MPLSパケットヘッダフォーマットの例を図2を用いて説明する。ラベル201は、20ビットの整数で、0〜1048575の間で付与されて、転送先を決定する識別子である。また、ラベル201でマルチキャストパケット、ユニットキャストパケット、パケット(クエリー)、パケット(レポート)などのパケットタイプを区別することができる。TC(Traffic Class)202は、トラフィッククラスを決定するフィールドである。Sはスタックビットで、MPLSのラベル201を1つのMPLSパケットに2つ以上おく場合に、最後のラベルを示すフィールドである。
Here, an example of the MPLS packet header format will be described with reference to FIG. A
TTL204はパケットの有効期間を表す値であり、上述のように、最大「255」までの整数値で表され、ノード101または102を1回経由されるたびに値が1減少する。TTL値が「0」になったパケットはそのノード101または102で廃棄される。パス設定の誤りや物理接続の誤りによるパケットの無限ループを防止する機能である。各ノード101または102がパケットにTTL値を付与する際には、MPLSヘッダのTTL204に付与される。
The
ノード間の動作の概要を説明すると、サービス配信サーバ111がサービスの配信時にサービスの開始を通知するパケット(クエリー)を各クライアント112に対して送信ノード101経由で0系方向に送信し、サービスのサービス名を送信ノード101の管理テーブル900(図9)のサービス名901に記憶する。このパケット(クエリー)は、マルチキャストサービスを受信するか否か、つまり、マルチキャストパケットを配信するグループに参加するか否かを問い合わせる制御用のマルチキャストパケットである。この際、パケット(クエリー)には、管理テーブル900の初期TTL値903に記憶されたTTL値を付与する。この初期TTL値903に記憶されたTTL値は、システムで予め定められたTTL値である。このシステムで予め定められたTTL値は、本実施例では、「255」を設定する。初期TTL値903は、ネットワークの構成によって適宜設定が可能である。
The outline of the operation between the nodes will be described. The
サービスの受信を希望する各クライアント112がパケット(クエリー)を受けると、サービス配信サーバ111に対して参加通知パケットであるレポートと呼ばれるパケットを各ノード102(以下、「受信ノード102」という。)経由で1系方向に送信する。このパケット(レポート)は、サービスを受信し、マルチキャストパケットを配信するグループに参加する旨を通知する制御用のパケットである。その時、サービス配信サーバ111に対して送信するパケット(レポート)に付与するTTL値は、パケット(クエリー)に付与された初期TTL値903と同じく、システムで予め定められたTTL値である「255」である。
When each
送信ノード101は1系方向からパケット(レポート)を受信し、その中に含まれるTTL値を読み出すことにより、送信時の初期TTL値903「255」から読み出したTTL値を引くことで、パケット(レポート)が、各受信ノード102で中継、転送された回数であり通過したノード数であるホップ数を算出する。つまり、「初期TTL値―読みだしたTTL値=通過したノード数(ホップ数)」であり、TTL値の減少量が、パケット(レポート)が通過したノード数(ホップ数)であることを算出可能である。この算出したホップ数に「1」を加えた値であるTTL値を送信TTL値902として管理テーブル900に記録し、記録した送信TTL値902をサービス配信時のTTL値として使用する。算出したホップ数に「1」を加えるのは、送信ノード101が、最も隣接する受信ノード102、つまり、ホップ数が「0」の受信ノード102に対して送信するパケットのTTL値は、少なくとも「1」である必要があるからである。上述したノード数(ホップ数)およびサービス配信時のTTL値の算出方法は例であって、ノード数(ホップ数)が算出でき、サービス配信時のTTL値が最も隣接するノードに送信可能なTTL値を算出することができる算出方法であればよい。
The
記録した送信TTL値902をサービス配信時のTTL値として送信ノード101が、サービスを提供するマルチキャストパケットに付与すると、サービスを受信したい受信ノード102まで配信でき、その先はTTL値が「0」となるため、マルチキャストパケットが廃棄され、即ち、その先の帯域を占有しなくなる。
When the
本実施例では、送信ノード101が0系方向にパケット(クエリー)を送信し、1系方向からパケット(レポート)を受信する例で各ノードの動作および機能を説明するが、この逆、すなわち、1系方向にパケット(クエリー)を送信し、0系方向からパケット(レポート)を受信することも可能である。この場合、本実施例では説明しないが、各ノードには、これを実現するのに必要な機能部が備わっている。
In the present embodiment, the operation and function of each node will be described with an example in which the
ノードの内部ブロック構成の例を図3及び図4に示す。なお、図3及び図4で同様の動作をする機能部には同じ符号を付し、図3にて説明し、図4では説明しない。 Examples of the internal block configuration of the node are shown in FIGS. In addition, the same code | symbol is attached | subjected to the function part which carries out the same operation | movement by FIG.3 and FIG.4, and it demonstrates in FIG.
図3は、サービス配信サーバ111が接続される送信ノード101の内部ブロック構成図の例である。送信ノード101は、リング型MPLSネットワークにおける右回り方向(0系)からのパケットを受信するパケット受信部301と、0系にパケットを送信するパケット送信部302と、左回り方向(1系)からのパケットを受信するパケット受信部303と、1系にパケットを送信するパケット送信部304と、受信したパケットからTTL値を検知し廃棄か転送かを決め、転送する場合はパケットのTTL値を1減じて転送するTTL判定部306と、サービス配信サーバ111から受信するEthernetパケットにMPLSヘッダを付与してMPLSパケットに変換し、サービス配信サーバ111に送信するMPLSパケットからMPLSヘッダを削除してEthernetパケットに変換するEoMPLS変換部305と、自ノードの提供するサービスか否かを判定するサービス判定部307と、装置全体の制御を行う送信制御部308と、管理テーブル900を記憶する送信記憶部309から構成されている。
FIG. 3 is an example of an internal block configuration diagram of the
なお、レイヤ2のパケットを本実施例では、具体例として「Ethernetパケット」と呼ぶが、これに限定される趣旨ではない。
In this embodiment, the
送信制御部308は、受信したパケット(レポート)のTTL値によってパケット(レポート)を送信した受信ノード102との距離(ホップ数)を演算し、管理テーブル900を書き換えるTTL演算部310としても動作する。また、EoMPLS変換部305に対して、送信記憶部309に記憶される管理テーブル900の初期TTL値903に記憶されたTTL値をMPLSパケット(クエリー)に付与する指示を与える制御を行う。また、管理テーブル900にマルチキャストサービスグループのエントリを記録する制御を行う。
The
図4は、クライアント112が接続される受信ノード102の内部ブロック構成図の例である。受信ノード102は、0系受信部301から受信したパケットが、マルチキャストパケットか否かを判定するパケット判定部311と、マルチキャストパケットを処理するマルチキャスト部312と、サービスを受信するクライアント112に送信するMPLSパケットをEthernetパケットに変換し、クライアント112から受信するEthernetパケットをMPLSパケットに変換するEoMPLS変換部305、装置全体の制御を行う受信制御部313、システムで予め定められたTTL値を記憶する受信記憶部314から構成されている。
FIG. 4 is an example of an internal block configuration diagram of the receiving
(実施例1)
サービス配信について、サービスの開始通知(クエリー)と、サービスの受信応答(レポート)、サービスの停止通知(レポート)が、送信される場合の詳細動作を説明する。
Example 1
With regard to service distribution, detailed operations when a service start notification (query), a service reception response (report), and a service stop notification (report) are transmitted will be described.
サービス配信について、送信ノード101と受信ノード102の間の一連の動作シーケンスを図6に示す。また、送信ノード101の内部動作は図7、受信ノード102の内部動作は図8に示す。
FIG. 6 shows a series of operation sequences between the
図6は、サービス配信の動作シーケンス図の例である。なお、各受信ノード102は、その一部として、受信ノード102−1および受信ノード102−2を図示している。
FIG. 6 is an example of an operation sequence diagram of service distribution. Each receiving
まず、サービス開始時の動作について、各受信ノード102のうち、受信ノード102−1のみがサービスの受信を開始する例を説明する。サービスの開始時に、送信ノード101が、パケット(クエリー)を各受信ノード102へ送信することによりサービスを配信する動作を行う。
First, regarding the operation at the time of starting the service, an example will be described in which only the receiving node 102-1 of each receiving
サービス配信サーバ111が接続される送信ノード101は、サービス配信サーバ111よりマルチキャストサービスの開始を通知するパケット(クエリー)を受信すると、初期TTL値903に記憶されたTTL値「255」を付与してリング型MPLSネットワーク内の各受信ノード102へ0系方向に送信する(S001)。この際、送信ノード101は、管理テーブル900にマルチキャストサービスグループ(サービス名)のエントリを記録する。なお、管理テーブル900の送信TTL値902は、初期設定値を「0」とする。
When receiving the packet (query) for notifying the start of the multicast service from the
パケット(クエリー)を受信した受信ノード102−1は、パケット(クエリー)をコピーして、一方のパケット(クエリー)のTTL値を「254」から「253」に書き換えて、次の受信ノード102−2へ転送し、一方のパケット(クエリー)をクライアント112―2〜112−4に送信する。クライアント112―2〜112−4がマルチキャストサービスを受ける受信ノード102−1は、サービス配信サーバ111へ1系方向にシステムで予め定められたTTL値「255」を付与したパケット(レポート)を送信する(S002)。
The receiving node 102-1 that has received the packet (query) copies the packet (query), rewrites the TTL value of one packet (query) from “254” to “253”, and then receives the next receiving node 102- 2 and transmits one packet (query) to the clients 112-2 to 112-4. Receiving node 102-1 where clients 112-2 to 112-4 receive the multicast service transmits a packet (report) with a TTL value “255” predetermined by the system in the 1-system direction to service
パケット(クエリー)を受信した受信ノード102−2は、受信ノード102−1と同様にパケット(クエリー)を次の受信ノード102−3に転送し、クライアント112−5に送信するが、クライアント112−5がマルチキャストサービスを受けないため、パケット(レポート)は送信しない。 The receiving node 102-2 that has received the packet (query) transfers the packet (query) to the next receiving node 102-3 and transmits it to the client 112-5 in the same manner as the receiving node 102-1, but the client 112- Since 5 does not receive the multicast service, the packet (report) is not transmitted.
受信ノード102−1からパケット(レポート)を受信した送信ノード101は、受信したパケット(レポート)に含まれるTTL値「254」を用いて通過したノード数(ホップ数)を「255−254=1」により算出し、送信TTL値902「0」を算出したノード数(ホップ数)「1」に「1」を加えて算出した値「2」に書き換え、送信TTL値902「2」を付与したサービスを提供するマルチキャストパケットを0系方向に送信して、サービスの配信を開始する(S003)。つまり、ホップ数は、「255−254=1」より、「1」と算出され、この値に「1」を加えることから、送信TTL値902は、「0」から「2」に書き換えられる。
The
サービスを提供するマルチキャストパケットに付与されたTTL値「2」は、受信ノード102にてTTL値「2」から「1」に1減じられ、受信ノード102−1にはTTL値「1」のマルチキャストパケットが届く。そのため、受信ノード102−1はサービスを提供するマルチキャストパケットを受信することができ、受信ノード102−1に接続されるクライアント112―2〜112−4は、サービスを受けることができる。一方、受信ノード102−1は、サービスを提供するマルチキャストパケットに付与されたTTL値「1」を1減じ、TTL値が「0」となるためパケットを廃棄する。
The TTL value “2” assigned to the multicast packet that provides the service is decremented by 1 from the TTL value “2” to “1” at the receiving
その結果、サービスを受信しない受信ノード102−2には、サービスを提供するマルチキャストパケットは転送されない。 As a result, the multicast packet providing the service is not transferred to the receiving node 102-2 that does not receive the service.
次に、サービスに加入していない各受信ノード102が、サービスに加入する動作について、各受信ノード102のうち、受信ノード102−1のみがサービスに加入しており、受信ノード102−2がサービスの受信を開始する例を説明する。
Next, regarding the operation in which each receiving
サービスに加入していない受信ノード102−2は、サービス開始通知であるパケット(クエリー)を契機とせずに、クライアント112−5からのサービスを受信する要求を受信すると、マルチキャストパケットを配信するグループに参加を通知するパケットであるサービスの受信応答のパケット(レポート)にシステムで予め定められたTTL値「255」を付与して自ら送信ノード101へ送信する(S004)。
When the receiving node 102-2 not subscribed to the service receives a request for receiving the service from the client 112-5 without being triggered by a packet (query) that is a service start notification, the receiving node 102-2 is sent to the group that distributes the multicast packet. A TTL value “255” determined in advance by the system is assigned to a packet (report) of a service reception response, which is a packet notifying participation, and transmitted to the
受信ノード102−1にて転送された受信ノード102−2からのパケット(レポート)を受信した送信ノード101は、受信したパケット(レポート)に含まれるTTL値「253」を用いて通過したノード数(ホップ数)を「255−253=2」より算出する。算出した値「2」に「1」を加えて算出した値「3」は、「2」である送信TTL値902よりも大きいため、送信TTL値902「2」を算出した値「3」に書き換え、送信TTL値902「3」を付与したサービスを提供するマルチキャストパケットを0系方向に送信して、受信ノード102−1および受信ノード102−2へのサービスの配信を開始する(S005)。
The transmitting
既にサービスを受信している受信ノード102−1は、サービスを提供するマルチキャストパケットに含まれるTTL値「2」を1減じ、次の受信ノード102−2へ転送するので、受信ノード102−2は、サービスを提供するマルチキャストパケットを受信することができ、受信ノード102−2に接続されるクライアント112−5は、サービスを受けることができる。 The receiving node 102-1 that has already received the service decrements the TTL value “2” included in the multicast packet that provides the service by 1 and forwards it to the next receiving node 102-2. The client 112-5 connected to the receiving node 102-2 can receive the service.
次に、サービスに加入している各受信ノード102が、サービスの停止を希望しサービスから離脱する動作について、各受信ノード102のうち、受信ノード102−1および受信ノード102−2がサービスを受信しており、受信ノード102−2がサービスから離脱する例を説明する。
Next, regarding each receiving
サービスに加入している受信ノード102−2は、クライアント112−5からのサービスの受信を停止する要求を受信すると、マルチキャストパケットを配信するグループから離脱する旨を通知するパケットであるサービスの停止通知のパケット(レポート)にシステムで予め定められたTTL値「255」を付与して自ら送信ノード101へ送信する(S006)。
When the receiving node 102-2 that has subscribed to the service receives a request for stopping the reception of the service from the client 112-5, the stop notification of the service, which is a packet for notifying that the multicast packet is to be separated from the group. TTL value “255” determined in advance by the system is assigned to the packet (report) and transmitted to the
なお、サービスの停止通知のパケット(レポート)とサービスの受信応答のパケット(レポート)とは、パケットに含まれるMPLSのラベルが異なるため、送信ノード101にて区別される。
The service stop notification packet (report) and the service reception response packet (report) are distinguished by the transmitting
受信ノード102−1にて転送された受信ノード102−2からのパケット(レポート)を受信した送信ノード101は、受信したパケット(レポート)に含まれるTTL値「253」を用いて通過したノード数(ホップ数)を「255−253=2」より算出する。算出した値「2」に「1」を加えて算出した値「3」は、「3」である送信TTL値902と同じであるため、再度サービスの開始を通知するパケット(クエリー)を送信して送信TTL値902の更新処理を開始する(S007)。
The transmitting
パケット(クエリー)を受信した受信ノード102−1は、サービスの開始時と同様に、パケット(クエリー)を次の受信ノード102−2に転送し、クライアント112―2〜112−4に送信する。クライアント112―2〜112−4が引き続きマルチキャストサービスを受ける受信ノード102−1は、サービス配信サーバ111へシステムで予め定められたTTL値「255」を付与したサービスの受信応答のパケット(レポート)を送信する(S008)。
The reception node 102-1 that has received the packet (query) transfers the packet (query) to the next reception node 102-2 and transmits it to the clients 112-2 to 112-4 in the same manner as when the service is started. The receiving node 102-1 on which the clients 112-2 to 112-4 continue to receive the multicast service receives a packet (report) of the service reception response to which the TTL value “255” predetermined by the system is given to the
パケット(クエリー)を受信した受信ノード102−2は、受信ノード102−1と同様にパケット(クエリー)を次の受信ノード102−3に転送し、クライアント112−5に送信するが、クライアント112−5は、サービスの停止を希望しており、マルチキャストサービスを受けないため、サービスの受信応答のパケット(レポート)は送信しない。なお、受信ノード102−2は、クライアント112−5がサービスの停止を希望している旨の通知を受け取り、受信記憶部314にその旨を記憶する場合は、受信ノード102−2が、パケット(クエリー)に対してサービスへの参加可否を判断し、パケット(クエリー)をクライアント112−5に送信しなくてもよい。
The receiving node 102-2 that has received the packet (query) transfers the packet (query) to the next receiving node 102-3 and transmits it to the client 112-5 in the same manner as the receiving node 102-1, but the client 112- No. 5 wants to stop the service and does not receive the multicast service, and therefore does not transmit a service reception response packet (report). When the receiving node 102-2 receives a notification that the client 112-5 wants to stop the service and stores the notification in the receiving
受信ノード102−1からサービスの受信応答のパケット(レポート)を受信した送信ノード101は、受信したパケット(レポート)に含まれるTTL値「254」を用いて通過したノード数(ホップ数)「1」を算出し、送信TTL値902を算出した値「1」に「1」を加えて算出した値「2」に書き換えて送信TTL値902の更新を行い、送信TTL値902「2」を付与したサービスを提供するマルチキャストパケットを送信して、受信ノード102−1へのサービスの配信を開始する(S009)。
The
その結果、サービスの受信の継続を希望する受信ノード102−1には、マルチキャストパケットは転送されるが、サービスの停止を希望する受信ノード102−2には、マルチキャストパケットは転送されない。 As a result, the multicast packet is transferred to the receiving node 102-1 that wants to continue receiving the service, but the multicast packet is not transferred to the receiving node 102-2 that wants to stop the service.
サービス開始通知であるパケット(クエリー)を送信する際の送信ノード101の動作を説明する。
The operation of the
サービス配信サーバ111が接続される送信ノード101のEoMPLS変換部305は、サービス配信サーバ111よりマルチキャストサービスの開始を通知するEthernetパケット(クエリー)を受信すると、MPLSパケット(クエリー)に変換する。この際、EoMPLS変換部305は、パケット(クエリー)に含まれる、マルチキャストサービスのサービス名を取得し、送信制御部308に通知し、取得したサービス名をMPLSヘッダのラベル201に付与する。送信制御部308は、通知されたサービス名を送信記憶部309に記憶される管理テーブル900のサービス名901に記録してマルチキャストサービスグループのエントリを作成する。このエントリは、送信TTL値902の初期設定値「0」、初期TTL値903の「255」からなる。また、送信TTL値902は、後述のようにその値が更新される。
When receiving the Ethernet packet (query) for notifying the start of the multicast service from the
送信制御部308は、初期TTL値903に記憶されたTTL値「255」をMPLSパケット(クエリー)に付与する指示をEoMPLS変換部305に出す。EoMPLS変換部305は、送信制御部308からの指示を受けて、MPLSパケット(クエリー)のMPLSヘッダのTTL204に指示されたTTL値「255」を付与し、0系パケット送信部302へ送信する。0系パケット送信部302は、TTL値「255」を付与したMPLSパケット(クエリー)をリング型MPLSネットワークへ送信する。
The
送信ノード101が、複数のマルチキャストサービスを提供する場合は、サービス名毎に管理テーブル900のエントリが作成されることになる。
When the
図7は、パケットを受信した送信ノード101の動作フローチャート図の例である。
FIG. 7 is an example of an operation flowchart of the
1系パケット受信部303でMPLSパケットを受信する(S100)と、サービス判定部307に転送される。サービス判定部307は、転送されたパケットが、パケット(レポート)か、通常のパケットかを判定し(S101)、通常のパケットの場合(S101のN)は、1系パケット送信部304へ転送し(S103)、パケット(レポート)の場合(S101のY)は、さらに自ノードが提供するサービスか否か、つまり、管理テーブル900のサービス名901と一致するサービス名を有するパケット(レポート)であるか否かをMPLSラベルで判定し(S102)、自ノードが提供するサービスではない場合(S102のN)は、1系パケット送信部304へ転送し(S103)、自ノードが提供するサービスの場合(S102のY)は、さらに、マルチキャストパケットを配信するグループから離脱する旨を通知するサービスの停止通知のパケット(レポート)であるか否かをMPLSラベルで判定し(S104)、サービス停止通知のパケット(レポート)ではない場合(S104のN)は、送信制御部308へ転送する(S105)。つまり、サービスを受信することを応答するパケットであるサービス受信応答のパケット(レポート)である場合は、送信制御部308へ転送する(S105)。
When the MPLS packet is received by the 1-system packet receiving unit 303 (S100), it is transferred to the
送信制御部308は、TTL演算部310として動作して、受信したパケット(レポート)のTTL値を読み出し、「初期TTL値−読み出したTTL値=通過したノード数(ホップ数)」より算出した値に「1」を加えて算出したTTL値を、パケット(レポート)が有するサービス名と対応づけられた管理テーブル900の送信TTL値902の設定値と比較し(S106)、管理テーブル900の送信TTL値902の設定値より小さい場合(S106のN)は終了し、送信TTL値902の設定値より大きい場合(S106のY)は、送信TTL値902の設定値を算出したTTL値に書き換えて、送信TTL値902を更新する(S107)。
The
送信制御部308は、管理テーブル900の送信TTL値902に記憶されたTTL値をサービスを提供するサーバ111が送信するマルチキャストパケットに付与する指示をEoMPLS変換部305に出す。EoMPLS変換部305は、送信制御部308からの指示を受けて、サービスを提供するマルチキャストパケットにTTL値を含めたMPLSヘッダ付与してパケットを変換して、0系パケット送信部302へ送信する。0系パケット送信部302は、TTL値を付与したマルチキャストパケットをリング型MPLSネットワークへ送信する(S108)
よって、送信ノード101が各受信ノード102からのサービス受信応答のパケット(レポート)を受信し、TTL値を算出する処理によって管理テーブル900の送信TTL値902の設定値は、通過したノード数(ホップ数)が一番多い受信ノード102から受信したパケット(レポート)により算出した値となる。
The
Therefore, the
また、サービス停止通知のパケット(レポート)である場合(S104のY)は、パケットを送信制御部308へ転送する(S109)。 If the packet is a service stop notification packet (report) (Y in S104), the packet is transferred to the transmission control unit 308 (S109).
送信制御部308は、TTL演算部310として動作して受信したサービスの停止通知(レポート)のTTL値を読み出し、「初期TTL値−読み出したTTL値=通過したノード数(ホップ数)」より算出した値に「1」を加えて算出したTTL値を管理テーブル900の送信TTL値902の設定値と比較し(S110)、送信TTL値902の設定値と同じではない場合(S110のN)は終了し、送信TTL値902の設定値と同じ場合(S110のY)に、送信TTL値902を更新処理を実行する。つまり、算出したTTL値と送信TTL値902の設定値とが同じ場合は、サービスを受信している受信ノード102の中で最遠端の受信ノード102からサービスの停止通知のパケット(レポート)を受信したと判断して、送信TTL値902の更新を実行する。
The
送信制御部308は、サービスの停止通知のパケット(レポート)を送信した最遠端の受信ノード102に配信できるTTL値の設定値である現状の送信TTL値902の設定値をMPLSパケット(クエリー)に付与する指示をEoMPLS変換部305に出す(S111)。EoMPLS変換部305は、送信制御部308からの指示を受けて、パケット(クエリー)に送信TTL値902の設定値を付与し、0系パケット送信部302へ送信する(S112)。0系パケット送信部302は、送信TTL値902の設定値を付与したMPLSパケット(クエリー)をリング型MPLSネットワークへ送信する(S113)。パケット(クエリー)の送信後、送信制御部308は、送信TTL値902を初期化して、初期値「0」を記録する(S114)。
The
なお、S111において、送信制御部308は、初期送信TTL値903「255」をMPLSパケット(クエリー)に付与する指示をEoMPLS変換部305に出してもよい。この場合、送信TTL値902の初期化は、初期送信TTL値903「255」を付与したMPLSパケット(クエリー)の送信前後いずれであってもよい。
In S111, the
そして、1系パケット受信部303でMPLSパケットを受信する(S100)と、MPLSパケット(レポート)であり(S101のY)、自ノードが提供するサービスであり(S102のY)、サービス受信応答のパケット(レポート)である場合(S104のN)に、TTL演算部310は、受信したパケット(レポート)のTTL値を読み出し、「初期TTL値−読み出したTTL値=通過したノード数(ホップ数)」より算出した値に「1」を加えて算出したTTL値を管理テーブル900の送信TTL値902の設定値と比較する(S106)。S114にて送信TTL値902を「0」に初期化したため、算出したTTL値は、管理テーブル900の送信TTL値902の設定値である初期値「0」より大きい(S106のY)。送信TTL値902の設定値を算出したTTL値に書き換えて、送信TTL値902を更新する(S107)。
When the
送信制御部308は、MPLSヘッダ200内のTTL値204に、管理テーブル900の送信TTL値902に記憶されたTTL値を設定し、サービスを提供するマルチキャストパケットに付与する指示をEoMPLS変換部305に出し、EoMPLS変換部305は、送信制御部308からの指示を受けて、サービスを提供するマルチキャストパケットに送信TTL値902に記憶されたTTL値を設定したMPLSヘッダを付与し、0系パケット送信部302へ送信し、0系パケット送信部302は、TTL値を付与したマルチキャストパケットをリング型MPLSネットワークへ送信する(S108)。
The
よって、送信ノード101が、各受信ノード102からのサービス停止通知のパケット(レポート)の受信を契機に、送信TTL値902の設定値を初期化し、再度各受信ノード102からサービス受信応答のパケット(レポート)を受信し、TTL値を算出する処理によって、送信TTL値902の設定値は、サービスを受信したい受信ノード102の中で、通過したノード数(ホップ数)が一番多い受信ノード102から受信したパケット(レポート)より算出した値、すなわち、サービスの受信を希望するクライアント112を持つ最新の最遠端の受信ノード102までのノード数(ホップ数)に書き換わり、更新されることになる。
Accordingly, the
なお、S104において、サービス受信応答のパケット(レポート)であるか否かをMPLSラベルで判定することも可能である。この場合、サービス受信応答のパケット(レポート)であれば、S105へ進み、サービス受信応答のパケット(レポート)でなければ、S109へ進むことになる。 In S104, it is possible to determine whether or not the packet is a service reception response packet (report) based on the MPLS label. In this case, if the packet is a service reception response packet (report), the process proceeds to S105. If the packet is not a service reception response packet (report), the process proceeds to S109.
図8は、パケットを受信した受信ノード102の動作フローチャート図の例である。
FIG. 8 is an example of an operation flowchart of the receiving
クライアント112が接続される受信ノード102は、0系パケット受信部301でMPLSパケット(クエリー)を受信する(S200)と、パケット判定部311に転送される。パケット判定部311は、転送されたパケットが、マルチキャストパケットかどうかを判定し(S201)、マルチキャストパケットである場合(S201のY)、マルチキャスト部312へ転送する(S202)。マルチキャスト部312は、パケット(クエリー)をコピーし、一方をEoMPLS変換部305経由でクライアント112に配信し、もう一方をTTL判定部306に転送する(S203)。TTL判定部306は、受信したパケット(クエリー)のTTL値を判定し(S206)、TTL値が「1」でない場合(S206のN)は、TTL値を1減じて0系パケット送信部302に転送し、0系パケット送信部302は、次の受信ノード102に転送する(S207)。TTL値が「1」である場合(S206のY)は、TTL値を「1」減じるとTTL値が「0」となるためマルチキャストパケットを廃棄する(S208)。EoMPLS変換部305は、MPLSパケットをEthernetパケットへ変換し、全クライアント112へパケット(クエリー)を転送する。
The receiving
パケット判定部311が、マルチキャストパケットでないと判定した場合(S201のN)は、クライアント112宛のパケットであるかどうかを判定し(S209)、クライアント112宛のパケットの場合(S209のY)は、EoMPLS変換部305へ転送する(S211)。クライアント112宛のパケットではない場合(S209のN)は、0系パケット送信部302へ転送し0系パケット送信部302から次の受信ノード102へ転送する(S210)。 次に、クライアント112からマルチキャストサービスの受信を開始する指示であるパケット(レポート)を受信する受信ノード102の動作例について説明する。
If the
受信ノード102のEoMPLS変換部305は、クライアント112からマルチキャストサービスの受信を開始する指示であるパケット(レポート)を受信したか否か判断する。パケット(レポート)を受信した場合、つまり、クライアント112がマルチキャストサービスを受ける場合、受信制御部313は、MPLSヘッダ200内のTTL値204に、受信記憶部314に記憶されているシステムで予め定められたTTL値である「255」を設定する指示を出し、EoMPLS変換部305は、受信制御部313からの指示を受けて、クライアント112から受信したEthernetパケットのパケット(レポート)を、MPLSヘッダ200内のTTL値204にTTL値「255」を設定したMPLSパケットのパケット(レポート)へ変換し、1系パケット送信部304を経由してリング型MPLSネットワークへMPLSパケットであるパケット(レポート)を送信する。
The
なお、図6のS002およびS004にて説明したように、クライアント112は、受信ノード102から受信したパケット(クエリー)に応答してパケット(レポート)を受信ノード102に送信する場合(S002)と、自発的にパケット(レポート)を受信ノード102に送信する場合(S004)とがある。
As described in S002 and S004 of FIG. 6, the
次に、クライアント112からマルチキャストサービスの受信を停止する指示であるパケット(レポート)を受信する受信ノード102の動作例について説明する。
Next, an operation example of the receiving
受信ノード102のEoMPLS変換部305は、クライアント112からマルチキャストサービスの受信を停止する指示であるパケット(レポート)を受信したか否か判断する。パケット(レポート)を受信した場合、つまり、クライアント112がマルチキャストサービスの受信を停止し、マルチキャストサービスのグループから離脱する場合、受信制御部313は、MPLSヘッダ200内のTTL値204に、受信記憶部314に記憶されているシステムで予め定められたTTL値である「255」を設定する指示を出し、EoMPLS変換部305は、受信制御部313からの指示を受けて、クライアント112から受信したEthernetパケットのパケット(レポート)を、MPLSヘッダ200内のTTL値204にTTL値「255」を設定したMPLSパケットのパケット(レポート)へ変換し、1系パケット送信部304を経由してリング型MPLSネットワークへMPLSパケットであるパケット(レポート)を送信する。
The
なお、マルチキャストサービスの配信方向を0系方向として説明したが、当然に、1系方向をサービスの配信方向とすることも可能である。この場合、送信ノード101、受信ノード102ともに、必要な機能部を適宜有することになる。
Although the multicast service distribution direction has been described as the 0-system direction, it is naturally possible to use the 1-system direction as the service distribution direction. In this case, both the
前記一連の流れによると、サービスの新規配信やサービス受信ノードの追加と停止処理では、送信ノード101の管理テーブル900の送信TTL値902の設定値は、サービスを受信する最遠端の受信ノード102までマルチキャストパケットを配信できる値となり、最遠端の受信ノード102の先にはTTL=0によってマルチキャストパケットが廃棄されることになり、無駄な通信帯域使用が抑えられる。
According to the series of flows, in the new service distribution and the addition and stop processing of the service reception node, the setting value of the
また、受信ノード102には、管理テーブル900を保持する必要がなく、受信したパケットに含まれるTTL値によって中継、転送処理をすればよいので、中継、転送処理の際に管理テーブルを参照する処理が発生せず、管理テーブルの更新処理も発生しないので、受信ノード102の処理負荷を軽減させることができる。
In addition, the receiving
また、送信ノード101が、転送ホップ数を基に算出した送信TTL値902を記憶する管理テーブル900を有することで、各ノード101、102は、個々のノードが互いのノードの状況(ネットワークにおける位置など)を把握していなくても、マルチキャスパケットを配信すべき範囲を適切に設定することが可能となる。そのため、ネットワークの実効帯域を圧迫することなく、実効帯域を有効に活用しつつ、ノードの処理負荷を軽減させ、ネットワーク全体の処理負荷を軽減させることができる。
In addition, since the
(実施例2)
図10を参照して実施例2を説明する。本実施例では、1つの送信ノードによるサービス提供だけではなく、複数のノードによるサービス提供を行う。この場合、ノードは同時に送信ノードと受信ノードの機能を持って、以下に本ノードを「送受信ノード103」とする。
(Example 2)
A second embodiment will be described with reference to FIG. In this embodiment, not only service provision by one transmission node but also service provision by a plurality of nodes is performed. In this case, the node has the functions of a transmission node and a reception node at the same time, and this node is hereinafter referred to as “transmission /
図5はサービス配信サーバ111およびクライアント112が接続される送受信ノード103の内部ブロック構成図である。送信ノード101と受信ノード102の機能ブロックを持ち、装置全体の制御を行う送受信制御部315と、管理テーブル900を記憶する送受信記憶部316から構成されている。
FIG. 5 is an internal block configuration diagram of the transmission /
送受信制御部315は、受信したパケット(レポート)のTTL値によってパケット(レポート)を送信した受信ノードとの距離(ホップ数)を演算し、管理テーブル900を書き換えるTTL演算部310としても動作する。さらに、サービス配信サーバ111よりパケット(クエリー)またはサービスを配信するパケット送信の場合と、クライアント112より他の送受信ノード103へパケット(レポート)を送信する場合を区別し、EoMPLS変換部305に異なる指示を出す。
The transmission /
他の送受信ノード103がサービスに参加していない初期の状態でパケット(クエリー)を送信する場合には、初期TTL値903を付与する指示をEoMPLS変換部305に出す。サービス配信サーバ111からのサービス配信の場合には、送信TTL値902を付与する指示をEoMPLS変換部305に出す。
When the packet (query) is transmitted in an initial state where the other transmission /
クライアント112がパケット(レポート)送信する場合は、初期TTL値903を付与する指示をEoMPLS変換部305に出す。
When the
前述の通り、送受信記憶部316は、送信記憶部309相当の機能を持ち、受信記憶部314相当の機能は初期TTL値903によって実現する。
As described above, the transmission /
各送受信ノード103の具体的な動作は、実施例1の送信ノード101および受信ノード102と同様である。
The specific operation of each transmission /
複数の送受信ノード103によるサービス提供の場合の管理テーブルの例を図11に示す。また、各サービスの配信範囲は図10に示す。
An example of a management table in the case of providing a service by a plurality of transmission /
本実施例では、各サービスを提供する送信ノードごとに管理テーブルを持つことで、TTL値によって各サービスの送信範囲を制御することが可能である。 In this embodiment, by having a management table for each transmission node that provides each service, the transmission range of each service can be controlled by the TTL value.
最遠端の受信希望ノードまでマルチキャストパケットを送信し、その先にはマルチキャストパケットが廃棄されることによって、ネットワーク帯域の有効利用が可能となる。 A multicast packet is transmitted to the farthest receiving desired node, and the multicast packet is discarded at the destination, so that the network bandwidth can be effectively used.
また、各ノード103には、自らが提供するサービスの管理テーブルを持つため、他ノードのサービス数増加による管理テーブル更新などの処理負荷がなく、ネットワーク全体の処理負荷を軽減させることができる。 (実施例3)
図1を参照して実施例3を説明する。本実施例は、サービスの開始通知(クエリー)を周期的に送信する運用方法である。
Further, since each
サービス開始時及び提供中には、サービスの開始通知(クエリー)が送信ノード101から一定周期で送信される。送信ノード101によるパケット(クエリー)の送出動作は実施例1と同様である。クライアント112がパケット(クエリー)に応答してマルチキャストサービスを受ける場合、受信ノード102が、サービス配信サーバ111に対してパケット(レポート)を送信する動作も実施例1と同様である。
When the service starts and during service provision, a service start notification (query) is transmitted from the
一方、新たにサービスを受けるクライアント112がマルチキャストサービスのグループに加入する時は、実施例1と違い、クライアント112自らパケット(レポート)を送信するのではなく、周期的に受信するパケット(クエリー)に応答することである。
On the other hand, when a
サービスの開始通知(クエリー)が周期的に送信されているため、サービスを受けるクライアント112は、サービス配信サーバ111からのパケット(クエリー)に応答してパケット(レポート)を周期的に送信する。サービスを受けない、あるいはサービス停止したいクライアント112は、周期的なパケット(クエリー)に応答せず、パケット(レポート)を送信しない。
Since the service start notification (query) is periodically transmitted, the
よって、サービス配信サーバ111がある送信ノード101の管理テーブル900の送信TTL値902は、周期的に設定値が更新され、サービスを受ける最遠端の受信ノード102までマルチキャストパケットを送信可能なTTL値で設定することが可能である。そのため、サービスを受ける最遠端の受信ノード102で、マルチキャストパケットが廃棄されることによって無駄な通信帯域使用が抑えられる。
Therefore, the
また、受信ノード102には、管理テーブルを保持する必要がなく、パケットに含まれるTTL値によって中継、転送処理をすればよいので処理負荷を軽減させることができる。
In addition, the receiving
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。 The present invention is not limited to the above-described embodiments, and includes various modifications. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えばFPGAのような集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(SolidStateDrive)等の記録装置、または、IC(Integrated Circuit)カード、SDカード、DVD等の記録媒体に置くことができる。 Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment. Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit such as an FPGA. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function may be placed in a recording device such as a memory, a hard disk, an SSD (Solid State Drive), or a recording medium such as an IC (Integrated Circuit) card, an SD card, or a DVD. it can.
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 Further, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
また、本発明をリング型MPLSを例として説明したが、他のネットワーク形状(例えばツリー型)、他のネットワーク種類(例えばEthernet)などにも適用できる。TTLの考え方に関して、IPv6のHop Limitなどで、データの有効期間を表すフィールドを持つ通信方法に適用できる。 Although the present invention has been described by taking the ring type MPLS as an example, the present invention can also be applied to other network shapes (for example, tree type), other network types (for example, Ethernet), and the like. With regard to the TTL concept, it can be applied to a communication method having a field representing the valid period of data, such as IPv6 Hop Limit.
101 送信ノード
102 受信ノード
103 送受信ノード
111 サービス提供サーバ
112 クライアント
301 0系パケット受信部
302 0系パケット送信部
303 1系パケット受信部
304 1系パケット送信部
305 Ethernet over MPLS変換部
306 TTL判定部
307 サービス判定部
308 送信制御部
309 送信記憶部
310 TTL演算部
311 パケット判定部
312 マルチキャスト部
313 受信制御部
314 受信記憶部
315 送受信制御部
316 送受信記憶部
101
Claims (11)
前記通信装置は、
前記パケットを送信する第1の送信部と、
各部を制御し、他の通信装置にて転送される毎に値が減少する生存時間を格納する領域である生存時間領域を有するパケットを前記第1の送信部に送信させる第1の制御部と、
サービスを配信するマルチキャストパケットにて配信されるサービスを識別する識別子と第1の生存時間とを対応づけて記憶する第1の記憶部と、
を備え、
前記他の通信装置は、
前記パケットを送信する第2の送信部と、
各部を制御し、前記生存時間領域を有するパケットを前記第2の送信部に送信させる第2の制御部と、
前記第1の生存時間の値と同じ値である第2の生存時間を記憶する第2の記憶部と、
を備え、
前記第1の制御部は、
前記第1の記憶部に記憶する前記第1の生存時間を前記生存時間領域に付与した前記他の通信装置との間の制御に用いる制御用のマルチキャストパケットを前記第1の送信部に送信させ、
前記第2の制御部は、
前記制御用のマルチキャストパケットを受信すると、前記第2の記憶部に記憶する前記第2の生存時間を前記生存時間領域に付与した前記通信装置との間の制御に用いる制御用のパケットを前記第2の送信部に送信させ、
前記第1の制御部は、
前記制御用のパケットを受信すると、受信した前記制御用のパケットから前記生存時間領域の値を読み出し、読み出した前記生存時間領域の値と前記第1の記憶部に記憶する前記第1の生存時間とに基づいて、前記サービスを配信するマルチキャストパケットが前記他の通信装置にて転送される毎に値が減少する第3の生存時間を算出し、算出した前記第3の生存時間と前記識別子とを対応づけて前記第1の記憶部に記憶させ、前記第3の生存時間を前記生存時間領域に付与した前記サービスを配信するマルチキャストパケットを前記第1の送信部から送信させる
ことを特徴とする通信システム。 In a communication system that transmits and receives packets between a plurality of communication devices,
The communication device
A first transmitter for transmitting the packet;
A first control unit that controls each unit and causes the first transmission unit to transmit a packet having a lifetime area that is an area for storing a lifetime that decreases every time the packet is transferred by another communication device; ,
A first storage unit for storing an identifier for identifying a service distributed in a multicast packet for distributing a service and a first lifetime,
With
The other communication device is:
A second transmitter for transmitting the packet;
A second control unit that controls each unit and causes the second transmission unit to transmit a packet having the lifetime region;
A second storage unit that stores a second survival time that is the same value as the first survival time;
With
The first controller is
Causing the first transmitter to transmit a control multicast packet used for control with the other communication device that has assigned the first lifetime stored in the first storage to the lifetime region. ,
The second controller is
When the control multicast packet is received, the control packet used for control with the communication device having the second lifetime stored in the second storage unit in the lifetime area is transmitted to the second packet. 2 to the transmission unit,
The first controller is
When the control packet is received, the value of the survival time area is read from the received control packet, and the read value of the survival time area and the first survival time stored in the first storage unit Based on the above, a third lifetime that decreases every time a multicast packet that distributes the service is transferred by the other communication device is calculated, and the calculated third lifetime and the identifier are calculated. Is stored in the first storage unit, and a multicast packet for distributing the service with the third lifetime is assigned to the lifetime region is transmitted from the first transmitter. Communications system.
前記第1の制御部は、
読み出した前記生存時間領域の値と前記第1の記憶部に記憶する前記第1の生存時間とに基づいて、前記制御用のパケットが前記他の通信装置にて転送された回数を算出し、算出した前記回数に基づいて、前記第3の生存時間を算出する
ことを特徴とする通信システム。 The communication system according to claim 1,
The first controller is
Based on the read lifetime value and the first lifetime stored in the first storage unit, the number of times the control packet is transferred by the other communication device is calculated, A communication system, wherein the third survival time is calculated based on the calculated number of times.
前記第1の制御部は、
前記制御用のパケットをさらに受信すると、受信した前記制御用のパケットから前記第3の生存時間を算出し、算出した前記第3の生存時間と前記第1の記憶部に記憶されている前記第3の生存時間との比較に応じて、前記第1の記憶部に記憶されている前記第3の生存時間を算出した前記第3の生存時間に更新する
ことを特徴とする通信システム。 A communication system according to claim 2,
The first controller is
When the control packet is further received, the third lifetime is calculated from the received control packet, and the calculated third lifetime and the first storage unit stored in the first storage unit are calculated. The communication system is characterized in that the third survival time stored in the first storage unit is updated to the calculated third survival time according to a comparison with the 3 survival time.
前記第1の制御部は、
さらに受信した前記制御用のパケットから算出した前記第3の生存時間と前記第1の記憶部に記憶されている前記第3の生存時間との比較の結果、前記第1の記憶部に記憶されている第3の生存時間よりも算出した前記第3の生存時間が大きい場合、前記第3の生存時間を算出した前記回数に更新する
ことを特徴とする通信システム。 A communication system according to claim 3,
The first controller is
Further, as a result of comparison between the third survival time calculated from the received control packet and the third survival time stored in the first storage unit, it is stored in the first storage unit. When the calculated third survival time is larger than the calculated third survival time, the third survival time is updated to the calculated number of times.
前記通信装置が送信する前記制御用のマルチキャストパケットは、
前記他の通信装置がマルチキャストパケットを配信するグループに参加するか否かを問い合わせるクエリパケットであり、
前記他の通信装置が送信する前記制御用のパケットは、
前記他の通信装置が前記マルチキャストパケットを配信するグループに参加する旨を通知する参加通知パケットであり、
前記第2の制御部は、
前記クエリパケットを受信すると、前記参加通知パケットを前記第2の送信部から送信させる
ことを特徴とする通信システム。 The communication system according to claim 4,
The control multicast packet transmitted by the communication device is:
A query packet inquiring whether or not the other communication device participates in a group that distributes multicast packets;
The control packet transmitted by the other communication device is:
A participation notification packet for notifying that the other communication device participates in the group that distributes the multicast packet;
The second controller is
When the query packet is received, the communication packet is transmitted from the second transmission unit.
前記通信装置が送信する前記制御用のマルチキャストパケットは、
前記他の通信装置がマルチキャストパケットを配信するグループに参加するか否かを問い合わせるクエリパケットであり、
前記他の通信装置のうち前記マルチキャストパケットを配信するグループに参加している他の通信装置の前記2の制御部は、
前記制御用のパケットとして、前記マルチキャストパケットを配信するグループから離脱する旨を通知する離脱通知パケットを前記第2の送信部から送信させ、
前記第1の制御部は、
前記離脱通知パケットをさらに受信すると、前記離脱通知パケットから算出した前記第3の生存時間と前記第1の記憶部に記憶されている前記第3の生存時間とを比較し、前記離脱通知パケットから算出した前記第3の生存時間と前記第1の記憶部に記憶されている前記第3の生存時間が同じ値の場合、前記離脱通知パケットから算出した前記第3の生存時間または前記第1の記憶部に記憶されている前記第3の生存時間のいずれかを付与した前記制御用のマルチキャストパケットを前記第1の送信部に送信させる
ことを特徴とする通信システム。 A communication system according to claim 2,
The control multicast packet transmitted by the communication device is:
A query packet inquiring whether or not the other communication device participates in a group that distributes multicast packets;
Among the other communication devices, the second control unit of the other communication device participating in the group that distributes the multicast packet,
As the control packet, the second transmission unit transmits a leave notification packet for notifying that the multicast packet is to be separated from the group that delivers the multicast packet,
The first controller is
When further receiving the leave notification packet, the third life time calculated from the leave notification packet is compared with the third life time stored in the first storage unit, and from the leave notification packet When the calculated third survival time and the third survival time stored in the first storage unit have the same value, the third survival time calculated from the withdrawal notification packet or the first A communication system, characterized by causing the first transmitter to transmit the control multicast packet to which any of the third lifetimes stored in a storage unit is assigned.
前記第1の制御部は、
前記第3の生存時間を付与した前記制御用のマルチキャストパケットを前記第1の送信部に送信させると、前記第1の記憶部に記憶する前記第3の生存時間を所定の値に更新する
ことを特徴とする通信システム。 The communication system according to claim 6,
The first controller is
When the control transmission packet to which the third lifetime is given is transmitted to the first transmitter, the third lifetime stored in the first storage is updated to a predetermined value. A communication system characterized by the above.
サービスを配信するマルチキャストパケットにて配信するサービスを識別する識別子と第1の生存時間とを対応づけて記憶する記憶部と、
前記第1の生存時間を前記生存時間領域に付与した前記他の通信装置との間の制御に用いる制御用のマルチキャストパケットを前記送信部に送信させ、前記生存時間領域を含む制御用のパケットを受信すると、受信した前記制御用のパケットから前記生存時間領域の値を読み出し、読み出した前記生存時間領域の値と前記記憶部に記憶する前記第1の生存時間とに基づいて、前記サービスを配信するマルチキャストパケットが前記他の通信装置にて転送される毎に値が減少する第2の生存時間を算出し、算出した前記第2の生存時間と前記識別子とを対応づけて前記記憶部に記憶させ、前記第2の生存時間を前記生存時間領域に付与した前記サービスを配信するマルチキャストパケットを前記送信部から送信させる制御部と、
を備えることを特徴とする通信装置。 A transmission unit that transmits a packet having a lifetime area that is an area for storing a lifetime that decreases every time it is transferred by another communication device;
A storage unit for storing an identifier for identifying a service to be distributed in a multicast packet for distributing the service and a first lifetime,
A control multicast packet used for control with the other communication device assigned the first survival time to the survival time region is transmitted to the transmission unit, and a control packet including the survival time region is transmitted. Upon receipt, the value of the lifetime field is read from the received control packet, and the service is distributed based on the read lifetime value and the first lifetime stored in the storage unit. A second lifetime that decreases every time a multicast packet to be transferred is transferred by the other communication device, and stores the calculated second lifetime and the identifier in association with each other. And a control unit that causes the transmission unit to transmit a multicast packet that distributes the service in which the second lifetime is assigned to the lifetime region,
A communication apparatus comprising:
前記制御部は、
前記制御用のパケットをさらに受信すると、受信した前記制御用のパケットに前記記憶部に記憶した前記識別子が含まれているか否か判定し、前記記憶部に記憶した前記識別子が含まれている場合、受信した前記制御用のパケットから前記第2の生存時間を算出し、算出した前記第2の生存時間と前記識別子に対応づけて前記記憶部に記憶されている前記第2の生存時間とを比較して、前記記憶部に記憶されている前記第2の生存時間よりも算出した前記第2の生存時間が大きい場合、前記記憶部に記憶されている前記第2の生存時間を算出した前記第2の生存時間に更新する
ことを特徴とする通信装置。 The communication device according to claim 8,
The controller is
When the control packet is further received, it is determined whether or not the identifier stored in the storage unit is included in the received control packet, and the identifier stored in the storage unit is included The second lifetime is calculated from the received control packet, and the calculated second lifetime and the second lifetime stored in the storage unit in association with the identifier are calculated. In comparison, when the second survival time calculated is larger than the second survival time stored in the storage unit, the second survival time stored in the storage unit is calculated. The communication apparatus is updated to the second lifetime.
前記制御部は、
前記制御用のパケットをさらに受信すると、受信した前記制御用のパケットに前記記憶部に記憶した前記識別子が含まれているか否か判定し、前記記憶部に記憶した前記識別子が含まれている場合、受信した前記制御用のパケットから前記第2の生存時間を算出し、算出した前記第2の生存時間と前記識別子に対応づけて前記記憶部に記憶されている前記第2の生存時間とを比較して、前記記憶部に記憶されている前記第2の生存時間と算出した前記第2の生存時間が同じ値の場合、前記記憶部に記憶されている前記第2の生存時間を付与した前記制御用のマルチキャストパケットを前記送信部に送信させる
ことを特徴とする通信装置。 The communication device according to claim 8,
The controller is
When the control packet is further received, it is determined whether or not the identifier stored in the storage unit is included in the received control packet, and the identifier stored in the storage unit is included The second lifetime is calculated from the received control packet, and the calculated second lifetime and the second lifetime stored in the storage unit in association with the identifier are calculated. In comparison, when the second survival time calculated and the second survival time calculated are the same value, the second survival time stored in the storage unit is given. A communication apparatus that causes the transmitting unit to transmit the multicast packet for control.
受信した前記制御用のパケットは、
前記他の通信装置が、前記第1の生存時間と同じ値の第2の生存時間を前記生存時間領域に付与して送信する
ことを特徴とする通信装置。 The communication device according to claim 8,
The received control packet is
The other communication device transmits a second survival time having the same value as the first survival time to the survival time region.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013250707A JP2015109532A (en) | 2013-12-04 | 2013-12-04 | Communication system and communication device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013250707A JP2015109532A (en) | 2013-12-04 | 2013-12-04 | Communication system and communication device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015109532A true JP2015109532A (en) | 2015-06-11 |
Family
ID=53439600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013250707A Pending JP2015109532A (en) | 2013-12-04 | 2013-12-04 | Communication system and communication device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015109532A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912824A (en) * | 2019-11-27 | 2020-03-24 | 美的集团股份有限公司 | Method and device for determining survival time value of multi-hop network node |
JP2020167589A (en) * | 2019-03-29 | 2020-10-08 | 株式会社デンソー | Relay device |
-
2013
- 2013-12-04 JP JP2013250707A patent/JP2015109532A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020167589A (en) * | 2019-03-29 | 2020-10-08 | 株式会社デンソー | Relay device |
JP7211213B2 (en) | 2019-03-29 | 2023-01-24 | 株式会社デンソー | Relay device and relay method |
US11665030B2 (en) | 2019-03-29 | 2023-05-30 | Denso Corporation | Relay device |
CN110912824A (en) * | 2019-11-27 | 2020-03-24 | 美的集团股份有限公司 | Method and device for determining survival time value of multi-hop network node |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019033857A1 (en) | Packet control method and network device | |
EP3208977A1 (en) | Data forwarding method, device and system in software-defined networking | |
WO2018076765A1 (en) | Content distribution method and device for cloud computing system, computing node and system | |
JP6241637B2 (en) | Method and device for managing multicast group members | |
TWI600335B (en) | Communication system and communication method | |
CN105940717A (en) | Node device and communication method used in disruption/delay/disconnect tolerant network | |
WO2008138248A1 (en) | A method, an interface board and a router for transmitting the message | |
CN111194543B (en) | Flow control system for use in a network | |
WO2010109767A1 (en) | Data synchronization system, data synchronization method, and synchronization control server | |
JP2015109532A (en) | Communication system and communication device | |
RU2717909C2 (en) | Environmentally friendly energy source for dense large networks (proxy table scaling) | |
JP7473025B2 (en) | Content distribution system, unicast-multicast conversion device, content distribution method, and content distribution program | |
JP2007041899A (en) | Content distribution apparatus, content distribution network and content distribution method | |
JP5732919B2 (en) | Data distribution system, node, and data distribution method | |
JP6499625B2 (en) | Communication apparatus and communication method | |
WO2021120764A1 (en) | Method and apparatus for sending and receiving data | |
JP6196535B2 (en) | Information processing apparatus, control method therefor, and program | |
JP3965201B1 (en) | Communication program for network communication equipment and bidirectional ring network. | |
JP5886770B2 (en) | Communication node, network system, and communication method | |
WO2023162130A1 (en) | Data collection system, method, and program | |
JP2009260797A (en) | Information distribution system | |
JP2008206028A (en) | Function distributed communication equipment, constituent coupling control method and program | |
Gao et al. | Design and implementation of SDN multicast for distributed shared memory | |
JP5592222B2 (en) | Request relay method, request relay program, and relay device | |
KR100938003B1 (en) | Method of routing information management in Multi-protocol Label Switching router and apparatus therefor |