ここでは、次の内容について説明します。
TCP/IP ネットワークで発生した問題のトラブルシューティングを行う場合は、まず問題の発生したコンピュータの
注
ipconfig コマンドを /all オプションを指定して実行すると、すべてのインターフェイスに関して、構成済みのすべてのシリアル ポートまで含む詳細な構成情報が表示されます。 ipconfig /all では、コマンドの出力をファイルにリダイレクトしたり、出力をほかのドキュメントに貼りつけたりできます。 この出力は、ネットワーク上の各コンピュータの
たとえば、既存の IP アドレスと重複する IP アドレスを持つように構成されているコンピュータがあると、サブネット マスクが 0.0.0.0 となります。
Windows 2000 IP Configuration
Node Type . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . : No
WINS Proxy Enabled. . . . . : No
Ethernet adapter Local Area Connection:
Host Name . . . . . . . . . : corp1.microsoft.com
DNS Servers . . . . . . . . : 10.1.0.200
Description . . . . . . . . : 3Com 3C90x Ethernet Adapter
Physical Address. . . . . . : 00-60-08-3E-46-07
DHCP Enabled. . . . . . . . : Yes
Autoconfiguration Enabled . : Yes
IP Address. . . . . . . . . : 192.168.0.112
Subnet Mask . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . : 192.168.0.1
DHCP Server . . . . . . . . : 10.1.0.50
Primary WINS Server . . . . : 10.1.0.101
Secondary WINS Server . . . : 10.1.0.102
Lease Obtained. . . . . . . : 1998 年 9 月 2 日 水曜日 午前 10:32:13
Lease Expires . . . . . . . : 1998 年 9 月 18 日 金曜日 午前 10:32:13
TCP/IP の構成に何も問題がなければ、次は、
ipconfig /renew コマンドを実行すると、DHCP を使用するコンピュータ上のすべてのネットワーク アダプタ (手動で構成するものは除く) が DHCP サーバーと通信し、既存の構成を更新するか、または新しい構成を取得しようとします。
ipconfig コマンドでは、/release オプションを指定してホストの現在の DHCP 構成を直ちに解放することもできます。 DHCP およびリース処理の詳細については、「クライアントが構成を取得する方法」を参照してください。
注
ipconfig コマンドでは、次の操作も行うことができます。
詳細については、「ipconfig コマンドを使ってクライアント リゾルバ キャッシュをフラッシュおよびリセットするには」を参照してください。
詳細については、「ipconfig コマンドを使って DNS クライアントの登録を書き換える」を参照してください。
詳細については、「DHCP クラス ID 情報をクライアント コンピュータで表示するには」を参照してください。
詳細については、「DHCP クラス ID 情報をクライアント コンピュータで設定するには」を参照してください。
ping コマンドは、IP レベルでの接続の確認に役立ちます。 トラブルシューティングを行う際、ping を使うと、ICMP エコー要求を目的のホスト名または IP アドレス宛に送ることができます。 ホスト コンピュータが
通常は、まず接続しようとしているネットワーク ホストの IP アドレスを指定して ping コマンドを実行し、ローカル コンピュータとネットワーク ホストの間にルートがあることを確認するのが最もよい方法です。 次のコマンドを使って目的のホストの IP アドレスを ping してみて、応答があるかどうかを調べます。
ping IP_address
ping を使う場合は、次の手順に従って実行してください。
ping 127.0.0.1
ping IP_address_of_local_host
ping IP_address_of_default_gateway
ping IP_address_of_remote_host
ping コマンドは、Windows のソケット スタイルの名前解決を使ってコンピュータ名を IP アドレスに解決するため、アドレスでの ping には成功し、名前での ping に失敗する場合は、ネットワーク接続ではなくアドレスまたは名前の解決に問題があります。 詳細については、「arp を使ってハードウェア アドレスをトラブルシューティングする」を参照してください。
どの点でも ping を正常に使えない場合は、次の点を確認してください。
ping コマンドでは、各種オプションを指定することにより、使用するパケットのサイズ、送信するパケットの数、使用されたルートを記録するかどうか、使用する TTL (Time-To-Live: 生存時間) 値、"don't fragment (フラグメント化しない)" フラグをオンにするかどうかなどを指定することができます。 ping
次に示すのは、サイズが 1,450 バイトの 2 つの ping を IP アドレス 172.16.48.10 へ送った例です。
C:¥>ping -n 2 -l 1450 172.16.48.10
Pinging 172.16.48.10 with 1450 bytes of data:
Reply from 172,160,480,10: bytes=1450 time<10ms TTL=32
Reply from 172,160,480,10:bytes=1450 time<10ms TTL=32
Ping statistics for 157.59.8.1:
Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate roundtrip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms
既定の設定では、ping は、各応答を 1,000 ms (1 秒間) 待ち、この時間が経過しても応答が返されないと "Request Timed Out" というメッセージを表示します。 遅延の大きいリンク (衛星リンクなど) を介して接続されたリモート システムに ping すると、応答が返されるまでにこれより長い時間を要する可能性もあります。
ARP (Address Resolution Protocol: アドレス解決プロトコル) を使うと、同一物理ネットワーク上にあるホストの IP アドレスを指定して、そのホストのメディア アクセス制御アドレスを取得することができます。 ARP の効率を高めるために、各コンピュータは、IP アドレスからメディア アクセス制御アドレスへのマッピングをキャッシュして、同じ ARP ブロードキャスト要求が繰り返し送信されないようにしています。
arp コマンドを使うと、ローカル コンピュータ上の ARP テーブルのエントリを表示および変更できます。 arp コマンドは、ARP キャッシュの内容を表示し、アドレス解決に関する問題を解決する際に役立ちます。
詳細については、「ARP (Address Resolution Protocol: アドレス解決プロトコル) キャッシュを表示するには」および「静的な ARP キャッシュ エントリを追加する」を参照してください。
NetBIOS over TCP/IP (NetBT) は、NetBIOS 名を IP アドレスに解決します。
Nbtstat は、NetBIOS 名解決で発生した問題をトラブルシューティングする際に便利なツールです。 次のように nbtstat コマンドを使うと、あらかじめ読み込むエントリを削除または修正できます。
NetBIOS connection table
Local name State In/out Remote Host Input Output
------------------------------------------------------------------
CORP1 <00> Connected Out CORPSUP1<20> 6MB 5MB
CORP1 <00> Connected Out CORPPRINT<20> 108KB 116KB
CORP1 <00> Connected Out CORPSRC1<20> 299KB 19KB
CORP1 <00> Connected Out CORPEMAIL1<20> 324KB 19KB
CORP1 <03> Listening
netstat コマンドを使うと、プロトコルの統計情報と現在の
C:¥>netstat -e
Interface Statistics
Received Sent
Bytes 3995837940 47224622
Unicast packets 120099 131015
Non-unicast packets 7579544 3823
Discards 0 0
Errors 0 0
Unknown protocols 363054211
C:¥>netstat -a
Active Connections
Proto Local Address Foreign Address State
TCP CORP1:1572 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1589 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1606 172.16.105.245:nbsession ESTABLISHED
TCP CORP1:1632 172.16.48.213:nbsession ESTABLISHED
TCP CORP1:1659 172.16.48.169:nbsession ESTABLISHED
TCP CORP1:1714 172.16.48.203:nbsession ESTABLISHED
TCP CORP1:1719 172.16.48.36:nbsession ESTABLISHED
TCP CORP1:1241 172.16.48.101:nbsession ESTABLISHED
UDP CORP1:1025 *:*
UDP CORP1:snmp *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
C:¥>netstat -s
IP Statistics
Packets Received = 5378528
Received Header Errors = 738854
Received Address Errors = 23150
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 4616524
Output Requests = 132702
Routing Discards = 157
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures = 0
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0
ICMP Statistics
Received Sent
Messages 693 4
Errors 0 0
Destination Unreachable 685 0
Time Exceeded 0 0
Parameter Problems 0 0
Source Quenches 0 0
Redirects 0 0
Echoes 4 0
Echo Replies 0 4
Timestamps 0 0
Timestamp Replies 0 0
Address Masks 0 0
Address Mask Replies 0 0
TCP Statistics
Active Opens = 597
Passive Opens = 135
Failed Connection Attempts = 107
Reset Connections = 91
Current Connections = 8
Segments Received = 106770
Segments Sent = 118431
Segments Retransmitted = 461
UDP Statistics
Datagrams Received = 4157136
No Ports = 351928
Receive Errors = 2
Datagrams Sent = 13809
tracert (Trace Route) は、IP データグラムが送信先に到達するまでにたどるルートを調べるために使用されるルート追跡ユーティリティです。 tracert コマンドは、IP の TTL (Time-To-Live: 生存時間) フィールドと ICMP エラー メッセージを使って、1 つのホストからネットワークを介しての別のホストまでのルートを調べます。
この診断ユーティリティは、ICMP (Internet Control Message Protocol: インターネット制御メッセージ プロトコル) エコー パケットにさまざまな TTL (Time-To-Live: 有効期限) の値を載せて宛て先に送信することで、宛て先へのルートを突き止めます。 ルート上の各ルーターは、パケットを転送する際、転送前にパケットの TTL 値を少なくとも 1 だけ小さくしなければなりません。パケット上の TTL が 0 になったら、ルーターは、送信元コンピュータに ICMP Time Exceeded メッセージを送り返すことになっています。
tracert は、まず、エコー パケットに TTL 値 1 を載せて送信し、次のルーターにエコー パケットが送信されるたびに TTL を 1 だけ増分していきます。 ターゲットが応答するか、最大 TTL に達するまでこれを継続します。tracert は、中間のルーターから送り返された "ICMP Time Exceeded" メッセージを調べてルーターを突き止めます。 ルーターの中には、パケットの TTL が 0 になってもエラー メッセージを送信せずにパケットを破棄するため、tracert ユーティリティからは検出できないものもあります。
tracert コマンドは、ルート上にあり、"ICMP Time Exceeded" メッセージを返してきたルーターを近い側のインターフェイスから順に一覧表示します。 tracert ユーティリティは、
次に示す例では、パケットは、172.16.0.99 のホストに到達するまでに 2 つのルーター (10.0.0.1 と 192.168.0.1) を経由しなければなりません。 ホストのデフォルト ゲートウェイは 10.0.0.1、192.168.0.0 ネットワーク上のルーターの IP アドレスは 192.168.0.1 です。
C:¥>tracert 172.16.0.99 -d
Tracing route to 172.16.0.99 over a maximum of 30 hops
1 2 ms 3 ms 2 ms 10.0.0.1
2 75 ms 83 ms 88 ms 192.168.0.1
3 73 ms 79 ms 93 ms 172.16.0.99
Trace complete.
tracert コマンドを使うと、ネットワーク上のどこでパケットが止まっているかを調べることができます。 次の例では、デフォルト ゲートウェイが 192.168.10.99 上のホストへの有効なルートを持たないことがわかりました。 おそらく、ルーターの構成に問題があるか、または 192.168.10.0 というネットワークが存在しません (不正な IP アドレス)。
C:¥>tracert 192.168.10.99
Tracing route to 192.168.10.99 over a maximum of 30 hops
1 10.0.0.1 reports: Destination net unreachable.
Trace complete.
tracert ユーティリティは、同一ポイントへ到達するまでに何通りものルートを取ることができるような大規模ネットワークのトラブルシューティングに便利です。
tracert コマンドでは、次の表に示すようないくつものオプションがサポートされています。
tracert [
| オプション | 説明 |
|---|---|
| -d | IP アドレスがホスト名に解決されないように指定します。 |
| -h maximum_hops | target_name に指定したホスト名までのルートの追跡に許されるホップ数を指定します。 |
| -j host-list | tracert ユーティリティのパケットが取るルート内のルーター インターフェイスのリストを指定します。 |
| -w timeout | タイムアウトで指定したミリ秒だけ、応答するのを毎回待ちます。 |
| ターゲット名 | 目的のホストの名前または IP アドレス。 |
詳細については、「tracert コマンドを使ってパスを追跡する」を参照してください。
pathping コマンドは、ping コマンドと tracert コマンドの機能を組み合わせたルート トレース ツールで、どちらのツールからも提供されない追加情報を提供します。pathping コマンドは、最終的な宛先への経路上にある各ルーターに対して、一定の時間にわたってパケットを送信し、各ホップから戻ってくるパケットに基づいて結果を計算します。指定のルーターやリンクにおけるパケット損失の割合が表示されるので、ネットワークの問題を引き起こしている可能性があるルーターやリンクを、簡単に判別できます。次の表に示すように、いくつかのオプションを利用できます。
| オプション | 名前 | 機能 |
|---|---|---|
| -n | ホスト名 | アドレスをホスト名に解決しません。 |
| -h | 最大ホップ | ターゲット検索用の最大ホップ数。 |
| -g | ホスト一覧 | ホストの一覧に沿った自由なソース ルート。 |
| -p | 待ち時間 | ping 間の待ち時間 (ミリ秒単位)。 |
| -q | クエリ数 | ホップあたりのクエリ数。 |
| -w | Time-out | ここで指定するミリ秒数だけ、各応答を待ちます。 |
| -T | レイヤ 2 タグ | パケットにレイヤ 2 タグ (たとえば、IEEE 802.1p 用) を追加して、パスにある各ネットワーク デバイスに送信します。 これにより、適切に構成されたレイヤ 2 優先順位を持たないネットワーク デバイスを識別することができます。 -T スイッチは、QoS (Quality of Service: サービスの品質) 接続のテストに使用されます。 |
| -R | RSVP テスト | パス上の各ルーターが RSVP (Resource Reservation Protocol) をサポートするかどうかを調べます。RSVP を使うと、ホスト コンピュータはデータ ストリームに一定量の帯域幅を予約することができます。 -R スイッチは、QoS (Quality of Service: サービスの品質) 接続のテストに使用されます。 |
既定のホップ数は 30 で、タイムアウトまでの既定の待ち時間は 3 秒です。既定の間隔は 250 ミリ秒で、パス上の各ルーターへの既定のクエリ数は 100 です。
次は、一般的な pathping コマンドのレポートです。ホップの一覧に続く、収集された統計情報は、各ルーターにおけるパケット損失を表します。
D:¥>pathping -n msw
Tracing route to msw [7.54.1.196]
over a maximum of 30 hops:
0 172.16.87.35
1 172.16.87.218
2 192.68.52.1
3 192.68.80.1
4 7.54.247.14
5 7.54.1.196
Computing statistics for 125 seconds...
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
0 172.16.87.35
0/ 100 = 0% |
1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.218
13/ 100 = 13% |
2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.68.52.1
0/ 100 = 0% |
3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.68.80.1
0/ 100 = 0% |
4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14
0/ 100 = 0% |
5 24ms 13/ 100 = 13% 0/ 100 = 0% 10,540,10,196
Trace complete.
pathping を実行すると、問題発生の検査の対象であるルートの結果が、最初に表示されます。このパスは、tracert コマンドで表示されるパスと同じです。その後、pathping コマンドは、125 秒間にわたってビジー メッセージを表示します (この時間はホップ数によって変更します)。この間、pathping は、直前に一覧したすべてのルーターと、ルーター間のリンクから情報を収集します。これが終了すると、検査の結果が表示されます。
右端の 2 つの列の [This Node/Link Lost/Sent=Pct] および [Address] に、最も有用な情報が表示されます。172.16.87.218 (ホップ 1) と 192.68.52.1 (ホップ 2) との間のリンクでは、パケットの 13% が失われています。ほかのすべてのリンクは、正常に動作しています。ホップ 2 およびホップ 4 のルーターでも、[This Node/Link] 列に示すように、送信されてきたパケットが失われていますが、この損失は転送パスには影響していません。
リンクに対して表示される損失の割合 (右端の列の "|" でマーク) は、パスに沿って転送されているパケットの損失を表します。この損失は、リンクが混雑していることを表します。ルーターに対して表示される損失の割合 (右端の列は IP アドレス) は、ルーターの CPI が過負荷の可能性があることを表します。これらの混雑しているルーターは、パケットが特にソフトウェア ルーターによって転送されている場合に、エンド ツー エンドの問題の要因になる可能性もあります。