ネットワークスペシャリスト合格に必要となる知識を一問一答形式で確認していきます。
トランスポート層
オートネゴシエーションを説明せよ
接続先ポートに対し,自動で最適な通信環境を設定する機能。例えば,全二重・半二重の自動判別や速度の自動判別などが設定できる。
FCoEではTCPとUDPのどちらを用いるか
どちらも用いられない。FCoEではIPによるルーティングは行われず,TCPやUDPは使用されない。FCは高品質の光ファイバを用いるため,基本的にはビット誤りはゼロであるという仮定がある。また,物理層ではイーサネットを拡張したプロトコルが利用され,以下の仕様が含まれている。
- IEEE 802.1Qbb:優先度ベースフロー制御(PFC)
- IEEE 802.1Qaz:トラフィックごとの帯域制御(ETS)
- IEEE 802.1DCBX:スイッチ間の情報交換プロトコル(DCB)
- IEEE 802.1Qau:輻輳通知
ただし,DCBはData Center Bridging Exchangeの略称である。
TCPヘッダ長とUDPヘッダ長を述べよ
- TCP:20byte
- UDP:8byte
well-knownポート番号まとめ
以下にWell-knownポートをまとめる。ただし,TCPとUDPはソケットにおいてそれぞれ別々のモジュールで実装されているため,TCPとUDPでポート番号を共有することができる点に注意する。
ポート番号 | TCP/UDP | プロトコル |
---|---|---|
20 | TCP | FTP転送 |
21 | TCP | FTPデータ |
22 | TCP/UDP | SSH |
23 | TCP | TELNET |
25 | TCP | SMTP |
43 | TCP | WHOIS |
53 | TCP/UDP | DNSゾーン転送/名前解決 |
67 | UDP | DHCPサーバ |
68 | UDP | DHCPクライアント |
69 | UDP | TFTP |
80 | TCP/UDP | HTTP |
110 | TCP | POP3 |
115 | TCP | SFTP |
123 | UDP | NTP |
143 | TCP | IMAP4 |
161 | UDP | SNMPポーリング |
162 | UDP | SNMPトラップ |
179 | TCP | BGP |
220 | TCP | IMAP3 |
389 | TCP | LDAP |
443 | TCP | HTTPS |
465 | TCP | SMTP over SSL/TLS |
500 | UDP | IKE |
514 | UDP | SYSLOG |
520 | UDP | RIP |
546 | UDP | DHCPv6サーバ |
547 | UDP | DHCPv6クライアント |
587 | TCP | SMTP AUTH |
989 | TCP/UDP | SFTPデータ |
990 | TCP/UDP | SFTP制御 |
993 | TCP | IMAPS |
995 | TCP | POP3S |
TCPの3ウェイハンドシェイクにおけるシーケンス番号と確認応答番号の違いを述べよ
シーケンス番号は,各端末が自分で管理しているパケットの通番でランダムな値から開始する。確認応答番号は,シーケンス番号に1を加えた値を利用する。例えば,以下のように設定する。
- SYN:シーケンス番号は1000で確認応答番号は0
- SYN+ACK:シーケンス番号は2000で確認応答番号は1001
- ACK:シーケンス番号は1001で確認応答番号は2001
TCPにおけるフロー制御(流量制御)を説明せよ
受信側がTCPヘッダでウィンドウサイズを指定する。
Nagleアルゴリズムを説明せよ
ネットワークの利用効率を高めるために利用されるアルゴリズムで,次の状態のいずれかに該当する場合はTCPでパケットを送信し,該当しない場合は送信待ちを行うものである。
- 全ての送信済みデータが確認応答されている場合(=受信側はデータを受け取れるということ)
- 最大セグメント長であるMSSのデータを送信できる場合(=送信側は十分にデータを溜めたということ)
チェックサムの仕組みを「疑似ヘッダ」と「1の補数表現」という言葉を用いて説明せよ
疑似ヘッダと呼ばれる仮想的なヘッダを含めたデータに対して,1の補数表現を用いた計算を行うことでデータの整合性をチェックする仕組み。TCP/UDPデータグラムに対して適用されるチェックサムはIPチェックサムとも呼ばれる。チェックサムの計算では,1の補数の前後を足すと全て1になるという性質を利用する。
具体的には,疑似ヘッダにはIPヘッダから抽出したIPアドレスの情報が格納されており,チェックサムを計算する前に全長が16bitの倍数となるように0をパディングする。その際,チェックサムフィールドの16bitは全て0を格納しておく。そのうえで,16bit単位で1の補数の和を求め,さらにその計算結果の1の補数を計算してチェックサムフィールドに格納する。受信側のホストはチェックサムフィールドを含む全てのデータの和を計算し,チェックサムフィールドに格納する。全てのデータを16bit単位で足すと,チェックサムフィールドにはチェックサムフィールド以外の和に対する1の補数値が格納されているため,16bit全てが1となれば正しい値と判断する。チェックサムの計算では「16bitのフィールドを足して1bitにする」と勘違いしやすいので注意が必要である。
1の補数表現を用いる理由は以下のとおりである。
- 桁があふれても一の位に戻るため情報の欠落がない
- 0の表現が+0を表す0x0000と-0を表す0xFFFFの二つある。
コメント