网络协议核心考点总结
第四章
- 主机的标志方式
- 数据链路层:物理地址(MAC)
- 网络层:逻辑地址(IP)
- 地址解析:逻辑地址与物理地址之间的映射
- 地址解析协议ARP:从IP地址到物理地址的映射
- 反向地址解析协议RARP:从物理地址到IP地址的映射
- ARP功能
- 发送数据包请求获得目的主机的物理地址
- 向请求物理地址的主机发送解析结果
- 使用ARP获取目标物理地址的4种情况
- 源主机与目的主机在同一个子网当中
- 目标IP地址在IP数据报中获取
- 直接获取目的主机的物理地址
- 源主机与目的主机在不同子网,主机先要交给一个默认路由器
- 目标IP是默认路由器IP
- 获取的是默认路由器的物理地址
- 源主机与目的主机在不同子网,交给适当的路由器
- 目标IP是路由表中路由IP
- 获取路由的物理地址
- 路由器发给目的主机
- 目的IP是在IP数据报中获取
- 获取目的主机的物理地址
- 源主机与目的主机在同一个子网当中
- ARP命令
- arp -a [inet_addr] 显示地址映射表项,[ ]为可选项。
- arp -g [inet_addr] 功能与arp -a [inet_addr]相同。
- arp -d inet_addr 删除由inet_addr所指定的表项。
- arp -s inet_addr phys_addr 增加由inet_addr和phys_addr指定的静态表项。inet_addr为点分十进制格式的IP地址,phys_addr为十六进制形式的物理地址,物理地址的字节之间用短横线分割,例如,0C-26-1B-23-45-67 。
- ARP协议的详细流程见图

- 反向地址解析协议(RARP)
- 主机进行MAC地址广播
- 目的IP为空
- 目的MAC为本机MAC
- 源IP为空
- 源MAC为本机MAC
- 服务器进行单播应答
- 目的IP为解析之后的IP
- 目的MAC为目的主机MAC
- 源IP为本机IP
- 源MAC为本机MAC
- 主机进行MAC地址广播
- 抓包分析
本章习题总结
- 当源主机和目标主机在同一个网络中时,ARP协议解析的结果将提供什么样(什么设备)的物理地址?
- 目标主机的物理地址
- 当目的主机位于远程网段时,ARP协议解析的结果将提供什么样(什么设备)的物理地址?
- 默认网关路由器的物理地址
- 当ARP/RARP报文封装在以太网帧中进行发送时,为什么要添加PAD字段?
- 以太网帧有最小帧要求(64字节),当要传输的数据长度不足时,需要添加PAD进行补充使得整个以太帧满足最小长度要求。
- 简述目的主机为远程主机时的信息传输过程
- ARPARP协议的详细流程图,见图进行分析即可。
- 抓包分析题

第五章
- ARP和RARP报文不被封装在IP数据报中,而ICMP和IGMP的数据则要封装在IP数据报中进行传输
- IP数据报

