概要
このドキュメントでは、Catalyst 9000シリーズスイッチのIGMP機能がMicrosoft Network Load Balancer(NLB)展開でどのように動作するかについて説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Microsoft NLB操作モード
- IGMPマルチキャスト
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Catalyst 9200
- Catalyst 9300
- Catalyst 9400
- Catalyst 9500
- Catalyst 9600
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
NLBは、すべてのWindows 2000 ServerおよびWindows 2003 Serverファミリシステムで使用できるクラスタテクノロジーです。これは、クラスタ全体の宛先 IP アドレスとしてすべてのクライアントに単一の仮想 IP アドレスを提供します。
NLBは、一連のサーバにクライアント要求を分散するために使用できます。NLBでは、クライアントに許容可能なパフォーマンスレベルを提供するために、クライアントの負荷が増加するにつれてステートレスアプリケーション(IISベースのWebサーバーなど)をスケールアウトするために追加のサーバーを追加する機能を提供しています。また、サーバの誤動作によるダウンタイムも短縮されます。
次の 3 つのモードのいずれかで動作するように NLB を設定できます。
- ユニキャスト モード
- マルチキャスト モード
- インターネット グループ管理プロトコル(IGMP)モード
ヒント:ユニキャストモードとマルチキャストモードの導入では、ドキュメント『Microsoft Network Load Balancing用のCatalystスイッチの設定例』で説明されている設定と検証が同じです
このドキュメントでは、Internet Group Management Protocol(IGMP)モードを中心に説明します。
ベスト プラクティス
Catalyst 9000シリーズスイッチは、スヌーピングテーブルにデータを入力するために、IGMPパケットのレイヤ3ヘッダーをスヌーピングします。スタティックマルチキャストMACを使用してスイッチでNLBを設定する必要があるため、IGMPスヌーピングテーブルにデータが入力されず、宛先VLANでフラッディングが発生します。つまり、NLBサーバがIGMPモードの場合、Catalyst 9000のIGMPスヌーピングでは、マルチキャストフラッドが自動的には抑止されません(Catalyst 9000の転送は、マルチキャストMACアドレスではなくマルチキャストIPに基づいて行われます)。
注:Catalyst 9000では、フラッディングはNLBの3つのモードすべてで発生します。パケットの宛先がデフォルトゲートウェイである必要があるため、ユーザVLANではフラッディングは発生しません。フラッドが発生するのは、宛先VLANへのヘッダーの書き換え後だけです。
そのため、導入を成功させるために次のベストプラクティスを検討してください。
- 専用VLANを使用して、フラッディングをNLBクラスタだけに制限します。
- スタティックMACエントリを使用して、NLB VLAN内でフラッディングが発生するポートを制限します。
IGMP モード
このモードでは、NLBクラスタの仮想MACアドレスはInternet Assigned Numbers Authority(IANA)の範囲内にあり、0100.5exx.xxxxで始まります。「 IGMP Snooping
スイッチに設定された機能は、クラスタの仮想マルチキャストMACアドレスをMACアドレステーブルにプログラムしません。このダイナミックプログラミングがないため、スイッチがNLBクラスタから受信したマルチキャストトラフィックは、同じVLANのすべてのポートメンバーにフラッディングされます。Cisco Bug ID CSCvw18989。
NLBサーバがユーザとは異なるVLANに存在するトポロジの場合、クラスタの仮想IPアドレスはマルチキャストMACアドレスを使用するため、ローカルサブネットの外部からは到達できません。これを解決するには、クラスタVLAN内にレイヤ3インターフェイスを持つ各デバイスにスタティックARPエントリを設定する必要があります。
Catalyst 9000シリーズスイッチのIGMPスヌーピング機能は、マルチキャストMACアドレスを転送に使用しません。これらはマルチキャストIPアドレスを使用するため、他のレガシープラットフォーム(Catalyst 6000シリーズなど)とは異なり、マルチキャストMACアドレスをMACテーブルに自動的にプログラムできません。すべての新しいプラットフォームは、マルチキャストIPアドレス転送方式を使用して、レガシースイッチで見られるアドレスの重複の問題を回避します。
注:イーサネットマルチキャストMACアドレスには、オーバーラップする部分があります。同じMACアドレスが32の異なるマルチキャストグループに割り当てられています。イーサネットセグメント上のあるユーザがマルチキャストグループ225.1.1.1に加入し、別のユーザが230.1.1.1に加入している場合、両方のユーザが両方のマルチキャストストリームを受信します(MACアドレスは同じ01-00-5e-01-01-01)。LANセグメント上のマルチキャストネットワークを設計する際には、このオーバーラップを特に監視し、問題を回避するように設計する必要があります。
設定
同じVLAN内の送信元と宛先
ネットワーク図
このセクションでは、クラスタとユーザが同じVLANにある場合にNLBを設定する方法について説明します。
1. NLB VLANが作成されていることを確認します。フラッドが原因で、NLBトラフィック専用のVLANを設定することを推奨します。
C9300-01#show vlan id 10
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
10 NLB active Te1/0/1, Te1/0/2, Te1/0/3
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
10 enet 100010 1500 - - - - - 0 0
Remote SPAN VLAN
----------------
Disabled
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
2.CこのNLBトラフィックを取得する必要があるポートのスタティックMACアドレスエントリを設定します。このコマンドには、NLB VLANのNLBクラスタへのパス内のすべてのトランクポートまたはアクセスポートを含める必要があります。この図では、Tengig1/0/2経由でNLBに向かうパスは1つだけです。
C9300-01(config)#mac address-table static 0100.5e01.0155 vlan 10 interface TenGigabitEthernet 1/0/2
C9300-01#show run | in mac
mac address-table static 0100.5e01.0155 vlan 10 interface TenGigabitEthernet1/0/2
注:スタティックMACアドレスエントリには、必要な数のマッピングポートを含めることができます。このポートマップにより、NLBのVLAN内で予想されるフラッディングが減少します。この例では、スタティックMACエントリにより、NLBクラスタへのトラフィックがTe1/0/3からフラッディングされるのを回避できます。
異なるVLANの送信元と宛先
ネットワーク図
このセクションでは、クラスタとユーザが異なるVLANにある場合にNLBを設定する方法について説明します。
1. NLB VLANとIPアドレスをNLBクラスタのデフォルトゲートウェイとして設定します。
C9300-01#show vlan id 10
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
10 NLB active Te1/0/2, Te1/0/3
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
10 enet 100010 1500 - - - - - 0 0
Remote SPAN VLAN
----------------
Disabled
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
C9300-01#show run interface vlan 10
Building configuration...
Current configuration : 59 bytes
!
interface Vlan10
ip address 10.1.1.1 255.255.255.0
end
2. NLBクラスターサーバーの仮想IPアドレスの静的ARPエントリを構成します。スタティックARPは、クラスタVLAN内にスイッチ仮想インターフェイス(SVI)を持つすべてのレイヤ3デバイスで設定する必要があります。スタティックARPの目的は、ルーティングされたパケットをNLB VLANに送信するために必要な書き換え情報をスイッチが持てるようにすることです。
C9300-01(config)#
arp 10.1.1.85 0100.5e01.0155 arpa
3.アクセスレイヤで作成されたユーザVLANとそのデフォルトゲートウェイを確認します。両側でデフォルトゲートウェイを設定することが重要です。(NLBクラスタおよびユーザー)。
C9300-01#show vlan id 11
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
11 Users2 active Te1/0/1, Te1/0/4
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
11 enet 100011 1500 - - - - - 0 0
Remote SPAN VLAN
----------------
Disabled
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
C9300-01#show run interface vlan 11
Building configuration...
Current configuration : 59 bytes
!
interface Vlan11
ip address 172.16.1.1 255.255.255.0
end
注:宛先MACが出力SVIで学習されないMACヘッダーの書き換え後にルーティングされるパケットは、対応するVLANにフラッディングされます。フラッドを軽減するには、NLBサーバ専用のゲートウェイと個別のVLANを作成する必要があります。NLBトラフィック専用のVLANを設定しない場合は、NLBトラフィックを受信する必要があるポートのスタティックMACアドレスエントリ、つまりmac address-table static 0100.5exx.xxxx vlan # interface interface_nameを設定できます
トラブルシュート
1.トラフィックをNLBに転送する必要があるすべての宛先ポートにスタティックMACアドレスが設定されているかどうかを確認します。
C9300-01#show mac address multicast
Vlan Mac Address Type Ports
---- ----------- ---- -----
10 0100.5e01.0155 USER Te1/0/2
2. NLBクラスターがクライアントとは異なるサブネットにある展開では、NLBサーバーの仮想IPをマルチキャストMACアドレスにマップする静的ARPエントリが存在するかどうかを確認してください。
C9300-01#show run | in arp
arp 10.1.1.85 0100.5e01.0155 ARPA
C9300-01#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.1.1.1 - c4c6.0309.cf46 ARPA Vlan10
Internet 10.1.1.85 - 0100.5e01.0155 ARPA
Internet 172.16.1.1 - c4c6.0309.cf54 ARPA Vlan11
3.あまり使用されていないサイズでNLBサーバーIPにpingを実行します。ポートのコントローラをクリアし、サイズがあまり使用されていないコマンドを複数回繰り返して確認します。
C9300-01#show controllers ethernet-controller Te1/0/2 | in 1024
0 1024 to 1518 byte frames 0 1024 to 1518 byte frames
C9300-01#clear controllers ethernet-controller Te1/0/2
HOST#ping 10.1.1.85 time 0 rep 1000 size 1024
Type escape sequence to abort.
Sending 1000, 1024-byte ICMP Echos to 10.1.1.85, timeout is 0 seconds:
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
......................................................................
....................
Success rate is 0 percent (0/1000)
4. pingが宛先ポートから正しく転送されているかどうか、および同じpingテストが他のポートにフラッディングされているかどうかを確認します。別のインターフェイスで同じcontrollers countersコマンドを使用して、これを確認します。
C9300-01#show controllers ethernet-controller Te1/0/1 | in 1024 <-- Ingress Host port
0 1024 to 1518 byte frames 1000 1024 to 1518 byte frames
C9300-01#show controllers ethernet-controller Te1/0/2 | in 1024 <-- Egress port to NLB
1000 1024 to 1518 byte frames 0 1024 to 1518 byte frames
5. EPCの場合は入力ポートで、SPANの場合は出力ポートでパケットキャプチャを取得し、スイッチがデータを転送しているかどうかを確認します。
C9300-01#monitor capture tac buffer size 10 match any interface Te1/0/1 in
C9300-01#monitor capture tac start
C9300-01#monitor capture tac stop
C9300-01#monitor capture tac export location flash:DataTraffic.pcap
ヒント:組み込みパケットキャプチャ(EPC)機能は、パケットがレイヤ2の入力方向または出力方向で転送される場合に信頼性があります。ただし、トラフィックがスイッチによってルーティングされてから出力ポートに転送される場合、EPCは信頼できません。レイヤ3ルーティングが発生した後に出力のパケットをキャプチャするには、スイッチポートアナライザ(SPAN)機能を使用します。
C9300-01(config)#monitor session 1 source interface Te1/0/2 tx
C9300-01(config)#monitor session 1 destination interface Te1/0/3 encapsulation replicate
C9300-01#show monitor session all
Session 1
---------
Type : Local Session
Source Ports :
TX Only : Te1/0/2
Destination Ports : Te1/0/3
Encapsulation : Replicate
Ingress : Disabled
関連情報