目? ? ? ? 录
3.端口多路复用(Port address Translation,PAT)
????????我们在实际工作过程中,经常会提到内网、外网,那么何谓内网,何为外网呢?
????????内网,也称为局域网,是一种在小范围内组成的网络,一般指的是特定环境下组成的网络,如一个家庭的多台计算机互联成的网络,或学校和公司的大型局域网。内网的IP地址通常是私有的,比如192.168.1.xx、192.168.0.xx、172.16.1.xx等。内网不能直接连接外网,比较封闭,但在内网内部可以实现文件管理、应用软件共享、打印机共享等服务。
????????外网,也称为互联网,是连接不同地区局域网或者城域网的远程网络,通常可以跨接很大的物理范围,覆盖的范围可以是几十公里到几千公里,能连接多个地区、城市和国家,提供远距离通信,形成全球性的互联网络。外网的IP地址是公有的,是全球唯一的IP地址。
?????? 一般情况内网不能直接连接外网,比较封闭,但是我们现在知道的是,我们只要有一个运营商的宽带网络,我们就可以访问外网。那么是如何做到的呢?
?????? 前面也提到过,内网的地址都是私有的,比如192.168.1.xx、192.168.0.xx、172.16.1.xx等,我们也知道,其他人可以通过外网来访问内网的一个服务器,这是怎么做到的呢?
?????? 比如,内网有一个视频监控平台AS-V1000,有人可以通过互联网,来访问这个AS-V1000平台,从而浏览AS-V1000上接入的监控视频。
????????关于上面提到的两个问题,是通过一种叫NAT的技术来实现的,本文就主要讲述这个技术。
????????随着网络的发展,网络地址转换(NAT,Network Address Translation)在网络建设中正发挥着不可替代的作用。
????????NAT是一种网络地址转换技术,它的主要功能是将私有IP地址转换为公网IP地址,实现多台计算机或设备共享一个公网IP地址访问外部网络。NAT技术最初是为了解决IPv4地址短缺而开发的,它可以将多个私有IP地址映射到一个公网IP地址,从而实现多用户共享少量公网IP地址访问外部网络。NAT技术的实现需要NAT设备(如路由器或防火墙等)在数据传输过程中进行地址转换,将内网IP地址和端口号转换为公网IP地址和端口号,以便在外部网络中传输数据。
????????NAT技术有多种应用场景,其中最常见的是在家庭用户和小型企业网络中实现共享上网。通过NAT技术,可以将多个私有IP地址转换为一个公网IP地址,使得多台计算机或设备可以通过这个公网IP地址访问外部网络。NAT设备通常部署在网络的出口处,如家庭路由网关的NAT功能可以将家庭内部网络的计算机或设备的私有IP地址转换为公网IP地址,以便用户通过这个公网IP地址访问互联网。
????????除了实现共享上网外,NAT技术还有其他应用场景,如实现虚拟专用网络(VPN)、网络地址转换-过载(NAT-Traversal)等。通过NAT-Traversal技术,可以实现在没有公网IP地址的情况下,多台内网计算机或设备进行语音、视频等多媒体通信。
????????在流媒体和视频监控软件应用领域,由于经常涉及到内网、外网等情况,所以NAT也得到广泛的使用。
????????随着接入Internet的计算机数量的不断猛增,IP地址资源也就显得愈加紧张。在实际应用中,一般用户几乎申请不到整段的C类和B类IP地址。当我们的企业向ISP申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求。为了缓解供给和需求不可调和的矛盾,使用NAT技术便成为了企业和ISP的必然选择。
????????企业使用NAT时,一般认为应当使用RFC1918规定的三段私有地址部署企业内部网络,三段私有地址为:
????????当企业内部设备试图以私有地址为源,向外部网络(Internet)发送数据包的时候,NAT可以对IP包头进行修改,先前的源IP地址-私有地址被转换成合法的公有IP地址(前提是,该共有IP地址应当是企业已经从ISP申请到的合法公网IP),这样,对于一个局域网来说,无需对内部网络的私有地址分配做大的修改,就可以满足内网设备和外网通信的需求。由于设备的源IP地址被NAT替换成了公网IP地址,设备对于外网用户来说就显得“不透明”,达到了保证设备安全性的目的。在这种情况下,内部私有地址和外部公有地址是一一对应的。甚至,我们只需使用少量公网IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。
????????在企业网络中,NAT的实现方式有三种,即静态转换NAT、动态转换NAT 以及 端口多路复用(PAT)。下面的章节里将一一介绍。
????????我们以一个例子进行介绍,如下图,左边有内网的两个PC,地址分别是:10.1.3.2(下面称为PC2)和10.1.3.3(下面称为PC3),现在要访问internet上的服务器100.0.33.1.
????????静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。私有地址和公有地址的对应关系由管理员手工指定。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问,并使该设备在外部用户看来变得“不透明”。
????????根据上面的网络图,PC2要访问公网服务器100.0.33.1,先要发送数据包给服务器。通过Nat协议,数据包的源地址变为200.22.0.2,是NAT路由器的wan口的公网地址。正是有了这个地址,服务器收到这个数据包,要返回数据包给PC2,目的地址就是200.22.0.2,通过NAT路由器的转换,200.22.0.2又变成了10.1.3.2,这样,服务器发给PC2的数据包,也被正确的接收到了。
????????这样,就完成了数据的发送和接收,能够实现正常的数据通信。
????????动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对并不是一一对应的,而是随机的。所有被管理员授权访问外网的私有IP地址可随机转换为任何指定的公有IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。每个地址的租用时间都有限制。这样,当ISP提供的合法IP地址略少于网络内部的计算机数量时,可以采用动态转换的方式。
????????原理同上,只是200.22.0.2的地址不固定,可能变成其他地址,这种情况,需要企业有多个公网地址。
????????通过使用端口多路复用,可以达到一个公网地址对应多个私有地址的一对多转换。在这种工作方式下,内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,来自不同内部主机的流量用不同的随机端口进行标示,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
? ? ? ? 这种方式在视频监控接入平台,包括国标28181视频平台上用的比较多,特别是涉及到穿网的时候。
????????PC2 和 PC3通过同一个公网地址做NAT上网,如果PC2访问www.baidu.com用了公网地址的60005端口,则PC3访问www.baidu.com时只能使用60005后的随机端口例如60006,但如果是PC2此时访问www.163.com就可以使用60005端口。