第六章 差错与控制报文 (ICMP).

Slides:



Advertisements
Similar presentations
晏宏斌工程师 2014 年 9 月 “ 宽带网络校校通 ” 校园网建设要点和基础维护方法. – 中小学校园网络建设要点 – 常见网络故障处理基本方法 目 录目 录.
Advertisements

计算机网络与通信 03 信息安全 李 艇.
朝阳区统计系统 网络基础知识培训 计算机中心
本周复习一下基本的网络知识 下周开始讲解路由器的配置方法 第四周开始到实验室做实验(主楼910,919)
第 8 章 IP 基礎與定址.
第6章 计算机网络基础 1.
第 12 章 UDP 與 TCP.
第 4 章 网络层 数学科学学院 冯世斌.
第 4 章 网络层.
计算机网络教程(第 2 版) 第 7 章 网络互连 课件制作人:谢希仁.
因特网 TCP/IP协议 IP路由技术 Internet接入技术 Internet服务.
网络协议及架构安全 培训机构名称 讲师名字.
Chapter 12 UDP 與 TCP.
第2章 计算机网络的协议与体系结构 2.1 计算机网络体系结构的形成 2.2 协议与划分层次 2.3 计算机网络的原理体系结构
计算机网络.
路由器的性能特点和工作原理 两种常用的内部网关协议(RIP和OSPF) 路由器的产品结构 局域网中使用路由器的方案
计算机网络的组成 资源子网:   主机 终端 终端控制器   外设 软件资源 信息资源    .
第1章 概述.
DP DHCP原理 ISSUE 1.0.
数据转发过程.
Foundations of Computer Science Chapter 6 電腦網路
NetGuru 創新 網路通訊實驗教學解決方案 PART I TCP/IP通訊協定深入剖析/以NetGuru實作
网络实用技术基础 Internet技术及应用.
计算机网络 吴功宜 编著 欢迎辞.
第2章 计算机网络体系结构 教学目标: 通过本章的学习,了解计算机网络体系结构和各个层次的相关协议,理解接口和服务等概念。掌握ISO/OSI模型和TCP/IP模型的各个层次及其所实现的功能。掌握IP地址的功能和划分,并对子网掩码和下一代互联网IPv6有相应的了解。
10.2 网络安全的基本概念  网络安全的重要性 计算机网络的广泛应用对社会经济、科学研究、文化的发展产生了重大的影响,同时也不可避免地会带来了一些新的社会、道德、政治与法律问题。Internet技术的发展促进了电子商务技术的成熟与广泛的应用。目前,大量的商业信息与大笔资金正在通过计算机网络在世界各地流通,这已经对世界经济的发展产生了重要和积极的影响。政府上网工程的实施,使得各级政府与各个部门之间越来越多地利用网络进行信息交互,实现办公自动化。所有这一切都说明:网络的应用正在改变着人们的工作方
网际协议:IP.
網路基本概念與設定方法 林文宗 資管系助理教授
学习目标: 1)理解包和包过滤 2)理解包过滤的方法 3)设置特殊的包过滤规则
實驗8 ICMP協定分析 實驗目的 明瞭ICMP(Internet Control Message Protocol;網際網路控制訊息協定)的工作原理 解析ICMP協定下封包資料傳送的格式。
網路概論.
第 12 章 UDP 與 TCP.
教师:陈有为 TCP/IP与Internet(A) 教师:陈有为
第3讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
(C) Active Network CO., Ltd
计算机网络原理 计算机与信息工程分院 周文峰.
5.5 网络互联 网络的不同之处 网络如何连接起来 级连虚电路 无连接的网络互连 隧道技术 互联网路由 分段
Internet Protocol (IP)
计算机网络技术基础 任课老师: 田家华.
Chapter 9 網際網路控制訊息 通訊協定.
32 bit destination IP address
P2P通信之 ——UDP穿越NAT方案的讨论
访问控制列表(ACL) Version 1.0.
ARP, RARP & ICMP.
第4讲 以太网组网及故障排除.
锐捷网络技术培训系列课程-(中级) OSPF协议 培训组 闵 捷.
Chapter 8 網際網路通訊協定.
第 2 章 TCP / IP 簡介.
Chapter 14 DHCP.
網路探測:路徑、延遲 與流量統計 Instructor: Teaching Assistant:.
第七讲 网际协议IP.
第5讲 网络层 本讲目的: 概述: 理解网络层服务原理: 因特网的实现实例 网络层的服务 路由选择原理 分层的路由选择 IP协议
子網路切割、變動長度的子網路遮罩 (VLSM) 與 TCP / IP 的檢修
第十三章 TCP/IP 與 Internet 網路連結技術
第2讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
TANet PROTOCOL ANALYSIS - WIRESHARK - 350.
第13章 IPv6协议.
3.1 通訊協定 3.2 開放系統參考模式(OSI) 3.3 公眾數據網路 3.4 TCP/IP通訊協定
TCP/IP协议及其应用.
傳輸控制協議 /互聯網協議 TCP/IP.
1.4 计算机网络体系结构与协议 引言 网络系统的体系结构 网络系统结构参考模型ISO/OSI
Chapter 11 使用者資料包通訊協定.
指導教授:梁明章 A 許之青 國立高雄大學 2010/06/25
Chapter 10 Mobile IP TCP/IP Protocol Suite
Mobile IPv4.
IP Layer Basics, Firewall, VPN, and NAT
FCN 组网案例1
Internet课程设计 教师:陈 妍 朱海萍 西安交通大学计算机系
IP Layer Basics & Firewall
第 4 章 网络层.
Presentation transcript:

