数据通信——应用层(域名系统)

引言

    TCP到此就告一段落,这也意味着传输层结束了,紧随其后的就是TCP/IP五层架构的应用层。操作系统、编程语言、用户的可视化界面等等都要通过应用层来体现。应用层和我们息息相关,我们使用电子设备娱乐或办公时,接触到的就是应用层。

 域名系统概述

    域名系统(DomainNameSystem)简称DNS。在1983年因特网正式开始采用层次式的名字空间组织方案——域名系统(DNS)并开始使用分布式数据库管理整个名字空间。

    众所周知,IP很长,不方便直接交流,因此应用层采用域名作为我们访问各个站点的手段,域名可以被记住,当我们再次访问某些网站采用域名就可以了。

    但因为网络渐渐庞大了,难免会有重名的用户,因此如何在应用层表示因特网中唯一一个用户成为了难题之一。况且,我们在网络层中以一个IP地址作为网络中独一无二的个体,那么如何将应用层的域名和网络层相应的IP联系起来并且再由公网IP转化为成私有IP是域名系统首当其冲的问题。所有的应用和服务都离不开域名!

DNS以客户/服务器(C/S)的方式工作,其主要包含三部分内容:

1.层次树型结构的域名空间(Domain Name Space)

2.存储有关域名及其二进制IP地址信息的名字服务器(NameServer)

3.实现域名与二进制IP地址的转换工作的解析器(Resolver) 

域名空间

    域名也要有存储的地方,我们管其叫做域名空间。域名空间中含有域名的具体结构或命名规则。为了方便管理和查询,设计者采用层次化的树形结构组织域名分布。树形结构自然就有树枝和子叶。在这个域名空间中含有:

  域名:网络中一个用户(计算机)的名字;

  域:域名空间中的一树枝,表示因特网某个可被管理的资源集合;域还可以根据需要被进一步地划分为子域。

  子叶就是代表因特网中提供特定服务的服务器主机的名称,像我们熟知的“WWW”等。子叶也代表它的下面也不能再划分子域了。这样的设计保证了域名在全网的唯一性。

其中顶级域名为通用域名;顶级域名最开始有7个“元老”

com:经济实体

edu:教育机构

org:不适宜在其它域下注册的组织机构和非政府组织

net:网络服务机构

gov:政府机构(美国专用)

mit:军事机构(美国专用)

int:国际相关组织机构

    当然,除了那两个老美专用的东西,其它顶级域名是有相应的标准的,整个国际都要遵守的。当然,我们也要有自己的域名以示区别,这就是二级域名。

    二级域名就是国家定制的域名了。我国将域名分为类别域名行政域名两类。

ac:科研机构

com:工商金融和企业

edu:教育机构

gov:中国政府机构

net:中国的网络服务机构组织

mil:中国国防

org:非盈利机构

    其中还有行政区域域名,覆盖了各省、自治区、直辖市等。比如:BJ(北京)、SH(上海)等等。

    我们的域名均采用中文域名,国内域名注册统一通过中国互联网信息中心——CNNIC及其代理商进行管理。而国际的域名注册由ICANN统一管理。

上图就是域名空间域名层次分布 

我们在表达一个域名时,要从左往右,从低到高以“.”作为区分来描述域名。以上图为例就是:www.b.360.cn,再比如:www.cctv.com 

域名服务器

    在DNS中,存储有关的域名和域名相应的二进制IP地址信息的程序运行在专门的网络结点上,这些结点称为名字服务器。各服务器只负责解析其主管范围的解析工作。并且还设置了若干互不交叉的区域以防止数据源带来的不稳定因素。

域名服务器分为四个大类:

1.根域名服务器(rootNS):最高层次的域名服务器,共13个,管辖所有顶级域名和IP映射。

2.顶级域名服务器(TLDNS):管辖旗下所有的二级域名和IP映射。

3.授权服务器:管辖区域内所有域名和IP映射

4.本地域名服务器:管辖每个主机所在区域的授权查询服务器。

书中对各服务器负责区域的描述 

  拥有一个区内所有的主机信息的名字的服务器就是该区授权的名字服务器(Authoritative Name Server) 

    不仅如此,还需要若干的辅助名字服务器,辅助名字服务器会获取名字服务器的域名信息副本预防名字服务器出现故障时,DNS系统还可以正常运作。

