to 冰河:我終於搞明白了,今天查了Stevens的"TCP/IP祥解卷2:实现"。
是的,加入和退出一个群组完全是由进程动态决定。
官方的TCP/IP实现Net/3(伯克利联网代码第三个正式版本),为每个以太网接口维护一个该硬件接收的一台网多播地址范围表。加入和退出某个多播组实际上就是对这个表进行更新。可以认为就是对网卡的配置,这个动作的接口被提供在ip层的实现软件中,但它并不属于tcp/ip协议的规定范围,所以我在"卷1:协议"里没有找到,呵呵,你明白了吧
在socket里面应该有这个api提供。
to eagles125(eagles) :
很高兴,我的QQ:1007270
to sword_hero(sword):
可能我说的不准确,不过交换式网络是一种无法进行网络SNIFFER的网络,
因为到其中的每一台主机都只有一条唯一的路径,就象交换电话网
关于TCP广播还想说一句,已经有世界级的高手探讨过了,根本不可能
to game_boy(gamesboy):
一个多播组实际就是一个多播地址,你只要LISTEN此地址,
就等于加入此多播组。
还有,你的字都是繁体的,是HONKER吧,呵呵
to classfactory(void);按照TCP/IP的層次結構,應用層不可能不經過傳輸層就封裝ip包,我也認為udp和廣播沒有甚麼必然的聯繫,但是廣播確是udp的一大用點.你所說的那個概念本身是不正確的,不論它是甚麼書上的寫的。ip的封裝在ip層完成,udp把上層來的數據按照自己的格式封裝成udp包後就把它作為一個數據塊傳給ip層,剩下的事情不用它管,接收時也同樣,ip層剝去自己的首部把udp包送給udp層.
呵呵,我寫tcp/ip,啃的就是Stevens 的TCP/IP Illustrated,只是它的關於PPP的東西說得太少,才去啃rfc。還有一本Comer的"用TCP/IP進行網際互連"(Internetworking With TCP/IP),特點是強調基本原理,概念準確,而Stevens的書特點是講解詳細,內容豐富,例子很多,這是關於TCP/IP的論著中最有影響的兩本。Tanenbaum的"計算機網絡"和Comer的這本書是計算機網絡課程最主要的兩本參考書。建議你讀Comer的。