【イーサネットとは】
現在のLANの通信方式は、「イーサネット(Ethernet)」と呼ばれる通信方式が
主流となっていて、イーサネットがLANの発展を支えて来たといえます。
このイーサネットの生みの親は、米国Xerox社のパロアルト研究所で、
考えだ出されたのは1972年から73年頃で、正式に発表されたのが1976年の
ことです。
その後1980年になってDEC、Intel、Xeroxの3社の協力で統合規格「DIXイーサ
ネット」として実用化されることになりました。
これが実用的であったことから広く使われるようになり、デファクトスタンダード
となっていきました。
やがて、これを正式な国際標準規格として定める動きが始まり、1983年に
「IEEE802.3」として規格化されました。これが10BASE5と呼ばれている規格
です。
その後媒体が同軸ケーブルからツイストペアケーブル、光ファイバーケーブル
と追加され、転送速度も当初の10Mbpsから100Mbps、1Gbps、10Gbpsと
追加されて規格もそれぞれに制定追加されて行きました。
現在定められている標準規格で、代表的なものは下記のようなもので、これ
以外にも光ファイバーケーブルを使った規格などが数多く制定されています。
転送速度 規格名称 符号化方式 ケーブル仕様 ケーブル
最大長10Mbps 10BASE5 マンチェスター 50Ω同軸(10mm径) 500m 10BASE2 50Ω同軸(5mm径) 185m 10BASE-T UTP(2対CAT3) 100m 100Mbps 100BASE-T 100BASE-TX 4B5B MLT-3 UTP(2対CAT5) 100m 100BASE-T4 8B6T UTP(4対CAT3) 100BASE-T2 PAM5x5 UTP(2対CAT3) 100BASE-FX 4B5B NRIZ 光ファイバ 2000m 1Gbps 1000BASE-X 1000BASE-FX 8B10B 光ファイバ 550m〜
5000m
ここで規格名称として使われている記号の見方は下記のようになっています。
【通信方式は】
イーサネットによる通信方式は、基本は同軸ケーブルを使った高速パケット
通信なのですが、通信効率と、ハードウェア上の手順を効率化するために、
CSMA/CDという方式を採用しています。
これは、送信するステーションがラインの信号をチェックして、送信キャリアが、
今流れているかどうかを判定し、送信中であれば少し待ってから再度チェックし、
送信キャリアが無く空いていたら自分が送信するという方式です。
略号は下記となりますが、ことばどおり送信が衝突しているかどうかをセンス
する方式です。
CSMA/CD:Carrier Sense Multiple Access with Collision Detection
そして、ある送信ステーションから送信されたデータは全てのステーションが
受信します。つまり通信は放送と同じで常に「ブロードキャスト」で行われます。
受信した全てのステーションで、データに含まれている送信先アドレスを確認し
自分のアドレスと一致したステーションだけがそのデータを取り込みます。
しかし、たまたま複数のステーションが同時に送信を始めてしまうこともあり
えます。このときには、この衝突を検知した送信ステーションは直ぐにデータの
代わりに「JAM信号」を一定時間出力します。これにより全てのステーションが
衝突が起きたことを確実に知り、受信したデータを廃棄します。
その後送信ステーションはランダムな時間を待ったあと、再度送信を試みます。
このようにして、ランダムな待ち時間とすることで同じ衝突が起きることが無いよう
にしています。
このような方式で全てのステーションが送信を平等にすることが出来、かつ
間違ったデータを受信することが無いようにしています。
【トポロジーとは】
イーサネットでよく出てくる言葉に「トポロジー」という言葉があります。
これはネットワークの解説で出てくる言葉で、ネットワークの通信路の構成
のことを言います。大別すると、バス型、スター型、リング型の3つになります。
現在のイーサネットのトポロジーは下図のようにバス型とスター型の組合せ
で構成されています。つまり、まずバックボーンとなる高速イーサネットは、
100BASE-FXや1000BASE-Xなどの高速のバス型で構成し、サーバやハブ
などを接続します。そして各端末のパソコンはハブを基点にして100BASE-T
や10BASE-Tのツイストペア線でスター型の構成とします。
【プロトコルとは】
色々な種類のコンピュータなどをネットワークで接続して通信を行いデータの
送受信をするためには、人間と同じように、互いに理解できる「ことば」で話す
必要があります。
つまりコンピュータ同士が正しく通信するためには、それぞれのコンピュータ
が共通の規則と手続きに従う必要があり、これを「プロトコル」と呼びます。
ネットワークに接続するコンピュータには、そのネットワークで利用されている
プロトコルに応じたプログラムモジュールが必要になりますが、これを毎回別々
に作りこんでいては大変な労力が必要となるので、この通信プロトコルの部分を
独立のプログラムモジュールにしています。これを通常「プロトコルスタック」と
呼んでいます。このプロトコルスタックを共用することで開発の手間を減らせる
ことになります。
さらにネットワーク全体を1個のプロトコルで定義しようとすると、非常に大規模
で複雑なものになり、プロトコルの設計や実装などを行うのが困難になります。
そこで、複雑さを減らすために、通常はプロトコルをいくつかの層(layer)に分解
して、階層的な構造として取り扱うことが広く行われています。
ある特定の層のプロトコルは、その上の層へ提供するサービスと、下の層から
提供されるサービスによって定義されることになるわけです。