应用层作为和用户直接交互的一层,它具体的内容就是规定应用进程在通信时所需要遵循的协议。
应用层的很多协议都是基于客户-服务器方式(C-S方式),即便是 P2P 的方式,本质上也只是一种特殊的客户-服务器方式。
这一层的主要内容是:
(1)域名系统 DNS ——怎么通过域名得到对应的 IP 地址
(2)万维网和 HTTP 协议(这是搜索引擎使用的应用层协议)
(3)电子邮件的发收流程,及 SMTP、POP3、IMAP 协议(这是电子邮件作为独立的应用进程使用的有应用层协议)
(4)动态主机配置协议 DHCP 的特点
(5)P2P 文件系统
本篇的内容主要是域名系统及内部组成的概念,如何在理论上通过域名得到相应的 IP 地址。

域名系统 DNS

  • 域名的必要性

域名系统 DNS(domain name system)的每一个域名都对应已经连入 Internet 的主机( IP 地址), 我们通过访问域名,本质上就是访问相应的 IP 地址,为什么要使用域名呢?因为域名是面向于用户的,IP 地址是面向于过程的。IPv4 是32位,而 IPv6 是128位,更加不可能记得住。

  • 通过域名查询到相应的 IP 地址的方法

互联网使用的是层次树状结构的命名方式,并使用分布式的 DNS 。在互联网上有部署了一些服务器,专门是用来运行查询域名的程序,这些服务器被称为域名服务器。
域名到 IP 地址的解析过程流程大致如下:在计算机网络外围的客户机,需要查询一个域名对应的 IP 地址时,先在本机上调用解析程序,成为 DNS 的一个用户。将待解析的域名放在 DNS 请求中,以 UDP 的运输层协议方式,发送给本地域名服务器(本地域名服务器,是指离本机最近的域名服务器,使用 UDP 是为了减少开销),本地域名服务器查找到域名后,返回给客户机。
如果本地服务器找不到,则运行在本地域名服务器的查询程序,会发送查询请求到其他域名服务器,一直查询到能够找到域名对应的 IP 地址的域名服务器为止。

  • 互联网的域名结构

域(domain)是名字空间里一个可以被管理的划分。域,可以被分为子域,子域再划分等等。所以有顶级域、二级域。三级域等等。
每一个域名,都是由标号(label)序列组成的,从右到左开始依次作为子域,各个 label 之间用小数点隔开。如:mail(三级域名).cctv(二级域名).com(顶级域名)。
DNS 没有规定域名额命名和层数要有多少。这意味着域名只是逻辑概念,域名中的小数点,和 IP 地址里的小数点,并没有一一对应的说法。即,域名的命名和层数只是按照人类便于理解来划分和命名的,但和 IP 地址的“子网”,没有必然关系。

  • 常见到的域名:

顶级域名(top level domain)分为国家顶级域名(nTLD)、通用顶级域名(gTLD)、基础结构域名(infrastructure domain)。
国家顶级域名: .cn .us .uk 之类的。
通用顶级域名:.com .net .org .int .edu 等等。
基础结构域名:这种顶级域名只有一个,即 arpa,用来反向域名解析,因此又称为反向域名。

国内的二级域名分为类别域名和行政区域名。
类别域名共7个:ac(科研机构)、com(企业)、edu(教育单位)、gov(政府单位)、mil(国防机构)、net(提供互联网服务的机构)、org(非盈利性的组织)。
行政区域名,即是各省、直辖市的。如 bj(北京)、js(江苏)。

域名服务器
一个服务器(即是一个 IP 地址)能够管理的内容,称为一个区(zone)。其实也就是现在及将来会存放在这个服务器里的东西。一个服务器只能存放一个域的内容,但是一个域的内容可以存放在多个服务器中,这个很正常,微信域名不知道有多少服务器在撑着的(即是,一个域名可以对应多个 IP地址、一个 iP 只能对应一个域名)。那域名对应了多个 IP 地址, 如何确定到底要访问哪一地址呢?每一个区都会有一个权限域名服务器,用来保存该区中所有的主机的域名到 IP 地址的映射。区是 DNS 服务器的实际管辖的范围,区可能等于或者小于域但一定不会大于域。

  • 域名服务器的类型和各自的作用

根域名服务器(root name server):最高层次的域名服务器,知道所有的顶级域名服务器和 IP 地址。
顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名。
权限域名管理器:负责一个区的域名一般就是一个域名对应了一群服务器,到底对应哪一台的 IP 地址。
本地域名服务器:就像前面所说的一样,一台计算机网络外围的主机,要获知一个域名对应哪一个 IP 地址时,最先是将报文信息发送给本地域名服务器,也称为默认域名服务器。查看本地域名服务器 IP 地址:控制面板——网络和 Internet——网络和共享中心——查看网络状态和任务——无线网络连接(假定采用家庭网咯)——属性——Internet 协议版本4——属性,即可看待首选 DNS 服务器和备用 DNS 服务器的 IP 地址。这里的 DNS 服务器,就是本地域名服务器。
补充的是,DNS 域名服务器会将数据备份到几个域名服务器来保存,一个作为主域名服务器(master name server),其他作为辅助域名服务器(secondary name server),以保证域名服务器的可靠性。
这样子看来,通过域名查询 IP 的流程是:本机——本地域名服务器——其他——得到 IP 地址。获得 IP 地址之后,下一步就是解决成功连接目的 IP 地址并获取信息的问题了,这个之后另外说,但其实思路都十分清晰了。

  • 域名服务器的高速缓存

