🌐

【ネットワーク】通信プロトコルの階層モデル(OSI参照モデル と TCP/IPモデル)

2024/04/20に公開

はじめに

コンピュータはネットワークでつながれており、通信プロトコルに基づいて様々な種類のデータ通信が行われている。今回、通信プロトコルとOSI参照モデルとTCP/IPについて学んでいく。

通信プロトコルとは

なぜ通信プロトコルがなぜ必要なのか?


パソコンやサーバーを製造している各メーカーで共通の通信のお約束事がないと同じタイプのメーカーや機器との間でしかデータのやり取りができなくなってしまう。

上の図でいうと外側にあるパソコンやタブレットから別のパソコンやタブレットさらに真ん中にあるサーバーにアクセスしようとしても、繋がらないということになる。その他にもルーターやスイッチなども繋がらないということになる。

通信プロトコルがあるおかげて、異なるメーカーや機器同士でも通信が行えるようになる。

1982年頃にメーカーごとに異なるネットワークアーキテクチャを1つに統一しようと、ISO(国際標準化機構)とITU(国際電気通信連合)により、OSI(Open Systems Interconnection:開放型システム間相互接続)と呼ばれるネットワーク標準規格(通信プロトコル)の策定がなされ、「OSI参照モデル」として現在でも用いられるようになった。

OSI参照モデル(Open Systems Interconnection model)とは


OSI参照モデルの各階層の名称や役割について[1]

階層 名称 プロトコル 概要 キーワード
7層 アプリケーション層 HTTP
HTTPS
FTP
DNS
SMTP
POP3
IMAP
SMB
NTP
CGI
RIPなど
個々のアプリケーション www
メール
6層 プレゼンテーション層 SMTP
FTP
Telentなど
データの表現形式 HTML
5層 セッション層 TLS
SSL
NetBIOS
SIPなど
通信手段 HTTPS
VoIP
4層 トランスポート層 TCP
UDPなど
エンド間の通信制御 TCP
UDP
3層 ネットワーク層 IP
ARP
RARP
DHCP
ICMP
EGP
IGPなど
データの送信相手を決め最適な経路で送信 IPアドレス
ルーティング
ファイアウォール
NAT
NAPT
2層 データリンク層 PPP
PPPoE
Ethernet
Wi-Fiなど
隣接する機器同士の通信 MACアドレス
HUB
1層 物理層 RS-232
UTP
無線
物理的な接続、電気信号 LANケーブル
UTPケーブル
光ファイバーケーブル
7層【HTTP・HTTPS・FTP・DNS・SMTP・POP・IMAP・SMB・RIPとは】

【HTTP:Hyper Text Transfer Protocol】
・WebサーバとWebブラウザの間で、Web情報をやりとりするためのプロトコル(通信規則)。
・ポート番号は80番でURLはhttp://
【HTTPS:Hytertext Transfer Protocol Secure】
・HTTP通信を安全に行うためのプロトコル。
・ネットバンキング、クレジットカード決済サービス、個人情報登録や編集を行うようなケースでHTTPSが利用される。
・HTTPとHTTPSの違いは通信が暗号化されていないか暗号化されているかの違いで、HTTPSが暗号化されている。
・ポート番号は443番でURLはhttps://
【FTP:File Transfer Protocol】
・ファイルを転送するための通信規格。
・通信は暗号化されていないため、最近はSFTPを用いて、暗号化されたファイルの通信を行うようになっている。
・ポート番号は20番と21番。
【DNS:Domain Name System】
・IPアドレスとドメイン名を紐づけし、IPネットワーク上で管理するシステム。
・コンピュータネットワーク上のホスト名や電子メールのアドレスに使われるドメイン名と、IPアドレスとの対応づけを管理するために使用されているシステム。
・ポート番号は53番。
【SMTP:Simple Mail Transfer Protocol】
・インターネット上で E メールメッセージを送信するために使用される通信プロトコル。
・メールを相手のメールサーバーまで届ける仕組み。
・ポート番号は25番。
【POP3:Post Office Protocol】
・電子メールの受信に使用されるプロトコル。
・メールサーバーから個人のデバイス(パソコンやスマートフォン)にメールをダウンロードする際の通信手順を規定している。
・ポート番号は110番。
【IMAP:Internet Message Access Protocol】
・電子メールの受信に使用されるプロトコル。
・POPとの違いは、違いは、メールをサーバーに残すか残さないかである。
・POPはメールをダウンロードするとサーバーからは消えるが、IMAPはサーバーが管理してくれたままの状態になる。
・ポート番号は143番。
【SMB:Server Message Block】
・Windowsを中心とした環境でLANを通じてファイル共有やプリンタ共有などに使用される通信プロトコル。
・NetBIOSの代替プロトコルである。
・ポート番号は445。
【NTP:Network Time Protocol】
・コンピュータに内蔵されているシステムクロック(時間)をネットワークを 介して正しく同期させるためのプロトコル。
・ポート番号は123番。
【CGI:Common Gateway Interface】
・ウェブサーバーと外部プログラムを連携させるための標準的なプロトコル。
・Webサーバからプログラムを実行する場合の規定。
【RIP:Routing Information Protocol】
・比較的小規模なネットワーク用に設計されたシンプルなダイナミックルーティングプロトコル。
・ルータ間で使用するルーティングプロトコル。
・各ルータはRIPを使用して自ルータから到達できるネットワークとそのネットワークへのホップ数(メトリック)を通知し合うことによって経路情報を生成し通信を行う。
・あて先のネットワークに到達するために経由するルーターの数で距離のことをホップ数といい、15ホップスまでサポートされている。
・ポート番号は520番。

