DNS
- DoH: DNS over Https
- DoT: DNS over TLS
公共 DNS 服务
DNS 服务器 | IPv4 | IPv6 | DoH | DoT |
---|---|---|---|---|
DNSPod Public DNS | 129.29.29.29 | 2402:4e00:: | https://doh.pub/dns-query | dot.pub |
阿里云 Public DNS | 223.5.5.5 | 2400:3200::1 | dns.alidns.com | dns.alidns.com |
Cloudflare DNS | 1.1.1.1 |
需要注意,DNS 能否够解析 IPv6 地址和 DNS 本身是否使用 IPv6 地址没有关系。即是说,只要 DNS 支持 IPv6 地址解析,那么访问 IPv4 的 DNS 也可以得到 IPv6 的地址。
解析 ipw.cn 的 IPv4 地址
dig +noall +answer ipw.cn @129.29.29.29 A
;; ANSWER SECTION:
# Name TTL CLASS TYPE Returned VALUE
ipw.cn. 266 IN CNAME ipw.cn.cdn.dnsv1.com.cn.
ipw.cn.cdn.dnsv1.com.cn. 266 IN CNAME 66f782g2.slt-dk.sched.tdnsv8.com.
66f782g2.slt-dk.sched.tdnsv8.com. 60 IN A 27.185.233.62
66f782g2.slt-dk.sched.tdnsv8.com. 60 IN A 182.40.99.133
66f782g2.slt-dk.sched.tdnsv8.com. 60 IN A 182.40.98.6
解析 ipw.cn 的 IPv6 地址
dig +noall +answer ipw.cn @129.29.29.29 AAAA
;; ANSWER SECTION:
# Name TTL CLASS TYPE Returned VALUE
ipw.cn. 232 IN CNAME ipw.cn.cdn.dnsv1.com.cn.
ipw.cn.cdn.dnsv1.com.cn. 232 IN CNAME 66f782g2.slt-dk.sched.tdnsv8.com.
66f782g2.slt-dk.sched.tdnsv8.com. 60 IN AAAA 240e:940:e011:9::54
66f782g2.slt-dk.sched.tdnsv8.com. 60 IN AAAA 240e:945:f:10::3a
返回信息中的 IN
是一种 CLASS,这里表示 Internet。
dig
命令默认查询 A record,另外如果只想看查询的返回值,可以使用 +short
选项
dig +short ipw.cn @129.29.29.29
IPv6 DNS 解析
- 如果DNS支持AAAA记录,并且域名有对应的IPv6地址,那么立即返回 IPv6 地址;
- 如果DNS支持AAAA记录,但是域名没有对应的IPv6地址,那么立即返回空的AAAA记录,同时立即返回 IPv4 地址;
- 如果DNS不支持AAAA记录,则无法处理IPv6解析,也不会响应,最终超时后返回,然后才会返回 IPv4 地址。
以上 1,2 两种情况都不会造成访问网站卡顿,第 3 种情况则会造成卡顿。解决第 3 种情况可以做以下检查:
- 使用支持 AAAA 记录的 DNS 服务器;
- 路由器本身开启了 DNS 缓存但对 IPv6 支持不好;
- 科学上网,但机场不支持 IPv6
对于问题 2,如果在路由器的 DHCP 中不指定 DNS,路由器下发给各终端的 DNS 地址一般是路由器本身,为避免使用使用路由器的 DNS 缓存,可以在 DHCP 中指定公共 DNS 服务器,这样下发到终端的 DNS 地址直接就是公共 DNS 地址,避免再经过路由器。
路由器如果使用的是 Dnsmasq 作为缓存 DNS,一般是支持 AAAA 记录的。
DNS 记录
NAME | TYPE | VALUE |
---|---|---|
bar.example.com. | CNAME | foo.example.com. |
foo.example.com. | A | 192.0.2.23 |
foo.example.com. | AAAA | 2007:f8b0:400a:800b::200e |
DNS A record 的 “A” 代表 “Address”,记录域名对应的 IPv4 地址,是最基本的 DNS 记录类型。
DNS AAAA record 记录域名对应的 IPv6 地址。
以上面表格为例,bar.example.com 的 CNAME 是 foo.example.com,CNAME 的意思是 真实名称,而右侧才是真实名称,才是 CNAME。上面的 CNAME 记录应当读作: bar.example.com 的真实名称是 foo.example.com。请求访问 bar.example.com 的客户端会得到 foo.example.com 返回的结果。
当要查询 bar.example.com 的 A 记录时,域名解析器会查到对应的 CNAME 记录,即 foo.example.com,随即开始查询该域名的 A 记录,查到 192.0.2.23 则返回结果。
IPv4 Addressing
IP address
8位二进制对应的十进制
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|
$2^{7}$ | $2^{6}$ | $2^{5}$ | $2^{4}$ | $2^{3}$ | $2^{2}$ | $2^{1}$ | $2^{0}$ |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | |
1 | 0 | 0 | 0 | 0 | 0 | ||
1 | 0 | 0 | 0 | 0 | |||
1 | 0 | 0 | 0 | ||||
1 | 0 | 0 | |||||
1 | 0 | ||||||
1 |
十进制: 128
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
十进制: 127
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
NetworkIDs and Subnet Masks
255.255.255.0
or /24
is not a IP address, it just tells you how many binary number of a network id should have.
IPv4 Classes
IP classes provide a default mask based on the number in the first octet.
Class | $1^{st}$ Octet range | Default Mask |
---|---|---|
Class A | 1 - 126 | 255.0.0.0 |
Class B | 128 - 191 | 255.255.0.0 |
Class C | 192 - 223 | 255.255.255.0 |
Loopback | 127 | |
Class D | 224 - 239 | Multicasting |
Class E | 240 - 255.255.255.254 | Experimental |
按位来表示
- n 表示该二进制位是网络位
- H 表示该二进制位是主机位
- X 表示该二进制位无特定作用
A类地址
0. 0. 0. 0 = 00000000.00000000.00000000.00000000
127.255.255.255 = 01111111.11111111.11111111.11111111
0nnnnnnn.HHHHHHHH.HHHHHHHH.HHHHHHHH
B类地址
128. 0. 0. 0 = 10000000.00000000.00000000.00000000
191.255.255.255 = 10111111.11111111.11111111.11111111
10nnnnnn.nnnnnnnn.HHHHHHHH.HHHHHHHH
C类地址
192. 0. 0. 0 = 11000000.00000000.00000000.00000000
223.255.255.255 = 11011111.11111111.11111111.11111111
110nnnnn.nnnnnnnn.nnnnnnnn.HHHHHHHH
D类地址
224. 0. 0. 0 = 11100000.00000000.00000000.00000000
239.255.255.255 = 11101111.11111111.11111111.11111111
1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
E类地址
240. 0. 0. 0 = 11110000.00000000.00000000.00000000
255.255.255.255 = 11111111.11111111.11111111.11111111
1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
IPv4 Private network
RFC1918 规定区块名 | IP地址区块 | IP数量 | 分类网络说明 | 最大 CIDR 区块(子网掩码) | 主机端位长 |
---|---|---|---|---|---|
24位区块 | 10.0.0.0 – 10.255.255.255 | 16,777,216 | 单个A类网络 | 10.0.0.0/8 (255.0.0.0) | 24位 |
20位区块 | 172.16.0.0 – 172.31.255.255 | 1,048,576 | 16个连续B类网络 | 172.16.0.0/12 (255.240.0.0) | 20位 |
16位区块 | 192.168.0.0 – 192.168.255.255 | 65,536 | 256个连续C类网络 | 192.168.0.0/16 (255.255.0.0) | 16位 |
B类地址私网
172.16. 0. 0 = 10101100.00010000.00000000.00000000
172.31.255.255 = 10101100.00011111.11111111.11111111
10nnnnnn.nnnnHHHH.HHHHHHHH.HHHHHHHH
Shared Address Space(RFC 6598)
IANA 于 2012 年将 100.64.0.0/10
定义用于电信级 NAT 场景。这些地址与 RFC1918 中定义的私有 IP 是不同的,只能用于运营商的内部网络,虽然在某些特性中与私有 IP 相同,但在定义上不能划为私有地址(更不是公用地址)。
VLAN
-
Multiple networks/LANs on the same physical network switch.
-
Traffic is logically separated between VLANs.
-
VLANs provide logical segmentation of networks.
F5 Local Traffic Manager (LTM)
Virtual Server
A virtual server is one of the most important components of any BIG-IP Local Traffic Manager configuration. When you configure a virtual server, you create two Local Traffic Manager (LTM) objects: a virtual server and a virtual address.
A virtual server is a traffic-management object on the BIG-IP system that is represented by an IP address and a service.
A primary purpose of a virtual server is to load balance traffic across a pool of servers on an internal network. Virtual servers increase the availability of resources for processing client requests.
Virtual addresses
A virtual address is the IP address with which you associate a virtual server. For example, if a virtual server’s IP address and service are 10.10.10.2:80
, then the IP address 10.10.10.2
is a virtual address.
You can create a many-to-one relationship between virtual servers and a virtual address. For example, you can create the three virtual servers 10.10.10.2:80
, 10.10.10.2:443
, and 10.10.10.2:161
for the same virtual address, 10.10.10.2
.