这是我参与「第三届青训营 -后端场」笔记创作活动的第8篇笔记
简介
从浏览器到服务器
域名解析
TCP握手
TLS验证
HTTP请求
企业级网络搭建
域名系统
一级管理
host文件管理
二级管理
域名系统
开放外部用户访问
自建DNS服务器
当使用公有云上的DNS服务器时,可能出现一些问题,这时需要公司自建服务器
迭代查询时刻需要对DNS根服务器、域服务器分别查询
DNS服务器的几种请求:
DNS Query 客户请求解析IP地址
DNS Response 向客户发送解析结果
DNS Update 向DNS服务器发送更新请求
DNS Notify DNS主服务器向从服务器发起更新提醒
DNS XFR DNS从服务器向主服务器发起更新请求
HTTPS协议
对称加密和非对称加密
对称加密一份密钥、非对称加密公钥和私钥
SSL的通信过程:
客户端向服务器端发送hello,clientrandom字符串以及客户端支持的TLS版本以及密码组合
服务器端收到客户端的请求后,发送hello到客户端,serverrandom字符串和服务器选择的密码组合还有加密公钥
客户端收到加密公钥后,使用CA的公钥解密得到公钥,并使用公钥加密一个对称密钥premaster secret发送给服务器端
服务器收到加密对称密钥,使用自己的私钥解密出对称密钥之后就可以与客户端自由通信了(对称密钥是使用之前协商好的加密算法算出来的)
服务器端的摘要信息,也就是指纹会被上级CA的私钥加密,这个就被称为数字签名,也就是发送给客户端的加密公钥。上级CA公钥其实也是被顶级CA的私钥加密过的,经过顶级CA的公钥解密就可以解密出上级CA的公钥,也就可以解密服务器端的加密公钥了
接入全站加速
静态加速:将静态资源缓存到CDN节点上
动态加速:在DCDN节点上,将动态请求尽可能快的送回源站
四层负载均衡
四层负载均衡,本质上是TCP/IP层的转发,也就是传输层的转发
利用某种算法将报文转发给后端服务器,使得请求均匀的分派给后端服务器
常见的调度算法原理:
RR轮询:Round Robin,将所有的请求平均分配给每个真实服务器RS
加权RR轮询:给每个后端服务器一个权值比例,将请求按照比例分配
最小连接:把新的连接请求分配到当前连接数最小的服务器
五元组hash:根据源IP源端口目标IP目标端口协议对静态分配的服务器做散列取模
一致性hash:只影响故障服务器上的session,其余服务器上的连接不受影响
可以通过TCPoption字段传递客户端ip,就算使用了不同于客户端的ip进行消息传递,也可以通过特殊的内核模块反解出来客户端ip
七层负载均衡
为了处理四层负载均衡对HTTP报文无法处理的问题
模块化设计
较小内存消耗