KATOエンジニヤリング開発日誌

「アウトプット無きエンジニアにインプットもチャンスも無い」の精神で書いています

TCP/IPモデルの役割と標準化を学ぶ

先日から受講している産業技術大学院大学の「ネットワーク特論1」の2回目の講義内容をまとめました。

なお、この講義では教科書として「マスタリングTCP/IP 入門編」が使用されています。

マスタリングTCP/IP 入門編 第5版

マスタリングTCP/IP 入門編 第5版

  • 作者: 竹下隆史,村山公保,荒井透,苅田幸雄
  • 出版社/メーカー: オーム社
  • 発売日: 2012/02/25
  • メディア: 単行本(ソフトカバー)
  • 購入: 4人 クリック: 34回
  • この商品を含むブログ (36件) を見る

第2回目の目標

下記内容に対して、自分の言葉で説明できる。

  • OSI参照モデルの各層の名前と機能はどのようなものか
  • TCP/IPの標準化の管理・運用はどのようになされているか
  • TCP/IPの各層の名前と機能はどのようなものか
  • TCP/IPを使うときの通信はどのように行われるか

OSI参照モデル

OSI参照モデルは下記表のように分類される。

レイヤ 名称 機能
7 アプリケーション層 業務内容(ファイル転送、電子メール等)に応じた各種通信機能の管理
6 プレゼンテーション層 符号化等の表現形式に関する制御機能
5 セッション層 データを効率良くやりとりするための制御機能
4 トランスポート層 送受信端末間の論理的な通信路の確保をし、通信品質の保証を行う機能
3 ネットワーク層 経路選択(ルーティング)とデータの中継・転送機能
2 データリンク層 データリンクコネクションの確立やフロー制御機能
1 物理層 信号レベルの電気的条件、コネクタ形状等の機械的条件

アプリケーション層(応用層)

ユーザーが自身で操作を行うアプリケーションを提供する。

電子メールなら電子メール用プロトコル、ファイル転送ならファイル転送用プロトコルが提供される。

電子メールソフトを例にすると、本文入力後に「送信」ボタン押下時に処理を開始し、相手先での保存・エラー処理などを行う。

プレゼンテーション層

プレゼンテーションとは「表示」「提示」という意味で、データの表現形式を意味している。

コンピュータやソフトウェア固有のデータフォーマットから、ネットワーク共通のデータフォーマットへの変換を行っている。

電子メールソフトを例にすると、異なるコンピュータや電子メールソフトを利用していても整合性をとることができ、文字化け等を防げることができる。

セッション層

送信側・受信側のホストのセッション層間で、どのようにデータを送れば効率良くやり取りができるか、データの送信方法をどうするかといった調整が行われる。

  • コネクション(データの流れる論理的な通信路)の確立方法の決定
    • いつコネクションを確立する?
    • 複数コネクションの要求があった際にいくつ確立する?
  • 転送するデータのパケットの切れ目の設定
  • トランスポート層以下の管理

データ転送に関する管理を行うが、セッション層では実際にデータを転送する機能は実装されない。

トランスポート層

実際にコネクションを確立する。

論理的な通信手段を作り、データ転送の管理を行う。

  • データ転送の信頼性を提供するために、ヘッダをデータに付ける。
  • 実際にデータを届けるのはネットワーク層に委ねる。

また、データを確実に届けるために、送信側・受信側のホスト間でデータがきちんと届いたかどうかの確認をしたり、届いていない場合にはデータの再送処理を行ったりする。

ネットワーク層

ネットワークとネットワークが接続された環境で、送信ホストから受信ホストまでデータを送る役割を持つ。

  • アドレス管理と経路選択(ルーティング)を行う。
  • 上位層から渡されたデータにアドレス情報等を付加してデータリンク層に送る。

データリンク層

直接接続された機器間(通信媒体)でデータのやり取りをできるようにする役割を持つ。

物理層

データを電圧の高低や光の点滅に変換する。

コネクタやケーブルの形状などの物理的な規約を定めている。

TCP/IPの標準化

1990年代にOSIと呼ばれるプロトコルの標準化が行われたがほとんど普及しなかった。

OSIではなくTCP/IPが普及した理由

TCP/IPが他と異なる点

TCPはプロトコルの決定がオープンである。

IETF(Internet Engineering Task Force)という団体の議論を通してプロトコルが決定されるが、議論はメーリングリストで行われ、メーリングリストには誰でも参加できる。

そしてTCPは実際に使えるプロトコルであることが重視される。TCP/IPの仕様を決める時には実装されることを念頭に作業が行われ、プロトコルの詳細が決まる頃には既に通信が可能となっている。

  • プロトコルの仕様を決めることが重要ではない
  • TCP/IPは仕様を考えるよりも先にプログラムが実装された

OSIが普及しなかった理由

  • 動作するプロトコルを早く作れなかった
  • 技術革新に対応できるプロトコルの改良・決定を行える仕組みがなかった

TCP/IPの仕様書RFC

「インターネット」といったキーワードで関連づけられ、広く公開されるべきだと思われる情報を管理・公開された文書。

RFC(Request For Comment)とは

RFCになったドキュメントは下記の特徴を持つ。

  • 番号が付けられる(決められた順番で番号が割り振られる)
  • 内容を改定することが許されなくなる
    • プロトコルの仕様を変更・拡張される場合には新しい番号のRFCで定義し、古いRFCは無効になる。
    • 新しいRFCには更新か置換される古いRFCの番号が記載される。
  • どの番号がどのプロトコルの仕様を示すかが示される番号がSTD(standard)
    • 同じプロトコルなら仕様が変更され、RFCの番号が変わってもSTDの番号は変わらない。

TCP/IPの階層モデル

OSI参照モデル TCP/IP TCP/IPプロトコル コンピュータ上の処理
アプリケーション層 アプリケーション層 HTTP, SMTP, POP3, FTP, SSH, RIP, SNMP 通信アプリケーション
プレゼンテーション層
セッション層
トランスポート層 トランスポート層 TCP, UDP OS
ネットワーク層 インターネット層 IP, ARP, ICMP, OSPF
データリンク層 ネットワークインタフェース層 Ethernet, PPP デバイスドライバ, NIC
物理層 (ハードウェア)