網路中的廣播地址
Broadcast Address(廣播地址)
專門用於同時向網路中所有工作站進行傳送的一個地址。在使用TCP/IP 協議的網路中,主機標識段hostid 為全1 的IP 地址為廣播地址,廣播的分組傳送給hostid 段所涉及的所有計算機。例如,對於10.1.1.0 (255.255.255.0 )網段,其廣播地址為10.1.1.255 (255 即為2 進位制的11111111 ),當發出一個目的地址為10.1.1.255 的分組(封包)時,它將被分發給該網段上的所有計算機。
廣播地址主要有兩類
廣播地址應用於網路內的所有主機
1)有限廣播
它不被路由但會被送到相同物理網路段上的所有主機
IP地址的網路欄位和主機欄位全為1就是地址255.255.255.255
2)直接廣播
網路廣播會被路由,關並被送到專門網路上的每臺主機
IP地址的網路欄位定義這個網路,主機欄位通常全為1,如 192.168.10.255
廣播和廣播地址
1. TCP/IP協議棧中, 傳輸層只有UDP可以廣播.
2. 只能對同一子網內部廣播, 廣播資料包不經過路由器.
3. UDP的廣播地址為255.255.255.255
4. 在winsock實現中, 有一個選項對應是否允許廣播.
必須呼叫setsockopt開啟該選項.
5. 開啟後, 用sendto向255.255.255.255傳送的資料包全部廣播.
很多區域網都定義了一個特殊的保留地址, 稱為廣播地址. 當資訊頭中目的地址域的內容為廣播地址時, 該幀被區域網上所有計算機接收. 這個過程稱為廣播.
子網掩碼與廣播地址
合法的廣播地址就是主機的網路地址加上最大的主機號。網路地址通過機器的ip地址與子網掩碼按位與得出,我們以ip地址為10.78.202.175 ,子網掩碼為255.255.255.0。
為例來分析一下上面的幾個概念
首先將這兩個東西換算成二進位制程式碼
ip地址:00001010.01001110.11001010.10101111
子網掩碼:11111111.11111111.11111111.00000000
按位與之後得出網路地址:00001010.01001110.11001010.0000000
十進位制表示就是10.78.202.0
這個網路地址理論上可以有255臺主機,但是除去網路地址
0和廣播地址255之後,實際上只能有253臺主機
那麼我們可以知道175就是你這臺機器的主機號,
廣播地址就是最大的主機號,也就是10.78.202.255。
有沒有255.255.255.255可能成為一個合法的廣播地址呢?
答案是不可能因為0.0.0.0不是一個合法子網掩碼。