TCP/IP通信によるブロードキャストの挙動


ネットワークの基礎を現在学習しており、不明点がありました為、質問させて頂きます。

一対複数時の通信の時の挙動なのですが、  
どの層の時点で、PCの数の把握、必用なデータの数のコピー（一対一の通信ならデータは一つで十分なはずだが、複数との通信では複数いるのだろうと現在理解しています。）を行っているのかが理解できていません。

例として、（自分の考えている）ローカルブロードキャストの時の動きとしましては、

送信側  
ネットワーク層でローカルブロードキャストのブロードアドレスをIPホストアドレスに指定  
↓  
ネットワーク層にてARPをかける（ローカル領域の接続PCの数の確認）  
↓  
応答（ARP?）が返ってくる。  
↓  
ネットワーク層まで応答（ARP？）が上がってくる  
↓  
データリンク層、物理層を通って、ローカル領域の接続PCの数の分のデータを送信

が一連の流れになると思うのですが、  
この時、PCの数分のデータのコピー（用意）はどこで行っているのでしょうか？  
また、応答（ARP？）を送信側が受け取った後、「ネットワーク層までしか、連絡は来ない」という認識は正しいでしょうか？  
どなたか回答をお持ちの方がいらしたら、是非ともご教示頂きたいです。




@suzukisさん@bluevioletさんの補足で、質問記述に対する内容を書くと以下になるでしょう。

> どの層の時点で、PCの数の把握、必用なデータの数のコピーを行っているのかが理解できていません。

**答：これらは送信側ホストの中では行っていません。**

> 例として、（自分の考えている）ローカルブロードキャストの時の動きとしましては、
>
> 送信側  
>  ネットワーク層でローカルブロードキャストのブロードアドレスをIPホストアドレスに指定  
>  ↓  
>  ネットワーク層にてARPをかける（ローカル領域の接続PCの数の確認）  
>  ↓  
>  応答（ARP?）が返ってくる。  
>  ↓  
>  ネットワーク層まで応答（ARP？）が上がってくる  
>  ↓  
>  データリンク層、物理層を通って、ローカル領域の接続PCの数の分のデータを送信
>
> が一連の流れになると思うのですが、

**答：ARPは行われません。  
また送信側ホスト内での接続PC数把握やデータのコピーもありません。**

[code]

    送信側
    ネットワーク層でローカルブロードキャストのブロードアドレスを宛先IPホストアドレスに指定
    ↓
    宛先MACアドレスは全てのbitが1のブロードキャストMACアドレスが設定されます。
    ↓
    データリンク層、物理層を通って、ネットワークにデータを送信
    
[/code]

ブロードキャストだからといって特別なコピーが行われるわけではなく、通常の通信と同様に  
ハブ等のネットワーク機器が中継してネットワーク内の各ホストに送信します。

**質問者さんの考える、「必要なデータの数のコピー」はそれら機器で行われているとも言えます。**  
ただし、「必要」かどうかとか「台数」は低機能なハブ等では考慮されません。  
ポートの先に何かの装置が接続されて通信できているかどうかくらいですか。

インテリジェントハブとか高機能な機器は、設定情報などにより中継する/しないを制御します。

そしてブロードキャストを受信した側で、自分が処理すべき通信か(対応するサービスやプロセスが動作しているか)どうかを判断することになります。

候補がいっぱいあるのですが、この辺の記事あたりが参考になるでしょう。

[ブロードキャストアドレス・マルチキャストアドレス](http://www.n-study.com/network/broadcast.htm)

[◆ブロードキャストアドレスの用途](http://atnetwork.info/ccent/ip21.html)




ブロードキャストIPアドレス宛のパケットは、LAN(Ethernet)であればブロードキャストMACアドレス宛に送信されます。MACアドレス解決の必要はないのでARPのやりとりは行われません。

wiresharkなどパケットキャプチャソフトを使って実際の通信を観察してみるとよいでしょう。

