ネットワークスペシャリスト - SE娘の剣 -

左門至峰によるネットワークスペシャリストの試験対策サイトです。勉強方法、合格体験談、合格のコツ、過去問解説、基礎知識などの紹介します。

レイヤ4のプロトコルとUDP

1.レイヤ4のプロトコル

1.レイヤ4のプロトコル

レイヤ4のプロトコルには2種類があります。厳密には他にもありますが、試験では問われません。

種類 特徴 アプリケーション層のプロトコル例
TCP 信頼性の高い通信を実現するプロトコル HTTP,SMTP,POP3,SSH,FTP,Telnet,DNS(ゾーン転送)
UDP 高速性を優先したプロトコル SNMP,NTP,DNS(問合せ),DHCP,TFTP,ストリーム配信のプロトコル

参考。TCP/UDPを使わない通信として、ICMP、GRE、ESPなどがあります。当然、ポート番号の概念はありません。ICMPなどは、レイヤ3のプロトコルです。

2.ポート番号

IPアドレスでは、端末(正確にはNICですが)を特定します。ポート番号は、端末におけるサービスやアプリケーションを指定するために利用するものです。たとえば、HTTPであれば80、メール送信であれば25などのポート番号を使って通信をします。

TCPやUDPの通信を行うには、ポート番号が必要です。
女性直立


インターネットを見るHTTPは80番で、
メールを送るSMTPは25番として決まっていますよね。
そう。ただ、厳密に言うと、違うポート番号でHTTP通信をしたり、SMTPにてメールを送ることもできる。
でも、決まっていた方が分かりやすい。
クライアントは、そのポートめがけて通信をすればいいので。
インターネットを見たいときは、80番でアクセスする。サーバは80番で待ち受けている。
サーバ側でnetstatコマンドで確認すれば、その様子が分かるだろう。
(後日その画面を貼り付けます)

▼補足解説
・ポート番号は2バイト(16ビット)で表現されるので0~2の16乗(=65535)の値を持つ。
・利用範囲が決められている。

範囲 解説
0~1023 Well-Knownポート。telnet 23,smtp 25など
1024~49151 登録されたポート。IPアドレスを管理しているIANA(Internet Assigned Number Authority)が管理し、許可をもらって利用する。たとえばMicrosoft社は3389をターミナルサービスとして登録している。メジャーな会社は申請することが多いだろう。
49152~65535 アプリケーションが動的に割り当てたり、Privateポート番号として自由に使える。

また、ポート番号はクライアント側でも特定のものが割り当てられている。
サーバは、クライアントのポート番号に向けて、応答パケットを返します。

▼代表的なWell-Knownポート

TCP/UDP ポート プロトコル
TCP 20、21 FTP(File Transfer Protocol)
TCP 22 SSH(Secure SHell)
TCP 23 Telnet
TCP 25 SMTP(Simple Mail Transfer Protocol)
UDP/TCP 53 DNS(Domain Name System)
UDP 67、68 DHCP(Dynamic Host Configuration Protocol)
TCP 80 HTTP(HyperText Transfer Protocol)
TCP 110 POP3(Post Office Protocol versison 3)
UDP 123 NTP(Network Time Protocol)
TCP 143 IMAP(Internet Message Access Protocol)
TCP 389 LDAP(Lightweight Directory Access Protocol)
TCP 443 HTTPS(HTTP over SSL/TLS)
TCP 465 SMTPS
UDP 514 SYSLOG
TCP 587 サブミッションポート
TCP 993 IMAPS(IMAP over SSL/TLS)
TCP 995 POP3S(POP3 over SSL/TLS)

2.UDP(User Datagram Protocol)

1.UDP(User Datagram Protocol)

・コネクションレス型のプロトコル
・TCPと比べて,1パケット毎に確認応答を行うことが無い,コネクションを確立するためのオーバヘッドが無い,再送制御をしない,順序の制御をしない,ヘッダがTCPに比べてシンプル,などの理由によって高速な通信を可能にしている。
・上記のことにより電話などのリアルタイム通信や動画,音声のストリーミングなどに適している。UDPはTCPと比べて信頼性が薄いが,ストリーミングにおいて,画面の一部が一瞬欠落してもそれほど問題にはならない。それよりも高速性が求められている。
・過去問(H26年秋高度午前1問10)では,UDPに関して,「IPの上位階層のプロトコルとして,コネクションレスのデータグラム通信を実現し,信頼性のための確認応答や順序制御などの機能をもたないプロトコル」と述べられています。

