TCP/IP 【Transmission Control Protocol/Internet Protocol】

広告

広告

TCP/IP とは

最終更新
2004-08-05T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/nw/tcpip/tciip.html#tcpip

インターネットでWebページをみる場合を考えてみてください。Webページというものも一つの情報(データ)です。しかし、みる側のパソコンにみたい情報が入ってるわけではありませんので、どこか別のところ(パソコンと思って下さい)からみたい情報を運んでこなければなりません。そのように、データを運んでくるために必要な約束事がTCP/IPと呼ばれるものです。もう少し専門的に言いますと、TCP/IPとはネットワーク上のデータのやりとりに必要なプロトコル(約束)、ということになっています。

もともとはアメリカの国防総省(DOD)の主導で DARPA【Defense Advanced Research Project Agency】という機関が設立され、国防のためのコンピュータネットワーク研究から生まれたプロトコルです。1981 年頃、カルフォルニア大学バークレイ校にて UNIX 4.1BSD にこのプロトコルを実装したことから、UNIX の標準通信プロトコルとして広がり、UNIX 以外のコンピュータでも標準的に使えるようになりました。現在では、世の中で最も普及した事実上の標準プロトコルとしての地位を築くにまで至っています。

TCP/IP の構成

最終更新
2004-08-05T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/nw/tcpip/tcpip.html#structure

今まで TCP/IP への説明を、さも単体のプロトコルのように話してきましたが、実は TCP/IP というものは1種類のプロトコルではなく、IP(Internet Protocol)を中心とした複数のプロトコルの集合として成り立ち、階層構造となっています。一つの例として、データを送信するときに、送信する端末内で行っている手順を紹介します。

  1. 通信用プログラムを利用する(応用層
  2. 確実にデータが送られるかどうかを確認する(トランスポート層
  3. 送り先へ向かってどのような経路でデータを送るのかを決定する(ネットワーク層
  4. 物理的なネットワーク機器へアクセスする(データリンク層

階層構造になっているのは、上記例のようにそれぞれ機能を分離して、送信時は上位から下位へ、受信時は下位から上位へデータを受け渡すことにより、円滑なデータ通信又は通信設計を可能にするためとなっています。

TCP/IPの階層構造
OSI参照モデルTCP/IPでの階層構造主なプロトコル説明
応用層応用層 SNMP,DNS,
RIP,HTTP,
FTP,SMTP,
Telnet
ネットワークを利用するアプリケーション
プレゼンテーション層
セッション層
トランスポート層トランスポート層TCP,UDP エラーの検出と訂正、ポート番号を定める
ネットワーク層ネットワーク層IP,ARP,ICMP データグラムの定義と経路制御、IPアドレスを扱う
データリンク層データリンク層Ethenet,TokenRing,
FDDI,ISDN,PPP
物理ネットワークへのアクセス
物理層

TCP/IP における通信方法

最終更新
2004-08-05T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/nw/tcpip/tcpip.html#protocol

では、実際に、TCP/IPがどのような方法でデータのやり取りを行っているのかを、上記 TCP/IPの参照モデルを踏まえて見てみましょう。例として、ブラウザのアドレス入力欄にURLを入力して、Enterキーを押したときを考えます。

Webブラウザがリクエストメッセージを作成します。作成されたデータは、OSのTCP/IP処理ソフトに渡されます。下層のトランスポート層にデータを渡すまでが、応用層の役目となっています。

次に、トランスポート層TCPによってTCPヘッダが付けられます。このとき、受け取ったデータがMSS(最大セグメントサイズ)よりも大きい場合は、データを分割してそれぞれのデータにTCPヘッダを付けた後、IPへ送ります。これらの作業は、通信の際の誤り防止機能として働くものです。間違いなくデータが送られているかどうかのチェック機能と考えて下さい。

更に、ネットワーク層のIPによってIPヘッダが付けられます。これは、どのような経路を使用して相手にデータを送り届けるか、を決定するための重要な作業です。ARPとは、ルーティングテーブルの辺りが参考になるでしょう。作業が終われば、下位のデータリンク層へとデータを渡します。

MACヘッダが付けられた後、OSのTCP/IP処理ソフトはLANアダプタのデバイスドライバを呼び出します。そして、MACヘッダ以下のデータをLANアダプタに送ります。

LANアダプタが、同期用のプリアンブル信号とチェック用のFCS【Frame Check Seguence】を付け加え、電気信号に変換した後にケーブル上に送り出します。

以上のように、データを送信するときは、上位のプロトコルから順番に下位のプロトコルへ処理が引き継がれていきます。これとは逆に、受信側では、まず物理層にデータが入ってきますので、物理層から順番に上位の層へと処理が引き継がれていくことになります。このとき各層のプロトコルは、処理が終了すると自分が担当するヘッダを取り除いてから上位の層へデータを渡しますので、最終的には、アプリケーションソフト用のデータだけが応用層のプロトコルに渡されることになります。

広告

Copyright (C) 2003-2004 七鍵 key@do.ai 初版:2004年01月10日 最終更新:2004年08月05日