PCからスイッチへのフレームの送信のしくみについて

ギャラクシーさん  
(No.1)
こんにちは
長文ですが質問させてください。

下記のようなネットワーク構成があるとします

【ネットワーク構成】

PC0(ネットワークA)
↓①
スイッチ0(ネットワークA)
↓②
ルーター0(ネットワークA)(ネットワークB)
          ↓③
       ルーター1(ネットワークB)(ネットワークC)
          ↓④
ルーター2(ネットワークC)(ネットワークD)
↓⑤
スイッチ2(ネットワークD)
↓⑥
サーバー2(ネットワークD)

PC0からサーバー2にPing打ったとき、一番最初に作られるフレームはPCのデフォルトゲートウェイに設定されているルーター0宛てだとおもいますのでフレームの宛先MACアドレスはルーター0、送信元MACアドレスはPC0になりますよね。
そしてそのフレームは最初に①の経路を通り、スイッチ0に中継してもらうことになると思います。

ここで質問ですが、PC0からスイッチ0にフレームを送信するときは、どうやってスイッチ0に到達しているのでしょうか。
というのも仮にスイッチ0がなくて直接PC0とルーター0がつながっていれば、宛先MACアドレスはルーター0のMACアドレスになっているため、宛先MACアドレスによりルーター0まで到達するとは思うのですが、今回の場合は、宛先の情報がスイッチ0では無いのにPC0はどうやってスイッチ0にフレームを送信しているのかがわかりません。

たとえばPCから出るフレームというのは宛先関係なく、いったんPCにつながっているスイッチに送信されるみたいな感じでしょうか。
でももし仮にPC0にスイッチが2つつ繋がっていたらどっちに送ればいいかわからないのではと思ってしまいます。
それともPC側で通信はすべてこのスイッチに送るみたいな設定がされているのでしょうか。

いっこうにこれという答えに自分でたどりつけないので詳しい方おられましたら、PCからスイッチへのフレームの送信のしくみについて教えていただけないでしょうか。
分かりにくい質問ですみません。長文も失礼しました。
2023.07.10 20:24
Howitzerさん 
(No.2)
スイッチ0はLANケーブルと同じです。
PCはスイッチを意識しません。

PCにスイッチが2つ接続されている場合は、PCにNICが2つあるのではないでしょうか
ルーティングテーブルによってどちらのNICからフレームを送出するのかが決まるはずだと思います。
複数のNICがチーミングされている場合は話が変わってきますけど....
2023.07.10 20:46
電タックさん 
(No.3)
面白い内容なのでコメントしてみます。
ちなみに正解は知りません。

内容が大きく2点あると思ってます。
1.スイッチ(ハブ)にIPアドレスを割り当てられるのか?
2.IPアドレスがなくても宛先にすることができるのか?

1.IPアドレスをもし割り当てられるのであればそれはもうL3以降の機器なので純粋なスイッチとしては無理ではないでしょうか?

2.私の少ない知識では、IPアドレスがない場合宛先にすることは出来ない。
Macアドレスを利用するデータリンク層(L2)は通信が行える状態まで持っていくことが目的だと思いますので役割として通信相手を特定する等は考慮されていないと思ってます。
仮にMacアドレスで通信可能であればMacアドレスは世界でユニーク値が保証されているのでIPアドレスいらなくね?になると思ってます。

つまりどういうことかと言うとスイッチを宛先に送っておらず、ルータを宛先に接続NIC側にデータ送っただけという状態だと思います。

