局域網(wǎng)發(fā)現(xiàn)之UDP組播

原文在我的csdn糠睡,http://blog.csdn.net/lixin88/article/details/56013014震叙;

局域網(wǎng)發(fā)現(xiàn)的意義

局域網(wǎng)發(fā)現(xiàn)設備是通信的第一步,通信需要先知道對方的ip地址墨辛,因為一般使用 DHCP 動態(tài)分配 ip 地址的局域網(wǎng)內,各個主機的 IP 地址是由 DHCP 服務器來幫你分配 IP 地址的。所以在很多情況下晌区,你要知道對方的 IP 地址是比較麻煩的。

因此,局域網(wǎng)發(fā)現(xiàn)朗若,我們要解決的事情就是:如何找到局域網(wǎng)內其他設備恼五,并獲取到設備的ip;

查詢資料之后哭懈,發(fā)現(xiàn)使用udp單播灾馒、組播、廣播來實現(xiàn)的方式都有遣总,并且親測確實都可行睬罗,那么哪種更合適呢,這也是我寫這篇的目的旭斥,讓大家對這些有個基本概念和對比容达;

使用哪種協(xié)議實現(xiàn)

udp 不用保證數(shù)據(jù)可靠性,傳輸速度快垂券;并且一般tcp是不用于多播場景的花盐;那使用udp如何實現(xiàn)呢?

使用udp 單播圆米、組播還是廣播

先來了解什么是單播和組播卒暂、廣播

單播

只有一個源點網(wǎng)絡和一個終點網(wǎng)絡。源點網(wǎng)絡和終點網(wǎng)絡的關系是一對一的娄帖。數(shù)據(jù)報途徑的每一個路由器都要將這個分組僅從一個接口轉發(fā)出去也祠。

圖例:

多播

在多播系統(tǒng)中,有一個源點一組終點近速。這是一對多的關系诈嘿。在這種類型的通信中,源地址是一個單播地址削葱,而目的地址則是一個組地址奖亚。

圖例:

單播和組播、廣播的區(qū)別

多播的優(yōu)點

q 具有同種業(yè)務的主機加入同一數(shù)據(jù)流析砸,共享同一通道昔字,節(jié)省了帶寬和服務器的優(yōu)點,具有廣播的優(yōu)點而又沒有廣播所需要的帶寬首繁。

q 服務器的總帶寬不受客戶端帶寬的限制作郭。由于組播協(xié)議由接收者的需求來確定是否進行數(shù)據(jù)流的轉發(fā),所以服務器端的帶寬是常量弦疮,與客戶端的數(shù)量無關夹攒。

q與單播一樣,多播是允許在廣域網(wǎng)即Internet上進行傳輸?shù)男踩鴱V播僅僅在同一局域網(wǎng)上才能進行咏尝。

廣播的缺點

q 多播與單播相比沒有糾錯機制压语,當發(fā)生錯誤的時候難以彌補,但是可以在應用層來實現(xiàn)此種功能编检。

q 多播的網(wǎng)絡支持存在缺陷胎食,需要路由器及網(wǎng)絡協(xié)議棧的支持。

多播的應用主要有網(wǎng)上視頻蒙谓、網(wǎng)上會議等斥季。

組播與廣播

廣播數(shù)據(jù)報的接收是被動的。

連接到子網(wǎng)上的所有主機都要接收廣播數(shù)據(jù)報累驮,這會增加網(wǎng)絡流量酣倾,并且子網(wǎng)上的主機增加額外的負擔。

UDP廣播只能在內網(wǎng)(同一網(wǎng)段)有效谤专,而組播可以較好實現(xiàn)跨網(wǎng)段群發(fā)數(shù)據(jù)躁锡。

UDP廣播:消耗更多網(wǎng)絡帶寬,路由器向子網(wǎng)內的每個終端都投遞一份數(shù)據(jù)包置侍,不論這些終端是否樂于接收該數(shù)據(jù)包映之;

UDP組播:有了很大優(yōu)化,只有終端加入到了一個廣播組蜡坊,UDP組播的數(shù)據(jù)才能被他接收到杠输;

多播數(shù)據(jù)報的接收是主動的。主機主動加入指定的多播組秕衙,才會接收該組的多播數(shù)據(jù)報蠢甲。

不同子網(wǎng)內的A,B進行組播通信据忘,依靠IGMP協(xié)議鹦牛;局域網(wǎng)組播,不考慮跨網(wǎng)段的組播實現(xiàn)勇吊,因此組播路由協(xié)議IGMP與本文要介紹的內容無關曼追;

局域網(wǎng)的多播

多播的地址是特定的,D類地址用于多播汉规。D類IP地址就是多播IP地址礼殊,即224.0.0.0至239.255.255.255之間的IP地址,并被劃分為局部連接多播地址针史、預留多播地址和管理權限多播地址3類:

