JP5613142B2 - Distribution router, multicast distribution system, and multicast distribution method - Google Patents

Distribution router, multicast distribution system, and multicast distribution method Download PDF

Info

Publication number
JP5613142B2
JP5613142B2 JP2011266094A JP2011266094A JP5613142B2 JP 5613142 B2 JP5613142 B2 JP 5613142B2 JP 2011266094 A JP2011266094 A JP 2011266094A JP 2011266094 A JP2011266094 A JP 2011266094A JP 5613142 B2 JP5613142 B2 JP 5613142B2
Authority
JP
Japan
Prior art keywords
distribution
hash
flow
hash value
predetermined
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.)
Expired - Fee Related
Application number
JP2011266094A
Other languages
Japanese (ja)
Other versions
JP2013118592A (en
Inventor
正和 宮本
正和 宮本
裕昭 佐藤
裕昭 佐藤
安川 正祥
正祥 安川
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011266094A priority Critical patent/JP5613142B2/en
Publication of JP2013118592A publication Critical patent/JP2013118592A/en
Application granted granted Critical
Publication of JP5613142B2 publication Critical patent/JP5613142B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、配信ルータ、マルチキャスト配信システム、および、マルチキャスト配信方法に関する。   The present invention relates to a distribution router, a multicast distribution system, and a multicast distribution method.

IP(Internet Protocol)ルータとIPホスト区間のIPマルチキャストの配信制御を行うプロトコルとして、IGMP(Internet Group Management Protocol)/MLD(Multicast Listener Discovery)が存在する。また、その中でも、配信フローの送信元IPアドレス(以下、Sアドレス:Sourceアドレス)と、宛先IPアドレス(以下、Gアドレス:Groupアドレス)との両方(以下、(S,G))をフローIDとして指定して制御を行うSSM(Source-Specific Multicast)方式に対応したプロトコルとして、非特許文献1に記載のIGMPv3(IPv4)や、非特許文献2に記載のMLDv2(IPv6)が存在する。
IGMPv3/MLDv2では、ルータは、ホストからレポートを受信したことを契機に、当該フローの配信を開始/停止する。なお、レポートには、フローの(S,G)アドレスと、配信状態(配信中を示すJoin/未配信を示すLeave)とが含まれている。
IGMP (Internet Group Management Protocol) / MLD (Multicast Listener Discovery) exists as a protocol for controlling IP multicast distribution between an IP (Internet Protocol) router and an IP host section. Among them, both the source IP address (hereinafter referred to as S address: Source address) of the distribution flow and the destination IP address (hereinafter referred to as G address: Group address) (hereinafter referred to as (S, G)) are set as flow IDs. There are IGMPv3 (IPv4) described in Non-Patent Document 1 and MLDv2 (IPv6) described in Non-Patent Document 2 as protocols corresponding to the SSM (Source-Specific Multicast) system that performs control by designating as.
In IGMPv3 / MLDv2, the router starts / stops the delivery of the flow upon receiving a report from the host. Note that the report includes the (S, G) address of the flow and the delivery status (Join indicating delivery / Leave indicating non-delivery).

IPルータがIGMP/MLDを用いてIPマルチキャストの配信制御を行うときに、複数のIPルータのインタフェース(以下、IF(Interface)と略す)を、単一の共有セグメントに冗長接続する構成もある。以下、同じ共有セグメントに接続される複数のルータのIFをIF集合とする。なお、共有セグメントは、例えば、イーサネット(登録商標)のVLAN(Virtual Local Area Network)などで構成される。   When the IP router performs IP multicast distribution control using IGMP / MLD, there is a configuration in which interfaces of a plurality of IP routers (hereinafter abbreviated as IF (Interface)) are redundantly connected to a single shared segment. Hereinafter, IFs of a plurality of routers connected to the same shared segment are referred to as IF sets. The shared segment is configured by, for example, an Ethernet (registered trademark) VLAN (Virtual Local Area Network).

ここで、共有セグメントに複数のルータが接続される場合、全てのルータがレポートを受信して配信を開始すると、同一フローが重複配信される状況に陥る。この場合、セグメントの帯域利用効率が低下するため、同時配信可能な最大フロー数が減少したりや、同一パケットを重複受信するホストに悪影響を及ぼしたりする可能性がある。   Here, when a plurality of routers are connected to the shared segment, when all routers receive a report and start distribution, the same flow is duplicated. In this case, since the bandwidth utilization efficiency of the segment is lowered, there is a possibility that the maximum number of flows that can be simultaneously distributed may be reduced, or a host that receives the same packet twice may be adversely affected.

そこで、IGMPv3/MLDv2には、クエリアの選択メカニズムが備わっている。すなわち、IF集合の中の1つのIF(以下、クエリア)のみ配信制御を行う。一方、非クエリアは、共有セグメントへのフローの配信を停止する。そして、クエリアの選択メカニズムでは、IF集合におけるクエリアと非クエリアとの交代処理は、以下の契機に実行される。
(契機1)クエリアは、他ルータからクエリ(GQ(General Query)またはSQ(Group-Specific Query))を受信すると、その送信元IPアドレスと自IFのIPアドレスとを大小比較し、送信元アドレスの方が小さい場合は、自身を非クエリアへと降格させる。
(契機2)非クエリアは、クエリアからタイマ上限値(OQPT(Other Querier Present Interval)とも呼ばれる)を超過するまでにGQを受信しないとき、クエリアに障害が発生したとみなして、クエリアを代行するために自身をクエリアへと昇格させる。
Therefore, IGMPv3 / MLDv2 has a querier selection mechanism. That is, distribution control is performed only for one IF (hereinafter referred to as querier) in the IF set. On the other hand, the non-querier stops the flow distribution to the shared segment. In the querier selection mechanism, the querier and non-querier replacement processing in the IF set is executed at the following timing.
(Timing 1) When the querier receives a query (GQ (General Query) or SQ (Group-Specific Query)) from another router, the querier compares the source IP address with the IP address of its own IF to determine the source address. If is smaller, demote yourself to a non-querier.
(Timing 2) When a non-querier does not receive a GQ before exceeding the timer upper limit (also called OQPT (Other Querier Present Interval)) from the querier, it assumes that a failure has occurred in the querier and acts on behalf of the querier Promote yourself to querier.

IETF、“Internet Group Management Protocol, Version 3”、[online]、[平成23年11月7日検索]、インターネット(URL:http://www.rfc-editor.org/rfc/rfc3376.txt)IETF, “Internet Group Management Protocol, Version 3”, [online], [searched on November 7, 2011], Internet (URL: http://www.rfc-editor.org/rfc/rfc3376.txt) IETF、“Multicast Listener Discovery Version 2 (MLDv2) for IPv6”、[online]、[平成23年11月7日検索]、インターネット(URL:http://www.rfc-editor.org/rfc/rfc3810.txt)IETF, “Multicast Listener Discovery Version 2 (MLDv2) for IPv6”, [online], [searched on November 7, 2011], Internet (URL: http://www.rfc-editor.org/rfc/rfc3810. TXT)

前記した従来のクエリアの選択メカニズムは、(契機1)および(契機2)という単純な処理により、クエリアと非クエリアとの交代処理を実現しているので、実装はしやすいものの、IF集合の構成変更に伴って、フローの配信処理が不安定になる。
不安定とは、具体的には、IF集合のうちのクエリアが0台となってしまい、フローがホストに配信されない「配信断」や、IF集合のうちのクエリアが2台以上となってしまい、同じフローがホストに対して別々に配信されてしまう「重複配信」である。
つまり、クエリアの選択メカニズムは、精密に時刻同期/順序同期して実行されるわけではなく、他IFから送信されるクエリおよびホストから送信されるレポートの受信を契機にそれぞれ独立したタイミングで実行されるため、クエリアと非クエリアとの交代処理を実行する過程において、フローの配信処理が不安定になる。
The conventional querier selection mechanism described above realizes the alternate processing of the querier and the non-querier by a simple process of (Trigger 1) and (Trigger 2). With the change, the flow distribution process becomes unstable.
Specifically, the instability means that there are 0 queriers in the IF set, a “distribution interruption” in which the flow is not distributed to the host, or 2 or more queriers in the IF set. This is “overlapping delivery” in which the same flow is delivered separately to the host.
In other words, the querier selection mechanism is not executed with precise time synchronization / sequential synchronization, but with independent timing triggered by the reception of a query sent from another IF and a report sent from the host. Therefore, the flow distribution process becomes unstable in the process of performing the alternation process between the querier and the non-querier.

以下、IF集合の構成変更の例を(変更1)〜(変更4)として、それぞれ説明する。
(変更1)新しいIFをIF集合に増設する場合、増設先のIF集合にクエリアがすでに存在しているにもかかわらず、増設したIFはクエリアとして一旦起動する。よって、すでに存在しているクエリアと、増設したIFのクエリアとが同じIF集合に重複して存在するため、増設したIFとすでに存在しているクエリアとで、新たなクエリアを1つ選出する(契機1)が実行されるまでの期間において、重複配信が発生してしまう。
Hereinafter, examples of the configuration change of the IF set will be described as (Change 1) to (Change 4), respectively.
(Change 1) When a new IF is added to an IF set, the added IF is once activated as a querier even though a querier already exists in the IF set of the addition destination. Therefore, since the querier that already exists and the querier of the added IF are duplicated in the same IF set, a new querier is selected from the added IF and the querier that already exists ( Duplicate delivery occurs in the period until the trigger 1) is executed.

(変更2)所定のIFをIF集合から減設する場合、その減設対象がクエリアであるときには、クエリアが減設されたときから、非クエリア間で新たなクエリアを選出するまでの期間において、クエリアが0台となってしまい、配信断が発生してしまう。   (Change 2) When a predetermined IF is removed from an IF set, when the removal target is a querier, in a period from when the querier is removed until a new querier is selected between non-queriers, The querier becomes 0 units and distribution interruption occurs.

(変更3)クエリアに障害が発生する場合、その障害発生クエリアを非クエリアが検出するには、クエリアからGQパケットを受信しない時間が標準規定上で定められたタイマ上限値(例えば、256秒程度)を超過するまで、GQパケットを待たなければならない。よって、非クエリアが障害発生クエリアを代行するまでの期間において、クエリアが0台となってしまい、配信断が発生してしまう。
なお、タイマ上限値を短くすると、その分のGQパケットの送信頻度が上がってしまうため、IF集合のクエリアや他IFの負荷が上昇してしまう副作用が発生する。
(Change 3) When a failure occurs in a querier, in order for a non-querier to detect the failure occurrence querier, a timer upper limit value (for example, about 256 seconds) determined by a standard rule when a GQ packet is not received from the querier ) Must be waited until GQ packet is exceeded. Therefore, in the period until the non-querier acts as the failure querier, the number of queriers becomes zero and distribution interruption occurs.
Note that if the timer upper limit value is shortened, the transmission frequency of the corresponding GQ packet is increased, which causes a side effect of increasing the load of the IF set querier and other IFs.

(変更4)クエリアが(変更3)の障害から復旧した場合、復旧したクエリアと、(変更3)でクエリアを代行していたクエリアは、それぞれフローを配信するので、クエリアを1つに集約するまでは、重複配信が発生してしまう。   (Change 4) When the querier recovers from the failure of (Change 3), the recovered querier and the querier that has been acting as the querier in (Change 3) distribute the flows, so the queriers are consolidated into one. Until then, duplicate delivery will occur.

そこで、本発明は、共有セグメントに複数のマルチキャスト配信ルータのインタフェースが接続される構成において、それらのインタフェース集合に構成変更が発生してもフローの配信処理が不安定となる範囲を限定することを、主な目的とする。   Therefore, the present invention limits the range in which flow distribution processing becomes unstable even if a configuration change occurs in a set of interfaces in a configuration in which interfaces of a plurality of multicast distribution routers are connected to a shared segment. The main purpose.

前記課題を解決するために、本発明は、ホストにマルチキャストのフローを配信する複数台の配信ルータと1台以上の前記ホストとが共有セグメントに接続され、その共有セグメントに送信されるパケットが、前記共有セグメントに接続される前記配信ルータおよび前記ホストがそれぞれ受信可能であるマルチキャスト配信システムに用いられる前記配信ルータであって、
前記共有セグメントに接続される前記配信ルータのインタフェースごとに、そのインタフェースの識別情報を引数として所定のハッシュ空間へと射影する第1ハッシュ関数を計算することで、IFハッシュ値を計算するIF状態管理部と、
前記共有セグメントを介して前記配信ルータによる配信されるフローごとに、そのフローの識別情報を引数として前記所定のハッシュ空間へと射影する第2ハッシュ関数を計算することで、フローハッシュ値を計算し、
計算した各前記IFハッシュ値によって区切られるハッシュ空間内の所定領域を、所定の前記IFハッシュ値の担当領域とし、その担当領域に含まれる前記フローハッシュ値に該当するフローを、所定の前記IFハッシュ値に該当する前記配信ルータのインタフェースが配信を担当するように制御し、
前記所定のハッシュ空間に対して新たに前記IFハッシュ値を追加するときには、追加する前記IFハッシュ値の担当領域を、前記IFハッシュ値の担当領域の1つを分割した領域とし、
前記所定のハッシュ空間から前記IFハッシュ値を削除するときには、削除する前記IFハッシュ値の担当領域を、他の1つの前記IFハッシュ値の担当領域へ統合するフロー割当処理部とを有することを特徴とする。
In order to solve the above-described problem, the present invention is configured such that a plurality of distribution routers that distribute a multicast flow to a host and one or more hosts are connected to a shared segment, and a packet transmitted to the shared segment includes: The distribution router used in a multicast distribution system that can be received by the distribution router and the host connected to the shared segment,
For each interface of the distribution router connected to the shared segment, an IF state management for calculating an IF hash value by calculating a first hash function that projects the identification information of the interface to a predetermined hash space as an argument And
For each flow distributed by the distribution router via the shared segment, a flow hash value is calculated by calculating a second hash function that projects the identification information of the flow onto the predetermined hash space as an argument. ,
A predetermined area in the hash space delimited by each calculated IF hash value is set as an assigned area of the predetermined IF hash value, and a flow corresponding to the flow hash value included in the assigned area is set as the predetermined IF hash Control that the interface of the distribution router corresponding to the value is responsible for distribution,
When newly adding the IF hash value to the predetermined hash space, the area in charge of the IF hash value to be added is an area obtained by dividing one of the areas in charge of the IF hash value,
When deleting the IF hash value from the predetermined hash space, it has a flow allocation processing unit that integrates the area in charge of the IF hash value to be deleted into another area in charge of the IF hash value. And

これにより、構成変更が発生したIFハッシュ値に近接するフローを収容変更するだけで済むので、フローの配信処理の不安定の影響を局所的にすることができる。よって、共有セグメントに複数のマルチキャスト配信ルータのインタフェースが接続される構成において、それらのインタフェース集合に構成変更が発生してもフローの配信処理が不安定となる範囲を限定することができる。   As a result, it is only necessary to accommodate and change the flow that is close to the IF hash value in which the configuration change has occurred, so that it is possible to locally influence the instability of the flow distribution process. Therefore, in the configuration in which the interfaces of a plurality of multicast distribution routers are connected to the shared segment, it is possible to limit the range in which the flow distribution processing becomes unstable even when a configuration change occurs in those interface sets.

本発明は、前記IF状態管理部が、前記共有セグメントに流れる前記配信ルータからのマルチキャストのクエリメッセージを受信し、そのクエリメッセージに含まれる送信元IPアドレスを前記IFハッシュ値を計算するための前記インタフェースの識別情報として用いることを特徴とする。   In the present invention, the IF state management unit receives the multicast query message from the distribution router flowing in the shared segment, and calculates the IF hash value for the source IP address included in the query message. It is used as identification information of an interface.

これにより、既存のプロトコルのパケットフォーマット(クエリ)をそのまま活用できる。   Thereby, the packet format (query) of the existing protocol can be used as it is.

本発明は、前記フロー割当処理部が、前記共有セグメントに流れる前記ホストからのマルチキャストのレポートメッセージを受信し、そのレポートメッセージに含まれる配信フローの送信元IPアドレス、および、配信フローの宛先IPアドレスのうちの少なくとも1つのIPアドレスを、前記フローハッシュ値を計算するための前記フローの識別情報として用いることを特徴とする。   In the present invention, the flow allocation processing unit receives a multicast report message from the host that flows in the shared segment, and the source IP address of the distribution flow included in the report message and the destination IP address of the distribution flow At least one of the IP addresses is used as identification information of the flow for calculating the flow hash value.

これにより、既存のプロトコルのパケットフォーマット(レポート)をそのまま活用できる。   Thereby, the packet format (report) of the existing protocol can be utilized as it is.

本発明によれば、共有セグメントに複数のマルチキャスト配信ルータのインタフェースが接続される構成において、それらのインタフェース集合に構成変更が発生してもフローの配信処理が不安定となる範囲を限定することができる。   According to the present invention, in a configuration in which interfaces of a plurality of multicast distribution routers are connected to a shared segment, it is possible to limit a range in which flow distribution processing becomes unstable even if a configuration change occurs in those interface sets. it can.

本発明の一実施形態に関するマルチキャスト配信システムを示す構成図である。It is a block diagram which shows the multicast delivery system regarding one Embodiment of this invention. 本発明の一実施形態に関する配信ルータを示す構成図である。It is a block diagram which shows the delivery router regarding one Embodiment of this invention. 本発明の一実施形態に関するリング状のハッシュ空間を示す説明図である。It is explanatory drawing which shows the ring-shaped hash space regarding one Embodiment of this invention. 本発明の一実施形態に関する配信処理およびその前準備処理を示すフローチャートである。It is a flowchart which shows the delivery process regarding one Embodiment of this invention, and its preparatory process. 本発明の一実施形態に関するリング状のハッシュ空間に両ハッシュ値を配置した旨を示す説明図である。It is explanatory drawing which shows that both hash values have been arrange | positioned in the ring-shaped hash space regarding one Embodiment of this invention. 本発明の一実施形態に関するIF集合の構成変更処理を示すフローチャートである。It is a flowchart which shows the structure change process of IF set regarding one Embodiment of this invention. 本発明の一実施形態に関するリング状のハッシュ空間においてIF集合の構成変更例を示す説明図である。It is explanatory drawing which shows the structural change example of IF set in the ring-shaped hash space regarding one Embodiment of this invention. 本発明の一実施形態に関するフロー割当処理部の処理を示すフローチャートである。It is a flowchart which shows the process of the flow allocation process part regarding one Embodiment of this invention.

以下、本発明の一実施形態について、図面を参照して詳細に説明する。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

図1は、マルチキャスト配信システムを示す構成図である。
マルチキャストフローは、配信サーバ1(S1,S2,…)から送信され、マルチキャスト配信網2、リンク3、配信ルータ4(R1,R2,R3,…)、共有セグメント5を経由し、ホスト6(H1,H2,H3,H4,…)に配信される。共有セグメント5は、例えば、イーサネットのセグメント(マルチキャストVLAN)として構成される。
これらのマルチキャスト配信システムの各装置は、CPU(Central Processing Unit)とメモリとハードディスク(記憶手段)とネットワークインタフェースを有するコンピュータとして構成され、このコンピュータは、CPUが、メモリ上に読み込んだプログラムを実行することにより、各処理部を動作させる。
FIG. 1 is a configuration diagram showing a multicast distribution system.
The multicast flow is transmitted from the distribution server 1 (S1, S2,...), Passes through the multicast distribution network 2, the link 3, the distribution router 4 (R1, R2, R3,...), The shared segment 5, and the host 6 (H1). , H2, H3, H4,. The shared segment 5 is configured as an Ethernet segment (multicast VLAN), for example.
Each device of these multicast distribution systems is configured as a computer having a CPU (Central Processing Unit), a memory, a hard disk (storage means), and a network interface, and the computer executes a program read on the memory. Thus, each processing unit is operated.

配信ルータ4とホスト6と間のパケットは、共有セグメント5を介して送受信される。この送受信されるパケットは、配信ルータ4から送信されるクエリと、ホスト6から送信されるレポート(配信中を示すJoin/未配信を示すLeave)とがある。RFC(Request for Comments)3810に記載されているように、レポートのICMPv6ヘッダ内の「Record Type」を5(ALLOW_NEW_SOURCES)に設定すると指定した(S,G)に対するJoinとなり、「Record Type」を6(BLOCK_OLD_SOURCES)に設定すると指定した(S,G)に対するLeaveとなる。   Packets between the distribution router 4 and the host 6 are transmitted / received via the shared segment 5. The transmitted / received packet includes a query transmitted from the distribution router 4 and a report transmitted from the host 6 (Join indicating distribution / Leave indicating non-distribution). As described in RFC (Request for Comments) 3810, when “Record Type” in the ICMPv6 header of the report is set to 5 (ALLOW_NEW_SOURCES), it becomes Join for the designated (S, G), and “Record Type” is 6 When set to (BLOCK_OLD_SOURCES), it becomes Leave for the designated (S, G).

図2は、配信ルータ4を示す構成図である。
配信ルータ4は、マルチキャスト配信網2と接続するMC配信網接続インタフェース41、マルチキャスト配信網2とフレーム送受信を行うMC配信網フレーム転送部42、共有セグメント5とフレーム送受信を行う共有セグメントフレーム転送部44、共有セグメント5と接続する共有セグメント接続インタフェース45、フローの配信を制御する転送制御回路43から構成される。
FIG. 2 is a configuration diagram showing the distribution router 4.
The distribution router 4 includes an MC distribution network connection interface 41 connected to the multicast distribution network 2, an MC distribution network frame transfer unit 42 that performs frame transmission / reception with the multicast distribution network 2, and a shared segment frame transfer unit 44 that performs frame transmission / reception with the shared segment 5. , A shared segment connection interface 45 connected to the shared segment 5, and a transfer control circuit 43 that controls flow distribution.

MC配信網接続インタフェース41と共有セグメント接続インタフェース45は、一般的な物理レイヤを司り、イーサネットの場合はPHYレイヤに相当する。
MC配信網接続インタフェース41は、受信IF部411と送信IF部412とから構成される。
共有セグメント接続インタフェース45は、送信IF部451と受信IF部452とから構成される。
The MC distribution network connection interface 41 and the shared segment connection interface 45 control a general physical layer, and correspond to a PHY layer in the case of Ethernet.
The MC distribution network connection interface 41 includes a reception IF unit 411 and a transmission IF unit 412.
The shared segment connection interface 45 includes a transmission IF unit 451 and a reception IF unit 452.

MC配信網フレーム転送部42と共有セグメントフレーム転送部44は、一般的なデータリンク層を司り、イーサネットの場合はMAC(Media Access Control)レイヤに相当する。
MC配信網フレーム転送部42は、フレーム受信部421とフレーム送信部422とから構成される。共有セグメントフレーム転送部44は、フレーム送信部441とフレーム受信部442とから構成される。
The MC distribution network frame transfer unit 42 and the shared segment frame transfer unit 44 serve as a general data link layer, and correspond to a MAC (Media Access Control) layer in the case of Ethernet.
The MC distribution network frame transfer unit 42 includes a frame reception unit 421 and a frame transmission unit 422. The shared segment frame transfer unit 44 includes a frame transmission unit 441 and a frame reception unit 442.

転送制御回路43は、配信状態管理部431、MC配信網連携部432、IF状態管理部433、IF管理テーブル434、フロー割当処理部435、フロー配信テーブル436、配信フィルタ部437から構成される。
レポートは、ホスト6から受信すると、共有セグメント接続インタフェース45、共有セグメントフレーム転送部44、配信状態管理部431を介して、フロー割当処理部435に通知される。
配信状態管理部431は、従来のIGMP/MLDルータなどに相当し、IPマルチキャストフローのアクセス配信状態の管理を行う。ここで、配信状態管理部431は、ホスト6から受信したレポートの内容と現在のフロー配信状態に応じて、MC配信網連携部432を介して、配信に関する連携処理を行う。
MC配信網連携部432は、従来のPIMルータなどに相当する。マルチキャスト配信網2と連携してIPマルチキャストルーティングの制御を行う。
配信フィルタ部437は、フロー割当処理部435からの指示を受けて、フロー単位の配信フィルタを開閉する。フィルタが開放されたフローは、MC配信網フレーム転送部42から受信したフローパケットを共有セグメントフレーム転送部44へ転送する。逆に、フィルタ閉鎖されたフローは転送せずに廃棄する。
The transfer control circuit 43 includes a distribution state management unit 431, an MC distribution network cooperation unit 432, an IF state management unit 433, an IF management table 434, a flow allocation processing unit 435, a flow distribution table 436, and a distribution filter unit 437.
When the report is received from the host 6, it is notified to the flow allocation processing unit 435 via the shared segment connection interface 45, the shared segment frame transfer unit 44, and the distribution state management unit 431.
The distribution state management unit 431 corresponds to a conventional IGMP / MLD router or the like, and manages the access distribution state of the IP multicast flow. Here, the delivery status management unit 431 performs a linkage process related to delivery via the MC delivery network linkage unit 432 according to the content of the report received from the host 6 and the current flow delivery status.
The MC distribution network cooperation unit 432 corresponds to a conventional PIM router or the like. IP multicast routing is controlled in cooperation with the multicast distribution network 2.
In response to the instruction from the flow allocation processing unit 435, the distribution filter unit 437 opens and closes the distribution filter for each flow. The flow whose filter is released transfers the flow packet received from the MC distribution network frame transfer unit 42 to the shared segment frame transfer unit 44. On the contrary, the flow closed by the filter is discarded without being transferred.

IF状態管理部433は、共有セグメントに接続される全てのIFの情報を管理する。共有セグメント接続インタフェース45、共有セグメントフレーム転送部44、配信状態管理部431を介して受信する他IFからのクエリの送信元IPアドレスや受信時刻を検査し、IFの識別情報からIFハッシュ値を計算し(詳細は、後記する表1で説明)、他IFを死活監視する。
IF管理テーブル434は、IF状態管理部433において検査されたIF情報が登録および管理されるデータベースである。
IF状態管理部433は、フロー割当処理部435の指示に従い、IF管理テーブル434に登録したインタフェース情報を読み出して、フロー割当処理部435に引き渡す。
The IF state management unit 433 manages information on all IFs connected to the shared segment. Checks the source IP address and reception time of a query from another IF received via the shared segment connection interface 45, the shared segment frame transfer unit 44, and the distribution status management unit 431, and calculates an IF hash value from the identification information of the IF (Details are described in Table 1 to be described later), and other IFs are monitored for life and death.
The IF management table 434 is a database in which IF information checked by the IF state management unit 433 is registered and managed.
The IF state management unit 433 reads the interface information registered in the IF management table 434 in accordance with an instruction from the flow allocation processing unit 435 and delivers it to the flow allocation processing unit 435.

フロー割当処理部435は、フローに対するIFの割当情報をフロー配信テーブル436に管理する。フロー割当処理部435は、レポートから読み取ったフローの識別情報をもとに、フローハッシュ値を計算する(詳細は、後記する表2で説明)。フロー割当処理部435は、IF状態管理部433から全てのIFハッシュ値を取得し、当該フローハッシュ値と全てのIFハッシュ値の方向距離を計算して当該フローに対する配信IFの割当てを決定して配信状態の制御を行う。ここで、これらの処理情報をフロー配信テーブル436に登録する。
フロー配信テーブル436は、フロー割当処理部435において処理されたフローごとのインタフェースに対する割当情報および配信状態が登録および管理されるデータベースである。
The flow allocation processing unit 435 manages IF allocation information for flows in the flow distribution table 436. The flow allocation processing unit 435 calculates a flow hash value based on the flow identification information read from the report (details will be described later in Table 2). The flow allocation processing unit 435 acquires all IF hash values from the IF state management unit 433, calculates the directional distance between the flow hash value and all IF hash values, and determines the distribution IF allocation for the flow. Control delivery status. Here, these pieces of processing information are registered in the flow distribution table 436.
The flow distribution table 436 is a database in which allocation information and distribution states for interfaces for each flow processed in the flow allocation processing unit 435 are registered and managed.

図3は、両テーブル(IF管理テーブル434、フロー配信テーブル436)が使用するリング状のハッシュ空間を示す説明図である。
図3(a)は、ハッシュ空間の大きさであるハッシュ値の上限を決める定数nとしたときのハッシュ空間を示す。定数nとはハッシュ値の最大値+1である。ハッシュ空間は、右回り(時計回り)にハッシュ値が大きくなるように構成され、12時の方向(真上)がハッシュ値「0」とハッシュ値「n」、6時の方向(真下)がハッシュ値「n/2」を示す。
図3(b)は、図3(a)のハッシュ空間として、n=1000としたときの一例を示す。
FIG. 3 is an explanatory diagram showing a ring-shaped hash space used by both tables (IF management table 434 and flow distribution table 436).
FIG. 3A shows the hash space when a constant n is set for determining the upper limit of the hash value, which is the size of the hash space. The constant n is the maximum hash value + 1. The hash space is configured so that the hash value increases clockwise (clockwise), the direction at 12 o'clock (directly above) is the hash value “0” and the hash value “n”, and the direction at 6 o'clock (directly below). The hash value “n / 2” is indicated.
FIG. 3B shows an example when n = 1000 as the hash space of FIG.

Figure 0005613142
Figure 0005613142

表1は、共有セグメント5ごとに生成されるIF管理テーブル434を示す。IF管理テーブル434は、IFの識別情報であるIFIDと、IFのIPアドレスと、そのIFのIFハッシュ値(Hash)と、そのIFが自身のものか否かを示すIFフラグと、IFが活動しているか否かを監視するためのクエリア死活監視タイマとを対応づけて格納する。
例えば、IFID「R1」は、自身が収容するIFである。
IFID「R2,R3」は、他装置が収容するIFであり、クエリを受信してから経過した時間(クエリア死活監視タイマの時間)が所定時間以下なので、活動している。
IFID「R4」は、他装置が収容するIFであり、クエリを受信してから経過した時間が所定時間を超えたため(タイムアウトしたため)、活動していない。
Table 1 shows an IF management table 434 generated for each shared segment 5. The IF management table 434 includes an IF ID that is identification information of the IF, an IP address of the IF, an IF hash value (Hash) of the IF, an IF flag indicating whether the IF is its own, and an IF activity A querier alive monitoring timer for monitoring whether or not it is being stored is stored in association with each other.
For example, the IFID “R1” is an IF accommodated by itself.
The IFIDs “R2, R3” are IFs accommodated by other devices, and are active because the time elapsed since the query was received (the time of the querier alive monitoring timer) is less than or equal to a predetermined time.
The IFID “R4” is an IF accommodated by another device and is not active because the time elapsed since the query was received has exceeded a predetermined time (timed out).

IF管理テーブル434のIFハッシュ値は、IFのIPアドレスを定数nで剰余算(mod)した結果である。なお、各IFのIPアドレスは、クエリのIPv6ヘッダに記載されている送信元IPアドレス(IPv6のリンクローカルアドレス)を読み取れば取得できる。
なお、以下では、ハッシュ関数の引数として、IFのIPアドレスを用いたが、他のIFの識別情報(送信元IPアドレスの一部や、所定ルールで設定したIFのIDや、共有セグメント5におけるIFのクエリア順位(共有セグメント5の中で何番目に小さいIPアドレスか)など)を代わりに引数として用いてもよい。
The IF hash value of the IF management table 434 is a result obtained by performing a remainder calculation (mod) on the IP address of the IF by a constant n. The IP address of each IF can be obtained by reading the source IP address (IPv6 link local address) described in the IPv6 header of the query.
In the following, the IP address of the IF is used as an argument of the hash function. However, the identification information of other IF (part of the source IP address, the ID of the IF set by a predetermined rule, the shared segment 5 The IF querier order (the smallest IP address in the shared segment 5) may be used instead as an argument.

以下、ハッシュ空間の大きさを「n」とし、ハッシュ引数であるIFのIPアドレスを「IP」とし、ハッシュ関数を「H()」とし、ハッシュ引数の変換関数を「f()」とし、16進数表現を「()h」と表記する。
H(IP,n)= mod[f(IP),n]
例えば、n=1000、IP=R1の「fe80::1122::3344::5566::789a」の場合
H(IP,n)
=mod[(fe80+1122+3344+5566+789a)h,1000]
=mod[(65152+4386+13124+21862+30874),1000]
=mod[135398,1000]=398
Hereinafter, the size of the hash space is “n”, the IP address of the IF that is the hash argument is “IP”, the hash function is “H ()”, the hash argument conversion function is “f ()”, Hexadecimal representation is expressed as “() h”.
H (IP, n) = mod [f (IP), n]
For example, when “fe80 :: 1122 :: 3344 :: 5566 :: 789a” where n = 1000 and IP = R1
H (IP, n)
= mod [(fe80 + 1122 + 3344 + 5566 + 789a) h, 1000]
= mod [(65152 + 4386 + 13124 + 21862 + 30874), 1000]
= mod [135398,1000] = 398

Figure 0005613142
Figure 0005613142

表2は、共有セグメント5ごとに生成されるフロー配信テーブル436を示す。フロー配信テーブル436は、フローIDと、フローのSアドレスと、フローのGアドレスと、フローハッシュ値(Hash)と、フローの配信担当であるIFと、フローの配信状態とを対応づけて格納する。フローの配信状態は、配信中(Join)か、未配信(Leave)か、いずれかの値をとる。
例えば、フローID「F1」のフローは、IF「R3」から配信され、他のIFからは配信されない。
Table 2 shows a flow distribution table 436 generated for each shared segment 5. The flow distribution table 436 stores a flow ID, a flow S address, a flow G address, a flow hash value (Hash), an IF in charge of flow distribution, and a flow distribution state in association with each other. . The distribution state of the flow takes either the value of distribution (Join) or non-distribution (Leave).
For example, the flow with the flow ID “F1” is distributed from the IF “R3” and is not distributed from other IFs.

フロー配信テーブル436のフローハッシュ値は、フローの(S,G)アドレス情報を定数nで剰余算(mod)した結果である。Sアドレスは、レポート内のICMPv6ヘッダの「Multicast Address」から読み取ることができ、Gアドレスは、レポート内のICMPv6ヘッダの「Source Address[1]〜[N]」から読み取ることができる。
なお、以下では、ハッシュ関数の引数として、フローの(S,G)アドレス情報を用いたが、他のフローの識別情報(Sアドレスを単体で用いる、Gアドレスを単体で用いる、など)を代わりに引数として用いてもよい。
The flow hash value of the flow distribution table 436 is a result of the remainder (mod) calculation of the (S, G) address information of the flow by a constant n. The S address can be read from “Multicast Address” of the ICMPv6 header in the report, and the G address can be read from “Source Address [1] to [N]” of the ICMPv6 header in the report.
In the following, the flow (S, G) address information is used as the argument of the hash function, but other flow identification information (S address alone, G address alone, etc.) is used instead. May be used as an argument.

以下、ハッシュ空間の大きさを「n」とし、ハッシュ引数であるフローの(S,G)アドレス情報を「S,G」とし、ハッシュ関数を「H()」とし、ハッシュ引数の変換関数を「f()」とし、16進数表現を「()h」と表記する。
H(S,G,n)= mod[f(S,G),n]
例えば、n=1000、S=F1の「2001::1000::2000::3000::4000」、G=F1の「ff3e::0001::0002::0003::0004」の場合
H(S,G,n)
=mod[(2001+1000+2000+3000+4000)h+(ff3e+0001+0002+0003+0004)h,1000]
=mod[(8193+4096+8192+12288+16384)+(65342+1+2+3+4),1000]
=mod[(49153+65352),1000]=114
In the following, the size of the hash space is “n”, the (S, G) address information of the flow that is the hash argument is “S, G”, the hash function is “H ()”, and the hash argument conversion function is “F ()” is expressed as a hexadecimal expression “() h”.
H (S, G, n) = mod [f (S, G), n]
For example, n = 1000, S = F1, "2001 :: 1000 :: 2000 :: 3000 :: 4000", and G = F1, "ff3e :: 0001 :: 0002 :: 0003 :: 0004"
H (S, G, n)
= mod [(2001 + 1000 + 2000 + 3000 + 4000) h + (ff3e + 0001 + 0002 + 0003 + 0004) h, 1000]
= mod [(8193 + 4096 + 8192 + 12288 + 16384) + (65342 + 1 + 2 + 3 + 4), 1000]
= mod [(49153 + 65352), 1000] = 114

以上説明したIFハッシュ値およびフローハッシュ値それぞれについて、ネットワーク管理者がハッシュキーやハッシュ値を手動で設定してもよい。
なお、ハッシュ関数は、必ずしも剰余算である必要はなく、一般的に用いられるその他のハッシュ関数を用いてもよい。ただし、同じ共有セグメント5内で配信制御の一貫性を保つため、ハッシュ値の計算方法は、同じ共有セグメント5に接続される配信ルータ4間で共通の方法とするほうがよい。
For each of the IF hash value and flow hash value described above, the network administrator may manually set a hash key and a hash value.
Note that the hash function does not necessarily need to be a residue calculation, and other commonly used hash functions may be used. However, in order to maintain consistency of distribution control within the same shared segment 5, it is better to use a hash value calculation method that is common among the distribution routers 4 connected to the same shared segment 5.

なお、フローハッシュ値の計算において、互いに異なる2つのIF(2つの引数)であっても、ハッシュ関数により射影されるハッシュ空間内のハッシュ値が偶然一致してしまうハッシュ衝突が発生することもある。ハッシュ衝突が発生したときには、SNMP(Simple Network Management Protocol)コマンドなどで、ネットワーク管理者に衝突発生を警告する。   In the calculation of the flow hash value, even if two IFs (two arguments) are different from each other, a hash collision may occur in which the hash values in the hash space projected by the hash function coincide by chance. . When a hash collision occurs, a network administrator is warned of the collision by an SNMP (Simple Network Management Protocol) command or the like.

または、フロー割当処理部435は、ハッシュ衝突が発生したときには、以下の(1)〜(4)に示すハッシュ衝突の回避処理を実行してもよい。
(1)互いに衝突しない全てのIFハッシュ値を、そのままハッシュ空間に配置する。
(2)衝突する複数のIFハッシュ値のうち、そのIFハッシュ値の計算に使用されるIPアドレスが最小のIFハッシュ値を、そのままハッシュ空間に配置する。なお、この(2)の衝突判定は、IF集合の構成変更(IFの増設やIFの障害回復)のたびに実行される。
(3)前記(2)で衝突する複数のIFハッシュ値のうち、(2)でハッシュ空間に配置されなかったIFハッシュ値については、そのIFハッシュ値とは別の場所(例えば、IFハッシュ値を起点として右回りにn/8分ずつ順に移動した場所)に補正して、ハッシュ空間に配置する。
(4)IF集合の構成変更(IFの減設やIFの障害発生)により、すでにハッシュ空間に配置されたIFハッシュ値を削除するときには、その削除したIFハッシュ値が(2)でハッシュ空間に配置されたIFハッシュ値なら、(3)で補正して配置されたIFハッシュ値を、補正前のIFハッシュ値へと戻す。この(4)を実現するために、衝突する複数のIFハッシュ値を管理するデータ構造(例えば、リスト構造)を用意する。
Alternatively, the flow allocation processing unit 435 may execute the hash collision avoidance process shown in the following (1) to (4) when a hash collision occurs.
(1) All IF hash values that do not collide with each other are placed in the hash space as they are.
(2) Among a plurality of conflicting IF hash values, the IF hash value with the smallest IP address used for calculation of the IF hash value is arranged in the hash space as it is. The collision determination (2) is executed every time the configuration of the IF set is changed (IF addition or IF failure recovery).
(3) Among the plurality of IF hash values that collide in (2) above, the IF hash value that is not arranged in the hash space in (2) is located at a location different from the IF hash value (for example, IF hash value From the starting point to the place moved in order n / 8 minutes clockwise) and placed in the hash space.
(4) When an IF hash value already placed in the hash space is deleted due to a change in the configuration of the IF set (IF reduction or IF failure occurs), the deleted IF hash value is changed to the hash space in (2). If the IF hash value has been arranged, the IF hash value corrected and arranged in (3) is returned to the IF hash value before correction. In order to realize (4), a data structure (for example, a list structure) for managing a plurality of conflicting IF hash values is prepared.

図4は、配信処理およびその前準備処理を示すフローチャートである。
S101として、各配信ルータ4は、自身への電源投入などを契機に、両テーブル(IF状態管理部433が生成するIF管理テーブル434、フロー割当処理部435が生成するフロー配信テーブル436)を初期化する。なお、S101で初期化された両テーブルは、例えば配信ルータ4のシャットダウン時などに削除される。
IF状態管理部433は、自IFのエントリをIF管理テーブル434に新規追加する。エントリ内容は、自IFのIPアドレス、そのIPアドレスのIFハッシュ値、自IFであることを示す「自IF」のIFフラグ、クエリアタイマ(GQ受信死活監視)の無効化である。
FIG. 4 is a flowchart showing the distribution process and its preparation process.
As S101, each distribution router 4 initializes both tables (an IF management table 434 generated by the IF state management unit 433 and a flow distribution table 436 generated by the flow allocation processing unit 435) in response to power-on to itself. Turn into. Note that both tables initialized in S101 are deleted, for example, when the distribution router 4 is shut down.
The IF state management unit 433 adds a new IF entry to the IF management table 434. The entry contents are an IP address of the own IF, an IF hash value of the IP address, an IF flag of “own IF” indicating the own IF, and invalidation of the querier timer (GQ reception alive monitoring).

S102として、配信ルータ4(R1)は、共有セグメント5にクエリを送信するとともに、他IFからのクエリを受信する。
S103として、配信ルータ4(R2)のIF状態管理部433は、S102で受信したクエリに記載されたIFを、自身のハッシュ空間に登録する。
具体的には、IF状態管理部433は、受信パケットのIPヘッダから読み込んだ送信元IPアドレスを検索キーとして、IF管理テーブル434からその検索キーのエントリ(以下、クエリエントリとする)が存在するか否かを検索する。
クエリエントリが存在するときには、そのクエリエントリのクエリア死活監視タイマ=0とする。
クエリエントリが存在しないときには、IF管理テーブル434に対してクエリエントリを新規追加する。エントリ内容は、クエリの送信元IPアドレス、その送信元IPアドレスのIFハッシュ値、他IFであることを示す「他IF」のIFフラグ、クエリア死活監視タイマ=0である。
As S102, the distribution router 4 (R1) transmits a query to the shared segment 5 and receives a query from another IF.
In S103, the IF state management unit 433 of the distribution router 4 (R2) registers the IF described in the query received in S102 in its own hash space.
Specifically, the IF state management unit 433 uses the transmission source IP address read from the IP header of the received packet as a search key, and the search key entry (hereinafter referred to as a query entry) exists from the IF management table 434. Search whether or not.
When there is a query entry, the querier alive monitoring timer of the query entry is set to zero.
When there is no query entry, a new query entry is added to the IF management table 434. The contents of the entry are the query source IP address, the IF hash value of the source IP address, the “other IF” IF flag indicating the other IF, and the querier alive monitoring timer = 0.

図5は、図3(b)で示したリング状のハッシュ空間に、両ハッシュ値(IFハッシュ値、フローハッシュ値)を配置した旨を示す説明図である。図5(a)は、ハッシュ空間に3つのIFハッシュ値を配置した図である。
S103のハッシュ空間の登録処理の一例として、配信ルータ4「R3」のIFハッシュ値「136」と、配信ルータ4「R1」のIFハッシュ値「398」と、配信ルータ4「R2」のIFハッシュ値「767」とが、それぞれ配置されている。
そして、ハッシュ空間での方向距離に基づいて、フローを割り当てる。例えば、配信ルータ4「R1」の配信担当となるハッシュ空間は、自身より1つ前(左回り)に位置する配信ルータ4「R3」のIFハッシュ値「136」+1を起点として、右回りに自身のIFハッシュ値「398」までの範囲である。
FIG. 5 is an explanatory diagram showing that both hash values (IF hash value, flow hash value) are arranged in the ring-shaped hash space shown in FIG. FIG. 5A is a diagram in which three IF hash values are arranged in the hash space.
As an example of the hash space registration process of S103, the IF hash value “136” of the distribution router 4 “R3”, the IF hash value “398” of the distribution router 4 “R1”, and the IF hash of the distribution router 4 “R2” The value “767” is arranged.
Then, a flow is assigned based on the direction distance in the hash space. For example, the hash space that is in charge of distribution of the distribution router 4 “R1” is clockwise from the IF hash value “136” +1 of the distribution router 4 “R3” that is located one before (clockwise). The range is up to its own IF hash value “398”.

図4に戻り、S111として、ホスト6は、クエリに対するレポートを返信する。ここでは、そのレポートにフローF1〜F4に対する配信要求を示すJoinが含まれているとする。
S112として、各配信ルータ4のフロー割当処理部435は、S111のレポートを参照して、各自のハッシュ空間にF1〜F4を登録する(詳細は図8参照)。その結果、配信ルータ4(R1)はフローF2,F3の配信を担当し、配信ルータ4(R2)はフローの配信を担当しないものとする。
Returning to FIG. 4, in S111, the host 6 returns a report for the query. Here, it is assumed that the report includes a Join indicating a distribution request for the flows F1 to F4.
As S112, the flow allocation processing unit 435 of each distribution router 4 refers to the report of S111 and registers F1 to F4 in its own hash space (refer to FIG. 8 for details). As a result, the distribution router 4 (R1) is in charge of distributing the flows F2 and F3, and the distribution router 4 (R2) is not in charge of distributing the flow.

図5(b)は、図5(a)のハッシュ空間に対して、フローハッシュ値を配置した例を示す。例えば、フローF1のフローハッシュ値「114」が、配信ルータ4「R3」のIFハッシュ値「136」の近傍に配置されている。
フロー割当処理部435は、IFハッシュ値とフローハッシュ値との方向距離をもとに、各フローを担当するIFを決定する。例えば、図5(a)で示したように、配信ルータ4「R1」の配信担当となるハッシュ空間は、配信ルータ4「R3」のIFハッシュ値「136」+1を起点として、右回りに自身のIFハッシュ値「398」までの範囲であるので、この範囲に含まれるフローハッシュ値「177」のフローF5は、配信ルータ4「R1」の配信担当となる。
FIG. 5B shows an example in which flow hash values are arranged in the hash space of FIG. For example, the flow hash value “114” of the flow F1 is arranged in the vicinity of the IF hash value “136” of the distribution router 4 “R3”.
The flow allocation processing unit 435 determines an IF in charge of each flow based on the direction distance between the IF hash value and the flow hash value. For example, as shown in FIG. 5A, the hash space in charge of distribution of the distribution router 4 “R1” starts from the IF hash value “136” +1 of the distribution router 4 “R3” in the clockwise direction. Therefore, the flow F5 of the flow hash value “177” included in this range is in charge of distribution of the distribution router 4 “R1”.

以下、IFハッシュ値「R」およびフローハッシュ値「F」が計算されたハッシュ空間から、フローハッシュ値ごとに担当するIFハッシュ値を決定する方法を示す。
ハッシュ距離 D(R,F)=R-Fとし、各Fについて、もし、D(R,F)≧0が1つ以上存在するときには、D(R,F)≧0のうちの最小値となるRをFの配信担当として割り当てる。一方、D(R,F)≧0が存在しないときには、D(R,F)が最小値となるRをFの配信担当として割り当てる。
Hereinafter, a method for determining an IF hash value for each flow hash value from the hash space in which the IF hash value “R” and the flow hash value “F” are calculated will be described.
The hash distance D (R, F) = RF, and for each F, if there is one or more D (R, F) ≧ 0, R is the minimum value of D (R, F) ≧ 0 Is assigned as the person in charge of F distribution. On the other hand, when D (R, F) ≧ 0 does not exist, R having the minimum value of D (R, F) is assigned as the person in charge of F distribution.

図4に戻り、S113として、配信サーバ1は、S111のJoinで指定されたフローF2のデータを共有セグメント5に配信する。このデータは、共有セグメント5に接続されているすべての配信ルータ4が受信可能であるが、今回はS112でフローF2の配信担当である配信ルータ4(R1)がホスト6に対してフローF2を配信する。   Returning to FIG. 4, as S <b> 113, the distribution server 1 distributes the data of the flow F <b> 2 specified by Join in S <b> 111 to the shared segment 5. This data can be received by all the distribution routers 4 connected to the shared segment 5, but this time the distribution router 4 (R1) in charge of distribution of the flow F2 sends the flow F2 to the host 6 in S112. To deliver.

S121として、ホスト6は、S111と同様にクエリに対するレポートを返信する。ここでは、そのレポートにフローF5に対する配信要求を示すJoinが含まれているとする。
S122として、各配信ルータ4のフロー割当処理部435は、S112と同様に、S121のレポートを参照して、各自のハッシュ空間にフローF5を登録する(詳細は図8参照)。その結果、配信ルータ4(R2)はフローF5の配信を担当する。
S123として、S113と同様に、配信ルータ4(R2)は、自身の配信担当であるフローF5をデータ配信する。
In step S121, the host 6 returns a report for the query in the same manner as in step S111. Here, it is assumed that the report includes a Join indicating a distribution request for the flow F5.
As S122, the flow allocation processing unit 435 of each distribution router 4 refers to the report of S121 and registers the flow F5 in its own hash space (see FIG. 8 for details) as in S112. As a result, the distribution router 4 (R2) is in charge of distribution of the flow F5.
In S123, as in S113, the distribution router 4 (R2) distributes data of the flow F5 that is in charge of distribution.

S131として、ホスト6は、クエリに対するレポートを返信する。ここでは、そのレポートにフローF5に対する離脱要求を示すLeaveが含まれているとする。
S132として、各配信ルータ4のフロー割当処理部435は、今回Leaveを受信したホスト6とは別のホスト6(引き続きフローF5の配信を要求するホスト6)が共有セグメント5内に存在しないときには、フロー配信テーブル436のハッシュ空間からフローF5を削除する。
なお、フロー配信テーブル436内のエントリを削除する代わりに、そのエントリを休止中(Leave)の状態に移行するとともに、後にそのエントリに対するJoinを受信したときには、休止中(Leave)から活動中(Join)へと状態遷移してもよい。
このように、フロー配信テーブル436内に休止中のエントリを記憶し続けることで、フロー配信テーブル436のサイズは大きくなってしまうものの、休止中のエントリの再登録をせずに状態遷移するだけで済むので、配信制御を早期再開することができる。
In S131, the host 6 returns a report for the query. Here, it is assumed that the report includes Leave indicating a withdrawal request for the flow F5.
In S132, the flow allocation processing unit 435 of each distribution router 4 determines that when the host 6 (host 6 that continues to request distribution of the flow F5) other than the host 6 that has received Leave this time does not exist in the shared segment 5, The flow F5 is deleted from the hash space of the flow distribution table 436.
Instead of deleting an entry in the flow distribution table 436, the entry shifts to a state of being inactive (Leave), and when a Join for the entry is received later, the entry from the inactive state (Leave) to active (Join State transition to).
As described above, storing the suspended entry in the flow distribution table 436 increases the size of the flow distribution table 436, but the state transition is performed without re-registering the suspended entry. As a result, distribution control can be resumed early.

図6は、IF集合の構成変更処理を示すフローチャートである。
S201として、フロー割当処理部435は、図4のS112,S122,S132などで説明したように、Joinされた各フローを担当する配信ルータ4のIFを計算する。ここでは、配信ルータ4(R1)がフローF5を担当し、配信ルータ4(R2)がフローF2,3を担当し、配信ルータ4(R3)がフローF1,4を担当するものとする。
FIG. 6 is a flowchart showing the IF set configuration change processing.
As S201, the flow allocation processing unit 435 calculates the IF of the distribution router 4 in charge of each joined flow, as described in S112, S122, and S132 in FIG. Here, the distribution router 4 (R1) is in charge of the flow F5, the distribution router 4 (R2) is in charge of the flows F2 and 3, and the distribution router 4 (R3) is in charge of the flows F1 and 4.

S211として、ネットワーク管理者が、共有セグメント5に配信ルータ4(R4)を増設(または障害回復)したとする。
S212として、配信ルータ4(R4)は、自身のIFを示すIPアドレスを含めたクエリを共有セグメント5に送信することで、他の配信ルータ4(R1〜R3)に自身の増設を通知する。
S213として、他の配信ルータ4(R1〜R3)のIF状態管理部433は、S212で通知された配信ルータ4(R4)のIFをハッシュ空間に登録する(S103と同様の処理)。
Assume that the network administrator adds a distribution router 4 (R4) to the shared segment 5 (or recovers from a failure) in S211.
In S212, the distribution router 4 (R4) notifies the other distribution routers 4 (R1 to R3) of its own addition by transmitting a query including an IP address indicating its own IF to the shared segment 5.
As S213, the IF state management unit 433 of the other distribution router 4 (R1 to R3) registers the IF of the distribution router 4 (R4) notified in S212 in the hash space (the same processing as S103).

S214として、各配信ルータ4のフロー割当処理部435は、IP集合の構成変更に伴い、更新されたハッシュ空間でのフロー担当を計算する。その結果、S201からの変更分として、フローF4の担当がR3からR4へと変更されるものの、他のフローF1〜F3の担当は変更されない。
このように、フローの担当変更が少ない理由として、図5(b)で示したようなリング上のハッシュ空間にIFハッシュ値を配置していくため、IFハッシュ値の増減の影響が局所的で済むことが、挙げられる。
As S214, the flow allocation processing unit 435 of each distribution router 4 calculates the flow charge in the updated hash space in accordance with the configuration change of the IP set. As a result, as the change from S201, the charge of the flow F4 is changed from R3 to R4, but the charge of the other flows F1 to F3 is not changed.
As described above, the reason for the small change in charge of the flow is that the IF hash value is arranged in the hash space on the ring as shown in FIG. That can be done.

図7は、リング状のハッシュ空間においてIF集合の構成変更例を示す説明図である。図7(a)は、図5(b)の状態から、さらに配信ルータ4(R4)のIF(IFハッシュ値=965)が増設(または障害回復)されたときのハッシュ空間を示す。
前回の配信ルータ4(R3)のIFの担当範囲(R2→R3)が、今回の配信ルータ4(R4)のIFの担当範囲(R2→R4)と、今回の配信ルータ4(R3)のIFの担当範囲(R4→R3)とに分割されている。
FIG. 7 is an explanatory diagram illustrating an example of a configuration change of an IF set in a ring-shaped hash space. FIG. 7A shows a hash space when the IF (IF hash value = 965) of the distribution router 4 (R4) is further expanded (or trouble recovered) from the state of FIG. 5B.
The IF range (R2 → R3) of the previous distribution router 4 (R3) is the IF range (R2 → R4) of the current distribution router 4 (R4) and the IF of the current distribution router 4 (R3). The assigned range (R4 → R3).

図6に戻って、S221として、配信ルータ4(R4)に障害が発生し(または減設され)、配信ルータ4(R4)からのクエリが送信不可になったとする。
S222として、他の配信ルータ4(R1〜R3)のIF状態管理部433は、配信ルータ4(R4)からのクエリ受信のタイムアウトを検出し、ハッシュ空間から配信ルータ4(R4)のIFを削除する。
具体的には、IF状態管理部433は、IF管理テーブル434に登録されたルータインタフェースの各エントリに対し、予め設定したクエリア死活監視用タイマの上限値に達しても当該インタフェースからのクエリを受信しないことを、タイムアウトとして検出判定する。そして、タイマ上限値を超過したエントリを削除する。
ここで、IF状態管理部433は、タイマ上限値を超過したIF管理テーブル434のエントリを削除する代わりに、そのエントリを休止状態へ移行することとしてもよい(S132と同様の状態遷移処理)。
S223として、フロー割当処理部435は、S222のIP集合の構成変更(IF削除)に伴い、更新されたハッシュ空間でのフロー担当を計算する。その結果、フローF4の担当がR4からR3へと戻ることで、S201の配信担当の状態へと戻る。
Returning to FIG. 6, it is assumed that, in S221, a failure occurs in the distribution router 4 (R4) (or is removed), and a query from the distribution router 4 (R4) becomes impossible to be transmitted.
In S222, the IF state management unit 433 of the other distribution router 4 (R1 to R3) detects a timeout of query reception from the distribution router 4 (R4), and deletes the IF of the distribution router 4 (R4) from the hash space. To do.
Specifically, the IF status management unit 433 receives a query from the interface even if the upper limit value of the querier alive monitoring timer set in advance is reached for each entry of the router interface registered in the IF management table 434. It is detected and determined as a timeout. Then, the entry exceeding the timer upper limit value is deleted.
Here, instead of deleting the entry in the IF management table 434 that has exceeded the timer upper limit value, the IF state management unit 433 may shift the entry to a dormant state (the same state transition process as in S132).
In S223, the flow allocation processing unit 435 calculates the flow assignment in the updated hash space in accordance with the IP set configuration change (IF deletion) in S222. As a result, when the person in charge of the flow F4 returns from R4 to R3, the process returns to the state in charge of distribution in S201.

図7(b)は、図7(a)の状態から、IF「R4」に障害が発生したとき(または減設されたとき)のハッシュ空間を示す。配信ルータ4(R4)のIFハッシュ値(965)を削除することで、前回の配信ルータ4(R4)のIFの担当範囲(R2→R4)と、前回の配信ルータ4(R3)のIFの担当範囲(R4→R3)とが、今回の配信ルータ4(R3)のIFの担当範囲(R2→R3)へと統合されている。   FIG. 7B shows a hash space when a failure occurs in IF “R4” (or when it is removed) from the state of FIG. By deleting the IF hash value (965) of the distribution router 4 (R4), the IF range (R2 → R4) of the previous distribution router 4 (R4) and the IF of the previous distribution router 4 (R3) The assigned range (R4 → R3) is integrated into the IF assigned range (R2 → R3) of the current distribution router 4 (R3).

図8は、フロー割当処理部435が実行するフローの割当処理(図4のS112,S122)を示すフローチャートである。本フローチャートの動作主体はフロー割当処理部435であるので、各処理ステップでの説明において、その動作主体の記載を省略する。   FIG. 8 is a flowchart showing flow allocation processing (S112, S122 in FIG. 4) executed by the flow allocation processing unit 435. Since the operating subject of this flowchart is the flow allocation processing unit 435, the description of the operating subject is omitted in the description of each processing step.

S301として、ホスト6から受信したJoinが示すフロー(S,G)に対する既存エントリがフロー配信テーブル436内に存在するか否かを検索する。S301でYesならS303へ進み、NoならS302へ進む。
S302として、フロー配信テーブル436にフロー(S,G)を新規のエントリとして登録する。エントリ内容は、フロー(S,G)のアドレス、その(S,G)アドレスから計算したフローハッシュ値、フローハッシュ値に対応するハッシュ空間内の配信担当IFである。
In S301, it is searched whether or not an existing entry for the flow (S, G) indicated by Join received from the host 6 exists in the flow distribution table 436. If Yes in S301, the process proceeds to S303, and if No, the process proceeds to S302.
In S302, the flow (S, G) is registered as a new entry in the flow distribution table 436. The entry contents are the address of the flow (S, G), the flow hash value calculated from the (S, G) address, and the distribution responsible IF in the hash space corresponding to the flow hash value.

S303として、フロー配信テーブル436内のフロー(S,G)の配信状態が「Leave」であるか否かを参照し、フローが未配信の状態か否かを判定する。S303でYesならS304へ進み、Noなら図8の処理を終了する。
S304として、フロー配信テーブル436内のフロー(S,G)ののIF列を自身が収容しているか否かを参照し、自身が配信担当か否かを判定する。S304でYesならS305へ進み、Noなら図8の処理を終了する。
S305として、フロー(S,G)の配信を開始する。具体的には、フロー配信テーブル436内の配信状態を「Join」としてから、配信フィルタ部437に対してフィルタの開放を指示し、MC配信網連携部432を介して配信サーバ1に配信要求(PIM−Join)を送信する。
In S303, it is determined whether or not the flow (S, G) distribution state in the flow distribution table 436 is “Leave” to determine whether or not the flow is in an undistributed state. If Yes in S303, the process proceeds to S304, and if No, the process of FIG.
In S304, it is determined whether or not it is in charge of distribution by referring to whether or not the IF column of the flow (S, G) in the flow distribution table 436 is accommodated. If Yes in S304, the process proceeds to S305, and if No, the process of FIG.
As S305, distribution of the flow (S, G) is started. Specifically, after setting the distribution state in the flow distribution table 436 to “Join”, the distribution filter unit 437 is instructed to open the filter, and the distribution server 1 is requested to distribute via the MC distribution network cooperation unit 432 ( PIM-Join) is transmitted.

以上説明した本実施形態では、図1で示したように、複数台の配信ルータ4を単一の共有セグメント5へと接続し、その複数台の配信ルータ4間でフロー単位に配信担当を割り当てることで、マルチキャスト配信処理におけるアクセス分散を実現する。つまり、系全体としての冗長構成による障害リスク分散だけでなく、障害が発生していないときでも配信ルータ4間でそれぞれ自身の配信担当のフローを配信するので、アクセス収容効率が向上する。   In the present embodiment described above, as shown in FIG. 1, a plurality of distribution routers 4 are connected to a single shared segment 5, and a distribution person is assigned in units of flow among the plurality of distribution routers 4. In this way, access distribution in the multicast distribution process is realized. In other words, not only is the failure risk distributed by the redundant configuration of the entire system, but also each flow in charge of distribution is distributed between the distribution routers 4 even when a failure has not occurred, thereby improving access accommodation efficiency.

一方、フロー単位に配信担当を割り当てないと、パケットコピー処理などに必要な配信ルータ4の計算資源や、パケット配信処理に必要な共有セグメント5上の配信パス(帯域)の通信資源は有限であるため、特定の資源に負荷が集中する。
それにより、システム全体の資源利用効率が低下し、輻輳によるパケット損失や遅延(ゆらぎ)の増加などのサービス品質の劣化がユーザの利便性を低下させる。ここで、負荷集中をシステム増強で安易に緩和するだけでは、過剰コストが発生してしまう。
On the other hand, if the person in charge of distribution is not assigned to each flow unit, the computing resources of the distribution router 4 necessary for packet copy processing and the communication resources of the distribution path (bandwidth) on the shared segment 5 necessary for packet distribution processing are limited. Therefore, the load is concentrated on a specific resource.
As a result, the resource utilization efficiency of the entire system is reduced, and deterioration of service quality such as an increase in packet loss and delay (fluctuation) due to congestion reduces the convenience for the user. Here, if the load concentration is easily relaxed by system enhancement, an excessive cost is generated.

各配信ルータ4は、図5で示したようなリング型のハッシュ空間を定義して、そのハッシュ空間に収まるようにIFハッシュ値とフローハッシュ値の両方を計算する。そして、IFハッシュ値とフローハッシュ値の方向距離に基づき、フローごとの配信担当を特定する。
そのため、配信ルータ4の増減設/障害切替/回復切戻などの各イベントにより、共有セグメント5へと接続された配信ルータ4の構成変更が発生しても、リング型に閉じたハッシュ空間での方向距離に基づいたフロー割当を再計算するため、構成変更が発生したIFハッシュ値に近接するフローを収容変更するだけで済むので、フローの配信処理の不安定の影響を局所的にすることができる。よって、配信の品質および信頼性を保ちつつ設備需要の変動に柔軟に対応可能なIPマルチキャスト配信サービスが提供可能となる。
Each distribution router 4 defines a ring-type hash space as shown in FIG. 5 and calculates both an IF hash value and a flow hash value so as to fit in the hash space. Based on the direction distance between the IF hash value and the flow hash value, the person in charge of distribution for each flow is specified.
Therefore, even if the configuration change of the distribution router 4 connected to the shared segment 5 occurs due to each event such as increase / decrease / failure switching / recovery switchback of the distribution router 4, Since the flow allocation based on the directional distance is recalculated, it is only necessary to accommodate and change the flow close to the IF hash value in which the configuration change has occurred. it can. Therefore, it is possible to provide an IP multicast distribution service that can flexibly cope with fluctuations in facility demand while maintaining the quality and reliability of distribution.

なお、ハッシュ値を計算するための引数として、IFの識別情報(IPアドレスなど)や、フローの識別情報((S,G)アドレス情報など)を用いることで、ハッシュ計算の引数にはIF数を含めなくてもよい。つまり、配信ルータ4の構成変更が発生しても、構成変更されていない多くの配信ルータ4のIFハッシュ値が変わらないので、フローの配信処理の不安定の影響を局所的に限定することができる。   It should be noted that by using IF identification information (IP address, etc.) and flow identification information ((S, G) address information, etc.) as an argument for calculating a hash value, the number of IFs is used as an argument for hash calculation. May not be included. In other words, even if the configuration change of the distribution router 4 occurs, the IF hash values of many distribution routers 4 that have not been changed in configuration do not change, and thus the influence of instability of flow distribution processing may be locally limited. it can.

さらに、ハッシュ計算の引数となる識別情報は、接続される全てのIFおよびホスト間で交換される制御パケット(マルチキャスト/ブロードキャスト)を検出監視することで、容易に取得することができる。よって、既存のプロトコルのパケットフォーマット(クエリやレポート)をそのまま活用できるので、ルータ/ホスト間で特別な制御情報を交換することなく、スケーラブルで簡素な方法で、各ルータが自律分散的にフローごとの配信担当を特定することができる。   Furthermore, identification information that is an argument of hash calculation can be easily obtained by detecting and monitoring all the IFs connected and the control packet (multicast / broadcast) exchanged between the hosts. Therefore, since the packet format (query and report) of the existing protocol can be used as it is, each router can autonomously distribute each flow in a scalable and simple manner without exchanging special control information between the router / host. The person in charge of distribution can be identified.

以上説明したように、単一の共有セグメント5へと接続された複数台の配信ルータ4が、それぞれの配信担当のフローを配信ルータ4の構成変更に対しても柔軟に対応するため、配信品質および信頼性を維持しつつトラヒック需要の変動に強いマルチキャスト配信制御が可能となり、地上デジタル放送/BSデジタル放送のIP再送信サービスなどのような、高品質かつ高信頼性なIPマルチキャスト配信サービスが実現可能となる。   As described above, since a plurality of distribution routers 4 connected to a single shared segment 5 can flexibly cope with each distribution flow in response to a configuration change of the distribution router 4, the distribution quality Multicast distribution control that can withstand fluctuations in traffic demand while maintaining reliability is possible, and high-quality and highly reliable IP multicast distribution services such as terrestrial digital broadcast / BS digital broadcast IP retransmission services are realized. It becomes possible.

1 配信サーバ
2 マルチキャスト配信網
3 リンク
4 配信ルータ
5 共有セグメント
6 ホスト
41 MC配信網接続インタフェース
42 MC配信網フレーム転送部
43 転送制御回路
44 共有セグメントフレーム転送部
45 共有セグメント接続インタフェース
411 受信IF部
412 送信IF部
421 フレーム受信部
422 フレーム送信部
431 配信状態管理部
432 MC配信網連携部
433 IF状態管理部
434 IF管理テーブル
435 フロー割当処理部
436 フロー配信テーブル
437 配信フィルタ部
441 フレーム送信部
442 フレーム受信部
451 送信IF部
452 受信IF部
DESCRIPTION OF SYMBOLS 1 Distribution server 2 Multicast distribution network 3 Link 4 Distribution router 5 Shared segment 6 Host 41 MC distribution network connection interface 42 MC distribution network frame transfer part 43 Transfer control circuit 44 Shared segment frame transfer part 45 Shared segment connection interface 411 Reception IF part 412 Transmission IF unit 421 Frame reception unit 422 Frame transmission unit 431 Distribution state management unit 432 MC distribution network cooperation unit 433 IF state management unit 434 IF management table 435 Flow allocation processing unit 436 Flow distribution table 437 Distribution filter unit 441 Frame transmission unit 442 frame Reception unit 451 Transmission IF unit 452 Reception IF unit

Claims (6)

ホストにマルチキャストのフローを配信する複数台の配信ルータと1台以上の前記ホストとが共有セグメントに接続され、その共有セグメントに送信されるパケットは、前記共有セグメントに接続される前記配信ルータおよび前記ホストがそれぞれ受信可能であるマルチキャスト配信システムに用いられる前記配信ルータであって、
前記共有セグメントに接続される前記配信ルータのインタフェースごとに、そのインタフェースの識別情報を引数として所定のハッシュ空間へと射影する第1ハッシュ関数を計算することで、IFハッシュ値を計算するIF状態管理部と、
前記共有セグメントを介して前記配信ルータによる配信されるフローごとに、そのフローの識別情報を引数として前記所定のハッシュ空間へと射影する第2ハッシュ関数を計算することで、フローハッシュ値を計算し、
計算した各前記IFハッシュ値によって区切られるハッシュ空間内の所定領域を、所定の前記IFハッシュ値の担当領域とし、その担当領域に含まれる前記フローハッシュ値に該当するフローを、所定の前記IFハッシュ値に該当する前記配信ルータのインタフェースが配信を担当するように制御し、
前記所定のハッシュ空間に対して新たに前記IFハッシュ値を追加するときには、追加する前記IFハッシュ値の担当領域を、前記IFハッシュ値の担当領域の1つを分割した領域とし、
前記所定のハッシュ空間から前記IFハッシュ値を削除するときには、削除する前記IFハッシュ値の担当領域を、他の1つの前記IFハッシュ値の担当領域へ統合するフロー割当処理部とを有することを特徴とする
配信ルータ。
A plurality of distribution routers for distributing a multicast flow to a host and one or more of the hosts are connected to a shared segment, and a packet transmitted to the shared segment includes the distribution router connected to the shared segment and the The distribution router used in a multicast distribution system that can be received by each host,
For each interface of the distribution router connected to the shared segment, an IF state management for calculating an IF hash value by calculating a first hash function that projects the identification information of the interface to a predetermined hash space as an argument And
For each flow distributed by the distribution router via the shared segment, a flow hash value is calculated by calculating a second hash function that projects the identification information of the flow onto the predetermined hash space as an argument. ,
A predetermined area in the hash space delimited by each calculated IF hash value is set as an assigned area of the predetermined IF hash value, and a flow corresponding to the flow hash value included in the assigned area is set as the predetermined IF hash Control that the interface of the distribution router corresponding to the value is responsible for distribution,
When newly adding the IF hash value to the predetermined hash space, the area in charge of the IF hash value to be added is an area obtained by dividing one of the areas in charge of the IF hash value,
When deleting the IF hash value from the predetermined hash space, it has a flow allocation processing unit that integrates the area in charge of the IF hash value to be deleted into another area in charge of the IF hash value. And delivery router.
前記IF状態管理部は、前記共有セグメントに流れる前記配信ルータからのマルチキャストのクエリメッセージを受信し、そのクエリメッセージに含まれる送信元IPアドレスを前記IFハッシュ値を計算するための前記インタフェースの識別情報として用いることを特徴とする
請求項1に記載の配信ルータ。
The IF state management unit receives the multicast query message from the distribution router flowing in the shared segment, and identifies the interface identification information for calculating the IF hash value for the source IP address included in the query message The distribution router according to claim 1, wherein the distribution router is used as a distribution router.
前記フロー割当処理部は、前記共有セグメントに流れる前記ホストからのマルチキャストのレポートメッセージを受信し、そのレポートメッセージに含まれる配信フローの送信元IPアドレス、および、配信フローの宛先IPアドレスのうちの少なくとも1つのIPアドレスを、前記フローハッシュ値を計算するための前記フローの識別情報として用いることを特徴とする
請求項1に記載の配信ルータ。
The flow allocation processing unit receives a multicast report message from the host that flows in the shared segment, and includes at least one of a source IP address of a distribution flow and a destination IP address of the distribution flow included in the report message The distribution router according to claim 1, wherein one IP address is used as identification information of the flow for calculating the flow hash value.
前記フロー割当処理部は、
前記計算したIFハッシュ値が互いに同じ値となる前記配信ルータのインタフェース群について、前記インタフェース群のうちの1つのインタフェースには、前記同じ値として計算したIFハッシュ値を対応づけて前記所定のハッシュ空間に割り当て、
前記インタフェース群のうちの他のインタフェースには、前記同じ値として計算したIFハッシュ値を起点として所定分だけ移動したIFハッシュ値を対応づけて前記所定のハッシュ空間に割り当て、
前記所定のハッシュ空間から前記1つのインタフェースのIFハッシュ値が削除されるときには、前記他のインタフェースに対応づけられていたIFハッシュ値を、前記所定のハッシュ空間において移動前のIFハッシュ値へと戻すことを特徴とする
請求項1ないし請求項3のいずれか1項に記載の配信ルータ。
The flow allocation processing unit
With respect to the interface group of the distribution router in which the calculated IF hash value is the same, one interface of the interface group is associated with the IF hash value calculated as the same value and the predetermined hash space Assigned to
The other interfaces in the interface group are assigned to the predetermined hash space by associating the IF hash value moved by a predetermined amount with the IF hash value calculated as the same value as a starting point,
When the IF hash value of the one interface is deleted from the predetermined hash space, the IF hash value associated with the other interface is returned to the IF hash value before movement in the predetermined hash space. The distribution router according to any one of claims 1 to 3, wherein the distribution router is characterized in that:
ホストにマルチキャストのフローを配信する複数台の配信ルータと1台以上の前記ホストとが共有セグメントに接続され、その共有セグメントに送信されるパケットは、前記共有セグメントに接続される前記配信ルータおよび前記ホストがそれぞれ受信可能であるマルチキャスト配信システムであって、
前記マルチキャスト配信システムに用いられる前記各配信ルータは、
前記共有セグメントに接続される前記配信ルータのインタフェースごとに、そのインタフェースの識別情報を引数として所定のハッシュ空間へと射影する第1ハッシュ関数を計算することで、IFハッシュ値を計算するIF状態管理部と、
前記共有セグメントを介して前記配信ルータによる配信されるフローごとに、そのフローの識別情報を引数として前記所定のハッシュ空間へと射影する第2ハッシュ関数を計算することで、フローハッシュ値を計算し、
計算した各前記IFハッシュ値によって区切られるハッシュ空間内の所定領域を、所定の前記IFハッシュ値の担当領域とし、その担当領域に含まれる前記フローハッシュ値に該当するフローを、所定の前記IFハッシュ値に該当する前記配信ルータのインタフェースが配信を担当するように制御し、
前記所定のハッシュ空間に対して新たに前記IFハッシュ値を追加するときには、追加する前記IFハッシュ値の担当領域を、前記IFハッシュ値の担当領域の1つを分割した領域とし、
前記所定のハッシュ空間から前記IFハッシュ値を削除するときには、削除する前記IFハッシュ値の担当領域を、他の1つの前記IFハッシュ値の担当領域へ統合するフロー割当処理部とを有することを特徴とする
マルチキャスト配信システム。
A plurality of distribution routers for distributing a multicast flow to a host and one or more of the hosts are connected to a shared segment, and a packet transmitted to the shared segment includes the distribution router connected to the shared segment and the A multicast distribution system in which each host can receive,
Each of the distribution routers used in the multicast distribution system is
For each interface of the distribution router connected to the shared segment, an IF state management for calculating an IF hash value by calculating a first hash function that projects the identification information of the interface to a predetermined hash space as an argument And
For each flow distributed by the distribution router via the shared segment, a flow hash value is calculated by calculating a second hash function that projects the identification information of the flow onto the predetermined hash space as an argument. ,
A predetermined area in the hash space delimited by each calculated IF hash value is set as an assigned area of the predetermined IF hash value, and a flow corresponding to the flow hash value included in the assigned area is set as the predetermined IF hash Control that the interface of the distribution router corresponding to the value is responsible for distribution,
When newly adding the IF hash value to the predetermined hash space, the area in charge of the IF hash value to be added is an area obtained by dividing one of the areas in charge of the IF hash value,
When deleting the IF hash value from the predetermined hash space, it has a flow allocation processing unit that integrates the area in charge of the IF hash value to be deleted into another area in charge of the IF hash value. Multicast distribution system.
ホストにマルチキャストのフローを配信する複数台の配信ルータと1台以上の前記ホストとが共有セグメントに接続され、その共有セグメントに送信されるパケットは、前記共有セグメントに接続される前記配信ルータおよび前記ホストがそれぞれ受信可能であるマルチキャスト配信システムが実行するマルチキャスト配信方法であって、
前記マルチキャスト配信システムに用いられる前記各配信ルータは、IF状態管理部と、フロー割当処理部とを有しており、
前記IF状態管理部は、前記共有セグメントに接続される前記配信ルータのインタフェースごとに、そのインタフェースの識別情報を引数として所定のハッシュ空間へと射影する第1ハッシュ関数を計算することで、IFハッシュ値を計算し、
前記フロー割当処理部は、
前記共有セグメントを介して前記配信ルータによる配信されるフローごとに、そのフローの識別情報を引数として前記所定のハッシュ空間へと射影する第2ハッシュ関数を計算することで、フローハッシュ値を計算し、
計算した各前記IFハッシュ値によって区切られるハッシュ空間内の所定領域を、所定の前記IFハッシュ値の担当領域とし、その担当領域に含まれる前記フローハッシュ値に該当するフローを、所定の前記IFハッシュ値に該当する前記配信ルータのインタフェースが配信を担当するように制御し、
前記所定のハッシュ空間に対して新たに前記IFハッシュ値を追加するときには、追加する前記IFハッシュ値の担当領域を、前記IFハッシュ値の担当領域の1つを分割した領域とし、
前記所定のハッシュ空間から前記IFハッシュ値を削除するときには、削除する前記IFハッシュ値の担当領域を、他の1つの前記IFハッシュ値の担当領域へ統合することを特徴とする
マルチキャスト配信方法。
A plurality of distribution routers for distributing a multicast flow to a host and one or more of the hosts are connected to a shared segment, and a packet transmitted to the shared segment includes the distribution router connected to the shared segment and the A multicast distribution method executed by a multicast distribution system that can be received by each host,
Each of the distribution routers used in the multicast distribution system has an IF state management unit and a flow allocation processing unit,
The IF state management unit calculates an IF hash for each interface of the distribution router connected to the shared segment by calculating a first hash function that projects the identification information of the interface onto a predetermined hash space as an argument. Calculate the value
The flow allocation processing unit
For each flow distributed by the distribution router via the shared segment, a flow hash value is calculated by calculating a second hash function that projects the identification information of the flow onto the predetermined hash space as an argument. ,
A predetermined area in the hash space delimited by each calculated IF hash value is set as an assigned area of the predetermined IF hash value, and a flow corresponding to the flow hash value included in the assigned area is set as the predetermined IF hash Control that the interface of the distribution router corresponding to the value is responsible for distribution,
When newly adding the IF hash value to the predetermined hash space, the area in charge of the IF hash value to be added is an area obtained by dividing one of the areas in charge of the IF hash value,
When deleting the IF hash value from the predetermined hash space, the area in charge of the IF hash value to be deleted is integrated into another area in charge of the IF hash value.
JP2011266094A 2011-12-05 2011-12-05 Distribution router, multicast distribution system, and multicast distribution method Expired - Fee Related JP5613142B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011266094A JP5613142B2 (en) 2011-12-05 2011-12-05 Distribution router, multicast distribution system, and multicast distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011266094A JP5613142B2 (en) 2011-12-05 2011-12-05 Distribution router, multicast distribution system, and multicast distribution method

Publications (2)

Publication Number Publication Date
JP2013118592A JP2013118592A (en) 2013-06-13
JP5613142B2 true JP5613142B2 (en) 2014-10-22

Family

ID=48712843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011266094A Expired - Fee Related JP5613142B2 (en) 2011-12-05 2011-12-05 Distribution router, multicast distribution system, and multicast distribution method

Country Status (1)

Country Link
JP (1) JP5613142B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5758858B2 (en) * 2012-08-07 2015-08-05 日本電信電話株式会社 Multicast delivery control method and delivery router

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5340062B2 (en) * 2009-07-14 2013-11-13 アラクサラネットワークス株式会社 Network relay device and network system

Also Published As

Publication number Publication date
JP2013118592A (en) 2013-06-13

Similar Documents

Publication Publication Date Title
JP6607892B2 (en) Multicast distributed by endpoints
US8185657B2 (en) Data generating device
US9131014B2 (en) Hitless pruning protocol upgrade on single supervisor network devices
US9019815B2 (en) Source alive route injection
US7859992B2 (en) Router redundancy in data communication networks
US7929420B2 (en) Method and apparatus for learning VRRP backup routers
US9219640B2 (en) Performing failover in a redundancy group
US20140075041A1 (en) System and method for data stream mirroring
US20180278577A1 (en) High availability bridging between layer 2 networks
WO2003003656A1 (en) Method and system for auto discovery of ip-based network elements
US11171796B2 (en) Managing multicast scaling
US11985027B2 (en) Systems and methods for seamless failover in branch deployments by superimposing clustering solution on VRRP
TW202103475A (en) Method for terminal device management, server and terminal device
JP5613142B2 (en) Distribution router, multicast distribution system, and multicast distribution method
US6647430B1 (en) Geographically separated totem rings
US10931572B2 (en) Decentralized control plane
JP2009017344A (en) Tcp session switching device and method, program, and recording medium
JP5572052B2 (en) Multicast distribution system, distribution router, and multicast distribution method
JP5553425B2 (en) Multicast distribution system, distribution router, and multicast distribution method
US10841040B2 (en) Acknowledgment and packet retransmission for spliced streams
JP5486547B2 (en) Multicast distribution system, distribution router, and multicast distribution method
JP2014082803A (en) Communication method and switching hub device
JP5486555B2 (en) Multicast delivery system, bandwidth management server, and multicast delivery method
JP2012134616A (en) Network monitoring system and method for registering its monitoring target device
JP2019161257A (en) Packet transfer device, packet transfer system, packet transfer program, and packet transfer method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140115

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140502

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140825

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: 20140902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140905

R150 Certificate of patent or registration of utility model

Ref document number: 5613142

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees