(还没看)
与大神交流:
【冒泡】小白 11:25:38
是这样,咱们内网pc通过网关,连接到外网的一个服务器的时候,比如,这时,会在网关进行ip转换,比如内网ip:192.168.5.5,端口号:1111,到网关的时候,给转换成网关的ip,比如:111.122.555.6,端口号:2222,然后网关记录2222到内网192.168.5.5:1111之间的关系,以便服务端返回后还能正确发回到指定的内网pc。
但端口号只有65535个,如果是isp级别的路由的话,他下面可能还有N多路由,有N多个内网,N多个pc,这时候,如果给每个请求都有一个端口映射,65535应该是不够用的啊。。。
我看有人说能运行正常,是因为:
1、连接的四元组源ip,目标ip,源端口,目标端口,一般不会都重复。那是说,在网关层面,如果一个人同时访问了和,建立了2个connection,内网端口分别为1234和4567,那是可能在网关那块,把这俩端口都转换成同一个2222,然后接收返回值的时候,根据返回包里的不同的源ip和端口确定发到内网的哪个connection吗?
2、网关发现端口占用超过一定数量的时候,就会清理掉一些
【冒泡】小白 11:26:39
是这样的吗?
【冒泡】小白 11:27:08
主要是第1项,是这样的吗?
【冒泡】小白 11:28:50
或者是有什么别的原理吗。。。?
【潜水】大神 11:29:21
是用的4元组的,2222这个端口不是只分配一次的,不同的人会重复分配,然后根据外网的ip和端口会转换成不同的内网
【冒泡】小白 11:29:55
所以1是正确的哈
【冒泡】小白 11:30:22
了解了,感谢均哥~
【潜水】大神 11:30:27
而且不是所有的路由器都做nat的,一般只有家庭路由器和公司路由器才做
【潜水】大神 11:30:58
联通的宽带就直接分配动态ip给用户了
【冒泡】小白 11:32:31
哦~了解了,就是说isp那种,直接就分配了外网ip。然后好多路由其实只是转发,并不转换ip端口,然后基本只有公司、家庭的网关路由才会转发,所以65535通常也就不会用光了哈~~
【潜水】大神 11:38:05
是的,在很多高级设备上,nat和路由并不一定在一台机器上,我见过nat在防火墙上做的。还有就是大的nat可以用ip池的,也就是有多个ip,对应一个内网
阅读(432) | 评论(0) | 转发(0) |