このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。
現在のインターネットで使用される代表的なデータリンクは Ethernet です。 一方、その他に広く使われるのが、一対一通信で用いられるシリアル伝送です。 シリアル伝送とはデータ列を時間的に分散して送る物で、最低限、一本の信号 線と一本のアース線があれば可能です。 パソコンのシリアルインタフェースには、RS-232C、モデムポート、USB、IEEE 1394 などがあります。 一方インターネットで良く使われるシリアル伝送には以下の物があります。
シリアル伝送路の共通する特徴には次の物があります。
通常のシリアル通信路は文字などを連続して送ることができるだけなので、そ のままではパケット通信はできません。 また、通信中に誤りが発生した時、送ったデータを最初から全て再送するのは 避けたいです。 そこで、文字列のならびにルールを与えて、文字列をフレーム化することを考 えます。このようにするとフレームにパケットを入れたり、また、フレーム毎 に誤り訂正符号を付加したりできます。
データの区切りを表す特殊な文字を フラグ と呼びます。
シリアル伝送されるものを一桁の数字であると仮定します。 その時、始めの一文字はフレームの長さを表すとします。
フラグ | データ | フラグ | データ | フラグ | データ | |
---|---|---|---|---|---|---|
5 | 1 2 3 4 | 2 | 5 | 5 | 4 2 7 4 | ... |
フレーム長を表す部分に通信誤りが発生すると、それ以降のフレームが正しく 認識されなくなってしまいます。
フラグバイト方式は、特殊な文字(フラグ文字)をフレームの区 切りとして用いるものです。 この方法だと、 通信誤りによって境界情報が失われてしまっても、その境界付近のフレームだ けに影響が限定します。
フラグ文字 | データ | フラグ文字 | データ | フラグ文字 | データ |
---|
さて、ここでバイナリデータと呼ばれる全文字の送信の可能性のあるデータの 通信を考えます。 つまりこれはフラグ文字もデータとして送る可能性があると言うことです。 素朴にフラグ文字を送ってしまうと、フラグ文字はデータの境界として認識さ れ、データとしては届きません。 そこで、文字詰めやバイト詰めと呼ばれる方法を使います。 これには ESC 記号というフラグとは別の文字を選んで、次のルールでデータ を送ります。
このようにすると受信側では以下の手順により正しくフラグ文字や ESC 文字 を受け取ることができます。
データ | 送られる列 | 受信データ |
---|---|---|
A B | フラグ A B フラグ | A B |
A フラグ B | フラグ A ESC フラグ B フラグ | A フラグ B |
A ESC B | フラグ A ESC ESC B フラグ | A ESC B |
この手法はパソコンのモデムなどで利用されてます。
フラグバイト方式は 1Byte が基本になってましたが、これは8bit 1 文字を単 位に全てを考えなければなりません。 ここで議論している内容は文字と言う概念が必要なアプリケーション寄りの話 ではなく、どちらかというと電圧や光線の有無などの信号の連続において、フ レームと言う概念を導入することです。 したがって、フレームの中に 8bit 1 文字のデータが入ると勝手に決めない方 が良いです。 そのため、任意の長さのビット列をフレームに分けて送る方法を考えます。
ビット詰めという手法は次のようなものです。
データ | 送られる列 | 受信データ |
---|---|---|
1101 | 01111110 1101 01111110 | 1101 |
11111 | 01111110 111110 01111110 | 11111 |
11111111 | 01111110 111110111 01111110 | 11111111 |
HDLC(High-level Data Link Control) はシリアル伝送でパケット 通信を実現するプロトコルです。 もともとは IBM の開発した SDLC(Syncronous Data Link Control) を ISO が修正して規格としたものです。 情報通信工学実験のルータネットワークでシリアルケーブルを使いますが、そ の時の通信方式はなにも設定していなければ HDLC です。
PPP(Point to Point Protocol) は次のような特徴を持つプロトコ ルです。
モデムを使用してインターネットを使用することは少なくなりました。 しかし、ADSL などの回線において、接続、認証、IPアドレスの交付などをさ せるために、接続方式は Ethernet にも関わらず、 PPP を利用する PPPoE(PPP over Ethernet) はよく使われています。 PPP は DHCP と違い、ユーザアカウントとパスワードを持っているコンピュータだけに接続を許可することができます。