第六章 差错与控制报文 (ICMP)

§6-1 引言 IP ICMP 缺少差错控制 缺少辅助机制 Internet Control Message Protocol(因特网控制报文协议) ICMP就是为了补偿上述两个缺点而设计的 它配合IP协议一起使用 Standards: RFC792: Internet Control Message Protocol,1981 RFC1256: ICMP Router Discovery Messages,1991

ICMP的位置及封装 IP Network layer ICMP 本身是一个网络层协议 IGMP Network layer IP ARP RARP ICMP 本身是一个网络层协议 ICMP报文首先要封装成IP数据报,然后再传送给下一层 ICMP message ICMP message IP header IP data IP header IP data Frame data Trailer (如果有) Frame header

§6-2 报文格式 代码 检验和 首部的其余部分 数据部分 类型 8 bits 16 bits

ICMP报文中各字段的作用 类型:是一个8比特长字段,定义了报文的类型。 代码:是一个8比特长字段,指明了发送此特定报文类型的原因。 检验和:是一个16比特长字段,进行差错检验。 首部的其余部分:对每一种报文类型都是特定的。 数据部分: 在差错报文中:所携带的信息可找出引起差错的原始分组; 在查询报文中:携带了基于查询类型的额外信息。

帮助主机或网络管理员从一个路由器或另一个主机得到特定的信息 报告路由器或主机(目的站)在处理一个IP数据报时可能遇到的一些问题 §6-3 报文的类型 ICMP 报文 差错报告 查询 帮助主机或网络管理员从一个路由器或另一个主机得到特定的信息 它是成对出现的 报告路由器或主机(目的站)在处理一个IP数据报时可能遇到的一些问题

路由器恳求(solicitation)或通告(advertisement) ICMP Messages 种类 类型 报文 Reason 差错报告报文 3 目的站不可达 4 源站抑制 11 时间超过 Too long route 12 参数问题 Format error 5 重定向(改变路由) Route changed 查询报文 8 or 0 回送请求或应答 Reachability 13 or 14 时间戳请求或应答 Synchronization 17 or 18 地址掩码请求或应答 Mask maintenance 10 or 9 路由器恳求(solicitation)或通告(advertisement) Coincidence between routers

§6-4 差错报告 差错报告 目的站不可达 源站抑制 时间超过 参数问题 改变路由 ICMP不能纠正差错,它只是报告差错。 §6-4 差错报告 差错报告 目的站不可达 源站抑制 时间超过 参数问题 改变路由 ICMP不能纠正差错,它只是报告差错。 ICMP 总是向原始的数据源报告差错报文。 以下情况不产生ICMP差错报文: 对于携带ICMP差错报文的数据报,不再产生ICMP差错报文; 对于分片的数据报,如果不是第一个分片则不产生ICMP差错报文; 对于具有多播地址的数据报,不产生ICMP差错报文; 对于具有特殊地址的(如 127.0.0.0 或 0.0.0.0)的数据报,不产生ICMP差错报文。

差错报文的数据字段的内容 收到的数据报 IP header 8 bytes IP data ICMP header IP header 所有的差错报文都包括一个数据部分,而这个数据部分包括原始数据报的首部,再加上数据报中的前8个字节的数据。 加上原始数据报中的首部就可给出原始信源。 要包括数据的前8个字节是因为这前8个字节提供了关于端口号(UDP和TCP)和序号(TCP)的信息,因而源站可以将差错情况通知这些协议(UDP或TCP)。

