Network Layer(OSI Model)

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