移动和云环境下的报文传输流程
DNS解析
手机打开app时,首先需要解析网站的域名。
- 在手机运营商所在的互联网区域中,有一个本地DNS,手机向本地DNS请求解析DNS。如果本地DNS有缓存,则直接返回;如果本地DNS没有缓存,则递归从根DNS服务器查找,最终查到权威DNS服务器。
- 如果云平台配置了 智能DNS和全局负载均衡 ,在权威DNS服务中,通过配置CNAME,比如vip.youcompany.com。然后告诉本地DNS服务器,让它请求GSLB解析这个域名,GSLB在解析域名的过程中,通过策略实现负载均衡。GSLB通过查看请求它的本地DNS服务器所在的运营商和地址,将距离用户位置比较近的三个公网IP,返回给本地DNS服务器。本地DNS服务器将结果缓存,返回客户端。
- 对于手机APP来说,可以绕过刚才的DNS解析机制,直接使用 HTTPDNS ,从HTTPDNS服务器得到三个公网IP
CDN下发资源
CDN可以将资源下发到边缘节点,特别适合静态页面和静态图片。
- 配置了CDN之后,权威CNS服务器上会为静态资源设置一个CNAME别名,指向另外一个域名cdn.com,返回给本地DNS服务器。
- 本地DNS服务器拿到新的域名时,需要继续去CDN的权威服务器上,解析这个新的域名。
CDN的权威服务器,还是会设置一个CNAME,指向CDN网络的全局负载均衡器。
- 本地DNS服务器请求CDN的全局负载均衡器解析域名,全局负载均衡器返回一台缓存服务器IP。
- 如果缓存服务器没有用户需要的内容,会向上一级缓存服务器请求内容,知道追溯道源服务器。
公网传输
手机–>-ENode B–>SGW–>PGW–>NAT网关–>出口运营商AS–>云平台边界路由器-
- 客户手机打开数据网络后,在附近寻找基站eNodeB,发送请求,申请上网。
- 基站将请求发给MME, MME对手机进行认证和鉴权,请求HSS看看有没有流量余额,看看在哪里上网。
- 当MME认证通过之后,开始建立隧道,一段从eNodeB道SGW,一段从SGW道PGW
- 在PGW之外就是互联网。PGW为手机分配一个IP地址。
- 报文通过互联网,从出口运营商到云平台的边界路由器。
数据中心网络拓扑
出口运营商AS–>云平台边界路由器–>核心交换–>汇聚交换–>应用网关公网IP
- 每个机房有一片一片的机柜,每个机柜上有一排一排的服务器,每个机柜有一个接入交换机,有一个汇聚交换机将多个机柜连在一起。
- 每台物理机上都有open vswitch创建的虚拟交换机,这台物理机上的所有虚拟机会连在open vswitch上。
- 每个可用区都有自己的汇聚交换机,如果机器比较多,也可以用核心交换机。
- 在核心交换机外面是安全设备,然后是边界路由器。边界路由器和多个运营商连接,边界路由器通过BGP协议,将数据中心的外网IP向外广播,告诉全世界访问地址。
数据中心内部传输
- 虚拟网关节点的外网网口,通过NAT,将公网IP转换为VPC里面的私网IP。
- 私网IP,经过虚拟路由,虚拟路由查找路由规则,将网络包从私网网口发出。