网课是b站中科大郑烇老师,杨坚老师课程,郑烇老师账号发布的
图片均来自郑老师分享的PPT

第二章 应用层

目录

  • 第二章 应用层
    • 2.4DNS:域名系统
      • 1、DNS的必要性
      • 2、DNS系统需要解决的问题
        • 问题1:如何命名设备
          • (1)DNS域名结构
          • (2)DNS: 根名字服务器
          • (3)DNS名字空间(The DNS Name Space)
          • (4)域名的管理
          • (5)域与物理网络无关
        • 问题2:如何完成名字到IP地址的转换
          • 1>、一个名字服务器的问题
          • 2>、区域(zone)
          • 3>、顶级域(TLD)服务器:
          • 4>、区域名字服务器维护资源记录
          • 5>、DNS记录
          • 6>、DNS大致工作过程
          • 7>、本地名字服务器(Local Name Server)
          • 8>、名字服务器(Name Server)
          • 9>、上述情况2的查询方法
        • 问题3:如何维护域名系统
      • 3、DNS的主要思路
      • 4、DNS主要目的
      • 5、DNS协议、报文
      • 6、缓存
      • 7、攻击DNS
        • DDoS 攻击
          • 对根服务器进行流量轰炸
          • 向TLD服务器流量轰炸攻击
        • 重定向攻击
          • 中间人攻击
          • DNS中毒
          • 技术上较困难

2.4DNS:域名系统

1、DNS的必要性

IP地址标识主机、路由器,但是IP地址不好记忆
人类一般倾向于使用一些有意义的字符串来标识Internet上的设备
存在着“字符串”—>IP地址的转换的必要性
人类用户提供要访问机器的“字符串”名称,由DNS负责转换成为二进制的网络地址

2、DNS系统需要解决的问题

问题1:如何命名设备

用有意义的字符串:好记,便于人类用使用
解决一个平面命名的重名问题:层次化命名

(1)DNS域名结构

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

  • 通用的(generic)
    .com; .edu ; .gov ; .int ; .mil ; .net ; .org
    .firm ; .hsop ; .web ; .arts ; .rec ;
  • 国家的(countries)
    .cn ; .us ; .nl ; .jp

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

(2)DNS: 根名字服务器

(3)DNS名字空间(The DNS Name Space)


域名(Domain Name)构成

  • 从本域往上,直到树根
  • 中间使用“.”间隔不同的级别

域的域名:可以用于表示一个域(树枝是起点,树根是终点)
主机的域名:一个域上的一个主机(树叶是起点,树根是终点)

(4)域名的管理
  • 一个域管理其下的子域
    .jp 被划分为 ac.jp co.jp
    .cn 被划分为 edu.cn com.cn

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

(5)域与物理网络无关
  • 域遵从组织界限,而不是物理网络
    一个域的主机可以不在一个网络
    一个网络的主机不一定在一个域
  • 域的划分是逻辑的,而不是物理的

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

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

1>、一个名字服务器的问题
  • 可靠性问题:单点故障
  • 扩展性问题:通信容量
  • 维护问题:远距离的集中式数据库
2>、区域(zone)
  • 区域的划分有区域管理者自己决定
  • 将DNS名字空间划分为互不相交的区域,每个区域都是树的一部分
  • 名字服务器:
    每个区域都有一个名字服务器:维护着它所管辖区域的权威信息
    名字服务器允许被放置在区域之外,以保障可靠性

权威DNS服务器:
组织机构的DNS服务器, 提供组织机构服务器(如Web和mail)可访问的主机和IP之间的映射,组织机构可以选择实现自己维护或由某个服务提供商来维护

3>、顶级域(TLD)服务器:

负责顶级域名(如com, org, net, edu和gov)和所有国家级的顶级域名(如cn, uk,fr, ca, jp )
Network solutions 公司维护com TLD服务器
Educause公司维护edu TLD服务器

4>、区域名字服务器维护资源记录
  • 资源记录(resource records)
    作用:维护 域名-IP地址(其它)的映射关系
    位置:Name Server的分布式数据库中
  • RR格式: (domain_name, ttl, type,class,Value)
    (1)Domain_name: 域名
    (2)Ttl: time to live : 生存时间(权威,缓冲记录)
    (TTL决定了资源记录应当从缓存中删除的时间,权威的生存时间为无限大,生存时间不是无限大的就是缓存,缓存的生存时间TTL默认为2天)
    缓存是为了性能,删除是为了一致性
    (3)Class 类别 :对于Internet,值为IN
    (4)Value 值:可以是数字,域名或ASCII串
    (5)Type 类别:资源记录的类型

    例子:
    资源记录(RR)格式: (domain_name, ttl, type,class,Value)
    生存时间为空表示是权威
