网络接入
本节课主要介绍如何搭建以及优化一个服务器,同样介绍了对网络对网络配置,端口配置的设计。给同学们一个公网接入内网架构的概念。
问题引入
输入域名到网页加载经历的过程:
- DNS解析
- TCP建联
- TLS握手
- HTTP请求的发送
Host管理
实例: 若有个example公司按照公司主机表简历Host->ip映射
10.1.2.3 aa.example.com #办公
10.2.3.4 wiki.example.com #文档
10.3.4.5 passport.example.com #员工认证
10.4.5.6 people.example.com #人事
但随着公司人数增长和业务规模增大,会引入诸多问题:
流量和负载:文件越来越大,容易引起较大的网络流量和cpu负载
名称冲突:主机名称太多了,容易撞名,要是撞名了,服务会鼓掌
时效性:分发靠人工上传,太慢了
改进:使用域名系统替换hosts文件
域名空间:
- 组织成树型结构
- 通过划分zone的方式进行分层授权管理
- 全球公共域名空间仅对应一棵树
- 根域名服务器是查询起点
- 域名组成格式:[a-zA-Z0-9_-],以点划分label
- 顶级域(general Top-level Domains, aka. gTLD): gov政府,.edu教育,.com商业, .mil军事, .org非营利组织
- 可以通过GoDaddy,IONOS,火山引擎,阿里云等云服务网站购买
- 需要进行域名备案,防止从网上从事非法的网站经营活动,打击不良互联网信息的传播
(根服务器全球13个)
自建DNS服务器
DNS记录类型
- A/AAAA: IP只想记录,用于指向IP,前者为IPv4记录,后者为IPv6记录
- CNAME:别名记录,client根据别名继续解析以提取IP地址
- TXT: 文本记录,购买证书时需要
- MX: 邮件交换记录,用于指向邮件交换服务器
- NS:解析服务器记录,用于指定哪务器对于该域名解析
- SOA记录:起始授权机构记录,每个zone有且仅有唯一的一条SOA记录,SOA是描述zone属性以及主要权威服务器的记录。
企业角度需要DNS系统架构
权威DNS或LocalDNS 常见的开源DNS:bind; nsd; knot; coredns
接入HTTPS协议
BG:HTTP明文传输,其他人可能会对请求做抓取,对相应做篡改 解决方法:使用HTTPS协议
网页加速
外网user访问站点可能出现的问题:
- 源站容量低,可承载的并发请求数低,容易被打垮
- 报文经过的网络设备越多,出问题的概率越大,丢包、劫持、mtu问题
- 自主选路网络链路长,时延高 反映到用户身上,用户会感觉:响应慢,卡段 -> 影响:丢失用户
静态加速CND:
针对静态文件(图片文字视频)传输,网络优化方式:
- 缓存(cache)增加cdn节点进行缓存
优势:
- 解决服务器端的“第一公里”问题
- 缓解甚至消除了不同运营商之间互联的瓶颈造成的影响
- 减轻了各省的出口带宽压力
- 优化了网上热点内容的分布
动态加速DCDN
针对POST等非静态请求等不能用user边缘缓存的业务,就只能选路技术,从众多回源线路中择优选择一条线路进行传输
在分地区增加汇聚节点:用户连接边缘节点,边缘节点连接汇聚节点,汇聚节点连接核心节点