基本情報技術者

【基本情報技術者試験】通信プロトコル

2024年7月9日

今回のテーマは「通信プロトコル」についてです。

通信プロトコル?

問題

TCP/IPネットワークにおけるRARPの機能として,適切なものはどれか。

  • ア:IPパケットが通信先のIPアドレスに到達するかどうかを調べる。
  • イ:MACアドレスからIPアドレスを求める。
  • ウ:ドメイン名とホスト名からIPアドレスを求める。
  • エ:プライベートIPアドレスとグローバルIPアドレスを相互に変換する。

基本情報技術者令和3年免除 問34

問題

トランスポート層のプロトコルであり,信頼性よりもリアルタイム性が重視される場合に用いられるものはどれか。

ア:HTTP  イ:IP  ウ:TCP  エ:UDP

基本情報技術者平成31年春期 午前問33

基本情報技術者試験や応用情報技術者試験で出題される「通信プロトコル」の問題。各プロトコルの役割を知らないと難しく感じる問題ですが、知っていればそこまで難しい問題ではありません。

本記事では、ネットワークの基本である「通信プロトコル」について解説しています。

本記事で学べること

  • 通信プロトコルについて理解する
  • 各通信プロトコルの役割について理解する
  • 基本情報技術者試験 過去問の解き方を学ぶ

スポンサーリンク

通信プロトコルとは

プロトコルとは、対象の物事を複数の人が使えるようにするための「ルール(決まり事)」のことで、プロトコルの多くは、ネットワーク上での通信で使用されています。

そのため「通信プロトコル」とも呼ばれています。

通信プロトコルには、通信するために必要な手順や規格が定められています

アプリケーション層のプロトコル

例えば、私たちの生活には、欠かせない存在となっている「パソコン」や「スマートフォン」で、Webサイトを閲覧するときに使うプロトコルは「HTTP」です。

「HTTP」で定められたルール(決まり事)に従い、通信しています。

それでは、情報処理試験でよく出題される、代表的な通信プロトコルを紹介します。

通信プロトコル一覧

OSI参照モデル または TCP/IP の階層モデルで使われている、主な通信プロトコルは次のとおりです。

OSI参照モデルの層TCP/IPの階層主なプロトコル
アプリケーション層アプリケーション層HTTPSMTPPOP3FTPなど
プレゼンテーション層
セッション層
トランスポート層トランスポート層TCPUDPなど
ネットワーク層インターネット層IPICMPなど
データリンク層ネットワークインターフェース層イーサネットPPPなど

アプリケーション層

【Web通信】HTTP(Hypertext Transfer Protocol)

HTTPとは、Webサイトを表示(Web情報をやり取りする)する際に使用するプロトコルです。

次の図は、HTTPのイメージ例です。

HTTPイメージ図

利用者のコンピュータ(クライアント)がWebサイトを閲覧するとき、Webサーバーに「HTTPリクエスト」を送信します。「HTTPリクエスト」を受け取ったWebサーバーは、クライアントからの要求に対し、「HTTPレスポンス」を返却します。

HTTPリクエストには、「HTTP GET」と「HTTP POST」などのメソッドが用意されており、用途に応じて使いわけます。

詳しくはこちら

【メール送信】SMTP (Simple Mail Transfer Protocol)

SMTPとは、電子メールを送信する際に使用するプロトコルです。

次の図は、SMTPのイメージ例です。

メール送受信の流れ

送信者は、メーラーと呼ばれるメールソフトやWebメールからメールを送信します。このとき使用するプロトコルがSMTPです。

送信したメールは、まず送信者のメールを管理しているメールサーバーに送られます。そして、受信者のメールを管理しているメールサーバーへとメールを転送します。

詳しくはこちら

【メール受信】POP(Post Office Protocol)

POPとは、電子メールを受信する際に使用するプロトコルです。

次の図は、POPのイメージ例です。

メール送受信の流れ

SMTPで受信者のメールサーバーに届いた後は、受信者がメールサーバーに「POP3」もしくは「IMAP」を利用して、受信者のメールサーバーにメールがないか、問い合わせをおこないます。

