Windows Azure上的IP地址有以下几种:

  • 公网IP地址

    • VIP
    • ILPIP
    • Reserved IP
  • 内网IP地址
    • DIP
    • Static IP

VIP是动态分配的公网IP,VIP可以被分配到云服务、负载均衡器、VPN网关和应用网关等实例。当实例(云服务、负载均衡器、VPN网关和应用网关)被销毁后,VIP即刻被回收。用户不能永久有用某个特定的VIP。因此务必不用将域名解析的A记录指向到VIP,也尽量不要使用VIP来访问云服务。理论上只要用户不销毁重建实例,VIP就不会发生改变。但是,如果遇到Windows Azure平台问题导致的实例销毁重建(例如:因宿主机物理硬件故障导致的实例漂移),VIP也是会发生变化的。一旦VIP被回收,就找不回来了(已经分配给其他用户了)。VIP是池化的公网IP地址资源。每个云服务默认分配一个VIP,可以为一个云服务分配多个VIP,即:Multiple VIP:

  • 一个云服务可以绑定多个VIP,但网络出口IP地址是创建云服务时默认分配的那个VIP。
  • 每个VIP必须关联到一个endpoint(终结点)才会生效,若某个VIP上没有定义任何endpoint,则该VIP仅仅是一个“占位符”,即:不会被分配IP地址。
  • 每个VIP上的endpoint所对应的local port必须是其所在云服务内唯一的:一个虚拟机上的一个端口只能对应一个VIP的endpoint。
  • Multiple VIP是针对云服务的,Multiple VIP不能直接分配给虚拟机。
  • 在Service Management模式中,只能通过PowerShell或者CLI来管理Multiple VIP。

如果需要使用固定的公网IP地址,那么就需要使用Reserved IP。Reserved IP地址一旦被分配,则在整个Windows Azure订阅中都是有效的,而且不会发生变化。用户可以将指定的Reserved IP关联到某个云服务。当绑定Reserved IP的云服务被删除后,与之对应的Reserved IP并不会被回收,仅仅是状态变成“未使用”。用户可以将Reserved IP作为域名解析的A记录来使用。如果客户的某些应用需要使用固定的IP地址来进行访问控制,则使用Reserved IP是正确的选择。每个云服务只能绑定一个Reserved IP。结合前文对VIP的描述, 我们总结为:一个云服务除了默认分配的VIP之外,可以绑定一个Reserved IP和多个辅助VIP(Multiple VIP)。

除了VIP和Reserved IP之外,还有一种能直接绑定到虚拟机上的Instance Level Public IP (ILPIP)。用户通过ILPIP访问虚拟机时,将不再经过云服务和负载均衡器,因此在ILPIP上也不存在endpoint,所有的端口都是直接暴露在公网上的。在Service Management模式中,endpoint的数量是有限制的,如果要在虚拟机上运行需要开放大量端口的服务,例如:socket通讯,passive FTP等,使用ILPIP就可以解决问题。

Windows Azure上的内网IP地址与用户创建的虚拟网络中的地址段是相关联的,无论是DIP或是Static IP,都是虚拟网络的地址段中进行分配。DIP是通过一个隐藏的DHCP服务分配出来的,用户目前还无法对DHCP服务的属性和行为进行任何设置。只有虚拟机中第一个网卡上的内部IP会通过NAT映射到云服务的默认VIP上,其他网卡和内部IP地址则只能用于内部通讯。若手工在虚拟机中修改内部IP地址(或者MAC地址),则会造成虚拟机无法连接。DIP的分配和释放原则与VIP类似。在此就不再赘述了。

在做集群的时候(例如:LVS),需要指定一个虚拟的内部IP地址来对外提供服务。通常这一类集群是依赖VRRP协议的,但目前Windows Azure还不支持VRRP,因此也就无法创建需要使用虚拟IP对外提供服务的集群了。SQL Server Always-on集群除外(微软自家的产品有特殊待遇)。总之,Windows Azure上的内部IP地址都必须是受Windows Azure管理的,用户无法像在物理环境中那样随便就可以在操作系统或者软件中随意的设置一个内部IP地址出来。

有关Windows Azure中IP地址的PowerShell操作可以参考这里

