先週がネットワークのLAN,WANの話だったので、今週はプロトコルを中心に説明する。
CSMA/CD方式
まず最初に、Ethernetの基本的な方法であるCSMA/CD方式について説明する。 基本Ethernetはバス方式なので、だれかが通信していれば、他の人は通信ができなくなる。 見かけ上、複数人数が使うために、パケットに分割して送ることで、Multiple Access が 実現できていることを説明。Ethernetではバス制御の管理者に相当する機器は存在しないため、 通信機器はバスが空いていれば使うのが原則(Carrier Sense)、しかしバス空きの確認と、 バスにデータを出すタイミングは時間差があるので、空いていると思って信号を出しても、 他の機器と競合(衝突)を起こすかもしれない。だからこそ、通信で衝突が発生したか把握する必要がある。(Collision Detect)
Ethernetでは、バスが空いていれば信号を出すという方式から、 1本のバスに大量の機器がつながることはできない。 だからこそサブネットに分割する必要がある。 このため、通信するときには、通信相手を区別するためのIPアドレスが割り振られ、 ネットワーク番号と、ホスト番号の組合せで、サブネット外の通信と、サブネット内の直接通信が 区別できる。
TCP/IP
IPアドレスは、現在IPv4という32bitが主流。IPv6という128bitのアドレス方式も模索されている。 基本、通信は相手IPアドレスと自分のIPアドレスにサブネットマスクを論理積でかけ、 取り出されたネットワーク番号が同じであれば、残りのホスト番号を使って直接通信を行う。 ネットワーク番号が異なれば、ルータに中継を依頼する。(Internet Protocol)
パケットを細切れにしてIPプロトコルでの通信では、途中で一部のパケットが消えたり、パケットの到着順序が混乱してしまう。このため、TCPプロトコルによって、再送やパケットの並べ替えを行うことで、信頼性の高い通信をつくる。このTCPとIPによる通信が基礎となり、一般的にTCP/IPと呼ばれる。
DNSとドメイン名
IPアドレスによる通信相手の指定は、メカニズムは単純だがアドレスを覚えるのは困難。 このため、コンピュータに名前をつけて、アドレスを調べられるようにする。 この名前はドメイン名と呼ばれ、Domain Name Service(DNS)は、この名前とアドレスの番号を 調べたりするサービス。
WWWとメール
サービスを提供するサーバでは、複数の通信プログラムが動いている場合、 その相手を区別する必要があり、ポート番号と呼ばれる。 インターネットの通信では、プロトコルとポート番号が対応付けられており、 WWW(http)では80番、メール(SMTP)では25番といったようになっている。 WWWでは、"http://ドメイン名/ファイル名" のようなURLが使われるが、 先頭のhttp:のスキーマ欄で、ポート番号が80番、ドメイン名をDNSによって調べ、 相手のコンピュータのIPアドレスが判明し、通信が始まる。 HTTPでは、ファイル名にあたる部分を相手サーバに送り、その返事のHTMLファイルを、 ブラウザがそのタグの文法に沿って文字や絵をレイアウトして表示する。