zoukankan      html  css  js  c++  java
  • 《计算机网络 自顶向下方法》 第2章 应用层 Part2

    域名、主机名?
     
    从范围上看:
    域名的范围比主机名大
    一个域名下通常有多个主机名
    从组成上看:
    主机名 = 服务器名(或计算机名) + 域名
    举例说明:
    baidu.com 是百度的域名
    www.baidu.com 是百度的 www 主机名
    map.baidu.com 是百度的地图主机名
     
     
    DNS 是什么?
     
    DNS 的全称 Domain Name System,即域名系统
    它的作用是提供主机名到 IP 地址的映射
    在上一个问题中讨论了域名和主机名的区别,知道它们不是一回事,至于为什么 DNS 叫域名系统,不叫主机名系统,我弄不明白
     
     
    为什么需要 DNS?
     
    主机名对人类友好,便于人类记忆
    IP 地址便于网络寻址,它由 4 个字节组成,我们平常看到的 IP 地址一般会有英文的点(.)将每个字节隔开,从左往右读 IP 地址,可以逐步确定其对应机器的位置,比如对于同一个市的人,乙想去甲家找他玩,甲告诉乙他家的地址是 县.镇.村.门牌号,这样乙就能准确无误的找到甲的家了
    现在的关系链是这样的,人类 → 主机名,IP 地址 → 主机,中间缺少从主机名到 IP 地址的映射,DNS 提供的就是这样一个映射服务,从而将整个链路打通(人类 → 主机名 → IP 地址 → 主机)
     
     
    DNS 提供的服务有哪些?
     
    DNS 除了提供从主机名到 IP 地址的映射
    还提供以下服务:
    1、主机别名
    由于有些主机名比较复杂,所以 DNS 允许他们使用一些易于记忆的别名,而且我们可以通过将别名传送给 DNS 来获取它的(规范)主机名和 IP 地址
    2、邮件服务器别名
    同上
    3、负载分配
    由于服务器站点可能非常繁忙,单台主机无法应付频繁的、大量的请求,所以有些他们准备了多台服务器来提供相同的服务,即一个主机名可以映射到一个 IP 地址集合
    当客户对映射到某地址集合的名字发出一个 DNS 请求时,该服务器用 IP 地址的整个集合进行响应,但在每个回答中循环这些地址次序
     
     
    DNS 的工作机制是怎样的?
     
    一般而言,将所有的主机与 IP 地址的映射关系放在一台服务器上,是能想到最简单的方案
    但是由于因特网上的主机数量实在是太多了,所以如果都放在同一个服务器上的话,会有以下问题存在:
    1、单点故障
    即,如果这个服务器出了故障,则会导致整个因特网整体瘫痪
    2、通信容量
    一个服务器要处理来自整个因特网所有主机的请求,容量必须很大
    3、远距离的集中式数据库
    即,如果只有一个服务器,则地球上总有距离它很远的主机,当这些主机请求 DNS 服务时,时延会相当大
    4、维护
    由于要维护所有的主机与 IP 地址的映射关系,则这个中央数据库非常庞大,而且当有新添加的主机时,这个数据库还要对应更新
    综上,集中式服务器扩展性极差
    所以,对于这种巨大规模的数据处理,不可能采用集中式的方案
    DNS 使用了分布式方案,使用了大量的服务器,以层次组织它们
    大致来说,有三种类型的服务器,即根 DNS 服务器、顶级域 DNS 服务器和权威 DNS 服务器
    一般而言,在 DNS 中查询 IP 地址时,使用的是下图所示的模式:
     
    DNS 缓存?
     
    为了改善时延性能并减少在因特网上到处传输的 DNS 报文数量,DNS 广泛使用了缓存技术。
    在一个请求链中,当某 DNS 服务器接收一个 DNS 回答时,它能将该回答中的信息缓存到本地存储器中
     
     
    P2P 应用强大在哪?
     
    对于客户-服务器体系结构,能够提供资源的只有服务器,如果大量的客户需要同一个服务器上的同一个文件,他们都需要从服务器上获取,那么总时间会随着客户数量线性增长
    而对于 P2P 应用,每个主机都可以成为服务器,可想而知,整个的时间会被平摊下来
    书中“2.6 P2P 应用”一节,有详细的定量讨论
  • 相关阅读:
    POJ 2457 Part Acquisition
    POJ 1364 King ( 差分约束 )
    HDU 4292 Food (SAP | Dinic )
    1492: 费马定理 (快速幂)
    Csharp: 打印設置字符之間的間距
    sql script: Calculating Days
    Csharp: 阴历年甲子干支算法錯誤問題
    Csharp: 拼音转汉字字符搜索字符串
    SQL Server Dates or Calendar Table for PowerPivot
    Csharp:白底圖片透明處理
  • 原文地址:https://www.cnblogs.com/stone94/p/10935082.html
Copyright © 2011-2022 走看看