xad74 发表于 2012-8-20 17:24:49

求UDP协议跨网段数据传输方法

最近在用UDP协议传输数据,在同一网段中UDP数据传输成功,现想实现跨网段传输数据。
我的设想是
终端设备上设置一本地IP地址、一服务器IP地址、一网关IP地址,当要向上位机传输数据时先检测本地IP地址与服务器IP地址是否在同一网段内,如在同一网段内就以服务器IP地址进行ARP广播获得MAC地址,当本地IP与服务器IP不在同一网段时,用网关IP进行ARP广播获得MAC地址。
以上是个人对跨网段进行数据传输的理解,请各位同仁多多指教

lcq007 发表于 2012-8-20 22:27:46

是这么回事,但在发送时ip还是填你的目的ip只是mac填网关的

ANINGCOMP 发表于 2012-8-20 22:46:18

麻烦了,用tcp挺好的

lcq007 发表于 2012-8-24 00:17:47

这个跟tcp还是udp没关系

aabbc 发表于 2012-8-24 01:05:35

"本地IP与服务器IP不在同一网段时,用网关IP进行ARP广播获得MAC地址。"
不是这样吧。。

下载个抓包工具看看是怎么回事。。

感觉应该是不在同一网段,那么就把数据包发给网关IP,至于网关怎么找到目标,那就是网关的事了。。。网关会查路由表,看看它的下一家是谁。。我理解是这样的。。

lcq007 发表于 2012-8-28 09:25:06

aabbc 发表于 2012-8-24 01:05 static/image/common/back.gif
"本地IP与服务器IP不在同一网段时,用网关IP进行ARP广播获得MAC地址。"
不是这样吧。。



你连网关的MAC都不知道你怎们发给网关,所有就是要通过网关ip获得网关的mac然后把数据包发给网关

aabbc 发表于 2012-8-28 09:36:17

当然需要先知道网关的MAC,问题的重点不是这里,我只回答了重点

hongshuang 发表于 2012-10-31 20:36:31

你好,请问你解决了吗?我也遇到这样的问题,现场环境是这样的,终端设备+三层交换机1+三层交换机2+服务器,
三层交换机1分配给设备的ip和服务器不在同一个网段!

xad74 发表于 2012-11-26 13:48:48

本帖最后由 xad74 于 2012-11-26 13:55 编辑

暂时没解决,估计是IP栈的问题。好像是ARP协议上有问题,没设ARP表,不知道将ARP表加上行不行。刚开始做对这方面也经验,只能摸索这来。
不知道坛里有没高人指点下

xad74 发表于 2012-11-26 14:00:01

本帖最后由 xad74 于 2012-11-26 14:07 编辑

前端时间换了个IP栈,看了下它下面至少是2个IP和2个MAC。所以我认为可能是ARP表上出了问题。最近忙别的了暂时搁置了。
将程序贴上大家看看,我是在这上面改的
页: [1]
查看完整版本: 求UDP协议跨网段数据传输方法