什么是端口映射?何时它会被用于?
当数据传输到和从一台计算机上的不同软件时,这些不同的应用需要访问相同的网络资源(如共享的文件或打印服务)。一句简单的话:端口映射就是允许多个应用程序同时使用相同端口号进行通信的过程.
Port Mapping是指将外部网络主机对某个特定服务的请求路由到内部私有IP地址上的相应服务进程。没有任何中间层代理的情况下,就是直接将请求发送给指定的进程并返回响应结果的一种技术。 通常情况下,在网络中进行通信时,如果一个应用程序想访问另一个应用程序提供的某种服务(比如SMTP、FTP或HTTP),就需要建立连接到目标服务器上的端口2083/465。然而,由于不同的应用程序可能同时存在于同一台计算机上,而且它们使用相同的IP地址和端口号进行通讯。如果多个应用程序都要访问同一个服务时,则会发生端口冲突的问题(即,当一个进程试图与已有开放的端口连接时)。Port Mapping可以通过将外部网络主机向目标服务器上的另一个端口映射来解决这个问题。 通常情况下,端口映射用于在内部网络上实现两个虚拟或物理机器之间的通信。它被广泛应用于Linux和Windows操作系统中。
在网络通信中,port mappings是将网络服务或应用程序的逻辑端口映射到硬件上的一个过程。务器接收这些映射信息后便能知道需要使用哪个特定的物理端口来连接该应用程序.例如,当要启动一个特定的应用程序时,操作系统会根据应用的端口映射信息来选择相应的物理端口进行通信.
当在网络中一个服务使用同一个IP地址和端口号的不同主机时,我们需要进行端口映射来区分这些不同的请求。断开连接的计算机可以保留其特定端口号而其他服务器访问该端口号时则会发生冲突问题。例如,Web服务器将以80端口监听Internet上的HTTP请求电子邮件服务器将以25端口监听SMTP服务。
当一个进程需要访问特定的资源(如文件、网络连接等)时,操作系统会根据该进程所使用的地址和所需访问的数据来将这个请求封装成套接字。拉并传递给指定的应用程序或其它系统服务。这样,系统就会知道如何在应用程序内部分配内存空间以存储这些数据并在必要
端口映射是将一个应用程序中的套接字与网络适配器之间的一组通信规范(协议)分配给一个新的端口号。
端口映射是指将一个网络地址转换为一个与之相对应的端口号。看到,在局域网中常用于局域网桥、路由器等设备上配置静态IP地址通常情况下需要进行端口映射以支持多个程序在同一台计算机上运行.
在计算机网络中,一个进程可以拥有多个IP地址。跟着TCP/IP协议的使用,每个程序都可以被分配独立的IP地址和端口号。这样各程序就能够相互访问而不会发生冲突。而当一个进程的所有请求都映射到同一个端口上时,这个端口就会成为服务端应用,然后通过它来为所有的进程提供服务。