ちなみにNICが2つ以上存在した場合ですが、これも想像になりますが
イーサネットフレームを送ってからネットワーク機器側でいらないフレームは破棄するのではなく
ネットワーク機器側の経路を確定してからイーサネットフレームを構築するので2つ以上存在していても多重に送ることは無いと思います。
仮に同じネットワーク側に2つ以上のNICだった場合も優先順位のようなものがある気がします・・・でないとパケットが2重に届いて通信がめちゃくちゃになってしまうし
2023.07.10 22:40
GinSanaさん 
AP プラチナマイスター
(No.4)
>IPアドレスをもし割り当てられるのであればそれはもうL3以降の機器なので
スイッチングには影響しませんが、L2SWでも管理用IPとしてCatalystとかは割り当てができるので、絶対ではないです。
2023.07.11 10:15
せぼりゃさん 
(No.5)
PCやスイッチではMACアドレステーブルというものを持っています。
MACアドレステーブルは、一回MACアドレスによる通信を行った機器のアドレスを一覧として保持した一覧表のようなものです。

最初は、通信していないので、MACアドレスの情報は持っていませんので、ブロードキャストによって通信相手を探ります。

PCからサーバーへの通信であれば、サーバーのMACアドレスがわかるかをブロードキャストしてスイッチに聞いて回ります。
スイッチが知らなければさらにブロードキャストして聞いて回ります。
わからないようであれば、外部のネットワークという判断になり、ルーターで、サーバーのIPってどこへ通信すればいいかわかる?と聞いて通信先を決定していきます。

ルーターにはルーティングテーブルというものがあります。
このテーブルは、宛先IPアドレスによって、次にどこへ通信したらいいのかを教えてくれるものです。

こうやってアドレスはルーター2に最終的に送られてサーバーへ通信します。
2023.07.11 13:09
boyonboyonさん 
AP シルバーマイスター
(No.6)
>PC0からスイッチ0にフレームを送信するときは、どうやってスイッチ0に到達しているのでしょうか。
単純に考えると、PC0とスイッチ0が、LANケーブルでつながっていて、PC0からLANケーブルに電流を流せば、スイッチ0に届くと思います。その後は、スイッチ0がユニキャストにしたりブロードキャストにしたりだと思います。
単純すぎますか?
2023.07.11 18:35
Howitzerさん 
(No.7)
電タックさん
NICが2つ以上存在して、同じネットワークに接続している場合は、No.2に書いたチーミングを設定します。
・2台のルータに接続して冗長構成にする。
・2台のルータに接続して負荷分散構成にする。
・1台のルータに接続して帯域を増やす。(リンクアグリゲーション)
いろいろできます。
まあクライアントPCで利用することはまずないですけど。

L2レイヤで動作するプロトコルもあります。
LLDPがR3のネスペに出題されました。

せぼりゃさん、boyonboyonさん
スイッチが全ポートにフレームを垂れ流すのはフラッディングです。
マルチキャストは特殊なアドレスへの送信です。
また、スイッチにはMACアドレステーブルがありますが、PCにあるのはARPテーブルです。
  MACアドレステーブル:ポートとMACアドレスの対応表
  ARPテーブル:MACアドレスとIPアドレスの対応表
両者は別物です。

フラッディングはネスペでよく出題される印象です。
R4 午後I問1設問3
R5 午後I問2設問1
2023.07.11 19:27
boyonboyonさん 
AP シルバーマイスター
(No.8)
Howitzerさん

ご教授ありがとうございます。
自分は、ユニキャストとブロードキャストの認識しかなかったです。

ネットや本も見て確認しました。

通信が、ユニキャストで、MACアドレステーブルにないときは、フラッディング
通信が、ユニキャストで、MACアドレステーブルにあれば、ユニキャスト
通信が、ブロードキャストアドレス宛の時は、ブロードキャスト(意図的なフラッディング)
ということですね。

そういえば、R5 午後I問2設問1でもブロードキャストと書いてしまっていました。
復習がちゃんとできていませんね。反省して、勉強しなおしです。
2023.07.11 23:05
ギャラクシーさん  
(No.9)
Howitzerさんのスイッチ0はLANケーブルと同じですという答えで少しわかった気がしました。
PCはルーターにケーブルを通してフレームをおくっていたら、途中にスイッチがあったみたいな感じっていうことですかね。要するにPCはスイッチを意識しない。

ほかの皆さんも、回答ありがとうございました!!!
2023.07.14 22:05

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop