TCP / IPプロトコルアーキテクチャについて説明する前に、最初のOSI 7層参照モデルを見てみましょう。下から上に向かって、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層です。 。
次の図は、OSI 7層参照モデルからTCP / IPアーキテクチャまでのプロセスを示しています。
TCP / IPアーキテクチャの利点:
(1)コンピュータネットワークの構造を簡素化する元の7つの層は現在の4つの層を指示するために使用されますが、その機能は削減されていません。
(2)各層は独立して接続されています。独立性は、その層に問題があっても他の層の作業に影響を与えないためです。接続は、上位層プロトコルが下位層プロトコルによって提供されるサービスを使用するためです。
また、上から見ると、TCP / IPプロトコルファミリは4層のプロトコルシステムであり、下から上にはデータリンク層、ネットワーク層、トランスポート層、アプリケーション層があります。各層は複数のプロトコルを介してさまざまな機能を実行し、上位層プロトコルは下位層プロトコルが提供するサービスを使用します。次に、各層の機能と共通プロトコルについてお話します。
1.データリンク層
機能:物理メディア(イーサネット、トークンリングなど)でのデータの送信を処理するためのネットワークカードインターフェイスを実装するネットワークドライバー。
対応機器:ネットワークケーブル、ネットワークブリッジ、ハブ、スイッチ
一般的に使用される契約:
(1)ARP(アドレス解決プロトコル):IPアドレスから物理アドレスへの変換を実現します(通常はMACアドレス、一般的な理解はネットワークカードアドレスです)。
(2)RARP(Reverse Address Resolution Protocol):名前が示すように、これはARPの逆であり、物理アドレスからIPアドレスへの変換です。
それから誰かが彼らの目的は何であるか尋ねますか???
ARPの使用:ネットワークレイヤーはIPアドレスを使用してマシンを検索しますが、データリンクレイヤーは物理アドレスを使用してマシンを検索します。したがって、ネットワークレイヤーは、データリンクレイヤーを使用する前に、まずターゲットマシンのIPアドレスを物理アドレスに変換する必要があります。提供されるサービス。
RARPの使用:RARPプロトコルは、ネットワーク上の一部のディスクレスワークステーションでのみ使用されます。ストレージデバイスがないため、ディスクレスワークステーションは独自のIPアドレスを記録できませんが、RARPを介して物理アドレスからIPアドレスへのマッピングを確認できます。
2.ネットワーク層
機能:データパケットのルーティングと転送を実現します。
対応機器:ルーター
一般的に使用される契約:
(1)IPプロトコル(インターネットプロトコル)は、データパケットの宛先IPアドレスに従って、ターゲットホストへの送信方法を決定します。データパケットをターゲットホストに直接送信できない場合、IPプロトコルはそれに適切なネクストホップルーターを見つけ、データパケットをルーターに転送して転送します。 。
(2)ICMPプロトコルは、ネットワーク層でのもう1つの重要なプロトコルであり、IPプロトコルの重要な補足であり、主にネットワーク接続の検出に使用されます。
8ビットタイプ:ICMPメッセージは2つのカテゴリに分類されます:1つはターゲットに到達できない(タイプ値3)やリダイレクト(タイプ値5)などのエラーメッセージで、もう1つはクエリメッセージです。ネットワーク情報を照会します。
一部のICMPメッセージは、8ビットのコードフィールドを使用してさまざまな条件を細分化します。たとえば、コード値0はネットワークのリダイレクトを示し、コード値1はホストのリダイレクトを示します。
16ビットチェックサム:巡回冗長検査(CRC)がメッセージ全体(ヘッダーとコンテンツを含む)で実行されます。
注:ICMPプロトコルは、厳密にはネットワーク層プロトコルではありません。同じ層でIPプロトコルによって提供されるサービスを使用するためです。一般的に、上位層プロトコルは、下位層プロトコルによって提供されるサービスを使用します。
3.トランスポート層
機能:2つのホスト上のアプリケーションにエンドツーエンドの通信を提供します。ネットワーク層で使用されるホップバイホップ通信方式とは異なり、トランスポート層は通信の開始と宛先のみを考慮し、データパケットの転送プロセスは考慮しません。
主な合意:
(1)TCPプロトコル(伝送制御プロトコル):アプリケーション層に信頼性の高い、コネクション指向のストリーミングサービスを提供します。
(2)UDPプロトコル(ユーザーデータグラムプロトコル):アプリケーション層に信頼性の低いコネクションレス型のデータグラムサービスを提供します。(TCPおよびUDPプロトコルの詳細な説明と違いについては、次の記事で説明します)
(3)SCTPプロトコル(Stream Control Transmission Protocol)インターネット上で電話信号を送信するように設計されているため、ここでは詳しく説明しません。
4.アプリケーション層
機能:ファイル転送、名前クエリ、ネットワーク管理などのアプリケーションロジックの処理を担当します。
注:データリンク層、ネットワーク層、およびトランスポート層は、ネットワーク通信の詳細の処理を複製するため、これらの部分は安定して効率的である必要があり、それらはすべてカーネル空間に実装され(上記の図2を参照)、アプリケーション層はユーザー空間に実装されます。カーネルに実装されている場合、多くのロジックを担当し、カーネルを非常に巨大にします。カーネルに実装されているサーバープログラムもいくつかあるため、コードはユーザー空間とカーネル空間(主にデータのコピー)を切り替える必要がなく、作業効率が向上します。
一般的に使用される契約:
(1)OSPF(Open Shortest Path First)プロトコル:ルーター間の通信に使用される動的ルーティング更新プロトコルであり、それぞれのルーティング情報を相互に通知します。
(2)DNS(ドメインネームサービス)プロトコル:マシンのドメイン名をIPアドレスに変換します。(たとえば、www.baidu.comをBaiduのIPに変換する場合、ドメイン名を入力して直接入力できます。IPアドレスは覚えるのが面倒なので、IDカードによって全員が一意に識別されるのと同じですが、簡単に覚えることができます。名前。DNSは、名前をIDカードにマッピングするプロセスです。
(3)Telnetプロトコルは、リモートタスクをローカルで完了することができるリモートログインプロトコルです。
(4)HTTPプロトコル(ハイパーテキスト転送プロトコル)は、要求と応答モードに基づく、多くの場合TCP接続に基づく、ステートレスなアプリケーション層プロトコルです。