如何为UDP连接选择以太网端口?

时间:2017-10-03 09:20:52

标签: linux sockets udp ethernet

我有点修复。我想说主要原因是因为我没有完全研究过OSI模型。

我的Linux机器的ETH0端口上有一个UDP输入流。我使用我的linux机器执行一些功能。现在我想再次将另一个流(来自命名管道)作为UDP输出发送到机器的ETH1端口。

输入流来自编码器,输出也将转到Windows PC进行测试。

Linux机器是Ubuntu OS 12。

这可能,我怎样才能做到这一点?如果你能从头开始告诉我一切,我将不胜感激

由于

编辑1:只是想让你体会一下我的想法:

让我试着用非专业人士的语言来打破它(我相信答案已经足够你们这些人了,哈哈)但是无论如何:

我有一个生成视频流的设备。该视频流来自一条电缆,我插入CPU标记为“ETH0”的孔中。现在有一些地址是“UDP”,我可以使用这个地址在我的linux机器上查看视频流。现在我做了一些奇特的事情(去多路复用,编码,重新多路复用)和Voila我有一个“命名管道”,然后我想输出到另一个设备。

现在,这个其他设备通过插入CPU中“ETH1”孔的第二根电缆连接到我的linux机器。我知道我必须以“UDP数据包”的形式发送第二条电缆上的数据,并确定地址(和端口?)。

我如何计算细节? 我如何'选择'哪个UDP超过哪个'ETH'?

1 个答案:

答案 0 :(得分:1)

由OS的IP路由器决定使用哪个接口。通常你真的不想“从eth1中推出一些东西”,因为那将是OSI 1级操作。你在3级工作,所以你最想要的是“把东西发送到这样的地方,这样才能通过eth1发送最佳”。

最简单的解决方案是定义一个静态路由,告诉系统应该通过特定接口或具有特定IP的接口发送到特定位置的IP数据报。这两个选项都包含在this AskUbuntu question