【发布时间】:2013-02-09 10:33:45
【问题描述】:
我在 Ethernet, OSI model, TCP, UDP, Routing (由于新的用户限制没有链接) 和其他的 wiki 文章中阅读了该主题,但无法回答我的具体问题。
情况: 4 台计算机(A-D)
它们使用 ethernet 像这样相互连接: A <-LAN-> B <-Internet-> C <-LAN-> D (由于新的用户限制,仅链接而不是图片,再次抱歉)
我试图完成的事情: 计算机 A 应该被愚弄认为它直接连接到计算机 D(反之亦然)。完成该任务的软件只能在计算机 B 和 C 上运行。
我的问题是什么:我真的无法详细说明要完成我的目标需要做什么。通过使用在计算机 B 和 C 上的现代操作系统上运行的软件,是否有可能让 A 和 D 认为它们相互连接?
我所理解的是——如果我真的要模拟那个连接——我将不得不在物理层上传输信息。从 B/C 上的操作系统的应用层可以做多少事情来完成同样的事情?有可能吗?
根据我的知识,我可以做什么: 在 A 上有一个客户端软件,它向 B 发送数据报或字节流(知道 B 将通过 Internet 将其发送到 C,然后 C 又将数据发送到 D)。从 D 到 A 的方向也是如此。
我对该解决方案的问题: 该解决方案存在缺陷,因为我需要 2 个软件解决方案(一个用于 A/D,一个用于 B/C),另外,它限制了与 TCP 和 UDP 协议的连接,而且它并没有真正模拟连接 -这只是将信息从 A 路由到 D 的一种解决方法,而不是对等连接的模拟。
这让我想到了标题中的问题:
如何在互联网上模拟两台电脑之间的直接网络连接?
我也愿意接受我可能完全忽略的任何建议,或部分解决方案和建议。
【问题讨论】:
标签: routing network-programming connection network-protocols application-layer