Windows Azure IP地址详解的更多相关文章

  1. 计算机网络基础之IP地址详解

    计算机网络基础之IP地址详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.IP地址概述 1>.什么是IP地址 我们为什么要使用逻辑地址(IP地址)来标识网络设备,而不采 ...

  2. IP地址和子网划分学习笔记之《IP地址详解》

    2018-05-03 18:47:37   在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...

  3. 【整理】PHP获取客户端真实IP地址详解

    php获取客户端IP地址有四种方法,这五种方法分别为REMOTE_ADDR.HTTP_CLIENT_IP.HTTP_X_FORWARDED_FOR.HTTP_VIA. REMOTE_ADDR 是你的客 ...

  4. 如何设置CentOS 7开机自动获取IP地址详解

    本例中以CentOS 7举例说明如何设置Linux开机自动获取IP地址和设置固定IP地址. 自动获取动态IP地址 1.输入“ip addr”并按回车键确定,发现无法获取IP(CentOS 7默认没有i ...

  5. Vue实战041:获取当前客户端IP地址详解(内网和外网)

    前言 我们经常会有需求,希望能获取的到当前用户的IP地址,而IP又分为公网ip(也称外网)和私网IP(也称内网IP),IP地址是IP协议提供的一种统一的地址格式,每台设备都设定了一个唯一的IP地址”, ...

  6. IP地址详解

    讲之前了解一些网络设备的作用: 交换机:组建局域网 路由器:连接内外网 网关:一个网络的出口(Gate Way = GW)一般网关在路由器上 局域网(也称内网) 一个简单的局域网的基本组成设备:交换机 ...

  7. Day02_IP地址详解&进制转换&DOS基本命令与批处理

    学于千峰教育开源课程 感谢 千峰教育官网 b站在线视频 IP地址详解 一.简单局域网的构成 局域网:一般称为内网 简单局域网的构成:交换机.网线.PC(其他IT终端) 交换机:用来组建内网的局域网的设 ...

  8. IP协议详解(转)

    本文转载自博文协议森林05 我尽力 (IP协议详解).这篇博文写的很有趣味,特转载! IPv4与IPv6头部的对比 我们已经在IP接力中介绍过,一个IP包分为头部(header)和数据(payload ...

  9. 【转载】TCP /IP协议详解

    首先,TCP/IP不是一个协议,而是一个协议族的统称. 里面包括了IP协议,IMCP协议,TCP协议,以及http.ftp.pop3协议等等. TCP/IP协议分层 提到协议分层,我们很容易联想到IS ...

随机推荐

  1. LazyCode 自己开源的一个类库

    LazyCode 是什么? LazyCode 一个懒人用的代码类库,包括的模块:网络请求,数据存储,UIKit ,Foundation的一些类目 PHNetWorkClient 功能 1:发送GET ...

  2. pagePiling.js - 创建漂亮的全屏滚动效果

    全屏滚动效果是最近非常流行的网页设计形式,带给用户良好的视觉和交互体验.pagePiling.js 这款 jQuery 插件可以帮助前端开发人员轻松实现这种效果.支持所有的主流浏览器,包括IE8+,支 ...

  3. Web前端开发工程师基本要求

    一位好的Web前端开发工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师.现在说的重点不在于讲解技术,而是更侧重于对技巧的讲解.技术非黑即白,只有对和错 ...

  4. (转)JavaScript一:为什么学习JavaScript?

    Web程序不论是B/S(Browser/Server)还是C/S(Client/Server)架构,分为客户端程序与服务器端程序两种.ASP.NET是开发服务器端程序的强大工具,但是有时候为了降低服务 ...

  5. windows 端口 任务

  6. Eclipse 扩展点常量ID

    eclipse 扩展点常量ID 列表如下: Name    ID ------------------------------------------------- Category File     ...

  7. 手把手系列:实现Nat地址转换

    1.实验目的: 掌握内网中的主机C1连接到Internet时,通过NAT实现私有全局地址转换.   2.实验拓扑: 3.实验步骤: 步骤一:给主机C1和C2配置IP地址.子网掩码和网关.如图: C1: ...

  8. [转]MOSS通过此命令注册模板,web应用程序可以根据stp模块生成网站集

    注:C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\bin          stsadm –o add ...

  9. 操作系统开发系列—12.d.扩充内核 ●

    现在把esp.GDT等内容放进内核中,我们现在可以用C语言了,只要能用C,我们就避免用汇编. 下面看切换堆栈和GDT的关键代码: ; 导入函数 extern cstart ; 导入全局变量 exter ...

  10. iOS 开发之路(登陆页键盘遮挡输入框问题)一

    在学习开发登陆页的时候,遇到的问题分享如下: 首先是swift 3.0 中,NotificationCenter 设置 selector 如下: @IBOutlet weak var bottomCo ...