家用无线路由器共享上网连接的工作原理
很多家庭都在使用无线路由器分享上网连接,那大家有没有想过它实现这种功能的原理是什么,还有为什么必须要开启端口映射才能发布内网的服务器,下面我们就来对这些问题做一些解释,希望能帮助到大家。
网络拓扑
下图就是常见的使用无线路由器分享ADSL上网的拓扑图了:
接下来的讲解都建立在这张拓扑图的基础上。
共享上网原理
无线路由器共享上网连接的原理就是NAT(Network Address Translation:网络地址转换),要解释NAT,就得先说说IP地址了,由于互联网飞速的发展,到几天为止,IPV4的资源已经被瓜分殆尽,为了解决公网IP地址不够用的状况,NAT就应运而生了,NAT的原理就是可以将保留IP转换为可以在互联网传播的公网IP,这样即使一个机构没有足够的公网IP也能够让每台客户端联网,大家可以参考IP地址的分类与划分子网这篇文章来了解什么是保留IP。
无线路由器与NAT
以上边的拓扑图为例,图中的无线路由器就是一台NAT设备,当无线路由器通过猫成功进行拨号,WAN口会获得一个公网IP(无线路由器的运行状态页会显示WAN口IP),然后连接到LAN口的客户端就能共享上网了。当内网客户端访问一个位于互联网上的主机时会发出请求数据包,数据包经过无线路由器,无线路由器会记录下数据包的各种状态信息并将之保存在内存当中,然后将源地址改为WAN口的公网IP再将数据包发送出去,远程主机收到数据包之后会发回响应数据,当响应数据经过无线路由器,无线路由器会比较内存中保留的信息,如果确认是响应数据,则会把数据包的目的IP(这时还是无线路由器WAN口的IP)改为内网客户端的IP并转发到内网,之后每次的请求和响应数据都遵循这样的一个原理,直到通讯结束。
NAT与端口映射
细心的用户会发现,在上边讲到的通讯过程中,如果是远程主机主动发送的请求数据到无线路由器,由于无线路由器的内存中没有与之匹配的信息(换句话说就是发现这些数据不是内网主机发出数据的响应信息),那么这些数据包的下场就是被丢弃(从这里可以看出使用无线路由器对保护内网安全是有好处的)。所以,如果希望无线路由器能够响应这些数据,就要使用端口映射或者开启无线路由器远程WEB管理功能:端口映射提供外部主机对内网服务器的访问,而无线路由器远程WEB管理则提供远程主机对无线路由器本身的访问。