5>、DNS记录

DNS :保存资源记录(RR)的分布式数据库
资源记录(RR)格式:(name, value, type, ttl)

6>、DNS大致工作过程
  • 应用调用 解析器(resolver)
  • 解析器作为客户 向Name Server发出查询报文(封装在UDP段中)
  • Name Server返回响应报文(name/ip)
7>、本地名字服务器(Local Name Server)

不严格属于层次结构
每个ISP (居民区的ISP、公司、大学)都有一个本地DNS服务器(即默认名字服务器)
当一个主机发起一个DNS查询时,查询被送到其本地DNS服务器
起着代理的作用,将查询转发到层次结构中

8>、名字服务器(Name Server)

名字解析过程
目标名字在Local Name Server中
情况1:
查询的名字在该区域内部
情况2:
缓存(cashing)
当与本地名字服务器不能解析名字时,联系根名字服务器顺着根-TLD 一直找到权威名字服务器

9>、上述情况2的查询方法
  • 递归查询:
    名字解析负担都放在当前联络的名字服务器上
    (1)问题:根服务器的负担太重
    (2)解决: 迭代查询(iterated queries)
  • 迭代查询
    主机cis.poly.edu 想知道主机 gaia.cs.umass.edu的IP地址
    (1)根(及各级域名)服务器返回的不是查询结果,而是下一个NS的地址
    (2)最后由权威名字服务器给出解析结果,当前联络的服务器给出可以联系的服务器的名字

问题3:如何维护域名系统

增加或者删除一个域,需要在域名系统中做哪些工作

  • 在上级域的名字服务器中增加两条记录,指向这个新增的子域的域名域名服务器的地址
  • 在新增子域 的名字服务器上运行名字服务器,负责本域的名字解析: 名字->IP地址

例子:在com域中建立一个“Network Utopia”

  • 到注册登记机构注册域名networkutopia.com
    需要向该机构提供权威DNS服务器(基本的、和辅助的)的名字和IP地址
    登记机构在com TLD服务器中插入两条RR记录: (networkutopia.com,dns1.networkutopia.com, NS)
    (dns1.networkutopia.com, 212.212.212.1, A)
  • 在networkutopia.com的权威服务器中确保有
    (1)用于Web服务器的www.networkuptopia.com的类型为A的记录
    (2)用于邮件服务器mail.networkutopia.com的类型为MX的记录

3、DNS的主要思路

  • 分层的、基于域的命名机制
  • 若干分布式的数据库完成名字到IP地址的转换
  • 运行在UDP之上端口号为53的应用服务
  • 域名解析是核心的Internet功能,但以应用层协议实现 (在网络边缘处理复杂性)

4、DNS主要目的

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

5、DNS协议、报文

DNS协议:查询和响应报文的报文格式相同

6、缓存

一旦名字服务器学到了一个映射,就将该映射缓存起来
根服务器通常都在本地服务器中缓存着,使得根服务器不用经常被访问
目的:提高效率
可能存在的问题:如果情况变化,缓存结果和权威资源记录不一致
解决方案:TTL(默认2天),2天后删除
(TTL决定了资源记录应当从缓存中删除的时间,权威的生存时间为无限大,生存时间不是无限大的就是缓存,缓存的生存时间TTL默认为2天)
缓存是为了性能,删除是为了一致性

7、攻击DNS

总的说来,DNS比较健壮

DDoS 攻击

对根服务器进行流量轰炸

攻击:发送大量ping
没有成功
原因1:根目录服务器配置了流量过滤器,防火墙
原因2:Local DNS 服务器缓存了TLD服务器的IP地址, 因此无需查询根服务器

向TLD服务器流量轰炸攻击

攻击:发送大量查询
可能更危险
效果一般,大部分DNS缓存了TLD

重定向攻击

中间人攻击

截获查询,伪造回答,从而攻击某个(DNS回答指定的IP)站点

DNS中毒

发送伪造的应答给DNS服务器,希望它能够缓存这个虚假的结果

技术上较困难

分布式截获和伪造
利用DNS基础设施进行DDoS

  • 伪造某个IP进行查询, 攻击这个目标IP
  • 查询放大,响应报文比查询报文大
  • 效果有限

