おとといの日曜日に情報処理技術者試験があった。


私が受験したわけではないが、手元にソフトウェア開発技術者の問題があったので解いてみた。と、おもったら今年からIPAのサイト で問題が公表されてるのね...。


しかも午前は試験翌日にIPAのサイト に解答が出てるし。でもちょっと問題を見てたら面白そうだったので、これから地道に解説なんぞを書いてみることにした。
一応、一通り書き終わるまで受験予備校の解答例は見ないことにする。恥さらしになるかも知れんがちょっと冒険だ。


当たり前だが間違ってても何の責任も取らん。


さて、午前はもう解答が出てるので後回しにして、まず午後1から。


問1
設問1
穴埋め問題


IPパケットのTTL に関する問題で、
「生存時間が0になると、IPパケットが破棄され、送信元に( a )を通知する。これは、ルーティングテーブルの不具合によって、IPパケットの転送が( b )してしまうことを防止するためである」
これのaとbに入る文言を答えよということらしい。


まず、この文章を読んでまず思いついた答えがこれ
a.「破棄されたこと」
b.「無限に継続」

と思ったところで設問を見てみたら3文字以内で答えよと書いてある!
そうですね。設問はちゃんと読みましょうね。自爆するところだった。


3文字ねぇ。そんな短い言葉に限定するっていうことは専門用語を答えることを要求しているんだろうか。。。
専門的な言葉で考えると、
a.「ICMP時間超過メッセージ」
b.「無限ループ」

べつに無限ループは専門用語でもなんでもないな。それ以前に両方とも3文字超えてるよ。


解説:IPパケットの生存時間(TTL:Time To Live)が0になったときはICMP メッセージの一種である「ICMP時間超過メッセージ 」を使って送信元に生存時間が超過したことを通知します。
うーん、ICMP時間超過メッセージ の元の表現は「Time Exceeded for Datagram」。略して「TED」。おぉ3文字になった。
でも「TED」なんて略した表現、あんまし見ないし、それにICMPプロトコルのこんな細かい用語をソフ開で要求されるかぁ?うーん多分違うな。

b.「無限ループ」のほうは「無限」をとって「ループ」にしてやるか。これで3文字!
いやまて。べつにIPネットワーク上でループなんかよく起きるだろうし、大体、ループが無限になってしまってネットワーク帯域やルーターのリソースを食いつぶすことが問題なわけだから「無限」は外したら間違い。


こまった。。。3文字に収まらない。意気込んで取り掛かったはいいがいきなり1問目で大きな壁にぶつかってしまった。


ビールを開ける。


タバコを吸う。


思いついた!!!
いや、すごいね。やっぱ俺って日本人だよ。日本人なら日本語を駆使しなきゃ。


解答。じゃじゃーん。
a.「その旨
b.「永久化」

穴埋めてみると、
「生存時間が0になると、IPパケットが破棄され、送信元に( その旨 )を通知する。これは、ルーティングテーブルの不具合によって、IPパケットの転送が( 永久化 )してしまうことを防止するためである」


す、すばらしい!
「永久化」っていう言葉にはまだ違和感があるが、「その旨」って。。。完璧だね。


ちなみにbはほかにも「無限化」「永続化」なんてのもありだと思う。どれもちょっと変な日本語になるが。
輻輳 」という解答も考えられるが、IPパケットネットワークで輻輳という言葉が適切かどうか怪しい。

aの解答として「エコー」というのも考えたが、ICMPでいうエコーとは本来はICMPメッセージタイプのうちの「エコー応答」を指す言葉で、同じICMPメッセージタイプの一種である「ICMP時間超過メッセージ 」とは別物なので却下した。


一体、IPAはどう答えて欲しかったのか。解答例が公表される5月末がちよっと楽しみ。
多分、打ちのめされるんだろうけど(;_;ょ


異論・反論もらえたら、ちょっとうれしいです。


いきなり長くなってしまったので設問2以降はまた、次回。