多播
多播是基于UDP的。多播數(shù)據(jù)包的格式與UDP數(shù)據(jù)包相同那伐。
多播組是D類IP地址(224.0.0.0~239.255.255.255)和措。
多播需要借助路由器完成剂娄。源主機(jī)只發(fā)送一次,路由器復(fù)制數(shù)據(jù)包并轉(zhuǎn)發(fā)鲸阻。
修改了文件讀取到尾的判斷跋涣,否則總會(huì)重復(fù)發(fā)送最后一個(gè)段話。
# gcc news_receiver.c -o receiver
# ./receiver 224.1.1.2 9190
# gcc news_sender.c -o sender
# ./sender 224.1.1.2 9190
猜測(cè)因?yàn)槁酚善鞑恢С纸M播鸟悴,程序收不到報(bào)文陈辱,后面有機(jī)會(huì)再試試。
廣播
廣播是向同一網(wǎng)絡(luò)中的所有主機(jī)傳輸數(shù)據(jù)的方法细诸。廣播也是基于UDP的沛贪。
# gcc news_receiver_brd.c -o receiverbrd
# ./receiverbrd 9190
This example shows how to configure liveness detection for DHCP relay agent subscribers using Bidirectional Forwarding Detection (BFD) as the liveness detection method.
# gcc news_sender_brd.c -o senderbrd
# ./senderbrd 255.255.255.255 9190
習(xí)題
- TTL的含義是什么?請(qǐng)從路由器的角度說(shuō)明較大的TTL值與較小的TTL值之間的區(qū)別及問(wèn)題震贵。
數(shù)據(jù)包能經(jīng)過(guò)的路由器跳數(shù)利赋。較大的TTL可以傳播到更廣的范圍,較小的TTL可以較少不必要的數(shù)據(jù)傳播猩系。- 多播與廣播的異同點(diǎn)是什么媚送?請(qǐng)從數(shù)據(jù)通信的角度進(jìn)行說(shuō)明。
相同點(diǎn):基于UDP寇甸;一端發(fā)送塘偎,多端接收。不同點(diǎn):多播組需要預(yù)先加入拿霉,需要路由器的支持吟秩,不通網(wǎng)絡(luò)的主機(jī)可以加入同一個(gè)多播組。- 下列關(guān)于多播的描述錯(cuò)誤的是友浸?
a. 多播是用來(lái)向加入多播組的所有主機(jī)傳輸數(shù)據(jù)的協(xié)議峰尝。
b. 主機(jī)連接到同一網(wǎng)絡(luò)才能加入多播組,也就是說(shuō)收恢,多播組無(wú)法跨越多個(gè)網(wǎng)絡(luò)武学。
c. 能夠加入多播組的主機(jī)數(shù)并無(wú)限制祭往,但只能有一個(gè)主機(jī)(Sender)向該組發(fā)送數(shù)據(jù)。
d. 多播時(shí)使用的套接字是UDP套接字火窒,因?yàn)槎嗖ナ腔赨DP進(jìn)行數(shù)據(jù)通信的硼补。
bc。- 多播也對(duì)網(wǎng)絡(luò)流量有利熏矿,請(qǐng)比較TCP數(shù)據(jù)交換方式解釋其原因已骇。
有多少個(gè)接收主機(jī),TCP發(fā)送端就需要發(fā)送多少次票编。但多播只需要發(fā)送一次褪储。- 多播方式的數(shù)據(jù)通信需要MBone虛擬網(wǎng)絡(luò)。換言之慧域,MBone是用于多播的網(wǎng)絡(luò)鲤竹,但它是虛擬網(wǎng)絡(luò)。請(qǐng)解釋此處的虛擬網(wǎng)絡(luò)昔榴。
通過(guò)網(wǎng)絡(luò)中的特殊協(xié)議工作的軟件概念上的網(wǎng)絡(luò)辛藻。
我的問(wèn)題
- TCP有沒(méi)有組播?
沒(méi)有互订。因?yàn)門(mén)CP是面向連接的(一對(duì)一的)吱肌。
附錄
[1] Github