基礎からわかる!パソコン入門・再入門 / 無料パソコン教室・基礎知識・Word・Excel・PowerPoint

インターネットの標準プロトコル ~ TCP/IPとは ~

数の異なる種類のコンピュータ(パソコン)やOSが存在するインターネット上では、通信ルールであるプロトコルも多数存在します。

中でも、第3層のネットワーク層で規定されたIPプロトコルによって、異なるネットワーク間の通信が可能となり、インターネットが現実のものとなりました。

しかし、前項で解説のとおり、ベストエフォートであるIPだけでは通信の品質が確保できないため、第4層のトランスポート層のプロトコルを併用しなければなりません。

そこで、インターネットでは、IPプロトコルとそれを支えるトランスポート層のプロトコルを標準のプロトコルとしてまとめ、

TCP/IP(ティーシーピー アイピー)

と総称しています。インターネットに接続するためには、どんなコンピュータでも、このTCP/IPをインストールする必要があります。もっとも、ほとんどのパソコン(OS)には標準でインストールされています。

TCP/IPは、インターネットにおける通信の文字通り「標準」であり、WWWHTTP)やファイル転送(FTP)といったサービスの基礎となるプロトコルです。

スラッシュで区切られているのは、トランスポート層の「TCP」プロトコルと、ネットワーク層の「IP」プロトコルの異なる2つプロトコルをまとめているからです。TCPは「Transmission Control Protocol」、IPは先述のとおり「Internet Protocol」の略になります。

前項で簡単に解説しましたが、IPプロトコルは「Internet Protocol」の名前のとおり、インターネットの基本的なルールを定めたプロトコルで、

IPプロトコルのネットワークがインターネットである

と言い換えることもできます。IPは、データをパケットに分割して、パケット単位でルーティングなどのデータ伝送の管理を行い、送信先には IPアドレス を指定して通信を行います。(IPアドレスについては、IPアドレスとは(1) で詳しく解説します)

ただし、データ伝送はパケット単位なので、ファイル単位の全体的なデータ伝送を管理するためには、IPプロトコルだけでは管理できません。つまり、ベストエフォートのため、一部のパケットが届かないという事態があり得るのです。

そこで、トランスポート層のTCPIPを補完します。

では、どのように通信の品質を保証しているのかというと、簡単に言えば、送り手側のパソコンと受け手側のパソコンの双方がTCPで通信を行い、

データが届かない場合は再送する

という仕組みです。非常に単純なようですが、届かないデータはあきらめ、もう一度送ることですべてのデータが届くようにして信頼性を担保しているわけです。

このことは非常に理にかなっています。ベストエフォートによりインターネットのネットワーク負荷を高めることはなく、ただデータを再送する仕組みによって、ある意味で完全なデータ伝送が保障されます。

ウェブページを閲覧しているときに、ページが開くのが遅いなどの経験は誰でもありますが、それはTCPによるデータの再送が大きな原因のひとつです。

これが、TCP/IPがインターネットの標準プロトコルたる理由です。また、TCPの役割は再送だけではありません。

通信先の「アプリケーションソフト」を指定して送り届ける

というのも主な仕事のひとつです。IPでの通信では、パソコン対パソコンの通信は実現しますが、通常、通信はソフトウェアが行うものなので、最終的な「住所」がわからないのです。

例えば、マンションの番地まではわかっているのに部屋番号がわからなければ、確実に届けられるという保証はありません。IPでは、マンションの「部屋番号」までは指定できないのです。

そこで、TCPによって部屋番号まで指定して、実際にデータを扱うアプリケーションソフトまで確実に送り届けます。

この部屋番号のことを、「ポート番号」と言います。ポート番号を指定することによって、相手のパソコンの中のどのアプリケーションソフトなのかを特定しています。

ポート番号は、16桁の2進数を10進数に置き換えて、「25」「110」などと表されます。(進数の変換について詳しくは、2進数と10進数と16進数 を参照してください)

16桁の2進数ということは、2の16乗で「65,535」個のポートが存在します。1台のパソコンで動作するアプリケーションソフトには十分な数です。

では、どのようにポート番号を指定するのかというと、基本的にはアプリケーションソフトが起動するたびにOSが自動的に割り当てますが、主要なアプリケーションソフトが使うプロトコルのポート番号は、実はあらかじめ予約されています。

例えば、メール送信のSMTPが「25」、メール受信のPOP3が「110」、WWWHTTPが「80」などで、このようなポート番号を「ウェルノウンポート」と言います。

必ずこのウェルノウンポートで通信させる必要はありませんが、その番号を使用することが慣例になっています。

また、ウェルノウンポートは1023番以下に分布しており、ウェルノウンポートを持たないプロトコルを使用するアプリケーションソフトは、1024番以上を使用するということも慣例になっています。

次に、TCPにはもう1つ特等があります。それは、

相手との仮想的な通信経路を確立してから通信を開始する

という特徴です。これはあくまで「仮想的」なので、回線交換方式のように回線を占領してしまうことはありません。TCPでは、経路(コネクションという)が確立されているので、比較的安全に大容量のデータをやり取りすることができます。

コネクション確立のため、通信速度が遅いというデメリットがありますが、最近では、物理層およびデータリンク層のイーサネットの高速大容量化やパソコンの処理性能の向上によって、TCPでも高速化が実現できるようになっています。

