1

我正在设计一个使用以太网连接到计算机的设备。它已经内置了一个mac控制器。当我连接设备时,发生的一切就是计算机广播大量DHCP发现数据包和其他一些数据包,我试图找到该设备并建立连接。我认为我需要让我的设备在这一点上响应某种确认数据包,但我不确定是什么?有没有人做过这样的事情?谢谢如何在笔记本电脑和嵌入式设备之间建立以太网连接

我使用wireshark来查看数据包。输出看起来是这样的:

 time  source     destination  protocol    info 
1 0.000000 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xc82a69f 
2 4.000064 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xc82a69f 
3 10.688469 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xb452266b 
4 14.690625 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xb452266b 
5 22.690576 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xb452266b 
6 38.690605 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xb452266b 
7 62.652821 my_ip     XXX.XXX.255.255  BROWSER Local Master Announcement MYLAPTOP, Workstation, Server, Print Queue Server, NT Workstation, Potential Browser, Master Browser 
8 65.555281 my_ip     XXX.XXX.255.255  BROWSER Domain/Workgroup Announcement MY, NT Workstation, Domain Enum 
9 352.692192 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xa23d42a4 
10 356.692376 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xa23d42a4 
11 364.692421 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xa23d42a4 
12 381.692442 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xa23d42a4 
13 665.557507 my_ip     XXX.XXX.255.255  BROWSER Domain/Workgroup Announcement MY, NT Workstation, Domain Enum 
14 686.724951 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xbe3a7bdb 
15 691.724307 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xbe3a7bdb 
16 698.724276 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xbe3a7bdb 
17 715.724291 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xbe3a7bdb 
18 783.295682 my_ip     XXX.XXX.255.255  BROWSER Local Master Announcement MYLAPTOP, Workstation, Server, Print Queue Server, NT Workstation, Potential Browser, Master Browser 
19 908.920831 my_ip     XXX.XXX.255.255  BROWSER Get Backup List Request 
20 908.920940 my_ip     XXX.XXX.255.255  NBNS  Name query NB MY<1b> 
+0

您是设置静态IP还是使用DHCP?我会禁用DHCP并使用静态IP来帮助消除不需要的数据包。 – Nick 2009-08-20 19:22:59

回答

2

如果您的计算机正在广播DHCP数据包,这是因为它需要一个DHCP服务器来获取地址。它是而不是正在寻找您的设备。您是否已将计算机从主网络中取出并通过设备连接到专用网络上?

您的计算机对您的嵌入式设备一无所知,不会尝试与其建立连接。您需要做的第一件事就是决定连接的功能,然后编写或获取软件来创建连接。通常,嵌入式设备将创建服务器套接字并等待客户端(您的计算机)连接到它。 Telnet是客户端/服务器TCP连接的一个例子。

从您的帖子中可以明显看出,您不确定您的嵌入式设备在做什么。您需要详细阐述您的嵌入式设备以及它的功能。

+0

你是对的。我知道我的设备需要做什么,但我对使用以太网传输数据没有很好的理解。基本上,我将从我的设备发送视频以存储在电脑上。任何建议将非常感激。 – giroy 2009-08-20 23:17:00

+0

发送视频是一个悬而未决的问题。你有很多选择。 1)使用TCP和每个客户端1个流按需流式传输。 2)UDP流单播或组播。 您可以使用TCP或UDP来传输视频数据。您可以使用RTP或原始数据进行流式处理。因为时间信息被嵌入,所以MPEG-2可以像MPEG-2传输流一样流式传输原始数据。像MPEG-4或H.264这样的视频可以使用RTP进行流式处理,RTP会添加时间戳。但他们也需要SDP文件或RTSP等其他机制来获取重要的配置数据。 – FLY135 2009-08-21 20:05:29

+0

VideoLan Client(VLC)等播放器是客户端测试嵌入式设备的绝佳工具。搜索描述RTP和RTSP作为起点的RFC。 – FLY135 2009-08-21 20:06:08

0

DHCP发现”意味着你的PC是要求连接到以太网链接,它可以用一个IP地址的设备。显然你的设备不是DHCP服务器。相反,作为第一步,您应该分配您的个人电脑和您的设备static IP addresses,最好从private IP ranges如192.168.x.x.

如果您的设备有工作IP-stack,它应该然后回答pings。您可以忽略BROWSER and NBNS packets。这只是Windows试图与另一个Windows交谈。

更正:目前还不完全清楚,哪个设备广播DHCP Discover,最有可能是您的PC,但它也可能是设备(如果它具有内置的DHCP客户端)或任何其他设备相同的以太网链路。您需要在Wireshark转储中包含MAC Adresses以确保。

0

它看起来像是你的设备试图从DHCP服务器获取IP号码,但没有DHCP服务器响应。

编辑:我说这是设备,因为如果我正在读取跟踪权,您的计算机已经有一个IP号码。看看底层的以太网帧可能是有益的 - 我相信Wireshark可以让你做到这一点。

相关问题