読み込み中...
読み込み中...
私立 U 中学校(以下,U 校という)では,600 台の PC を U 校のネットワークに接続して S 社の教育支援サービス(以下,E サービスという)を利用している。U 校では最近校内サービスの不具合に関する申告が多くの生徒から挙がってきたので,U 校は本ネットワークを設計,構築した T 社に調査を依頼し,T 社の V さんが担当になった。

(1)インターネット接続帯域の調査
V さんは,U 校の許可を得てルータのインターネット側ポートの通信量データを収集した。インターネット通信量(ダウンロード)を図 2 に示す。

図 2 から,実効速度が約 200M ビット/秒で頭打ちになっていることが判明した。また,この時ルータの CPU 負荷にはまだ余裕があることも確認した。頭打ちの原因を ISP に問い合わせて調査したところ,現在の契約では構成や時間帯によって実効速度はその程度になるとのことだった。V さんは実効速度を改善するために,インターネット接続サービスのベストエフォート型から d 型への契約変更を U 校に紹介することにし,ほかの原因の調査を継続した。
(2)NAPT 処理能力の調査
V さんは,U 校の許可を得て各ネットワーク機器の状態ログ,及び syslog サーバのログを収集し,内容を確認した。ルータの NAT 変換テーブルの状態を表 1 に,ルータのシステムログを図 3 に示す。
| (ⅰ)local IP address | (ⅱ)local port number | (ⅲ)registered IP address | (ⅳ)assigned port number | (ⅴ)IP protocol |
|---|---|---|---|---|
| 192.168.10.13 | 56124 | a.b.c.d | 5001 | udp |
| 192.168.10.22 | 63219 | a.b.c.d | 5002 | tcp |
| 192.168.20.29 | 58320 | a.b.c.d | 5003 | udp |
| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |
| 192.168.30.15 | 50073 | a.b.c.e | 5001 | tcp |
| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |

表 1 から,ルータの NAPT 変換エントリーの内容には異常は見当たらなかった。また,図 3 から,始業直後にルータの NAT 変換テーブルが枯渇していることが判明した。また,ルータの NAT 変換テーブルのエントリー数の上限は 65,536 であり,設定によって変更することが可能であった。V さんは,③ PC 1 台当たりのセッション数を最大 200 と見積もり,全ての PC が問題なく利用できるように,NAT 変換テーブルのエントリー数を計算してルータに設定することにした。

次は W 課長と V さんとの会話である。
W 課長:NAPT 処理能力に着目したようですが,処理能力のほかに HTTP バージョンと NAPT 変換エントリー数との関係も意識しておく必要があると思います。
V さん:HTTP のバージョンが,NAPT 変換エントリー数と何か関係があるのですか。
W 課長:図 4 で説明しましょう。HTTP は長らく HTTP/1.1 が主流でしたが,Web サイトが地図などの詳細画像,動画,アニメーションなどのコンテンツから構成されるようになるにつれて,④ HoL(Head of Line)ブロッキングの問題が表面化してきました。これは一般的に,直列処理の場合,全ての処理が完了するまでに時間が掛かるという問題です。
V さん:HTTP/1.1 では,HoL ブロッキングはどのレイヤーで発生するのですか。
W 課長:HTTP レイヤーと TCP レイヤーの両方で発生します。HTTP レイヤーでは,例えば Web ページの表示のために 10 枚の画像データをダウンロードする場合,PC からの HTTP e と,それに対するサーバからの HTTP f を一つずつ 10 回実行することになり時間が掛かるので,一般的には複数の TCP コネクションで同時にダウンロードするように実装して対処します。
V さん:HTTP/1.1 では,TCP コネクションの数が増えそうですね。
W 課長:それを抑えるために,HTTP/2 では仮想的な通信単位であるストリームの概念が導入されました。ストリームにはそれぞれ g が付与され,一つの TCP コネクションの中で複数のストリームを利用できるようになり,HTTP セッションの多重化と h 処理ができるようになっています。
V さん:HTTP/2 によって TCP コネクションの数も少なくて済むようですね。
W 課長:さらに HTTP/3 では,TCP の代わりに UDP を利用し,ストリームは QUIC で実現することで,TCP レイヤーの HoL ブロッキングの問題を回避しています。最近の Web ブラウザの多くは HTTP/3 を実装しているので,どの HTTP バージョンが使われるかは主に HTTP サーバ側の実装に依存すると考えられます。
V さん:つまり,TCP と UDP それぞれに対するルータの NAT 変換テーブルの管理方法の違いと,E サービスで利用可能な HTTP バージョンが分かれば,もっと改善できるということですね。
W 課長:そうです。今回のケースでは, ⑤E サービスのサーバがもし HTTP/3 に対応していれば,表 2 の保持時間を調整することで,もっと NAT 変換テーブルを有効活用できると思います。ただし,極端な値にすると別の問題が発生するので,気を付けてください。
V さん:分かりました。検討してみます。
| 通信プロトコル | 保持時間 |
|---|---|
| TCP(SYN) | 30 秒 |
| TCP(FIN 又は RST 片方向) | 60 秒 |
| TCP(FIN 又は RST 双方向) | 1 秒 |
| UDP | 300 秒 |
| DNS | 60 秒 |
| ICMP | 60 秒 |
〔U 校ネットワークの概要〕について答えよ。
本文中の a 〜 c に入れる適切な字句を答えよ。
本文中の下線①について,DHCP サーバは受け取った giaddr フィールドの情報を使って何を識別するかを,15 字以内で答えよ。
〔不具合のヒアリングと調査〕について答えよ。
本文中の下線②について,V さんがインターネット接続帯域の不足だけでなく,NAPT 処理能力の不足という仮説を立てた理由を,40 字以内で答えよ。
本文中の d に入れる適切な字句を答えよ。
表 1 について,NAPT 変換エントリーを作成する際に,ルータ自身が割り当てている値を,(ⅰ)〜(ⅴ)の記号で全て答えよ。
本文中の下線③について,現状の設定で問題なく同時利用できる PC 台数の上限を,整数で答えよ。また,全ての PC が問題なく同時利用するために,ルータの NAT 変換テーブルのエントリー数を最低幾つ以上に設定すればよいかを,整数で答えよ。ここで,PC 以外の通信は考慮しないものとする。
〔HTTP バージョンと NAPT との関係〕について答えよ。
本文中の下線④について,全ての処理が完了するまでに時間が掛かる理由を,30 字以内で答えよ。
本文中の e 〜 h に入れる適切な字句を答えよ。
本文中の下線⑤の保持時間の調整について,どの通信プロトコルをどのように変更するか,25 字以内で答えよ。また,それによる効果を 45 字以内で答えよ。