端口映射和端口转发
端口映射
是指将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域网内部提供这种特定服务的主机;利用端口映射功能还可以将一台外网IP地址机器的多个端口映射到内网不同机器上的不同端口。
举个栗子:
我们在内网中有一台Web服务器,但是外网中的用户是没有办法直接访问该服务器的。于是我们可以在路由器上设置一个端口映射,只要外网用户访问路由器ip的80端口,那么路由器会把自动把流量转到内网Web服务器的80端口上。并且,在路由器上还存在一个Session,当内网服务器返回数据给路由器时,路由器能准确的将消息发送给外网请求用户的主机。在这过程中,路由器充当了一个反向代理的作用,他保护了内网中主机的安全。
端口转发(Port forwarding)
有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。
举个栗子:
假如我们内网现在有100台主机,那么我们现在都是通过路由器的这一个公网IP和外网通信的。那么,当互联网上的消息发送回来时,路由器是怎么知道这个消息是给他的,而另外消息是给你的呢?这就要我们的ip地址和路由器的端口进行绑定了,这时,在路由器中就会有一个内网ip和路由器端口对应的一张表。当路由器的10000端口收到消息时,就知道把消息发送给他,而当20000端口收到消息时,就知道把消息发送给你。这就是端口转发,其转发一个端口收到的流量,给另一个主机。
两者的区别:
端口转发,转发的重点在“转”上面。送快递的过来,把所有快递都交给门口保安,保安再根据每件快递上的收件人来分发。
端口映射就是在大门口给每个人装个柜子,送快递的直接按收件人名字,把快递放到对应的柜子里面。
端口映射,端口转发 两个词没有作为严格的计算机术语定义。事实上很多人都是混着叫的,比如Wikipedia 就将port forwarding和port mapping作为一个术语解释了。
回到这两个词描述的场景或问题来看,本质上是在两个网络传输层 地址(ip:port)上建立通道关系。通道建立的手段有多种,路由器上的那种NAT或者服务器上的路由功能(iptable),是将传输地址做了简单的翻译转换。很多认为这两个词是不同意义的人可能觉得这种场景是端口映射。
ssh是一款很牛的安全软件,具有安全隧道的功能。利用ssh的安全隧道建立的两个传输层地址的通道的方式,很多认为这两个词是不同意义的人叫这种方法为端口转发,(也有人叫端口映射的)。当然这种方式确实比较安全些,也有多种形式(本地/远程/动态),可以看这篇文章https://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/
我个人觉得还是看上下文语境,反正达到的目的是一个意思
2.
端口映射、端口转发、内网穿透:目的都是一样的,实现跨网的访问连接。
端口映射一般指有公网IP的路由器上的,完全走本地公网带宽。端口转发可以是三方公网服务器的带宽转发,也可以自己公网服务器搭建。内网穿透如nat123内网映射,其80穿透是本地公网加速不限速的网站文件完全走本地带宽。
(转)链接:https://www.zhihu.com/question/52943496/answer/1639590991
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了