JP2024003368A - router - Google Patents
router Download PDFInfo
- Publication number
- JP2024003368A JP2024003368A JP2022102457A JP2022102457A JP2024003368A JP 2024003368 A JP2024003368 A JP 2024003368A JP 2022102457 A JP2022102457 A JP 2022102457A JP 2022102457 A JP2022102457 A JP 2022102457A JP 2024003368 A JP2024003368 A JP 2024003368A
- Authority
- JP
- Japan
- Prior art keywords
- node
- multicast
- group
- group message
- igmp
- 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
- 238000012545 processing Methods 0.000 claims abstract description 75
- 238000012544 monitoring process Methods 0.000 claims abstract description 54
- 238000012546 transfer Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Abstract
Description
本発明は、ルータに係り、特に、IP(Internet Protocol)ネットワークのルータに関する。 The present invention relates to routers, and particularly to routers for IP (Internet Protocol) networks.
IPマルチキャストは、ノード(送信装置)から送信された1つのIPフローをネットワークスイッチの内部で複製し、受信を要求するノード(受信装置)に効率よく配信する技術である。あるマルチキャストフローの受信を行うノード(受信装置)は、IPv4システムではIGMP(非特許文献1、2参照)を用いて、また、IPv6システムではMLD(非特許文献3、4参照)を用いて、ルータに受信要求および受信停止を伝える。
IGMPv2(IGMP Version 2)とMLDv1(MLD:MLD Version 1)、IGMPv3(IGMP Version 3)とMLDv2(MLD Version 2)は、それぞれ動作するプロトコルがIPv4(Internet Protocol version 4)とIPv6(Internet Protocol version 6)であるという違いの他は、ほぼ同一のため、以下ではIGMPを用いて、従来のルータによる処理の概略を説明する。
IP multicast is a technology that copies a single IP flow sent from a node (sending device) inside a network switch and efficiently distributes it to the node (receiving device) that requests reception. A node (receiving device) that receives a certain multicast flow uses IGMP (see
IGMPv2 (IGMP Version 2) and MLDv1 (MLD: MLD Version 1), IGMPv3 (IGMP Version 3) and MLDv2 (MLD Version 2) operate on IPv4 (Internet Protocol version 4) and IPv6 (Internet Protocol version 6), respectively. ) are almost the same, so below we will use IGMP to outline the processing by a conventional router.
マルチキャストフローを受信しようとする受信装置は、受信を開始するときに、IGMPメンバーシップレポート(JOINメッセージ)を受信装置からルータに向けて送信する。JOINメッセージを受信したルータは、要求されたマルチキャストフローを、JOINメッセージを受信したL2(layer 2)ネットワークへ転送する。 When a receiving device that wants to receive a multicast flow starts receiving, it sends an IGMP membership report (JOIN message) to the router. The router that receives the JOIN message forwards the requested multicast flow to the L2 (layer 2) network that received the JOIN message.
ルータは、転送処理中のマルチキャストフローを受信する受信装置が存在しているか確認するため、定期的にIGMPメンバーシップクエリを送信する。このメンバーシップクエリを受信したノード(受信装置)は、メンバーシップレポートを送信して、ルータにマルチキャストフローの受信装置が存在していることを通知する。メンバーシップクエリがネットワークの帯域を圧迫することを抑制するため、他の受信装置がメンバーシップレポートを送信したことを検知した受信装置はメンバーシップレポートを送信しない。 The router periodically sends an IGMP membership query to check whether there is a receiving device that can receive the multicast flow that is being forwarded. A node (receiving device) that receives this membership query transmits a membership report to notify the router of the existence of a multicast flow receiving device. In order to prevent membership queries from compressing the network bandwidth, a receiving device that detects that another receiving device has sent a membership report does not send a membership report.
受信装置は、マルチキャストフローの受信を停止する際にはIGMPリーブグループメッセージを送信し、ルータに受信の停止を伝える。リーブグループメッセージを受信したルータは、他にマルチキャストフローの受信装置が存在するかチェックするため、IGMPメンバーシップクエリを送信し、IGMPメンバーシップレポートを受信できなかった場合、マルチキャストフローの転送を停止する。 When a receiving device stops receiving multicast flows, it sends an IGMP leave group message to notify the router of the stop of receiving. A router that receives a leave group message sends an IGMP membership query to check if there are any other multicast flow receivers, and if it cannot receive an IGMP membership report, it stops forwarding multicast flows. .
受信装置がマルチキャストフローの受信停止を要求してから、つまり、IGMPリーブグループメッセージを送信してから、ルータによりメンバーシップレポートの受信確認が完了するまでの間、他にマルチキャストフローの受信装置がない場合でもマルチキャストフローは転送され続ける。例えば、テレビ番組制作で、複数の映像を切り替えるビデオスイッチャ(ノード)が受信する映像を切り替える場合には、あるマルチキャストフローの受信停止と次のマルチキャストフローの受信開始(受信要求)とを連続して行う。そのため、停止したマルチキャストフローが実際には転送されるとネットワークに負荷がかかり、余裕を持った帯域設計が必要となる。 There is no other receiver of the multicast flow after the receiver requests to stop receiving the multicast flow, that is, after it sends the IGMP leave group message and until the membership report is acknowledged by the router. Multicast flows will continue to be forwarded even if For example, in TV program production, when a video switcher (node) that switches multiple videos switches the video it receives, it is possible to stop receiving one multicast flow and start receiving the next multicast flow (receiving request) in succession. conduct. Therefore, when a stopped multicast flow is actually forwarded, it puts a load on the network, and it is necessary to design a bandwidth with sufficient margin.
予めルータに設定を行うことで、IGMPリーブグループメッセージを受信すると即座に、マルチキャストフローの転送を停止することができるルータも存在する。しかし、そのような設定を行うと、他にマルチキャストフローの受信装置が存在する場合にもマルチキャストフローの転送が停止されてしまう。予め設定するのではなく、その時の状況に応じて、マルチキャストフローの転送が即座に、または、他にマルチキャストフローの受信装置がないことを確認した上で停止されることが望ましい。 Some routers can be configured in advance to stop forwarding multicast flows as soon as they receive an IGMP leave group message. However, if such settings are made, the forwarding of the multicast flow will be stopped even if there are other multicast flow receiving devices. It is preferable that multicast flow transfer be stopped immediately or after confirming that there are no other multicast flow receiving devices, depending on the situation at that time, rather than setting it in advance.
特許文献1に記載された従来の中継装置は、IGMPメンバーシップレポートを受信すると、レポート送信元のMACアドレスと、受信を要求しているマルチキャストグループとを紐づけて記録を行う。また、この中継装置は、IGMPリーブグループメッセージを受信した場合には、受信停止を要求しているマルチキャストグループに紐づいたレポート送信元のMACアドレスが1つである場合には、転送を即座に停止する。
When the conventional relay device described in
しかしながら、この従来の中継装置は、IGMPメンバーシップレポートを送信してくるMACアドレスを全て記録する。この従来技術では、多くの受信装置が1つの同じマルチキャストグループでマルチキャストフローを受信することがあるため、多くのメモリが必要である。そのため、マルチキャストトラフィックの無駄な転送をより少ないメモリ量で実現することが望まれている。 However, this conventional relay device records all MAC addresses that send IGMP membership reports. This prior art requires a lot of memory because many receiving devices may receive a multicast flow in one and the same multicast group. Therefore, it is desired to realize unnecessary forwarding of multicast traffic with a smaller amount of memory.
本発明は、以上のような問題点に鑑みてなされたものであり、マルチキャストトラフィックの無駄な転送を自動的に防ぐ機能を少ないメモリ量で実現するルータを提供することを課題とする。 The present invention has been made in view of the above-mentioned problems, and an object of the present invention is to provide a router that implements a function of automatically preventing unnecessary transfer of multicast traffic with a small amount of memory.
前記課題を解決するために、本発明に係るルータは、ネットワークの所定のノードとの間でIPパケットを送受信する複数の送受信部と、前記送受信部によって受信したマルチキャストフローをマルチキャストルーティングテーブルに応じて宛先の受信ノードに転送する処理を行うルータ処理部と、前記送受信部によって受信したメッセージであってマルチキャストグループへの参加要求またはマルチキャストグループからの離脱要求を内容とするグループメッセージを監視し、受信したグループメッセージに応じて、マルチキャストフローを受信するノードの情報を管理テーブルに保存するグループメッセージ監視部と、前記グループメッセージを処理するグループメッセージ処理部と、を備え、前記グループメッセージ監視部は、マルチキャストグループ毎に、且つ、前記送受信部毎に、最初に参加要求を内容とするグループメッセージを送信したノードの識別子と、マルチキャストグループ内に複数の受信ノードが存在するか否かを示す複数受信ノード存在フラグを前記管理テーブルに保存し、前記グループメッセージの受信時に前記複数受信ノード存在フラグに応じて、前記グループメッセージまたはマルチキャストフローの転送停止指示を前記グループメッセージ処理部に出力することとした。 In order to solve the above problems, a router according to the present invention includes a plurality of transmitting/receiving units that transmit and receive IP packets to and from predetermined nodes of a network, and a router that transmits multicast flows received by the transmitting/receiving units according to a multicast routing table. A router processing unit that performs processing for forwarding to a destination receiving node, and a group message received by the transmitting/receiving unit and containing a request to join a multicast group or a request to leave a multicast group are monitored and received. A group message monitoring unit that stores information on nodes that receive multicast flows in a management table in response to a group message; and a group message processing unit that processes the group message; and for each transmitting/receiving unit, the identifier of the node that first transmitted the group message containing the participation request, and the multiple receiving node presence flag indicating whether or not there are multiple receiving nodes in the multicast group. is stored in the management table, and an instruction to stop transfer of the group message or multicast flow is output to the group message processing unit according to the multiple receiving node presence flag when receiving the group message.
本発明は、以下に示す優れた効果を奏するものである。
本発明に係るルータは、マルチキャストグループに2回目以降に参加要求を内容とするグループメッセージを送信したノードについて管理テーブルに個別の情報を記録せずに、フラグで管理することができる。したがって、ルータは、マルチキャストトラフィックの無駄な転送を自動的に防ぐ機能を少ないメモリ量で実現することができる。
The present invention has the following excellent effects.
The router according to the present invention can manage nodes that have sent a group message containing a participation request to a multicast group for the second time or later using flags without recording individual information in the management table. Therefore, the router can implement the function of automatically preventing unnecessary forwarding of multicast traffic with a small amount of memory.
本発明の実施形態に係るルータについて図面を参照して説明する。本実施形態では、ルータが送受信するグループメッセージは、IGMP(Internet Group Management Protocol)に従ったメッセージであるものとして説明する。図1に示すように、ルータ10は、複数の送受信部11と、ルータ処理部12と、IGMP処理部(グループメッセージ処理部)13と、IGMP監視部(グループメッセージ監視部)14と、を備えている。
送受信部11は、ネットワークの所定のノードとの間でIPパケットを送受信する。
ルータ処理部12は、送受信部11によって受信したマルチキャストフローをマルチキャストルーティングテーブルに応じて宛先の受信ノードに転送する処理を行う。
IGMP監視部14は、グループメッセージを監視し、受信したグループメッセージに応じて、マルチキャストフローを受信するノードの情報を管理テーブル15に保存する。IGMP処理部13は、受信したグループメッセージを処理する。グループメッセージは、送受信部11によって受信したメッセージであってマルチキャストグループへの参加要求またはマルチキャストグループからの離脱要求を内容とするものである。
IGMP監視部14は、マルチキャストグループ毎に、且つ、送受信部11毎に、最初に参加要求を内容とするグループメッセージを送信したノードの識別子と、マルチキャストグループ内に複数の受信ノードが存在するか否かを示す複数受信ノード存在フラグを管理テーブル15に保存する。IGMP監視部14は、グループメッセージの受信時に複数受信ノード存在フラグに応じて、当該グループメッセージまたはマルチキャストフローの転送停止指示をIGMP処理部13に出力する。
A router according to an embodiment of the present invention will be described with reference to the drawings. In this embodiment, the group messages transmitted and received by the router will be described as messages in accordance with IGMP (Internet Group Management Protocol). As shown in FIG. 1, the
The transmitting/receiving
The
The IGMP
The IGMP
本実施形態では、グループメッセージとは、IGMPメンバーシップレポートやIGMPリーブグループメッセージを指す。IGMPメンバーシップレポートやIGMPリーブグループメッセージをIGMPメッセージとも呼ぶ。複数受信ノード存在フラグを単にフラグと呼称する場合もある。マルチキャストルーティングテーブルを単にルーティングテーブルと呼称する場合もある。以下、ルータ10の各部の構成を説明する。
In this embodiment, group messages refer to IGMP membership reports and IGMP leave group messages. IGMP membership reports and IGMP leave group messages are also called IGMP messages. The multiple receiving node presence flag may also be simply referred to as a flag. A multicast routing table is sometimes simply called a routing table. The configuration of each part of the
送受信部11は、ルータのポートである。各送受信部11は、ルータ処理部12およびIGMP監視部14にそれぞれ接続されている。ルータ10は、例えばN個の送受信部11を備え、それぞれ、1,2,…,N-1,Nの番号で識別される。送受信部<1>にはノード20aが接続され、送受信部<2>にはL2スイッチ21を介してノード20bおよびノード20cが接続される。送受信部<N-1>にはノードが接続されておらず、送受信部<N>にはノード20Nが接続されている。ノードを区別しない場合、ノード20と表記する。
The transmitting/receiving
所定の送受信部11は、ネットワークの所定のノード20からマルチキャストフローを受信する。ルータ10内部で複製されたマルチキャストフローは、複数の他の送受信部11から、ネットワークの他のノード20に送信される。例えばノード20aがIPフローの送信装置となり、ノード20b、ノード20cおよびノード20Nがマルチキャストフローの受信装置となる場合、送受信部<1>は、受信ポートとなり、送受信部<2>や送受信部<N>は送信ポートとなる。
A predetermined transmitter/
また、送受信部11は、ネットワークの所定のノード20から各種メッセージを受信する。各種メッセージは、IGMPメンバーシップレポートやIGMPリーブグループメッセージの他、クエリメッセージ等を含む。また、送受信部11は、IGMPメッセージを受信すると、IGMPメッセージをIGMP監視部14に出力する。送受信部11は、IGMPメッセージ以外のパケットを受信すると、これらのパケットをルータ処理部12に出力する。ルータ処理部12は、一般的なマルチキャスト対応ルータの機能を提供するものである。
The transmitting/receiving
IGMP処理部13は、IGMPの処理とマルチキャストルーティングテーブルの更新制御を行う。IGMP処理部13は、IGMP監視部14からIGMPメンバーシップレポートメッセージを受信すると、IGMPメンバーシップレポートを処理する。このとき、IGMP処理部13は、必要に応じて、マルチキャストルーティングテーブルの更新制御を行う。
IGMP処理部13は、IGMP監視部14からIGMPリーブグループメッセージを受信すると、IGMPリーブグループメッセージを処理する。このとき、IGMP処理部13は、該当マルチキャストグループにIGMPメンバーシップクエリを送信し、一定時間内にIGMPメンバーシップレポートを受信できない場合にマルチキャストフローの転送を停止する。
IGMP処理部13は、IGMP監視部14から即時転送停止指示を受信すると、即座にマルチキャストフローの転送を停止する。
IGMP処理部13は、マルチキャストフローの転送を停止するとき、ルータ処理部12に対してマルチキャストルーティングテーブルの該当エントリの削除更新を指示する。
The
Upon receiving the IGMP leave group message from the
When the
When stopping multicast flow transfer,
IGMP処理部13は、IGMP監視部14から、マルチキャストの即時転送停止指示を受信すると、停止対象のマルチキャストグループに関する処理を中止する。IGMP処理部13は、この転送停止指示で指定されたマルチキャストグループのエントリをルーティングテーブルから削除する更新指示をルータ処理部12に出力する。ルータ処理部12がマルチキャストルーティングテーブルからエントリの削除を行った場合、すなわち、マルチキャストの転送を停止する更新を行った場合、IGMP処理部13は、その内容をIGMP監視部14に出力する。IGMP監視部14は、IGMP処理部13から、ルーティングテーブルの更新通知を受領した後に、管理テーブル15から、当該マルチキャストグループのエントリを削除する。
When the
IGMP監視部14は、IGMPメンバーシップレポートの受信やIGMPリーブグループメッセージの受信に応じて、管理テーブル15を更新する。図2に示す管理テーブル15は、マルチキャスト受信ノード管理テーブルである。管理テーブル15は、項目として、例えば、送受信部番号151と、マルチキャストグループ152と、送信元IPアドレス153と、ノード識別子154と、複数受信ノード存在フラグ155と、を備えている。
The
送受信部番号151は、ルータ10の複数の送受信部11を識別する識別子である。ここでは、送受信部11の個数に対応した番号で識別しているが、これに限定されるものではない。マルチキャストグループ152は、グループ固有の識別子であり、IPマルチキャストグループアドレスを示す。送信元IPアドレス153は、IPパケット(マルチキャストフロー)の送信装置の識別子であり、送信装置のIPアドレスである。ノード識別子154は、IGMPメッセージを送信したノードの識別子である。ノード識別子として、例えば、IGMPメンバーシップレポートの送信元MACアドレス、または、送信元IPアドレスが利用できる。管理テーブル15においてノード識別子154の項目については、送受信部毎に、かつ、マルチキャストグループ毎に、最初にJOINメッセージを送信してきたノードの識別子が記録される。
The transmitter/
複数受信ノード存在フラグ155は、同じ送受信部11に接続されたノードを含むマルチキャストグループに、複数の受信ノードが存在していれば真であり、そうでなければ偽となる。例えば、送受信部番号が「1」であり、かつ、マルチキャストグループが「232.0.0.1」である第1のエントリにおいて、複数受信ノード存在フラグ155は「真」である。また、送受信部番号が「2」であり、かつ、マルチキャストグループが「232.0.0.1」である第2のエントリにおいて、複数受信ノード存在フラグ155は「偽」である。これら第1のエントリと第2のエントリとは、マルチキャストグループ152のレコードは同一であるが、送信元IPアドレス153およびノード識別子154のレコードが相違する。
なお、図2に示す管理テーブル15のレコードは、ある時点における一例である。
The multiple receiving
Note that the records of the management table 15 shown in FIG. 2 are an example at a certain point in time.
IGMP監視部14は、IGMPメンバーシップレポートを送信したノードの情報に一致するエントリが管理テーブル15に存在しない場合、管理テーブル15において、当該IGMPメンバーシップレポートを送信したノードの識別子とフラグを偽とした値を有する新しいエントリを追加する。
IGMP監視部14は、IGMPメンバーシップレポートを送信したノードの情報に一致し、かつ、フラグが偽であるエントリが管理テーブル15に保存され、かつ保存されたエントリにおけるノードの識別子がIGMPメンバーシップレポートを送信したノードの識別子と異なる場合、フラグを真とする。IGMP監視部14は、フラグのレコードが偽であった場合、真に置き換え、また、フラグのレコードが真であった場合、その値を維持する。
If there is no entry in the management table 15 that matches the information of the node that sent the IGMP membership report, the
The
IGMP監視部14は、IGMPリーブグループメッセージを送信したノードの情報に一致するエントリが管理テーブル15に存在しない場合、IGMPリーブグループメッセージで指定されたマルチキャストグループの転送停止指示をIGMP処理部13に出力する。
If there is no entry in the management table 15 that matches the information of the node that sent the IGMP leave group message, the
IGMP監視部14は、IGMPリーブグループメッセージを送信したノードの情報に一致し、かつ、フラグが偽であるエントリが管理テーブル15に保存され、かつ保存されたエントリにおけるノードの識別子がIGMPリーブグループメッセージを送信したノードの識別子に一致する場合、IGMPリーブグループメッセージで指定されたマルチキャストグループの転送停止指示をIGMP処理部13に出力する。
The
上記した構成により、ルータ10は、予め設定を行うことなく、ネットワークの状態に合わせて、あるマルチキャストフローの受信ノードが1つの場合に、受信ノードが受信を停止する際に即座に当該ルータからの転送を停止し無駄な帯域を消費することを防ぐことができる。また、ルータ10は、ポート(送受信部11)ごとに、各マルチキャストグループについて、最初にJOINメッセージ(IGMPメンバーシップレポート)を送信してきたデバイスの情報と、そのデバイス以外の受信装置からのJOINメッセージを受信したかどうかを表すフラグ(複数受信装置存在フラグ)を記録する管理テーブル15を有している。これにより、多くの受信装置が1つの同じマルチキャストグループでマルチキャストフローを受信することがあったとしても、従来技術のように多くのメモリを必要とすることはない。そのため、ルータ10は、マルチキャストトラフィックの無駄な転送をより少ないメモリ量で実現することができる。
With the above-described configuration, the
[ルータの動作]
次に、ルータ10の動作について説明する。
<IGMPメンバーシップレポート受信時の処理>
まず、IGMPメンバーシップレポートを受信したときにIGMP監視部14が行う処理の流れについて図3を参照して説明する。この場合、IGMP監視部14は、送受信部番号と、IGMPメンバーシップレポート内のマルチキャストグループアドレスおよびマルチキャスト送信元IPアドレスと、に一致するエントリが、管理テーブル15に存在するかどうかを確認する(ステップS31)。ここで、IGMPメンバーシップレポートに、マルチキャスト送信元IPアドレスが指定されていない場合、マルチキャスト送信元IPアドレスが指定されていないことを示す値(例えば0)を用いる。
[Router operation]
Next, the operation of the
<Processing when receiving an IGMP membership report>
First, the flow of processing performed by the
前記ステップS31において、IGMPメンバーシップレポートの情報に一致するエントリが管理テーブル15に存在しない場合(ステップS31:No)、IGMP監視部14は、新しいエントリを管理テーブル15に追加する(ステップS32)。新しいエントリは、確認に用いた送受信部番号、マルチキャストグループアドレス、マルチキャスト送信元IPアドレス、IGMPメンバーシップレポートを送信したノードのノード識別子、複数受信ノード存在フラグを偽とした値によるエントリである。
In step S31, if there is no entry in the management table 15 that matches the information in the IGMP membership report (step S31: No), the
具体的には、図2の管理テーブル15において、送受信部番号=1、マルチキャストグループアドレス=239.1.1.1、マルチキャスト送信元IPアドレス=0(なし)、IGMPメンバーシップレポートを送信したノードのノード識別子=00:00:5e:00:53:ff、複数受信ノード存在フラグ=偽、とした値によるエントリは、ステップS32で追加された例である。 Specifically, in the management table 15 of FIG. 2, transmitter/receiver number = 1, multicast group address = 239.1.1.1, multicast source IP address = 0 (none), and node identifier of the node that sent the IGMP membership report = An entry with a value of 00:00:5e:00:53:ff and multiple receiving node existence flag=false is an example added in step S32.
ステップS32に続いて、IGMP監視部14は、受信したIGMPメンバーシップレポートをIGMP処理部13に出力し(ステップS33)、IGMPメンバーシップレポート受信時の処理を終了する。なお、IGMP処理部13は、受け取ったIGMPメンバーシップレポートを処理する。
Following step S32, the
一方、前記ステップS31において、一致するエントリが存在し(ステップS31:Yes)かつ、複数受信ノード存在フラグが偽である場合(ステップS34:Yes)、IGMP監視部14は、対象エントリのノード識別子がIGMPメンバーシップレポートの送信ノードのノード識別子と異なるか否か判別する(ステップS35)。ここで、対象エントリのノード識別子とは、当該送受信部番号かつ当該マルチキャストグループに最初にJOINメッセージを送信してきたデバイスのノード識別子である。ノード識別子が互いに異なる場合(ステップS35:Yes)、IGMP監視部14は、対象エントリの複数受信ノード存在フラグを真として(ステップS36)、ステップS33に進む。なお、ステップS36では、IGMP監視部14は、対象エントリの複数受信ノード存在フラグのレコードを偽から真に置き換える。
On the other hand, in step S31, if a matching entry exists (step S31: Yes) and the multiple receiving node existence flag is false (step S34: Yes), the
前記ステップS35の判別処理においてNoである場合、すなわち、対象エントリのノード識別子がIGMPメンバーシップレポートの送信ノードのノード識別子に一致する場合、IGMP監視部14は、ステップS33に進む。なお、この場合、IGMP監視部14は、対象エントリの複数受信ノード存在フラグのレコードが偽であるので、その値を維持する。
前記ステップS34の判別処理においてNoである場合、すなわち、IGMPメンバーシップレポートの情報に一致するエントリが管理テーブル15に存在し、その複数受信ノード存在フラグが真である場合、IGMP監視部14は、ステップS33に進む。なお、この場合、IGMP監視部14は、対象エントリの複数受信ノード存在フラグのレコードが真であるので、その値を維持する。
If the determination in step S35 is No, that is, if the node identifier of the target entry matches the node identifier of the sending node of the IGMP membership report, the
If No in the determination process of step S34, that is, if an entry matching the information in the IGMP membership report exists in the management table 15 and its multiple receiving node presence flag is true, the IGMP monitoring unit 14: The process advances to step S33. Note that in this case, the
<IGMPリーブグループメッセージ受信時の処理>
次に、IGMPリーブグループメッセージを受信したときにIGMP監視部14が行う処理の流れについて図4を参照して説明する。この場合、IGMP監視部14は、送受信部番号と、IGMPリーブグループメッセージ内のマルチキャストグループアドレスおよびマルチキャスト送信元IPアドレスと、に一致するエントリが、管理テーブル15に存在するかどうかを確認する(ステップS41)。IGMPリーブグループメッセージの情報に一致するエントリが管理テーブル15に存在しない場合(ステップS41:No)、IGMP監視部14は、マルチキャストグループアドレスで指定されたマルチキャストグループの即時転送停止指示をIGMP処理部13に出力し(ステップS42)、IGMPリーブグループメッセージ受信時の処理を終了する。なお、即時転送停止指示を受けたIGMP処理部13の処理については後記する。
<Processing when receiving an IGMP leave group message>
Next, the flow of processing performed by the
前記ステップS41において、IGMPリーブグループメッセージの情報に一致するエントリが管理テーブル15に存在する場合(ステップS41:Yes)、IGMP監視部14は、対象エントリの複数受信ノード存在フラグが偽であるか否かを判別する(ステップS43)。複数受信ノード存在フラグが偽である場合(ステップS43:Yes)、IGMP監視部14は、対象エントリのノード識別子がIGMPリーブグループメッセージの送信ノードのノード識別子と異なるか否か判別する(ステップS44)。ここで、対象エントリのノード識別子とは、当該送受信部番号かつ当該マルチキャストグループに最初にJOINメッセージを送信してきたデバイスのノード識別子である。
In step S41, if an entry matching the information of the IGMP leave group message exists in the management table 15 (step S41: Yes), the
前記ステップS44において、ノード識別子が一致した場合(ステップS44:No)、IGMP監視部14は、ステップS42に進み、マルチキャストグループアドレスで指定されたマルチキャストグループの即時転送停止指示をIGMP処理部13に出力する。
一方、前記ステップS44において、ノード識別子が互いに異なる場合(ステップS44:Yes)、IGMP監視部14は、IGMPリーブグループメッセージをIGMP処理部13に出力し(ステップS45)、IGMPリーブグループメッセージの処理をIGMP処理部13に任せる。IGMP処理部13は、IGMPリーブグループメッセージを従来と同様に処理する。
また、前記ステップS43の判別処理においてNoである場合、すなわち、IGMPリーブグループメッセージの情報に一致するエントリが管理テーブル15に存在し、かつ、その複数受信ノード存在フラグが真である場合、IGMP監視部14は、IGMPリーブグループメッセージをIGMP処理部13に出力し(ステップS45)、IGMPリーブグループメッセージの処理をIGMP処理部13に任せる。なお、このように対象エントリの複数受信ノード存在フラグのレコードが真である場合、IGMP処理部13は、IGMPリーブグループメッセージを従来と同様に処理する。
In step S44, if the node identifiers match (step S44: No), the
On the other hand, in step S44, if the node identifiers are different from each other (step S44: Yes), the
Further, if No in the determination process of step S43, that is, if an entry matching the information of the IGMP leave group message exists in the management table 15 and its multiple receiving node existence flag is true, the IGMP monitoring The
<即時転送停止の処理>
次に、即時転送停止を行うときにルータ10内の各部で行う処理の流れについて図5を参照(適宜図4参照)して説明する。この場合、まず、IGMP監視部14が、マルチキャストの即時転送停止指示をIGMP処理部13に出力する(ステップS42:図4)。そして、IGMP処理部13は、マルチキャストの即時転送停止指示を受信すると(ステップS421)、停止対象のマルチキャストグループに関する処理を中止する(ステップS422)。そして、IGMP処理部13は、ルータ処理部12に対して、ルーティングテーブルから該当のエントリを削除する更新指示を出力する(ステップS423)。
<Immediate transfer stop processing>
Next, the flow of processing performed by each unit in the
ルータ処理部12は、ルーティングテーブルからエントリを削除する更新指示を受信すると(ステップS424)、ルーティングテーブルから、該当のエントリを削除する(ステップS425)。一方、IGMP処理部13は、IGMP監視部14に対して、ルーティングテーブルの更新通知を出力する(ステップS426)。そして、IGMP監視部14は、ルーティングテーブルの更新通知を受信すると(ステップS427)、管理テーブル15からマルチキャストグループのエントリを削除する(ステップS428)。このように、ルータ10では、ルータ処理部12がルーティングテーブルにおいてマルチキャストの即時転送停止の対象エントリを削除するのにあわせて、IGMP監視部14は、管理テーブル15においてマルチキャストの即時転送停止の対象エントリを削除する。
When the
[システムの構成例]
次に、ルータを含むシステムの構成例について図6を参照して説明する。図6に示すように、システム100は、IPマルチキャストを用いる番組制作システムであって、例えば放送局のスタジオ内に、2台のルータ10a,10bと、10台のノード20と、を備えている。ルータ10aは、ルータ1であり、ルータ10bは、ルータ2である。
[System configuration example]
Next, a configuration example of a system including a router will be described with reference to FIG. 6. As shown in FIG. 6, the
ルータ10aは、例えば3個の送受信部(ポート)を備えている。このうち、1個の送受信部には、L2スイッチ21aを介して3つのノード(ノード20a、ノード20cおよびノード20eが通信可能に接続されている。また、ルータ10aの他の送受信部には、L2スイッチ21bを介して3つのノード(ノード20b、ノード20dおよびノード20f)が通信可能に接続されている。ノード20aは、カメラ1であり、ノード20bは、カメラ2である。ノード20cは、マイク1であり、ノード20dは、マイク2である。ノード20eは、モニタ1であり、ノード20fは、モニタ2である。
The
ルータ10bは、例えば5個の送受信部(ポート)を備えている。このうち、4個の送受信部には、それぞれ、1つのノード(ノード20g、ノード20h、ノード20kおよびノード20m)が通信可能に接続されている。ノード20gは、ビデオスイッチャであり、ノード20hは、オーディオミキサである。ノード20kは、モニタ3であり、ノード20mは、モニタ4である。ルータ10aのもう1つの送受信部と、ルータ10bのもう1つの送受信部とは、通信可能に接続されている。
The
システム100において、例えば、ノード20a(送信装置)から送信された1つのIPフローを、5台の受信ノード(ノード20e,20f,20g,20k,20m)に配信する場合について説明する。この例では、カメラ1で撮影した映像を、ビデオスイッチャと、モニタ1~モニタ4に配信する。比較として、ユニキャストにより映像を伝送するには、受信装置それぞれに対し、カメラ1で映像信号を複製して伝送する必要があるため、5本分の映像信号がカメラ1から出力されることになる。
In the
一方、IPマルチキャストを用いる場合、映像信号はルータ10で複製される。具体的には、カメラ1から、1本分の映像信号が出力され、ルータ1では、モニタ1、モニタ2、ルータ2に伝送するために映像信号が複製される。ルータ1は、第1の送受信部から映像信号をL2スイッチ21aを介してモニタ1に伝送し、また、第2の送受信部から映像信号をL2スイッチ21bを介してモニタ2に伝送する。また、ルータ1の第3の送受信部から、1本分の映像信号が出力され、ルータ2に伝送される。
さらに、ルータ2では、モニタ3、モニタ4、ビデオスイッチャに伝送するために再び映像信号が複製される。番組制作システムでは、多数のモニタが、同じ信号を受信することがよくあるため、マルチキャストを利用することが一般的である。
On the other hand, when using IP multicast, the video signal is duplicated at the
Furthermore, in the
本実施形態のルータ10は、この例ではノード20a(カメラ1)のIPアドレスを、図2の管理テーブル15の送信元IPアドレス153の項目に記録する。また、ルータ10は、5台の受信ノード(ノード20e,20f,20g,20k,20m)のうち、最初にJOINメッセージ(IGMPメンバーシップレポート)を送信してきたデバイスの情報を、管理テーブル15のノード識別子154の項目に記録する。ルータ10は、この記録時点では、複数受信ノード存在フラグ155の項目を、「偽」とする。ルータ10は、次にJOINメッセージを送信してきたデバイスの情報を、管理テーブル15の新たなエントリにすることなく、複数受信ノード存在フラグ155の項目を、「真」とする。ルータ10は、3番目にJOINメッセージを送信してきたデバイスの情報を、管理テーブル15の新たなエントリにすることなく、複数受信ノード存在フラグ155の項目を、「真」のまま維持する。ルータ10は、4番目および5番目にJOINメッセージを送信してきたデバイスについては、3番目のデバイスのときと同様の処理をする。
なお、各デバイス(ノード)がマルチキャストグループから離脱する順番は任意である。グループ離脱時、ルータ10は、管理テーブル15のエントリにおいて複数受信ノード存在フラグが真となった段階で、そのエントリで示すマルチキャストグループについて、通常の処理を実行するようになる。ここで、通常の処理とは、IGMPリーブグループメッセージを受け取ると、受信確認を行ってから転送を終了する処理である。
In this example, the
Note that the order in which each device (node) leaves the multicast group is arbitrary. When leaving a group, the
従来技術の中継装置を用いた場合、メモリには、5台の受信ノードのために例えば5行のエントリデータが記録されるが、本実施形態のルータ10の場合、メモリには、5台の受信ノードのために例えば1行のエントリデータが記録される。そのため、ルータ10は、マルチキャストトラフィックの無駄な転送をより少ないメモリ量で実現することができる。
When a relay device of the prior art is used, for example, five lines of entry data are recorded for five receiving nodes in the memory, but in the case of the
以上、本発明の実施形態に係るルータについて説明したが、本発明の趣旨はこれらの記載に限定されるものではなく、特許請求の範囲の記載に基づいて広く解釈されなければならない。また、これらの記載に基づいて種々変更、改変などしたものも本発明の趣旨に含まれることはいうまでもない。
例えば、ルータ10を含むシステム100のネットワークは、放送局のスタジオ内のネットワークに限らず、放送局内のネットワークや、放送局を超えたより広範なネットワークであってもよい。
Although the router according to the embodiment of the present invention has been described above, the gist of the present invention is not limited to these descriptions, and should be broadly interpreted based on the description of the claims. Furthermore, it goes without saying that various changes and modifications based on these descriptions are also included within the spirit of the present invention.
For example, the network of the
また、グループメッセージは、IGMPに従うとして説明したが、MLD(Multicast Listener Discovery)プロトコルに従ったメッセージであってもよい。 Furthermore, although the group message has been described as being based on IGMP, it may also be a message based on the MLD (Multicast Listener Discovery) protocol.
10,10a,10b ルータ
11 送受信部
12 ルータ処理部
13 IGMP処理部(グループメッセージ処理部)
14 IGMP監視部(グループメッセージ監視部)
15 管理テーブル
20,20a,20b,20c,20d,20e,20f ノード
20g,20h,20k,20m ノード
21,21a,21b L2スイッチ
100 システム
10, 10a,
14 IGMP monitoring unit (group message monitoring unit)
15 Management table 20, 20a, 20b, 20c, 20d, 20e,
Claims (6)
前記送受信部によって受信したマルチキャストフローをマルチキャストルーティングテーブルに応じて宛先の受信ノードに転送する処理を行うルータ処理部と、
前記送受信部によって受信したメッセージであってマルチキャストグループへの参加要求またはマルチキャストグループからの離脱要求を内容とするグループメッセージを監視し、受信したグループメッセージに応じて、マルチキャストフローを受信するノードの情報を管理テーブルに保存するグループメッセージ監視部と、
前記グループメッセージを処理するグループメッセージ処理部と、を備え、
前記グループメッセージ監視部は、マルチキャストグループ毎に、且つ、前記送受信部毎に、最初に参加要求を内容とするグループメッセージを送信したノードの識別子と、マルチキャストグループ内に複数の受信ノードが存在するか否かを示す複数受信ノード存在フラグを前記管理テーブルに保存し、前記グループメッセージの受信時に前記複数受信ノード存在フラグに応じて、前記グループメッセージまたはマルチキャストフローの転送停止指示を前記グループメッセージ処理部に出力することを特徴とするルータ。 a plurality of transmitting and receiving units that transmit and receive IP packets to and from predetermined nodes of the network;
a router processing unit that performs a process of forwarding the multicast flow received by the transmitting/receiving unit to a destination receiving node according to a multicast routing table;
Monitors a group message that is a message received by the transmitting/receiving unit and contains a request to join a multicast group or a request to leave a multicast group, and transmits information on a node that receives a multicast flow according to the received group message. A group message monitoring unit that saves in a management table,
a group message processing unit that processes the group message,
The group message monitoring unit detects, for each multicast group and for each transmitter/receiver, the identifier of the node that first sent the group message containing a participation request, and whether there are multiple receiving nodes in the multicast group. A multiple receiving node presence flag indicating whether the group message is received or not is stored in the management table, and an instruction to stop transfer of the group message or multicast flow is sent to the group message processing unit according to the multiple receiving node presence flag when the group message is received. A router characterized by output.
前記送受信部によってマルチキャストグループへの参加要求を内容とするグループメッセージを受信したときに、
当該グループメッセージを送信したノードの情報に一致するエントリが前記管理テーブルに存在しない場合、前記管理テーブルにおいて、当該グループメッセージを送信したノードの識別子および前記複数受信ノード存在フラグを偽とした値を有する新しいエントリを追加し、
当該グループメッセージを送信したノードの情報に一致し、かつ、前記複数受信ノード存在フラグが偽であるエントリが前記管理テーブルに保存され、かつ保存されたエントリにおけるノードの識別子が当該グループメッセージを送信したノードの識別子と異なる場合、前記複数受信ノード存在フラグを真とすることを特徴とする請求項1に記載のルータ。 The group message monitoring unit includes:
When the transmitter/receiver receives a group message containing a request to join a multicast group,
If there is no entry in the management table that matches the information of the node that sent the group message, the management table has a value with the identifier of the node that sent the group message and the multiple receiving node existence flag set to false. add a new entry,
An entry that matches the information of the node that sent the group message and in which the multiple receiving node existence flag is false is saved in the management table, and the identifier of the node in the saved entry is the one that sent the group message. 2. The router according to claim 1, wherein if the identifier is different from the node identifier, the multiple receiving node existence flag is set to true.
前記送受信部によってマルチキャストグループからの離脱要求を内容とするグループメッセージを受信したときに、
当該グループメッセージを送信したノードの情報に一致し、かつ、前記複数受信ノード存在フラグが偽であるエントリが前記管理テーブルに保存され、かつ保存されたエントリにおけるノードの識別子が当該グループメッセージを送信したノードの識別子に一致する場合、当該グループメッセージで指定されたマルチキャストグループの転送停止指示を前記グループメッセージ処理部に出力する、ことを特徴とする請求項2に記載のルータ。 The group message monitoring unit includes:
When the transmitter/receiver receives a group message containing a request to leave the multicast group,
An entry that matches the information of the node that sent the group message and in which the multiple receiving node existence flag is false is saved in the management table, and the identifier of the node in the saved entry is the one that sent the group message. 3. The router according to claim 2, wherein if the router matches the node identifier, the router outputs a transfer stop instruction for the multicast group specified in the group message to the group message processing unit.
前記グループメッセージ監視部は、前記グループメッセージ処理部から、前記マルチキャストルーティングテーブルの更新通知を受領した後に、前記管理テーブルから、当該マルチキャストグループのエントリを削除する、ことを特徴とする請求項3に記載のルータ。 The group message processing unit outputs an update instruction to the router processing unit to delete an entry for the multicast group specified by the transfer stop instruction from the multicast routing table,
4. The group message monitoring section deletes the entry of the multicast group from the management table after receiving an update notification of the multicast routing table from the group message processing section. router.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022102457A JP2024003368A (en) | 2022-06-27 | 2022-06-27 | router |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022102457A JP2024003368A (en) | 2022-06-27 | 2022-06-27 | router |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024003368A true JP2024003368A (en) | 2024-01-15 |
Family
ID=89534092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022102457A Pending JP2024003368A (en) | 2022-06-27 | 2022-06-27 | router |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024003368A (en) |
-
2022
- 2022-06-27 JP JP2022102457A patent/JP2024003368A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7627690B2 (en) | Data generating device | |
US8094602B2 (en) | Methods and apparatus for managing multicast groups | |
JP4297875B2 (en) | Network relay method and apparatus | |
JP2004208302A (en) | System and method for converting request between different multicast protocols in communication network | |
US20050111474A1 (en) | IP multicast communication system | |
US20100046516A1 (en) | Methods and Devices for Managing Multicast Traffic | |
KR101604810B1 (en) | Methods for obtaining terminal multicast status | |
CN109981308B (en) | Message transmission method and device | |
US20050041680A1 (en) | L2 switch and control method therof | |
JP2013543687A (en) | Multicast branch, protocol independent multicast router, and pruning method for layer 2 switch | |
US8724993B2 (en) | Station side device and optical communication system | |
JP2003309601A (en) | Multicast communication device and system | |
US8238337B1 (en) | Hybrid multicast switch employing network-layer routing | |
JP2009246845A (en) | Multicast packet transfer device, transfer method, and transfer control program | |
US11695686B2 (en) | Source-initiated distribution of spine node identifiers of preferred spine nodes for use in multicast path selection | |
JP2007180960A (en) | Multicast controller | |
JP2024003368A (en) | router | |
JP4687611B2 (en) | Multicast system and control method of multicast system | |
US20100135298A1 (en) | Method and system for providing source specific multicast service on ethernet network | |
JP6690291B2 (en) | Information distribution system, information distribution device, information distribution program, and information distribution method | |
JP2011015321A (en) | Packet relay apparatus and multicast packet relay method | |
EP2066073A1 (en) | Access system and method for multicast management | |
JP2006101259A (en) | Method and system for transmitting data and network repeater | |
JP2008512931A (en) | Method and device for demultiplexing multicast transmission | |
JP2009021940A (en) | Bridge apparatus |