一方、コネクションを確立せず、直接相手にパケットを送信するプロトコルが「UDP」です。UDPは、再送を行わないため、信頼性はTCPに劣りますが、TCPより伝送速度は速くなります。(ポート番号はUDPも使用します)

UDPは、動画のストリーミング再生などに利用されています。ストリーミングとはダウンロードの完了を待たない同時再生です。そのため、TCPのようにいちいちデータが整わないと再生しないようでは話になりません。つまり、ある程度のデータ欠損があってもいい場合にはUDPが利用されます。

下図は、前項と同じのOSI参照モデルです。TCP/IPは、第3層と第4層にあたります。もう一度、各階層の特徴を見直してみましょう。

OSI参照モデル
階層 名称 特徴
第7層 アプリケーション層 アプリケーションソフト間での通信を規定
第6層 プレゼンテーション層 データ形式に関する規定(文字コードや画像形式など)
第5層 セッション層 通信の開始/終了に関する規定(コンピュータ間のコネクションや切断など)
第4層 トランスポート層 通信の品質を確保するための通信手順を規定(エラー時の再送や到着確認など)
第3層 ネットワーク層 異なるネットワーク間の通信を規定(データの通信経路を選択するルーティングなど)
第2層 データリンク層 同じネットワーク内の通信を規定(パケットによる送受信の規定など)
第1層 物理層 接続のための物理的な規定 (ケーブルやインターフェース、伝送速度など)

もっとも、OSI参照モデルは、汎用性を重視して7つの階層に細かく機能を分類しているため、前述のとおり、一部のプロトコルや規格に関しては、OSI参照モデルのどの層に属するかについて異なる見解があったりして、実際は実用的ではありません。

したがって、現在、OSI参照モデルはガイドライン(指針)として、参照および比較として扱われる存在となっています。

実際の運用に即した、主流として使われている通信モデルは、

TCP/IPモデル(TCP/IPプロトコル群)

と呼ばれる、OSI参照モデルをベースに考えられたプロトコル体系です。

TCP/IPモデルでは、7つから4つの階層に簡略化され、TCP/IPを中心に行われる通信の各プロトコルは、「TCP/IPプロトコル群」として各階層に分類されています。

また、TCP/IPを中心とした、TCP/IPプロトコル群のプロトコル全体をまとめてTCP/IPと総称する場合もあります。

OSI参照モデルとTCP/IPモデル(TCP/IPプロトコル群)
OSI参照モデル TCP/IPモデル TCP/IPプロトコル群
アプリケーション層 アプリケーション層 HTTPFTP、Telnet、SMTPPOP3 など
プレゼンテーション層
セッション層
トランスポート層 トランスポート層 TCPUDP など
ネットワーク層 ネットワーク層 IPIPv4、IPv6)など
データリンク層 ネットワーク
インターフェース層
イーサネット、トークンリング、フレームリレー、PPP など
物理層 ハブ、無線、光ケーブル など

上表のように、OSI参照モデルと比較してTCP/IPモデルはかなり簡略化され、実用的なものとなっています。

このように、インターネットでの通信は、「TCP」と「IP」というプロトコルを中心に行われているので、TCP/IPがインターネットの標準的なプロトコルと言われるのです。

また前項で、「上位層の全てを1つのプロトコルで定めている場合が多い」と解説しましたが、上位層がアプリケーション層にまとめられ、まさにそれを表しています。次項からは、それらアプリケーション層のプロトコルを解説して行きます。

ページトップへ戻る


関連情報&オススメ

JALカードはJALマイレージバンク機能に、各提携会社のクレジット機能が備わったクレジットカードです。フライトでもショッピングでも効率よくマイルをためることができます。

マイルをためようとている方、旅行好きな方には最適なクレジットカードです。JAL派とANA派に分かれますが、JAL便を多く利用するなら、はっきり言ってJALカードは「必須」です。

JAL便の場合、チェックインも搭乗手続きもJALカードをかざすだけで可能になりますし、カード付帯保険や各地の特約ホテルで割引などもあります。

たまったマイルは特典航空券と交換でき、マイルをためることで無料で旅行を楽しむことができたりもします。その他にも様々な商品や各地で使えるクーポン、電子マネーやAmazonギフト券などとも交換することができます。

私はクレジットカードはすべてJALカードにまとめ、電話代等の引落しもJALカードを使っています。すると、月々の支払いによってマイルが自動的たまり、数年に一度は無料で飛行機に乗ったり、Amazonギフト券に交換したりと重宝しています。

ページトップへ戻る

更新履歴

2008年7月25日
ページを公開。
2009年5月6日
ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
2010年3月7日
内容修正、追加。(OSI参照モデルの特徴等)
2014年5月23日
内容修正、追加。(TCPの役割について)
2018年1月26日
ページをSSL化によりHTTPSに対応。

ページトップへ戻る

参考文献・ウェブサイト

当ページの作成にあたり、以下の文献およびウェブサイトを参考にさせていただきました。

文献
図解入門 インターネットのしくみ
ウェルノウンポート-IT基礎講座
http://www.katch.ne.jp/~nirvana/edu/web_ed/web_ed38.htm

ページトップへ戻る