收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 (一)目的站不可达 代码: 0至15 检验和 未使用 (全0) 收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 类型:3 产生原因:   当路由器不能够给数据找到路由或主机不能够交付数据报时,就丢弃这个数据报,然后这个路由器或主机就发回目的站不可达报文给发出该数据报的源主机。

各代码的作用 代码0:网络不可达。可能是硬件故障。 代码1:主机不可达。这也可能是硬件故障。 代码2:协议不可达。IP数据报携带的数据可能属于高层协议,但此时高层协议并未运行,于是就发送出代码为2的报文。 代码3:端口不可达。数据报要交付的那个应用程序(进程)此时未运行。 代码4:需要进行分片,但该数据报的DF(不分片)字段已被设置。 代码5:源站路由选择不能完成。即在这个源站路由选择选项中定义的一个或多个路由器无法通过。 代码6:目的网络不可知。(与代码0不同) 代码7:目的主机不可知。(与代码1不同) 代码8:源主机是孤立的。

各代码的作用(续) 代码9:与目的网络的通信从管理上是禁止的。 代码10:与目的主机的通信从管理上是禁止的。 代码11:对所请求的服务类型,网络不可达。(与代码0不同) 代码12:对所请求的服务类型,主机不可达。(与代码1不同) 代码13:主机不可达。因为管理机构放置了一个过滤器在它上面。 代码14:主机不可达。因为主机的优先级被破坏了。这个报文由路由器发出,指出所请求的优先级对该目的站是不允许的。 代码15:主机不可达。因为它的优先级被删掉了。

说明: 有0至15种代码指明了产生目的站不可达差错报文的原因。 目的站不可达报文可以由路由器也可以由目的主机产生。 具有代码2或3的目的站不可达报文只能由目的主机创建,其余的目的站不可达报文只能由路由器创建。 甚至在路由器没有发送目的站不可达报文时,与不一定表示数据报已经交付了。即路由器无法检测出分组没有交付的所有问题。

收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 (二)源站抑制 代码: 0 检验和 未使用 (全0) 收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 类型:4 产生原因:   IP在协议中没有嵌入的流控制机制。在运行IP时,缺乏流控制会产生一个主要问题:拥塞。若数据报的接收速率比它们被转发或处理的速率快得多,则队列将会溢出。这样,路由器或主机别无选择,只能将某些数据报丢弃。

说明: 源站抑制报文通知源站,由于拥塞在路由器或目的主机中已经丢弃了数据报。源站必须放慢数据报的发送,直到拥塞程度减轻为止。 对每一个由于拥塞而被丢弃的数据报,都应当发送源站抑制报文。 没有机制告诉源站拥塞程度已经减轻。 主机收到对目的站D的源站抑制报文,就会降低它向D发送数据报的速率,直到它停止收到源站抑制报文。 然后,只要没有再收到源站抑制请求,就会逐渐提高发送速率。

收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 (三)时间超过 代码: 0 至1 检验和 未使用 (全0) 收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 类型:11 产生原因: 当路由器收到一个数据报,发现TTL字段的值已经变为了0,就将此数据报丢弃,并向源站发送时间超过报文。 当组成一个报文的所有分片未能在某一时限内到达目的主机时,它就丢弃已收到的分片,然后也要产生时间超过报文向源站发送。

说明: 当数据报的生存时间字段的值为零而被路由器丢弃时,就使用代码0。 在时间超过报文中,代码0只能由路由器使用。它表示生存时间字段的值为零。 由于在规定的时限内一数据报的某些分片未能到达而导致已到达分片被丢弃时,就使用代码1。 在时间超过报文中,代码1只能由目的主机使用。它表示在规定的时限内,不是所有的分片都到达了。

收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 (四)参数问题 代码:0 至1 检验和 未使用 (全0) 收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 类型:12 指针 产生原因: 如果路由器或目的主机发现一个数据报的首部有二义性,或某个字段缺少某个值,它就丢弃这个数据报,并发送参数问题报文。

说明: 路由器或目的主机可以创建参数问题报文。 代码0:在首部的一个字段中有差错或二义性。在这种情况下,指针字段的值指向有问题的字节。 代码1:表示缺少所需的选项部分。在这种情况下,不使用指针。

收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 (五)改变路由 代码:0至3 检验和 目标路由器的IP地址 收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节 类型:5 产生原因: 主机通常使用静态路由选择,当主机开始联网工作时,其路由表中的项目数很有限,通常只有一个默认路由器的IP地址。 这样,当主机向另一个网络发送数据报时,就将此数据报发给了这个错误的路由器。 在这种情况下,收到此数据报的路由器会将该数据报转发给正确的路由器。 但要更新主机中的路由表,就要由路由器发送改变路由报文。

