前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C|计算机网络|DNS

C|计算机网络|DNS

作者头像
朝闻君
发布2021-11-22 11:30:38
7490
发布2021-11-22 11:30:38
举报

Content Distribution Newwork

尽管上篇文章讲的FS都已经做到了一定的scalability,但单个数据中心依然无法存放大量数据,因此必须进行content distribution。

Client Side

cache 本地副本

  • browser cache file
  • proxy cache url
  • DNS resolver cache record(URL->IP)
  • NFS client cache data

Server Side

CDN+DNS

网站提供商将数据push到CDN,而DNS(Domain Name Service)会找最近的CDN,由这些CDN提供服务(同一个host name根据位置指向不同的server)。(例如谷歌的服务器基本遍布全球)

DNS Design

DNS实现了IP和域名的绑定

Why Domain Name?

  • IP是结构化的,以特定规则进行组织。无法自定义,而域名可以有自然语义。
  • IP不够用户友好,难以记忆。
  • 增加间接层,方便redirect(一个IP有多个域名,一个域名对应多个IP),例如上海使用上海服务器的ip.均摊压力。

我们需要存储这些映射关系。

本地存储-每个机器都有hosts.txt(没钱买和谐软件的时候就去博客找找改host,懂得都懂,然而大部分都是过期的IP哭了)。这种做法不具备scalability。

网络存储-伯克利本科生开发的BIND

由于域名的数量很大,因此我们使用分级委托(顺序从小到大,英文地址喜欢这么玩)。root不具有名称,因此这个.可以省略。

e.g.

http://xxx.sjtu.edu.cn,root - cn - edu - sjtu

http://zhuhu.com,root - com

实际查找时,从root处询问cn的IP,然后向cn询问edu的IP,以此类推。因此一旦上层dns崩溃,那么所有依赖的域名都会失效。因此一般同一个名称会对应多个NDS服务器,进行冗余备份。

解析顺序

  • 直接找IP /etc/hosts
  • 找对应的DNS /etc/resolv.conf
  • 问root服务器

Recursion

递归实现减少了Client开销,但是也对name server的算力提出了要求。

Cache

Client和Server都会对name的IP进行缓存,并设置了一个TTL(Time To Live),一旦超时,那么cache失效。

DNS Security

DNS 污染

通过使用错误的数据包,让DNS存储错误的cache,DNS服务器就会将域名解析到错误的ID,称为DNS缓存污染(GFW)。由于DNS本质是中心化的,如果对中心服务器进行了控制,就可以对域名解析进行篡改。例如把google网页重定向为交大官网,交大官网马上就会扑该。

这也是改hosts的原理,因为上文的解析顺序,我们可以通过改hosts越过原本的DNS服务器。不过不同于先前的DNS阻断,现在的GFW已经升级到了IP阻断,也就是说路由在寻址的时候就被终止,因此现在一些简单的改hosts已经凉了。

DNS DDOS

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DNS Design
  • DNS Security
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档