- IP数据报=首部+数据
- IP数据报首部分为定长部分和变长部分
- 数据长度=数据报总长度-首部长度×4
- 标识(16位)由信源机赋给IP数据报,每个IP数据报有一个本地惟一的标识符。数据报的标识由信源机产生,每次自动加1后分配给要发送的数据报。
- 标志(3位)用于表示该IP数据报是否允许分片和是否是最后的一片
- 片偏移(13位)表示本片数据在它所属的原始数据报数据区中的偏移量(以8字节为单位)
- 首部校验和(16位)用于保证首部数据的完整性
- 生存时间TTL(8位)控制IP数据报在网络中的传输时间
- 数据分片与重组
- 最大传输单元MTU会出现不同情况,通常,网络的速度越高,MTU也就越大
- 将数据报以从信源到信宿路径上的最小MTU进行封装
- 将数据报先以信源网络的MTU进行封装,在传输过程中再根据需要对数据报进行动态分片
- 分片需满足
- 分片尽可能大,但必须能为帧所封装
- 片中数据的大小必须为8字节的整数倍,否则IP无法表达其偏移量
- 分片可以在信源机或传输路径上的任何一台路由器上进行,而分片的重组只能在信宿机上进行,重组超时会报错
- 分片重组的控制主要根据数据报首部中的标识、标志和片偏移字段,
- IP选项(变长)
- IP选项的最大长度不能超过40字节
- 用于网络控制和测试目的
- 三部分组成
- 选项码(八位)
- 选项长度(八位)
- 选项数据(不定长)
- 选型类型
- 00用于IP数据报路径的控制和测试
- 10用于时间戳的测试
- 01类和11类未用
- 严格源路由
- 选型类型:00
- 选项号:01001
- 选项码:137
- 严格源路由选项要求信源机上的发送者指定数据报必须经过的每一个路由器,数据报必须严格按照发送方规定的路径穿过每一个路由器
- 宽松源路由
- 选型类型:00
- 选项号:00011
- 选项码:131
- 宽松源路由在选项的IP地址表中并不给出一条完备的路径,而是只给出路径中的某些关键点,关键点之间无直接物理连接时,通过路由器的自动路由选择功能进行补充
- 分片时报文的变化
- 根据书上图进行查看即可
本章习题总结
- IP协议为什么不提供对IP数据报数据区的校验功能?
- IP协议是一个点对点的协议
- IP协议不可靠,让更高层次解决可靠性
- IP协议为什么要对IP数据报首部进行校验?
- IP首部属于IP层协议内容,不可能由上层协议处理
- IP首部中的部分字段在点到点的传递过程中是不断变化的,只能在每个中间点重新形成校验数据,在相邻点之间完成校验
- 当IP数据报在路由器之间传输时,IP首部中哪些字段必然发生变化,哪些字段可能发生变化?
- 必然变化
- 生存时间(TTL):每经过一个路由器,TTL就会减1
- 首部校验和:每次都要重新生产校验和并进行校验
- 可能变化
- 标志、片偏移、数据包总长度
- 必然变化
- 严格源路由与宽松源路由有什么区别?
- 严格源路由
- 选型类型:00
- 选项号:01001
- 选项码:137
- 严格源路由选项要求信源机上的发送者指定数据报必须经过的每一个路由器,数据报必须严格按照发送方规定的路径穿过每一个路由器
- 宽松源路由
- 选型类型:00
- 选项号:00011
- 选项码:131
- 宽松源路由在选项的IP地址表中并不给出一条完备的路径,而是只给出路径中的某些关键点,关键点之间无直接物理连接时,通过路由器的自动路由选择功能进行补充
- 严格源路由
- 为什么分片的重组必须在信宿机上进行
- 每一个分片都相互独立的进行传输,在同一个路由器上收集完整的数据报分片不太可能,如果在中间过程进行重组会延长数据的到达时间,增大了路由器的负担
- 一个首部长度为20字节、数据区长度为2000字节的IP数据报如何在MTU为820字节的网络

第六章
- 因特网控制报文协议(ICMP)
- ICMP封装在IP数据报中进行传输
- ICMP报文格式与类型
- 首部加数据:
- 首部为定长的8个字节,前4个字节是通用部分,后4个字节随报文类型的不同有所差异
- 首部加数据:

- ICMP报文的三大类

-
ICMP差错报告
- ICMP差错报告具有以下特点
- 只报告差错,但不负责纠正错误
- 发现出错的设备只向信源报告差错
- 差错报告作为一般数据传输,不享受特别优先权和可靠性
- 产生ICMP差错报告的同时,会丢弃出错的IP数据报
- 注意特例
- ICMP差错报文本身不会再产生ICMP差错报告
- 分片报文的非第一个分片不会产生ICMP差错报告
- 组播地址报文不会产生ICMP差错报告
- 特殊地址127.0.0.0和0.0.0.0的报文不会产生ICMP差错报告
- ICMP差错报告具有以下特点
-
信宿不可达报告
- 类型是3,表示信宿不可达(0-15代码看英文吧记下来有点难)
-
数据报超时报告
- 当TTL值为0时,路由器会丢弃当前的数据报,并产生一个ICMP数据报超时报告
- 信宿机进行重组也存在一个超时,产生一个ICMP数据报超时报告,并向信源发送该超时报告
- 类型是11
-
数据报参数错报告
- 一旦路由器或信宿机发现错误的数据报首部和错误的数据报选项参数时,便抛弃该数据报,并向信源发送差错报告报文
- 类型为12
-
ICMP控制报文包括源抑制报文和重定向报文
- 源抑制报文——用于拥塞控制
- 类型是4
- 重定向报文——用于路径控制
- 类型是5
- 源抑制报文——用于拥塞控制
-
源抑制报文
- ICMP利用源抑制的方法来进行拥塞控制

- 源抑制的三个阶段
- 发现拥塞阶段
- 解决拥塞阶段
- 拥塞解除后,信源逐渐恢复数据报传输速率
- 重定向报文
- 为了解决主机路由表的刷新问题,ICMP提供了重定向机制
- ICMP产生重定向报文的时候并不丢弃原数据报
- ICMP重定向报文由位于同一网络的路由器发送给主机,完成对主机的路由表的刷新
- 被刷新的路由表项与重定向报文数据部分指示的IP数据报首部中的信宿地址相关。内容为重定向报文中目标路由器的IP地址
- ICMP请求与应答报文对
- 通过ICMP请求与应答报文对,网络管理人员、用户或应用程序可以对网络进行检测,目的是利用这些有用的信息,对网络进行故障诊断和控制
- 设备的可达性
- 地址掩码的设置
- 时钟的同步等情况
- 通过ICMP请求与应答报文对,网络管理人员、用户或应用程序可以对网络进行检测,目的是利用这些有用的信息,对网络进行故障诊断和控制
- 回应请求与应答报文
- ping命令大多是利用ICMP回应请求与应答报文来实现的
- 回应请求报文类型为8
- 回应应答报文类型为0
- 时间戳请求与应答报文
- ICMP时间戳请求与应答报文就是用于设备间进行时钟同步的报文对
- 请求报文类型13
- 应答报文类型14
- 初始时间戳字段用于指示请求方发出请求的时间
- 接收时间戳字段用于指示应答方主机收到请求的时间
- 发送时间戳字段用于指示应答方主机发送应答的时间

- 请求报文:填初始时间戳,接收时间戳和发送时间戳为0
- 应答报文:初始时间戳直接从请求报文中复制,接收时间戳和发送时间戳由应答方主机根据自己接收和发送时的时钟填写
- 往返时间 = t当前-t初始-(t发送-t接收)
= t接收-t初始+t当前-t发送 - 单程时延 = 往返时间/2
- 时间差 = t接收-(t初始+单程时延)
- 地址掩码请求与应答报文
- 地址掩码请求类型为17
- 地址掩码请求报文的地址掩码字段为“0”
- 地址掩码应答类型为18
- 地址掩码请求类型为17


- 路由器请求与通告报文
- 初始化路由表方法
- 在配置文件中指定静态路由
- 利用ICMP路由器请求和通告报文来获得路由器的IP地址
- 路由器请求类型为10
- 路由器通告类型为9
- 初始化路由表方法
- 数据区:地址的优先等级,值越小优先级越高
- 地址优先级为0,则该地址可作为默认路由器地址
- 优先级为0x80000000时,表明该地址不能作为默认路由器地址使用
- ICMP报文封装
- 封装在IP报文中转发
- 包含ICMP报文的IP数据报首部的协议字段为“1”
- traceroute工作原理
- UDP探测包,TTL设置1到达路由减1,随后设置2...
- 当TTL变为0时,包被丢弃,路由器向源地址发回一个ICMP超时通知,内含发送IP包的源地址,IP包的所有内容及路由器的IP地址
- 直至目标地址收到探测数据包,并返回端口不可达通知
- 当源地址收到端口不可达包时停止
- 每跳默认发送3个探测包
本章习题总结
- TCP/IP的可靠性思想是将可靠性问题放到传输层解决以简化路由设备的实现。那么为什么还要在IP层的ICMP中实现差错报告功能?
- 端到端得方式解决信宿机不可达问题有困难
- IP层只涉及与路径和可达相关的差错问题,而不解决数据本身的差错问题
- ICMP在IP层独立,IP协议不负责完成差错与控制功能
- 源抑制包括哪三个阶段?
- 发现拥塞阶段
- 解决拥塞阶段
- 拥塞解除后,信源逐渐恢复数据报传输速率
- ICMP与IP协议是什么关系?
- 都位于IP层
- ICMP报文是封装在IP数据报的数据部分进行传输的
- ICMP协议是IP协议的补充
- 用于IP层的差错报告、控制以及路由器或主机信息的获取
- 在利用时间戳请求应答报文进行时钟同步时,主机A的初始时间戳为32530000,接收到主机B应答时的时间戳为32530246,主机B的接收时间戳和发送时间戳分别为32530100和32530130,主机A和主机B之间的时间差是多少?

- 抓包分析题
- 前提总结
- ICMP类型以及对应的报告
- 3:信宿不可达报告
- 4:源抑制报文
- 5:重定向报文
- 11:数据报超时报告
- 12:数据报参数错报告
- ICMP请求与应答报文对
- 0:回应应答报文
- 8:回应请求报文
- 13:时间戳请求报文
- 14:时间戳应答报文
- 17:地址掩码请求报文
- 18:地址掩码应答报文
- 9:路由器通告报文
- 10:路由器请求报文
- ICMP类型以及对应的报告











第六章(补充IPv6)
- ICMPv6报文

- ICMPv6报文分成两大类
- ICMPv6差错报告报文
- 目的不可达
- 报文过长
- 超时
- 参数差错报告报文
- ICMPv6信息报文
- 传递用于控制的请求和应答信息
- 实现ping功能的回声请求报文和回声应答报文
- 对多播组控制的ICMPv6信息报文
- ICMPv6差错报告报文
- 目的不可达报文
- 类型:1
- 代码
- 0-没有到达目的地的路由
- 1-与目的地的通信由于管理被禁止,e.g.防火墙
- 2-目的地址在源地址可传送域外
- 3-目的地址不可达,e.g.不能转换为MAC地址
- 4-端口不可达,e.g.端口没有开放
- 分组过大报文
- 类型:2
- 代码:未用
- 使用ICMPv6路径MTU发现(PMTUD)探测路径MTU的过程
- 使用自己所在网络的MTU发送给路由器
- 路由器发下下一跳的MTU小,返回ICMPv6类型2的报文并告诉源下一跳的MTU
- 以此循环,直到发送到目的主机,即可找到MTU
- 超时报文
- 类型:3
- 代码
- 0-跳数限制为0
- 1-分片重组超时
- 参数错误报文
- 类型:4
- 代码
- 0-错误的首部字段
- 1-不可识别的下一首部类型
- 2-不可识别的IPv6的可选项
- 回声请求和回声应答报文
- 类型128:回声请求
- 类型129:回声应答
- 每一个结点必须能够完成ICMPv6回声应答功能,即在收到ICMPv6回声请求时发出相应的ICMPv6回声应答报文
- 邻结点探测协议NDP
- IPv6的一个重要组成部分,它不是一个全新的协议,而是由IPv4中的地址解析协议ARP、ICMP路由探测协议RDISC、ICMP报文重定向等协议综合而成的
- 类型133:路由器请求(RS)
- 类型134:路由器通告(RA)
- 类型135:邻结点请求(NS)
- 类型136:邻结点通告(NA)
- 类型137:重定向
- 邻结点请求报文和邻结点通告报文
- 可以完成ARP功能,还可以用来测试目的主机的连通性,前者以多播形式发送,后者以单播形式发送。
- 用于ARP时,目的地址=多播IPv6地址。
- 探测目的主机连通性,目的地址=目的主机的IPv6地址
- 路由器请求报文和路由器通告报文
- 与远程系统通信必须找到路由器
- 路由器限时更新信息
- 路由器限时发送路由器通告报文
- 重定向报文
- IPv6的被请求节点的组播地址
- 只在本地链路上有效
- 特点
- 在本地链路上,被请求接点的组播地址中只包含一个用户
- 只要知道一个接点的ipv6地址,就能计算出他的被请求节点的组播地址
- 作用
- 在IPV6中,没有ARP。ICMPv6代替了ARP的功能,被请求节点的组播地址被节点用来获得相同本地链路上邻居节点的链路层地址
- 用于重复地址检测DAD
第七章
- 路由作用:为数据寻找一条从信源到信宿的最佳或较佳路径的过程
- 直接传递与简介传递
- 直接传递:直接传到最终信宿的传输过程
- 间接传递:在信源和信宿位于不同物理网络时,所经过的一些中间传递过程
- 数据传递由一个直接传递和零到多个间接传递所组成
- IP路由
- TCP/IP将网络结构进行抽象,用点表示路由器,用线表示网络,路由选择基于抽象结构进行,通过路由选择找到一条通往信宿的最佳路径
- 单个路由表只反映了因特网局部的拓扑信息,但所有路由表的集合却能反映因特网的整体拓扑结构
- 每台主机和路由器都有一个反映网络拓扑结构的路由表
- 操作
- 路由选择
- 路由表的建立与刷新
- 主机和路由器上的IP协议负责根据路由表完成路由选择;路由表的建立与刷新由专门的路由协议负责
- 一个好的动态路由程序要保证路由表能够及时地反映网络结构的变化

- 路由表
- 基本构成
- 信宿地址 + 去往信宿的路径
- 通常路由表中的信宿地址采用网络地址
- 基本构成
- 路由表中为什么不直接采用主机IP地址
- 可以大大减小路由表的规模
- 与网络的抽象结构相对应
- 增强了路由表对网络变化的适应性
- 减轻了路由表维护以及路由选择的开销,同时也简化了路由设备的设计和实现
- 为什么路由表中只采用下一跳地址而不用完整路径
- 减小了路由表的规模
- 去掉了路由表中关于相同路径的冗余信息
- 使路由表变得简单,便于维护
- 路由表结构
- 信宿地址
- 子网掩码
- 下一跳地址
- 输出接口
- 度量值
- 特定主机路由
- 用主机的IP地址作为信宿地址的表目。
- 目的:给网络管理人员赋予了更大的网络控制权,用于安全性和网络测试
- 默认路由
- 路由表中的另一个特殊表目。默认路由将去往多个网络的路由表目合为一个
- 目的:进一步隐藏细节、缩小路由表
- 信宿地址与子网掩码都是0.0.0.0
- 一个路由表中最多有一个默认路由
- 默认路由优先级最低
- 路由算法

- 静态路由
- 路由表的建立和刷新采用的两种不同方式
- 静态路由
- 动态路由
- 静态路由要求手工配置固定的路由表
- 自治系统:由独立管理机构所管理的一组网络和路由器组成
- 缺点
- 工作量大
- 大型网络编辑困难
- 不能及时地反映网络拓扑结构的频繁变化
- 有可能造成难以管理的冗余路径
- 路由表的建立和刷新采用的两种不同方式
- 动态路由
- 路由器使用路由协议进行路由表的动态建立和维护
- 路由器进行路由选择的原则:最短路径优先
- 路由器自动获取路径信息的基本方法有两种
- 向量—距离算法(又称为距离—向量算法)
- 优点:简单,易于实现
- 缺点:收敛速度慢,信息交换量较大
- 链路—状态算法(又称为最短路径优先算法)
- 优点:收敛迅速,使用网络类型广泛
- 缺点:复杂,要求高
- 向量—距离算法(又称为距离—向量算法)
- 内部网关协议
- RIP路由信息协议
- OSPF开放最短路径优先协议
- 外部网关协议
- EGP:外部网关协议
- 路由信息协议RIP
- 解决路由环路问题:RIP规定路径最大为16
- 解决相同距离路径问题:先入为主的原则
- 解决失效路径问题:RIP协议为每条路由设置一个定时器
- 解决收敛慢的问题:
- 水平分割法
- 保持法
- 毒性逆转法
- RIP报文被封装在UDP数据报中传输。RIP使用UDP的520端口号
- 特点
- RIPv1不支持子网地址
- RIPv1没有鉴别机制
- RIPv1采用广播方式进行路由通告,不支持单播和组播路由通告
- RIPv1只能用于小型网络
- RIPv2可以支持可变长子网掩码和无类别域间路由CIDR
- RIPv2提供了一种简单的鉴别机制
- RIPv2支持组播
- 开放最短路径优先OSPF
- OSPF直接使用IP。在IP首部的协议字段,OSPF协议的值为89
- 特点:
- 支持服务类型路由
- 能够给每个接口指派费用
- 能够提供负载均衡
- 支持扩展,易于管理
- 持特定主机、特定子网、分类网络路由以及无类网络路由
- 支持无编号网络,可以节省IP地址
- 支持多种鉴别机制,不同的区域可以使用不同的鉴别方法
- 采用组播,减少不参与OSPF的系统的负载
本章习题总结
- 直接传递和间接传递有什么不同?
- 直接传递:直接传到目的主机的传递过程
- 间接传递:源主机与目的主机在不同物理网络,经过一些中间传递到达目的主机。
- 路由信息协议RIP和开放最短路径优先OSPF有什么不同?
- RIP
- 采用距离-向量算法
- 路由器周期性发送广播,告知相邻路由器自身路由表的变化
- OPSPF
- 采用链路-状态算法
- 支持服务类型路由
- 自身会首先形成一个链路状态数据库,等到结构发生变化,更新即可
- RIP
- OSPF具有哪些特点
- 支持服务类型路由
- 能够给每个接口指派费用
- 能够提供负载均衡
- 支持扩展,易于管理
- 持特定主机、特定子网、分类网络路由以及无类网络路由
- 支持无编号网络,可以节省IP地址
- 支持多种鉴别机制,不同的区域可以使用不同的鉴别方法
- 采用组播,减少不参与OSPF的系统的负载
- RIP、OSPF报文分别封装在什么协议中进行传输
- RIP
- 报文封装在UDP中,端口为520
- OSPF
- 封装在IP报文中,协议值是89
- RIP
第八章习题部分
- 为什么常用的服务器的端口号都采用熟知端口号,而客户端一般采用临时端口号?
- 服务器提供的是固定的服务,采用熟知端口有利于客户端的访问
- 客户端时连接的发起者,用过之后端口可以关闭
- TCP段首部中的序号和确认号的含义和作用是什么?
- 序号:指出数据段中的数据部分在发送端数据流中的位置,发送数据部分第一个字节的序号
- 确认号:确认已收到对方的数据。并希望继续传输。
- TCP段首部中的控制字段各位的含义和作用是什么?
- URG:紧急位,和紧急指针字段配合使用,当URG位置1时,表明此报文要尽快传送,而不按原排队次序发送,此时紧急指针字段有效,紧急指针指出本报文段中紧急数据的最后一个字节。
- ACK:确认位,和确认号字段配合使用,当ACK位置1时,确认号字段有效。
- PSH:推送位,当PSH位置1时,发送方将立即发送缓冲区中的数据,而不等待后续数据构成一个更大的段,接收方一旦收到PSH位为1的段,就立即将接收缓冲区中的数据提交给应用程序,而不等待后续数据的到达。
- RST:复位位,当RST位置1时,表明有严重差错,必须释放连接。
- SYN:同步位,当SYN位置1时,表示请求建立连接。+FIN:终止位,当FIN位置1时,表明数据已经发送完,请求释放连接。
- 解释滑动窗口协议是如何实现流量控制的。
- 通过发送方窗口和接收方窗口的配合来完成传输控制。
- 为了避免和消除拥塞,TCP采用了哪些策略来控制拥塞窗口?
- 首先是使用慢启动策略
- 当拥塞窗口加大到门限值(拥塞发生时拥塞窗口的一半)时,进入拥塞避免阶段
- 拥塞使重传定时器超时,发送方进入拥塞解决阶段
第九章
- 因特网的命名机制要求主机名字具有
- 全局惟一性
- 便于管理
- 便于映射
- 网络中通常采用的明明机制有两种:
- 无层次命名机制
- 早期因特网采用的。主机名用一个字符串表示,没有任何结构。一起构成无层次的命名空间
- 命名采用集中式管理方式,名字—地址映射通常通过主机文件完成
- 不适用于大量对象网络,映射效率低,容易出现名字冲突
- 层次型命名机制
- 当前因特网采用
- 层次型命名机制将层次结构引入主机名字,该结构对应于管理机构的层次
- 将名字空间分成若干子空间,每一个空间由授权的管理机构管理,并可以继续乡下进行分类
- 层次性命名机制呈现树形结构
- 无层次命名机制

- 根是惟一的,所以不需要标号。
- 树的叶子节点是需要根据名字去寻址的主机(通常是服务器)
- 唯一性:每一个机构或者子机构向上申请自己负责管理的名字空间,并向下分配子名字空间,进行标号时要保证自己所管理的名字的下一级标号不发生重复。
- 管理:分散到多个不同层次的管理机构去进行管理,减轻了单个管理机构的工作量,提高了效率
- 映射:很多的名字解析工作可以在本地完成,提高了系统适应大量且迅速变化的对象的能力
- 因特网域名
- 无层次命名机制:主机名通过主机文件进行转换
- 每个需要进行名字解析的主机都拥有一个HOSTS文件
- 小型网络可以采用这种方式进行名字解析
- 层次命名机制:主机名通过域名系统DNS进行转换
- 域名系统层次结构从高到低的组织
- 根域(Root)DNS最高层,如果确实需要指明根,那么它将出现在FQDN(完全符合标准的域名)的最后面,以一个句点“.”表示
- 顶级域(一级域)顶级域按照组织类型和国家划分,可以分三个主要域
- 通用顶级域名gTLD
- com、org和net是向所有用户开放的三个通用顶级域名,也称为全球域名,任何国家的用户都可申请注册它们下面的二级域名
- mil、gov和edu三个通用顶级域名只向美国专门机构开放
- int是适用于国际化机构的国际顶级域名
- 国家代码顶级域名ccTLD
- cn代表中国
- 反向域
- 顶级域名为arpa,用于实现IP地址到域名的反向解析
- 通用顶级域名gTLD
- 次级域(二级域)
- 次级域与具体的公司或组织相关联
- 子域
- 次级域下面的域,子域是各个组织将名字空间进行的进一步划分
- 主机名
- 最低的层级
- 区域,实际的名字空间的管理中采用的概念,区域是DNS的管理单元
- 区域和域是不同的概念,域是一个完整的子树,而区域可以是子树中的任何一部分,区域可以是一个域,也可以不是一个域,区域不一定包含那部分DNS树中的所有子域
- 域名系统层次结构从高到低的组织
- DNS的构成
- 名字解析器:名字解析器请求名字服务器的服务,获得待查主机的IP地址,解析器位于应用程序中或主机的例行程序库中
- 域名空间:用树形结构组织的DNS数据库
- 名字服务器: 名字服务器用于保存域名空间各部分的信息,响应名字解析请求
- 无层次命名机制:主机名通过主机文件进行转换
- DNS服务器
- 获取域名空间的部分信息的方法
- 由管理员编辑一个原始区域文件
- 从其他名字服务器那里复制区域文件
- 通过向其他DNS服务器查询来获取具有一定时效的缓存信息
- 名字服务器的类型
- 主名字服务器:拥有一个区域文件的原始版本的服务器
- 次名字服务器:从其他主名字服务器那里复制一个区域文件(只读),通过区域传输进行跟随性的变化
- 惟高速缓存名字服务器:帮助名字解析器完成名字解析,并缓存解析结果
- 启动之后,通过缓存逐条建立DNS信息
- 获取域名空间的部分信息的方法
- 域名解析
- TCP/IP的域名系统是一个有效的、可靠的、通用的、分布式的名字-地址映射系统
- 分类
- 正向解析
- 根据域名查询其对应的IP地址或其他相关信息
- 反向解析
- 根据IP地址查询其对应的域名
- in-addr.arpa专用于反向解析
- 正向解析
- DNS服务器和客户端属于TCP/IP模型的应用层,DNS既可以使用UDP,也可以使用TCP来进行通信。DNS服务器使用UDP/TCP的53号熟知端口
- DNS服务器能够接收两种类型的解析
- 递归解析(代替主机查询)
- 递归解析要求名字服务器系统一次性完成名字—地址变换
- 客户端计算机的解析器通常会发出递归查询
- 反复解析(告诉主机方向。主机自己查询)
- 反复解析要求客户端本身反复寻求名字服务器的服务来获得最终的解析结果
- 当一个名字服务器试图找到它的本地域之外的名字时,往往会发送反复查询(自顶向下查找)
- 解析效率
- 两步名字解析机制
- 首先通过本地名字服务器解析
- 不通,采用自顶向下的方法
- 高速缓存技术
- 两步名字解析机制
- 递归解析(代替主机查询)
- DNS报文
- 请求报文
- 响应报文
- DNS资源记录
习题部分
- 递归解析与反复解析有什么不同?
- 递归解析:
- 要求名字服务器系统一次性完成名字—地址变换
- 主机代替源主机寻找
- 反复解析
- 要求客户端本身反复寻求名字服务器的服务来获得最终的解析结果
- 主机自己进行寻找
- 递归解析:
- DNS是如何实现IP地址到域名的反向解析的?
- 名字解析中的反向解析是指由主机的IP地址求得其域名的过程。DNS在名字空间中设置了一个称为in-addr.arpa的特殊域,专门用于反向解析。
- DNS是如何提高解析效率的?
- 两步名字解析机制解析时,第一步先通过本地名字服务器进行解析,若不行,再采用自顶向下的方法搜索。两步法既提高了效率又保证了域名管理的层次结构。
- 采用高速缓存技术,存放最近解析过的名字—地址映射和描述解析该名字的服务器位置的信息,可避免每次解析非本地名字时都进行自顶向下的搜索,减小非本地名字解析带来的开销。
第十五章
- HTTP:超文本传输协议
- URL:统一资源定位符
- HTTP的连接方式和无状态性
- 非持久连接
- 传输完毕后立刻关闭
- 持久连接
- 连接时间由双方进行决定
- 无状态性
- 服务器无法分辨第几次连接服务器
- 非持久连接
- HTTP报文
- 请求报文
- GET:请求读取一个Web页面
- POST:附加一个命名资源
- HEAD:请求读取一个Web页面的首部
- PUT:请求存储一个web页面
- DELETE:删除Web页面
- CONNECT:代理服务器s
- TRACE:用于测试
- OPTION:查询特定选项
- 响应报文
- 100:正在处理
- 200:请求成功
- 301:页面位置改变
- 403:禁止的页面
- 404:未找到
- 500:服务器内部错误
- 503:以后再试
- 请求报文
本章习题
- HTTP的三种通信方式
- 点对点
- 具有中间服务器的方式
- 缓存方式
- HTTP的特点
- 简单
- 无连接行
- 无状态性
- 元信息
考题预测
- 简答题
- 简述ARP的工作原理分类写(同一子网,不同子网)
- 简述ARP获取目的IP的四种不同情况以及提供的物理地址
- 封装时为什么添加PAD字段?(个人认为不考)
- IP报文的分片(参考课本例题)
- 严格路由以及宽松路由的区别
- 简述源抑制包括的三个阶段
- ICMP的作用以及特点
- RIP与OSPF的优点和缺点以及不同
- TCP的流量控制以及拥塞
- DNS提高解析效率
- HTTP特点
- TCP三次握手
- 协议分析
- 网络层协议分析
- ARP/RARP:地址解析协议以及反地址解析协议
- IP:网际协议
- ICMP:互联网控制信息协议
- 网络层协议分析
- AR、RARP报文格式

- 报文内容
- 硬件类型:表示物理网络的类型,“0X0001”表示以太网;
- 协议类型:表示网络网络协议类型,“0X0800”表示IP 协议;
- 硬件地址长度:指定源/ 目的站物理地址的长度,单位为字节;
- 协议地址长度:指定源/ 目的站IP 地址的长度,单位为字节;
- 操作:指定该报文的类型,“1”为ARP 请求报文,“2”为ARP 响应报文;
- 源端硬件/IP 地址:由ARP 请求者填充;
- 目的站物理地址:在请求报文中为0,在响应报文中,由由发送响应报文的主机填写接收该报文的目的主机的物理地址;
- 目的站IP 地址:由ARP 请求者填充,指源端想要知道的主机的IP 地址。只有IP 地址等于该IP 地址的主机才向源主机发送相应报文。
- 报文分析


- IP报文格式

- 报文内容
- 版本:指IP 协议的版本;
- 头长:是指IP 数据报的报头长度,它以4 字节为单位。IP 报头长度至少为 20 字节,如果选项部分不是4 字节的整数倍时,由填充补齐;
- 总长度:为整个IP 数据报的长度;
- 服务类型:规定对数据报的处理方式;
- 标识:是IP 协议赋予数据报的标志,用于目的主机确定数据分片属于哪个报文;
- 标志:为三个比特,其中只有低两位有效,这两位分别表示该数据报文能否分段和是否该分段是否为源报文的最后一个分段;
- 生存周期:为数据报在网络中的生存时间,报文每经过一个路由器时,其值减 1,当生存周期变为 0 时,丢弃该报文;从而防止网络中出现循环路由;
- 协议:指IP 数据部分是由哪一种协议发送的;
- 校验和:只对IP 报头的头部进行校验,保证头部的完整性;
- 源IP 地址和目的IP 地址:分别指发送和接收数据报的主机的IP 地址。
- 报文分析

- ICMP报文格式

- 报文内容
- 类型:一个字节,表示ICMP 消息的类型,内容参见表5;
- 代码:一个字节,用于进一步区分某种类型的几种不同情况;
- 校验和:两个字节,提供对整个ICMP 报文的校验和;


- 报文分析

- ping命令报文分析

- tracert命令报文分析


- DNS报文格式(这次不考吧)
- 报文分析

- HTTP报文格式

- 报文分析

