把网络开放给用户|青训营笔记

49 阅读3分钟

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