在过去的几天里,我一直在尝试构建和运行一个非常简单的网络,但无济于事(我尝试构建的大部分网络都是从 extServer 示例中借用的)。无论我在 IP 地址、路由等方面的配置如何,我似乎都无法使其工作。
我见过很多人为此苦苦挣扎,但没有在任何地方找到任何解决方案。INET 的 Emulation 文件夹中的自述文件更令人困惑而不是有用。因此,我希望您能帮助我完成以下简单的网络工作,并希望它(帖子)也能成为其他人的教程。
我想建立的网络(再简单不过了):
External Server <----> [ext0] ROUTER [ppp0] <----> [ppp0] Standard Host
我的设置:
软件:
- 启用 PCAP 的 OMNET++ 4.6。
- INET 集成头(包括我喜欢的几个功能)。
- 启用 PCAP 的 OMNET++ 4.6。
操作系统:
VirtualBox 中的 Xubuntu 作为托管 OMNET++ 的访客。使用 Virtualbox 的原因是我的 Host Win 7 机器拒绝运行任何外部接口示例,并出现错误“cSocketRTScheduler: could't set socketopt for raw socket.”。我稍微修改了源代码并使用了 WSAGetLastError 函数,该函数将问题解决为“请求的地址在其上下文中无效。”。
回到 VirtualBox :) Xubuntu 有一个网络接口设置为仅主机网络,IP 地址为 10.0.0.1 和网络掩码 255.255.255.0 。
omnetpp.ini 中的标准主机设置:
**.server.numTcpApps = 1
**.server.tcpApp[*].typename = "TCPSinkApp"
**.server.tcpApp[*].localAddress = "172.0.1.111"
**.server.tcpApp[*].localPort = 10021
标准主机使用与 extServer 示例相同的 server.mrt。
router.mrt 如下:
ifconfig:
# interface 1 to server
name: ppp0
inet_addr: 172.0.1.100
Mask: 255.255.255.0
MTU: 1500
POINTTOPOINT MULTICAST
# interface 2 to external server (real network interface)
name: ext0
inet_addr: 10.0.0.2
Mask: 255.255.255.0
MTU: 1500
POINTTOPOINT MULTICAST
ifconfigend.
route:
#Destination Gateway Genmask Flags Metric Iface
172.0.1.111 172.0.1.100 255.255.255.255 H 0 ppp0
10.0.0.1 10.0.0.2 255.255.255.255 H 0 ext0
0.0.0.0 * 0.0.0.0 G 0 ext0
routeend.
任何关于如何使这个网络工作的想法都非常受欢迎,因为如果它工作,我想稍后扩展它。此外,如果有任何建议采用分步方式,我将不胜感激。
先感谢您。