在很多路由器的配置中,或者对NAT的介绍中,会涉及到四个地址:
inside local address; inside global address; outside local address; outside global address.
先来看它们的概念
inside local address, 内网中设备所使用的 IP 地址,此地址通常是一个私有地址;
inside global address, 公用地址,通常是 ISP 所提供的,由内网设备与外网设备通信时所使用到;通常是公网地址;
outside local address, 外网中设备所使用的地址,这个地址是在面向内网设备时所使用的,它不一定是一个公网地址;
outside global address, 外网设备所使用的真正的地址;是公网地址。
上个图解释一下:
+-------------+ +----------+ +----------+
| | | | | |
| LAN PC |---------|NAT Device|-------|WAN server|
| | | | | |
+-------------+ +----------+ +----------+
这四个地址中最好理解的inside local address,和outside global address. LAN PC的地址就是inside local address, wan server的地址就是outside global server.
在由内向外的通信中,报文由LAN PC发起,在LAN PC和NAT device中间是这样子的:
src.IP=inside local address, dst.IP=outside local address
在经过NAT转换后,报文到了外网,即在NAT device和wan server之间,报文是这样的:
src.IP=inside global address, dst.IP=outside global address。
在由外向内的通信中,则刚好相反。报文由wan server发起,在WAN SERVER和NAT device中间是这样的:
src.IP=outside global address, dst.IP=inside global address
在经过NAT转换后,报文到了内网,即在NAT device和LAN PC之间,报文是这样的:
src.IP=outside local address, dst.IP=inside local address
可见,
1、Inside local, outside local, inside global, outside global都与IP报文中的IP地址一一对应。Inside指内部网络,outside指外部网络。Local地址只在内部网络中看地到,global地址只在外部网络中看地到。
2、Inside global就是在外部主机眼中所看到的内部主机的地址。Outside local则是在内部主机眼中所看到的外部主机的地址,多数情况下,这个地址和真实的外部主机地址是相同的。
而NAT的应用也相应地有几种模式。
1、应用最多的一种模式,只进行源地址的转换,目的地址不变。即outside local address=outside global address.
2、只进行目的地址的转换,源地址不变,即inside local address=inside global address。这种方式应用地不多,因为会泄露内网的IP。
3、对源和目的地址都进行转换。此时通常两部分的IP地址会有冲突和重叠。这种情况下内网机器和外网机器看到的都不是对方真正的IP.
这里只讲到了IP地址的转换,在实际应用中,很多情况下连端口号也会进行转换,就看NAT设备是怎么设计和应用的了。
阅读(1169) | 评论(1) | 转发(0) |