公有云弹性IP的实现原理及优势

2023-05-16

原文链接:http://news.west.cn/26218.html
在利用公有云服务部署我们的应用时,为了访问到我们的服务器,我们需要为我们的服务部署公网IP。公有云服务商除了可以为服务器提供固定的公网IP,也可以提供弹性IP。这篇文章,我们来弄清楚弹性IP是怎么回事。

1、弹性IP的技术基础:NAT

我们都知道搭建外网服务器的时候,需要给服务器分配一个外网可以访问的IP地址。那么弹性IP是什么呢?

在说明什么是弹性IP以前,我们先简单讲一下互联网的一个基础技术:网络地址转换(NAT: Network Address Translation)。网络地址转换技术,或者叫NAT技术,可以说是实现弹性IP的基础。

NAT技术最早提出是在1994年,主要解决一些专用网络的主机,与互联网主机之间通信的问题。专用网络的主机只有本地IP地址,没有互联网(公网)的IP地址。需要通过NAT技术来实现专用网主机的IP地址转换,转换成一个公网IP地址,然后就可以通信了。

解决办法就是在专用网连接到互联网的路由器上安装NAT软件,目前一般的路由器都支持NAT功能。

装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的公网IP地址。所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地IP地址转换成公网IP地址。

2、NAT技术将专用网的内网地址转换为以太网地址

根据手里公网IP资源的多少,有不同的NAT方案可以选择。

静态NAT:本地地址与公网地址之间一对一映射,即一台主机对应一个固定的公网IP。如果NAT路由器具有足够多的公网IP地址,那它有机会为每个专用网络的主机分配一个固定的公网IP,可以使用静态NAT。这种NAT方案用得很少。

动态NAT:需要一个地址池为内部用户提供公有IP地址,对于同时试图访问外网的每位用户,都从池子里分配一个公网IP地址,但每次分配的IP地址是不固定的。如果专用网络不是所有的主机都要同时访问外网,那么可以采用这种方案。以少量的公网IP,为大量的内网主机提供外网访问。

NAT重载:使用传输层端口号来标识本地主机,即端口地址转换(PAT:Port Address Translation),也称为端口映射。一般情况下,公网IP资源都很稀缺,可能只有一个公网IP,却有很多个本地IP要使用,那么可以使用端口映射方案。NAT路由器用不同的端口号映射到不同的本地IP地址和端口号上。

3、弹性公网IP

弹性公网IP是一种NAT IP。它实际位于云服务提供商的公网网关上,通过NAT方式映射到了被绑定的云主机实例的私网网卡上。因此,绑定了弹性公网IP的云主机可以直接使用这个IP进行公网通信,但是在它的私网网卡上并不能看到这个IP地址。

用户访问的永远是弹性IP地址,但不一定是同一个云主机

4、使用弹性公网IP有什么好处?

对于云服务商来说,当然是帮助他们节约了公网IP资源。那么对于开发者来说,使用弹性IP有什么好处呢?

有的时候我们会根据项目运营的需要更换主机,比如换配置更高的主机。那么每次换云主机都会更换我们服务的IP地址,这样就需要我们重新做一次地址解析,把我们的域名解析到新的IP地址上。

如果我们使用了弹性IP,在更换主机以后,只需要把我们申请的弹性IP分配到新的主机上,就可以了,不需要在域名服务商那里重新解析域名。对于服务的稳定性,有一定的好处。

随着云计算业务的不断发展,云服务商手里的公网IP资源不够用的时候,有可能以后所有的主机都将使用公网IP。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

