前へ << tcpdumpでプロトコルを解析してみよう | サンプルが perl5 専用なワケ >> 次へ |
第7層: アプリケーション層 |
第6層: プレゼンテーション層 |
第5層: セッション層 |
第4層: トランスポート層 |
第3層: ネットワーク層 |
第2層: データリンク層 |
第1層: 物理層 |
一方、TCP/IP は ARPAnet から発展したプロトコルです。 4.2BSD で一般的に利用できるようになり、RFC によるゆるやかな規格と インターネットの普及に伴い爆発的な発展を遂げました。 ARPAnet は OSI 参照モデルから発展したわけではなく、全くの別物と考えてください。
当ページ管理人は OSI なネットワークに触れたことは一度もありません。 しかし古いネットワークや企業間通信ではまだ使用されているだろうと思っています。 今後は TCP/IP に移行が進むと思っていますが、OSI 事情に詳しくないので、 間違っていたら教えてください。
TCP/IP プログラミングを勉強する上で、 あえて OSI 参照モデルそのものを勉強する必要はありません。 「この処理は OSI 参照モデルの〜に相当する」ということも考えなくていいです。
ただし、
OSI 参照モデル | TCP/IP | |
---|---|---|
第7層: アプリケーション層 | 第4層: アプリケーション | |
第6層: プレゼンテーション層 | ||
第5層: セッション層 | ||
第4層: トランスポート層 | 第3層: トランスポート | |
第3層: ネットワーク層 | 第2層: インターネット | |
第2層: データリンク層 | 第1層: ネットワークインタフェース | |
第1層: 物理層 | 第0層: ハードウェア |
ただし、どの層を対応付けるかは人によって考えが異なります。 また TCP/IP のレイヤは確たる規約があるわけではないので名称は人によって異なる場合があります。 よって、この対応表はあくまで概念的なものと考えてください。
上記の図に、具体的な役割と実装例を追記したのが下図です。
OSI 参照モデル | TCP/IP |
---|---|
第7層: アプリケーション層 アプリケーション間でのデータのやり取りを担当 |
第4層: アプリケーション 例: HTTP・FTP・DNS |
第6層: プレゼンテーション層 データ変換 (ASCII・EBCDIC などの相互変換) と圧縮を規定する | |
第5層: セッション層 ログイン・ログアウトなどのセッションの手順を規定する |
|
第4層: トランスポート層 再送・輻輳処理・ピア間の信頼性のあるエンドツーエンドの通信を担当。 |
第3層: トランスポート 例: TCP・UDP |
第3層: ネットワーク層 ネットワークの経路選択・中継作業を担当。 |
第2層: インターネット 例: IP・ICMP・ARP・RARP |
第2層: データリンク層 1つのネットワークに接続された複数のコンピュータ間でのデータを伝送を担当。 |
第1層: ネットワークインタフェース 例: Ethernet・PPP |
第1層: 物理層 回線の上でデータ送受信を担当。 回線に送信する電気的な変換やピンの形状・ケーブル特性などを規定。 |
第0層: ハードウェア 例: UTP ケーブル・RC-232C |
以下、簡単に思うところをあげておきます。
日本工業標準調査会 の web で 「JIS 検索」ボタンを押下し、表示されたフォームの 「JIS規格番号検索」で「X5003」と入力することで PDF ファイルを参照できます。
ついでに書いておくと、OSI 参照モデルはあくまで「モデル」でしかありません。 より詳細な標準として X.200 シリーズ、X.25、X.400 シリーズ (Message Handling System: 電子メール)、X.500 (ディレクトリサービス) などが勧告されています。 また、(名前は聞いたことがあるかもしれませんが) X.509 という勧告において 証明書の形式が定められていますが、これは SSL/TLS で扱う証明書と同じフォーマットです。 このように OSI から規約を借りて TCP/IP の世界で実装することもあります。
前へ << tcpdumpでプロトコルを解析してみよう | サンプルが perl5 専用なワケ >> 次へ |
ご意見・ご指摘は Twitter: @68user までお願いします。