- 层次化命名(树状结构) * Interent根被划为几百个顶级域(top lever domains) + 通用的(generic) + 国家的  * 每个(子)域下面可以划分为若干子域(subdomains) * 叶子节点是主机,从叶子到根,中间的逗点间隔 | | | --- | | 注意!!!域和物理网络无关!域遵从组织界限,而不是物理网络,域的划分是逻辑的而不是物理的 **一个网络的主机不一定在一个域:**比如一个市有学校edu有政府机构.gov **一个域的主机可以不在一个网络**:比如edu.cn有很多学校在这个域里面 | 
**第二个问题:**如何完成名字到IP地址的转换
- 一台设备维护所有域名不可行,设备太多了,但是可以一个设备维护一个区域(也就是分布式维护)要规划好怎么分配这个区域 - 一个名字服务器的问题: | | | --- | | 1. 可靠性问题:单点故障 2. 扩展性问题:通信容量 3. 维护问题:远距离的集中式数据库(增加域删除与改变域非常麻烦) | - 区域(zone): | | | --- | | 1. 区域的划分有区域管理者自己决定(比如说一个大学每个学院可以是一个区域) 2. 将DNS名字空间划分为互不相交的区域, 每个区域都是树的一部分 3. 名字服务器 1. 每个zone内部都有一个名字服务器:维护者他所管辖区域的权威信息(authoriative record)(维护这个zone的名字和IP地址的对应关系) 2. 知道某个特定区域的名字和IP地址的对应关系的服务器就是权威名字服务器 3. 名字服务器允许被放置在区域之外,以保障可靠性 4. 上层区域知道下层区域怎么走,上层区域维护一个指针使得下层区域的路径清晰。比如说cn.edu需要知道我国的其他高校的域名服务器物理地址以及IP地址 | - TLD(Top Level Domain)服务器 * 这个服务器负责顶级域名以及所有国家级的顶级域名 * 比如说Educause公司维护edu TLD服务器 - 区域名字服务器维护资源记录 * 资源记录(Resource Records) + 作用:维护 域名-IP地址(或者其他)的映射关系 + 位置:域名服务器的分布式数据库中 * RR(Resource Records)格式 + Domain\_name:域名 + TTL:生存时间(权威服务器是无限的TTL,缓冲的是有限的,到了TTL就删除。比如其他的服务器要是拿到这个服务器的IP地址和域名映射关系就缓存下来,然后这里的就是有限的。这里的缓存是为了下次查询不用访问源远程服务器减少时间,删除是为了一致性,因为那个被缓存信息的服务器有可能会改变某些值的映射关系) + Class 类别:对于Interent,值为IN + Value 值:域名对应的IP地址 + Type 类别:资源记录的类型:这里是为了根据不同类型提供不同服务的比如邮件,DNS有许多不同的目的,其不同的目的做的不同的事情就是有Type标识 - DNS记录 | | | --- | | Type=NS 比如此图耶鲁大学就要维护一个他的子域cs的名字服务器的名字 例子: | - DNS大致工作过程 * 应用调用解析器(resolver) * 解析器作为客户,向Name Server发出查询报文(封装在UDP段中,这里解析器知道名字服务器IP地址是之前配置好的) * Name Server返回响应报文(name/ip) - 本地名字服务器(Local Name Server) * 也叫默认名字服务器,用户发起查询,解析器直接把请求发给这个服务器 * 并不严格属于层次结构 * 如果直接在本地名字服务器可以得到查询结果就得到结果但是没有的话就要使用递归查询(下见递归查询)  - 递归查询 * 当与本地名字服务器不能解析名字时,联系根名字服务器顺着根-TLD 一直找到权威名字服务器。名字解析负担都放到了当前联络的名字服务器上 * 问题:根服务器的负担太重 * 解决:迭代查询 iterated queries (下见迭代查询)  - 迭代查询 * 根(及各级域名)服务器返回的不是查询结果,而是下一个 NS 的地址 * 最后由权威名字服务器给出解析结果 * 当前联络的服务器给出可 以联系的服务器的名字=“我不知道这个名字,但 可以向这个服务器请求”
第三个问题:如何维护——怎么增加或者删除一个域,需要在域名系统中做哪些工作?
- 在上级域的名字服务器中增加两条记录,指向这个新增子域的域名(名字服务器的名字)和域名服务器的地址(名字服务器的IP地址) - 在新增子域的名字服务器上运行名字服务器负责本域的名字解析:名字->IP地址
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**