公有云弹性IP的实现原理及优势 的相关文章

  • linux开启启动数字小键盘,适用于使用systemd的系统

    1 创建脚本文件 usr bin numlock span class token comment bin bash span span class token keyword for span span class token funct
  • 远程连接树莓派桌面xrdp

    本文主要介绍如何通过xrdp服务远程桌面连接树莓派 xff0c 实现树莓派的远程桌面登录 xff08 1 xff09 安装tightvncserver sudo apt get install tightvncserver 1 xff08
  • archlinux安装virtualbox

    1 安装基本包 span class token function sudo span pacman S virtualbox 选择virtualbox host modules arch模块 span class token functi
  • 因修改/etc/sudoers权限导致sudo和su不能使用问题

    现象描述及问题解决 真是闲来无事手贱 xff0c 作死的节奏 xff0c 请不要问我为什么 xff0c 我也想知道为什么 为了给一个账户添加能使用 sudo的权限 xff0c 修改了 exc sudoers文件权限 修改完之后发现所有的账户
  • Qt6.2.1编译

    我用的是ubuntu20 04 ubuntu只需要按最小需要安装 xff0c 不需要安装系统更新 先更新apt get的源 cd etc apt xff0c 将source list文件内容改为阿里云源 xff1a 添加阿里源 deb ht
  • iOS Swift 运算符错误问题

    1 在Swift中 xff0c 等号两边必须空格隔开 例如下面的代码会报错 xff1a let sum 61 1 43 2 let sum 61 1 43 2 上面报如下错误 xff1a xff1d must have consistent
  • linux下普通用户执行root权限脚本

    1 安装expect yum install y expect 2 示例 a admin切换root用户脚本 span class token shebang important usr bin expect span span class
  • pve-ceph命令行安装

    用这个安装ceph成功 xff0c 如果安装报错可以多试几次 root 64 pve01 etc apt sources list d more ceph list deb http download proxmox com debian
  • 通过反射获取类和父类的属性和属性值

    通过反射我们可以获取到一个类的属性和方法 但获取父类的private的属性却不可以直接获取 需要递归调用superclass来获取属性 SuperClass java public class SuperClass private Stri
  • 利用旧电脑搭建NAS(黑群晖)

    准备工作 硬件 物品描述U盘 2个1个用来安装nas系统 xff0c 一个做成pe盘引导旧电脑启动旧电脑1个用来搭建nas任意可用电脑1个用户调试nas 软件 名称描述芯片无忧查询u盘的PID VIDOSFMount用于引导img映像文件W
  • vue3-elementPlus 大合集

    elementPlus 的 导入 第一步 安装 也可以直接 cdn 导入 npm install element span class token operator span plus span class token operator s
  • Debian用apt-get 安装软件时出现的问题!

    本想安装个搜狗输入法 xff0c 用dpkg命令安装的 xff0c 但这种安装方式不会自动安装依赖 xff0c 结果不仅没装成功 xff0c 以后使用apt get命令总会报下面这种缺少依赖的问题 root 64 debian apt ge
  • Flutter和Rust如何优雅的交互

    前言 文章的图片链接都是在github上 xff0c 可能需要 你懂得 xff1b 本文含有大量关键步骤配置图片 xff0c 强烈建议在合适环境下阅读 Flutter直接调用C层还是蛮有魅力 xff0c 想想你练习C 43 43 xff0c
  • samba服务配置

    Tip xff1a 1 centos7访问win10共享目录时 xff0c 可能需要指定协议版本 xff0c 默认版本过低 可能无法访问 xff1b 参考链接 xff1a http www mamicode com info detail
  • 阿里云网站备案-注销备案的办法

    当我们因为各种原因要注销备案时 xff0c 可能会遇到以下这些问题 那么老魏汇总了相关答案 xff0c 并且列出来给大家参考用 1 注销主体与注销网站的区别 网站备案分成两部分 xff0c 一部分是备案主体 xff08 个人或企事业单位 x
  • nodeJs(多行数据删除)

    nodeJs 多行数据删除 由于要删除多行数据 xff0c 前台就会要传多条数据到后台 xff1b 1 ajax多次发送数据到后台 xff1f 1 一般不会用这种方法 xff0c 我们要避免ajax与后台交互的次数 2 数组的传送 xff1
  • 【洛谷】P1593 因子和

    洛谷P1593 因子和 题目描述 输入两个整数 a 和 b xff0c 求 a b a b a b 的因子和 由于结果太大 xff0c 只要输出它对 9901取模的结果 输入格式 仅一行 xff0c 为两个整数 a 和 b 输出格式 输出一
  • 隐式类型转换

    转换的规则 若参与运算的数据类型不同 xff0c 则先转换成同一类型 xff0c 然后进行运算 所有的浮点运算都是以双精度进行的 xff0c 即使仅含float单精度量运算的表达式 xff0c 也要先转换成double型 xff0c 再作运
  • Android Studio调式手机时提示 device supports but apk only supports armeabi-v7a

    转载来自 https blog csdn net lbj demo article details 81503078 1 核对你手机的 CPU 架构 目前的 Android 支持的架构 CPU架构描述armeabi第5代 ARM v5TE
  • 三种常见的http content-type详解

    介绍 http协议是建立在tcp ip协议之上的应用层协议 xff0c 主要包括三个部分 xff0c 状态行 xff0c 头部信息 xff0c 消息主体 对应一个http请求就是 xff1a 请求行 xff0c 请求头 xff0c 请求体

