路由器中的端口影射
端口映射其实就是常说的NAT地址转换的一种,其功能就是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。下面以一个具体的例子解释端口影射的作用。
加入你家安装了ASDL,则拨号上网的时候会动态分配一个公网上的IP地址给你,这时候如果不是用路由器那么只能一台电脑上网。如果你有两台电脑要上网,那么你可以买一个家用的路由器,这种路由器通常有一个上行端口,若干个内部接口;上行端口有自己独立的MAC地址,因为它要和外部公网通信,内部的各个端口通常共享一个MAC地址。 要共享上网需要把ASDL的Modem和路由器的上行端口连接,然后把两台电脑连接到路由器的任何两个内部端口上。网络拓扑图如下:
![](http://hi.csdn.net/attachment/201007/3/0_1278137916jZio.gif)
加入现在主机A要给外面公网上的主机C通信,主机A发送的IP包的地址格式为:{192.168.0.2:3567;
207.34.23.63
:80},路由器收到这个包后会把它的地址格式变成{
224.134.203.65
:5592;
207.34.23.63
:80},也就是把源IP地址替换为ADSL给你分配的那个动态IP,这个IP也是路由器上行端口的IP,源端口号随机分配一个未被占用过的端口号;与此同时路由器在端口映射表中增加一条记录关系{192.168.0.2:3567,5592};当公网上的主机C返回一个IP包{
207.34.23.63
:80;
224.134.203.65
:5592}时,路由器只查看目标端口号5592,然后去端口映射表查找端口5592对应的目的地,找到后把收到的IP包地址格式替换为{
207.34.23.63
:80;192.168.0.2:3567},这样主机A就正确收到了主机C发挥的消息;就是通过这种方式路由器就可以把从公网上收到的消息正确的派发到内网上的各台主机。
利用端口影射还可以让公网上的用户访问私有网络上主机的服务,比如主机A想要对公网开放FTP服务,在公网上肯定无法通过FTP 192.168.0.2:21的方式访问到主机A的FTP服务。现在的家用路由器一般也都提供加入端口影射的操作界面,在界面中我们加入一条静态的端口映射即可,比如:{192.168.0.2:21; 2121},这样公网用户就可以通过FTP
224.134.203.65:2121访问到主机A的FTP服务了。