基本情報のネットワークが難しい人へ|つまずく場所と問題の解き方
ネットワークだけ、何度読んでも頭に入ってこない。
用語を覚えたつもりなのに、問題を開くと手が止まっていませんか?
基本情報技術者試験のなかで、ネットワークは苦手だと言われることが特に多い分野です。IPアドレス、サブネットマスク、プロトコルの名前が次々に出てきます。
そのうえ計算問題まで混ざるので、暗記でも計算でもつまずく、という二重の壁になりがちです。
私はエンジニアとして10年以上、Webシステムの開発や運用に携わってきました。通信がつながらない原因を切り分けたり、サーバの接続先を設定したりする作業は日常的にやってきました。
その経験から言えるのは、ネットワークは覚える分野ではなく、つながりをたどる分野だということです。順番にたどれるようになると、覚える量そのものが減っていきます。
この記事では、なぜ難しく感じるのかを先に整理してから、つまずきやすい場所と問題の解き方を順番に見ていきます。
ネットワークが難しく感じる3つの理由¶
まず、難しさの正体をはっきりさせておきましょう。原因が分かれば、対処のしかたも決まります。
苦手だと感じている人の話を聞くと、理由はだいたい次の3つに収まります。読む前に、自分がどれに当てはまるか考えてみてください。
| 難しく感じる理由 | 起きていること | 対処の方向 |
|---|---|---|
| 目に見えない | 通信の様子を頭の中だけで想像している | 図に描いて見えるようにする |
| 層が分かれている | どの階層の話をしているか迷子になる | 話の階層を先に確かめる |
| 計算が混ざる | 2進数や単位の変換でつまずく | 計算の型を数種類だけ覚える |
3つとも、勉強量が足りないという話ではありません。取り組む向きを変えるだけで、見え方が変わる種類のつまずきです。
順番に見ていきます。まずは、いちばん大きな理由からです。
目に見えないものを頭の中だけで扱っている¶
プログラムなら、動かせば結果が画面に出ます。ところがネットワークは、データがどこをどう通ったのかが目に見えません。
だから多くの人が、想像だけで理解しようとして疲れてしまいます。ここは素直に、紙に描いてしまうのが早いです。
私も実務で通信の不具合を追うときは、必ず手元に構成を描きます。送り元、経由する機器、受け取り先を並べて矢印を引くだけで、どこで止まっているかの見当がつきます。
試験でも同じで、登場する機器を丸で書いて線でつなぐと、問題文が一気に読みやすくなります。数十秒の作業で、選択肢の絞り込みが変わってきます。
話している階層が分からなくなる¶
ネットワークの説明には、階層という考え方が出てきます。物理的な線の話、機器同士の届け方の話、アプリケーションのやり取りの話が、別の層として分かれています。
つまずく人の多くは、いま自分がどの層の話を読んでいるかを見失っています。ケーブルの話と、メール送信の決まりごとの話が、同じ頭の棚に入ってしまう形です。
対処はかんたんで、用語を覚えるときに階層をセットで書き添えるだけです。ルータはどの層、スイッチはどの層、という形で覚えると、混ざらなくなります。
計算問題で手が止まる¶
ネットワーク分野には計算がついてきます。伝送にかかる時間、必要な回線速度、割り当てられるアドレスの個数といった形です。
ただ、出てくる計算の型は多くありません。型を数種類押さえておけば、初めて見る問題でも当てはめられます。
つまずきやすい場所は決まっている¶
理由が分かったところで、具体的にどこで転ぶのかを見ていきましょう。ここを先に知っておくと、勉強の効率が上がります。
私が新人に教えてきた経験でも、質問が集中する場所はほぼ固定されています。逆に言えば、そこさえ越えれば残りは流れで進みます。
IPアドレスとサブネットマスク¶
いちばん多いのがここです。IPアドレスがネットワーク部とホスト部に分かれる、という説明でつまずきます。
住所にたとえると分かりやすくなります。市区町村までがネットワーク部で、番地がホスト部だと考えてください。
サブネットマスクは、どこまでが市区町村なのかを示す印です。同じ市区町村なら直接届けられて、違うならいったん郵便局へ持っていく、という区別に使われます。
この郵便局の役割をするのがルータです。宛先が自分と同じネットワークかどうかを判定して、違えば外へ送り出します。
プロトコルの役割が混ざる¶
次に多いのが、プロトコルの取り違えです。名前だけを一覧で覚えると、どれが何をするものだったか分からなくなります。
覚え方のコツは、何を運ぶものかで整理することです。人に説明するときの言葉で覚えておくと、選択肢を見たときに思い出せます。
代表的なものを、役割で並べた表にしました。この形で頭に入れておくと、混ざりにくくなります。
| プロトコル | ざっくり言うと何をするか | どの場面で出てくるか |
|---|---|---|
| HTTP | Webページのやり取りを決める | ブラウザとWebサーバの通信 |
| DNS | 名前をIPアドレスに変換する | サイト名でアクセスするとき |
| DHCP | 機器にIPアドレスを自動で配る | 会社や自宅の端末が接続するとき |
| SMTP・POP | メールを送る側と受け取る側の決まり | メールの送受信 |
この表で大事なのは、名前ではなく右の2列です。役割と場面が言えれば、名前は後からついてきます。
実務でも、障害の切り分けはこの役割の理解がそのまま使われます。サイトが開かないとき、名前が引けていないのか、通信自体が届いていないのかを分けて考えるからです。
名前からアドレスに変わる流れが飛ぶ¶
もう一つ、意外と多いのが名前解決の流れです。サイト名を入力してからページが表示されるまでに、実は二段階の通信が起きています。
最初に行われるのが、名前をIPアドレスに変換するやり取りです。住所が分かって初めて、Webサーバへの通信が始まります。
この二段階を一つにまとめて考えていると、問題文の状況がつかめません。名前を引く通信と、中身を取りに行く通信は別のものだと分けて覚えてください。
実務でも、この切り分けは最初にやります。名前が引けていないのか、引けたのに届いていないのかで、疑う場所がまったく変わるからです。
単位の変換で計算がずれる¶
計算問題では、単位のそろえ方でつまずく人がよくいます。データ量はバイト、回線速度はビットで表されることが多いからです。
ここは、計算を始める前に単位をそろえる、と決めてしまうのが確実です。1バイトは8ビットなので、データ量を8倍してから割る、という順番になります。
順番を決めておくと、焦っている本番でも同じ手が打てます。問題文を読んだ直後に単位だけ書き出しておく、というやり方でも構いません。
ネットワークの問題を解く手順¶
つまずく場所が分かったら、次は解き方です。手順を決めておくと、初めて見る問題でも同じ入り方ができます。
私が勧めているのは、次の3手です。試験本番で迷わないように、演習のときから同じ順番で解いてみてください。
まず、問題文に出てくる機器と経路を余白に描きます。次に、聞かれているのが知識なのか計算なのかを見分けます。
そのうえで、選択肢を見て明らかに噛み合わないものから外していきます。この順番だと、読み返す回数が減ります。
計算問題は型に当てはめる¶
ネットワークの計算は、覚える公式が少ないのが救いです。中心になるのは、データ量を回線の速度で割ると時間が出る、という関係だけです。
たとえば1メガバイトのファイルを、8メガビット毎秒の回線で送る場面を考えます。1メガバイトは8メガビットなので、答えは1秒です。
実際の問題では、ここに回線の利用率が加わります。速度に利用率を掛けてから割る、という一手間が増えるだけです。
数字が大きくても、やっていることは同じです。慌てずに、単位をそろえてから割り算に入ってください。
知識問題は消去法で絞る¶
計算ではない設問は、知識で答えるしかありません。ただ、完全に覚えていなくても消去法で絞れることは多いです。
役割で覚えておけば、その場面で登場しないプロトコルは外せます。先ほどの表の右2列が、そのまま判断材料になります。
問題文にある単語も手がかりです。名前を引く、アドレスを配る、といった動作を表す言葉が、答えのプロトコルを指していることがよくあります。
分野そのものが難しいと感じている人は、試験全体のつまずきどころを整理した記事も参考になります。
【関連記事】基本情報技術者試験の難易度は?初心者がつまずく場所を解説
ネットワークは捨ててもいい分野なのか¶
苦手な分野に出会うと、いっそ捨ててしまおうかと考えたくなります。その気持ちは分かりますが、この分野に関しては勧めません。
理由は二つあります。一つは、科目Aで安定して出題される分野なので、まるごと落とすと失点が読めなくなること。
もう一つは、セキュリティ分野と重なっていることです。ネットワークを捨てると、セキュリティ側でも根拠なく選ぶ場面が増えてしまいます。
深追いする必要はありません。ただ、機器の役割と代表的なプロトコルの意味くらいまでは、押さえておいたほうが後が楽になります。
ネットワークの考え方は擬似言語にもつながる¶
ネットワークは科目Aの分野だと思われがちですが、考え方は科目Bとも地続きです。条件を順番に確かめて行き先を決める、という構造が同じだからです。
ルータの動きを擬似言語で書いてみると、それがはっきりします。経路表を上から順に見て、一致するものが無ければ既定の出口へ送る、という処理です。
○整数型: soushinsaki(整数型の配列: keirohyou, 整数型: atesaki)
整数型: i
for (i を 1 から keirohyouの要素数 まで 1 ずつ増やす)
if (keirohyou[i] = atesaki)
return i
endif
endfor
return 0
やっていることは、配列を先頭から順に調べる線形探索そのものです。戻り値の0は、どこにも一致しなかったときに使う既定の出口を表しています。
ネットワーク機器の中では、これに近い判定が絶えず行われています。仕組みをコードの形で見ておくと、用語の暗記が理屈に変わります。
科目Bで擬似言語がどう出るのかを先に知っておくと、この対応関係がもっと見えてきます。
【関連記事】基本情報技術者試験の科目Bとは?擬似言語・アルゴリズム対策を初心者向けに解説
セキュリティと一緒に勉強すると効率がいい¶
ネットワークだけを単独で勉強するのは、実はもったいない進め方です。セキュリティの分野と重なる部分がとても多いからです。
ファイアウォールも通信の制御ですし、VPNも通信経路の話です。通信の流れが分かっていれば、セキュリティ側の用語は意味から思い出せます。
逆にネットワークが曖昧なままだと、セキュリティが丸暗記になります。二分野をまとめて進めるほうが、結果として時間は短くなります。
進め方の目安を表にしました。あくまで一例なので、自分の状況に合わせて調整してください。
| 段階 | ネットワークでやること | 一緒に進めること |
|---|---|---|
| 最初 | 機器と役割を図で覚える | セキュリティの攻撃と対策を対にする |
| 次 | IPアドレスと計算の型を押さえる | 通信を守る仕組みの理由を確かめる |
| 仕上げ | 過去問で出題の形に慣れる | 科目Bの文章題を読む練習をする |
この順番なら、ネットワークの理解がそのままセキュリティの土台になります。別々に覚え直す手間がなくなる分、負担が軽くなります。
セキュリティ分野を科目Aと科目Bの両面から整理した記事があるので、あわせて読んでみてください。
【関連記事】基本情報の情報セキュリティは何を勉強する?科目A・科目Bの対策を解説
科目Bのセキュリティ問題に絞った対策は、こちらで詳しく扱っています。
【関連記事】基本情報 科目Bの情報セキュリティ対策|擬似言語との勉強時間の配分を解説
まとめ¶
ネットワークが難しく感じるのは、目に見えないものを頭の中だけで扱おうとしているからでした。紙に描くだけで、見え方はずいぶん変わります。
つまずく場所はだいたい決まっていて、IPアドレスの区切り、プロトコルの役割、単位の変換の3つです。ここを越えれば、残りは流れで進みます。
問題を解くときは、図に描く、知識か計算かを見分ける、消去法で絞る、という3手を固めてください。同じ入り方を繰り返すほど、迷う時間が減っていきます。
そして、セキュリティと一緒に進めるのが効率的です。通信の流れが分かれば、守る仕組みの理由も自然に理解できます。
難しいと感じている今の状態は、理解が足りないというより、見えないものを見ようとして疲れているだけかもしれません。描いて確かめる習慣がつけば、その疲れは減っていきます。
ネットワークは、暗記の分野に見えて実はつながりの分野です。一度たどれるようになると、他の分野より安定して点が取れる場所になります。
通信の流れや守る仕組みを実際に動かしながら確かめたい人は、Giji Academyのセキュリティ講座を使ってみてください。手を動かすと、文章だけでは見えなかった順番が見えてきます。