目次
MTUとMSSの確認方法|Ciscoルータとpingコマンドでの実践的チェック手順
ネットワークのトラブル対応やVPN構築時に、MTU(Maximum Transmission Unit)やMSS(Maximum Segment Size)の調整が必要になる場面は多々あります。
本記事では、Ciscoルータ 設定の観点から、MTUとMSSの違い・確認方法・調整方法を整理し、加えて端末からpingコマンドを用いたMTU調査方法

1. MTUとMSSの違いとは?
- MTU(Maximum Transmission Unit):1つのパケットとして転送できる最大サイズ(IP層)
- MSS(Maximum Segment Size):TCPで送信可能な最大セグメントサイズ(TCP層、通常MTUからIPヘッダ+TCPヘッダを引いた値)
例えば、イーサネットのMTUは通常1500バイト。TCP/IPのヘッダ(40バイト)を差し引いたMSSは1460バイトになります。
2. CiscoルータでのMTUとMSSの確認方法
インターフェースごとに現在のMTU値とMSS調整設定を確認するには以下のコマンドを使用します。
show interface GigabitEthernet0/0
出力例:
GigabitEthernet0/0 is up, line protocol is up MTU 1500 bytes, BW 1000000 Kbit/sec
MSS値を確認するには、以下のように設定が表示されていれば有効です。
interface GigabitEthernet0/0 ip tcp adjust-mss 1360
3. MSSの調整設定(VPNやPPPoE時によく使う)
MSSの調整は、VPNトンネルやPPPoE接続など、MTUが通常より小さくなるケースで非常に有効です。
interface Tunnel0 ip tcp adjust-mss 1360
一般的な目安:
- MTU 1500 → MSS 1460(デフォルト)
- MTU 1492(PPPoE)→ MSS 1452
- MTU 1400(VPN/IPsec)→ MSS 1360
4. pingコマンドを使ったMTU確認方法(端末側)
Windows/macOS/Linuxなどの端末から、pingを用いて「フラグメント禁止」の状態で送信し、どのサイズまで到達可能かを確認します。
Windowsの場合
ping -f -l 1472 www.google.com
-f
:フラグメント禁止(Don’t Fragment)-l
:送信データサイズ(IPヘッダ除く)
1472 + 28(IP + ICMPヘッダ)= 1500 バイト
→ 送信成功すればMTUは1500、失敗すれば段階的にサイズを減らして調整します。
Linux/macOSの場合
ping -M do -s 1472 www.google.com
-M do
:フラグメント禁止-s
:データサイズ
判定方法
成功:
Reply from 8.8.8.8: bytes=1472 time=15ms TTL=117
失敗:
Packet needs to be fragmented but DF set.
→ 成功する最大値 + 28バイト が現在のMTUです。
5. よくあるトラブルと対策
- VPN越しの通信が一部だけ失敗する → MTUが小さいがMSSが調整されていない
- Webサイトの一部が読み込めない → フラグメント禁止されたトラフィックが途中で破棄される
- トンネルインターフェースだけ通信が遅い → MTU調整に加えてQoSとの干渉も確認
対策
- 必要に応じてMTU値を調整(
ip mtu
) - TCPに対して
ip tcp adjust-mss
を併用 - pingでMTUの確認を行い、トラフィックに合わせた設計を
まとめ
MTUとMSSは、トラフィックがスムーズに流れるための重要なパラメータです。特にVPNやPPPoEなどMTUが制限される構成では、適切なMSS調整が必要です。
- MTUはインターフェース単位で確認
- MSSはTCPセッションの最大サイズとして調整可能
- pingによるMTU確認は手軽で有効な手段
- トラブル時には、断片化とフラグメント禁止設定に注目
「MTU 確認 ping」「Cisco MSS 調整」で検索する人向けに、本記事の内容が実務で役立つことを願っています。