为了提高 DNS 查询效率,并减轻根域名服务器的负担和减少互联网上的 DNS 查询报文数量,在域名服务器里广大使用高速缓存(因此,也称为高速缓存域名服务器)。高速缓存是存放了最近查询过的域名以及从何处获得域名映射信息的记录。映射(mapping)即是指两集合元素的一种对应规则。
通过高速缓存,如果之前域名服务器有查询过某一个域名对应的 IP 地址,而且现在依旧有保存,则可以直接调用。但是,出于担心域名和 IP 地址的绑定,未必是一直固定不变的。所以,域名服务器的设计者会设置有效时长,为缓存的每项内容设置计时器并清理过期项。

计算机网络之应用层(DNS域名系统)相关推荐

  1. 【计算机网络】应用层 : DNS 域名解析系统 ( 域名 | 域名服务器 | 域名解析过程 | 递归查询 | 迭代查询 | 高速缓存 )

    文章目录 一.域名 二.域名服务器 三.域名解析过程 四.递归查询 五.迭代查询 六.高速缓存 一.域名 域名 : ① 域名表示方法 : 字母 , 数字 , "-" 符号 , &q ...

  2. 【计算机网络】应用层 : 总结 ( 网络应用模型 C/S P2P | 域名解析 DNS | 文件传输协议 FTP | 电子邮件 | 万维网 与 HTTP ) ★★★

    文章目录 一.网络应用模型 ★ 二.域名解析过程 ★ 三.FTP 文件传输协议 四.电子邮件★ 五.万维网 和 HTTP 协议★ 一.网络应用模型 ★ 网络应用模型 : ① 客户 / 服务器 模型 ( ...

  3. 【计算机网络】DNS域名系统

    DNS域名系统 域名系统(Domain Name System, DNS)是互联网使用的命名系统,用来把熟知的域名转换为IP地址. DNS被设计为一个联机分布式数据库系统,DNs使大多数解析都在本地进 ...

  4. 计算机网络自顶向下-应用层

    一.简介: 网络应用是计算机网络存在的理由,没有了应用也不存在任何的网络协议.我们学习网络应用的原理和实现方面知识,从定义应用层概念开始,其中包括网络服务.客户]服务器.进程和运输层接口. 其中包括我 ...

  5. 计算机网络之应用层图解,秒解应用层HTTP,期末考试不担心!!

    应用层 已同步微信公众号:乐享Coding,期待你的关注! 应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分. 首先对应用层要有个大概了解,思维导图 ...

  6. 计算机网络体系结构 - 应用层

    一.应用层协议 (1)域名系统(Domain Name System,DNS):用于实现网络设备名字到IP地址映射的网络服务. (2)文件传输协议(File Transfer Protocol,FTP ...

  7. 计算机网络之网络应用--DNS应用

    系列文章目录 第二章计算机网络网络应用之DNS应用 DNS应用 系列文章目录 一.DNS概述(域名系统) 二.分布式层次数据库 2.1DNS根域名服务器 2.2顶级域名服务器(TLD)和权威域名服务器 ...

  8. 计算机网络:应用层基本概念

    (自己整理的<计算机网络>学习笔记,供自己和大家参考学习.未完待续,持续更新中-) 1.主机也称为端系统. 2.发送主机要向另一台主机发送数据,要将数据分段,并为每段加上首部字节,由此形成 ...

  9. 计算机网络原理 - 应用层

    计算机网络原理 - 应用层 应用层 应用层是主机上进程之间的交互,不同的进程内可以有多个线程,多线程处理数据 2.1 应用层协议原理 研发网络应用的核心是写出能够运行在不同端系统和通过网络彼此通信的程 ...

  10. 自顶向下计算机网络学习 应用层

    自顶向下计算机网络学习 应用层 一.应用层协议原理 1. 网络应用的体系结构 1.1 客户-服务器(C/S)体系结构 1.2 对等体(P2P)体系结构 1.3 混合体:客户 - 服务器和对等体系结构 ...

最新文章

  1. 人工智能发展弊端的解决方案_高中优秀作文赏析:科技创新、人工智能与人类未来之辩...
  2. PHP学习笔记:php二手交易市场系统
  3. git commit --amend修改git commit提交的message
  4. Spring-core-Environment/profiles
  5. PlatformTransactionManager
  6. ov7740摄像头模块
  7. 基于SpringBoot的宠物医院管理系统
  8. 在华为能拿多少工资,揭秘一个真实的华为!
  9. 移动web开发rem+js适配布局开发
  10. r语言在linux怎么实现,如何在linux环境下使用r语言
  11. 2021-04-24
  12. 生成pdf带跳转的书签
  13. 大小是否对自然语言文本生成很重要
  14. python爬虫爬取车标网所有车标Logo
  15. 英雄联盟拳头公司个人开发API如何注册获取 - Web-scraping爬虫
  16. 手机ufs测试软件,折腾1000个App UFS 3.0手机极限测试
  17. hadoop集群安装ES(ElasticSearch 5.0.2)
  18. 拼多多店群被割N次韭菜,终于测试出一个接近100%成功率的起店方法,日出百单!
  19. Unity3D项目十:简单坦克大战
  20. 对于学习知识的一点心得体会

热门文章

  1. 6月份鸿蒙升级名单,华为鸿蒙系统6月升级名单机型有哪些
  2. IIS 启动不了(发生意外错误0x8ffe2740)
  3. ie浏览器java不弹窗_解决IE屏蔽Java Applet问题的方法 .
  4. js控制excel打印完美解决方案
  5. 万字长文--详解Node.js(快速入门)
  6. PLSQL 误删表恢复及误删数据恢复
  7. SDKMAN 安装过程
  8. python编程爱心编码_用python画爱心及代码演示
  9. HBaseCon Asia 2019 Track 3 概要回顾
  10. 阿里云推高校YY计划助推大学生创业潮