说明: 主机在开始工作时只有很小的路由表,它逐渐增大和更新,完成此工作的工具之一就是改变路由报文。 改变路由报文是由路由器向同一个本地网络上的主机发送的。 虽然改变路由报文是一种差错报告报文,但这种情况下路由器不丢弃数据报。 改变路由报文的代码字段缩小了改变路由的范围: 代码0:对特定网络路由的改变。 代码1:对特定主机路由的改变。 代码2:基于指明的服务类型对特定网络路由的改变。 代码3:基于指明的服务类型对特定主机路由的改变。

改变路由的概念 主机A打算向主机B发送数据报。路由器R2显然是最有效的路由选择,但主机A没有选择R2,而是向R1发送。这时: Host A Network Host A Host B R1 R2 IP 分组 改变路由报文

§6-5 查询 查询 回送请求和回答 时间戳请求和回答 地址掩码请求和回答 路由器询问和通告

可选数据(由请求报文发送,由回答报文重复) (一)回送请求和回答 代码:0 检验和 可选数据(由请求报文发送,由回答报文重复) 类型:8 or 0 标识符 序号  8: 回送请求  0: 回送回答

说明: 回送请求和回送回答报文可由网络管理员来使用,用来检查IP协议的工作情况。 主机或路由器可以发送回送请求报文,收到回送请求报文的主机或路由器发送出回送回答报文。 回送请求和回送回答报文可由网络管理员来使用,用来检查IP协议的工作情况。 用回送请求和回送回答报文可测试一个主机的可达性,通常是调用ping命令来这样做的。 格式中的标识符和序号字段在协议中没有正式定义,可以由发送站任意使用。 可供选择的数据字段包含一个报文,它必须由回答的结点在回送回答报文中完全一样的重复。

(二)时间戳请求和回答 代码:0 检验和 标识符 序号 13: 请求 14: 回答 原始时间戳 接收时间戳 发送时间戳 类型:13 or 14 标识符 序号 13: 请求 14: 回答 原始时间戳 接收时间戳 发送时间戳

说明: 两个机器(主机或路由器)可使用时间戳请求和时间戳回答报文来确定IP数据报在这两个机器之间来往所需的往返时间。 它也可以用作两个机器中时钟的同步。 发送时间= 接收时间戳的值 - 原始时间戳的值 接收时间= 分组返回的时间 - 发送时间戳的值 往返时间= 发送时间 + 接收时间

(三)地址掩码请求和回答 代码:0 检验和 类型:17 or 18 标识符 序号 17: 请求 18: 回答 地址掩码

说明: 主机可能知道他的完整IP地址,但却不知道地址中的哪一部分定义网络地址和子网地址,哪一部分对应于主机标识符。这样,主机就需要知道掩码。 要得到掩码,主机应发送地址掩码请求报文给局域网上的路由器。 若主机知道该路由器的地址,它就将这个请求直接发给该路由器;若不知道,则广播此报文。 路由器收到地址掩码请求报文就响应地址掩码回答报文,向主机提供所需的掩码。 在请求报文中,地址掩码字段填入全0,回答报文中,这个字段就包含真正的掩码。

(四)路由器询问和通告 代码:0 检验和 类型:10 标识符 序号 代码:0 检验和 类型:9 寿命 路由器地址1 优先级1 路由器地址2 地址号 寿命 路由器地址1 优先级1 地址大小 路由器地址2 优先级2

说明: 路由器询问和通告报文使得主机可以知道连接到它自己的网络上的路由器的地址,还可以知道这些路由器是否正常工作。 主机可将路由器询问报文进行广播(或多播)。收到询问报文的一个或几个路由器就使用路由器通告报文广播其路由选择信息。 在没有主机询问时,路由器还可以周期性的发送路由器通告报文。 优先级定义了路由器的等级。

§6-6 检验和 在ICMP中,检验和的计算覆盖了整个报文(首部和数据)。 发送端的检验和计算: 先将首部的检验和字段置为0。 §6-6 检验和 在ICMP中,检验和的计算覆盖了整个报文(首部和数据)。 发送端的检验和计算: 先将首部的检验和字段置为0。 将分组划分为K部分,每部分都是16比特长。 用反码算术运算将所有这些部分相加。 将最终结果取反码就得出检验和。再将其填入检验和字段。 接收端的检验和计算: 将收到的分组划分为K部分,每部分都是16比特长。 用反码算术运算将所有这些部分相加。 将得到的结果取反码。 若结果为0,则接收此分组,否组就拒绝此分组。