现在又两个相同的 路由A,B,其网关都是192.168.1.1。 A是接在公网上,B和其他一些电脑D1,D2,D3接在路由A上。在路由B上也接了一些电脑DB1,DB2。现在路由A给D1,D2,D3分配的ip分别是 192.168.1.10 ,192.168.1.20,192.168.1.30。他们之间如果要通信的话,就可以直接使用这些ip,绑定电脑上的端口来传消息。路由B给电脑DB1,DB2分配的ip是 192.168.1.11, 192.168.1.21。DB1,DB2之间通信 也是可以直接用这个ip。但是 DB1 给D1通信怎么办? DB1 若是给D1的局域网ip 192.168.1.10 .D1应该是收不到的,因为路由B会认为这个ip 是路由内部的ip从而不往外发。但是DB1 和D1 又是同处一个局域网里,理论上 不需要公网ip 也能通信啊。请问该怎么办。
解决方案 »
- 关于CXImage类库的问题,菜鸟虚心请教
- 非模态对话框控件显示
- 怎么样可以将windows的计算器嵌在网页里
- 关于formview中控件随窗体自动变化而变化的问题
- 请问,编写com程序(无论客户端或服务端)是否都一定要用unicode?
- 想接受一个窗口句柄,怎样实现
- 对话框问题,高手指教,100分相送!
- 关于BitBlt函数的一个问题
- 为什么用GetSystemDirectory得到的目录是C:\WINNT\System32而不是C:\WINNT\system32?
- 一个简单的计算器出了点问题,新手求解答!
- 老生常谈(成员函数)
- HTMLFormElementEvents_onsubmitEventHandler 为撒不能使用。。
还有既然A是192.168.1.1了,b怎么可能还是192.168.1.1呢?????
1.A的路由器有一个地址,192.168.1.1;B作为A的一个子网的路由器,它的地址必须和A的不通,即不能用192.168.1.1。如果相同,那么A看到B路由器的地址和自己完全相同,那就是IP在A的管理范围发生冲突了。
2.一般情况下,需要两个不同的网段。简单的:B的路由器地址设置成192.168.2.1,B分配给B下管理的主机IP是192.168.2.x网段设备。前提条件是:掩码255.255.255.0,如果你对子网的分配比较熟悉,可以采用子网模式,把192.168.1.X划分成不同的子网,而不采用1.x和2.x网段了。但这样麻烦,涉及的问题比较多。
3.基于2的前提,在B管理的2.x网段的主机完全可以访问A的网段主机,因为2.x访问到1.x主机时,路由发现1.x是B的外网,那就把访问交给A段,而正好A段和B的Wan口相同,B就直接和1.x设备通讯,而不经过A的网关地址1.1。
4.B的主机访问外网,那么通过B的网关、A的网关就可以到外网上了。
5.A的主机要想访问B段,那么必须在A上增加路由,就是把2.x网络地址,即192.168.2.0网络地址对应的IP为B在A路由器中分配的IP,例如192.168.1.5,把这条路由关系增加到A的表中。当A上的一个主机D1访问DB1时,就通过A路由,转到B上,B负责转给db1.
B知道自己是A的子网,但是A不知道B上的内网地址是A的一个局域网,所以需要将B对外的一个IP地址(Internet上叫ISP)所管理的内网地址即2.x网络加入到A的一个路由选项中,这样A路由上的1.x主机向2.x主机发起通讯请求时,A路由就把这个路由传给A的路由地址,B负责传给他的内网。要不然,A是不认识2.x网段IP地址,它默认是一个外网地址。因为B的内部主机访问A的外网时,IP层的源IP被路由屏蔽了,A不记录B管理的内网地址。A只管理到与它直接连接的B的外口IP。
路由器编程的话,你得设置路由,但我看你举得例子就知道你不专业。居然2个路由器的内网在一个网段。但如果你说这2个路由器不是直接相连,而是通过其他网相连那还可以。
C++编程的话,假设你的网络是对的。你得用p2p穿洞才行。
就是在考虑了p2p穿洞 才采用这个网络模型。 1,这个网络模型是可以出现的,虽然在路由网段配置上不合理
2,我想知道 假设DB1 和D1连接上了(在内网里面连接,不依靠公网),D1在DB1上显示的ip 到底是什么?
应该就ok.
你的B路由器对内的网关和对外的IP是不同的IP,但是是同一个网段,那你符合路由和NAT原则吗?前面说的很清楚了