takashi kono's blog

コーヒーとキーボードと共に何かを記録していくブログ

はじめてUNIXで仕事をする人が読む本 の備忘録 14 データリンク層

はじめてUNIX で仕事をする人が読む本 の備忘録 14

お世話になった本

この連載ブログを書くにあたり、お世話になった本がこちら。LPICと被っているところもありますが、実務での使い方なんかも扱っており、良書だと思います。

第14章 データリンク層

データリンク層の役割は、通信相手との間に施設された物理的なネットワーク接続(物理層)を使用して、直接に情報の送受信を行うこと。

データリンクとは

データリンクが備えるべき機能は下記のようなものがある。ただし、全てが必ず必要というわけではない。

  • データ転送
    • データを転送する
    • 最も重要な機能
    • 送信側が送出したデータを受信側がきちんと受け取れるようになっている必要がある
  • 衝突回避
    • データリンクが使用する物理層によっては、多数の機器が同一の物理メディアを共用して通信を行う場合がある。
    • その時に衝突が起こる可能性がある
    • その衝突をなくしたり、減らしたりする機能
  • 誤り検出/訂正
    • 信号の劣化などでデータの一部や全部が破損や紛失の可能性がある
    • 受信側が受け取ったデータが正しいか確認する機能
    • 壊れたデータをわざと破棄する機能
    • ある程度の破損なら誤りを訂正する機能
  • フロー制御
    • 送信データが受信側機器の能力を超えて送られた場合に、受信側で取りこぼしをできるだけ少なくする機能

データリンクの基本

1:1 のPoint-to-Point と、1:n のMultiple Access がある。
Multiple Access にも、複数タイプがある。バス型、リング型、スイッチ型である。
また、一度に片方向の通信しか出来ないデータリンクを半二重リンク、同時に双方向の通信を行えるデータリンクを全二重リンクと呼ぶ。
Multiple Access の場合、ノード間を区別する必要がある。その仕組みをメディアアクセス制御(Media Access Control)という。その識別子のことをMAC アドレスと呼ぶ。
Ethernet で使われるEUI-48 形式のMACアドレスがよく知られている。

衝突を回避するための仕組み

  • CSMA/CD
    • Carrier Sense Multiple Access / Collision Detection
    • 衝突を検知したら、送信を中断し、ランダム時間まって再送する
    • Ethernet などで広く使われている
  • CSMA/CA
    • 送信する前に待ち時間を挿入することで衝突を避ける。
    • 無線LAN などで多く使われる
  • トークンパッシング
    • ノード間で送信権を順番に渡していき、送信ケインを得たノードののみが送信することで衝突を回避する

Ethernet

有線LAN としては、現在最も広く使用されているデータリンクである。

ベースバンドの違いで、10BASE/100BASE/1000BASE/10GBASE などがある。

現在一番良く使われているツイストペアケーブルのEthernet は、衝突の発生しないスイッチ型のデータリンクがあることが多い。

無線LAN

主に、Wi-Fi認証を受けた無線機器同士で2.4GHz 帯や5GHz 帯の電波を使って通信を行うことでEthernet と同程度の通信機能を無線で実現したデータリンクである。

空間を使うので、基本的に衝突を起こす。

第三者が通信内容を容易に通信内容を傍受できる。

できるだけ新しい暗号化方式の物を使って通信を行うことを推奨する。  

Point-to-Point 接続

1:1 通信
1:1 になれば、結構色々な媒体が使われる。
シリアルケーブル・公衆回線・光ファイバ・赤外線・Bluetooth・更には、Multiple Access の中で仮想的に1:1接続を作るトンネル接続まである。
代表的な仮想接続は、PPPoE (Point-to-Point Protocol over Ethernet)

一番身近だと勝手に思っているのは、みなさんの自宅の固定回線です。必ずどこかとPPPoE でキャリアの網内のどこかと終端しています。(多分)


以上で、第14章 データリンク層を終わります。
次回は、第15章 IPと関連プロトコルを書きます。