LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 702|回复: 7

关于NAT的原理,还没有弄明白

[复制链接]
发表于 2004-12-13 15:14:52 | 显示全部楼层 |阅读模式
假如局域网中有三台机器A 192.168.0.1 B 192.168.0.2 C192.168.0.3。A为网关,其公网地址202.14.1.1。这是B要浏览http://www.linuxsir.cn。在其 ... 不会发到A或C
 楼主| 发表于 2004-12-13 15:17:01 | 显示全部楼层
没好。重来一遍。
假如局域网中有三台机器A 192.168.0.1 B 192.168.0.2 C192.168.0.3。A为网关,其公网地址202.14.1.1。这是B要浏览http://www.linuxsir.cn。在其通过网关时其包的源地址已经被转换为A的公网地址202.14.1.1。这是当linuxsir.cn返回信息时,是如何准确的将包发到192.168.0.2的,而不会发到A或C
发表于 2004-12-13 16:16:48 | 显示全部楼层
我想这个问题跟NAT和SNAT的内核有关~~~~具体怎么转发地址和改写地址这个,我想还是查查相关文挡吧~~~我也不是也清楚
发表于 2004-12-13 16:19:06 | 显示全部楼层
机制不同,有一种是通过端口号区分的,还有一种是B彻底占用这个公网地址。好象还有其他的。
发表于 2004-12-13 17:14:32 | 显示全部楼层
connection  track
或者叫 state machine.
看看 iptables tutorial..
 楼主| 发表于 2004-12-14 09:46:39 | 显示全部楼层
想了一晚上,我来讲讲我现在的理解。
机器B将包发到机器A。源地址192.168.0.2源端口2233。机器A收到这个包时,将包中的源地址改为202.14.1.1源端口改为9999,并且这时在内存中建立一个映射关系。当A收到linuxsir.cn的响应信息时,其目的地址为202.14.1.1目的端口为9999。NAT查找映射关系,将这个包修改后转发给机器B。
 楼主| 发表于 2004-12-14 09:51:20 | 显示全部楼层
觉得这个过程和端口映射相似。
端口映射是一开始就在机器A(也就是网关)开一个端口,并且映射到内网的上。这样外网的机器也能与内网的机器建立连接。
不知道这样的理解对不对啊?多做批评
发表于 2004-12-14 17:19:55 | 显示全部楼层
nat是动态的,port mapping是静态的。
我觉得就这个区别,没其他的了。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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