q局部多播地址:在224.0.0.0~224.0.0.255之間膏燕,這是為路由協(xié)議和其他用途保留的地址,路由器并不轉發(fā)屬于此范圍的IP包悟民。

q 預留多播地址:在224.0.1.0~238.255.255.255之間,可用于全球范圍(如Internet)或網(wǎng)絡協(xié)議篷就。

q 管理權限多播地址:在239.0.0.0~239.255.255.255之間射亏,可供組織內部使用近忙,類似于私有IP地址,不能用于Internet智润,可限制多播范圍及舍。

初步結論

局域網(wǎng)發(fā)現(xiàn)可以使用:

1.udp單播,獲取源主機的ip和子網(wǎng)掩碼窟绷,得到該局域網(wǎng)的ip地址范圍锯玛,然后使用udp單播輪詢 找到對應的目標主機;

2.udp組播兼蜈,讓源主機和目標主機都加到同一個局部多播地址攘残;源主機給該多播地址發(fā)送組播消息即可;

3.udp廣播为狸,使用廣播地址255.255.255.255 來廣播定制好的消息歼郭;

綜合考慮:udp單播輪詢比較耗時,而且如果局域網(wǎng)內設備較多辐棒,UDP發(fā)送過快的話,會導致本地發(fā)送緩沖區(qū)丟包;接收過慢的話,也會導致接收緩沖丟包病曾;單播和廣播一樣,對于不需要關心該消息的主機是一種打擾漾根;

因此泰涂,使用udp組播來實現(xiàn)局域網(wǎng)發(fā)現(xiàn)比使用udp廣播更合適;并且我之后會學習mdns和dns-sd辐怕,而這兩種都是基于udp組播逼蒙,所以用組播來實現(xiàn)對于后面的深入研究更有意義;

現(xiàn)在秘蛇,我們來實現(xiàn)一個最簡單的局域網(wǎng)發(fā)現(xiàn)的demo其做;具體實現(xiàn)請看下一篇

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市赁还,隨后出現(xiàn)的幾起案子妖泄,更是在濱河造成了極大的恐慌,老刑警劉巖艘策,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蹈胡,死亡現(xiàn)場離奇詭異,居然都是意外死亡朋蔫,警方通過查閱死者的電腦和手機罚渐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驯妄,“玉大人荷并,你說我怎么就攤上這事∏嗳樱” “怎么了源织?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵翩伪,是天一觀的道長。 經(jīng)常有香客問我谈息,道長缘屹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任侠仇,我火速辦了婚禮轻姿,結果婚禮上,老公的妹妹穿的比我還像新娘逻炊。我一直安慰自己互亮,他們只是感情好,可當我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布嗅骄。 她就那樣靜靜地躺著胳挎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪溺森。 梳的紋絲不亂的頭發(fā)上慕爬,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天,我揣著相機與錄音屏积,去河邊找鬼医窿。 笑死,一個胖子當著我的面吹牛炊林,可吹牛的內容都是我干的姥卢。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼渣聚,長吁一口氣:“原來是場噩夢啊……” “哼独榴!你這毒婦竟也來了?” 一聲冷哼從身側響起奕枝,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤棺榔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后隘道,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體症歇,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年谭梗,在試婚紗的時候發(fā)現(xiàn)自己被綠了忘晤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡激捏,死狀恐怖设塔,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情远舅,我是刑警寧澤闰蛔,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布竞思,位于F島的核電站,受9級特大地震影響钞护,放射性物質發(fā)生泄漏。R本人自食惡果不足惜爆办,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一难咕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧距辆,春花似錦余佃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至诸蚕,卻和暖如春步势,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背背犯。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工坏瘩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人漠魏。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓倔矾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親柱锹。 傳聞我的和親對象是個殘疾皇子哪自,可洞房花燭夜當晚...
    茶點故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內容

  • 個人認為,Goodboy1881先生的TCP /IP 協(xié)議詳解學習博客系列博客是一部非常精彩的學習筆記禁熏,這雖然只是...
    貳零壹柒_fc10閱讀 5,063評論 0 8
  • 1壤巷、TCP為什么需要3次握手,4次斷開匹层? “三次握手”的目的是“為了防止已失效的連接請求報文段突然又傳送到了服務端...
    杰倫哎呦哎呦閱讀 3,488評論 0 6
  • 1.這篇文章不是本人原創(chuàng)的隙笆,只是個人為了對這部分知識做一個整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,078評論 6 174
  • 名詞延伸 通俗的說铅忿,域名就相當于一個家庭的門牌號碼,別人通過這個號碼可以很容易的找到你灵汪。如果把IP地址比作一間房子...
    楊大蝦閱讀 20,609評論 2 57
  • 本文是對個人筆記中內容的整理檀训,部分代碼及圖片來自互聯(lián)網(wǎng)柑潦,由于不好找到原始出處,所以未加注明峻凫。如有痛感渗鬼,聯(lián)系刪除。 ...
    yhthu閱讀 17,163評論 5 33