四種I P廣播地址詳談 |
發(fā)布時間: 2012/5/21 13:15:40 |
受限的廣播 受限的廣播地址是255.255.255.255。該地址用于主機(jī)配置過程中IP數(shù)據(jù)報的目的地址,此時,主機(jī)可能還不知道它所在網(wǎng)絡(luò)的網(wǎng)絡(luò)掩碼,甚至連它的IP地址也不知道。在任何情況下,路由器都不轉(zhuǎn)發(fā)目的地址為受限的廣播地址的數(shù)據(jù)報,這樣的數(shù)據(jù)報僅出現(xiàn)在本地網(wǎng)絡(luò)中。 一個未解的問題是:如果一個主機(jī)是多接口的,當(dāng)一個進(jìn)程向本網(wǎng)廣播地址發(fā)送數(shù)據(jù)報時,為實現(xiàn)廣播,是否應(yīng)該將數(shù)據(jù)報發(fā)送到每個相連的接口上?如果不是這樣,想對主機(jī)所有接口廣播的應(yīng)用必須確定主機(jī)中支持廣播的所有接口,然后向每個接口發(fā)送一個數(shù)據(jù)報復(fù)制。 大多數(shù)BSD系統(tǒng)將255.255.255.255看作是配置后第一個接口的廣播地址,并且不提供向所屬具備廣播能力的接口傳送數(shù)據(jù)報的功能。不過,routed(見10.3節(jié))和rwhod(BSDrwho客戶的服務(wù)器)是向每個接口發(fā)送UDP數(shù)據(jù)報的兩個應(yīng)用程序。這兩個應(yīng)用程序均用相似的啟動過程來確定主機(jī)中的所有接口,并了解哪些接口具備廣播能力。同時,將對應(yīng)于那種接口的指向網(wǎng)絡(luò)的廣播地址作為發(fā)往該接口的數(shù)據(jù)報的目的地址。 HostRequirementsRFC沒有進(jìn)一步涉及多接口主機(jī)是否應(yīng)當(dāng)向其所有的接口發(fā)送受限的廣播。 指向網(wǎng)絡(luò)的廣播 指向網(wǎng)絡(luò)的廣播地址是主機(jī)號為全1的地址。A類網(wǎng)絡(luò)廣播地址為netid.255.255.255,其中netid為A類網(wǎng)絡(luò)的網(wǎng)絡(luò)號。一個路由器必須轉(zhuǎn)發(fā)指向網(wǎng)絡(luò)的廣播,但它也必須有一個不進(jìn)行轉(zhuǎn)發(fā)的選擇。 指向子網(wǎng)的廣播 指向子網(wǎng)的廣播地址為主機(jī)號為全1且有特定子網(wǎng)號的地址。作為子網(wǎng)直接廣播地址的IP地址需要了解子網(wǎng)的掩碼。例如,如果路由器收到發(fā)往128.1.2.255的數(shù)據(jù)報,當(dāng)B類網(wǎng)絡(luò)128.1的子網(wǎng)掩碼為255.255.255.0時,該地址就是指向子網(wǎng)的廣播地址;但如果該子網(wǎng)的掩碼為255.255.254.0,該地址就不是指向子網(wǎng)的廣播地址。 指向所有子網(wǎng)的廣播 指向所有子網(wǎng)的廣播也需要了解目的網(wǎng)絡(luò)的子網(wǎng)掩碼,以便與指向網(wǎng)絡(luò)的廣播地址區(qū)分開。指向所有子網(wǎng)的廣播地址的子網(wǎng)號及主機(jī)號為全1。例如,如果目的子網(wǎng)掩碼為255.255.255.0,那么IP地址128.1.255.255是一個指向所有子網(wǎng)的廣播地址。然而,如果網(wǎng)絡(luò)沒有劃分子網(wǎng),這就是一個指向網(wǎng)絡(luò)的廣播。 當(dāng)前的看法[Almquist1993]是這種廣播是陳舊過時的,更好的方式是使用多播而不是對所有子網(wǎng)的廣播。 [Almquist1993]指出RFC922要求將一個指向所有子網(wǎng)的廣播傳送給所有子網(wǎng),但當(dāng)前的路由器沒有這么做。這很幸運,因為一個因錯誤配置而沒有子網(wǎng)掩碼的主機(jī)會把它的本地廣播傳送到所有子網(wǎng)。例如,如果IP地址為128.1.2.3的主機(jī)沒有設(shè)置子網(wǎng)掩碼,它的廣播地址在正常情況下的默認(rèn)值是128.1.255.255。但如果子網(wǎng)掩碼被設(shè)置為255.255.255.0,那么由錯誤配置的主機(jī)發(fā)出的廣播將指向所有的子網(wǎng)。 1983年問世的4.2BSD是第一個影響廣泛的TCP/IP的實現(xiàn),它使用主機(jī)號全0作為廣播地址。一個最早提到廣播IP地址的是IEN212[GurwitzandHinden1982],它提出用主機(jī)號中的1比特來表示IP廣播地址(IENs是互聯(lián)網(wǎng)試驗注釋,基本上是RFC的前身)。RFC894[Hornig1984]認(rèn)為4.2BSD使用不標(biāo)準(zhǔn)的廣播地址,但RFC906[Finlayson1984]注意到對廣播地址還沒有Internet標(biāo)準(zhǔn)。RFC編輯在RFC906中加了一個腳注承認(rèn)缺少標(biāo)準(zhǔn)的廣播地址,并強(qiáng)烈推薦將主機(jī)號全1作為廣播地址。盡管1986年的4.3BSD采用主機(jī)號全1表示廣播地址,但直到90年代早期,操作系統(tǒng)(著名的是SunOS4.x)還繼續(xù)使用非標(biāo)準(zhǔn)的廣播地址。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |