🌐

TCP/IP 入門①

2022/10/14に公開

時系列

  • 1950年代 バッチ処理の時代
  • 1960年代 タイムシェアリングシステム。ホストコンピューターが複数端末を束ねる。
  • 1970年代 コンピューターとコンピューター同士での通信が可能に
  • 1980年代 パケット交換技術によるネットワークの時代。異なるメーカーでも通信可能に。ウインドシステムによって一台で複数のタスクが並列可能に。
  • 1990年代 インターネットの普及。民間への浸透、一人一台の時代へ。ダウンサイジング、マルチベンダ接続の流れ。
  • 2000年代 インターネット技術中心。電話網からIP網の構築へ。 携帯や家電、ゲーム機などあらゆるものがネットワークへ接続。
  • 2010年代 TCP/IPの時代。インターネット犯罪の増加によって「単につなぐ」から「安全につなぐ」通信手段を意識する時代へ。

TCP/IPとは何なのか

TCP/IPとはプロトコルの総称。「プロトコル」は双方が通信を行う上での手順や規約、いわば約束事のようなもの。
様々なプロトコルをまとめたものを「ネットワークアーキテクチャ」と呼び、TCP/IPも様々なネットワークアーキテクチャとして様々なプロトコルの集合体になる。

例えば、、、

  • IP インターネット通信を行う
  • HTTP ホームページを見る
  • TCP 安全性重視で通信
  • UDP スピード重視で通信
  • SMTP メールを送るときに使う

パケット交換

パケット交換とは、大きなデータを小さな小包(パケット)に分割して送信する方法。
パケットは1つずつ通信回路を通して、宛先のアドレスに送られる。
送信中のパケットにはヘッダと呼ばれる自分や相手のアドレスやデータの番号が書き込まれる部分が装着されており、再構築時に取り除かれる。

パケットはデータを複数の小分けにして、転送の順番を待つ行列に並べる方法。データを細分化することで、各コンピューターが一斉にデータを送受信できることになり、回線を効率的に使用することができる。

プロトコルの階層化

通信プロトコルを設計する時の指標としてOSIという国際標準のモデルが提唱される。
これは機能を分割すうることで、複雑なプロトコルを単純化できることと、何か一部システムの変更があっても、全体に影響しないという利点がある。
ソフトウェアを開発する時のモジュール化に似ている。

OSI参照モデルの各層の役割

多くの通信プロトコルはOSI参照モデルの7階層に当てはめて考えることができる。

  1. 物理層 0と1の電圧の高低や光の点滅。コネクタやケーブルの形状。
  2. データリンク層 直接接続された機器間でデータフレームの識別と転送。
  3. ネットワーク層 アドレスの管理と経路の選択。どの経路を通って宛先まで届けるか。
  4. トランスポート層 両端間のデータ転送の管理。データ転送の信頼性を提案する。
  5. セッション層 通信の管理。コネクションをいつ確立/切断するか。トランスポート層以下の管理。
  6. プレゼンテーション層 機器固有のフォーマットと、ネットワーク共有のフォーマットの交換。文字列や画像、音声などの情報表現の違いを共通化。
  7. アプリケーション層 特定のアプリケーションに特化したプロトコル。電子メール、遠隔ログイン、ファイル転送

送信側は7階層目から順番にデータが伝えられ、受け取り側は1階層目から受け取ることになる。

上位層から渡されたデータに自分の階層のプロトコル処理に必要な情報を「ヘッダ」という形で渡す。
受信側では、それぞれの層に移行する際に「ヘッダ」と上位層へのデータに分離して渡す。そうすることで送信したデータが元のデータに復元される。

コネクション型とコネクションレス型

  • コネクション型
    データを送信する前に、送信ホストと受信ホストの間で回線を接続する。相手が通信負荷な場合は、データが送れない。

  • コネクションレス型
    送信したいデータをいつでも好きな時に送れる。逆に受信側はいつ誰からデータが来るのか分からない。
    データを受け取ってるかどうかは確認されていないので、相手に届いていなくてもデータを送れてしまう。

Discussion