【求助】一些狀況的封包傳送觀念請教



贊助商連結


b90220208
2005-04-14, 09:30 PM
:) 請教各位一些觀念,
假如在網域 192.168.0.0/24 中,

Q1:
某主機"A"
ip:192.168.0.10
要進行 ip unicast 到某主機"B"
ip: 192.168.0.20
MAC: 12:12:12:12:12:12

請問此時 packet 中的
destination ip 填入: 192.168.0.20
destination MAC 填入: 12:12:12:12:12:12 (假設已知)

對嗎?

------------------------------------------
Q2:
若A要做 ip broadcast 時,

請問此時 packet 中的
destination ip 填入: 192.168.0.255
destination MAC 填入: FF:FF:FF:FF:FF:FF

對嗎?

------------------------------------------
Q3:
假如 A 還不知道 B 的 MAC 的話,
當 A 要進行 ARP broadcast 詢問主機 B 的 MAC 時,

請問此時 packet 中的
destination ip 填入: 192.168.0.20
destination MAC 填入: FF:FF:FF:FF:FF:FF

當所有該區段的電腦接收packet後會一層層往上拆解直到ip layer,若發現packet的destination ip與自己的ip不同則會drop掉.
而若是主機B,則會繼續往上猜解packet直到找到對應的程式處理(亦即回應A的詢問MAC)

對嗎?

--------------------------------------------
Q4:
請教在單純環境中的網路芳鄰(沒有 AD, PDC, wins server, 也無 lmhost 檔),若某主機只知道要聯絡的主機的電腦名稱 vivian (我不確定 NETBIOS NAME 是否等同於電腦名稱,有誤還請各位指正),完全不知該主機 vivian 的 IP 時,此時是否會以 ip broadcast 的方式去聯絡 vivian ?
若是,請問此時 packet 的
destination ip 填入: 192.168.0.255
destination MAC 填入: FF:FF:FF:FF:FF:FF

然後所有該區段電腦都會接收packet並一層層拆解直至應用程式"網路芳鄰"接手處理並判斷data中的netbios name與自己是否相同,確定相同才會進而回應.

對嗎?

--------------------------------------------
Q5:
最後請教何種情況packet的destination ip會填入: 255.255.255.255 ? :)

贊助商連結


foxhound
2005-04-14, 09:50 PM
Q5:
最後請教何種情況packet的destination ip會填入: 255.255.255.255 ?
A: DHCP 是一個很好的例子

當 DHCP 客戶端第一次登錄網路的時候﹐也就是客戶發現本機上沒有任何 IP 資料設定﹐它會向網路發出一個 DHCPDISCOVER 封包。因為客戶端還不知道自己屬於哪一個網路﹐所以封包的來源位址會為 0.0.0.0 ﹐而目的位址則為 255.255.255.255 ﹐然後再附上 Dhcpdiscover 的信息﹐向網路進行廣播。

b90220208
2005-04-15, 01:24 AM
Q5:
最後請教何種情況packet的destination ip會填入: 255.255.255.255 ?
A: DHCP 是一個很好的例子

當 DHCP 客戶端第一次登錄網路的時候﹐也就是客戶發現本機上沒有任何 IP 資料設定﹐它會向網路發出一個 DHCPDISCOVER 封包。因為客戶端還不知道自己屬於哪一個網路﹐所以封包的來源位址會為 0.0.0.0 ﹐而目的位址則為 255.255.255.255 ﹐然後再附上 Dhcpdiscover 的信息﹐向網路進行廣播。
:confused: 再請問關於DESTINATION IP: 255.255.255.255 的情形,
實際傳送時,封包會廣播至傳送主機所在網段,還是甚至會流出gateway呢?
(要我猜的話,既然特別歸類為DHCP CLIENT專用,我想應該不會吧!?)

foxhound
2005-04-15, 08:27 AM
:confused:
(要我猜的話,既然特別歸類為DHCP CLIENT專用,我想應該不會吧!?)
你猜的沒錯
所有的廣播封包都不可能穿過Gateway(Router)
否則整個網路會被廣播封包塞爆
不過DHCP封包可以經由PROXY的機制傳遞
所以不一定每個網域都要安裝DHCP Server

b90220208
2005-04-15, 12:45 PM
所以gateway(router)不會forward broadcast(255.255.255.255)封包,那麼其是否也有類似終端電阻的什麼東西? 否則要如何阻止dhcp discovery電子信號繼續流串出去...


---------------
再請教:

當網段的所有主機接收到 DHCP CLIENT (若為第一次登錄網路)所發的
DHCP DISCOVERY PACKET (destination ip: 255.255.255.255 , destination MAC: FF:FF:FF:FF:FF:FF)
後,接下來要如何判斷該不該繼續處理此封包,我想問的是:

Q1:
若為 DHCP SERVER ,約需經過什麼樣的程序以確定這封包是它得處理的,是利用 socket: 547/TCP(/UDP)還是什麼機制呢?

Q2:
而若網段其他非 DHCP SERVER 主機接又是藉由什麼機制來處理該封包呢?

Q3:
DHCP SERVEER 回應的 Dhcpoffer packet 會根據 Dhcpdiscover packet 內所帶的 MAC 位址信息及 XID 編號來傳遞給要求租約的client.此時 Dhcpoffer packet 內的:
destination ip 又該填什麼呢?
destination MAC 填入 client 的硬體位址對嗎?