そもそもイーサネットとはLANで最も利用されているプロトコルのことです。
イーサネットを簡単にまとめてみた
イーサネットでは、通信の際にネットワークの端末をMACアドレスで識別します。
MACアドレスとは?
MACアドレスとはネットワークインターフェースカード(NIC)に割り当てられている固有の識別子で、物理アドレスやハードウェアアドレスとも呼ばれます。 ![Network-Interface-Controller.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/45ae3b61-57c2-d414-2f4c-ba5981c4cce7.jpeg)MACアドレスは48ビット(6バイト)で12桁の16進数を、2桁ごとにハイフン(-)またはコロン(;)で区切って表記します。
前半の24ビットはNICのベンダーを識別するIDでOUI(Organizationally Unique Identifier)と呼びます。
後半の24ビットは各ベンダーが独自に割り当てます。その際にベンダー内で重複しないように割り当てています。
この2つを合わせると、世界で唯一のMACアドレスになります。
イーサネットで扱うデータについて
イーサネットではイーサネットフレームと呼ばれるデータを扱います。 イーサネットフレームにはIEEE 802.3で規定されたIEEE 802.3形式とIntel、Xerox、DECによって開発されたEthernetⅡ形式(DIX)があります。 現在ではEthernetⅡ形式が広く普及していますので、EthernetⅡ形式のフレームを例に出して説明します。 ![スクリーンショット 2021-12-24 10.19.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/a51bedc8-9b0d-9dbc-d212-4003738acc3b.png) ①プリアンブル:1と0のビット列の信号で、イーサネットフレームでの通信時に同期を取るために利用される。 ②宛先MACアドレス:通信する宛先のMACアドレス ③送信元MACアドレス:通信する送信元のMACアドレス ④タイプ:上位層(ネットワーク層/インターネット層)のプロトコルを表す値(IPv4:0x0800、IPv6:0x86DDなど) ⑤データ:最小46バイト、最大1,500バイトのデータ(パケット)を格納する ⑥FCS(Frame Check Sequence):受信したデータに誤りがないかどうかをチェックするためのフィールドちなみに、イーサネットフレームの最大サイズを計算するにはそれぞれのサイズを加算すればいいのですが、この時プリアンブルは含めないため、イーサネットフレームの最大サイズは1,518バイトとなります。
半二重通信と全二重通信
イーサネットでは、半二重・全二重で通信を行います。半二重通信
半二重通信は、データの送信と受信を同時に行わず、送信側と受信側が交互にデータを送信することで通信を行う方式です。 ![スクリーンショット 2021-12-24 16.05.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/06576aba-edf0-7572-4e9f-2d986663e7ec.png) 半二重通信が利用される環境として、後述するリピータハブや同軸ケーブルでの接続などが挙げられます。全二重通信
データの送信と受信を受信側と送信側が同時に行うことができる方式です。 ![スクリーンショット 2021-12-24 16.08.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1430519/cc4b7a7f-6cb2-3cf4-a361-486d759ba2d0.png) 現在一般的にツイストペアケーブルが利用されているLAN環境では、ほとんどが全二重通信になります。CSMA/CD方式のアクセス制御
半二重通信の場合、同時にデータを送信してしまうとデータの衝突(コリジョン)が発生してしまいます。 データの衝突が起きるとデータの送受信ができなくなるため、アクセス制御により通信を制御します。イーサネットではアクセス制御にCSMA/CD(Carrier Sense Multiple Access with Collision Detection)方式を採用しています。
CSMA/CD方式では、端末は通信ルート上にデータが流れていないことを確認してから、データを送信します。
その後、データの衝突が発生していないかを監視します。
衝突が発生した場合には、それを検知し、衝突が起きたことを知らせるためのジャム信号を送信します。
回線を共有している他の端末は、ジャム信号を受け取るとデータの送信を中止し、ランダムな時間だけ待機してからデータを再送信します。
ランダムな時間なので、先に待ち時間が終わった端末から通信を再開し、他の端末は通信が終わってから通信を開始します。
近年では全二重通信で通信することが多く、リピータハブも使うこともないため、CSMA/CD方式でのアクセス制御を行うケースはほとんどありません。