部分应用层协议

DNS

DNS : Domain Name System 域名系统 运行在 udp 之上,使用 53 端口

1
2
3
4
root@R7000:~# ping tj.imwl.ml
PING tj.imwl.ml (195.20.49.63) 56(84) bytes of data.
64 bytes from 195.20.49.63 (195.20.49.63): icmp_seq=1 ttl=63 time=0.261 ms
64 bytes from 195.20.49.63 (195.20.49.63): icmp_seq=2 ttl=63 time=0.250 ms

域名 tj.imwl.cf → DNS 服务 → IP 地址 195.20.49.63

根域 /
顶级域 cf us com gov 等
二级域 imwl qq aliyun 等
三级域 tj www 等

根域名服务器 顶级域名服务器 域名服务器

域名解析过程

浏览器缓存 → 本地 hosts 文件 → 本地 DNS 域名服务器 → 根域名服务器 (迭代/递归查询)

DNS 也可以做负载均衡

  1. 内部负载均衡
  2. 全局负载均衡

httpdns

httpDNS 通过 客户端 SDK 和服务的,通过 HTTP 直接调用解析 DNS 的方式,绕过传统 DNS 的缺点,实现了智能调度

DNS 问题 : 解析慢, 更新不及时。 缓存,转发, NAT 问题导致 客户端误会自己所在的位置和运营商,从而影响流量的调度

DHCP

动态主机设置协议,是一个使用 UDP 局域网协议 端口 67

给 客户端 分配 一个 临时 IP + 租期

过程:
Client 使用 UPD 协议广播 DHCP 发现报文
DHCP 服务器发出 DHCP 提供报文
Client 向 DHCP 服务器发出 DHCP 请求报文
DHCP 服务器回应并提供 IP 地址

补:
DHCP Client重新登录
DHCP Client更新租约

A, AAAA, CANME, NS 记录

A

ipv4 和 域名对应

1
2
; 定义www.example.com的ip地址
www.example.com. IN A 139.18.28.5;

AAAA

ipv6 和 域名对应

1
www.example.com.  IN  AAAA    1080::8:800:200C:417A

CNAME

定义了 a.example.comb.example.com 的别名。用户在浏览器中输入 a.example.com 时候,通过 DNS 查询会知道 a.example.comb.example.com 的别名,因此需要实际 IP 的时候,会去拿 b.exampl.comA 记录

因为走的是 DNS 查询的路径,速度很快(因为有缓存),不需要 HTTP 重定向等操作。

1
2
; 定义www.example.com的别名
a.example.com. IN CNAME b.example.com.

把一个网站迁移到新域名,旧域名仍然保留的时候;静态资源放到 CDN 上的时候,CNAME 就非常有用