路由器一直有个问题憋了好久,既然服务器可以跳n次路由并准确的找到我的位置。那在同一个城市里两个不同地方的宽带内网地址为什么不能互联呢?
或者说有没有一种办法可以让两个不同的大内网ip通信?
理论上可以的,但是运营商没有丝毫动力。流量不经过计费单元,无法产生流量计费,就不会产生money。换你做运营商,会干这样的慈善事业?
即使2个内网连在同一个运营商交换机上,2个内网的流量在交换机上也不会短接,从而让它们直连通信。而是继续上行到达计费系统完成计费,接下来该怎么走就怎么走,查询路由表来决定。
手机之间的内网直连通信不可能,物理层只会和基站通信,而不会与手机通信。连接在同一个基站上的手机,基站也不会短接,而是要上行到计费系统,完成计费这个主要任务,接下来packet基于Destination IP 路由。
假设,手机用户Alice与Bob准备wechat视频聊天。
wechat服务器发现:
Alice的公网IP = 205.1.1.1,内网IP =10.198.197.25
Bob的公网IP = 205.1.1.1, 内网IP =10.198.197.36
假设Alice,Bob的wechat客户端都获知以上信息,wechat客户端猜测双方大概率位于同一个内网,于是尝试使用内网IP通信。但是这种内网IP通信,依然要遵循上文的第一原则:先经过计费系统,再内网IP通信。如果成功了,双方就使用内网IP通信,延迟小,体验佳。如果失败了再fallback到公网IP通信。
使用家庭宽带的用户之间的内网通信,工作原理和上文类似。内网通信需要遵循第二个原则: IP地址不能冲突。
上文的内网通信之所以可行,是因为Alice与Bob的IP地址没有冲突。
如果Alice的内网IP =10.198.197.25,Bob的内网IP =10.198.197.25
这样就冲突了,双方必须使用公网IP = 205.1.1.1 通信了。
难道Alice与Bob都使用205.1.1.1就不会冲突了?
是的。因为运营商使用不同的端口号来分别识别Alice与Bob。
Alice = 205.1.1.1:6666
Bob = 205.1.1.1:8888
而如果Alice与Bob使用同一个运营商,分配的内网IP不会冲突的,所以内网通信是可能的,但需要计费。
所以,只要不私拉线缆将内网连接起来,所有的流量必须途经运营商的计费系统,再进行路由。如果要实现内网之间的通信,比如一个内网10.1.x.x/16 与另外一个内网10.2.x.x/16之间通信,采用什么方式?
解决方案太多了,三层MPLS VPN、SD-WAN、Anyconnect VPN、VXLAN、IPSEC +GRE。
这些解决方案虽然原理不尽相同,但封装格式都有一个共同点,采用2个IP头,外层的IP头是运营商的IP信息,内层的IP头是内网的IP信息。
如果一定要采用一个IP头(纯内网IP)通信,也是可以的,可以采用二层MPLS VPN。运行商在Alice家接一根光纤,在Bob家也接一根光纤,运营商配置一下局端的设备,双方就可以通信了,月租费还是无法省!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...