tcp/ip 参照モデルの層は何ですか?
tcp/ip 参照モデルは 4 つの層に分かれています: 1. データ リンク層、物理メディア上のデータ送信を処理するネットワーク カード インターフェイスのネットワーク ドライバーを実装します; 2. ネットワーク層、データ パケットのルーティングと転送を実装する、 3. 2 つのホスト上のアプリケーションにエンドツーエンド通信を提供するトランスポート層、 4. アプリケーション ロジックの処理を担当するアプリケーション層。
TCP/IP プロトコル スイートは 4 層のプロトコル システムで、下から順に、データ リンク層、ネットワーク層、トランスポート層、およびアプリケーション層。各層は異なる
機能を実行し、いくつかのプロトコルを通じて実装されます。上位層のプロトコルは、下位層のプロトコルが提供するサービスを使用します。
データ リンク層 (ネットワーク インターフェイス層)
データ リンク層は、ネットワーク カード インターフェイスを実装します。物理メディア (イーサネット、トークン リングなど) を介したデータの送信を処理するネットワーク ドライバー。
データリンク層で一般的に使用される 2 つのプロトコルは、ARP プロトコル (Address Resolve Protocol、アドレス解決プロトコル) と RARP プロトコル (ReverseAddress Resolve Protocol、逆アドレス解決プロトコル) です。 )。これらは、IP アドレスとマシンの物理アドレス (通常は、イーサネット、トークン リング、および 802.11 ワイヤレス ネットワークで使用される MAC アドレス) との間の変換を行います。
ネットワーク層は IP アドレスを使用してマシンをアドレス指定しますが、データリンク層は物理アドレスを使用してマシンをアドレス指定します。したがって、ネットワーク層はまずターゲット マシンの IP アドレスを物理アドレスに変換する必要があります。データ リンク層によって提供されるサービス、これが ARP プロトコルの目的です。
RARP プロトコルは、ネットワーク上の特定のディスクレス ワークステーションによってのみ使用されます。ストレージ デバイスがないため、ディスクレス ワークステーションは自分自身の IP アドレスを記憶できませんが、ネットワーク カード上の物理アドレスを使用して、ネットワーク マネージャ (サーバーまたはネットワーク管理ソフトウェア) に自分の IP アドレスを問い合わせることができます。 RARP サービスを実行するネットワーク管理者は、通常、ネットワーク上のすべてのマシンの物理アドレスと IP アドレスのマッピングを維持します。
#ネットワーク層
ネットワーク層は、データ パケットのルーティングと転送を実装します。 WAN (ワイド エリア ネットワーク、ワイド エリア ネットワーク) は通常、分散したホストや LAN (ローカル エリア ネットワーク、ローカル エリア ネットワーク) を接続するために多くの階層ルーターを使用するため、通信する 2 つのホストは通常直接接続されませんが、複数の中間ノード (ルーター) を介して接続されます。ネットワーク層のタスクは、これらの中間ノードを選択して 2 つのホスト間の通信パスを決定することです。同時に、ネットワーク層はネットワーク トポロジ接続の詳細を上位層プロトコルから隠すため、トランスポート層とネットワーク アプリケーションの観点からは、通信する 2 つの当事者は直接接続されます。
ネットワーク層の中核となるプロトコルは、IP プロトコル (インターネット プロトコル) です。 IP プロトコルは、宛先 IP アドレスに基づいてデータ パケットの配信方法を決定します。データ パケットを宛先ホストに直接送信できない場合、IP プロトコルはそれに適したネクスト ホップ ルーターを見つけ、データ パケットを転送のためにルーターに配信します。このプロセスが数回繰り返され、最終的にパケットは宛先ホストに到達するか、送信失敗により破棄されます。 IP プロトコルはホップバイホップ方式を使用して通信パスを決定することがわかります。
ネットワーク層のもう 1 つの重要なプロトコルは、ICMP プロトコル (インターネット コントロール メッセージ プロトコル) です。これは IP プロトコルの重要な補足であり、主にネットワーク接続を検出するために使用されます。
8 ビットのタイプ フィールドは、メッセージ タイプを区別するために使用されます。
エラー メッセージ
に分類されます。このタイプのメッセージは主に、ターゲットに到達できない (タイプ値は 3) などのネットワーク エラーに応答するために使用されます。 ) およびリダイレクト (タイプ値は 5); クエリ メッセージ
、このタイプのメッセージはネットワーク情報のクエリに使用されます。たとえば、ping プログラムは ICMP メッセージを使用して、ターゲットが到達可能かどうかを確認します (タイプ値は 8)。 一部の ICMP メッセージでは、さまざまな条件をさらに細分化するために 8 ビット コード フィールドも使用されます。たとえば、リダイレクト メッセージは、ネットワーク リダイレクトを示すためにコード値 0 を使用し、ホスト リダイレクトを示すためにコード値 1 を使用します。 ICMP メッセージは、16 ビットのチェックサム フィールドを使用してメッセージ全体 (ヘッダーとコンテンツを含む) に対して巡回冗長検査 (CRC) を実行し、送信中にメッセージが破損していないかどうかを確認します。 ICMP メッセージのタイプが異なれば、本文の内容も異なります。
トランスポート層は、2 つのホスト上のアプリケーションにエンドツーエンドの通信を提供します。ネットワーク層で使用されるホップバイホップ通信方法とは異なり、トランスポート層は通信の発信元と宛先のみを考慮し、データ パケットの転送プロセスは考慮しません。
垂直の実線の矢印は、TCP/IP プロトコル スイートの層間の物理通信を表し (データ パケットは実際にこれらの線に沿って送信されます)、水平の破線の矢印は論理通信線を表します。この図では、さまざまな物理ネットワークがどのように接続されているかも説明されています。
データ リンク層 (ドライバー) は物理ネットワークの電気的な詳細をカプセル化し、ネットワーク層はネットワーク接続の詳細をカプセル化し、トランスポート層はエンドツーエンドの論理通信をカプセル化していることがわかります。アプリケーションのリンク。データの送受信、リンク タイムアウトの再接続などを担当します。
トランスポート層プロトコル: TCP プロトコル、UDP プロトコル。
TCP プロトコル (伝送制御プロトコル、伝送制御プロトコル) は、アプリケーション層に信頼性の高い接続指向のストリームベースのサービスを提供します。 TCP プロトコルは、タイムアウト再送信、データ確認応答などを使用して、データ パケットが宛先に正しく送信されることを保証するため、TCP サービスは信頼できます。 TCP プロトコルを使用して通信する両者は、まず TCP 接続を確立し、接続ステータス、読み取りおよび書き込みバッファ、および多数のタイマーなど、接続に必要なデータ構造をカーネル内で維持する必要があります。通信が終了したら、両方の当事者が接続を閉じて、このカーネル データを解放する必要があります。 TCP サービスはストリームベースです。ストリームベースのデータには境界 (長さ) 制限がなく、通信の一方の端からもう一方の端まで継続的に流れます。送信者はデータをバイトごとにデータ ストリームに書き込むことができ、受信者はデータをバイトごとに読み出すことができます。
UDP プロトコル (ユーザー データグラム プロトコル) は、TCP プロトコルとはまったく逆で、信頼性の低いコネクションレス型のデータグラム ベースのサービスをアプリケーション層に提供します。 「信頼性が低い」とは、UDP プロトコルがデータが送信者から宛先に正しく送信されることを保証できないことを意味します。データが途中で失われた場合、または宛先がデータ検証でデータエラーを見つけて破棄した場合、UDP プロトコルはアプリケーションに送信失敗を通知するだけです。したがって、UDP プロトコルを使用するアプリケーションは通常、データの確認やタイムアウト再送信などのロジックを独自に処理する必要があります。 UDPプロトコルはコネクションレス型、つまり通信相手が長時間接続を維持しないため、アプリケーションはデータを送信するたびに受信側のアドレス(IPアドレスなど)を明確に指定する必要があります。データグラムベースのサービスは、ストリームベースのサービスに関連しています。各 UDP データグラムには長さがあり、受信側はこの長さを最小単位としてすべての内容を一度に読み取る必要があり、そうしないとデータが切り捨てられます。
#アプリケーション層
アプリケーション層は、アプリケーションのロジックの処理を担当します。 データリンク層、ネットワーク層、トランスポート層はネットワーク通信の詳細を処理する役割を果たしますが、この部分は安定性と効率性の両方が必要であるため、これらはすべてカーネル空間に実装されています。アプリケーション層は、ファイル転送、名前クエリ、ネットワーク管理などの多くのロジックの処理を担当するため、ユーザー空間に実装されます。アプリケーション層もカーネルに実装すると、カーネルが非常に大きくなります。もちろん、いくつかのサーバー プログラムもカーネルに実装されているため、コードがユーザー空間とカーネル空間の間を行き来する必要がなく (主にデータのコピー)、作業効率が大幅に向上します。ただし、この種のコードは実装が複雑で、柔軟性が不十分で、移植も簡単ではありません。
凝集性が高く、結合性が低いため、各層がその機能に焦点を当てており、層間の関係への依存性がほとんどありません。
データ パケットは各層で異なる形式を持っています。それらは上から下にセグメント、データグラム、フレームと呼ばれます。データはアプリケーション層からプロトコル スタックを介して受け渡され、各層で追加されます。対応する層プロトコルのヘッダーは、最終的にフレームにカプセル化されて伝送媒体に送信され、ルーターまたは宛先ホストに到達すると、ヘッダーが取り除かれて、上位層のリクエスターに配信されます。このプロセスは、カプセル化、送信、分離、および分散化と呼ばれます。
以上がtcp/ip 参照モデルの層は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









