日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

读书笔记九:TCP/IP详解之广播和多播,IGMP协议

發(fā)布時(shí)間:2024/4/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读书笔记九:TCP/IP详解之广播和多播,IGMP协议 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
單播,多播,廣播的介紹

?單播(unicast)???????????

單播是說,對(duì)特定的主機(jī)進(jìn)行數(shù)據(jù)傳送。例如給某一個(gè)主機(jī)發(fā)送IP數(shù)據(jù)包。這時(shí)候,數(shù)據(jù)鏈路層給出的數(shù)據(jù)頭里面是非常具體的目的地址,對(duì)于以太網(wǎng)來 說,就是具體網(wǎng)卡的MAC地址(不是FF-FF-FF-FF-FF-FF,這是廣播地址)。現(xiàn)在的具有路由功能的主機(jī)應(yīng)該可以將單播數(shù)據(jù)定向轉(zhuǎn)發(fā),而目的主機(jī)的網(wǎng)卡可以過濾掉和自己MAC地址不一致的數(shù)據(jù)。

?廣播(broadcast)??????????

廣播是主機(jī)針對(duì)某一個(gè)網(wǎng)絡(luò)上的所有主機(jī)發(fā)送數(shù)據(jù)包。這個(gè)網(wǎng)絡(luò)可能是網(wǎng)絡(luò),可能是子網(wǎng),還可能是所有的子網(wǎng)。如果是網(wǎng)絡(luò),例如A類網(wǎng)址的廣播就是 netid.255.255.255,如果是子網(wǎng),對(duì)應(yīng)的廣播地址是將子網(wǎng)的網(wǎng)絡(luò)地址的主機(jī)位全部置1;如果是所有的子網(wǎng)(以B類IP地址為例)則是則是 netid.netid.255.255。廣播所用的MAC地址FF-FF-FF-FF-FF-FF。網(wǎng)絡(luò)內(nèi)所有的主機(jī)都會(huì)收到這個(gè)廣播數(shù)據(jù),網(wǎng)卡只要把 MAC地址為FF-FF-FF-FF-FF-FF的數(shù)據(jù)交給內(nèi)核就可以了。一般說來ARP,或者路由協(xié)議RIP應(yīng)該是以廣播的形式播發(fā)的。

?多播(multicast)??????????

可以說廣播是多播的特例,多播就是給一組特定的主機(jī)(多播組)發(fā)送數(shù)據(jù),這樣,數(shù)據(jù)的播發(fā)范圍會(huì)小一些(實(shí)際上播發(fā)的范圍一點(diǎn)也沒有變小),多播的MAC地址是最高字節(jié)的低位為一,例 如01-00-00-00-00-00。多播組的地址是D類IP,規(guī)定是224.0.0.0-239.255.255.255。

多播地址分類:
  • 局部多播地址:在224.0.0.0~224.0.0.255之間,這是為路由協(xié)議和其他用途保留的地址,路由器并不轉(zhuǎn)發(fā)屬于此范圍的IP包。
  • 預(yù)留多播地址:在224.0.1.0~238.255.255.255之間,可用于全球范圍(如Internet)或網(wǎng)絡(luò)協(xié)議。
  • 管理權(quán)限多播地址:在239.0.0.0~239.255.255.255之間,可供組織內(nèi)部使用,類似于私有IP地址,不能用于Internet,可限制多播范圍。
  • 屬于永久組的地址:

    224.0.0.1 ? 所有組播主機(jī)

    224.0.0.2 ? 所有組播路由器

    224.0.0.4 ? ?DRMRP路由器

    224.0.0.5 ? ?所有OSPF的路由器

    224.0.0.6 ? ?OSPF指派路由器

    224.0.0.9 ? ?RPIv2路由器

    224.0.0.10 ?EIGRP路由器

    224.0.0.13 ?PIM路由器

    224.0.0.22 ? IGMPv3

    224.0.0.25 ? RGMP

    224.0.1.1 ? ? ?NTP網(wǎng)絡(luò)時(shí)間協(xié)議

