IPTV:VRFおよびグローバルテーブルでマルチキャストトラフィックをブロードキャストする

Habréで、私に非常に近いトピックであるIPTVに関する多くの記事を見つけてうれしく思いました。

私はこの記事を書くことで私の小さな貢献をすることにしました。



小さな紹介



中央地域のあるインターネットプロバイダーは、いくつかの都市で商用利用のためにIPTVサービスを提供しています。 基盤の1つ、または最も重要な基盤は、このサービスをコンテンツで満たすことです。これは明らかです。 そしてもちろん、オペレーターがすべてのコンテンツを1つの場所に集約し、そこから地域間データ伝送ネットワークを使用してブランチにブロードキャストする方がはるかに便利です。



問題の声明



コンテンツ集約の代わりのオペレーターには次のものがあります。

1. IPTVサービスを提供するサーバーファーム。

2.地域支社ネットワークとの共同農場。

3.ファームとISMT(地域間データネットワーク)の結合。

4. MRTDは、VRFを使用してサーバーファームの地域ネットワークから分離されます。

ファームサーバーの1つでマルチキャストを暗号化し、追加のビデオ多重化デバイスを使用せずに、この形式でISMTおよび地域ネットワークに転送する必要があります。 暗号化サーバーはここでストリーマーとして機能しますが、これには特定の制限があります。

1. 1つのTVチャネル-1つのライセンス、1つのマルチキャストグループ。

2. サーバーは、1つのインターフェースからのみストリーミングできます (1つのマルチキャスト送信元アドレスが主な問題です)。

暗号化サーバーのOSはRHEL5.4、ファームネットワーク機器はCisco 7600シリーズです。





解決策



最初に、出力で取得するものを模式的に示す必要があります。



画像



この問題に対する論理的でエレガントな解決策は、サーバー上にブリッジ暗号化サーバーを構成することです。これには、2つのタグ付き仮想インターフェイスが含まれます。



VRFおよびグローバルテーブルでは、PIMプロトコルを使用してマルチキャストルーティングを編成する2つのVLANを設定します。

グローバルテーブルのvlanタグが10であり、VRFで20であるとすると、次のようになります。



インターフェイスVlan10

説明#GRTの地域へのマルチキャスト#

mac-address 001c.b7a4.3d10

IPアドレス192.168.10.1 255.255.255.240

ip pimデンスモード

負荷間隔30

終わり



インターフェイスVlan20

説明#MSPDへのマルチキャスト#

mac-address 001c.b7a4.3d11

ip vrf転送MSPD

IPアドレス192.168.20.1 255.255.255.240

IPリダイレクトなし

ip pimデンスモード

負荷間隔30

終わり



次のステップは、暗号化サーバーの接続ポートを構成することです。



インターフェイスGigabitEthernet2 / 20

説明#ストリームアウト#

スイッチポート

スイッチポートトランクカプセル化dot1q

スイッチポートトランクはvlan 10.20を許可しました

スイッチポートモードトランク

負荷間隔30

MDIXオートなし

CDPを有効にしない

スパニングツリーbpdufilter有効

終わり



この場合、スパニングツリーbpdufilterを含めることは必須です。そうしないと、Linuxブリッジとciscoは「同意しません」。

次に、ブリッジ自体を上げる必要があります。 これには、ブリッジユーティリティ、カーネルブリッジサポート、およびタグ付き802.1qトラフィック用のネットワークインターフェイスサポートが必要です。

RHELでは、/ etc / sysconfig / network-scriptsにある構成ファイルを使用してインターフェースが構成されます。

ifcfg-eth1.10:

DEVICE = eth1.10

VLAN =はい

HWADDR = 00:21:5E:65:FA:F2

ONBOOT =はい

BOOTPROTO =静的

TYPE =イーサネット

ブリッジ= stream1



ifcfg-eth1.20:

デバイス= eth1.20

VLAN =はい

HWADDR = 00:21:5E:65:FA:F2

ONBOOT =はい

BOOTPROTO =静的

TYPE =イーサネット

ブリッジ= stream1



ifcfg-stream1ブリッジ構成

DEVICE = stream1

HWADDR = 00:21:5E:65:FA:F2

ONBOOT =はい

BOOTPROTO =静的

TYPE =ブリッジ

IPADDR = 192.168.10.2

NETMASK = 255.255.255.240

STP =オフ



インターフェイスを上げる前に、ブリッジを通るループを回避するために、カーネルでip forwardを無効にします。

エコー1> / proc / sys / net / ipv4 / ip_forward

また、 Fortableチェーンを通過するパケットをドロップするようにiptablesおよびebtablesを構成します。

インターフェイスを大胆に上げ、ルートと2番目のアドレスをブリッジに追加します:ifup eth1.10 && ifup eth1.20 && ifup stream1

ip addr add 192.168.20.2/28 dev stream1

ip route add 224.0.0.0/4 dev stream1



これで、暗号化されたマルチキャストがグローバルテーブルとVRFの両方に注がれました。

1つの詳細が残っています。VRFからオペレーターのネットワークまでマルチキャストをルーティングするには、VRFのソースアドレス(7600、つまり192.168.10.2)へのルートが必要です。

ip route vrf mspd 192.168.10.2 255.255.255.255 192.168.20.2



この記事が誰かに役立つことを願っています。

そして、私を招待してくれたUFOに感謝します!



All Articles