端口映射和端口转发

端口映射

是指将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域网内部提供这种特定服务的主机;利用端口映射功能还可以将一台外网IP地址机器的多个端口映射到内网不同机器上的不同端口。

举个栗子:

我们在内网中有一台Web服务器,但是外网中的用户是没有办法直接访问该服务器的。于是我们可以在路由器上设置一个端口映射,只要外网用户访问路由器ip的80端口,那么路由器会把自动把流量转到内网Web服务器的80端口上。并且,在路由器上还存在一个Session,当内网服务器返回数据给路由器时,路由器能准确的将消息发送给外网请求用户的主机。在这过程中,路由器充当了一个反向代理的作用,他保护了内网中主机的安全。

 

端口转发(Port forwarding)

有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。

举个栗子:

假如我们内网现在有100台主机,那么我们现在都是通过路由器的这一个公网IP和外网通信的。那么,当互联网上的消息发送回来时,路由器是怎么知道这个消息是给他的,而另外消息是给你的呢?这就要我们的ip地址和路由器的端口进行绑定了,这时,在路由器中就会有一个内网ip和路由器端口对应的一张表。当路由器的10000端口收到消息时,就知道把消息发送给他,而当20000端口收到消息时,就知道把消息发送给你。这就是端口转发,其转发一个端口收到的流量,给另一个主机。

两者的区别:

端口转发,转发的重点在“转”上面。送快递的过来,把所有快递都交给门口保安,保安再根据每件快递上的收件人来分发。

端口映射就是在大门口给每个人装个柜子,送快递的直接按收件人名字,把快递放到对应的柜子里面。



一些追加理解内容:
1.

端口映射,端口转发 两个词没有作为严格的计算机术语定义。事实上很多人都是混着叫的,比如Wikipedia 就将port forwarding和port mapping作为一个术语解释了。

回到这两个词描述的场景或问题来看,本质上是在两个网络传输层 地址(ip:port)上建立通道关系。通道建立的手段有多种,路由器上的那种NAT或者服务器上的路由功能(iptable),是将传输地址做了简单的翻译转换。很多认为这两个词是不同意义的人可能觉得这种场景是端口映射

ssh是一款很牛的安全软件,具有安全隧道的功能。利用ssh的安全隧道建立的两个传输层地址的通道的方式,很多认为这两个词是不同意义的人叫这种方法为端口转发,(也有人叫端口映射的)。当然这种方式确实比较安全些,也有多种形式(本地/远程/动态),可以看这篇文章

我个人觉得还是看上下文语境,反正达到的目的是一个意思

2.

端口映射、端口转发、内网穿透:目的都是一样的,实现跨网的访问连接。

端口映射一般指有公网IP的路由器上的,完全走本地公网带宽。端口转发可以是三方公网服务器的带宽转发,也可以自己公网服务器搭建。内网穿透如nat123内网映射,其80穿透是本地公网加速不限速的网站文件完全走本地带宽。

3.
转发安全性好些

(转)链接:https://www.zhihu.com/question/52943496/answer/1639590991



posted @ 2021-01-15 09:47  乔小生1221  阅读(1271)  评论(0编辑  收藏  举报