应用层续(上)

简介: 应用层续(上)

DNS(域名解析系统)



前面说的都是应用层的协议 和相关案例


应用层协议 和 例子都是所有案例中最多的。 域名解析系统是给其他应用应用的应用通过其他应用来为应用提供服务。


dns提供的是: 域名到 ip地址的转换


DNS的重要性(必要性)


  • IP地址标识主机、路由器
  • 但IP地址不好记忆,不便人类使用(没有意义)
  • 人类一般倾向于使用一些有意义的字符串来标识 Internet上的设备(大实话)


例如:qzheng@ustc.edu.cn 所在的邮件服务器 www.ustc.edu.cn 所在的web服务器


  • 存在着“字符串”—– IP地址的转换的必要性
  • 人类用户提供要访问机器的“字符串”名称
  • 由DNS负责转换成为二进制的网络地址


DNS系统需要解决的问题


主要解决的问题就是域名到ip地址的转换


1.问题1: 如何命名设备

需要通过一些有意义的字符串来标识设备。便于记忆


解决一个平面命名的重名问题:层次化命名


2.问题2:如何完成(域名)名字到IP地址的转换

分布式的数据库维护和响应名字查询


3.问题3:如何维护:增加或者删除一个域,需 要在域名系统中做哪些工作


DNS (Domain Name System) 的发展历史


ARPANET 的名字解析 解决方案:


  1. 主机名:没有层次的一个字符串(一个平面)
  2. 存在着一个(集中)维护站:维护着一张 主机名-IP地址 的映射文件:****Hosts.txt
  3. 每台主机定时从维护站取文件


上述ARPANET 的名字解析 解决方法所遇到的问题:

当网络中主机数量很大时


没有层次的主机名称很难分配


文件的管理、发布、查找都很麻烦


DNS的总体设计思路和目标


设计思路:

  • 分层的、基于域的命名机制 (分层命名)
  • 若干分布式的数据库完成名字到IP地址的转换


通过上面的方式来解决名字到ip地址的转换关系。


  • 运行在UDP之上端口号为53的 应用服务
  • 核心的Internet功能,但以应用层协议实现
  • 在网络边缘处理复杂性


互联网的很多核心功能都是在网络的边缘,通过端系统之上的应用进程来实现的。(复杂性体现在边上, 传输层及以上)


DNS的主要目的:


  1. 实现主机名-IP地址的转换(name/IP translate)
  2. 其它目的
  • 主机别名到规范名字的转换:Host aliasing
  • 邮件服务器别名到邮件服务器的正规名字的转换:Mail server aliasing
  • 负载均衡:Load Distribution


解决的三个问题 :


问题一 : DNS名字空间(The DNS Name Space)


DNS域名结构 :

  1. 一个层面命名设备会有很多重名
  2. NDS采用层次树状结构的 命名方法
  3. Internet 根被划为几百个顶级域(top lever domains)


通用的


.com; .edu ; .gov ; .int ; .mil ; .net ; .org .firm ; .hsop ; .web ; .arts ; .rec ;


国家级别的:


.cn ; .us ; .nl ; .jp


  1. 每个(子)域下面可划分为若干子域(subdomains)
  2. 树叶是主机


DNS: 根名字服务器


全球只有这13个。中国这边没有。


10个在美国、1个在英国、1个在瑞典、1个在荷兰


这是存在一些安全隐患的,我国只有相关的镜像


创建一个新的域,必须征得它所属域的同意 。


DNS名字空间(The DNS Name Space)


1689853497235-b247a473-afd0-4e59-a8f4-408b3ad01a4b.png

域名(Domain Name)

  1. 从本域往上,直到树根 所有的都属于这个域名
  2. 中间使用“.”间隔不同的级别


例如: ustc.edu.cn 、 auto.ustc.edu.cn …


  1. 域的域名:可以用于表示一个域
  2. 主机的域名:一个域上的一个主机


域名的管理


一个域管理其下的子域 (前缀树)


.jp 被划分为 ac.jp co.jp ;


.cn 被划分为 edu.cn com.cn ;


创建一个新的域,必须征得它所属域的同意 ()


域与物理网络无关


  • 域的划分是逻辑的,而不是物理的
  • 域遵从组织界限,而不是物理网络


一个域的主机可以不在一个网络 。但是, 一个网络的主机不一定在一个域



目录
相关文章
|
消息中间件 监控 数据可视化
Linux安装Kafka图形化界面
Linux安装Kafka图形化界面
638 4
|
监控 前端开发 数据库
Zabbix 5.0 LTS部署实战篇
这篇文章是关于Zabbix 5.0 LTS部署的详细教程,包括版本选择、服务器平台选择、安装步骤、数据库配置、前端安装以及修改时区和设置开机自启等内容。
874 1
Zabbix 5.0 LTS部署实战篇
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
盘点2024年最先进的智能客服机器人TOP10 #SaaS产品#
综合市场数据和用户口碑为大家盘点10大主流服务商
630 4
|
NoSQL 安全 Redis
Redis.conf详解
【1月更文挑战第7天】启动的时候,就通过配置文件来启动!
337 95
|
消息中间件 物联网 API
消息队列 MQ使用问题之如何在物联网项目中搭配使用 MQTT、AMQP 与 RabbitMQ
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
XML 存储 文件存储
LabVIEW使用自定义模板和示例项目来开发LabVIEW项目
LabVIEW使用自定义模板和示例项目来开发LabVIEW项目
176 0
|
数据可视化 数据挖掘 Python
Python实践:seaborn的散点图矩阵(Pairs Plots)可视化数据
如何快速创建强大的可视化探索性数据分析,这对于现在的商业社会来说,变得至关重要。今天我们就来,谈一谈如何使用python来进行数据的可视化!
16116 0
|
算法 测试技术 文件存储
详细解读 | CVPR 2021轻量化目标检测模型MobileDets(附论文下载)(二)
详细解读 | CVPR 2021轻量化目标检测模型MobileDets(附论文下载)(二)
549 0
|
算法 数据处理 C++
下一篇
开通oss服务