詳しくはこちら

【メール受信】IMAP(Internet Message Access Protocol)

IMAPとは、電子メールを受信する際に使用するプロトコルです。

次の図は、IMAPのイメージ例です。

IMAPイメージ図

IMAPは、POPと同じで電子メールを受信する際に利用するプロトコルです。

メールサーバーに届いたメールをダウンロードする「POP」に対し、「IMAP」は、メールサーバに届いたメールを閲覧します。

IMAPのメリットは、メールサーバー上で、未読・既読といった操作も共有されているので、どの端末(パソコンやスマホなど)からメールを閲覧しても状態が変わらない(一元管理されている)ところです。

詳しくはこちら

【ファイル転送】FTP(File Transfer Protocol)

FTPとは、ネットワーク上にあるサーバーとクライアント(利用者のコンピュータ)間でファイル転送をおこなうプロトコルです。

次の図は、FTPのイメージ例です。

FTPでファイルアップロード
FTPでファイルダウンロード

FTPは、ネットワーク上にあるサーバーにファイルをアップロード、または、サーバーからファイルをダウンロードする際に使用します。

詳しくはこちら

【IPアドレス自動割当】DHCP(Dynamic Host Configuration Protocol)

DHCPとは、コンピュータがインターネットに接続する際に必要となるIPアドレスを自動的に割り当てるプロトコルです。

次の図は、DHCPのイメージ例です。

DHCPとは

インターネット上で通信するには、インターネット上の住所である「IPアドレス」が必要です。

この「IPアドレス」を自動的に採番するネットワーク機器を「DHCPサーバー」といい、このときに使用するプロトコルが「DHCP」です。

詳しくはこちら

【時刻同期】NTP(Network Time Protocol)

NTPとは、コンピュータが持つ時計(システムクロック)を正しい時刻へ同期するためのプロトコルです。

次の図は、NTPのイメージ例です。

NTPイメージ図

NTPクライアントからNTPサーバーに時刻を問い合わせ、NTPクライアントはNTPサーバーから受信した時刻に変更します。

詳しくはこちら

【名前解決】DNS(Domain Name System)

DNSとは、名前解決機能を提供するプロトコルです。

名前解決機能とは、インターネット上の住所である「IPアドレス」と「ドメイン」の対応表を管理し、変換するシステムのことをいいます。

次の図は、DNSのイメージ例です。

DNSのイメージ例

「IPアドレス」と「ドメイン」の対応表を管理しているサーバーを「DNSサーバー」といい、「ドメイン」→「IPアドレス」もしくは「IPアドレス」→「ドメイン」に変換する機能(名前解決)を提供します。

詳しくはこちら

【ネットワーク機器監視】SNMP(Simple Network Management Protocol)

SNMPとは、ネットワーク上にあるネットワーク機器を監視するためのプロトコルです。

次の図は、SNMPのイメージ例です。

SNMPマネージャとSNMPエージェント

SNMPは、SNMPマネージャとSNMPエージェントで構成されています。

SNMPマネージャは、ネットワーク機器を管理する側、SNMPエージェントは、管理される側のネットワーク機器(ルータ、スイッチ、サーバーなど)です。

SNMPを利用し、ネットワーク上にあるネットワーク機器を監視することで、仮にネットワーク機器に障害が発生した場合、どのネットワーク機器で障害が発生したのか、突き止められる仕組みになっています。

詳しくはこちら

【遠隔操作】Telnet(Teletype network)

Telnetとは、遠隔地にある「サーバー」や「ルータ」などを遠隔操作する際に使用するプロトコルです。

次の図は、Telnetのイメージ例です。

Telnetのイメージ図

Telnetを使えば、遠く離れた場所にあるサーバーなどを遠隔操作できます。

詳しくはこちら

トランスポート層

【信頼性重視】TCP(Transmission Control Protocol)

TCPとは、トランスポート層で動作する「信頼性重視」のプロトコルです。