计算机网络学习笔记10(DNS)相关推荐

  1. 【计算机网络学习笔记】(汇总目录)

    计算机网络学习笔记(汇总目录) 文章目录 点击以下标题,跳转到对应章节的详细讲解 [计算机网络学习笔记01]计算机网络概述(上) [计算机网络学习笔记02]计算机网络概述(中) [计算机网络学习笔记0 ...

  2. 计算机网络学习笔记:第二章

    文章目录 计算机网络学习笔记:第二章 前言 2.1.应用层协议原理 2.1.1 网络应用程序体系结构 2.1.2 进程通信 2.1.3 可供应用程序使用的运输服务 2.1.4 因特网提供的传输层服务 ...

  3. 【计算机网络学习笔记】计算机网络

    计算机网络学习笔记 第一章 计算机网络概述 1. 计算机网络概述 1.1 计算机网络的概念 1.2 计算机网络的组成 1.3 计算机网络的功能 1.4 计算机网络的分类 1.5 计算机网络的标准化工作 ...

  4. 计算机网络学习笔记(详尽版)

    计算机网络学习笔记 计算机网络 第一章 定义和特点 网络 定义 功能 特点 组成 类别 性能 结构 本章重要概念 第二章 物理层 基本概念和标准 数据通信基础知识 物理层下的传输媒体 引导型传输媒体 ...

  5. 计算机网络学习笔记---第一章

    计算机网络学习笔记 第一章 文章目录 计算机网络学习笔记 第一章 前言 一.计算机网络的概念 (一)计算机网络的功能 1.数据通信(连通性) 2.资源共享(硬件 软件 数据) 3.分布式处理 (Had ...

  6. 【计算机网络学习笔记02】计算机网络概述(中)

    [计算机网络学习笔记02]计算机网络概述(中) 计算机网络的定义.组成与分类 1计算机网络的定义 1.1 简单定义: 一些相互连接的.以共享资源为目的的.自治的计算机的集合. 1.2 通用定义: 利用 ...

  7. 【计算机网络学习笔记13】交换技术(下)

    [计算机网络学习笔记13]交换技术(下) 一.生成树的诞生和发展 1. 环路问题 两个网桥之间的连接网线如果只有一根,而这根网线或者接口有问题,网络就会出现单点故障.所以为了提高可靠性,网桥在互连时一 ...

  8. 片偏移怎么计算_计算机网络学习笔记(四)之网络层

    点击蓝字关注我吧 越努力越幸运!!! 1 网络层的功能 1.1异构网络互联 网络的互联:指将两个以上的计算机网络,通过一定的方法, 用一种或多种通信处理设备(即中间设备)相互联接起来,以构成更大的网络 ...

  9. 计算机网络学习笔记之数据链路层的介质访问控制

    计算机网络学习笔记之数据链路层的介质访问控制 介质访问控制 信道划分介质访问控制 随机访问介质访问控制 ALOHA协议(不听就说) 纯ALOHA协议 时隙ALOHA协议 比较 CSMA协议(先听再说) ...

最新文章

  1. system pause in C#
  2. 关于使用AIR开发移动APP 的技术解决方案 笔记
  3. 数据结构实验之求二叉树后序遍历和层次遍历
  4. 从OpenFOAM的源码中查找信息
  5. 远程工具:MobaXterm使用图文教程
  6. 【2018.3.10】模拟赛之三-ssl2576 平台
  7. dex工具与transform_Android Studio打包程序时出现transformClassesWithDexForRelease错误
  8. 将html代码转换为dom,将HTML字符转换为DOM节点并动态添加到文档中
  9. selenium java测试_java+selenium 自动化测试
  10. android 控件方向旋转90度,android – 旋转视图层次90度
  11. LeetCode 810. 黑板异或游戏(博弈推理)
  12. 什么牌子的平板电脑好_平板电脑什么牌子好?带你一探年度最佳平板的奥秘
  13. 前端捕捉轨迹_基于JavaScript实现每日签到打卡轨迹功能
  14. gradle DSL method not found: android()
  15. 20210322 :贪心思想力扣典型题目合集
  16. OLAP-presto-大数据Week13-DAY-presto
  17. Hive实现oracle的Minus函数
  18. ECHAR学习-Part1 文字特效
  19. Ps快捷键及基础知识
  20. POWERSHELL脚本编写利器:PowerGUI Visual Studio Extension

热门文章

  1. 微服务项目构建标准文档
  2. 在开发过程中为什么需要写存储过程
  3. HTML 创建按钮实现跳转链接
  4. jq swiper动画
  5. docker 部署 jetbrains license server
  6. 视频文件格式与视频编码格式的区别
  7. dsf5.0 自定义数组格式
  8. 数据可视化----高德API热力图
  9. codecombat极客战记--山峰--士兵的祸害
  10. 2022-2027年中国成人服装行业市场深度分析及投资战略规划报告