06-域名系统

        IP协议的职责是网际互连,它在MAC层之上,使用IP地址把MAC编号转换成了四位数字,这就对物理网卡的MAC地址做了一层抽象。例如,分为A、B、C、D、E五种类型,公有地址和私有地址,掩码子网分割等。只要每个小网络在IP地址这个概念上达成一致,不管它在MAC层有多大的差异,都可以接入TCP/IP协议栈,最终汇合进整个网络。

        但接入互联网的计算机越来越多,IP地址的缺点也就暴露出来了,最主要的是它对人不友好,虽然比MAC的16进制数要好一点,但还是难于记忆和输入。怎么解决这个问题呢?那就是在IP地址之上再来一次抽象,把数字形式的IP地址转换成更有意义更好记的名字,在字符串层面上增加新的玩法。于是,DNS域名系统就这么出现了。

        域名的形式

        域名是一个有层次的结构,是一串用“.”分隔的多个单词,最右边的称为顶级域名,然后是二级域名,层次关系向左依次降低。

        最左边额是主机名,通常用来表明主机的用途,比如“www”表示提供万维网服务、“mail”表示提供邮件服务,不过这也不是绝对的,名字的关键是要让我们更容易记忆。

        域名不仅能够代替IP地址,还有许多其他的用途。

        在Apache、Nginx这样的Web服务器里,域名可以用来标识虚拟主机,决定由哪个虚拟主机来对外提供服务。

        域名本质上还是个名字空间系统,使用多级域名就可以划分出不同的国家、地区、组织、公司、部门,每个域名都是独一无二的,可以作为一种身份的标识。

        域名的解析

        就像IP地址必须转换成MAC地址才能访问主机一样,域名也必须要转换成IP地址,这个过程就是域名解析。

        目前全世界有几亿个站点,有几十亿网民,而每天网络上发生的HTTP流量更是天文数字。这些请求绝大多数都是基于域名来访问网站的,所以DNS就成了互联网的重要基础设施,必须要保证域名解析稳定可靠、快速高效。

        DNS的核心系统是一个三层的树状、分布式服务,基本对应域名的结构:

        1.根域名服务器(Root DNS Server):管理顶级域名服务器,返回com、net、cn等顶级域名服务器的IP地址;

        2.顶级域名服务器(Top-level DNS Server):管理各自域名下的权威域名服务器,比如com,顶级域名服务器可以返回apple.com域名服务器的IP地址;

        3.权威域名服务器(Authoritative DNS Server):管理自己域名下主机的IP地址,比如apple。com权威域名服务器可以返回www.apple.com的IP地址。

        在这里根域名服务器是关键,它必须是众所周知的,否者下面的各级服务器就无从谈起了。目前全世界共有13组域名服务器,又有数百台的镜像,保证一定能够被访问到。

        有了这个系统以后,任何一个域名都可以在这个树形结构里从顶至下进行查询,就好像是把域名从右到左顺序走了一遍,最终就获得了域名对应的IP地址。

        例如要访问www.apple.com就要进行下面的三次查询:

        1.访问根域名服务器,它会告诉你com顶级域名服务器的地址;

        2.访问com顶级域名服务器,它再告诉你apple.com域名服务器的地址;

        3.最后访问apple.com域名服务器,就得到了www.apple.com的地址。

        虽然核心的DNS系统遍布全球,服务器能力很强也很稳定,然如果全世界的网民都往这个系统里挤,即使不挤瘫痪了,访问速度也会很慢。所以在DNS系统之外,还有两种手段来减轻域名解析的压力,并且能够更快速的获取结果,基本思路就是缓存。

        首先,许多大公司、网络运行商都会建立自己的DNS服务器,作为用户DNS查询的代理,代替用户访问核心DNS系统。这些野生的服务器被称为非权威域名服务器,可以缓存之前的查询结构,如果已经有了记录,就无需再向根服务器发起查询,直接返回对应的IP地址。

        这些DNS服务器的数量要比核心系统的服务器多很多,而且大多部署在离用户很近的地方,比较知名的DNS有Google的8.8.8.8,Microsoft的4.2.2.1还有CloudFlare的1.1.1.1等。

        其次,操作系统里也会对DNS解析结果做缓存,如果你之前访问过www.apple.com,那么下一次在浏览器里再输入这个网址的时候就不会再跑到DNS那里去问了,直接在操作系统里就可以拿到IP地址。

        另外,操作系统里还有一个特殊的主机映射文件,通常是一个可编辑的文本,在Linux里是/etc/hosts,在Windows里是C:\WINDOWS\system32\drivers\etc\hosts,如果操作系统在缓存里找不到DNS记录,就会找这个文件。

        有了上面的野生DNS服务器、操作系统缓存和hosts文件后,很多域名解析的工作都不用跋山涉水了,直接在本地或本机就能解决,不仅方便了用户,也减轻了各级DNS服务器的压力,效率就大大提升了。

        域名的新用法

        有了域名,又有了可以稳定工作的解析系统,于是就可以实现比IP地址更多的新用法了。

        第一种,也是最简单的重定向。因为域名代替了IP地址,所以可以让对外服务的域名不变,而主机的IP地址任意变动。当主机有情况需要下线、迁移时,可以更改DNS记录,让域名指向其他的机器。

        第二种,因为域名是一个名字空间,所以可以使用bind9等开源软件搭建一个在内部使用的DNS,作为名字服务器,这样我们开发的各种内部服务都用域名来标记,比如数据库服务都使用域名mysql.inner.app,商品服务都使用goods.inner.app,发起网络通信时也就不必再使用写死的IP地址了,可以直接用域名,而且这种方式也兼具了第一种用法的优势。

        第三种,包含了前两种,也就是基于域名实现的负载均衡,实现的方式有两种。

        其一,因为域名解析可以返回多个IP地址,所以一个域名可以对应多台主机,客户端收到多个IP地址后,就可以使用轮询的算法依次向服务器发起请求,实现负载均衡。

        其二,域名解析可以配置内部的策略,返回离客户端最近的主机,或者返回当前服务质量最好的主机,这样在DNS端把请求发到不同的服务器,实现了负载均衡。

        前面说的都是可信的DNS,如果有一些不怀好意的DNS,那么它也可以在域名这方面做手脚,比如:

        域名屏蔽,对域名直接不解析,返回错误,让你无法拿到IP地址,也就无法访问网站

        域名劫持,也叫域名污染,你要访问A网站,但DNS给了你B网站

        小结

        1.域名使用字符串来代替IP地址,方便用户记忆,本质上一个名字空间系统;

        2.DNS就像是我们现实世界里的电话本、查号台,统管着互联网世界里的所有网站,是一个超级大管家;

        3.DNS是一个树状的分布查询系统,但为了提高查询效率,外围有多级缓存;

        4.使用DNS可以实现基于域名的负载均衡,既可以在内网,也可以在外网。

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生就业服务平台管理系统按照操作主体分为管理员和用户。管理员的功能包括学生档案管理、字典管理、试卷管理、试卷选题管理、试题表管理、考试记录表管理、答题详情表管理、错题表管理、法律法规管理、法律法规收藏管理、法律法规留言管理、就业分析管理、论坛管理、企业管理、简历管理、老师管理、简历投递管理、新闻资讯管理、新闻资讯收藏管理、新闻资讯留言管理、学生信息管理、宣传管理、学生管理、职位招聘管理、职位收藏管理、招聘咨询管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 大学生就业服务平台管理系统可以提高大学生就业服务平台信息管理问题的解决效率,优大学生就业服务平台信息处理流程,保证大学生就业服务平台信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理新闻信息,管理大学生就业服务平台信息,包括考试管理,培训管理,投递管理,薪资管理等,可以管理新闻信息。 考试管理界面,管理员在考试管理界面中可以对界面中显示,可以对考试信息的考试状态进行查看,可以添加新的考试信息等。投递管理界面,管理员在投递管理界面中查看投递种类信息,投递描述信息,新增投递信息等。新闻信息管理界面,管理员在新闻信息管理界面中新增新闻信息,可以删除新闻信息。新闻信息类型管理界面,管理员在新闻信息类型管理界面查看新闻信息的工作状态,可以对新闻信息的数据进行导出,可以添加新新闻信息的信息,可以编辑新闻信息信息,删除新闻信息信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值