Archives 2月 2021

Network Layer(OSI Model)

ここではOSIモデルを基準に記していきます。

  1. L1 – Physical Layer
    • 物理レイヤー、ネットワークアダプター等のハードウェアを示します
  2. L2 – Datalink Layer
    • LinuxなどのOSではデバイスドライバーでありネットワークチップの入出力を行うファームウェアです。
    • デバイスドライバーはC言語、アセンブラーで記述され、最低単位のパケットの送受信を行います。アセンブラー、C言語以外ではハードウェアをアクセスすることに問題があります。
    • これらはデバイスやそのファミリー単位に異なります。
  3. L3 – Network Layer
    • 相互接続されたネットワーク、つまりインターネットを可能にするプロトコルとテクノロジーで構成されています。この層は、ネットワーク全体のルーティングが行われる場所です。ネットワークを通過するデータはパケットに分割され、これらのパケットは第3層で宛先を与えられ、目的地へ送信されます。このプロセスで最も重要なプロトコルはインターネットプロトコル(IP)です。
  4. L4 – Transport Layer
    • データの送信元と送信先の間での制御や通知、交渉などを担う。相手方まで確実に効率よくデータを届けるためのコネクション(仮想的な専用伝送路)の確立や切断、データ圧縮、誤り検出・訂正、再送制御などの仕様が含まます。
    • この層でTCP、UDPに分類されます。TCPは送受信間のデータの保証がとられます。
    • L2からここまでのレイヤーはOSレベルでC言語で記述され、他の言語ではハードウェアにアクセスすることが考慮されていないしRaw Socket の処理もできません。
  5. L5 – Session Layer より上層
    • この層以上のレイヤーでは「アプリケーション層」(application layer)となります。HTTP(ウェブ)やDNS、FTP、SMTP(メール送信)、POP3(メール受信)、IMAP4(メール受信)、SSL/TLSなど具体的な機能を定義したプロトコル群がなり、これらを利用するアプリケーションソフトが含まれます。