xiaohanliang
Network
Network
  • hi
  • LOWER
    • 0. arp决定下一跳
    • 1. dns决定终点
    • 2. [WIP]dns是不是真的有这些层级
  • MIDDLE
    • 0. 如何理解tcp握手的设计
    • 1. 诡异的tcp拆包现象
    • 2. tcp是一种高效的协议吗
    • 3. 为什么说没有人可以裸用tcp
    • 4. 尝试理解tcp的设计
    • 5. 连接建立@tcp调优
    • 6. 连接断开@tcp调优
    • 7. [WIP]拥塞控制@tcp调优
    • 8. 不需要这些花里胡哨的东西
    • 9. 怎么又是socket又是tcp
  • UPPER
    • 0. 为什么大家都用http
    • 1. [WIP]为什么http也keep-alive
    • 2. 如何保证pipeline的顺序到达
    • 3. 如何保证http的安全性
    • 4. 只不过https基于tls连接
    • 5. 怎么理解get/post
    • 6. http2为什么更快
    • 7. [WIP]内置加速的http3
    • 8. 怎样制造出实时效果-ws
    • 9. kcp是如何榨干你的带宽的
  • DEVICES
    • [302] 跳转到Linux网络设备
  • KUBERNETES NETWORK
    • [302] 跳转到容器网络
Powered by GitBook
On this page
  • introdution
  • 解析过程
  • 雨后小故事
  • 一些小问题

Was this helpful?

  1. LOWER

1. dns决定终点

introdution

dns协议把域名替换成IP, 但根据使用场景的不同, 一个域名可以被翻译成好几个IP, 用于不同目的, 比如你用浏览器打开baidu.com, 跟你给liangxiaohan@baidu.com发邮件的时候, 虽然都是想翻译baidu.com, 但你拿到的IP肯定是不同的. 常见的目的&IP翻译方法有:

  • 浏览器访问域名的时候要把域名替换成IP方便HTTP封包, 这种域名变IP的行为叫一条A记录.

  • 如果你给这个域名下的邮箱发邮件, 负责接收这个邮件的服务器IP叫一个MX记录

  • 如果某个域名实际承载方是一个别的域名, 那么你这个域名就是它的域名的别名, 这叫一个CNAME记录

  • 你的域名由一个DNS服务器负责解析, 这个DNS服务器的IP是你这个域名的NS记录

解析过程

  1. 电脑浏览器/系统都不知道这个域名的IP是多少

  2. 电脑问你的nameserver(就是/etc/resolve.conf)

  3. nameserver也不知道, 他觉得很丢脸, 于是决定帮你查回来挽回尊严

  4. nameserver先去DNS根服务器给你查.com解析服务器的IP

  5. com解析服务器给他, baidu.com的解析服务器IP

  6. baidu.com的解析服务器IP告诉他www.baidu.com的IP

  7. 他这时候再回复电脑www.baidu.com的IP

雨后小故事

我们现在有两个nameserver, 192.168.0.1 与 192.168.1.1: 我随便敲了个不存在的域名, 想看nameserver不知道的情况下它是怎么做的. ok

  • 前面我们像nameserver(53端口)提问, 但他装死不回

  • 不回你的原因是他不知道, 他跑出去查去了, 查不到结果之前是不会回你的

  • 查回来了, 回复你了xiaohan123.com的域名对应的IP, 同时我们也能看到光是回复这一条就消耗了1.2秒, 还加上之前那些没回复的, 访问冷门域名还真是浪费不少时间

一些小问题

[默认使用UDP]

DNS协议是我见过的第一个默认使用UDP协议的, 因为一来一回也不用什么安全手段保证包不丢失. 上面的图你也看到了, 只要你不回我就一直发, 图个快就完事儿了, DNS最怕的是慢, 上面的冷门域名我们花了一秒多才搞定, 这在网页浏览里是难以想象的. 有人说DNS在长期收不到回复的时候会使用TCP重发, (咱们就不搞玄学了, 说实话我没见过)

[TTL的设置]

TTL的问题, 是另一个有意思的事情, 每一条A/MX/CNAME记录都带一个TTL, 表名这条记录在你身上的缓存时间(因为每个人都会缓存一下), 这个时间怎么设置好呢?

  • 如果你的网站已经成熟, 很少会产生IP变动的情况, 那就设置成最长的24小时, 减少DNS查询

  • 如果你的网站IP快速变动, 比如阿里云的DNS解析, 域名经常换来换去的, 设置的短一点能最快的让域名解析生效

Previous0. arp决定下一跳Next2. [WIP]dns是不是真的有这些层级

Last updated 4 years ago

Was this helpful?