◆UDPのヘッダ情報
※テキスト類では32ビットで区切られた表になっている場合が多い。私はこの表の意味が理解できなかった。実データは01データなので横並びであるが,ページの関係や分かりやすさの面で,表にしているだけである。

1)送信元ポート番号(16ビット)
2)宛先ポート番号(16ビット)
3)セグメント長(16ビット)
4)チェックサム(16ビット)

たったこれだけで,合計8バイト。TCP(基本は20バイト)に比べてシンプルですよね。
ポイントの一つとして,TCPに存在したシーケンス番号が存在しない。よって,相手に届くパケットの順序制御ができない。

◆過去問にて
過去問では,TCPとUDPのヘッダの違いが問われている。単なる暗記問題と考えるのでははなく,なぜこのフィールドが無いかを理解するべきである。

過去問(H19NW午前 問31)
問31 UDPのヘッダフィールドにはないが,TCPのヘッダフィールドには含まれる情報はどれか。

ア あて先ポート番号
イ シーケンス番号
ウ 送信元ポート番号
エ チェックサム






正解:イ

過去問(H29秋NW午前2 問10)
問10 UDPを使用するプロトコルはどれか。

ア DHCP
イ FTP
ウ HTTP
エ SMTP






正解:ア

過去問(H29秋FE午前 問34)
問34 トランスポート層のプロトコルであり,信頼性よりもリアルタイム性が重視される場合に用いられるものはどれか。

ア HTTP
イ IP
ウ TCP
エ UDP






正解:エ

過去問(H28春ES午前 問17)
問17 TCPヘッダとUDPヘッダの両方にあるフィールドはどれか。

ア 宛先IPアドレス
イ コントロールフラグ(SYN,ACKなど)
ウ シーケンス番号
エ チェックサム






正解:エ
ア:TCPヘッダではなくIPヘッダ
イ,ウ:TCPヘッダのみに存在

過去問(H26秋AP午前 問33)
問33 IPの上位階層のプロトコルとして,コネクションレスのデータグラム通信を実現し,信頼性のための確認応答や順序制御などの機能をもたないプロトコルはどれか。

ア ICMP
イ PPP
ウ TCP
エ UDP






正解:エ

過去問(H23秋NW午前2 問14)
問14 IPv4ネットワークにおいて,Pヘッダ,TCPヘッダ,UDPヘッダのチェックサムフィールドに関する記述のうち,適切なものはどれか。

ア IPヘッダのチェックサムの計算は必須であるが,TCPヘッダ及びUDPヘッダのチェックサムの計算はオプションであり,計算を省略して0を指定してもよい。
イ IPヘッダのチェックサムの対象はヘッダ部分だけであるが,TCPヘッダ及びUDPヘッダのチェックサムの対象はデータ部分も含む。
ウ TCPヘッダのチェックサムの計算は必須であるが,IPヘッダ及びUDPヘッダのチェックサムの計算はオプションであり,計算を省略して0を指定してもよい。
エ どのヘッダのチェックサムフィールドも,チェックサムの対象はヘッダ部分だけである。






正解:イ
IPヘッダのチェックサムはIPヘッダのみで,TCPやUDPのチェックサムはデータも含む。
考え方としては,TCPやUDPでデータをチェックしてくれるから,IPヘッダではIPヘッダのみでOKと覚えればいいと思う。
ちなみに,UDPヘッダは0を指定してもよい。

2.DNS(UDP)のフレーム

UDPのフレーム構造を以下に示す。
www.ipa.co.jpにアクセスした際に、DNSサーバにDNS問い合わせが行われたフレームである。TCPとの違いを中心に見てほしい。UDP
ネットワークスペシャリストを目指す女性SEなやなや 


DNSってUDPなんですね。
名前解決って信頼性が大事だと思うんですが
確かにそうだね。DNSキャッシュポイズニングなどDNSを詐称する攻撃もあるから。でも、名前解決はスピードも必要なんだ。
たとえば、www.yahoo.co.jpのサイトを見ようと思うと、まずはDNSで名前解決をする。それから接続に行く。このとき、3wayハンドシェークなどをするTCPは、名前解決までに、コンマ何秒というレベルではあるが、時間がかかってしまう。利用者にとってはネットは早い方がいいよね