多播ip地址和mac地址的對(duì)應(yīng)關(guān)系如下:

與IP多播相對(duì)應(yīng)的以太網(wǎng)地址范圍從01:00:5e:00:00:00到01:00:5e:7f:ff:ff。

多播組的地址是D類IP,規(guī)定是224.0.0.0-239.255.255.255。

這種地址分配將使以太網(wǎng)多播地址中的23bit與IP多播組號(hào)對(duì)應(yīng)起來,通過將多播組號(hào)中的低位23bit映射到以太網(wǎng)地址中的低位23bit實(shí)現(xiàn),如下圖所示:

可以看到,ip地址和mac地址的對(duì)應(yīng)不是一一對(duì)應(yīng)的,主機(jī)還是要對(duì)多播數(shù)據(jù)進(jìn)行過濾。

一些驗(yàn)證

首先我ping一下自己所在的子網(wǎng)的某一臺(tái)主機(jī):

?ping 192.168.11.1?

正在 Ping 192.168.11.1 具有 32 字節(jié)的數(shù)據(jù):
Reply from 192.168.11.1: bytes=32 time<1ms TTL=255
Reply from 192.168.11.1: bytes=32 time<1ms TTL=255
Reply from 192.168.11.1: bytes=32 time<1ms TTL=255
Reply from 192.168.11.1: bytes=32 time=1ms TTL=255

可以看到,機(jī)器返回的是一臺(tái)主機(jī)的回應(yīng)結(jié)果,進(jìn)而推測(cè),如果我ping一個(gè)廣播地址呢?結(jié)果如下

Reply from 192.168.11.9: bytes=32 time=1ms TTL=255
Reply from 192.168.11.174: bytes=32 time<1ms TTL=64
Reply from 192.168.11.174: bytes=32 time<1ms TTL=64
Reply from 192.168.11.174: bytes=32 time<1ms TTL=64
Reply from 192.168.11.218: bytes=32 time<1ms TTL=64
Reply from 192.168.11.174: bytes=32 time<1ms TTL=64

可以看到,ping返回了一些隨機(jī)的ip的結(jié)果,這些ip都是與主機(jī)在同一子網(wǎng)內(nèi)的ip。我們可以看到,廣播實(shí)際上是給處于子網(wǎng)內(nèi)的所有ip發(fā)出數(shù)據(jù)。

IGMP協(xié)議:Internet組管理協(xié)議

IGMP的作用在于,讓其他所有需要知道自己處于哪個(gè)多播組的主機(jī)和路由器知道自己的狀態(tài)。一般多播路由器根本不需要知道某一個(gè)多播組里面有多少個(gè)主機(jī),而只要知道自己的子網(wǎng)內(nèi)還有沒有處于某個(gè)多播組的主機(jī)就可以了。只要某一個(gè)多播組還有一臺(tái)主機(jī),多播路由器就會(huì)把數(shù)據(jù)傳輸出去,這樣,接受方就會(huì)通過網(wǎng)卡過濾功能來得到自己想要的數(shù)據(jù)。為了知道多播組的信息,多播路由器需要定時(shí)的發(fā)送IGMP查詢,IGMP報(bào)文封裝在ip數(shù)據(jù)報(bào)中,各個(gè)多播組里面的主機(jī)要根據(jù)查詢來回復(fù)自己的狀態(tài)。路由器來確定有幾個(gè)多播組,自己的轉(zhuǎn)發(fā)操作如何進(jìn)行。

?

這種查詢回應(yīng)數(shù)據(jù)報(bào)的TTL一般是1,數(shù)據(jù)報(bào)被限定在子網(wǎng)內(nèi),而且不產(chǎn)生ICMP超時(shí)差錯(cuò)。

?

轉(zhuǎn)載于:https://www.cnblogs.com/maleyang/articles/7290807.html

總結(jié)

以上是生活随笔為你收集整理的读书笔记九:TCP/IP详解之广播和多播,IGMP协议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。