这节课程能学到的啥?

一、接入问题引入

1、经典问题引入

输入域名到网页加载出来,经历了哪些过程?

  • 域名解析
  • TCP建立连接
  • SSL握手
  • ……

DNS -> TCP -> TLS -> HTTP请求

2、字节接入架构

《》

二、企业接入升级打怪之路

1、使用域名系统

(1)Host管理

  • 流量和负载
  • 名称冲突
  • 时效性

(2)使用域名系统

《》

解决Host管理的问题

关于域名空间:

顶级域gTLD:gov、edu、com、mil、org等

域名报文格式:

《》

(3)域名的购买

各大云厂商可以购买

(4)如何开放外部用户访问

《》

2、自建DNS服务器

(1)问题背景

  • 效率低下
  • 容易被攻击
  • 容易出问题
  • 扩大公司自己的影响力

(2)DNS查询过程

深入理解DNS解析过程

(3)DNS记录类型

(4)权威DNS系统架构

Q:企业需要那种DNS?

A:权威DNS

常见的开源DNS:bind、nsd、knot、coredns

  • DNS Query
  • DNS response
  • DNS Update
  • DNS Notify
  • DNS XFR

3、接入HTTPS协议

(1)问题背景

  • 出现白页
  • 返回403
  • 页面弹出广告

HTTP明文传输,所以使用HTTPS

(2)对称加密和非对称加密

  • 对称加密:一份密钥

《》

  • 非对称加密:公钥和私钥

《》

(3)SSL通信过程

  • client random
  • server random
  • premaster secret
  • 加密算法协商

得到密钥:session key

(4)证书链

client收到证书会进行验证:

  • 颁发机构是否可信
  • 与实际访问域名是否一致
  • 检查数字签名是否一致
  • 检查证书的有效期
  • 检查证书的撤回状态

证书链验证签名

证书摘要信息 - 数字签名 - 上级CA公钥

(5)使用HTTPS

《》

4、接入全站加速

(1)问题背景

  • 源站容量低
  • 报文经过网络设备越多,丢包、劫持、mtu
  • 自主选路网络链路长

(2)解决方案

  • 源站容量

    后端机器扩容、静态加速缓存

  • 网络传输

    动态加速DCDN

全站加速:静态加速 + 动态加速

(3)静态加速CDN

缓存静态文件

  • 缓解运营商之间互联的瓶颈造成的影响
  • 减轻了各省出口带宽的压力
  • 优化网络热点内容分布

(4)动态加速DCDN

针对 POST 等非静态请求等不能在用户边缘缓存的业务,基于智能选路技术,从众多回源线路中择优选择一条线路进行传输

(5)DCDN原理

CDN的原理

5、Nginx

(1)反向代理

《》

(2)内部架构

《》

(3)事件驱动模型

异步非阻塞模型、减少OS进程切换

(4)简单调优

《》