ホーム > タグ > ネットワーク講座

ネットワーク講座

TCP/IPの各レイヤ識別子

ネットワークでデータをやり取りするときは、どの相手とデータをやり取りするのか特定する必要があります。
TCP/IPの各レイヤは、相手を特定するために識別子をつける仕組みを持っています。
レイヤによって識別方法が違います。

ネットワークインターフェイス層

ネットワークインターフェイス層のイーサネットは、MACアドレスを使って直接データをやり取りするPCなどを特定します。

インターネット層

インターネット層のIPプロトコルは、IPアドレスで相手を特定します。

トランスポート層

トランスポート層のTCPとUDPは、アプリケーション層を担当するソフトウェアとの間に階層的な通路を作りデータを受け渡します。
何本もある仮想的な通路を識別するためにポート番号を使っています。

1回のデータのやりとりに3つの識別子

各レイヤで別々の識別子を使うので、1回のデータのやりとりに、3つの識別子を使っています。

アプリケーション層

データをやり取りする相手のIPアドレスとポート番号は、アプリケーション層のソフトウェアが自動的に指定します。
MACアドレスは、IPアドレスと対応させるためのプロトコル「ARP」を使います。

HTTP「ウェブサービスの働き」

TCP/IPプロトコル「アプリケーション層」に属するプロトコル「HTTP」
(Hypertext Transfer Protocol)

ブラウザ(クライアント)がウェブサーバーにデータを要求すると、サーバーが要求されたデータを送るシンプルなものです。
HTTPを使用します。

ウェブサーバを構築するには「Apache」や「IIS」などウェブサーバーソフトを使います。

クライアントからサーバーに要求するデータをHTTPリクエストといいます。
HTTPリクエストのヘッダにはメソッド、URI、データ形式などが含まれています。

メソッドとは「何をするか」を表すコマンドで「GET」「POST」などがあります。
GETの場合は、URIで指定したファイルをサーバーがクライアントに送ります。
POSTの場合は、クライアントからサーバーにデータを送ります。

「GET」のHTTPリクエストを受け取ったサーバーは、HTTPリクエストで指定されたデータにヘッダを付加しHTTPレスポンスをクライアントに送ります。

HTTPリクエストを送り、HTTPレスポンスを返す。


Apacheとは、フリーソフトウェアとして無償で公開されており、世界中のプログラマたちがボランティアで長年に渡って開発を続けている。
現在、安定版の最新バージョンは2.2.16が公開されている。

TCP/IPプロトコル「アプリケーション層」

TCP/IPのアプリケーション層の役割について。

OSI参照モデルの第5層「セッション層」、第6層「プレゼンテーション層」、第7層「アプリケーション層」にあたります。

TCP/IPプロトコル「アプリケーション層」は、下位のトランスポート層にデータを整え渡す役割があります。
ユーザーとTCP/IPの間で働いてくれているのです。

TCP/IPプロトコル「アプリケーション層」の代表的なプロトコル

TCP/IPプロトコル「アプリケーション層」の代表的なプロトコルは、HTTP、SMTP、POP3、FTPなどがあります。
聞いたことのある名前も多いと思います。

これらのプロトコルに対応したソフトウェアが必要です。

HTTPはウェブサービスを提供します。ブラウザが必要です。
SMTP、POP3は、メールの送受信使われます。メーラーが必要です。
FTPは、ファイル転送に使われます。

ヘッダ

アプリケーション層のプロトコルは、ユーザーが入力したデータに受け取る相手のアプリケーション層が正しく処理するために、「ヘッダ」を付け加えます。
メールの「ヘッダ情報」は、SMTPがメール作成者メールソフトやSMTPサーバーが作成したものです。
ウェブサービスでも、HTTPがヘッダを付け加えられます。

TCP/IPの4つのレイヤ

TCP/IPプロトコル「トランスポート層」

TCP/IPのトランスポート層の役割について。

OSI参照モデルの第4層「トランスポート層」と第5層「セッション層」にあたります。
トランスポート層の代表的なプロトコルは「TCP」と「UDP」です。

TCPとUDPの役割

役割は、通信プログラムがデータ通信を始めてから終わるまでの一連の流れ(セッション)を行う仮想的な通路を作ることです。
仮想的な通路は同時に複数つくることができ、どの通路を扱うデータかを区別するために各通信プログラムに「ポート番号」と呼ばれる識別子を付けます。

UDPの役割はここまでで、TCPはさらに確実にデータを届けるために「シーケンス番号」「確認応答」「再送」の機能を持っています。

「シーケンス番号」とは、データ1バイト毎に順番に付けた番号のこと。
「○番からデータを送る。」→「○番まで届きました。」→「□番からデータを送る。」・・・というやり取りをし、次に送るデータをどこから送れば良いかがわかるようにしています。

「確認応答」とは、データを受信した側が、送信側に「データを受け取った」と知らせる機能。送信側は、受信側からの知らせを受け次のデータ(TCPセグメント)を送ります。

「再送」とは、一定時間待っても応答がない場合に再度同じデータ(TCPセグメント)を送る機能。

TCPとUDPの使い分け

TCPはデータを確実に届けることができます。
しかし、データを送るときの手順がUDPよりも多く時間がかかります。
動画配信などは、確実にデータを届けるよりも、転送速度を重視しますので、UDPを使用しています。

TCP/IPの4つのレイヤ

TCP/IPプロトコル「インターネット層」

TCP/IPのインターネット層の役割について。

OSI参照モデルでは、第3層「ネットワーク層」にあたります。

データをやり取りする相手との通信に関する決まり事を定めています。
インターネット層はIP・トランスポート層はTCPとTCP/IPプロトコル群の基盤となるプロトコルです。

IPとルーティング

データをやり取りするには、「IPアドレス」が必要になります。
IPアドレスは、相手がどの場所に存在するのかを示す住所のようなものです。

IPアドレスがわかれば、次に「どのルートでデータを送るか」を決めます。
ルーティング」と呼びます。

IPの役割は、主に「IPアドレスの管理」と「ルーティング」になります。

インターネット層のプロトコル

ネットワーク層には、IPプロトコル以外にも、ARP、RARP、ICMPなどもあります。

ARP(Address Resolution Protoco)プロトコルとは、IPアドレスから物理層のネットワーク・アドレス(MACアドレス)を求めるために利用されるプロトコル。
RARP(Reverse Address Resolution Protocol)プロトコルとは、ARPとは逆の意味でMACアドレスからIPアドレスを取得するためのプロトコル。
ICMP(Internet Control Message Protocol)プロトコルとは、IPプロトコルがエラーした場合に対処するためのプロトコル。

[ping]コマンドには、ICMPプロトコルが使われています。

TCP/IPの4つのレイヤ

1 2 3

ホーム > タグ > ネットワーク講座

検索
最近の投稿
Tag cloud
カレンダー
« 2017 年 12月 »
M T W T F S S
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
RSS RSS
アーカイブ

ページの上部に戻る