网站的seo方案,wordpress 注册美化,湘潭做网站价格 d磐石网络,做gif有什么网站前言#xff1a; 学习视频#xff1a;中科大郑烇、杨坚全套《计算机网络#xff08;自顶向下方法 第7版#xff0c;James F.Kurose#xff0c;Keith W.Ross#xff09;》课程 该视频是B站非常著名的计网学习视频#xff0c;但相信很多朋友和我一样在听完前面的部分发现信… 前言 学习视频中科大郑烇、杨坚全套《计算机网络自顶向下方法 第7版James F.KuroseKeith W.Ross》课程 该视频是B站非常著名的计网学习视频但相信很多朋友和我一样在听完前面的部分发现信息量过大有太多无法理解的地方在我第一次点开的时候也有相同的感受但经过了一段时间项目的学习对计网有了更多的了解所以我准备在这次学习的时候做一些记录并且加入一些我的理解希望能够帮助到大家。 往期笔记可以看专栏中的内容 文章目录 2.5 DNS2.5.1 DNS 的必要性2.5.2 DNS 的实现思路与目的2.5.3 DNS 的域名解构2.5.4 DNS 的名字空间2.5.5 DNS 的工作过程2.5.6 DNS 协议报文2.5.7 如何新增一个域名 2.5 DNS DNSDomain Name System域名系统是互联网中用于将域名解析为与之对应的 IP 地址的分布式数据库系统。它实现了域名到 IP 地址的映射为用户提供了便于记忆的域名访问方式而不必记住复杂的 IP 地址。 2.5.1 DNS 的必要性 IP 地址标识主机和路由器但是 IP 地址的问题是 不好记忆不便于人类的使用
人类还是更倾向于用一个有意义的字符串来标识 Internet 上的设备。但访问还是要通过 IP 地址通过 TCP 来通信所以需要有一个应用能够将这个字符串转换为 IP 地址域名 IP 地址 问题 1如何使用唯一的字符串去标示一个 IP 地址
使用层次化的命名方式 问题 2如何完成名字到 IP 地址的转换
全球范围内的服务导致访问量很大且对速度有要求需要分布式的数据库维护和响应名字查询 问题 3如何维护这些对应关系增加或者删除域名的业务
2.5.2 DNS 的实现思路与目的 DSN 的实现思路
分词的、基于域的命名机制若干分布式的数据库完成名字到 IP 地址的转换运行在 UDP 之上端口为 53 的应用服务无连接的核心的 Internet 功能但以应用层的协议去实现 DNS 的主要功能
域名解析 将人类可读的域名如example.com解析为计算机可识别的IP地址如192.0.2.1。逆向解析 将IP地址解析为相应的域名。负载均衡 通过DNS解析将访问请求分发到多个服务器上实现负载均衡提高网站的性能和可用性。邮件路由 通过DNS解析确定邮件服务器的路由将电子邮件发送到正确的目标邮箱。安全防护 DNS可以实现一些安全功能如阻止恶意网站、拦截垃圾邮件等。 这里来提一下负载均衡首先要知道一个分布式的应用会有多个服务器 也就对应着多个地址而一个域名是可以绑定多个 IP 地址的当客户端向DNS服务器发起域名解析请求时DNS服务器会返回多个IP地址中的一个给客户端客户端随机选择一个IP地址进行连接。 2.5.3 DNS 的域名解构 域名是用于在互联网上唯一标识主机或域的名称它具有 层次结构由多个部分组成各部分之间用点号.分隔。 在DNS的域名解析过程中域名被划分为多个层次从右向左依次为
顶级域名Top-Level DomainTLD二级域名Second-Level Domain、三级域名Third-Level Domain子域名Subdomain
顶级域名有上百个这里举例一些常用的
通用的generic .com; .edu ; .gov ; .int ; .mil ; .net ; .org .firm ; .hsop ; .web ; .arts ; .rec ; 国家的countries .cn ; .us ; .nl ; .jp
每一级的域名会对应着一个或者多个域名服务器的地址而顶级域名也对应着一个DNS根名字服务器
DNS 根名字服务器 是 DNS系统中的最高层次的域名服务器负责管理顶级域名Top-Level DomainsTLDs的域名解析。DNS系统的域名解析过程是 逐级向下 查询的直到能够找到目标域名对应的IP地址为止。当客户端发送域名解析请求时本地DNS服务器会按照域名的层次结构逐级查询直到找到目标域名的IP地址或者查询失败为止。
域名的划分是逻辑上的划分而不是物理上的划分同一个网络下的主机可能是属于不同的域名。
2.5.4 DNS 的名字空间 DNS的命名空间Namespace是指 所有可能的域名构成的集合它描述了整个DNS系统中所有可用的域名。DNS的命名空间是一个层次结构类似于文件系统中的目录结构其中每个域名都位于特定的层次并且可以有任意数量的子域名。 每个域去管理其下面的子域创建一个新的子域需要向其所属域去申请 域名服务器的解析分布式的域名服务器 在DNSDomain Name System中Zone区域是指一组共享相同的域名空间的DNS记录集合。每个区域都对应着一个域名该域名及其子域名的解析信息都由该区域内的DNS服务器负责管理和存储。区域的概念使得管理员可以将特定的域名空间分配给不同的DNS服务器进行管理从而实现域名解析服务的分布式和灵活配置。 对于域名服务器的理解 首先要清楚不是每个域名去对应一个域名服务器而是一个 zone 去对应一个域名服务器。 域名服务器的缓存中存储着它的 zone 内的所有信息当通过域名服务器去解析域名的时候如果缓存中没有找到对应关系会去数据库中查询然后查询的结果加入 TTL 构成一个新的对象存储在 缓存 中。 robot 虽然在 yale 下面但其并不是在同一个 zone这也就说明 当一个域名在另一个域名之下时它们可能属于不同的 zone。 例如域名 “example.com” 和 “sub.example.com” 可能由不同的域名服务器管理和提供。如果 “example.com” 和 “sub.example.com” 分别由两个不同的域名服务器管理那么它们就属于不同的zone。 一个域名服务器之下维护着的信息由以下部分构成
域名Domain Name 表示资源记录所属的域名可以是相对域名相对于当前域名或绝对域名完整的域名。TTLTime to Live 表示资源记录的生存时间即该记录在DNS缓存中的存活时间。TTL字段是一个32位的整数以秒为单位用于控制DNS缓存中的记录失效时间。类别Class 表示资源记录的类别通常为INInternet表示因特网资源记录。类型Type 表示资源记录的类型包括主机地址记录A记录、别名记录CNAME记录、邮件交换记录MX记录、文本记录TXT记录等。 其中比较重要的字段是 Type它的值表示当前对象存储的值的类型 比较难理解的是 NS 类型还是这个例子cs 在 yale 的子域但是它们又是不同的 zone也就对应着不同的域名服务器这就需要知道它的域名和它的服务器的域名其次是别名别名主要是做一个重定向的作用允许将一个域名映射到另一个域名从而提供了灵活性和可扩展性。 以下是需要使用别名的一些常见情况 简化管理和维护 别名可以使系统管理员更轻松地管理和维护域名系统。当一个主机或服务的IP地址发生变化时管理员只需更新相应的别名记录而不需要修改所有引用该主机或服务的地方。负载均衡和容错 别名可以用于实现负载均衡和容错策略。通过将多个主机或服务映射到同一个别名下系统可以根据负载情况或故障情况自动地将请求分发到可用的主机或服务上。提供服务的透明性 别名可以使服务的实际提供者对用户透明化。例如一个网站可能使用不同的域名别名指向同一个服务器这样用户可以通过多个不同的域名访问同一个网站而不需要关心实际服务器的地址。简化重定向和转发 别名可以用于简化重定向和转发的配置。通过将一个别名指向另一个别名或目标地址可以实现更灵活和简洁的重定向和转发规则。 2.5.5 DNS 的工作过程 发起查询 客户端应用程序通过系统调用或DNS解析库向 本地DNS解析器 发送域名解析请求。如果本地DNS解析器已经缓存了该域名的解析结果则直接返回缓存中的IP地址否则继续向下一步。 本地DNS解析器查询 如果本地DNS解析器不具有该域名的解析结果它将向根域名服务器发送查询请求。根域名服务器负责管理顶级域名TLD的域名服务器的地址。 根域名服务器响应 根域名服务器收到查询请求后会返回TLD域名服务器的地址给本地DNS解析器。 TLD域名服务器查询 本地DNS解析器接收到根域名服务器返回的TLD域名服务器的地址后会向TLD域名服务器发送查询请求。TLD域名服务器负责管理顶级域名下的权威域名服务器的地址。 权威域名服务器查询 本地DNS解析器收到TLD域名服务器返回的权威域名服务器的地址后会向权威域名服务器发送查询请求。权威域名服务器是负责管理特定域名的DNS记录的服务器。 DNS记录查询 权威域名服务器收到查询请求后会检查自己的数据库查找对应域名的DNS记录。如果找到了匹配的记录则返回给本地DNS解析器如果未找到匹配的记录则返回“域名不存在”的错误。 返回结果 本地DNS解析器收到权威域名服务器返回的DNS记录后会将解析结果缓存起来并将解析结果返回给客户端应用程序。 应用程序处理结果 客户端应用程序收到DNS解析器返回的IP地址后将使用该IP地址与目标服务器建立连接从而完成域名解析过程。 本地名字服务器Local Name Server 本地名称服务器通常由 互联网服务提供商ISP 或 网络管理员 在本地网络中设置。设置本地名称服务器可以提高域名解析的性能和效率并且可以在本地缓存常用域名的解析结果从而加速后续的域名解析过程。通常ISP 会提供本地名字服务器的 IP 地址或者可以选择使用公共DNS服务器如Google DNS8.8.8.8或Cloudflare DNS1.1.1.1。Windows 电脑输入 ipconfig /all 可以找到自己电脑的本地DNS服务器 如果发现没有可能是计算机当前没有配置静态DNS服务器而是使用了DHCP动态主机配置协议来获取IP配置包括DNS服务器的IP地址。 2.5.6 DNS 协议报文 通过 flags 实现识别查询报文的类型
通过 ID 来实现流水线查询查询的报文与返回的结果报文的 ID 相同可以一次查询多条
2.5.7 如何新增一个域名
选择并注册域名 选择一个适合您的网站或业务的域名并注册该域名。可以使用各种域名注册服务提供商进行注册。选择域名托管服务提供商 一旦您注册了域名您需要选择一个域名托管服务提供商以便托管您的域名的DNS记录。域名托管服务提供商将帮助您管理域名的DNS配置。设置DNS记录 登录您选择的域名托管服务提供商的管理控制面板并添加必要的DNS记录。这可能包括A记录将域名映射到IP地址、CNAME记录为域名设置别名、MX记录指定邮件服务器等。根据您的需求您可能还需要添加其他类型的记录。配置Web服务器 如果您要在新域名上托管网站您需要配置Web服务器以响应该域名的请求。您需要将网站文件上传到服务器并确保Web服务器配置正确以便它知道如何处理来自新域名的请求。等待DNS传播 一旦您添加了DNS记录并对域名进行了配置您需要等待DNS传播完成。这可能需要几小时甚至一天时间具体时间取决于DNS记录的TTL生存时间设置和因特网上DNS服务器之间的同步速度。测试和验证 等待DNS传播完成后您可以测试新域名是否正常工作。在浏览器中输入新域名并访问确保网站能够正确加载。维护和更新 一旦您的域名正常工作您可能需要定期更新和维护您的DNS记录和网站内容以确保它们始终保持最新状态并正常运行。