もくじ
物理層
ビット
情報を0と1で表現する。物理層で扱うデータの単位
データリンク層
データリンク層で定義されているもの
- ハードウェアアドレス
MACアドレス, 物理アドレスともいう。 - フレームのフォーマット・作成方法
- フロー制御
- エラー制御
- 同期
隣接ノード間での通信をにかかわる機能が定義されています。
データリンク層で扱うデータのことをフレームと呼ぶ。隣接ノードとは1つのは回線に接続されたノード。
受信フレームのエラーチェックを行います。
受信フレームのFCSに含まれる値をもとにフレーム全体のエラーチェックを行います。その結果エラーが検出されるとそのフレームを破棄します。
フレーム
データリンク層で扱うデータの単位
MACアドレス
LANにおいて、データリンク層で通信相手を識別するアドレス
スイッチング
スイッチがデータリンク層レベルで受信フレームを転送処理すること
ネットワーク層
ネットワーク層は複数の異なるネットワークを介したノード間の通信(エンドツーエンドの通信)を実現するための機能が定義されています。
- ソフトウェアアドレス
ハードウェアに依存しない論理アドレス。ネットワーク番号とノード番号から構成されます。IPアドレス。 - ルーティング
- データの中継
ネットワーク層で扱うデータをパケットまたはデータグラムと呼びます。ソフトウェアアドレスはパケットまたはデータグラムのヘッダに含まれます。
- IP(Internet Protocol)
IPによってあるホストから別のホストへデータを送り届けることができます。これをエンドツーエンドの通信と呼びます。IPによって運ばれるデータをIPパケットと呼びます。 - パケット
ネットワーク層で扱うデータの単位 - IPアドレス
TCP/IPで通信相手を識別するアドレス - ルーティング
パケットの中継先経路を選択し、転送すること
IPv4ヘッダフォーマット
@see http://www.infraexpert.com/study/tcpip1.html
TTL(Time To Live)
パケットの生存時間。正確にはパケットが何台のルータを経由することができるかを表す。TTLはルーティングテーブルに不整合があったとき、IPパケットがネットワーク内を延々とループしてしまうことを防ぐためのものです。
トランスポート層
エンドツーエンドの通信の信頼性を提供するための機能がサポートされています。
- エンドツーエンドのエラー制御
エラーがあったデータの再送要求 - エンドツーエンドの順序制御
データが正しい順序で届くようにあるいは順序が異なって届いても元の順序に再構成できるようにします。 - エンドツーエンドでのフロー制御
ネットワークの混雑の度合いに応じてデータの送信量を変化させる
- シーケンシング
シーケンス番号を使用して、送信データが正しい順序で届くように、あるいは順序が異なって届いても元の順序で再構成できるようにする制御機能。 - フロー制御
ネットワークの混雑の度合いや受信側ノードの処理能力に応じて送信側ノードがデータの送信量を調整する制御機能。 - エラー制御
受信したデータが届いているか、またはエラーが発生していないかどうかを受信側ノードが送信側ノードに通知し、送信側が必要に応じてデータの再送を行う制御機能。 - 確認応答
データが届いたかどうかをACKを使用して確認する制御機能。
UDP(User Datagram Protocol)
コネクションレス型のトランスポート層のプロトコル
TCP(Transmission Control Protocol)
コネクション型のトランスポート層のプロトコル。
セグメント
TCPが扱うデータの単位
Windowing
TCPがデータ転送時に行うフロー制御
TCP, UDPに共通するフィールド
- 送信元ポート番号
- 宛先ポート番号
- チェックサム
TCP, UDPともにポート番号によって上位のアプリケーションを識別します。
TCPとUDPの違い
TCPは信頼性のある通信を保証し、UDPは信頼性のある通信を保証しない。
- TCP
信頼性のある通信を保証する。
3ウェイハンドシェイクによるTCPコネクションを確立します。TCPでデータ転送を行うと、ACKによってデータの受信を確認します。お互いにデータの受信を確認しながらやり取りするような通信のことを同期通信と呼びます。また、データの順序制御をシーケンス番号により行います。TCPコネクションを確立する際にデータの転送で利用するシーケンス番号も決めています。l - UDP
効率の良いデータ転送を行う。
セッション層
エンドツーエンドのアプリケーションプロセス間の通信を実現するための機能が定義されています。
- アプリケーションプロセスの識別と管理
- セッションパラメータの定義など
受信したデータのアプリケーションプロセスを識別して、それぞれ対応したアプリケーションに振り分けます。
プレゼンテーション層
エンコードなど。
アプリケーション層
HTTP, SMTPなどのアプリケーションプロトコルを定義
各層の機器
- 物理層
ハブ、リピータ - データリンク層
レイヤー2スイッチ, ブリッジ - ネットワーク層
レイヤー3スイッチ, ルータ
カプセル化と逆カプセル化
カプセル化
データにヘッダやフッタを付加することをカプセル化
非カプセル化
データからヘッダやフッタを取り外すことを逆カプセル化(非カプセル化)といいます。
送信側デバイスでカプセル化を行い、受信側デバイスで逆カプセル化を行います。
TCP/IPを利用している場合、各階層に含まれるプロトコルが連携してデータを送信します。
送信元ホスト
- 階層の上位に位置するプロトコルが転送するデータにヘッダを付加しカプセル化を行い、下位層プロトコルに引渡します。
- 受け取った下位層のプロトコルは自身のヘッダを付与(カプセル化)
データを送信する際に階層構造の上位層から下位層に順番にカプセル化を行います。
カプセル化されたデータを受け取った宛て先ホスト
- ヘッダを解釈します。ヘッダを解釈することで、送信元の対応するプロトコルとの間での制御を行います。
- また、ヘッダを解釈することで引き渡すべき上位層プロトコルを把握し、ヘッダを除去し上位層プロトコルに引き渡します。
データの宛先ホストでは、階層構造を下位層から上位層に順番にたどって逆カプセルかを行います。フッタがついている場合は、フッタによってエラーチェックを行い問題がなければフッタを除去します。
OSIとTCP/IP
OSI参照モデル | プロトコル | TCP/IP |
アプリケーション層 | HTTP, DNS, DHCP, SNMP, SMTP, RIPなど | アプリケーション層 |
プレゼンテーション層 | ||
セッション層 | ||
トランスポート層 | TCP, UDP | トランスポート層 |
ネットワーク層 | IPv4, IPv6, ARP, ICMP, OSPF, EIGRP, IGRP | インターネット層 |
データリンク層 | イーサネット、無線LAN、ATM, PPPなど | ネットワークインタフェース層 |
物理層 |
WEBサーバからクライアントコンピュータへHTMLデータ転送している時のデータを構成するプロトコルとその並び
N.I | IP | TCP | HTTP | データ |
また、TCP/IPにおいて、トランスポート層からアプリケーションプロトコルにデータを渡すときにポート番号を利用します。
ARP(Address Resolution Protocol)
ARPの役割
イーサネットなどのLAN上でTCP/IP通信を行う際に必要なプロトコル。IPアドレスからMACアドレスを求めます。
TCP/IPではIPアドレス、LANではMACアドレスを利用して通信を行います。しかしこの2つのアドレスはお互いに関連していません。関連していないIPアドレスとMACアドレスを対応付ける役割を持つプロトコルがARPです。
アドレス解決
ARPを利用することで、通信したいホストのIPアドレスからMACアドレスを求めます。これを【アドレス解決】といいます。
ARPで利用するメッセージ
- ARPリクエスト
- ARPリプライ
ARPリクエストの宛先MACアドレス
FF-FF-FF-FF-FF-FF
@see CCNA/CCENT問題集