ネットワークメモ
目次
ネットワーク
- ネットワークにおいて重要なことは他のコンピュータの情報を利用すること。(情報の共有化)
- パケット交換方式:データを細かく分けて送る方式
ネットワーク機器の会社が独自の通信ルールを定めると異なる会社の機器を用いた際に通信が上手く行えない。
そこで、異なる機種同士の接続を行うための標準化を進めた。
国際標準化機構(ISO)によって作られたネットワークの標準モデルをOSI参照モデルと呼び、このモデルでは通信機能を7階層に分割している。
また、米国国防高等研究計画局(DARPA)によって作られたTCP/IPモデルというものも存在し、このモデルでは通信機能を4階層に分割している。
いずれも通信ルールを定めるという意味で役割は同じ。
インターネットに使われている通信ルール(TCP/IPプロトコル)はTCP/IPモデルに沿っている。
OSI参照モデル | TCP/IPモデル |
---|---|
アプリケーション層 | アプリケーション層 |
プレゼンテーション層 | (アプリケーション層) |
セッション層 | (アプリケーション層) |
トランスポート層 | トランスポート層 |
ネットワーク層 | インターネット層 |
データリンク層 | インターフェース層 |
物理層 | (インターフェース層) |
TCP/IPモデルのアプリケーション層はOSI参照モデルでのアプリケーション層・プレゼンテーション層・セッション層を兼ねる。
TCP/IPモデルのインターフェース層はOSI参照モデルでのデータリンク層・物理層を兼ねる。
TCP/IPモデル | プロトコルの例 |
---|---|
アプリケーション層 | HTTP,DNS,SMTP,POP3 |
トランスポート層 | TCP,UDP |
インターネット層 | IP |
インターフェース層 | イーサネット,PPP,PPPoE |
以下TCP/IPモデルでの各層についての記述。
インターフェース層
- LAN:会社内や大学内など特定の狭い範囲で用いられるネットワーク
- イーサネット:LANで用いられるプロトコル。LANに繋がってる複数のコンピュータがやり取りを行う
- ハブ:複数のコンピュータを接続するための中継用の機器
複数のコンピュータがデータの送受信を行うので、例えば同時にデータ(電気信号)が通ると衝突して通信に失敗する。
→イーサネットではCSMA/CDという仕組みを用いて衝突を回避している
通常のハブの他、スイッチングハブが存在する。
通常のハブの場合、LAN内の他の特定のコンピュータへデータを送信すると接続されている全てのPCにデータが流れ、正しい送信先のコンピュータは流れてきたデータを受け取り、それ以外のコンピュータは自分宛じゃない事を確認して破棄している。
スイッチングハブの場合送信するデータの送信先を調べ該当するコンピュータにのみデータを流す。
WANはLANと異なり長距離の送信かつ通信事業者の提供するサービスを利用するため、PPPによって認証などが行われる。
PPPの認証機能をイーサネット上で利用するためにPPPoEというプロトコルが存在する。
インターネット層
複数のネットワーク(コンピュータのグループ)をつなぐ。
ネットワーク内の通信は外へは出ず、他のネットワークにデータを送る場合はルータを利用する。
- ルータ:ネットワーク同士を接続するのに使用する。また、ルーティングというデータの送信に適切な経路を決定する機能も持つ
インターフェース層ではMACアドレスを利用して次にデータを送る機器(中継を含む)を定めているのに対し、インターネット層ではIPアドレスを利用して最終的な送信先を定めている。
- IPアドレス:ネットワーク上の機器を識別するための数字。ネットワーク部とホスト部からなる
- サブネット:1つのネットワークをさらに複数の小さなネットワークに分割すること。識別用にホスト部の一部を利用する(サブネット部)
- サブネットマスク:どこまでがサブネット部なのかを示すための値。ネットワーク部とサブネット部のビットは1、残りのホスト部のビットを0とする
トランスポート層
ポート番号を利用して受信したデータがどのアプリケーションのものなのかを判別。
また、正しいデータをアプリケーションへ正しく送信する。
- ポート番号:各アプリケーションに割り当てられる番号
主要なサービスを提供するアプリケーション(メールの送信、Webサイトの情報送信)のポート番号は基本的に固定。
アプリケーション | ポート番号 |
---|---|
SMTP | 25 |
DNS | 53 |
HTTP | 80 |
POP3 | 83 |
他にもいろいろある。サービスを要求するアプリケーションは提供側や他のアプリケーションと被らない番号を設定する。
トランスポート層での主なプロトコルにはTCPとUDPがある。
TCPは送信先に確実にデータを送る事を意識しているプロトコルである。
送信先がデータを受信できるか確認(スリーハンドシェイク)を行った後にデータを送信する。
分割したデータに番号を割り振り順序制御や再送制御を行い信頼性を高める。
フロー制御を行い効率化を行う。
UDPはTCPとは逆に高速性を意識したプロトコルである。(TCPは信頼性を高める代わりに遅い)
少量のデータ送信やリアルタイム配信などの場合はこちらを用いる。
アプリケーション層
各アプリケーションに対し適切な通信サービスを行う。
Webサービスやメール受信サービスなどで異なるプロトコルが用意されている。
- クライアント・サーバ型:要求側(クライアント)と提供側(サーバ)に分かれてデータをやり取りする形式
以下代表的なプロトコルとその役割