レイヤ2検出プロトコル

レイヤ2検出プロトコルとは、直接接続された隣接機器(ネイバー)どうしが、お互いの情報(機器識別子(ホスト名等)・ポート情報・機種・管理用IPアドレス等)を自動的に交換し合う仕組みです。ケーブルの接続先を手作業で台帳管理しなくても、実際のネットワーク構成をコマンドから確認できるようになるため、構成管理やトラブルシューティングで広く活用されます。

CDP(Cisco Discovery Protocol)

CDPは、Cisco独自(プロプライエタリ)のレイヤ2検出プロトコルです。Cisco IOS/IOS XEを搭載する多くのCisco製機器では初期状態で有効ですが、プラットフォームやソフトウェアの設定によって異なります。CDPは主にCisco製機器間で利用されます。

  • グローバルに無効化:no cdp run(IP電話などCDPに依存する機器の動作に影響する場合があるため注意が必要です)
  • インターフェイス単位で無効化:no cdp enable
  • 確認コマンド:show cdp neighbors(概要)、show cdp neighbors detail(管理用IPアドレスやネイティブVLANを含む詳細情報)
Switch# show cdp neighbors

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
                  D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform       Port ID
RouterA          Gig 0/2           132        R S I       ISR4331        Gig 0/0
IPPhone1         Gig 0/3           170        P           CP-7960        Port 1

Capability列は、隣接機器の種類(R=ルータ、S=スイッチ、P=IP電話等)を示し、Local Intrfce・Port ID列から、どのポートどうしがケーブルで直接つながっているかを読み取れます。

LLDPは、IEEE 802.1ABで標準化された、ベンダーに依存しないレイヤ2検出プロトコルです。LLDPをサポートし、送受信を有効化した他ベンダーの機器との間でも情報交換ができます。Cisco IOS/IOS XEでは、CDPとは異なり、初期状態では無効であることが一般的ですが、プラットフォームやソフトウェアの設定によって異なります。

Switch(config)# lldp run
  • グローバルに無効化:no lldp run
  • インターフェイス単位で送受信を無効化:no lldp transmit / no lldp receive
  • 確認コマンド:show lldp neighbors(概要)、show lldp neighbors detail(詳細情報)
Switch# show lldp neighbors

Capability codes:
    (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device
    (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other

Device ID           Local Intf     Hold-time  Capability      Port ID
RouterA             Gig0/2         120        R               Gig0/0

Total entries displayed: 1

CDPとLLDPは、どちらも「隣接機器の機器識別子・接続ポート・機器種別が確認できる」という点で似た情報を提供しますが、LLDPは他ベンダー製の機器(Capability codesに(W)無線APなど、CDPには無い区分も含まれます)とも情報交換できる点が異なります。

CDPとLLDPの比較

観点CDPLLDP
標準化CiscoプロプライエタリIEEE 802.1AB(業界標準)
対応機器主にCisco製機器間で利用LLDP対応機器(ベンダー非依存)
初期状態Cisco IOS/IOS XEでは一般に有効Cisco IOS/IOS XEでは一般に無効(lldp runで有効化が必要)

マルチベンダー環境では、他社製機器との情報交換にLLDPが必要になる場面がある一方、Cisco製機器のみで構成された環境では、初期状態で動作するCDPがそのまま活用できます。

EtherChannel

EtherChannelは、スイッチ間(またはスイッチとルータ・サーバー間)を接続する複数の物理リンクを、1本の論理リンクとして束ねる技術です。EtherChannelを使うことで、次のような利点が得られます。

  • 束ねた本数分、ポートチャネル全体の集約帯域幅を拡大できる。通常、単一フローは1本の物理リンクを利用する
  • 1本のリンクが切れても、残りのリンクで通信を継続できる(冗長性)
  • 複数の物理リンクが同じ論理リンクとして扱われるため、スパニングツリーがそれらのリンクの一部をブロックする必要が無くなる

EtherChannelを構成する方式には、ネゴシエーションを行わない静的設定と、ネゴシエーションを行う方式があります。ネゴシエーションを行う方式には、業界標準のLACPのほか、Cisco独自のPAgPがあります。CCNA 200-301の出題範囲では、業界標準であるLACPが対象となっています。LACPは、ネゴシエーションを行う方式に用いる業界標準のプロトコルです。

LACPには、次の2つの動作モードがあります。

  • active:積極的にLACPネゴシエーションを開始します。
  • passive:相手側からのネゴシエーション開始を待ちます。

LACPを使用するEtherChannelが成立するには、両端の少なくとも一方がactiveモードである必要があります。両端がpassiveモードどうしの組み合わせでは、どちらもネゴシエーションを開始しないため、EtherChannelは形成されません。

設定コマンド

束ねる対象の各物理インターフェイスに対して、同一装置上では同じチャネルグループ番号を指定してchannel-groupコマンドを設定します。チャネルグループ番号は、対向機器側と一致させる必要はありません。

Switch(config)# interface range GigabitEthernet0/1-2
Switch(config-if-range)# channel-group 1 mode active

設定後は、自動的に作成される論理インターフェイス(Port-channel1)に対して、トランクポート・アクセスポートなどの共通設定を行うのが原則です。物理インターフェイスにはchannel-groupの設定が必要であり、メンバー間およびPort-channelとの設定に不整合がないことも必要です。

Switch(config)# interface Port-channel1
Switch(config-if)# switchport mode trunk

レイヤ2とレイヤ3のEtherChannel

  • レイヤ2 EtherChannel:束ねたリンクをスイッチポート(アクセスまたはトランク)として扱う、最も一般的な構成です。
  • レイヤ3 EtherChannel:マルチレイヤスイッチでは、束ねる各物理インターフェイスをno switchportコマンドでルーテッドポートに切り替えてからチャネルグループ化し、生成されたPort-channelインターフェイスに直接IPアドレスを割り当て、ルーテッドリンクとして扱う構成です。もともとルーテッドポートである機器では、no switchportは不要です。

設定の確認

show etherchannel summaryコマンドで、EtherChannelの状態(束ねられているインターフェイス、プロトコル、状態)を確認できます。

Switch# show etherchannel summary
Flags:  D - down        P - bundled in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator
        M - not in use, no aggregation

Number of channel-groups in use: 1
Number of aggregators:            1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         LACP      Gi0/1(P)    Gi0/2(P)

Po1(SU)のSはレイヤ2(スイッチング)としてEtherChannelが構成されていること、UはEtherChannelが正常に稼働中(in use)であることを示します。各物理インターフェイス欄の(P)は、そのインターフェイスがEtherChannelにバンドルされていることを表しています。(P)ではなく(I)(スタンドアロン)や(s)(サスペンド)と表示されている場合は、物理インターフェイスがEtherChannelにバンドルされていないことを示します。LACPの設定、対向機器との接続、設定の不整合などを確認します。