论文部分内容阅读
【摘要】 当今市场已经由 “以产品为中心”过渡到了“以客户体念为中心”的竞争时代,在建设信息化、数字化的“线上企业”时,需要重点探讨一下如何将企业开发的应用部署到互联网上使不同网络中的客户都有良好的体念。本文探讨利用DNS智能解析、NAT、Nginx来规避企业在部署互联网应用系统时跨域访问的一种部署方法,该方法不仅帮助企业解决公网地址紧张的困惑、并能节约企业的软、硬件投入,同时降低每bit数据传递的能耗,为低碳社会建设贡献力量。
【关键词】 互联网应用系统 跨域访问 DNS智能解析 NAT
随着信息时代的到来,在产品与服务同质化趋势日益显著,企业的生存和竞争环境发生了根本性的变化。当今市场已经由 “以产品为中心”过渡到了“以客户体念为中心”的竞争时代,即要求企业要保证产品质量,降低成本,又要提供便利的服务,提升体念;在内部管理方面要方便协同,提升效率;而随着通讯技术和計算机技术的飞速发展,又特别是在新冠疫情的催生下,商业模式、办公模式深受信息化的影响发生了剧烈的变化;使得线上经济、线上办公、移动办公获得了长足的发展;各类企业都大刀阔斧进行信息化建设,开发了许多企业应用,来支撑客户在线上体念或购买产品,方便员工在线上进行协同和办公;把企业建设成为信息化、数字化的“线上企业”正在进行的热火朝天。如何将企业开发的应用部署到互联网上使不同网络中的客户都有良好的体念,本文接下来做重点的探讨。
一、中小企业互联网应用部署存在困境
目前我国有移动、电信、联通三大主要通讯运营商,都建有各自的网络提供互联网业务,三大运营商网络的互联互通是通过几个特定的区域边界路由器节点进行连接的,受制于连接点数量、带宽、以及运营商之间的竞争关系等众多复杂因素,跨运营商的访问大多数情况下都会速度较慢,丢包卡顿,连接速度非常不稳定;而企业开发的应用为提升用户对产品的体验,一般会拍摄图片、录制视频、借助VR、AR等做直播,而这些视频、语音、移动支付等实时性要求较强的业务对网络就有更高的要求。企业客户或员工使用的宽带网络或移动网络是分布在移动、电信、联通三个运营商中;企业一般将这些应用服务部署在某个运营商的网络上,这样对于另外两个运营商的客户来访问本企业的应用服务,即便是同地市的客户也需要通过此运营商城域网到省干网络再到国干网络,然后通过运营商间互联的边界路由器连接另一个运营商的国干网络再到省干网络,最后到同地市的城域网。
这是一个非常复杂的跨自治域系统的路由过程,如此漫长的路由寻址过程以及受运营商竞争关系的影响,很难保证企业客户非常流畅的访问本企业的应用,特别是对于企业的视频、移动支付、语音等实时性较高的业务就更加难以保证效果,这样即使企业开发了优秀的应用,也无法令客户和员工获得优秀的线上体验;与此同时网络中产生了大量跨自治域的流量,极大的增加了每bit数据消耗的能量,社会效益也很差。
二、中小企业互联网应用部署方案研究与探讨
为解决上述问题,许多企业将一个应用在每个运营商网络中都部署一套,这样虽然能满足不同客户和员工的体验,但将使企业的软硬件采购成本直接增加了两倍,还将极大的增加应用上线后的操作和维护难度。是否可以只部署一套系统,但各运营商的客户访问系统时的路径不夸运营商自治域系统,而只在本自治域系统中进行呢?本文探讨提供一种利用DNS智能解析、NAT映射、及利用Nginx等技术来部署企业应用服务,用来实现一套应用系统解决不同运营商运的用户访问应用服务而只在本运营商的自治域之内。
2.1 DNS智能解析
在TCP/IP协议中,主机都是以ip地址来标识,IP地址是由四段以“.”分开的数字组成(以IPv4的地址为例,IPv6的地址同理),全数字形式显然不符合人类记忆的习惯,如是引入了域名系统(域名和ip的对应关系);我们要访问企业的应用服务,只要在浏览器中输入域名,主机就会将你输入的域名通过域名系统解析成IP,以便数据能在互联网上寻址到达目的主机。传统DNS解析不判断访问者来源,只会根据域名来查表,找出域名对应的IP地址; 而智能解析,是在域名数据表中加入源IP,解析时,会判断访问者的来源,为不同的访问者智能返回不同的IP地址,可使访问者在访问网站时可获取用户指定的IP地址, 如此我们可以使某一运营商网络的宽带用户访问企业应用时,域名管理系统将根据客户的来源把域名解析成该运营商拥有的IP,使该访问不要跨运营商网络就可完成。
2.2 NAT映射
NAT(Network Address Translation,网络地址转换,网络地址转换)当在专用网内部的一些主机本来已经分配到了本地IP地址(及企业私网地址),但现在又想和因特网上的主机通信时,可使用NAT方法,将私网地址映射成运营商提供的公网地址。
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。
静态转换是指将内部网络的某个私有IP地址转换为某个互联网公有IP地址,IP地址对是一对一对应的,是一成不变的。由于企业部署是互联网应用,应用服务器需要配置固定ip地址,在此需要采用静态转换。
2.3 Nginx技术
Nginx——Ngine X,是一款高性能的反向代理服务器;可以是一个IMAP、POP3、SMTP代理服务器;也可以是一个Http服务器。也就是说Nginx本身就可以托管网站,进行Http服务处理,也可以作为反向代理服务器使用。
利用Nginx代理和负载均衡功能来实现应用服务的灵活部署,为企业节约对服务器硬件资源或满足业务系统的冗余备份的需求。 三、中小企业互联网应用部署方案具体实施方式
由于目前主流是将应服务部署在linux等开源系统上,且大部分的应用服务使用前后端分离技术,以下部分就以centos系统和前后端分离项目的为例来阐述。配置实施过程如下:
1.准备好服务器,操作系统及数据库等应用需要的软硬件。
2.向移动、电信、联通申请公网IP地址,并开通网络。
3.规划好域名及ip、及端口等数据,如下表(表中数据仅为示例):
数据规划说明:如果NAT设备支持一个内网ip +一个内网端口映射成3个公网ip+端口,前端项目端口也可以是一个,并且后文只需部署一套前端项目即可,部署更为简单。
4.为应用在域名管理机构注册域名,并对域名配置智能解析,特别是需要根据实际对解析线路进行设置,企业还可以利用智能解析的高级功能进行线路自定义设置,这里不再说明,具体配置可依据各域名管理机构提供的配置说明。
5.配置应用服务器的NAT映射。将应用内网ip+端口映射到公网ip的80端口:
6.安装centos系统及应用使用的数据库系统,本发明对操作系统及数据库的安装没有特殊要求,安装按应用系统要求执行即可;
7.安装Nginx(本示例中需要安装三个分别对应三个运营商)。注意安装Nginx不可使用yum方式安装,必须使用源代码安装方式。
8.配置Nginx并部署三套前端项目(示例中修改3套前端项目对应的Nginx的配置文件Nginx.conf里的前端项目端口号为9005、9006、9007)。本发明对后端项目部署及前后端项目的连接没有特殊要求,按应用系统的要求实行即可。
9.结果验证:
模拟用户在电信、移动、联通网络中,跟踪test.***.cn的路由如下:
根据上述测试,完美地避免了跨域访问业务系统的问题。
以上所述仅本方法为一个示例而已,根据本方法,以及nat设备的功能,对于本领域的技术人员来说,可以有各种更改和变化:比如说单体项目,由于没有前、后端端概念,在服务器上部署不同tomcat端口三套单体项目,亦或者NAT设备规则足够灵活,则部署一套即可。
四、中小企业互联网应用部署方案意义及效果
1.社会意义。由于实现同城客户在同城域网内的访问,可以极大的降低减少跨市、跨省、跨自治域数据流量,从源头上减少对设备及带宽的消耗,大大减低每bit数据在网络中的能量消耗,对实现低碳社会有非常大的贡献。
2.用户感知提升明显。彻底的规避流量跨运营商复杂的路由路径问题,极大的减少由于设备自身造成的时延,提升访问速度;解决运营商间互联节点少、互联带宽有限而造成访问卡顿、不稳定的等问题。
3.企业自主可控并节约成本。企业能自主规避运营商间由于竞争关系而相互限制、设置优先级等手段对业务造成不确定影响;可以减少服务器的硬件投入,节约成本;无需改变企业内网架构,且对企业部署的应用没有额外的要求。
参 考 文 献
[1] 陶辉.深入理解Nginx:模块开发与架构解析[M].北京:机械工业出版社,2016
[2]王小东.Nginx应用与运维实战[M].北京:机械工业出版社,2020
[3]曹锐, 吴建平, 徐明伟. 快速域名解析系统性能分析[J]. 清华大学学报:自然科学版, 2009(11):1896-1900.
胡天明(1974.05),男,汉族,湖南湘潭,工程师,主要从事通讯及IT网络技术、互联网信息系统的研究和應用。
【关键词】 互联网应用系统 跨域访问 DNS智能解析 NAT
随着信息时代的到来,在产品与服务同质化趋势日益显著,企业的生存和竞争环境发生了根本性的变化。当今市场已经由 “以产品为中心”过渡到了“以客户体念为中心”的竞争时代,即要求企业要保证产品质量,降低成本,又要提供便利的服务,提升体念;在内部管理方面要方便协同,提升效率;而随着通讯技术和計算机技术的飞速发展,又特别是在新冠疫情的催生下,商业模式、办公模式深受信息化的影响发生了剧烈的变化;使得线上经济、线上办公、移动办公获得了长足的发展;各类企业都大刀阔斧进行信息化建设,开发了许多企业应用,来支撑客户在线上体念或购买产品,方便员工在线上进行协同和办公;把企业建设成为信息化、数字化的“线上企业”正在进行的热火朝天。如何将企业开发的应用部署到互联网上使不同网络中的客户都有良好的体念,本文接下来做重点的探讨。
一、中小企业互联网应用部署存在困境
目前我国有移动、电信、联通三大主要通讯运营商,都建有各自的网络提供互联网业务,三大运营商网络的互联互通是通过几个特定的区域边界路由器节点进行连接的,受制于连接点数量、带宽、以及运营商之间的竞争关系等众多复杂因素,跨运营商的访问大多数情况下都会速度较慢,丢包卡顿,连接速度非常不稳定;而企业开发的应用为提升用户对产品的体验,一般会拍摄图片、录制视频、借助VR、AR等做直播,而这些视频、语音、移动支付等实时性要求较强的业务对网络就有更高的要求。企业客户或员工使用的宽带网络或移动网络是分布在移动、电信、联通三个运营商中;企业一般将这些应用服务部署在某个运营商的网络上,这样对于另外两个运营商的客户来访问本企业的应用服务,即便是同地市的客户也需要通过此运营商城域网到省干网络再到国干网络,然后通过运营商间互联的边界路由器连接另一个运营商的国干网络再到省干网络,最后到同地市的城域网。
这是一个非常复杂的跨自治域系统的路由过程,如此漫长的路由寻址过程以及受运营商竞争关系的影响,很难保证企业客户非常流畅的访问本企业的应用,特别是对于企业的视频、移动支付、语音等实时性较高的业务就更加难以保证效果,这样即使企业开发了优秀的应用,也无法令客户和员工获得优秀的线上体验;与此同时网络中产生了大量跨自治域的流量,极大的增加了每bit数据消耗的能量,社会效益也很差。
二、中小企业互联网应用部署方案研究与探讨
为解决上述问题,许多企业将一个应用在每个运营商网络中都部署一套,这样虽然能满足不同客户和员工的体验,但将使企业的软硬件采购成本直接增加了两倍,还将极大的增加应用上线后的操作和维护难度。是否可以只部署一套系统,但各运营商的客户访问系统时的路径不夸运营商自治域系统,而只在本自治域系统中进行呢?本文探讨提供一种利用DNS智能解析、NAT映射、及利用Nginx等技术来部署企业应用服务,用来实现一套应用系统解决不同运营商运的用户访问应用服务而只在本运营商的自治域之内。
2.1 DNS智能解析
在TCP/IP协议中,主机都是以ip地址来标识,IP地址是由四段以“.”分开的数字组成(以IPv4的地址为例,IPv6的地址同理),全数字形式显然不符合人类记忆的习惯,如是引入了域名系统(域名和ip的对应关系);我们要访问企业的应用服务,只要在浏览器中输入域名,主机就会将你输入的域名通过域名系统解析成IP,以便数据能在互联网上寻址到达目的主机。传统DNS解析不判断访问者来源,只会根据域名来查表,找出域名对应的IP地址; 而智能解析,是在域名数据表中加入源IP,解析时,会判断访问者的来源,为不同的访问者智能返回不同的IP地址,可使访问者在访问网站时可获取用户指定的IP地址, 如此我们可以使某一运营商网络的宽带用户访问企业应用时,域名管理系统将根据客户的来源把域名解析成该运营商拥有的IP,使该访问不要跨运营商网络就可完成。
2.2 NAT映射
NAT(Network Address Translation,网络地址转换,网络地址转换)当在专用网内部的一些主机本来已经分配到了本地IP地址(及企业私网地址),但现在又想和因特网上的主机通信时,可使用NAT方法,将私网地址映射成运营商提供的公网地址。
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。
静态转换是指将内部网络的某个私有IP地址转换为某个互联网公有IP地址,IP地址对是一对一对应的,是一成不变的。由于企业部署是互联网应用,应用服务器需要配置固定ip地址,在此需要采用静态转换。
2.3 Nginx技术
Nginx——Ngine X,是一款高性能的反向代理服务器;可以是一个IMAP、POP3、SMTP代理服务器;也可以是一个Http服务器。也就是说Nginx本身就可以托管网站,进行Http服务处理,也可以作为反向代理服务器使用。
利用Nginx代理和负载均衡功能来实现应用服务的灵活部署,为企业节约对服务器硬件资源或满足业务系统的冗余备份的需求。 三、中小企业互联网应用部署方案具体实施方式
由于目前主流是将应服务部署在linux等开源系统上,且大部分的应用服务使用前后端分离技术,以下部分就以centos系统和前后端分离项目的为例来阐述。配置实施过程如下:
1.准备好服务器,操作系统及数据库等应用需要的软硬件。
2.向移动、电信、联通申请公网IP地址,并开通网络。
3.规划好域名及ip、及端口等数据,如下表(表中数据仅为示例):
数据规划说明:如果NAT设备支持一个内网ip +一个内网端口映射成3个公网ip+端口,前端项目端口也可以是一个,并且后文只需部署一套前端项目即可,部署更为简单。
4.为应用在域名管理机构注册域名,并对域名配置智能解析,特别是需要根据实际对解析线路进行设置,企业还可以利用智能解析的高级功能进行线路自定义设置,这里不再说明,具体配置可依据各域名管理机构提供的配置说明。
5.配置应用服务器的NAT映射。将应用内网ip+端口映射到公网ip的80端口:
6.安装centos系统及应用使用的数据库系统,本发明对操作系统及数据库的安装没有特殊要求,安装按应用系统要求执行即可;
7.安装Nginx(本示例中需要安装三个分别对应三个运营商)。注意安装Nginx不可使用yum方式安装,必须使用源代码安装方式。
8.配置Nginx并部署三套前端项目(示例中修改3套前端项目对应的Nginx的配置文件Nginx.conf里的前端项目端口号为9005、9006、9007)。本发明对后端项目部署及前后端项目的连接没有特殊要求,按应用系统的要求实行即可。
9.结果验证:
模拟用户在电信、移动、联通网络中,跟踪test.***.cn的路由如下:
根据上述测试,完美地避免了跨域访问业务系统的问题。
以上所述仅本方法为一个示例而已,根据本方法,以及nat设备的功能,对于本领域的技术人员来说,可以有各种更改和变化:比如说单体项目,由于没有前、后端端概念,在服务器上部署不同tomcat端口三套单体项目,亦或者NAT设备规则足够灵活,则部署一套即可。
四、中小企业互联网应用部署方案意义及效果
1.社会意义。由于实现同城客户在同城域网内的访问,可以极大的降低减少跨市、跨省、跨自治域数据流量,从源头上减少对设备及带宽的消耗,大大减低每bit数据在网络中的能量消耗,对实现低碳社会有非常大的贡献。
2.用户感知提升明显。彻底的规避流量跨运营商复杂的路由路径问题,极大的减少由于设备自身造成的时延,提升访问速度;解决运营商间互联节点少、互联带宽有限而造成访问卡顿、不稳定的等问题。
3.企业自主可控并节约成本。企业能自主规避运营商间由于竞争关系而相互限制、设置优先级等手段对业务造成不确定影响;可以减少服务器的硬件投入,节约成本;无需改变企业内网架构,且对企业部署的应用没有额外的要求。
参 考 文 献
[1] 陶辉.深入理解Nginx:模块开发与架构解析[M].北京:机械工业出版社,2016
[2]王小东.Nginx应用与运维实战[M].北京:机械工业出版社,2020
[3]曹锐, 吴建平, 徐明伟. 快速域名解析系统性能分析[J]. 清华大学学报:自然科学版, 2009(11):1896-1900.
胡天明(1974.05),男,汉族,湖南湘潭,工程师,主要从事通讯及IT网络技术、互联网信息系统的研究和應用。