Python|阿里云服务器是如何实现每台服务器都是公网IP的呢?

Python|阿里云服务器是如何实现每台服务器都是公网IP的呢?

文章图片

Python|阿里云服务器是如何实现每台服务器都是公网IP的呢?

文章图片

Python|阿里云服务器是如何实现每台服务器都是公网IP的呢?

全世界所有的公网IP地址都源自ICANN这个组织 , 这个组织掌握着全球“互联网地址簿” , 互联网协议(IP)地址的空间分配、协议标识符的指派、通用顶级域名(gTLD)、国家和地区顶级域名(ccTLD)系统的管理、根服务器系统的管理等都是由ICANN负责管理 。 ICANN先分配给亚太互联网信息中心(APNIC)、欧洲IP资源网络协调中心(PIPENCC)、美洲互联网号码注册机构(ARIN)、拉丁美洲和加勒比地区互联网信息中心(LACNIC)、非洲互联网络信息中心(AfriNIC) , 再由这些地域性的组织分配给所在区域的ISP 。 IPV4最多可以提供约42.9亿个IP地址 , 这么多年过去了 , 用着用着就发现不够用了 。 虽然全世界的各个分配机构都相继宣告了IPV4地址已经耗尽 , 但还是有大量的ISP私藏了大量的IPV4的IP地址 。

宣告枯竭的对象是IPV4地址分配组织 , 它只是告诉大家我手里所有的IPV4地址已经全部发放完毕了 , 至于已经从分配组织获得的IP地址 , 分配组织才不管你用还是不用 。 假如还想从分配组织手里申请新的IPV4地址就必须要等别人不用归还 , 稀缺的资源往往需要排队走关系 。 所以但凡稍微有点实力的ISP运营商都不会傻傻地将IPV4地址退回去 , 而是大批量的囤货 , 即使不用也会攥着手里 。 假如真有那些坚持不下去的ISP运营商 , 退了多少IPV4地址立马就会被瓜分掉 。 IPV6在不断的普及当中 , 当简短的IPV4地址注定会变成一种稀缺资源 。

ISP手里囤积的IPV4地址是完全足够日常使用 , IPV4地址就像海绵里的水 , 你挤挤它就会出来 。 这也就是为什么很多服务器的运营商和网络运营商能够保证公网IP地址的供应 。 IPV4地址到目前为止还能游刃有余 , 很大程度上归功于NAT技术 , 即网络地址转换 。 NAT技术能够将当前地址空间中的IP地址映射到另一个地址空间 , 可以理解成一个转换表 , 其中存储着外部地址/端口到内部地址/端口的转换关系 。 通过NAT技术就无需每台设备都拥有一个独立唯一的IP地址 , 可以很多台设备共用一个公网IP地址 , 而局域网内使用私网不重复的IP地址即可 。

NAT技术不仅可以缓解IP地址短缺的问题 , 还可以有效地保护私有网络 。 现在申请宽带已经很难再申请到公网IP地址了 , 甚至于运营商可以实现一个地区都使用内网IP地址 。 那么问题就来了 , 绝大多数人并不喜欢NAT转换技术 , 希望设备能够获得公网的IP , 便于远程管理 。 所以很多“攻城狮们”会尝试通过各种NAT穿透技术来解决NAT转换技术所带来的问题 , 比如:SOCKS、UPNP、ALG等等 。

实际上服务器对于公网IP地址的需求量也并没有那么大 , 比如:很多网站、域名可以存放在一台服务器上 , 共用一个公网IP地址 。 理论上服务器的配置足够、带宽足够可以同时存放N多个网站 , 应用类的APP服务器也是同样的道理 。 互联网内很多组织都共同维护着一本类似“114”的地址查询薄 , IP地址由分配组织分配给ISP后 , 分配组织就会更新地址簿 , 其他组织就会同步更新 。

【Python|阿里云服务器是如何实现每台服务器都是公网IP的呢?】这就好比快递 , 收快递的人也许并不知道送到具体哪个地方 , 他只需要将包裹收好贴上地址后统一放到快递站点 , 再由快递站点送到区域中转站 , 再由区域中转站送到市级以上的大型中转站 , 大型中转站就知道如何层层下发 , 最终有派件员送到收快递的人手中 。 IP地址分配组织会标识每个IP地址具体是属于哪个ISP运营商 , 至于ISP运营商是想很多个网站或者应用用一个公网IP地址、还是一个服务器用多个公网IP地址、还是一个服务器使用弹性的公网IP地址 , 就不是IP地址分配组织会管的事情了 。