Duplex Mismatch - Ethernet におけるDuplex 設定不一致の確認方法
Link Segment の両端でDuplex の設定に不一致(Duplex Mismatch)があると、一方はフレームを送信し続け、他方はほとんど送信できない状態が発生します。
※ Link Segment については、Collision - Link Segment におけるコリジョンの取り扱いを参照して下さい。
上の図では、PC はFull Duplex、Switch はHalf Duplex となっています。
Full Duplex の場合、フレームを送信中に対向機器からのフレームを受信しても、かまわず送信を続けます。
Half Duplex の場合、フレームを送信する前に、対向機器からのフレームの有無を確認します(CSMA/CD のCS:Carrier Sense)。
対向機器がフレームを送信中であれば(自分が受信中)、送信を見合わせます。
このため、 フレームを受信し続けている限り、Half Duplex 側は送信が出来ません。
Full Duplex 側も途切れなく送信し続けているわけではありませので、間隙を突いてフレーム送信を開始することもできないわけではありません。
仮に送信を開始できたとしても、Full Duplex 側がフレームを送信し始めると、コリジョンとなるので、送信を完了できる可能性は低くなります。
(Full Duplex 側は、コリジョンが発生してもかまわず送信を続けます)
Duplex Mismatch な状態は、スイッチやルータのポートで、以下のカウンタを確認することで把握できます。
Half Duplex 側:
送信している最中に対向機器からのフレームを受信すると、Half Duplex 側では、コリジョンが発生したと判断します。
また、Carrier Sense が16回発生すると(16回目の再送処理が発生すると)、フレーム送信をあきらめます(Excessive collision)。
Cisco のIOS では、show interface で確認できます。
Router#show interface ethernet0
Ethernet0 is up, line protocol is up
Hardware is Lance, address is 00xx.xxxx.xxxx (bia 00xx.xxxx.xxxx)
Internet address is 192.168.23.101/24
MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:03, output hang never
Last clearing of "show interface" counters never
Queueing strategy: fifo
Output queue 0/40, 0 drops; input queue 0/75, 2630 drops
5 minute input rate 2000 bits/sec, 3 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
7751694 packets input, 732225537 bytes, 19 no buffer
Received 7751694 broadcasts, 0 runts, 0 giants, 2630 throttles
513 input errors, 0 CRC, 0 frame, 0 overrun, 513 ignored
0 input packets with dribble condition detected
276177 packets output, 28200213 bytes, 0 underruns
1 output errors, 36 collisions, 2 interface resets
0 babbles, 0 late collision, 132 deferred
0 lost carrier, 0 no carrier
0 output buffer failures, 0 output buffers swapped out
Router#
コリジョンは、Half Duplex な環境であれば普通に発生し得るので、コリジョンだけを見ても正常か異常かの判断ができないこともあります。
その場合は、Late Collision を確認してください。
正常に動作しているEthernet では、Late Collision は発生しません。
フレームを送信し始めて512 Bit Time が経過してから発生したコリジョンは、Late Collision としてカウントされます。
Late Collision については、 Late Collision - Ethernet におけるコリジョン検出のメカニズム を参照してください。
Full Duplex 側:
コリジョンに遭遇すると、Half Duplex 側は送信を中断します。
そうすると、中断するまで送信中だったフレームの断片が、Full Duplex 側で受信されます。
不完全なフレームを受信したFull Duplex 側では、フレームの長さが64バイト未満であればRunts をカウントします。
フレームの長さが8ビットの倍数でない場合は、Alignment Errorとしてカウントされます。
そのようなフレームからは正しいCRC 値が生成できないので、CRC Error もカウントされます。
※ 機器の実装によっては一部のカウンターしかカウントしない場合もあります
Catalyst シリーズでも、Alignment Error カウンタの表示方法は機種により異なります。
下記の例は、Catalyst3750 のものです。
Cat3750#show controllers ethernet-controller fastEthernet 1/0/1
Transmit FastEthernet1/0/1 Receive
0 Bytes 0 Bytes
0 Unicast frames 0 Unicast frames
0 Multicast frames 0 Multicast frames
0 Broadcast frames 0 Broadcast frames
0 Too old frames 0 Unicast bytes
0 Deferred frames 0 Multicast bytes
0 MTU exceeded frames 0 Broadcast bytes
0 1 collision frames 0 Alignment errors
0 2 collision frames 0 FCS errors
0 3 collision frames 0 Oversize frames
0 4 collision frames 0 Undersize frames
0 5 collision frames 0 Collision fragments
0 6 collision frames
0 7 collision frames 0 Minimum size frames
0 8 collision frames 0 65 to 127 byte frames
0 9 collision frames 0 128 to 255 byte frames
0 10 collision frames 0 256 to 511 byte frames
0 11 collision frames 0 512 to 1023 byte frames
0 12 collision frames 0 1024 to 1518 byte frames
0 13 collision frames 0 Overrun frames
0 14 collision frames 0 Pause frames
0 15 collision frames
0 Excessive collisions 0 Symbol error frames
0 Late collisions 0 Invalid frames, too large
0 VLAN discard frames 0 Valid frames, too large
0 Excess defer frames 0 Invalid frames, too small
0 64 byte frames 0 Valid frames, too small
0 127 byte frames
0 255 byte frames 0 Too old frames
0 511 byte frames 0 Valid oversize frames
0 1023 byte frames 0 System FCS error frames
0 1518 byte frames 0 RxPortFifoFull drop frame
0 Too large frames
0 Good (1 coll) frames
0 Good (>1 coll) frames
Cat3750#
ネットワークエンジニアになろう!のトップページへ戻る