新入社員向け超基礎講座 第4回「ネットワークって何?その2」

先日、子供が夏休みということで何年ぶりかわからないぐらい久々に家族で

出かけることになりました。どこへいきたい?と聞くと

「涼しいところで密にならないところ」

「遠くないところ」

「渋滞しないところ」

「時間がかかるところはNG」

「水族館はNG(今まで何回も行ってるから)」

といろいろ好きなことを言ってくれます。。。

近くてそんな都合のいい場所なんかあるかいなと思いましたが、

意外にありました。

東京都あきる野市に大岳キャンプ場、そのすぐそばに大岳鍾乳洞

というのがあります。

ちょっと歩くと大滝、小滝と2つの滝があり、鍾乳洞の中に入らずとも28度ぐらい。

きれいな川沿いの木陰を歩くだけでも快適でした。

(ちなみにこの日東京は最高気温35.3度の猛暑日!)

鍾乳洞は中に入ると気温が大体11~13度でめちゃくちゃ涼しいです。

上ったり下りたり、結構身をかがめないと通れない場所も多いので、

ご高齢の方や未就学児のようなお子さんにはお勧めできないですが、

なかなか本格的なコースで楽しめます。ちなみにチャレンジコースなんてのもあり、

汚れますとか書いてあったりして、そっちに行ってたらどうなってただろうと思いました。

ヘルメットを貸してもらったのですが、かぶってなかったらたんこぶだらけだったに

違いありませんでした。素直に借りて大正解。

子供も楽しめたようで、実はチャレンジコースに行きたかったようでした。

みなさんは夏を楽しんでいらっしゃいますか?

それとも猛暑日ばかりでちょっとぐったりでしょうか?

いずれにしても、残り少ない?(9月、10月になっても全然暑かったりして)

夏を楽しみつつ夏バテしないように乗り切りましょう。

ということで、超基礎講座の第4回(最終回)を始めます。

今回のテーマは前回に続いて「ネットワークって何?その2」です。

その2はスイッチングハブとルータです。

スイッチングハブ

LANを構成するときに使う機器として、リピーター、リピーターハブ、スイッチングハブ

があります。リピーターは、ケーブルで流れる電気信号を増幅して、波形を整えて、

もう一方のインターフェースから電気信号を流します。伝送距離が長ければ長いほど、

信号は弱くなってしまうため、伝送距離が長くなるときは、リピーターをはさむ

必要がありました。

リピーターハブは、複数のポートをもつリピーターです。送られてきた電気信号を

全ポートに流すだけです。全部のポートに送ってしまうので、無駄な通信が発生します。

これに対してスイッチングハブは、フレームを受け取ると一旦バッファという一時的に

記憶しておく場所に蓄積し、しかるべきポートへフレームを送信します。

フレームは、OSI参照モデルの第2層であるデータリンク層におけるデータの呼び方です。

ちなみに第3層のネットワーク層におけるデータの呼び方はパケットです。

図1)スイッチングハブ①

図1を見てください。

ホストA、ホストB、ホストCにはそれぞれNIC(Network Interface Card)

と呼ばれるネットワークに接続するための装置があり、ケーブルで接続できるように

なっています。この物理的な装置であるNICにはMACアドレスという識別番号が

付与されています。本当は48ビットを8ビット単位で区切って、14-8F-XX-AA-08-XX

のように16進数で表現されるのですが、難しいのでここでは簡単にMAC-001と

しちゃいます。

スイッチングハブは、このMACアドレスとポート番号の対応表であるMACアドレス

テーブルを持っています。

ホストAからホストBにデータを送信するとき、フレームを受け取ったスイッチングハブは、

ポート番号IF-aにMAC-001が繋がっていることを学習し、MACアドレステーブル

この情報が登録されます。

フレームの宛先MACアドレスを見ると、宛先MACアドレスはMAC-002ですが、

これはMACアドレステーブルに情報がありません。

図2)スイッチングハブ②

なので、どのポートに送るべきなのかわかりません。そういう場合は、どうするのかというと、図2のように送信元の
ポート(この場合はIF-a)以外の全ポートに送っちゃいます

これをフラッディングと言います。

図3)スイッチングハブ③

次に、図3です。ホストCはフレームを受け取ったけど自分宛ではないなと気付きます。

郵便物だったら、正しい宛先のお家に届けてあげるか、郵便屋さんに渡してあげないと

いけませんね。でも、この場合ホストCはどうするかというとポイッと捨てちゃいます。

郵便物は2つとないものなので捨てるわけにはいきませんが、ここで送っているフレーム