tcp/ipの正式名称は「Transmission Control Protocol/Internet Protocol」で、中国語で「伝送制御プロトコル/インターネットプロトコル」を意味します。 TCP/IP プロトコルは、TCP と IP という 2 つのプロトコルを指すだけでなく、FTP、SMTP、TCP、UDP、IP などのプロトコルで構成されるプロトコル クラスターも指します。TCP/IP プロトコルでは TCP プロトコルが使用されるためです。 IPプロトコル 最も代表的なものなのでTCP/IPプロトコルと呼ばれます。

データ通信に PHP および TCP/IP プロトコルを使用する方法 はじめに: 現代のインターネット時代において、データ通信は非常に重要な側面です。クライアントとサーバー間の通信でも、異なるサーバー間の通信でも、TCP/IP プロトコルは常に最も一般的に使用される通信プロトコルの 1 つです。この記事では、データ通信に PHP 言語と TCP/IP プロトコルを使用する方法を紹介し、関連するコード例を示します。 1. TCP/IP プロトコルの概要 TCP/IP プロトコルは、インターネット プロトコル クラスターの基礎です。

違い: 1. TCP/IP はプロトコル クラスターであるのに対し、OSI はモデルです; 2. TCP/IP は 5 層構造であるのに対し、OSI は 7 層構造です; 3. TCP/IP の 3 番目の層はのみサポートしていますIP プロトコル、OSI はすべてのネットワーク層プロトコルをサポートします。接続: 1. OSI はサービス、インターフェイス、プロトコル、およびレイヤーの概念を導入しますが、TCP/IP は OSI の概念を利用します; 2. OSI には最初にモデルがあり、次にプロトコル、最初に標準、そして次に実践がありますが、TCP/IP IP には最初にプロトコルとアプリケーションがあり、次に参照 OSI モデルであるモデルが提案されます。