6層【Telentとは】

【Telent(テルネット)】
・ネットワークに接続された機器を遠隔操作するために使用するアプリケーション層プロトコル。
・このプロトコルのおかげで、オフィスのデスクにいながら、マシンルームにあるサーバ、ルータ等の機器をパソコン上で操作できる。
・ポート番号は23番。

5層【TLS・SSL・NetBIOS・SIP・VoIPとは】

【TLS:Transport Layer Security】
・テキストデータの暗号化や暗号文の復号化を行うためのセキュリティプロトコル。
・Webで暗号化を実装する場合に最もよく使用されており、インターネット上でデータを安全に認証、転送することが可能となる。
・ポート番号は443番。
【SSL:Secure Sockets Layer】
・インターネット上のウェブブラウザとウェブサーバ間でのデータの通信を暗号化し、送受信させるプロトコル。
・1994年にSSL2.0がブラウザに導入されその後にTLSが導入された。現在ではTLSのことも含めてSSLと呼ぶことが多い。
・ポート番号は443番。
【NetBIOS:Network Basic Input/Output System】
・ネットワークの基本入出力システムの一つで、IBMが開発したLAN通信プロトコル。
・複数のコンピューター間での通信を可能にするための枠組み。
・ポート番号137~139。
【SIP:Session Initiation Protocol】
・IPネットワークを利用した通話の相手と「呼制御」と呼ばれる機能でつながるための通信プロトコル。
・音声や映像、テキストメッセージの交換などを行うために必要なセッションの生成・変更・切断を行うプロトコル。
・ポート番号は5060番。

4層【TCP・UDPとは】

【TCP:Transmission Control Protocol】
・TCPは送信中にデータが破損してしまったり損失してしまっても、これらを検出してデータの再送を行い確実に通信をしてくれる。Webサイトの閲覧時などに用いられる。インターネットで実行する通信方法の殆どがTCPを利用している。
【UDP:User Datagram Protocol】
・UDPは身近な機能を用いて相手にデータを送信する方法。映像や音声の通信に用いられる。
・インターネットにて標準的に利用されている プロトコル。
・TCPとUDPと違いは、通信の正確性の違い。

3層【IP・ARP・RARP・DHCP・ICMP・NAT・NATP・EGP・IGPとは】

