Winter Lv4

DNS

  • DNS(Domain name system)

    • 是DNS服务器实现的一个分布式数据库,同时也算是一个应用层协议运行在unix机器之上,端口号为53

    • http、smtp、ftp都是用了DNS将主机名转化为IP地址

    • 原理如下

      1) 同一台用户主机上运行着DNS应用的客户端。

      2) 浏览器从上述URL中抽取岀主机名www.baidu.com,并将这台主机名传给DNS应用的客户端。

      3) DNS客户向DNS服务器发送一个包含主机名的请求。

      4) DNS客户最终会收到一份回答报文,其中含有对应于该主机名的IP地址。

      5) 一旦浏览器接收到来自DNS的该IP地址,它能够向位于该IP地址80端口的HTTP服务器进程发起一个TCP连接。

    • 规范主机名与主机别名,邮件系统别名联想自己的学校邮箱

  • DNS工作原理

    • 主机例如web应用需要将主机名转换为IP地址时,调用DNS客户端,指明主机名,底层的unix实现是调用一个函数gethostbtname()

    • 特性

      • 分布式,层次

        根,顶级域(TLD,top-level domain),权威,三层。举个例子

        DNS层次

        国家,fr,jp,ca,也是自己国家维护的顶级域 权威顶级域就是因特网上能够被公共访问的服务器主机需要提供的一个可公共访问的DNS记录,例如大学,自己维护的DNS服务器

      • 本地DNS服务器与缓存

        通过本地公用来减少流量,缓存可以减少路径,尽量绕过根DNS

    • DNS记录与报文

      • 记录

      DNS服务器中提供了资源记录,包含四元组(Name, Value,Type,TTL)

      如果Type = A,则Name是主机名,Value是该主机名对应的IP地址。因此,一条类型为A的资源记录提供了标准的主机名到IP地址的映射。例如(Tayl.bar. foo. com, 145. 37.93. 126, A)就是一条类型 A 记录。

      如果Type = NS,则Name是个域(如foo. com),而Value是个知道如何获得该域中主机IP地址的权威DNS服务器的主机名。这个记录用于沿着查询链来路由DNS查询。例如(fgcom, cins.foo.com, NS)就是一条类型为NS的记录。

      如果Type=CNAME,则 Value是别名为Name的主机对应的规范主机名。该记录能够向査询的主机提供一个主机名对应的规范主机名,例如(foo.com, relay1.bar. foo. com, CNAME)就是一条 CNAME 类型的记录。

      如果Type = MX,则Value是个别名为Name的邮件服务器的规范主机名。举例来说,(foo.com, mail. bar. fo<). com, MX)就是一条MX记录。MX记录允许邮件服务器主机名具有简单的别名。值得注意的是,通过使用MX记录,一个公司的邮件服务器和其他服务器(如它的Web服务器)可以使用相同的别名。为了获得邮件服务器的规范主机名,DNS客户应当请求一条MX记录;而为了获得其他服务器的规范主机名,DNS客户应当请求CNAME记录

      • 报文
        DNS报文

      控制台键入nslookup 即可看权威DNS服务器与地址 dns.hust.edu.cn

P2P与BitTorrent

​ 之前都是采用客户-服务器体系结构,依赖于服务器,P2P则是最小或是没有依赖。成对间歇连接的主机直接相连,对等方。最广泛的是BitTorrent协议

  • P2P体系结构的拓展性

    在用户接受到后能够使用自己的能力进行一个上传。

  • BitTorrent 协议

    洪流,主机集合,可以一起向其他主机传输,用追踪器实现。传送时,遵循一定的最有算法。

视频流

  • http流与DASH

    http流中的视频就是一个普通的http下的文件具有一个url。初期,由于具有统一格式,提供单一视频的性质,现在,为经HTTP的动态适应性流(Dynamic AdaptiveStreaming over HTTP, DASH) ,编码不同版本,不同画质。

    • 内容发布网

      CDN,在传统的DNS访问中,最后得到的是一个CDN内容服务器IP地址,然后再CDN中处理
  • Post title:
  • Post author:Winter
  • Create time:2023-03-23 20:24:54
  • Post link:https://spikeihg.github.io/2023/03/23/DNS/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
if (hexo-config('comment.enable') == true && hexo-config('comment.use') != "") { if (hexo-config('comment.use') == "waline") { @require "./waline.styl" } else if (hexo-config('comment.use') == "gitalk") { @require "./gitalk.styl" } else if (hexo-config('comment.use') == "twikoo") { @require "./twikoo.styl" } } .comments-container { display inline-block margin-top $spacing-unit width 100% #comment-anchor { width 100% height 10px } .comment-area-title { width 100% margin 10px 0 font-size 1.38rem color var(--default-text-color) font-family "Noto Sans", "Noto Sans SC",sans-serif font-weight bold i { color var(--default-text-color) } +redefine-tablet() { margin 5px 0 font-size 1.2rem } } }