【计算机网络】应用层——网络应用模型/域名系统DNS

应用层

网络应用模型

客户/服务器模型
  • 在客户/服务器模型中,有一个总是打开的主机称为服务器,它服务于许多来自其他称为客户机的主机请求;
  • 工作流程:
    1. 服务器处于接收请求的状态;
    2. 客户机发出服务请求,并等待接收结果;
    3. 服务器收到请求后,分析请求,进行必要的处理,得到结果并发送给客户机;
  • 客户程序必须知道服务器程序的地址,服务器程序不需要知道客户程序的地址;
  • 客户/服务器模型最主要的特征:
    • 客户是服务请求方,服务器是服务提供方;
    • 网络中各计算机地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的,整个网络的管理工作有少数服务器担当,因此网络的管理非常集中和方便;
    • 客户机相互之间不直接通信;
    • 可扩展性不佳,受服务器硬件和网络带宽的限制,服务器支持的客户机数有限;
  • 客户/服务器模型

客户服务器模型

P2P模型
  • 思想:
    • 整个网络中的传输内容不再被保存在中心服务器上,每个结点同时具有下载、上传的功能,其权利和义务都是大体对等的;
    • 任意一对计算机称为对等方,直接相互通信;
    • 本质上看仍然使用客户/服务器模型,每个结点既作为客户访问其他结点的资源,也作为服务器提供资源给其他结点访问;
  • 与C/S模型相比,P2P模型的优点:
    1. 减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点上,因此大大提高了系统效率和资源利用率;
    2. 多个客户机之间可以直接共享文档;
    3. 可扩展性好,传统服务器有响应和带宽的限制,因此只能接受一定数量的请求;
    4. 网络健壮性强,单个结点的失效不会影响其他部分的结点;
  • P2P模型的缺点:
    • 在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存,影响整机速度;
      • 经常进行P2P下载会对硬盘造成较大的损伤;
  • P2P模型

P2P模型

域名系统 DNS

  • 域名系统是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名转换为便于机器处理的IP地址;
  • 概念上可分为3部分:层次域名空间、域名服务器和解析器;

注意

  • DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用53号端口;
层次域名空间
  • 采用层次树状结构的命名方法;
  • 任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名;
    • 域:名字空间中一个可被管理的划分;
    • 域还可以划分为子域,而子域还可以继续划分为子域的子域,形成顶级域、二级域、三级域等;
  • 域名中的标号需要注意:
    1. 标号中的英文不区分大小写;
    2. 标号中除连字符_外不能使用其他的标点符号;
    3. 每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符;
    4. 级别最低的域名写在最左边,级别最高的顶级域名写在最右边;
  • 顶级域名:
    1. 国家顶级域名nTLD:国家和某些地区的域名;
    2. 通用顶级域名gTLD:常见的有.com-公司,.net-网络服务机构,.org-非营利性组织,.gov-国家或政府部门;
    3. 基础结构域名:arpa,用于反向域名解析,又称反向域名;
  • 域名空间的树状结构

域名空间的树状结构

域名服务器
  • 因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型;
  • DNS使用了大量的域名服务器,它们以层次方式组织,没有一台域名服务器具有因特网上所有主机的映射,相反,该映射分布在所有的DNS上;
根域名服务器
  • 根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址
  • 根域名服务器用来管辖顶级域,通常它并不直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询;
顶级域名服务器
  • 负责管理在该顶级域名服务器注册的所有二级域名;
  • 收到DNS查询请求时,就给出相应的回答,可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址;
授权域名服务器(权限域名服务器)
  • 每台主机都必须在授权域名服务器处登记;
  • 为了更加可靠地工作,一台主机最好至少有两个授权域名服务器;
本地域名服务器
  • 当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器;
  • 事实上,我们在window系统中配置“本地连接”时,就需要填写DNS地址,这个地址就是本地DNS(域名服务器)的地址
  • DNS层次结构

DNS层次结构

域名解析过程
  • 域名解析是指把域名映射成为IP地址或把IP地址映射成域名的过程,前者称为正向解析,后者称为反向解析;
  • 当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS请求报文,以UDP数据报方式发往本地域名服务器;
  • 域名解析的两种方式:
    • 递归查询;
    • 递归与迭代相结合的查询;
递归查询
  • 递归查询过程

递归查询

  • 缺点:
    • 给根域名服务造成的负载过大,实际中几乎不使用;
递归域迭代相结合的查询
  • 递归与迭代相结合的查询过程

递归与迭代相结合方式

  1. 主机向本地域名服务器的查询采用的是递归查询

    • 如果本地主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文,而不是让该主机自己进行下一步的查询;
  2. 本地域名服务器向根域名服务器的查询采用迭代查询

    • 一个例子:
      1. 客户机向其本地域名服务器发出DNS请求报文-递归查询;
      2. 本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求报文-迭代请求;
      3. 根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器;
      4. 本地域名服务器向顶级域名服务器dns.com发出解析请求报文-迭代查询;
      5. 顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器;
      6. 本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文-迭代查询;
      7. 授权域名服务器dns.abc.com收到请求后,把查询结果返回给本地域名服务器;
      8. 本地域名服务器将查询结果保存到本地缓存,同时返回给客户机;
    • 当一个DNS服务器接收到DNS查询结果时,它能将该DNS信息缓存在高速缓存中,这样当另一个相同的域名查询到该DNS服务器时,该服务器就能直接提供所要求的IP地址,无需向其他DNS服务器询问;
    • 主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值