随机推荐

  • Git用户名/密码/邮箱,及设置git配置

    一 查看信息 xff1a 查看用户名 xff1a git config user name 查看邮箱 xff1a git config user email 查看密码 xff1a git config user password 二 设置信
  • 步进电机梯形加减速

    步进电机梯形加减速 xfeff 1 为什么要使用加减速2 算法原理2 1 特点2 2 概念2 3 公式2 4 脉冲时间间隔计算2 5 加减速度与步数的关系 3 算法理论实现3 1 设置计算3 1 1 最小间隔 min delay3 1 2
  • 11. shell循环 for

    shell循环 for 1 C语言风格的 for 循环2 Python风格的 for in 循环2 1对 value list 的说明2 1 1 直接给出具体的值2 1 2 给出一个取值范围2 1 3 使用命令的执行结果2 1 4 遍历数组
  • 06-链表的基本操作(插入与删除)

    插入与删除 C语言实现 1 利用哨兵简化实现难度2 链表中插入结点3 链表中删除节点4 完整实现 1 利用哨兵简化实现难度 针对链表的插入 删除操作 xff0c 需要对插入第一个结点和删除最后一个结点的情况进行特殊处理 这样代码实现起来就会
  • 24-经典排序算法之 冒泡排序

    冒泡 1 冒泡排序 xff08 Bubble Sort xff09 2 代码实现3 算法分析4 代码优化4 1思路4 2 算法实现 1 冒泡排序 xff08 Bubble Sort xff09 冒泡排序只会操作相邻的两个数据 每次冒泡操作都
  • [Eclipse]-Eclipse下导入外部jar包的3种方式

    Eclipse下导入外部jar包的3种方式 1 最常用的普通操作方式2 快速版的操作方式 用户Jar包式3 快速版的操作方式 文件夹导入式 1 最常用的普通操作方式 右击 项目 选择Properties xff0c 在弹出的对话框左侧列表中
  • 1.FFmpeg(Windows版)安装

    FFmpeg Windows版 官网下载与安装 1 FFmpeg官网 官网地址是 xff1a https ffmpeg org ffmpeg介绍 xff1a https www ffmpeg org about html 关于ffmpeg使
  • 19.Win10安装Linux(Ubuntu 20.04)双系统

    Win10安装Linux xff08 Ubuntu 20 04 xff09 双系统 1 电脑配置2 下载Ubuntu 系统镜像2 1官网地址2 2 阿里2 3 清华源 3 制作U盘启动盘3 1 UltraISO 下载地址3 2 Etcher
  • 22.Ubuntu出现“由于没有公钥,无法验证下列签名”

    由于没有公钥 xff0c 无法验证下列签名 1 无公钥错误2 输入命令导入公钥3 注意 1 无公钥错误 使用sudo apt update时出现以下错误 xff1a 我图中的公钥就是 xff1a 3B4FE6ACC0B21F32 xff08
  • 15. Java字符串操作(StringJoiner)

    字符串操作 xff08 StringJoiner xff09 1 StringJoiner2 在字符串拼接中体验下StringJoiner 3 StringJoiner构造方法4 StringJoiner成员方法5 练习6 总结 1 Str
  • 39.Java-interface接口

    interface接口 1 interface2 接口的定义和使用3 接口中成员的特点4 接口和类之间的关系5 实例6 接口中新增的方法6 1 JDK8以后新增2种方法6 1 1 允许在接口中定义默认方法6 1 2 允许在接口中定义静态方法
  • 修改工单号码的流水号

    The job number is defined by sequence WIP JOB NUMBER S in the database The WIP numbering also uses the prefix defined in
  • 40.java-单列集合Set(HashSet,LinkedHashSet,TreeSet)

    Set集合 1 Set集合特点2 Set集合实现类3 HashSet3 1 底层原理3 1 1 哈希表组成3 1 2 哈希值3 1 3 对象的哈希值特点 3 2 数据添加元素的过程3 3 HashSet的三个问题3 4 实例 xff1a 去
  • 41.Java单列集合LinkedList

    单列集合LinkedList 1 LinkedList集合2 源码3 ArrayList和LinkedList的区别 1 LinkedList集合 在许多情况下 xff0c ArrayList效率更高 xff0c 因为通常需要访问列表中的某
  • hiveh和presto中date_add

    日期增加函数 date add语法 hive gt select date add 2016 12 29 10 presto gt select date add day 1 TIMESTAMP 2014 03 08 09 00 00 ht
  • synchronized关键字

    https tech meituan com 2018 11 15 java lock html https juejin im post 5ae6dc04f265da0ba351d3ff https leejay top posts Sy
  • CAS

    一 CAS简介 比较并交换 compare and swap CAS xff0c 是原子操作的一种 xff0c 可用于在多线程编程中实现不被打断的数据交换操作 xff0c 从而避免多线程同时改写某一数据时由于执行顺序不确定性以及中断的不可预
  • 帧内预测

    转载于 xff1a https www cnblogs com charybdis p 6049108 html 为什么要有帧内预测 xff1f 因为一般来说 xff0c 对于一幅图像 xff0c 相邻的两个像素的亮度和色度值之间经常是比较
  • 找出数组中没有出现的最小正整数

    题目描述 xff1a 给定一个无序整型数组arr 找到数组中未出现的最小整数 例子 arr 61 1 2 3 4 return 1 arr 61 1 2 3 4 return 5 时间复杂度O n 空间复杂度O 1 解题思路 xff1a x
  • 公有云弹性IP的实现原理及优势

    原文链接 xff1a http news west cn 26218 html 在利用公有云服务部署我们的应用时 xff0c 为了访问到我们的服务器 xff0c 我们需要为我们的服务部署公网IP 公有云服务商除了可以为服务器提供固定的公网I