この記事は?
勉強しても忘れてしまいがちなので、ネットワーク周りの基礎・基本知識をまとめてみました。
間違いなどあれば指摘していただけると嬉しいです。
ネットワークって?
複数のコンピューターを接続して、相互に通信できるようにした状態。
https://kotobank.jp/word/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF-7058
コンピュータ同士をつなげて情報のやりとりができるようになった状態をネットワークあるいはコンピュータネットワークと言います。
家庭内や社内など近くにあるコンピュータをつなげたネットワークをLAN(Local Area Network)といい、遠くにあるコンピュータをつなげたネットワークをWAN(Wide Area Network)と言います。
またケータイやスマホをつなげるネットワークはモバイルネットワークと呼ばれます。
インターネットって?
ネットワークの中でももっとも規模が大きいものがインターネットです。
世界中の企業のネットワーク、大学のネットワーク、家庭のネットワークなどをつないで自由に情報をやりとりすることができます。
ネットワーク間の通信の仕組み
コンピュータネットワークでは情報の交換を「パケット」と呼ばれる小さな単位に分割してやりとりしています。
「パケット」には送信元と受信先のアドレス情報がついており、この情報を元に届けられます。
パケットに分割してやりとりしている理由として、データを少しずつ送ることで回線の占有を避け、複数の相手と並行して柔軟に通信するためというものがあげられます。
アナログ電話やケータイの3G回線などでは「パケット交換方式」とは違い「回線交換方式」という通信経路を占有する方式が取られています。
コンピュータネットワークの階層モデル
ネットワーク通信を実現するためには様々なプログラムや機器が協力しながら動く必要がありますが、それらの役割を明確にしたものが「階層モデル」です。
階層モデルには「OSI参照モデル」と「TCP/IP 4階層モデル」がありますが、ここでは「TCP/IP 4階層モデル」を紹介します。
TCP/IP 4階層モデルとは?
階層名 | 役割 | 関連するキーワード |
---|---|---|
アプリケーション層 | Webサービス、電子メールなどのサービスをユーザに提供します | HTTP, SMTP, POP3, FTP, SSHなど |
トランスポート層 | アプリケーション層とインターネット層を仲介し、データを正しく届けるための働きをします | TCP, UDP |
インターネット層 | 宛先のIPアドレスを元にコンピューターへデータを届けられるようにします。 | IPアドレス、IPv4, IPv6, ICMP, ルーティング |
ネットワークインターフェース層 | ネットワークアダプタなどの通信用ハードウェアを制御して実際にデータを転送します。 | イーサネット, 無線LAN, MACアドレス, PPP など |
上記のうち、アプリケーション層がサービスを提供し、それ以外の3つが通信機能を担当しています。
プロトコルとは?
各階層の役割を知る前に知っておくべき大切なキーワードがあります。それが「プロトコル」です。
コンピュータ・ネットワークでコンピュータどうしが情報を交換するための通信規約。
https://kotobank.jp/word/%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB-8535#E6.97.A5.E6.9C.AC.E5.A4.A7.E7.99.BE.E7.A7.91.E5.85.A8.E6.9B.B8.28.E3.83.8B.E3.83.83.E3.83.9D.E3.83.8B.E3.82.AB.29
人間同士のやりとりでも状況によってやりとりに大まかなルールがあります。例えば、ビジネスの場だったら、「名刺交換 -> ちょっとした雑談 -> 本題」、友達と居酒屋にいるシチュエーションだったら「注文 -> 乾杯 -> 近況報告」など。
人間の場合、暗黙的なルールがありますが、コンピュータには厳密なルールが必要です。
このようなやりとりのルールが「プロトコル」です。
ネットワーク間の通信ではこのプロトコルが様々な場面で使用されています。
代表的なプロトコル
層 | プロトコル名 | 働き |
---|---|---|
アプリケーション層 | HTTP | Webページのデータをやりとりする |
HTTPS | Webページのデータをセキュリティに対応した通信でやりとりする | |
POP3 | サーバーに保管された受信メールを取り出す | |
SMTP | メールを送信する | |
FTP | ファイルを転送する | |
Telnet | コンピュータを遠隔操作する | |
SSH | セキュリティに対応した通信でコンピュータを遠隔操作する | |
DHCP | コンピュータにプライベートIPアドレスを割りあてる | |
DNS | URLとIPアドレスを相互変換する | |
SSL | セキュリティに対応した通信を行う | |
トランスポート層 | TCP | 確実さを優先してアプリケーションのデータを送受信する |
UDP | 速度を優先してアプリケーションのデータを送受信する | |
インターネット層 | IP | パケットを目的地まで届ける |
ICMP | IPでの通信エラーなどを通知する | |
IPsec | パケットを暗号化して届ける | |
ARP | ネットワーク機器のMACアドレスを調べる | |
ネットワークインターフェース層 | イーサネット | メタルケーブルや光ファイバーケーブルでデータを伝送する |
PPP | ユーザを認証して遠隔地の機器と通信する |
続き
各階層については後の記事にて紹介します。
随時アップデートしていきます。
参考資料
スラスラわかるネットワーク&TCP/IPのきほん
こちらの本をほとんど参考にして記事を書いています。絵や図が多いので初心者にとてもオススメです。