TCPはコネクション型のプロトコルです。コネクション型(コネクションを確立する)とは、まるで会話のように相手とやり取りをしながら通信する方式です。

次の図は、TCPのイメージ例です。

TCPとは

TCPは、通信相手と会話するようにやり取りをしてきます。データ送信に失敗した場合は、通信相手から返事が返ってきません。このような場合は、一定時間待機して再送します。

このようにTCPは信頼性の高い通信を提供しています。

詳しくはこちら

【速度重視】UDP(User Datagram Protocol)

UDPとは、トランスポート層で動作する「速度優先」のプロトコルです。

UDPは、コネクションレス型のプロトコルです。コネクションレス型とは、通信相手と接続(コネクション)確立をおこなわずデータを送信する方式です。

次の図は、UDPのイメージ例です。

UDPとは

会話のように相手とやり取りをしながら通信するTCPとは違い、UDPは相手にデータが届いたかの確認をおこないません。一方的にデータを送信し、速度の速い通信を実現しています。

そのため、多少のデータ欠落があっても高速性やリアルタイム性を重視する通信で使われています。

詳しくはこちら

ネットワーク層(インターネット層)

【IPアドレス】IP(Internet Protocol)

IPとは、インターネット上で通信する際に主要となるプロトコルで、インターネット上の住所である「IPアドレス」についての定義しています。

次の図は、IPのイメージ例です。

IPアドレスを利用した通信

IPアドレスはインターネット上の住所です。IPアドレスを使うことで、インターネット上での通信を可能にしています。

詳しくはこちら

【IP補助】ICMP(Internet Control Message Protocol)

ICMPは、主要プロトコルである「IPを補助するプロトコルです。

ネットワーク層(インターネット層)で動作する「IP」は、コネクションレス型(コネクションの確立はおこなわず、一方的に送る)のプロトコルです。そのため、IPパケットの転送に失敗した場合、失敗を検知できません。

次の図は、ICMPのイメージ例です。

ICMPのエラー通知

ICMPは、IPを補助する役割を持ちます。通信エラー発生時は、送信元に対して、ICMPによってエラー情報を通知します。

詳しくはこちら

【IPパケット暗号化】IPsec(Security Architecture for Internet Protocol)

IPsecとは、IPパケット単位で安全な暗号通信をおこなうプロトコルです。

次の図は、IPsecのイメージ例です。

ipsecのSA

IPsecは、2つのIPsec対応ルータなどの間にSA(Security Association)という単方向コネクションを確立することで、セキュア(安全)な通信を確立します。

詳しくはこちら

データリンク層(ネットワークインターフェース層)

【アドレス解決】ARP(Address Resolution Protocol)

ARPとは、IPアドレス(IPv4)からMACアドレスを取得するためのプロトコルです。

※本記事ではARPの階層をL2(データリンク層)で定義していますが、データリンク層とネットワーク層の橋渡しをおこなっているプロトコルのため、文献によってはL2.5やL3(ネットワーク層)で定義されています。

インターネット上で通信するには、インターネット上の住所である「IPアドレス」とコンピュータの識別番号である「MACアドレス」が必要です。

次の図は、「ARPリクエスト」と「ARPリプライ」のイメージ例です。

ARPリクエスト

ARPリクエストは、「このIPアドレスが割り振られているコンピュータのMACアドレスを教えて」という内容のパケットです。

ARPリクエストは、ブロードキャストであり同じセグメント内の全コンピュータに送信します。

ARPリプライ

ARPリプライは、ARPリクエストに対する応答です。

ARPリクエストを受信した各コンピュータは、問い合わせのIPアドレスが自身のIPアドレスと同一であるかを確認し、一致している場合は、自身のMACアドレスを格納したARPリプライを送信元に返信します。

詳しくはこちら

【アドレス解決】RARP(Reverse Address Resolution Protocol)

RARPとは、MACアドレスからIPアドレスを取得するためのプロトコルです。

※本記事ではRARPの階層をL2(データリンク層)で定義していますが、データリンク層とネットワーク層の橋渡しをおこなっているプロトコルのため、文献によってはL2.5やL3(ネットワーク層)で定義されています。

