# 网络层协议
# 1. IPV4/IPV6 协议
IP 协议详解 (opens new window) IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
根据端到端的设计原则, IP 为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。
# 1.1 IPv4
采用32位地址长度,只有4段数字,每一段最大不超过255。
# 1.2 IPv6
在IPv6的设计过程中除解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它一些问题:
- 端到端IP连接
- 服务质量(QoS)
- 安全性
- 多播
- 移动性
- 即插即用
# 2. DNS 网络
DNS(Domain Name System,域名系统),域名和 IP 地址相互映射的一个分布式数据库,使用户更方便的访问互联网。
通常我们更习惯于记住一个网站的名字,比如 www.baidu.com
,而不是记住它的ip地址,比如:167.23.10.2
。而计算机更擅长记住网站的ip地址,而不是像 www.baidu.com
等链接。因此,DNS就相当于一个电话本,比如你要找 www.baidu.com
这个域名,那我翻一翻我的电话本,我就知道,哦,它的电话(ip)是 167.23.10.2
。
# 2.1 域名解析过程
通过主机名,最终得到该主机名对应的IP地址的过程,就是域名解析。
- 查看缓存
- 本地 DNS 服务器的缓存记录
- 如果缓存中有此条记录,就可以直接返回结果
- 递归解析
- 局部DNS服务器向该域名的根域服务器查询
- 由根域名服务器一级级向下查询
- 最后得到的查询结果返回给局部DNS服务器
- 再由局部DNS服务器返回给客户端
- 迭代解析
- 本地 DNS 服务器还要向DNS根服务器进行查询
- 根DNS服务器给出域服务器的地址
- 这种过程是迭代的过程。
- 迭代解析只是帮你找到相关的服务器而已,而不会帮你去查
- 域名服务器
- 域服务器收到请求之后,也不会直接返回域名和IP地址的对应关系
- 而是告诉本地DNS服务器,
解析服务器
的地址。
- 解析服务器
- 本地DNS服务器向解析服务器发出请求
- 收到一个域名和IP地址对应关系。
- 加入缓存
- 本地DNS服务器要把这个对应关系保存在缓存中
- 以备下次别的用户查询时,可以直接返回结果
# 2.2 DNS 负载均衡
当一个网站有足够多的用户的时候,假如每次请求的资源都位于同一台机器上面,那么这台机器随时可能会崩掉。
处理办法就是用DNS负载均衡技术,它的原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。
例如可以根据每台机器的负载量,该机器离用户地理位置的距离等等。
# 3. CDN
CDN 的全称是Content Delivery Network,即内容分发网络。
CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。