2011-02-23 125 views
1

在我的情況下,從硬件UDP包發送到目標PC-192.168.13.250(45141),但MAC ID爲FF:FF:FF:FF:FF:FF。現在我綁定到該目標IP &端口不使用套接字。但我無法使用套接字程序從PC接收UDP數據包。它不是來自recvfrom()調用。它仍在等待。如果使用硬件設置將MAC ID更改爲目標PC MAC ID(00-12-d5-f6-3e-92),則可以接收UDP數據包。在不更改MAC ID的情況下,即如何從廣播MAC ID接收UDP數據包。任何幫助將不勝感激。提前致謝。以下是Wireshark的日誌。收到MAC ID廣播UDP包的問題

  • 隨着以下UDP分組不被接收(Wireshark的)

框架3609(電源線7978個字節,7978個字節捕獲) 以太網II,Src的:0A:DC:0A:DC: 0a:dc(0a:dc:0a:dc:0a:dc),Dst:Broadcast(ff:ff:ff:ff:ff:ff) Internet協議,Src:192.168.13.25(192.168.13.25),Dst: 192.168.13.250(192.168.13.250) 用戶數據報協議,Src端口:lbc-control(2780),Dst端口:45141(45141) 數據(7936字節)

  • 隨着以下UDP分組被接收(Wireshark的)

框架3609(電源線7978個字節,7978個字節捕獲) 以太網II,Src的:0A:DC:0A:DC:0A: dc(0a:dc:0a:dc:0a:dc),Dst:Broadcast(00:12:d5:f6:3e:92) Internet Protocol,Src:192.168.13.25(192.168.13.25),Dst:192.168。 13.250(192.168.13.250) 用戶數據報協議,源端口:LBC控制(2780),目的端口:45141(45141) 數據(7936個字節)

回答

1

RFC 1122小號第3.3.6節規定: 「當主機向鏈路層廣播地址發送數據報時,IP目標地址必須是合法的IP廣播或IP多播地址。」

如果您希望PC使用廣播MAC地址接收UDP數據包,則還應使用廣播IP地址。

+0

感謝您的幫助.... – ulaga 2011-02-24 12:49:07