四種I P廣播地址詳談

四種I P廣播地址詳談

編輯 - 電腦農民 來源 - 中國協議分析網 時間 - 2004-4-28


 

受限的廣播

  受限的廣播地址是2 5 5 . 2 5 5 . 2 5 5 . 2 5 5。該地址用於主機配置過程中I P數據報的目的地址,此時,主機可能還不知道它所在網絡的網絡掩碼,甚至連它的I P地址也不知道。在任何情況下,路由器都不轉發目的地址爲受限的廣播地址的數據報,這樣的數據報僅出現在本地網絡中。

  一個未解的問題是:如果一個主機是多接口的,當一個進程向本網廣播地址發送數據報時,爲實現廣播,是否應該將數據報發送到每個相連的接口上?如果不是這樣,想對主機所有接口廣播的應用必須確定主機中支持廣播的所有接口,然後向每個接口發送一個數據報複製。

  大多數B S D系統將2 5 5 . 2 5 5 . 2 5 5 . 2 5 5看作是配置後第一個接口的廣播地址,並且不提供向所屬具備廣播能力的接口傳送數據報的功能。不過,r o u t e d(見1 0 . 3節)和r w h o d(B S D r w h o客戶的服務器)是向每個接口發送U D P數據報的兩個應用程序。這兩個應用程序均用相似的啓動過程來確定主機中的所有接口,並瞭解哪些接口具備廣播能力。同時,將對應於那種接口的指向網絡的廣播地址作爲發往該接口的數據報的目的地址。

  Host Requirements RFC沒有進一步涉及多接口主機是否應當向其所有的接口發送受限的廣播。

指向網絡的廣播

  指向網絡的廣播地址是主機號爲全1的地址。A類網絡廣播地址爲n e t i d . 2 5 5 . 2 5 5 . 2 5 5,其中n e t i d爲A類網絡的網絡號。一個路由器必須轉發指向網絡的廣播,但它也必須有一個不進行轉發的選擇。

指向子網的廣播

  指向子網的廣播地址爲主機號爲全1且有特定子網號的地址。作爲子網直接廣播地址的I P 地址需要了解子網的掩碼。例如,如果路由器收到發往1 2 8 . 1 . 2 . 2 5 5的數據報,當B類網絡1 2 8 . 1的子網掩碼爲2 5 5 . 2 5 5 . 2 5 5 . 0時,該地址就是指向子網的廣播地址;但如果該子網的掩碼爲2 5 5 . 2 5 5 . 2 5 4 . 0,該地址就不是指向子網的廣播地址。

指向所有子網的廣播

  指向所有子網的廣播也需要了解目的網絡的子網掩碼,以便與指向網絡的廣播地址區分開。指向所有子網的廣播地址的子網號及主機號爲全1 。例如,如果目的子網掩碼爲2 5 5 . 2 5 5 . 2 5 5 . 0,那麼I P地址1 2 8 . 1 . 2 5 5 . 2 5 5是一個指向所有子網的廣播地址。然而,如果網絡沒有劃分子網,這就是一個指向網絡的廣播。

  當前的看法[Almquist 1993]是這種廣播是陳舊過時的,更好的方式是使用多播而不是對所有子網的廣播。

  [Almquist 1993] 指出RFC 922要求將一個指向所有子網的廣播傳送給所有子網,但當前的路由器沒有這麼做。這很幸運,因爲一個因錯誤配置而沒有子網掩碼的主機會把它的本地廣播傳送到所有子網。例如,如果I P地址爲1 2 8 . 1 . 2 . 3的主機沒有設置子網掩碼,它的廣播地址在正常情況下的默認值是1 2 8 . 1 . 2 5 5 . 2 5 5。但如果子網掩碼被設置爲255.255.255.0,那麼由錯誤配置的主機發出的廣播將指向所有的子網。

  1 9 8 3年問世的4 . 2 B S D是第一個影響廣泛的T C P / I P的實現,它使用主機號全0作爲廣播地址。一個最早提到廣播IP地址的是IEN 212 [Gurwitz and Hinden 1982],它提出用主機號中的1比特來表示I P廣播地址(IENs 是互聯網試驗註釋,基本上是R F C的前身)。RFC 894 [Hornig 1984]認爲4.2BSD使用不標準的廣播地址,但RFC 906 [Finlayson 1984] 注意到對廣播地址還沒有I n t e r n e t標準。R F C編輯在RFC 906中加了一個腳註承認缺少標準的廣播地址,並強烈推薦將主機號全1作爲廣播地址。儘管1 9 8 6年的4 . 3 B S D採用主機號全1表示廣播地址,但直到9 0年代早期,操作系統(著名的是SunOS 4.x)還繼續使用非標準的廣播地址。

發佈了42 篇原創文章 · 獲贊 4 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章