IPアドレスからMACアドレスを取得するARPとは逆の動作をします。

次の図は、RARPリクエストとRARPレスポンスのイメージ例です。

RARP要求

RARPリクエストは、「このMACアドレスに割り当てられているIPアドレスを教えて」という内容のパケットです。

RARPリクエストは、ブロードキャストであり同じセグメント内の全コンピュータに送信します。

RARP応答

RARPレスポンスは、RARPリクエストに対する応答です。

RARPリクエストを受け取ったRARPサーバは、事前に登録してある対応表からMACアドレスに対応するIPアドレスを抽出し、要求元にRARPレスポンスを返却します。

詳しくはこちら

【有線LAN】イーサネット(Ethernet)

イーサネットとは、コンピュータをネットワークに接続する時に使うネットワークケーブル(有線LAN)の規格で、データリンク層(ネットワークインターフェース層)で定義されているプロトコルです。

詳しくはこちら

無線LAN

無線LANとは、無線通信を利用してコンピュータ同士でデータの送受信を行うLANシステムの規格で、データリンク層(ネットワークインターフェース層)で定義されているプロトコルです。

詳しくはこちら

PPP(Point-to-Point Protocol)

PPPとは、電話回線などの通信回線を利用したプロトコルです。

次の図は、PPPoEのイメージ例です。

PPPoE

電話回線やISDN回線を通じてインターネットに接続する際によく用いられていたPPPを、イーサネット上で利用できるようにしたのがPPPoE(Point-to-Point Protocol over Ethernet)です。

PPPoEは、ADSLやケーブルテレビ(CATV)、光ファイバー(FTTH)などのインターネットサービスプロバイダ(ISP)に契約することで利用可能となるサービスでよく利用されていた手法です。

詳しくはこちら

スポンサーリンク

基本情報技術者試験 過去問の解説

基本情報技術者令和3年免除 問34

問題

TCP/IPネットワークにおけるRARPの機能として,適切なものはどれか。

  • ア:IPパケットが通信先のIPアドレスに到達するかどうかを調べる。
  • イ:MACアドレスからIPアドレスを求める。
  • ウ:ドメイン名とホスト名からIPアドレスを求める。
  • エ:プライベートIPアドレスとグローバルIPアドレスを相互に変換する。

基本情報技術者令和3年免除 問34

TCP/IPネットワークにおけるRARPの機能として,適切なものはどれか、ア~エを順番に確認していきます。

ア:IPパケットが通信先のIPアドレスに到達するかどうかを調べる。

不正解:ICMPの説明です。ICMPは、IPを補助するプロトコルです。

イ:MACアドレスからIPアドレスを求める。

正解:RARPの説明です。

ウ:ドメイン名とホスト名からIPアドレスを求める。

不正解:DNSの説明です。

エ:プライベートIPアドレスとグローバルIPアドレスを相互に変換する。

不正解:NAT(NAPT)の説明です。

」が正解です。

基本情報技術者平成31年春期 午前問33

問題

トランスポート層のプロトコルであり,信頼性よりもリアルタイム性が重視される場合に用いられるものはどれか。

ア:HTTP  イ:IP  ウ:TCP  エ:UDP

基本情報技術者平成31年春期 午前問33

トランスポート層のプロトコルであり,信頼性よりもリアルタイム性が重視される場合に用いられるものはどれか、ア~エを順番に確認していきます。

ア:HTTP

不正解:Webサイトを表示する際に使用するプロトコルで、アプリケーション層で動作します。

イ:IP

不正解:インターネット上で通信する際に主要となるプロトコル(IPアドレスを定義)で、ネットワーク層で動作します。

ウ:TCP

不正解:通信の信頼性を重視する通信に用いられるプロトコルで、トランポート層で動作します。

エ:UDP

正解:信頼性よりもリアルタイム性を重視(速度重視)するプロトコルで、トランスポート層で動作します。

」が正解です。

helpful