[第35回]国家試験解説[AP令和5年春]

応用情報技術者試験 令和5年春期 問34

IPネットワークのプロトコルのうち,OSI基本参照モデルのトランスポート層に位置するものはどれか。

ア:HTTP  イ:ICMP  ウ:SMTP  エ:UDP

出典 IPA公開[過去問題]:https://www.ipa.go.jp/shiken/mondai-kaiotu/ps6vr70000010d6y-att/2023r05h_ap_am_qs.pdf

OSI参照モデルとは

コンピュータネットワークで様々な種類のデータ通信を行うために機器やソフトウェア、プロトコル(通信規約)などが持つべき機能や仕様を複数の階層に分割・整理したモデルです。コンピュータ同士での通信を役割や機能によって7つの階層に分けています。※特に2層(データリンク層)~4層(トランスポート層)については試験に出やすいので順番も含めてしっかり覚えておきましょう。

ただ、現在のインターネット並びにコンピュータ同士の通信では「TCP / IP」が使用されています。※TCP / IPでもトランスポート層とネットワーク層は集約されていないのでプロトコルも合わせて覚えましょう。

HTTP( Hypertext Transfer Protocol )とは

Webサーバとユーザ(Webクライアント)の間でデータの送受信を行うために用いられるプロトコルです。ユーザがブラウザ(ChromeやFireFox、Microsoft Edge、Safariなど)を通じてWebページを見るときにはブラウザを経由してWebサーバにHTTPを使ってアクセスし、Webサーバ内にあるHTMLファイル(Webページの構成情報)やCSSファイル(Webページの装飾情報)、スクリプトファイル(Webページで動くプログロム)、動画像などを取得します。取得したデータをユーザのブラウザが処理することでWebページとして見れるようになるわけです。

しかし、HTTPによる通信は暗号化されていないため、盗聴されるとユーザの情報をはじめ、様々な情報が漏れてしまうため、WebサーバとWebクライアント間の通信を暗号化するHTTPS(HTTP over SSL / TLS)が使われています。※みなさんがアクセスしているWebページのURLに鍵マークがついていればHTTPSで通信している証拠です。

また、HTTPだけではアクセスしているユーザに関する情報を管理できないため、Cookieというものを使ってユーザの情報を管理しています。みなさんがブラウザを閉じてから再度ログインが必要なWebページにアクセスしてもログインしたままになっていたりするのはCookieがあるおかげです。

ICMP( Internet Control Message Protocol )とは

IPネットワークで使われるプロトコルです。IPアドレスで管理されたコンピュータ同士で通信を行う際の通信制御や通信状態調査などを行うために使います。

Windowsのコマンドプロンプトに「ping」というコマンドがあるのですが、「ping Webサーバや他のPCなどのIPアドレス」と入力すると入力したIPアドレスの端末までICMP信号を送って通信経路上に問題がないか確認することができます。※例えばインターネットに接続できない場合、自分のPCからデフォルトゲートウェイ(ルータ)まで通信ができているかを確認する場合などに使用します。

SMTP( Simple Mail Transfer Protocol )とは

メールを伝送する(送る)際に使用するプロトコルです。

メールは自分の端末から相手の端末に届くまでにいくつかのメールサーバを経由するので相手のメールサーバに伝送するために使います。

ほとんどの場合は加入ISP(インターネットサービスプロバイダ)が所有するメールサーバを使いますが、企業や個人がメールサーバを独自に立てる場合があります。

根本的にSMTPには利用者認証の仕組みないため、メールに表示される表示名やメールアドレスを自由に設定することができます。そのため、簡単に偽装メールを送ることができてしまいます。※現在では「SMTP-AUTH」や「POP Before SMTP」などの送信者(利用者)を認証する仕組みがありますが、独自に立てたメールサーバの場合、これらの仕組みを取り入れてないケースも考えられます。

※SMTPは試験に非常によく出題されます。覚え方の1つですが、SMTPの「S」は本来、「Simple」なのですが、「Send」と読み替えると内容とリンクして覚えやすくなると思います。

UDP( User Datagram Protocol )とは

OSI参照モデル第4層(トランスポート層)で使われるプロトコルです。

コンピュータ間で通信で行う際には主に「相手の反応を確認してからデータを送るパターン」と「相手の反応を確認せずにデータを送るパターン」の2つがあります。前者をコネクション型と言い、TCPが該当します。逆に後者はコネクションレス型と言い、UDPが該当します。

TCPは相手の反応を確認して反応があってからデータを送るので処理が複雑になり時間がかかりますが、UDPは処理がシンプルなので相手にデータが届くまで遅延が発生しにくいメリットがあるのですが、相手にデータが届いていなくても再送しないというデメリットがあります。

そのため、DNSによるアドレス解決やNTPによる時刻データ同期などやりとりするデータ自体が軽く、データが届いていなくてもそこまで問題のない場合に使用されます。

※TCPと合わせて非常に出題が多い用語の1つなのでしっかり覚えましょう。

正解は、「エ:UDP」です。