ip は、コンピュータ ネットワーク アーキテクチャの「ネットワーク層」プロトコルに属します。 IP は、TCP/IP システムのネットワーク層プロトコルであるインターネット相互接続プロトコルを指します。TCP、UDP などのさまざまなプロトコルの情報をトランスポート層に提供できます。IP 情報パケットは、リンク層経由 伝送にはイーサネットやトークンリングネットワークなどのさまざまなテクノロジーが使用されます。
このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。
ip は、コンピュータ ネットワーク アーキテクチャの「ネットワーク層」プロトコルに属します。
IP プロトコルの簡単な説明
IP は Internet Protocol の略で、Internet Protocol の略称で、IP は TCP/IP 全体を指します。 IP プロトコル ファミリの中核であり、インターネットの基盤です。 IP は TCP/IP モデルのネットワーク層 (OSI モデルのネットワーク層に相当) に位置し、TCP、UDP などのさまざまなプロトコル情報をトランスポート層に提供できます。リンク層に配置され、イーサネットやトークン リング ネットワークなどのさまざまなテクノロジーを通じて送信されます。
IP 設計の目的は、ネットワークのスケーラビリティを向上させることです。まず、インターネットの問題を解決し、大規模な異種ネットワークの相互接続を実現します。次に、セグメント化します。トップレベルのネットワーク アプリケーションと基盤となるネットワーク テクノロジを統合し、両方の独立した開発を促進します。エンドツーエンドの設計原則によれば、IP は、コネクションレスで信頼性の低いベストエフォート型のパケット送信サービスをホストに提供するだけです。
IPV4 は最終的には IPV6 に置き換えられますが、IPV4 は依然として IP プロトコルの主流バージョンであるため、ここでは IPV4 バージョンに焦点を当てます。 TCP プロトコルとソケット プログラミングを学習すると、インターネットの共有ネットワーク内でホストを正確に見つけたい場合は、ホストの IP アドレスが必要であることがわかります。ホストは IP アドレスを持っていますが、ルーティング制御 (ルーティング、データ パケットの転送とグループ化を意味します) を実行することはできません。ルーターなどのデバイスは IP アドレスを持ち、ルーティング制御も実行できます。ホストをインターネットに接続し、ルーターはノードと呼ばれます。
たとえば、私たち一般人は自分の住所しか持っていませんが、友人に速達を送りたい場合や、他の人から速達を受け取りたい場合、郵便配達員に伝えることができるのは相手の住所か自分の住所だけです。住所、つまり address. ロゴしかありませんが、速達を送ることはできません。宅配業者はルーターのようなもので、自分の住所も持っており、私設の速達を受け取ることもできますが、別の速達を選択することもできます目的地に応じた配送、輸送のためのライン。次の図は、ネットワーク環境における IP プロトコルの役割を明確に表しています。
#IP プロトコル ヘッダー形式 (IPV4)
以前に TCP および UDP プロトコルを学習したのと同じように、最初に IP プロトコル ヘッダー形式を紹介しましょう
IP プロトコル ヘッダーは TCP プロトコル ヘッダーと非常に似ていることがわかり、特別な事情がない限り、両方とも 20 バイトであるため、多くの場合、この 2 つを合わせて TCP と呼ばれます。 /IPプロトコル。以下に、IP プロトコル ヘッダーの各フィールドの詳細を示します。
- 4 桁のバージョン番号 (Version): IP プロトコルのバージョンを指定するために使用されます。IPV4 のバージョン番号は 4 です。IP メッセージが IPV4 バージョンの場合、このフィールドの値は 4 です. ロゴは 0100 まで 4 桁を使用してください。 IPv6のバージョン番号は6です。
- 4 桁のヘッダー長 (インターネット ヘッダー長): IP ヘッダーのサイズを示します。 単位は 4 バイト 、長さ * 4 バイトです。このフィールドには合計 4 個あるためです。ビットなので、このフィールドの最大値は 2^4 - 1、つまり 15 です。したがって、IP ヘッダーの最大長は 15 * 4、つまり 60 バイトになります。デフォルトでは、このフィールドは 5 に設定されているため、デフォルトの IP ヘッダーは 20 ワードの Festival です。
- 8 桁のサービスの種類: 最初の 3 桁は優先度 (非推奨)、4 桁目は最小遅延、5 桁目は最大スループット、6 桁目は最大信頼性を表します。最小コスト。これら 4 つの数字は互いに競合するため、選択できるのは 1 つだけです。 SSH/TELNETなどのリモートログインの場合は最小遅延を選択、FTP系プログラムの場合は最大スループットを選択するなど、状況に応じて選択する必要があり、8ビット目は予約ビットであり、現在使用されていません。 には 0 を入力する必要があります。
- 16 ビットの合計長 (Total Length): IP ヘッダーとその背後にあるデータ部分の合計バイト数を示します。このフィールドは 16 ビットなので、IP データグラム全体の最大長は 65535 バイトになります。
- 16 ビット識別 (ID): ホストによって送信されたメッセージを一意に識別します。IP メッセージがデータ リンク層で断片化されている場合、各断片のこのフィールドは同じ値を持つ必要があります。ピア ホストが受信後に断片化と再構築を実行できるようにします。
- 3 ビット フラグ (フラグ): 最初のビットは予約されており (予約とは、現在は使用されていないが、必要に応じて将来使用されることを意味します)、0 で埋める必要があります。2 番目のビットは次の目的で使用されます。シャーディングが実行可能かどうかを示します。0 の場合はフラグメント化可能、1 の場合はフラグメント化できません。IP パケットがフラグメント化を禁止されており、その長さが MTU (最大送信単位、説明に記載) より大きい場合詳細は後ほど)、パケットは破棄のみ可能です。パケットが断片化されている場合、3 番目のビットが 1 の場合、それは断片化の途中にあるパケットであること、つまり、将来断片化されたパケットが存在することを意味します。 3 番目のビットが 0 の場合、これが最後のフラグメントであることを意味します。
- 13 ビット フラグメント オフセット (フラグメント オフセット): このフィールドは、元の IP メッセージの先頭を基準としたフラグメントのオフセットを示します これは、実際には、現在のフラグメントが元のメッセージ その場所での最初のフラグメントの対応する値は 0 です。このフィールドには合計 13 ビットがあるため、最大 2^13、つまり 8192 個の相対位置を表すことができます。 単位は 8 バイト なので、最大位置は 8192 * 8 = 65536 バイトで表現できます。
- 8 ビット存続時間: データグラムが宛先に到達するまでのメッセージ ホップの最大数 (ホップとはネットワーク内の間隔を指し、IP データ パケットはネットワーク内のホップ間で転送されます)。通常は 64、ルートを通過するたびに TTL–、TTL == 0 のときに宛先に到達しなかった場合、パケットは破棄されます。このフィールドは主にルーティング ループを防ぐために使用され、データ パケットがループ内で転送され、ネットワーク リソースが浪費されます。
- 8 ビット プロトコル (プロトコル): IP の上位層にあるプロトコルを示し、よく知られている TCP、UDP、ICMP などはすべて IP の上位層にあります。
- 16 ビット ヘッダー チェックサム (ヘッダー チェックサム): IP ヘッダーが破損しているかどうかを識別するための検証に CRC を使用します。破損している場合は直接破棄されます。IP ヘッダーのみを検証し、検証は行いませんコンテンツ部分の検証は上位トランスポート層 (TCP) によって考慮される必要があり、ヘッダーに問題がある限り、IP プロトコルはメッセージを直接破棄するためです。
- 32 ビットの送信元 IP アドレス (Source Address): 送信者の IP を示します。
- 32 ビットの宛先 IP アドレス (Destination Address): 受信側の IP を示します。
- オプション フィールド (オプション): 可変長、最大 40 バイト。
補足: フラグメンテーションとアセンブリ
MTU (最大伝送単位) は、IP 層の下位にある MAC プロトコルの概念であり、MAC プロトコルを物理的ないくつかのプロトコルとして理解できます。 IPプロトコルの下位層に位置する層であり、データ送信時にはユーザーデータアプリケーション層のプロトコルヘッダー(HTTPリクエストヘッダーなど)
に相当し、トランスポート層に渡されます。 TCPプロトコルは、TCPヘッダーのアプリケーション層から送信されたデータ
をIP層に渡し、IP層は送信されたTCPメッセージを渡します。
IP プロトコル ヘッダーの TCP 層から MAC フレームまで。したがって、各 MAC フレームは、実際には IP プロトコル ヘッダー
内の IP 層のペイロードです。 MAC フレームには長さの制限があるため、下向きに配信する場合、IP データグラムを必要なだけ長く送信する必要はありません。MAC フレームに 1500 バイトの MTU が必要で、IP データグラムの合計長が 2000 バイトの場合ワード セクションを作成するには、元の IP データ パケットを 2 つの部分に分割して順番に送信する必要があり、ピア ホストがパケットを受信した後、ピア IP 層で組み立てが完了します。 ifconfig
コマンドを使用すると、Linux 環境の MTU を表示できます。
フラグメンテーションとアセンブリは、上位層の TCP/UDP および下位層の MAC に対して透過的です。つまり、上位層も下位層も、IP 層がデータ パケットを断片化したことを認識しないため、フラグメンテーションとアセンブリの操作は送信側 IP 層と受信側 IP 層によって実行される処理は自動的に完了します。しかし、フラグメンテーションとは、1つのデータを複数のグループに変換して送信する必要があり、相手側で組み立てを行う必要があるため、ネットワークの送信効率が大幅に低下し、エラーのリスクが増加します。送信プロセス中は避ける必要があります。つまり、MTU 長を超える IP データグラムを送信しないようにしてください。
IP アドレス
IP アドレスの定義:
IPV4 では、IP アドレスを表すのに 32 ビットの正の整数が使用され、コンピュータは IP アドレスを直接保存します。 2 進数で表現されますが、人間は 2 進整数を覚えるのが苦手なので、ドット付き 10 進法を使用して IP アドレスを記録します。つまり、32 ビットの IP アドレスは 8 桁の 4 つのグループに分割され、グループ間は「.」で区切られます。次に、各グループが 10 進数に変換されます。
したがって、IPV4 標準では最大 2 ^ 32 = 4292967296 個の IP アドレスがあると直接計算できますが、人々が使用できる数はこの数よりもはるかに少ないです。 (たとえば、一部の IP アドレスは特別な目的のために予約されており、ルーターなどの一部のデバイスは複数の IP アドレスを占有します)
IP アドレスの構成:
IP アドレスは # で構成されます。 ## ネットワーク識別子 (ネットワーク アドレス) とホスト識別子 (ホスト アドレス) は、2 つの部分 で構成されます。
IP アドレスを見つけるプロセスは、特定の場所に旅行するようなものです。たとえば、天安門広場に行きたい場合、高速鉄道で直接天安門広場に行くことは不可能です。まず北京 (目的地ネットワーク) に到着し、次に北京の交通機関を利用して天安門 (目的地ホスト) に到着します。したがって、ルーティングを選択するときは、まずターゲット ホストが配置されている LAN を検索し、次に LAN 内でターゲット ホストを検索する必要があります。この方法は、ターゲット LAN を素早く見つけるのに役立ちます。LAN 内でターゲット ホストを検索する方が、広大なネットワーク内でホストを見つけるよりもはるかに高速です。
ネットワーク ID: 相互に接続されている 2 つのネットワーク セグメントの ID が異なることを確認します。
ホスト ID: 同じネットワーク セグメント内の 2 つのホストが異なる ID を持つようにします。
IP アドレスの区分:
IP アドレスは、クラス A、クラス B、クラス C、クラス D、クラス E (未使用) の 5 つのレベルに分かれており、現在、確認できる IP アドレスは A、B、C、D のみです。分割の基準となるのは、IP アドレスの 1 ビット目から 4 ビット目までです。
#クラス A アドレス: 0.0.0.0 ~ 127.255.255.255
クラス B アドレス: 128.0.0.0 ~ 191.255.255.255- クラス C アドレス: 192.0.0.0 ~ 223.255.255.255
- クラス D アドレス: 224.0.0.0 ~ 239.255.255.255
- クラス E アドレス: 240.0.0.0 ~ 247.255.255.255
-
- クラス E IP アドレスを考慮しない場合、クラス A、B、C、および D アドレスのネットワーク番号が占めるビットが徐々に増加する一方、ホスト番号が占めるビットが増加することがわかります。徐々に減ってきています。これは、上記 4 種類のアドレスのうち、1 種類のアドレスのサブネット数は増加していますが、そのサブネット内で接続できるホストの数はますます少なくなっているということを意味します。中国の一般的な大学を例に挙げると、学校には約 30,000 人の教師と学生がおり、全員が学内 LAN に接続する必要があるラップトップを持ち、一部の学生はタブレット コンピュータやその他の必要な端末装置を持っているとします。ネットワークに接続するには、ネットワークを申請するときに、50,000 ~ 60,000 個の IP アドレスを申請する必要があります。クラス A アドレスを使用する場合、24 桁のホスト番号から 2^24 = 16777216 個の IP アドレスが生成されます。クラス C クラス B アドレスを使用する場合、必要な IP アドレスよりはるかに少ない 2^8 = 256 個の IP アドレスしか存在しないため、最も適切なのはクラス B アドレスです。 2^16 = 65536 個の IP アドレス。この例では、IP アドレスが多すぎて無駄が多くなってはならず、少なすぎては多くのデバイスがネットワークに接続できなくなることもわかります。
サブネット マスクの導入:
インターネットの発展に伴い、最初の 4 桁を使用して分類することの欠点が現れ始めています。つまり、サブネットから多くの応募者が応募することになります。クラス A をまったく使い切ることができず、クラス C では十分ではないためです。その結果、クラス B のネットワーク アドレスはすぐに割り当てられました。クラス A ネットワークを申請すると、大量の IP アドレスが無駄になります。この場合、
人が新しい分割スキームを提案しました: CIDR (クラスレス ドメイン間ルーティング)
サブネットの導入ネットワーク番号とホスト番号を区別するためのマスク
サブネット マスクも 32 ビットの正の整数ですが、通常は 0 の文字列で終わります- IP アドレスとサブネット マスクは
- &
を実行し、その結果がネットワーク番号です。ネットワーク番号とホスト番号の割り算は、IP アドレスがクラス A、クラス B、クラス C のいずれであるかには関係ありません。
- サブネット マスクによるネットワーク番号とホスト番号の分割を理解するのに役立つ 2 つの例を示します。
例 1:
## IP アドレスバイナリ式 |
|
140.252.20.681000 1100 1111 1100 0001 0100 0100 0100 | |
#サブネット マスク
バイナリ式
|
| # #255.255.255.0
1111 1111 1111 1111 1111 1111 0000 0000
|
將IP位址與子網路遮罩進行位元與操作後得到1000 1100 1111 1100 0001 0100 0000 0000
,再轉換為方便人們使用的點分十進位為140.252.20.0
,這就是該子網路的網路號碼了。而它的子網路遮罩末尾的8個位元位元為0,這個子網路可以表示2 ^ 8 = 256台主機,因此這個子網路的位址範圍是140.252.20.0 ~ 140.252.20.255
#範例二:
|
|
#140. 252. 20. 68 |
#1000 1100 1111 1100 0001 0100 0100 0100 |
#子網路子網子網#碼
二進位表達
-
- 255.255.255.240
- ##255.255.255.240
1111 1111 1111 1111 1111 1111 1111 0000
#將IP位址與子網路遮罩進行位元與操作後得到1000 1100 1111 1100 0001 0110 0100 0000- ,即該子網路的網路編號,同樣轉換成常用的點分十進位為
140.252.20.64- ,它的子網路遮罩結束時的4個位元為0,這個子網路可以表示2 ^ 4 = 16台主機,因此這個子網路的位址範圍就是
140.252.20.64 ~ 140.252.20.79-
一些特殊的IP位址
將IP位址中的主機位址全設為0,即該區域網路位址
將IP位址中的主機位址全設為0,即該區域網路位址的網路號,這個IP位址代表這個區域網路。 ######將IP位址中的主機位址全設定為1,可以變成廣播位址,這個廣播位址可以給同一個連結中互相連接的所有主機發送封包######127. *的IP位址用於本地環回測試,通常是127.0.0.1#########私有IP位址和公網IP位址######假如某個大學要在校園內部組成一個區域網路,只實現校園內部的網路通訊而不與外界任何一台機器進行通信,那麼理論上2 ^ 32個IP位址都可以使用,因為只在這個區域網路中,不會出現相同的IP位址。不過RFC1918規定了組成區域網路的私有IP位址的規格:#########10.* 前8位是網路號,共有16,777,216個位址######172.16.*~172.31.* 前12位是網路號,共有1,048,576個位址######192.168.* 前16位是網路號,共有65,536個位址#########上述範圍內的IP位址都是私有IP,不在上述範圍內的IP則為全域IP位址(公網IP位址)。 ######更多相關知識,請造訪###常見問題###欄位! ###
以上がIPはコンピュータネットワークアーキテクチャにおいてどのプロトコルに属しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。