TCP と IP はインターネットにおける 2 つの異なるプロトコルです: 1. TCP はトランスポート層プロトコル、IP はネットワーク層プロトコル; 2. TCP はデータ パケットのセグメント化、並べ替え、確認、再送信などの機能を提供します。プロトコルはデータ パケットの送信元アドレスと宛先アドレスを提供する役割を果たします; 3. TCP は接続指向のプロトコルですが、IP プロトコルはコネクションレスです; 4. TCP はフロー制御と輻輳制御も提供します。

アプリケーション層プロトコルには次のものがあります: 1. あるマシン上のユーザーがリモート マシンにログインして作業を実行できるようにする Telnet、2. あるマシンから別のマシンにファイルを移動する方法を提供する FTP、3. SMTP は、電子メール送信を提供します; 4. SNMP は、IP ネットワーク内のネットワーク ノードを管理するために使用される標準プロトコルです; 5. DNS は主に、使い慣れた Web アドレスをコンピュータが理解できる IP アドレスに「変換」するために使用されます; 6. HTTP はリクエストです。 WWW 上のホームページを取得するために使用される応答プロトコル。

Go は、成長を続けているプログラミング言語であり、高性能で信頼性が高く、同時実行対応のネットワーク アプリケーションの実装に適しています。 Go を使用して TCP/IP プロトコルに関連するネットワーク プログラムを作成する場合、さまざまなエラーが発生する傾向があります。また、いくつかの一般的な TCP/IP エラーは、プログラムのデバッグに特定の困難を引き起こす可能性があります。この記事では、Go 言語で一般的な TCP/IP エラーを解決する方法に焦点を当てます。 1. EOF エラー 通常は EOF (EndOfFile) エラーです。

IP は、コンピュータ ネットワーク アーキテクチャの「ネットワーク層」プロトコルに属します。 IP は、TCP/IP システムのネットワーク層プロトコルであるインターネット相互接続プロトコルを指します。TCP、UDP などのさまざまなプロトコルの情報をトランスポート層に提供できます。IP 情報パケットは、リンク層経由 伝送にはイーサネットやトークンリングネットワークなどのさまざまなテクノロジーが使用されます。

「TCP/IP」プロトコルは、インターネット上の最も基本的なプロトコルです。 TCP/IP (Transmission Control Protocol/Internet Protocol) は、ネットワーク上のすべての通信デバイス、特にあるホストと別のホスト間のデータ交換の形式と送信方法を標準化するネットワーク通信プロトコルであり、TCP/IP プロトコルの中核となります。インターネットの最も基本的なプロトコルで、厳密にはアプリケーション層、トランスポート層、ネットワーク層、データリンク層の4層のアーキテクチャです。