【IP:Internet Protocol(アイピー)】
・LANとLAN(Local Area Network)を相互に接続するプロトコル。
・インターネット上でデータのアドレス指定とルーティングを行うための一連の標準規格。
【ARP:Address Resolution Protocol(アープ)】
・IPアドレスから他のMACアドレスを調べる為のプロトコル。
・ARP要求リクエストとARPレスポンスという2種類のデータを送信し合ってIPアドレスからMACアドレスを調べる。
【RARP:Reverse Address Resolution Protocol(ラープ)】
・MACアドレスからIPアドレスを取得する為のプロトコル。
・RARPリクエストとRARPレスポンスという2種類のデータを送信し合ってIPアドレスからMACアドレスを調べる。
【DHCP:Dynamic Host Configuration Protocol(ディーエイチシーピー)】
・コンピュータがネットワークに接続して通信する際に必要な設定情報を自動的に割り当てる機能のあるプロトコル。
・RARPが用いられず、こちらが用いられるようになった。
【ICMP:Internet Control Message Protocol(アイシーエムピー)】
・ネットワーク上での通信状況の確認や発生した各種エラー情報(問題)を報告するために用いられるプロトコル。
・データが目的の宛先に届いているか判断するために用いられる。
【EGP:Exterior Gateway Protocol】
・インターネット上で組織間の経路情報をやり取りする経路制御プロトコル。
・BGP(Border Gateway Protocol)もEGPに含まれる。
・ポート番号は179番。
【IGP:Interior Gateway Protocol】
・組織の内部で完結する経路制御プロトコル。
・OSPF(Open Shortest Path First)、EIGRP(Enhanced Interior Gateway Routing Protocol)などはIGPに分類される。
・ネットワークをエリアと呼ぶ単位に分割し、ルーターやレイヤー3(L3)スイッチがパケットの転送先を動的に決定するためのルーティングプロトコル。
・ポート番号は89番である。[2][3]

2層【PPP・PPPoE・Ethernet・Wi-Fiとは】

【PPP:Point-to-Point Protocol】
・コンピューター同士が1対1の電話回線を通じてコンピュータをネットワークに接続するためのプロトコル。
【PPPoE(PPPoverEther)】
・PPPのユーザインタフェース(ユーザ名やパスワード)をイーサネット上で使えるようにした規格のこと。
【Ethernet(イーサネット)】
・パソコンなどの機器を有線接続する際の通信規格。
【Wi-Fi:Wireless Fidelity(ワイファイ)】
・無線LANともよばれ、無線接続する際の通信規格。

1層【RS-232・UTPとは】

【RS-232】
・単一の通信回線を介して、一度に1ビットずつデータを送信するプロトコル。
【UTP:Unshielded Twist. Pair】
・パソコンなどの機器を有線接続する際の通信規格。

【NAT・NAPTとは】

【NAT:Network Address Translation(ナット)】
・NATはSource NAT(SNAT)とDestination NAT(DNAT)の2種類に分けれられる。
・SNAT(送信NAT,静的NAT)とは、プライベートネットワークから外部へ通信を行うためのIPアドレス変換の技術のこと。
・DNAT」(宛先NAT,動的NAT)と呼ばれるものであり、SNATとは逆に外部からプライベートネットワークへ通信を行うためのIPアドレス変換の技術のこと。
・IPv4でNATの技術が使用される。
【NAPT:Network Address Port Translation(ナプト)】
・IPアドレスを1対1で変換する技術をNATと呼ぶのに対して、IPアドレスと併せてポート番号も変換する技術のこと。
・1つのグローバルIPアドレスを複数の端末で共有するために用いられる。
・例えば、WANの出入り口に設置されるルータにグローバルIPアドレス1つを割り当て、LAN内の端末にはプライベートIPアドレスを割り当てる。そして、端末がインターネットへの接続要求を行えば、ルータはその端末のプライベートIPアドレスをグローバルIPアドレスへ変換し、接続を行う。
・内から外に出やすくなる。
・IPマスカレードとも言われる。

【VoIPとは】

【VoIP:Voice over Internet Protocol(ボイップ)】
・インターネットやイントラネットのようなIPネットワーク上で音声通話を実現する技術のこと。
・SkypeやLINEはこの技術を用いている。

【ASとは】

【AS(Autonomous System:自律システム)とは】
・インターネットを構成する1つのネットワークの単位。
・1つの組織によって管理されたネットワークの単位のこと。
・AS同士を接続するポイントは、IX(インターネットエクスチェンジ)と呼ばれる。
【AS番号とは】
・AS (Autonomous System) には1つ1つを識別可能とするために、AS番号という番号が割り振られている。AS番号はIANA (Internet Assigned Numbers Authority / インターネット番号割当機関)が管理しており、 個人が自由にAS番号を利用することはできない。
・AS番号の確認↓
https://www.nic.ad.jp/ja/ip/as-numbers.txt

TCP/IP(Transmission Control Protocol/Internet Protocol)とは


