1. 网络接入问题
输入网站域名之后经历了什么过程
浏览器抓包
DNS➡️TCP➡️TLS➡️HTTP请求
2. 企业接入1
Host管理
- 主机映射表,在/etc/hosts中建立Host➡️ip的映射
- 缺点:流量和负载(文件规模增大,统一分发影响网络流量和CPU负载)、名称冲突(无法保证主机名称的唯一性)、实效性(分发靠人力,下一次更新来了上一次还没完成)
使用域名系统
- 使用域名系统替换hosts文件
- 域名空间
- 域名购买与配置迁移、备案
- 配置/etc/resolv.conf中的namespace为公共DNS,迁移元配置,通过控制台添加解析记录
- 开放外部用户访问:租赁外网ip,用于外部用户访问➡️将域名解析到外网ip➡️将ip绑定到一台物理机上➡️发布公网路由,用于外部访问
自建DNS服务器
-
云厂商DNS解析的不足:内网解析也需要去公网获取,效率低下;外网用户能拿到内网ip,容易被攻击;云厂商权威DNS容易出故障;
-
DNS查询过程
-
DNS记录类型
- A:IPv4记录 AAAA:IPv6记录
- CNAME:别名记录,配置值为别名或者主机名,客户端继续根据别名解析以提取IP地址
- TXT:文本记录,验证证书
- MX:邮件交换
- NS:解析服务器记录
- SOA:
题外话:mac修改hosts以访问github简书
HTTPS协议
- 背景:页面出现其他内容/返回403/搜索不了/弹窗广告。。。
- HTTP明文传输
- 对称加密和非对称加密
- SSL通信过程
- 证书链
接入全站加速
- 背景:源站容量低,容易被打垮;报文经过的网络设备越多,越容易出问题;自主选路延时高
- 源站容量:增加后端机器扩容;静态内容实用静态加速缓存
- 网络传输问题:动态加速DCDN
- 全站加速 = 静态加速 + 动态加速
- 静态加速CDN:静态文件指图片、文件等不变的内容。通过将服务器的内容缓存到CDN服务器上,即可加速
- 静态加速CDN的优点:靠近用户,缩短网络链路距离;环节不同运营商之间的瓶颈;减轻出生的带宽压力;优化网络热点内容分布
- 动态加速DCDN:如post等非静态请求,需要服务器的参与而不能缓存。动态加速只能通过智能选路技术,选择最优路线传输
- DCDN原理:边缘节点、汇聚节点、核心机房
四层负载均衡
- 背景:租用一个IP,找到一个物理机将IP绑定,不同应用使用不同的端口号监听服务。/租用多个IP;总体一个问题,如何解决容灾问题
- 基于IP+Port,将报文转发给某个后端服务器,负载均衡地落到后端服务器上
- 功能:解藕vip和rs,nat;减少ip暴露到公网被攻击
- 常见的调度算法:RR轮询;加权RR轮询;最小连接;五元组hash;一致性hash
- 实现方式:FULLNAT
- 特点:dpdk技术;用户态协议栈,内核旁路;无缓存、零拷贝、大页内存;小包转发可达限速,可承受高cps
七层负载均衡
- nginx