物理層の魔術:PoE++ (IEEE 802.3bt) が解き放つ90W給電の現場と罠
ネットワークエンジニアの皆さん、こんにちは。
かつて、イーサネットケーブルは「データを運ぶもの」でした。しかし今や、それは「電力を運ぶ動脈」でもあります。IP電話や無線LANアクセスポイントへの数ワットの給電に始まり、今やIEEE 802.3bt(通称 PoE++)によって、最大90Wという「もはや電気機器への電源供給」レベルのパワーがLANケーブルを通じて送られる時代です。
今日は、現場でPTZカメラの再起動ループに頭を抱えたことのあるあなたへ。物理層からプロトコルの深淵まで、この「90Wの力学」を紐解いていきましょう。
—
1. PoE++ (802.3bt) の仕組み:4ペア給電の「握手」
従来のPoE/PoE+(802.3af/at)は、Cat5e以上のケーブルにある4対のツイストペアのうち、2対だけを使って給電していました。しかし、90Wを送るには抵抗による発熱と電圧降下が壁となります。
そこで登場したのが 4ペア給電 です。
物理的なハンドシェイクのシーケンス
PoE++の肝は、PSE(給電側スイッチ)とPD(受電側機器)間で行われる「分類(Classification)」フェーズにあります。
1. Detection(検出): PSEは2.5V〜10V程度の微弱な電圧をかけ、PD側の25kΩの抵抗値を見て「お、こいつはPoE対応機器だな」と判断します。
2. Classification(分類): ここが802.3btの真骨頂です。PSEはパルスを送信し、PDが応答する「クラス(Class 1〜8)」を読み取ります。90W(Type 4)を要求する場合、PDは多段階のパルス応答を通じて「私は大食いですよ」とネゴシエーションします。
3. Power-up: 全ての合意が取れた後、初めて高電圧(50V以上)が印加されます。
このプロセスを理解していないと、「ケーブルを刺したのに電源が入らない」「負荷がかかった瞬間に落ちる」といった、物理層特有のトラブルに遭遇することになります。
—
2. 運用現場のトラブルシューティング:CLIで確認すべきこと
現場で最も多いのが「LLDPによる電力ネゴシエーションの失敗」です。ハードウェアレベルでは給電が始まっても、OS上の設定やLLDPのネゴシエーションで電力量が制限されるケースがあります。
例えば、Cisco Catalystスイッチで現在の給電状況を確認する際は、以下のコマンドを叩くのが定石です。
# インターフェースごとの給電状況を詳細に確認する
show power inline interface GigabitEthernet 1/0/1 detail
# 出力例(抜粋)
# Admin State: auto
# Operational State: power-on
# Power Drawn: 60.0 Watts
# Discovery Protocol: LLDP <-- ここが重要!
# Power Negotiation: 802.3bt Type 3/4
もし Power Drawn が期待値より低い場合、スイッチ側の power inline 設定を確認してください。デフォルトで max 設定になっていない場合、ポートが物理的に90Wをサポートしていても、スイッチの予算(Power Budget)内で制限されることがあります。
! 設定例:特定のインターフェースで最大90Wを許可する
interface GigabitEthernet 1/0/1
power inline consumption default 90000 ! 90Wをミリワット単位で指定
—
3. 実務的な視点:APIで「電力」を監視・制御する
インフラ運用がコード化される現代において、PoEの状況を可視化することは重要です。SNMPやREST APIを使って、高消費電力のデバイスを遠隔監視するPythonスクリプトの例を紹介します。
(※APIの詳細はスイッチのメーカー提供のAPIドキュメントを参照してください)
import requests
# スイッチのREST APIを叩いてPoEのステータスを取得するイメージ
def get_poe_status(device_ip, interface_name):
url = f"https://{device_ip}/restconf/data/interfaces/interface={interface_name}/poe"
headers = {"Accept": "application/yang-data+json"}
try:
response = requests.get(url, headers=headers, auth=('admin', 'password'), verify=False)
data = response.json()
# 消費電力(W)を取得
power_drawn = data['poe']['power-drawn']
print(f"Interface {interface_name} is drawing {power_drawn}W")
if power_drawn > 85:
print("警告: 90W制限に近づいています!")
except Exception as e:
print(f"監視エラー: {e}")
# 実行
get_poe_status("192.168.1.1", "GigabitEthernet1/0/1")
—
4. エンジニアへのアドバイス:物理層を甘く見るな
最後に、ベテランとして一つだけ忠告を。90Wという電力は、細いLANケーブルの中ではかなりの「熱」に変換されます。
- ケーブルの品質: 安価なCCA(銅被覆アルミニウム)ケーブルは絶対に使わないでください。抵抗値が高く、熱で被覆が溶ける、あるいは電圧降下で機器が不安定になる原因になります。必ず「フル銅」のCat6A以上を選んでください。
- 束ね方: ケーブルを束ねて結束バンドで強く締めすぎると、熱がこもり、パケットロス(挿入損失の増大)や電力供給の不安定化を招きます。
PoE++は便利ですが、それは物理層の極限を利用した技術です。データパケットだけでなく、ケーブルを流れる「目に見えない電流」にも意識を向けること。それが、真のネットワークスペシャリストへの近道です。
それでは、また次回の深いネットワークの世界でお会いしましょう。現場からは以上です。
コメント