「Web - TCP/IP4階層モデル」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == インターネットで使われているTCP/IPプロトコルは、OSI参照モデルに沿っていない。<br> OSI参照モデルが構築される以…」)
 
(Wiki がページ「TCP/IP4階層モデル」を「Web - TCP/IP4階層モデル」に、リダイレクトを残さずに移動しました)
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
インターネットで使われているTCP/IPプロトコルは、OSI参照モデルに沿っていない。<br>
インターネットで使われているTCP/IPプロトコルは、OSI参照モデルに沿っていない。<br>
OSI参照モデルが構築される以前から、実用的なネットワークとして稼働していたということや、<br>
<br>
ネットワークの普及期に、多くの機種、OS、ネットワーク方式、アプリケーションが登場したことから、<br>
OSI参照モデルが構築される以前から実用的なネットワークとして稼働していたということや、ネットワークの普及期に多くの機種、OS、ネットワーク方式、アプリケーションが登場したことから、<br>
OSI参照モデルのような詳細な階層分けが必要になったとも考えられる。<br>
OSI参照モデルのような詳細な階層分けが必要になったとも考えられる。<br>
<br>
<br>
9行目: 9行目:
今と比べれば格段に簡素なものであり、アプリケーションの数、データの種類や表現方法などが限られていたため、OSI参照モデルより単純な構成で十分であった。<br>
今と比べれば格段に簡素なものであり、アプリケーションの数、データの種類や表現方法などが限られていたため、OSI参照モデルより単純な構成で十分であった。<br>
<br>
<br>
TCP/IPモデルの各階層は、次に示すような機能を規定している。<br>
TCP/IPモデルの各階層は、下表に示すような機能を規定している。<br>
<center>
<center>
'''表. TCP/IP階層モデル'''<br>
{| class="wikitable" | style="background-color:#fefefe;"
{| class="wikitable"
|+ 表. TCP/IP階層モデル
|-
|-
! 階層 !! 階層名 !! 説明
! style="background-color:#00ffff;" | 階層  
! style="background-color:#00ffff;" | 階層名  
! style="background-color:#00ffff;" | 説明
|-
|-
| 4 || アプリケーション層 || アプリケーション間のやり取り
| 4 || アプリケーション層 || アプリケーション間のやり取り
28行目: 30行目:


== TCP/IP 4階層モデル ==
== TCP/IP 4階層モデル ==
'''アプリケーション層'''<br>
==== アプリケーション層 ====
OSI参照モデルのセッション層からアプリケーション層に相当しする。<br>
OSI参照モデルのセッション層からアプリケーション層に相当しする。<br>
個々のプログラムの間で、どのような形式や手順でデータをやり取りするかを定める。<br>
個々のプログラムの間で、どのような形式や手順でデータをやり取りするかを定める。<br>
文字コードや画像などの形式、暗号化など、データの表現形式などもこの層で扱う。例えば、Webや電子メールなどのアプリケーションプロトコルはこの層に属する。<br>
文字コードや画像などの形式、暗号化など、データの表現形式などもこの層で扱う。例えば、Webや電子メールなどのアプリケーションプロトコルはこの層に属する。<br>
<br>
<br>
'''トランスポート層'''
==== トランスポート層 ====
OSI参照モデルのトランスポート層に相当する。<br>
OSI参照モデルのトランスポート層に相当する。<br>
通信を行うプログラムの間でのデータ伝送を実現する。必要に応じて、エラーの検出と回復や、双方向の通信路の確立なども行う。<br>
通信を行うプログラムの間でのデータ伝送を実現する。必要に応じて、エラーの検出と回復や、双方向の通信路の確立なども行う。<br>
単にデータを伝送するだけのUDP(User Datagram Protocol)、信頼性のある双方向の通信を実現するTCP(Transmission Control Protocol)はこの層のプロトコルである。<br>
単にデータを伝送するだけのUDP(User Datagram Protocol)、信頼性のある双方向の通信を実現するTCP(Transmission Control Protocol)はこの層のプロトコルである。<br>
<br>
<br>
'''インターネット層'''<br>
==== インターネット層 ====
OSI参照モデルのネットワーク層に相当する。<br>
OSI参照モデルのネットワーク層に相当する。<br>
複数のネットワークを相互に接続した環境(インターネットワーク)で、機器間のデータ伝送を実現する。<br>
複数のネットワークを相互に接続した環境(インターネットワーク)で、機器間のデータ伝送を実現する。<br>
IP(Internet Protocol)はこの層のプロトコルである。<br>
IP(Internet Protocol)はこの層のプロトコルである。<br>
<br>
<br>
'''ネットワークインターフェイス層'''<br>
==== ネットワークインターフェイス層 ====
OSI参照モデルの物理層とデータリンク層に相当する。<br>
OSI参照モデルの物理層とデータリンク層に相当する。<br>
実際のネットワークハードウェアが通信を実現するための層で、各種イーサネット、無線LANなどがこの層に属する。<br>
実際のネットワークハードウェアが通信を実現するための層で、各種イーサネット、無線LANなどがこの層に属する。<br>
49行目: 51行目:
<br>
<br>
<center>
<center>
'''表. OSI参照モデルとTCP/IP 4階層モデルの関係'''<br>
{| class="wikitable" | style="background-color:#fefefe;"
{| class="wikitable"
|+ 表. OSI参照モデルとTCP/IP 4階層モデルの関係
|-
|-
! OSI参照モデル !! TCP/IP 4階層モデル
! style="background-color:#00ffff;" | OSI参照モデル  
! style="background-color:#00ffff;" | TCP/IP 4階層モデル
|-
|-
| アプリケーション層  
| アプリケーション層  
89行目: 92行目:
オペレーティングシステムの内部に存在している。<br>
オペレーティングシステムの内部に存在している。<br>
IP、TCP、UDPなど、プロトコルごとにソフトウェアはモジュール化されている。<br>
IP、TCP、UDPなど、プロトコルごとにソフトウェアはモジュール化されている。<br>
<br>
<center>
<center>
'''表. ネットワークソフトウェアの階層化'''<br>
{| class="wikitable" | style="background-color:#fefefe;"
{| class="wikitable"
|+ 表. ネットワークソフトウェアの階層化
|-
|-
! 階層 !! 担当するソフトウェア !! プロトコルの例
! style="background-color:#00ffff;" | 階層  
! style="background-color:#00ffff;" | 担当するソフトウェア  
! style="background-color:#00ffff;" | プロトコルの例
|-
|-
| アプリケーション層 || アプリケーション || HTTP(Web)、SMTP(メール)等
| アプリケーション層 || アプリケーション || HTTP(Web)、SMTP(メール)等
105行目: 111行目:
</center>
</center>
<br>
<br>
例えば、昔のようにモデムを使ってプロバイダに接続した場合でも、イーサネットと光ファイバサービスを使って接続した場合でも、<br>
例えば、モデムを使用してプロバイダに接続した場合やイーサネットと光ファイバサービスを使用して接続した場合でも同じWebブラウザや電子メールソフトが使用できるのは、<br>
同じWebブラウザや電子メールソフトが使用できるのは、ネットワークシステムがこのように階層化されているおかげである。<br>
ネットワークシステムが上記のように階層化されているおかげである。<br>
<br>
このように、必要な機能を分類してプロトコルを定義し、階層関係をつけて各プロトコルとそのためのソフトウェアを配置することを、「プロトコルの階層化」や「プロトコルスタック」という。<br>
<br>
<br>
このように、必要な機能を分類してプロトコルを定義し、階層関係をつけて各プロトコルとそのためのソフトウェアを配置することを、<br>
「プロトコルの階層化」や「プロトコルスタック」という。<br>
機能ごとにモジュールを分割し、複数のモジュールを組み合わせることで、多くの部分を共通的に使用しながら、<br>
機能ごとにモジュールを分割し、複数のモジュールを組み合わせることで、多くの部分を共通的に使用しながら、<br>
物理的なネットワーク方式やアプリケーションごとの機能の違いをうまく吸収することができる。<br>
物理的なネットワーク方式やアプリケーションごとの機能の違いをうまく吸収することができる。<br>
<br><br>
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:その他]]
[[カテゴリ:Web]]

2024年11月16日 (土) 03:31時点における最新版

概要

インターネットで使われているTCP/IPプロトコルは、OSI参照モデルに沿っていない。

OSI参照モデルが構築される以前から実用的なネットワークとして稼働していたということや、ネットワークの普及期に多くの機種、OS、ネットワーク方式、アプリケーションが登場したことから、
OSI参照モデルのような詳細な階層分けが必要になったとも考えられる。

TCP/IPの実用化はOSI参照モデルよりも古く異なるものであるが、正しく階層化されている。
OSI参照モデルの7階層に対して、TCP/IPモデルは4階層になっており、TCP/IPが設計されたころの通信技術・ハードウェア・ソフトウェアの環境は、
今と比べれば格段に簡素なものであり、アプリケーションの数、データの種類や表現方法などが限られていたため、OSI参照モデルより単純な構成で十分であった。

TCP/IPモデルの各階層は、下表に示すような機能を規定している。

表. TCP/IP階層モデル
階層 階層名 説明
4 アプリケーション層 アプリケーション間のやり取り
3 トランスポート層 プログラム間の通信、通信の制御
2 インターネット層 インターネットワークでの通信
1 ネットワークインターフェイス層 同一ネットワーク上での通信、ハードウェア仕様など



TCP/IP 4階層モデル

アプリケーション層

OSI参照モデルのセッション層からアプリケーション層に相当しする。
個々のプログラムの間で、どのような形式や手順でデータをやり取りするかを定める。
文字コードや画像などの形式、暗号化など、データの表現形式などもこの層で扱う。例えば、Webや電子メールなどのアプリケーションプロトコルはこの層に属する。

トランスポート層

OSI参照モデルのトランスポート層に相当する。
通信を行うプログラムの間でのデータ伝送を実現する。必要に応じて、エラーの検出と回復や、双方向の通信路の確立なども行う。
単にデータを伝送するだけのUDP(User Datagram Protocol)、信頼性のある双方向の通信を実現するTCP(Transmission Control Protocol)はこの層のプロトコルである。

インターネット層

OSI参照モデルのネットワーク層に相当する。
複数のネットワークを相互に接続した環境(インターネットワーク)で、機器間のデータ伝送を実現する。
IP(Internet Protocol)はこの層のプロトコルである。

ネットワークインターフェイス層

OSI参照モデルの物理層とデータリンク層に相当する。
実際のネットワークハードウェアが通信を実現するための層で、各種イーサネット、無線LANなどがこの層に属する。
また、モデムや光回線などを使用して特定の相手と接続し、TCP/IPで通信するためのPPP(Point To Point)プロトコル等もこの層のプロトコルである。

表. OSI参照モデルとTCP/IP 4階層モデルの関係
OSI参照モデル TCP/IP 4階層モデル
アプリケーション層 アプリケーション層
プレゼンテーション層
セッション層
トランスポート層 トランスポート層
ネットワーク層 インターネット層
データリンク層 ネットワークインターフェイス層
物理層



プロトコルスタックとソフトウェアの階層化

ネットワークに流れるデータは、プロトコルの規約に従って形式化され、適切な手順で伝送される。
このような詳細を定めるプロトコルも、このネットワーク階層に準じて階層化されている。

TCP/IP 4階層モデルでは、アプリケーションの機能を実現するためのアプリケーションプロトコル、プログラム間でデータを伝送するためのUDPとTCP、
インターネットワークで機器間の通信を実現するIPといったプロトコルが使用されている。
そして、これらのプロトコルの下位には、イーサネットや無線LANなど、物理的なネットワークシステムがあり、それに固有のプロトコルがある。

これらのプロトコルに従ってデータ伝送を実現するためには、各プロトコルに従ってデータを扱うソフトウェアが必要になる。
これらのソフトウェアもプロトコルの階層に従って階層化されている。

アプリケーションプロトコルのためのソフトウェアは、個々のネットワークアプリケーションの内部に実装され、
各種のネットワークインターフェイスの制御やプロトコルの実装はドライバソフトウェアが担当する。
そして、その間をつなぐTCP/IPは、全てのアプリケーションとネットワークハードウェアに対して共通のものなので、
オペレーティングシステムの内部に存在している。
IP、TCP、UDPなど、プロトコルごとにソフトウェアはモジュール化されている。

表. ネットワークソフトウェアの階層化
階層 担当するソフトウェア プロトコルの例
アプリケーション層 アプリケーション HTTP(Web)、SMTP(メール)等
トランスポート層 オペレーティングシステム TCP、UDP
インターネット層 IP、ルーティング等
ネットワークインターフェイス層 ドライバ イーサネット、Wi-Fi、PPP等


例えば、モデムを使用してプロバイダに接続した場合やイーサネットと光ファイバサービスを使用して接続した場合でも同じWebブラウザや電子メールソフトが使用できるのは、
ネットワークシステムが上記のように階層化されているおかげである。

このように、必要な機能を分類してプロトコルを定義し、階層関係をつけて各プロトコルとそのためのソフトウェアを配置することを、「プロトコルの階層化」や「プロトコルスタック」という。

機能ごとにモジュールを分割し、複数のモジュールを組み合わせることで、多くの部分を共通的に使用しながら、
物理的なネットワーク方式やアプリケーションごとの機能の違いをうまく吸収することができる。