OSI参照モデルとTCP/IP

【TCP/IPとは】

・インターネットに接続する際に利用されている世界標準の通信プロトコル(通信規則)。
・OSI参照モデルは7階層であるのに対して、TCP/IPは4階層の構成となっている。
・TCPとは通信プロトコルのひとつ。「送ったデータが相手に届いたか、その都度確認しながら通信するやり方」や「正確な信号を送信する通信の規格を定めたもの」。
・IPとはIPアドレスと呼ばれる数値を付与しその数字を用いて通信先の指定及び呼び出しを行いネットワーク通信を行うこと。

【データの送受信の流れをイメージしてみよう!】

<送信>
4層 アプリケーション層
アプリケーションから通信プロトコル(SMTPやHTTPなど)でデータを送信するよう準備をする。コンピュータがわかる0,1の表現に変換して準備をしておく。

3層 トランスポート層
TCPという通信プロトコルも用いて、送信側のIPアドレスと受信側のIPアドレスが正しいのを確認しながら通信を行う準備をする。

2層 インターネット層
IPという通信プロトコルを中心に、ARPやDHCPという通信プロトコルも協働しながら、送受信に必要なIPアドレス(やMACアドレス(00:01:02:AA:BB:CC)を確認し、適切なルータへデータを転送する。

1層 ネットワークインターフェース層
ルータに渡ってきたデータをEthernetやWi-Fiという通信プロトコルを用いて、通信を行う。

<受信>
1層 ネットワークインターフェース層
データや識別番号(MACアドレス)が正しいかを確認する。

2層 インターネット層
データ内容や宛先(IPアドレス)が正しいのかを確認する。

3層 トランスポート層
データを順番通りに並べて組み立てる。

4層 アプリケーション層
プロトコル(SMTPやHTTPなど)に従って、アプリケーションにデータを渡す。

上記のような流れをカプセル化と非カプセル化と呼ぶ。

【MACアドレス(Medium Access Control Address)とは】

・ノード間のデータ転送を行う際の宛先として使われるアドレスでコンピュータ機器の製造時に割り振られた固有の識別番号のこと。
・物理アドレスやノードIDともいう。PCを特定するために用られる。
・MACアドレスの長さは48ビットであり、「00-01-02-AA-BB-CC」や「00:01:02:AA:BB:CC」のように8ビットごとにハイフンまたはコロンで区切った16進数で表記するのが一般的である。

【カプセル化と非カプセル化とは(基礎編)】

【カプセル化とは(基礎編)】
・送信側の処理。通信に必要なデータを付加すること。
・上の階層から順番にアプリケーション層、プレゼンテーション層、セッション層、トランスポート層、ネットワーク層、データリング層、物理層とデータが渡されていき、その過程で各階層の情報が付加され、最終的に物理層で電気信号に変換されてケーブル上に送信される。
・各階層でデータの送信に必要な情報は、ヘッダという形でデータの先頭に付加され、ヘッダ+データの形式で送られる。

【非カプセル化(基礎編)】
・受信側の処理。不要になったデータを取り除くこと。
・送信側とは逆で、受信側では下の階層から上の階層に向かって通信データが渡される。
・各階層では、ヘッダ+データのヘッダ部分を見て処理を行い、ヘッダ部分(情報)を外しながら、上の階層にデータを渡していくことを非カプセル化と言う。[4]

TCP/UDPにおけるポート番号とは

ポート番号とは、ポート番号はコンピュータが通信に使用するプログラムを識別するための番号のこと。ウェルノウンポート番号、レジスターポート番号、エフェメラルポート番号の3つがある。

おわりに

コンピュータはネットワークでつながれており、通信プロトコルに基づいて様々な種類のデータ通信が行われている。インターネット上の通信は、TCP/IPを使用して特定のポート番号にアクセスし、レスポンスを受け取れることがわかった。

脚注
  1. https://www.itmanage.co.jp/column/osi-reference-model/ ↩︎

  2. https://www.nic.ad.jp/ja/newsletter/No35/0800.html ↩︎

  3. https://atmarkit.itmedia.co.jp/ait/articles/0111/06/news002.html ↩︎

  4. https://zenn.dev/kubo_programmer/books/fa1e01071e7aaa90672d/viewer/00543f02ce81574bbeb1 ↩︎

Discussion