はホストB、ホストC両方に同じものを送っているので、捨ててしまっても問題ないわけです。

一方ホストBは自分宛なのでホストAに応答を返します。ここでMAC-002はポート番号

IF-bに繋がってるよという情報が学習され、MACアドレステーブルに登録されます。

図4)スイッチングハブ④

次に図4です。ホストBからホストAへのフレームを受け取ったスイッチングハブは、

ポート番号IF-aにMAC-001が繋がっていることは既に学習済みであり、MACアドレス

テーブルに情報があります。なのでポート番号IF-aだけにフレームを送ります。

これをフィルタリングと言います。

スイッチングハブがどういうものか理解するために、まずはこのフラッディング

フィルタリングという2つの動きが基本と捉えておければよいと思います。

ルータ

スイッチングハブが同じネットワークの中での処理であるのに対して、

ルータは異なるネットワーク間を接続・中継する役割を持っています。

では、どうやって異なるネットワークへ中継するのか。

図5)ルータ

図5を見てください。

ホストAからホストBにデータを送ろうとしています。

このデータをパケットと呼びます。郵便物で差出人の住所、宛先の住所を記載するように、

このパケットには送信元IPアドレス、宛先IPアドレスといった情報が入っています。

パケットを受け取ったルータAは、宛先がZ-01だと認識し、Z-01は自分が

直接接続しているネットワークに存在するかしないか見極めます。

なお、IPアドレスですが、本当は32ビットの2進数を4つに区切って10進数にして

192.168.100.1のように表現され、ネットワーク部とホスト部という2つの要素で

構成されています。

ネットワーク部は各ホストが属しているネットワークの識別番号になっていて、

ホスト部はネットワークに属しているホストの識別番号になっています。

ただ、ここではわかりやすくするために思いっきり簡略化して、ホストAのIPアドレスを

X-01、ホストBのIPアドレスをZ-09としちゃいます。

IPアドレスはネットワークの識別番号とホストの識別番号という2つの意味が

あるため、ホストAのIPアドレスは「ネットワークXに属する01番のホスト」、

ホストBのIPアドレスは「ネットワークZに属する09番のホスト」という意味

にしておきます。

さて、ルータルーティングテーブルというものをもっています。

これを見てみると、ルータAはポート番号IF-①にネットワークX、ポート番号IF-②に

ネットワークYがそれぞれ直接接続となっているので、ネットワークXとネットワークYには

直接繋がっていることがわかります。

ところがルータAは、今送ろうとしているネットワークZには残念ながら直接繋がって

いません。そういった場合は、ルータAではない別のルータへ転送します。

ルータAのルーティングテーブルのネットワークZは、

次の送り先の隣接ルータのIPアドレスがIP-cとなっています。

これはルータBのポート番号IF-③のIPアドレスです。

よって、ルータBのポート番号IF-③のIPアドレスであるIP-cに送り、

「あとは任せた」と役目を引継ぎます。

「あとは任せた」と言われたルータBは、ルーティングテーブルを見て、

宛先のネットワークZが自分のポート番号IF-④に直接接続されているとわかります。

よって、ルータBはポート番号IF-④に接続されているネットワークZへ送ること

ができます。

このようにルータは宛先のIPアドレスがどのネットワークに属しているか、

そのネットワークは自分が直接接続しているか、直接接続していなければ

次の送り先の隣接ルータへ託すかたちで、バケツリレーのようなことを繰り返し中継して

いきます。

これがルータの役割です。

まとめ

(1)スイッチングハブ

  • 受けとったフレームは一旦バッファに蓄積し、MACアドレステーブル
    情報に基づいて適切なポートへ転送する。

  • MACアドレステーブルに載っていないMACアドレスのフレームを受信した場合は、
    送信元以外の全ポートへフレームを送信する。(フラッディング

  • MACアドレステーブルに載っているMACアドレス宛のフレームを受信した場合は、
    宛先MACアドレスに対応するポートにのみフレームを送信する。(フィルタリング

(2)ルータ

  • ルータはルーティングテーブルという宛先ネットワークと次の送り先の隣接ルータの
    IPアドレスとポート番号の対応表をもっていて、この情報に基づいて適切なネットワーク
    へ転送する。

  • 直接繋がっているネットワークであれば、そのネットワークが繋がっているポートに、
    直接繋がっていなければ隣接のルータへ送り、バケツリレーを繰り返して中継する。



いかがでしたでしょうか?

今回で超基礎講座は最終回となります。

ブログの内容が少しでもお役に立てれば幸いです。

それではまた!

この記事を書いた人 @Sherpa

同じカテゴリーの記事