关于网络地址转换

2012-06-18 14:50:35 +08:00
 Zhang
我最近终于搞清楚路由器的作用了,原来路由器是用来连接两层网络的。我发现给某个远程服务器发包时,途中经过n个路由器,也就是说途中要经过n-1层网络,每穿越一层网络,ip包的地址都要改写一次,这样怪不得网络延时会很高了。要是ipv6普及后,我们是不是可以不需要这么多层网络,所有的网络设备都在一层网络上,这样数据包就不需要穿越n层网络了,这样就节省了ip包地址改写的时间,那时候网络的延时就会下降到很可观,对不对?真是好憧憬呀!大家积极畅想呀!
3551 次点击
所在节点    服务器
12 条回复
Zhang
2012-06-18 14:59:27 +08:00
个人感觉多层网络简直就是灾难呀?这种网络根本不是平的!
lululau
2012-06-18 15:01:22 +08:00
路由器主要功能是还路由吧。。。。
dndx
2012-06-18 15:11:43 +08:00
LZ你的理解是不正确的,如果你没有公网IP,边界路由器需要做SNAT才能保证你的数据包能正确回传。一旦数据包的IP被改写为公网IP后,在互联网的传输过程中,中继路由器不会再改动你的源IP而只负责接力传输。如果真的像你说的那样,那么互联网就根本不可能实现,因为同时传输的数据量大到无法估计,如果每一跳都做SNAT,那么没有任何一个路由器能存储这么多的链接信息。
iyten
2012-06-18 15:24:22 +08:00
我就觉得奇怪。难道说ttl没减1那么ip就被改动一次?这个是不可能的。在公网上传输ip 要nat的估计就是isp的安全措施了。比如说电信骨干网上不可能大量出现铁通的ip,如果有那就说明有问题了,那么这时候就会nat,还有企业内部出去的话也是要做nat的。欢迎下面继续喷。
013231
2012-06-18 15:25:56 +08:00
樓主的理解是完全錯誤的.
1. IP報文的源IP和目標IP在傳輸時通常不會變化(也有例外, 比如NAT).
2. 路由節點間不是"分層"關係.
3. IPv6對減少路由節點的數量沒有明顯幫助.
clowwindy
2012-06-18 15:39:27 +08:00
楼主的理解适用于长城宽带和宽带通 XD
blank_dlh
2012-06-18 15:56:00 +08:00
不是每层都NAT的亲。。
局域网和公网(相对来说)连接处的路由做NAT,公网上的路由节点只是做转发用的。
ichigo
2012-06-18 16:28:32 +08:00
其实你还是没明白路由功能..
Zhang
2012-06-18 17:42:45 +08:00
@ichigo 你明白吗?
Zhang
2012-06-18 17:49:42 +08:00
每经过一次NAT,应该说目的地ip不会变,而来源地ip会变的
billryan
2012-06-18 18:21:03 +08:00
IPV6的出现主要是为了解决IPV4地址不够的问题,NAT正是由于IPV4地址不够才出现的临时性解决方案,但是NAT违背了网络设计的初衷(分层结构设计)。IPV6普及后NAT后慢慢消失,确实节约了地址映射的那部分时间,但这与路由器没有直接的关系,路由器主要的功能是根据目的地址进行路由选路(是工作在第三层(网络层)的网络设备)。NAT只适用于那些无法分配到足够公网IP地址的场合,而且这是由一个叫做「NAT盒」来干的事,与路由器没半毛钱关系... 建议楼主看看潘爱民翻译的《计算机网络》补一补网络方面的知识
dndx
2012-06-18 18:32:24 +08:00
@Zhang 正如 @billryan 所说,SNAT是为了解决IP地址不足的问题,比如你有一个IP地址192.168.1.2,你要请求8.8.8.8一些信息,如果没有路由器帮你做SNAT,你的数据包【有可能】被8.8.8.8收到,【但是】8.8.8.8不知道怎么将包回复给192.168.1.2,这种目标地址是私有地址的数据包在Internet上是无意义的,会直接被BGP路由器丢弃。

同 @ichigo ,建议LZ补一补基础知识...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/39821

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX