计算机网络-网络层协议分析
为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。 ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。 ICMP 不是高层协议,而是 IP 层的协议。 ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。 练习一:运行 Ping 命令 o o o 主机 B、E、F 启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取 ICMP 协议)。 主机 A ping 主机 E(172.16.0.2)。 主机 B、E、F 停止捕获数据,察看捕获到的数据,并回答以下问题: o 捕获的报文对应的“类型”和“代码”字段分别是什么?
时间戳请求报文 ICMP 字段名 类型 标识号 字段值 13 同步骤 1 填入的 值 同步骤 1 填入的 值 0 0 0
时间戳应答报文 ICMP 字段名 类型 标识号 字段值 14 同请求报文的标识号
序列号
序列号
同请求报文的序列号
发起时间戳 接收时间戳 发送时间戳
发起时间戳 接收时间戳 发送时间戳
0 与具体实验环境有关 与具体实验环境有关
使用 ARP 的四种典型情况 : 发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机 的硬件地址。 发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网 络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主 机的硬件地址。 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本 网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。 上面讲的是 ARP 地址解析协议的工作原理,在同一网络及不同网络下的应用情况; 注意:各层是分工协作的,当找到主机的硬件地址,是将其硬件地址封装到 MAC 帧的目 的地址中,从而实现信息的传递
计算机交流博客官方发布
计算机网络-网络层协议分析
么协议,以便把收到的 MAC 帧的数据交给上一层的这个协议) IP 层: 总长度:包含 IP 层和 ICMP 层长度。 高层协议类型:1。 校验和:在其他字段填充完毕后计算并填充。 源 IP 地址:A 的 IP 地址。 目的 IP 地址:C 的 IP 地址。 ICMP 层: 类型:13。(代表:时间戳请求或回答) 代码字段:0。 校验和:在 ICMP 层其他字段填充完毕后,计算并填充。 其他字段使用默认值。 主机 C 启动协议分析器进行数据捕获,并设置过滤条件(提取 ICMP 协议)。 主机 A 发送已编辑好的数据帧。 主机 C 停止捕获数据。察看主机 C 捕获到的数据,并填写下表:
网际协议 IP
与 IP 协议配套使用的还有四个协议: 地址解析协议 ARP(Adress Resolution Protocol) ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。 所要找的主机和源主机不在同一个局域网如果上,那么就要通过 ARP 找到一个位于本局 域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转 发给下一个网络。剩下的工作就由下一个网络来做。
回显请求报文:类型:8、代码:0; 回显应答报文:类型:0、代码:0。
类型的值表示差错报告报文的类型,不同的值有代表不同的报文类型, 分析报文中的哪些字段保证了回送请求报文和回送应答报文的一一对应?
标识符和序列号两个字段。
练习二:ICMP 查询报文 主机 A 启动仿真编辑器,编辑一个 ICMP 时间戳请求数据帧发送给主机 C (172.16.1.3)。 MAC 层: 目的 MAC 地址:C 的 MAC 地址。 源 MAC 地址:A 的 MAC 地址。 协议类型或数据长度:0800。 (类型字段:用来标志上一层使用的是是什
旨在提供计算机学习相关资料,了解更多请访问:http://hi.baidu.com/comsince
计算机交流博客官方发布
计算机交流博客官方发布
计算机网络-网络层协议分析
只要主机或路由器要和本网络上的另一个已知 IP 地址的主机或路由器进行通信, ARP 协 议就会自动地将该 IP 地址解析为链路层所需要的硬件地址。 逆地址解析协议 RARP(Reverse Address Resolution Protocol) 网际控制报文协议 ICMP(Internet Control Message Protocol) 网际组管理协议 IGMP(Internet Group Management Protocol)
计算机交流博客官方发布
计算机网络-网络层协议分析
IP 协议报文格式百度文库
主机 A 启动仿真编辑器,编辑一个 IP 数据报,其中: MAC 层: 目的 MAC 地址:主机 B 的 MAC 地址(对应于 172.16.1.1 接口的 MAC)。 源 MAC 地址:主机 A 的 MAC 地址。 协议类型或数据长度:0800。 IP 层: 总长度:IP 层长度。 生存时间:128。 源 IP 地址:主机 A 的 IP 地址(172.16.1.2)。 目的 IP 地址:主机 E 的 IP 地址(172.16.0.2)。
IP 数据报文发生变化:
报文数据发生变化。发生变化的字段有:“生存时间”和“首部校验和”。原因:主 机 B 为路由器,数据包每经过一路由器“生存时间”字段的值会减 1,并重新计算校 验和。
将第 2 步中主机 A 所编辑的报文的“生存时间”设置为 1。重新计算校验和。
计算机交流博客官方发布
计算机网络-网络层协议分析
在划分子网的情况下路由器转发分组的算法: (1) 从收到的分组的首部提取目的 IP 地址 D。 (2) 先用各网络的子网掩码和 D 逐位相“与”,看是否和 相应的网络地址匹配。若匹配,则将分组直接交付。 否则就是间接交付,执行(3)。 (3) 若路由表中有目的地址为 D 的特定主机路由,则将 分组传送给指明的下一跳路由器;否则,执行(4)。 (4) 对路由表中的每一行的子网掩码和 D 逐位相“与”, 若其结果与该行的目的网络地址匹配,则将分组传送 给该行指明的下一跳路由器;否则,执行(5)。 (5) 若路由表中有一个默认路由,则将分组传送给路由表 中所指明的默认路由器;否则,执行(6)。 (6) 报告转发分组出错。
主机 B 对应于 172.16.1.1 的接口可以捕获到主机 A 所发送的报文;主机 B 对应于 172.16.0.1 的接口和主机 E 不能捕获到主机 A 所发送的报文;原因:当“生存时间” 字段的值减至为 0 时,路由器将该报文丢弃不进行转发。
ICMP 报文:
计算机交流博客官方发布
计算机网络-网络层协议分析
计算机网络-网络层协议分析
第四章 网络层 说明: 在实验的研究中我们只研究各个层的重要协议, 通过协议进一步去了解其中的理论, 这样的学习效果就会更好一些, 更重要的是我们这样做是为了进一步使学习的目标明确化。 从而使我们进一步深化的去研究问题。 研究内容: 研究协议的设计及其在网络中传输的应用原理 研究每个协议解决的主要问题: 各个协议之间的互通问题:这里包括每个协议之间是如何分工协作。 在协议簇中讲究的是协议之间的分工协作关系,每个层有自己的任务,从高层到底层各司 其职,从而我们在研究问题的时候是逐层深化,在研究到高层协议应用到下层协议时,我 们就可以以此为依据,形成一条完整的数据通信链路,这当然是我们思维的链路,帮助我 们更好的理解计算机网络中的通信原理。 在研究协议问题时我们要明白我们的主要目的是研究这些协议在网络通信中的作用, 就是 研究这些协议的组织形式; 至于网络地址分配,路由转发协议,都是研究路由器地址转发问题。这些都是逻辑上要研 究的问题,我们只要弄清楚主线就可以研究其他相关的问题,这就是思维的明朗化; IP 地址与硬件地址: 以下这个图封装了各个层之间的报文组织形式。 可以清楚地看到不同 协议之间是如何依附的,从而了解到计算机网络协议的分工协作关系;
计算机交流博客官方发布
计算机网络-网络层协议分析
校验和:在其他所有字段填充完毕后计算并填充。 IP 在计算校验和时包括那些内容? 首部校验和字段: 这个字段只检验数据报的首部, 但不包括数据部分, (这是因为数据报每经过一个路由器, 路由器都要重新计算一下首部校验和(一些字段,如生存时间、标识、片偏移等都可能发 生变化))IP 首部的检验和不采用复杂的 CRC 检验码而采用下面简单的计算方法:在发 送方,先把 IP 数据报首部划分为许多 16 位字的序列,并把检验和字段置零。用反码算术 运算把所有 16 位字相加后,将得到的和的反码写入检验和字段。接受方收到数据后,将 首部的所有 16 为字在使用反码算术运算相加一次。 【说明】先使用仿真编辑器的“手动计算”校验和,再使用仿真编辑器的“自动计算”校 验和,将两次计算结果相比较,若结果不一致,则重新计算。 2,在主机 B(两块网卡分别打开两个捕获窗口)、E 上启动协议分析器,设置过滤 条件(提取 IP 协议),开始捕获 主机 A 发送第 1 步中编辑好的报文。 主机 B、E 停止捕获数据,在捕获到的数据中查找主机 A 所发送的数据报,并回答以下 问题: 第 1 步中主机 A 所编辑的报文,经过主机 B 到达主机 E 后,报文数据是否发生变 化?若发生变化,记录变化的字段,并简述发生变化的原因。 Ip 转发分组:在路由器中,对每一条路由最主要的是以下两个信息:(目的网络地址,下 一跳地址) 路由表按如下顺序匹配: 直接交付->特定主机交付->特定网络交付->默认交付 主机 B 有两个默认网关,分别对应两个不同的子网。 需要注意的是: 数据报转发原理:当路由器收到一个待转发的数据报, 在从路由器得出下一跳路由器的 IP 地址后,不是把这个地址填入 IP 数据报,而是交给下层的网络接口软件。网络接口软件 负责把下一跳路由器的 IP 地址转换为硬件地址,并将此硬件地址放在链路层的 MAC 帧的 首部,然后根据这个硬件地址找到下一跳路由器。 IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。 当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送 交下层的网络接口软件。 网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地 址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。 数据。
主机 B、E 重新开始捕获数据。 主机 A 发送第 5 步中编辑好的报文。 主机 B、E 停止捕获数据,在捕获到的数据中查找主机 A 所发送的数据报,并回答以下问 题: o 主机 B、E 是否能捕获到主机 A 所发送的报文?简述产生这种现象的原因。 o 这里要理解生存时间的含义:TTL 字段的功能现在改为“跳数限制”,但名称不变, TTL 的意义是指明数据报在因特网中至多可经过多少个路由器。显然,数据报能在 因特网中进过的路由器最大值为 255。(这是因为生存时间的占八位) o 若把 TTL 的初始值设置为 1.,就表示这个数据报只能在本局域网内传送,因为这个 数据报一传送到局域网上的某一个路由器,在被转发之前 TTL 值就减小到 0,因此 就会被这个路由器丢弃。则 B、E 不能接受到 A 发送的报文。