域名解析

    如何将DNS和IP地址互相解析?我们可以通过配置设备的本地DNS来完成,我们在使用网络时候总能看见这个DNS。通过传输层UDP报文的支持,从端口53完成DNS和IP关系的建立。如下图则书中DNS与IP地址互相解析过程。

    当应用进程需要将一个域名映射为IP地址时,就调用域名解析函数,解析函数将待转换的域名放在DNS请求中,以UDP报文方式发给本地域名服务器。本地的域名服务器查到域名后,将对应的IP地址放在应答报文中返回。同时域名服务器还必须具有连向其他服务器的信息以支持不能解析时的转发。若域名服务器不能回答该请求,则此域名服务器就暂成为DNS中的另一个客户,向根域名服务器发出请求解析,根域名服务器一定能找到下面的所有二级域名的域名服务器,这样以此类推,一直向下解析,直到查询到所请求的域名。

 当我们向外进行DNS解析请求时,通过递归或者迭代的方式实现,这也是域名的解析过程。

 

 后续 

递归或迭代,我打算放在以后单独写文档,这里就提一下。域名很好理解,毕竟我们每天都在用。但是应用层的东西很混杂,下一篇就要讲文件传输了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/87329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【刷题笔记9.24】LeetCode:二叉树最大深度

LeetCode:二叉树最大深度 1、题目描述: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 二、思路与算法 如果我们知道了左子树和右子树的最大深度 lll 和 rrr,…

力扣:109. 有序链表转换二叉搜索树(Python3)

