搜索
bottom↓
回复: 7

局域网电脑访问外网服务器中间经过多层路由的问题

[复制链接]

出0入0汤圆

发表于 2017-7-4 11:42:00 | 显示全部楼层 |阅读模式
先看一下网络拓扑图

这个问题想了有一段时间没有想明白,请各位懂网络的朋友讲解一下
办公室内部电脑向外网服务器铜管IP地址请求数据的时候,是如何将数据发送到服务的,更重要的是服务器是如何将数据回应给相应请求的这台设备的。
我的理解:电脑(192.168.2.2)向服务器请求数据时
第1步:将自己的数据包发送给办公室路由器,通过办公室路由器(192.168.2.1)(网关)查看自己的内部网络中是否有185.0.0.1这个IP地址的服务器
第2步:如果办公室路由器(192.168.2.1)在内部网络中找不到IP为185.0.0.1的服务器就将数据包向上一级公司路由器(192.168.1.1)请求
第3步:公司路由器(192.168.1.1)在自己的内部网络中找不到IP为185.0.0.1的服务器就将数据包向上一级电信路由器(10.0.0.1)请求
第4步:这里我比较迷惑了因为作为外网端口电信的总路由器它的IP地址为123.0.0.2,而服务器的IP地址为185.0.0.1,他们并不在一个网段内,这里是否存在一个更高更大的网关,在统领着全球的公网IP,又或者是通过地址掩码的方式来进行识别的?
第5步:不管通过什么样的方式将数据最终发到了服务器,这个时候服务器通过数据包看到的IP地址为电信公网的IP地址(123.0.0.2)
第6步:服务器如何通过电信的公网IP地址又将处理好的数据发送给最开始的请求设备的?

这里做个假设,假设每个路由器在数据请求的时候都做了目标IP与源IP的映射关系,比如在办公室路由192.168.2.1这里它做了一个192.168.2.2-----185.0.0.1的映射关系,当该路由器接收到服务器185.0.0.1  地址发来的数据时就自动的转给了192.168.2.1这个设备,目前我这个假设可以解释得了1对1通信的过程,但是当终端设备比如192.168.2.2,和192.168.2.3同时对服务器发起请求时,该路由器如何处理服务器返回来的数据问题?
问题有点多,字也有点多,麻烦大家仔细阅读。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入8汤圆

发表于 2017-7-4 11:50:12 来自手机 | 显示全部楼层
因为除了IP地址还有端口号
路由器通过ip加端口号做映射的
每一个理由器都会维护着么一张映射表,这个表有有效期
一段时间不通讯这个映射关系就断了

出10入61汤圆

发表于 2017-7-4 11:50:42 | 显示全部楼层
因特网中存在很多网关,每个网关会根据目标IP地址自动路由发送到下一级网关,直到送到目标设备。网络我觉得是运营商的事,把它当透明就行,它能把你的包送到就行了。  至于能正确返回数据到发起设备,是因为每个IP包有源地址和目标地址,并且网关会记录每条链接的IP和端口

出0入0汤圆

 楼主| 发表于 2017-7-4 11:58:47 | 显示全部楼层
统一回复上面两位兄台给的答案,我觉得这也没有办法解释,服务器能把数据准确的送到相应设备的这个链路问题。
因为服务器在它接收的数据包里,它能看到的IP以及port是电信服务器的,也就是说在办公室内部网络发到服务器后,他们的数据包呈现在服务器面前的都是电信的IP地址和端口号,那么当他们同时请求时,路由器是如何知道服务器是需要准确的将某一个数据包发送给某个请求的设备?希望给出一个完整的信号链路过程,大家一起讨论。

出0入8汤圆

发表于 2017-7-4 12:38:58 来自手机 | 显示全部楼层
很好理解吧,我们简化一下ip地址,只取后两位
1.5和1.6通过1.1去访问2.3
1.5的包出去是这样的(1.5:500,2.3:500)
经过1.1之后(1.1:10500,2.3:500),1.1维护这个映射关系
2.3收到(1.1:10500,2.3:500)的包,处理后回给1.1:10500
1.1看到1.1:10500的包,通过映射表还原成1.5:500给1.5
1.6发一个(1.6:500,2.3:500)的包,1.1把他映射成(1.1:20500,2.3:500)...
后面的不用说也知道怎么样了吧

出0入0汤圆

发表于 2017-7-4 12:48:41 | 显示全部楼层
内网与外网,请搜索 “NAT”。
外网,一般不叫网关,两台路由器之间的连接习惯叫网段。每台路由器有自己的路由表(可能很庞大),用于指挥IP包的转发。很多路由器构成一张象蜘蛛网一样的网,跟内网不同。内网网关的路由表一般很简单:不是本网段就做NAT并转出,转入的做NAT后送内网。

出0入0汤圆

 楼主| 发表于 2017-7-4 13:32:42 | 显示全部楼层
canspider 发表于 2017-7-4 12:38
很好理解吧,我们简化一下ip地址,只取后两位
1.5和1.6通过1.1去访问2.3
1.5的包出去是这样的(1.5:500,2. ...

OK,明白了!是有个地方把自己绕进去了

出0入0汤圆

 楼主| 发表于 2017-7-4 13:34:22 | 显示全部楼层
stdio 发表于 2017-7-4 12:48
内网与外网,请搜索 “NAT”。
外网,一般不叫网关,两台路由器之间的连接习惯叫网段。每台路由器有自己的 ...

谢谢,讲解!总的来说你们的解答,把我的疑惑算是给解除了。谢谢!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 21:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表