青训营笔记|企业接入升级打怪之路

108 阅读6分钟

02. 企业接入升级打怪之路

2.1 使用域名系统

2.1.1 Host管理

example公司 主机表 Host-> ip 映射

Untitled

随着example公司业务规模和员工数量的增长,使用该方式面临诸多问题: 流量和负载:用户规模指数级增长,文件大小越来越大,统一分 发引起较大的网络流量和cpu负载

名称冲突:无法保证主机名称的唯一性, 同名主机添加导致服务故障 时效性:分发靠人工上传,时效性太差

2.1.2使用域名系统

使用域名系统替换hosts文件 关于域名空间: 域名 空间被组织成树形结构 域名空间通过划分zone的方式进行分层授权管理 全球公共域名空间仅对应一棵树 根域名服务器:查询起点 域名组成格式: [a-zA-Z0-9 _-], 以点划分label

顶级域gTLD: general Top-level Domains: gov政府.edu教 育.com商业.mil军事.org非盈利组织

image (2).png

2.1.3域名购买与配置迁移

域名备案:防止在网上从事非法的网站经营活动,打击不良互联 网信息的传播,一般在云厂 商处即可进行实名认证并备案 修改配置:清空/etc/hosts 配置/etc/resolv .conf中nameservers为公共DNS 迁移原配置,通过控制台添加解析记录即可

image (3).png

2.1.4如何开放外部用户访问

如何建设外部网站,提升公司外部影响力? 方案:租赁个外网ip,专用于外部用户访问门户网站,将www.example.com解析到外网ip 100.1.2.3,将该ip绑定到台物理机上,并发布公网route,用于外部用户访问。

Untitled

2.2自建DNS服务器

2.2.1问题背景

内网域名的解析也得出公网去获取,效率低下 外部用户看到内网ip 地址,容易被hacker攻击 云厂商权威DNS容易出故障,影响用户体验 持续扩大公司品牌技术影响力,使用自己的DNS系统 从公有云托管->构建自己的DNS系统

2.2.2 DNS查询过程

Untitled

dig {$domain} +trace

Untitled

2.2.3 DNS记录类型

image (5).png

2.2.4 权威DNS系统架构

思考:站在企业角度思考,我们需要的是哪种DNS服务器? 答案:权威DNS、LocalDNS (可选) 常见的开源DNS: bind、nsd、 knot、coredns

DNS Query DNS Response DNS Update DNS Notify DNS XFR

Untitled

2.2.5权威DNS系统架构 经过研发人员的不断努力,example 公司有了自己的权威DNS系统。

Untitled

2.3接入HTTPS协议

2.3.1问题背景

页面出现白页/出现某些奇怪的东西 返回了403的页面 搜索不了东西 搜索问题带了小尾巴页面总要闪几次 页面弹窗广告 搜索个汽车就有人给我J电话推销4s店和保险什么的 HTTP明文传输,弊端越来越明显

image (6).png

https不就是在http后面加个s,很难么?

2.3.2对称加密和非对称加密

image (7).png

常见的加密算法

2.3.3 SSL的通信过程

client random server random premaster secret 加密算法协商 对称秘钥session key

Untitled

2.3.4证书链 公钥确定是可信的吗?会不会被劫持?

image (8).png

Server端发送是带签名的证书链(左图) Client收到会仍然需要验签: 是否是可信机构颁布 域名是否与实际访问一致 检查数字签名是否一致 . 检查证书的有效期 检查证书的撤回状态

image (9).png

2.3.5使用https

image (10).png

2.4 接入全站加速

2.4.1问题背景 外网用户访问站点,一定是一帆风顺的吗? 可能出现的问题有哪些?

Untitled

源站容量低,可承载的并发请求数低,容易被打垮 报文经过的网络设备越多,出问题的概率越大,丢包、劫持、mtu问题 自主选路网络链路长,时延高

响应慢、卡顿 极大的流失了大部分的用户群体,NPS 留存率数据不乐观。

2.4.2解决方案 源站容量问题:增加后端机器扩容;静态内容,使用静态加速缓存 网络传输问题:动态加速DCDN 全站加速:静态加速+动态加速

2.4.3静态加速CDN

当前的访问过程 针对静态文件传输,网络优化方式? 缓存

image (11).png

解决服务器端的"第一公里” 问题 缓解甚至消除了不同运营商之间互联的瓶颈造成的影响 减轻了各省的出口带宽压力 优化了网上热点内容的分布

2.4.4动态加速DCDN

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

18f651d8-ec67-40a0-8a93-1dae824f12e6.gif

2.4.5 DCDN原理

RTT示例: 用户到核心: 35ms 用户到边缘: 20ms 边缘到汇聚: 10ms 汇聚到核心: 10ms 常规请求耗时计算: Via DCDN: 100ms 20(TCP)+202(TLS)+20+ 10+ 10(routine) Direct: 140ms 35(TCP)+352(TLS)+35(routine)

Untitled

2.4.6使用全站加速

请区分下列场景使用的加速类型 1、用户首次登录抖音,注册用户名手机号等用户信息 动态加速DCDN 2、抖音用户点开某个特定的短视频加载后观看 静态加速CDN 3、用户打开头条官网进行网页浏览 静态加速(DN+动态加速DCDN)

Untitled

2.5 4层负载均衡

2.5.1问题背景

提问:在运营商处租用的100.1.2.3的公网IP,如何在企业内部使用最合理? 现状:直接找一个物理机,ifconfig将网 卡配上这个IP,起server监听即可 应用多,起多个server监听不同的端口即可 租多个公网ip ( 数量有限) 怎样尽可能充分的利用和管理有限的公网IP资源?

2.5.2什么是4层负载均衡?

基于IP+端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡地落到后端服务器上。

三个主要功能: 1.解耦vip和rs 2.NAT 3.防攻击: syn proxy

Untitled

2.5.3常见的调度算法原理

RR轮询: Round Robin,将所有的请求平均分配给每个真实服务器RS 加权RR轮询:给每个后端服务器一个 权值比例,将请求按照比例分配 最小连接:把新的连接请求分配到当前连接数最小的服务器 五元组hash:根据sip、 sport、 proto、 dip、 dport对静 态分配的服务器做散列取 模 缺点:当后端某个服务器故障后,所有连接都重新计算,影响整个hash 环 一致性hash:只影响故障服务器上的连接session,其余服务器上的连接不受影响

2.5.4常见的实现方式FULLNAT

提问: RS怎么知道真实的CIP? 回答:通过TCP option字段传递 然后通过特殊的内核模块反解