题目: 给定一个单链表的头节点 head ,其中的元素 按升序排序 ,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差不超过 1。 来源:力扣(LeetCod…

uni-app使用HBuilder X编辑器本地打包apk步骤说明

1.下载安装Android Studio 下载地址官方地址:Android Studio 下载文件归档 | Android 开发者 | Android Developers 安装Android SDK和Google USB Driver即可,后者主要是为了后期使用USB设置的,如果不需要可以不点。 2.下载uni-app提供…

ICMP差错包

ICMP报文分类 Type Code 描述 查询/差错 0-Echo响应 0 Echo响应报文 查询 3-目的不可达 0 目标网络不可达报文 差错 1 目标主机不可达报文 差错 2 目标协议不可达报文 差错 3 目标端口不可达报文 差错 4 要求分段并设置DF flag标志报文 差错 5 源路由…

Mac磁盘空间满了怎么办?Mac如何清理磁盘空间

你是不是发现你的Mac电脑存储越来越满,甚至操作系统本身就占了100多G的空间?这不仅影响了电脑的性能,而且也让你无法存储更多的重要文件和软件。别担心,今天这篇文章将告诉你如何清除多余的文件,让你的Mac重获新生。 一…

gateway之过滤器(Filter)详解

文章目录 什么是过滤器过滤器的种类局部过滤器代码示例全局过滤器代码示例 总结 什么是过滤器 在Spring Cloud中,过滤器(Filter)是一种关键的组件,用于在微服务架构中处理和转换传入请求以及传出响应。过滤器位于服务网关或代理中…

【力扣-每日一题】213. 打家劫舍 II

class Solution { public:int getMax(int n,vector<int> &nums){int a0,bnums[n],c0;for(int in1;i<nums.size()n-1;i){ //sizen-1,为0时&#xff0c;第一个可以偷&#xff0c;最后一个不能偷size-1&#xff1b;n为1时&#xff0c;最后一个可偷&#xff0c;计算…

Spring学习(七)——AOP

1. AOP 1.1 什么是 AOP AOP&#xff08;Aspect Oriented Programming&#xff09;意为&#xff1a;面向切面编程&#xff0c;通过预编译方式和运行期动态代理实现程序功能的统一维护技术。AOP 是 OOP 的延续&#xff0c;是软件开发的一个热点&#xff0c;也是 Spring 框架的一…

数据包络分析——SBM模型

写在前面&#xff1a; 博主本人大学期间参加数学建模竞赛十多余次&#xff0c;获奖等级均在二等奖以上。为了让更多学生在数学建模这条路上少走弯路&#xff0c;故将数学建模常用数学模型算法汇聚于此专栏&#xff0c;希望能够对要参加数学建模比赛的同学们有所帮助。 目录 1. …

腾讯mini项目-【指标监控服务重构-会议记录】2023-07-06

7/6 会议记录 Profile4个步骤 解压kafka消息初始化性能事件&#xff0c;分析事件将数据写入kafkaRun 开始执行各stage handler 上报耗时到otel-collector。。。 // ConsumerDispatchHandler consumer // // param msg *sarama.ConsumerMessage // param consumer *databus.K…

【rtp】mid 扩展: RtpMid 字符串扩展的解析和写入

mid 是uint8_t 类型? 扩展填写的是字符串,读取字符串后atoi 转 uint8_t : webrtc 看起来是个字符串:写入 扩展的值是改变了: 这里是更新扩展的长度: 新的大小小于原来的,没有缩减内存,而是对于多余的置位0了:if (len < current_len) {memset(

【Redis】记录一次K8S存储故障导致Redis集群拓扑异常的修复过程

文章目录 背景处理新节点遗忘旧节点 背景 集群部署在K8S环境内&#xff0c;存储使用的localpv&#xff0c;有一台K8S主机节点磁盘故障&#xff0c;导致在该节点上的redis节点均出现故障&#xff0c;主要表现为持久化失败、集群拓扑异常&#xff0c;持久化失败可以临时关闭RDB和…

冲鸭~~!10分钟部署清华ChatGLM2-6B,效果测试:不愧是中文榜单第一

来源: AINLPer公众号&#xff08;每日干货分享&#xff01;&#xff01;&#xff09; 编辑: ShuYini 校稿: ShuYini 时间: 2023-9-25 引言 今年6月份清华大学发布了ChatGLM2&#xff0c;相比前一版本推理速度提升42%。最近&#xff0c;终于有时间部署测试看看了&#xff0c;部署…

次时代摸鱼骚操作:人在办公室轻松观看家里电脑上的4k电影(移动端公网访问本地群辉存储视频文件)

如何使用iPhone15在办公室观看家里电脑上的4k电影&#xff1f; 文章目录 如何使用iPhone15在办公室观看家里电脑上的4k电影&#xff1f;1.使用环境要求&#xff1a;2.下载群晖videostation&#xff1a;3.公网访问本地群晖videostation中的电影&#xff1a;4.公网条件下使用电脑…

适用于初学者,毕业设计的5个c语言项目,代码已开源

C语言项目集 项目介绍 该项目适用于初学者学习c语言&#xff0c;也适用于高校学生课程设计&#xff0c;毕业设计参考。 项目并不能满足所有人的需求&#xff0c;可进行项目指导&#xff0c;定制开发。 开源地址 c语言项目代码地址 项目列表 该项目包含如下5个管理系统&am…

在线安装qt5.15之后任意版本

下载qt现在安装包&#xff1a; window安装包链接 进入cmd&#xff0c;用命令行打开安装包&#xff0c;并指定组件下载地址&#xff08;这个是关键&#xff0c;之前用的是腾讯镜像&#xff0c;出现了版本灰色无法选中问题&#xff09; .\qt-unified-windows-x64-4.6.1-online…

git的基本操作

git的基本操作 一般思路&#xff1a; 新建个人分支加粗样式–克隆远程仓库代码—编辑本地分支代码–合入master分支&#xff08;先切换到master分支&#xff09;–master分支代码push到远程仓库 1、安装好git之后必须设置用户和邮箱信息之后才能提交代码到缓存区、本地库 git …

[C++随笔录] list使用

list使用 构造函数insert && 迭代器push_back && pop_back && push_front && pop_fronterasesort && find && reverse list的底层结构就是 带头双向循环链表 构造函数 // 默认构造 list<int> lt; cout << "l…

SolidJs节点级响应性

前言 随着组件化、响应式、虚拟DOM等技术思想引领着前端开发的潮流&#xff0c;相关的技术框架大行其道&#xff0c;就以目前主流的Vue、React框架来说&#xff0c;它们都基于组件化、响应式、虚拟DOM等技术思想的实现&#xff0c;但是具有不同开发使用方式以及实现原理&#…

基于win32实现TB登陆滑动验证

这里写目录标题 滑动验证触发条件&#xff1a;失败条件&#xff1a;解决方法:清除cooKie 滑动验证方式一&#xff1a;win32 api获取窗口句柄&#xff0c;选择固定位置 成功率高方式二&#xff1a; 原自动化滑动&#xff0c;成功率中 案例 先谈理论&#xff0c;淘宝 taobao.com …