《620TCPIP网络原理与应用》由会员分享,可在线阅读,更多相关《620TCPIP网络原理与应用(52页珍藏版)》请在金锄头文库上搜索。
1、TCP/IP网络原理与应用网络原理与应用华中科技大学电信系华中科技大学电信系2011.09第三章、第三章、IP协议协议l3.1 IP数据报的交付数据报的交付l3.2 IP数据报的路由数据报的路由l3.3 路由器的部署与应用路由器的部署与应用l3.4 IP数据报的差错控制数据报的差错控制TCP/IP网络原理与应用 Lecture 3IP数据报的交付数据报的交付(Delivery)l网络层交付一个数据报可以使用面向连接和或网络层交付一个数据报可以使用面向连接和或者无连接的网络服务者无连接的网络服务l面向连接面向连接l一系列的分组从同一个源站一个接一个的发送到同一个一系列的分组从同一个源站一个接一个
2、的发送到同一个目的站,前后分组在逻辑上是连接在一起的目的站,前后分组在逻辑上是连接在一起的l无连接无连接l网络协议独立的对待每个分组,分组之间没有关系,分网络协议独立的对待每个分组,分组之间没有关系,分组到目的站可以走不同的路径组到目的站可以走不同的路径lIP协议是协议是无连接无连接的协议的协议TCP/IP网络原理与应用 Lecture 3IP数据报的交付数据报的交付(Delivery)l直接交付直接交付l分组的目的站与发送站在同一个网络上分组的目的站与发送站在同一个网络上l间接交付间接交付l分组的目的站与发送站不在同一个网络上,经由路分组的目的站与发送站不在同一个网络上,经由路由器到达目的站
3、由器到达目的站l直接交付与间接交付直接交付与间接交付TCP/IP网络原理与应用 Lecture 3直接交付和间接交付直接交付和间接交付 间接交付间接交付间接交付ABC直接交付直接交付直接交付不需要使用路由器但间接交付就必须使用路由器TCP/IP网络原理与应用 Lecture 3第三章、第三章、IP协议协议l3.1 IP数据报的交付数据报的交付l3.2 IP数据报的路由数据报的路由l3.3 路由器的部署与应用路由器的部署与应用l3.4 IP数据报的差错控制数据报的差错控制TCP/IP网络原理与应用 Lecture 3路由器概述路由器概述l路由器路由器(Router)l在网络层,用于实现网络层路由
4、功能的网络互连设在网络层,用于实现网络层路由功能的网络互连设备被称为路由器备被称为路由器l路由是网络层最重要的功能。路由是网络层最重要的功能。TCP/IP网络原理与应用 Lecture 3典型的路由器的结构典型的路由器的结构 路由选择路由选择处理机路由选择协议路由表3输入端口3交换结构输入端口输出端口分组转发转发表分组处理输出端口11133122223网络层2数据链路层1物理层TCP/IP网络原理与应用 Lecture 3“转发转发”和和“路由路由”l转发转发(forwarding)l根据转发表将用户的根据转发表将用户的 IP 数据报从合适的端口转发数据报从合适的端口转发出去。出去。l转发表是
5、从路由表得出的转发表是从路由表得出的l通常硬件实现通常硬件实现l路由路由(routing)l按照分布式算法,根据从各相邻路由器得到的关于按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由网络拓扑的变化情况,动态地改变所选择的路由l路由表是根据路由选择算法得出的路由表是根据路由选择算法得出的l通常软件实现通常软件实现l在讨论路由选择的原理时,往往不去区分转发在讨论路由选择的原理时,往往不去区分转发表和路由表的区别表和路由表的区别 TCP/IP网络原理与应用 Lecture 3路由器的存储转发路由器的存储转发l路由器转发分组的步骤路由器转发分组的步骤l先按所要找
6、的先按所要找的 IP 地址中的网络号地址中的网络号 net-id 把目的网把目的网络找到。络找到。l当分组到达目的网络后,再利用主机号当分组到达目的网络后,再利用主机号host-id 将将数据报直接交付给目的主机。数据报直接交付给目的主机。l按照整数字节划分按照整数字节划分 net-id 字段和字段和 host-id 字段,就字段,就可以使路由器在收到一个分组时能够更快地将地址可以使路由器在收到一个分组时能够更快地将地址中的网络号提取出来。中的网络号提取出来。TCP/IP网络原理与应用 Lecture 3路由器的存储转发:队列管理路由器的存储转发:队列管理l若路由器处理分组的速率赶不上分组进入
7、队列的速率,若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。进入队列的分组由于没有存储空间而只能被丢弃。l路由器中的输入或输出队列产生溢出是造成分组丢失路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。的重要原因。 TCP/IP网络原理与应用 Lecture 3路由器的存储转发:网络拥塞路由器的存储转发:网络拥塞l网络中的拥塞网络中的拥塞(Congestion)l当通信子网中的某一部分有太多的数据分组时,会当通信子网中的某一部分有太多的数据分组时,会导
8、致网络性能的下降。导致网络性能的下降。l拥塞会引起网络分组的丢失,在严重的情况下,会拥塞会引起网络分组的丢失,在严重的情况下,会导致网络运行的瘫痪。导致网络运行的瘫痪。l拥塞控制拥塞控制(Congestion Control)l端到端的解决方案:采取可靠的传输层控制协议,端到端的解决方案:采取可靠的传输层控制协议,例如例如TCP的改进的改进 l基于路由器的解决方案:采取不同的路由器队列管基于路由器的解决方案:采取不同的路由器队列管理策略理策略(Queue Management, 例如例如RED算法算法),不,不同的队列调度策略同的队列调度策略(Scheduling,例如例如WFQ算法算法)TC
9、P/IP网络原理与应用 Lecture 3路由器的路由功能:路由表路由器的路由功能:路由表 l在路由器中,所有有关如何到达目标网络的最在路由器中,所有有关如何到达目标网络的最佳路径信息以数据库表的形式存储起来。佳路径信息以数据库表的形式存储起来。l这种专门用于存放路由信息的表被称为路由表。这种专门用于存放路由信息的表被称为路由表。l路由表的不同表项可给出到达不同目标网络所路由表的不同表项可给出到达不同目标网络所需要历经的路由器接口信息。需要历经的路由器接口信息。l路由表使得基于第三层地址的路径选择最终得路由表使得基于第三层地址的路径选择最终得以实现。以实现。TCP/IP网络原理与应用 Lect
10、ure 3 网 110.0.0.0 网 440.0.0.0 网 330.0.0.0 网 220.0.0.010.0.0.440.0.0.430.0.0.220.0.0.920.0.0.7目的主机所在的网络下一跳路由器的地址20.0.0.030.0.0.010.0.0.040.0.0.020.0.0.730.0.0.1直接交付,接口 1直接交付,接口 0路由器 R2 的路由表30.0.0.110.0.0.440.0.0.430.0.0.220.0.0.920.0.0.730.0.0.1链路 4链路 3链路 2链路 1R2R3R101R2R3R1在路由表中,对每一条路由,最主要的是(目的网络地址,
11、下一跳地址) TCP/IP网络原理与应用 Lecture 3路由器的路由功能:查找路由表路由器的路由功能:查找路由表l路由器的某一个接口在收到帧后路由器的某一个接口在收到帧后l首先进行帧的拆封以便从中分离出相应的首先进行帧的拆封以便从中分离出相应的IP分组分组l然后利用子网掩码求然后利用子网掩码求“与与”方法从方法从IP分组中提取出分组中提取出目标网络号目标网络号l将目标网络号与路由表进行比对看能否找到一种匹将目标网络号与路由表进行比对看能否找到一种匹配,即确定是否存在一条到达目标网络的最佳路径配,即确定是否存在一条到达目标网络的最佳路径信息。信息。l若存在匹配,则将若存在匹配,则将IP分组重
12、新进行封装成出去端口分组重新进行封装成出去端口所期望的帧格式并将其从路由器相应端口转发出去;所期望的帧格式并将其从路由器相应端口转发出去;l若不存在匹配,则将相应的若不存在匹配,则将相应的IP分组丢弃。分组丢弃。TCP/IP网络原理与应用 Lecture 3最长前缀匹配最长前缀匹配l最长前缀匹配最长前缀匹配(longest-prefix matching)l使用使用 CIDR 时,路由表中的每个项目由时,路由表中的每个项目由“网络前缀网络前缀”和和“下一跳地址下一跳地址”组成。在查找路由表时可能会组成。在查找路由表时可能会得到不止一个匹配结果。得到不止一个匹配结果。 l应当从匹配结果中选择具有
13、最长网络前缀的路由:应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配。因为网络前缀越长,其地址块就越最长前缀匹配。因为网络前缀越长,其地址块就越小,因而路由就越具体。小,因而路由就越具体。l又称为最长匹配或最佳匹配。又称为最长匹配或最佳匹配。 TCP/IP网络原理与应用 Lecture 3路由表路由表l路由表中的路由信息是从可而来的呢?路由表中的路由信息是从可而来的呢?l或者说,路由器如何生成并维持一个能正确反或者说,路由器如何生成并维持一个能正确反映网络拓扑与状态信息的路由表?映网络拓扑与状态信息的路由表?l有两种方式可用于路由表信息的生成和维护,有两种方式可用于路由表信息的生成和维
14、护,即分别是静态路由和动态路由。即分别是静态路由和动态路由。 TCP/IP网络原理与应用 Lecture 3静态路由静态路由l网络管理员根据其所掌握的网络连通信息以手工配置网络管理员根据其所掌握的网络连通信息以手工配置方式创建的路由表表项。方式创建的路由表表项。l要求网络管理员对网络的拓扑结构和网络状态有着非要求网络管理员对网络的拓扑结构和网络状态有着非常清晰的了解;常清晰的了解;l当网络连通状态发生变化时,静态路由的更新也要通当网络连通状态发生变化时,静态路由的更新也要通过手工方式完成。过手工方式完成。l通常被用于与外界网络只有唯一通道的所谓孤岛通常被用于与外界网络只有唯一通道的所谓孤岛(S
15、TUB)网络,网络,l也可用作网络测试、网络安全或带宽管理的有效措施。也可用作网络测试、网络安全或带宽管理的有效措施。l当网络互连规模增大或网络中的变化因素增加时,静当网络互连规模增大或网络中的变化因素增加时,静态路由也很难及时适应网络状态的变化。态路由也很难及时适应网络状态的变化。 TCP/IP网络原理与应用 Lecture 3动态路由动态路由l指路由器通过自主学习而获得的路由信息。指路由器通过自主学习而获得的路由信息。l通过在路由器上运行路由协议并进行相应的路通过在路由器上运行路由协议并进行相应的路由协议配置即可保证路由器自动生成并维护正由协议配置即可保证路由器自动生成并维护正确的路由信息
16、。确的路由信息。l动态路由不仅能更好地适应网络状态的变化,动态路由不仅能更好地适应网络状态的变化,如网络拓朴和网络流量的变化,同时也减少了如网络拓朴和网络流量的变化,同时也减少了人工生成与维护路由表的工作量。人工生成与维护路由表的工作量。l付出的代价:付出的代价:l路由器之间为了交换和处理路由更新信息而带来的路由器之间为了交换和处理路由更新信息而带来的资源耗费,包括网络带宽和路由器本身资源的占用。资源耗费,包括网络带宽和路由器本身资源的占用。 TCP/IP网络原理与应用 Lecture 3路由协议路由协议l在网络层用于动态生成路由表信息在网络层用于动态生成路由表信息lIP协议提供了逻辑寻址信息
17、即告诉路由设备数据包协议提供了逻辑寻址信息即告诉路由设备数据包要往何处去,但不能解决如何去的问题;要往何处去,但不能解决如何去的问题;l路由协议提供了关于如何到达既定目标的路径信息。路由协议提供了关于如何到达既定目标的路径信息。也就是说,为也就是说,为IP数据包到达目标网络提供了路径选数据包到达目标网络提供了路径选择服务择服务 TCP/IP网络原理与应用 Lecture 3路由选择算法路由选择算法l路由协议的核心是路由选择算法。路由协议的核心是路由选择算法。 l不同的路由选择算法通常会采用不同的评价因子、不同的路由选择算法通常会采用不同的评价因子、权重及算法思想来进行最佳路径的计算。权重及算法
18、思想来进行最佳路径的计算。l常见的评价因子包括带宽、可靠性、延时、负载、常见的评价因子包括带宽、可靠性、延时、负载、跳数和费用等。在此,跳数跳数和费用等。在此,跳数(hop)是指所需经过的是指所需经过的路由器数目。路由器数目。TCP/IP网络原理与应用 Lecture 3应用应用 查看路由表查看路由表lnetstat -r l本选项可以显示关于本选项可以显示关于路由表路由表的信息的信息lroute printl显示有效路由显示有效路由TCP/IP网络原理与应用 Lecture 3Netstat 命令命令1、netstat 的一些常用选项的一些常用选项lnetstat -s l本选项能够按照各个
19、协议分别显示其统计数据。如本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如果我们的应用程序(如Web浏览器)运行浏览器)运行速度比速度比较较慢,或者不能显示慢,或者不能显示Web页之类的数据,那么我们就页之类的数据,那么我们就可以用本选项来查看一下所显示的信息。我们需要可以用本选项来查看一下所显示的信息。我们需要仔细查看统计数据的各行,找到出错的关键字,进仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。而确定问题所在。l本选项用于显示关于以太网的统计数据。它列出的本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总项目包括传送的数据报的总字节字节数、
20、错误数、删除数、错误数、删除数、数据报的数量和数、数据报的数量和广播广播的数量。这些统计数据既的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)个选项可以用来统计一些基本的网络流量)TCP/IP网络原理与应用 Lecture 3Netstat 命令命令lnetstat -r l本选项可以显示关于本选项可以显示关于路由表路由表的信息,类似于后面所的信息,类似于后面所讲使用讲使用route print命令时看到的命令时看到的 信息。除了显示有信息。除了显示有效路由外,还显示当前有效的连接。效路由外,还
21、显示当前有效的连接。lnetstat -a l本选项显示一个所有的有效连接信息列表,包括已本选项显示一个所有的有效连接信息列表,包括已建立的连接(建立的连接(ESTABLISHED),也包括),也包括监听监听连接连接请求(请求(LISTENING)的那些连接。)的那些连接。lnetstat -n l显示所有已建立的有效连接。显示所有已建立的有效连接。TCP/IP网络原理与应用 Lecture 3应用应用 维护路由表维护路由表lroute print l本命令用于显示路由表中的当前项目,在单路由器本命令用于显示路由表中的当前项目,在单路由器网段上的输出;由于用网段上的输出;由于用IP地址配置了地
22、址配置了网卡网卡,因此所,因此所有的这些项目都是自动添加的。有的这些项目都是自动添加的。TCP/IP网络原理与应用 Lecture 3Route命令命令lroute add l使用本命令,可以将信路由项目添加给路由表。使用本命令,可以将信路由项目添加给路由表。 lroute change l我们可以使用本命令来修改数据的传输路由我们可以使用本命令来修改数据的传输路由lroute delete l使用本命令可以从路由表中删除路由。例如:使用本命令可以从路由表中删除路由。例如:route delete 209.98.32.33 TCP/IP网络原理与应用 Lecture 3应用应用 调试目前的路由
23、调试目前的路由ltracert IP address -d l该命令返回到达该命令返回到达 IP 地址所经过的路由器列表。通地址所经过的路由器列表。通过使用过使用 -d 选项,将更快地显示路由器路径,因为选项,将更快地显示路由器路径,因为 tracert 不会尝试解析路径中路由器的名称。不会尝试解析路径中路由器的名称。 ltracert一般用来检测故障的位置,我们可以用一般用来检测故障的位置,我们可以用tracert IP在哪个环节上出了问题,虽然还是没有在哪个环节上出了问题,虽然还是没有确定是什么问题,但它已经告诉了我们问题所在的确定是什么问题,但它已经告诉了我们问题所在的地方地方TCP/I
24、P网络原理与应用 Lecture 3第三章、第三章、IP协议协议l3.1 IP数据报的交付数据报的交付l3.2 IP数据报的路由数据报的路由l3.3 路由器的部署与应用路由器的部署与应用l3.4 IP数据报的差错控制数据报的差错控制TCP/IP网络原理与应用 Lecture 3路由器的部署与应用路由器的部署与应用l网络互相连接起来要使用一些中间设备网络互相连接起来要使用一些中间设备l中间设备又称为中间系统或中继中间设备又称为中间系统或中继(relay)系统。系统。l物理层中继系统:转发器物理层中继系统:转发器(repeater)。l数据链路层中继系统:网桥或桥接器数据链路层中继系统:网桥或桥接
25、器(bridge)。l网络层中继系统:路由器网络层中继系统:路由器(router)。l网桥和路由器的混合物:桥路器网桥和路由器的混合物:桥路器(brouter)。l网络层以上的中继系统:网关网络层以上的中继系统:网关(gateway)。TCP/IP网络原理与应用 Lecture 3网络互连使用路由器网络互连使用路由器 l当中继系统是转发器或网桥时,一般并不称之当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,为网络互连,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。而这仍然是一个网络。 l网关由于比较复杂,目前使用得较少。网关由于比较复杂,目前使用得较少。l
26、互联网都是指用路由器进行互连的网络。互联网都是指用路由器进行互连的网络。l由于历史的原因,许多有关由于历史的原因,许多有关 TCP/IP 的文献将的文献将网络层使用的路由器称为网关。网络层使用的路由器称为网关。 TCP/IP网络原理与应用 Lecture 3作用之一:提供异构网络的互连作用之一:提供异构网络的互连l在物理上,路由器可提供多种网络的接口:在物理上,路由器可提供多种网络的接口:l如以太网口、令牌环网口、如以太网口、令牌环网口、FDDI口、口、ATM口、串口、串行连接口、行连接口、SDH连接口、连接口、ISDN连接口等多种不同连接口等多种不同的接口。的接口。l通过多种物理接口,路由器
27、可以支持各种异构通过多种物理接口,路由器可以支持各种异构网络的互连,其典型的互连方式包括网络的互连,其典型的互连方式包括LAN-LAN、LAN-WAN和和WAN-WAN等等 。l在网络层能够实现基于在网络层能够实现基于IP协议的分组转发。协议的分组转发。TCP/IP网络原理与应用 Lecture 3路由器实现异构网络互连的示例路由器实现异构网络互连的示例TCP/IP网络原理与应用 Lecture 3示例说明示例说明l以主机以主机1和主机和主机5为例,假定主机为例,假定主机1要给主机要给主机5 发送数据,则主机发送数据,则主机1将以主机将以主机5的的IP地址为目标地址为目标IP地址,以其自己的地
28、址,以其自己的IP地址为源地址为源IP地址地址启动启动IP分组的发送。分组的发送。l由于目标主机和源主机不在同一网络中,为了发送该由于目标主机和源主机不在同一网络中,为了发送该IP分组,主分组,主机机1需要将该分组封装成以太网的帧发送给缺省网关即路由器需要将该分组封装成以太网的帧发送给缺省网关即路由器A的的E0端口;端口;lE0端口收到该帧后进行帧的拆封并分离出端口收到该帧后进行帧的拆封并分离出IP分组,通过将分组,通过将IP分组分组中的目标网络号与自己的路由表进行匹配,其决定将该分组由自中的目标网络号与自己的路由表进行匹配,其决定将该分组由自己的己的E1口送出,但在送出之前,其必须首先将该口
29、送出,但在送出之前,其必须首先将该IP分组重新按以分组重新按以太网帧的帧格式进行封装,这次要以自己的太网帧的帧格式进行封装,这次要以自己的E1口的口的MAC地址为源地址为源MAC地址、路由器地址、路由器B的的E0口口MAC地址为目标地址为目标MAC地址进行帧的封地址进行帧的封装,然后将帧发送出去;装,然后将帧发送出去;l路由器路由器B 收到该以太网帧之后,通过帧的拆封,再度得到原来的收到该以太网帧之后,通过帧的拆封,再度得到原来的IP分组,并通过查找自己的分组,并通过查找自己的IP路由表,决定将该分组从自己的以太路由表,决定将该分组从自己的以太网口网口T0送出去,即以主机送出去,即以主机5的的
30、MAC地址为目标地址为目标MAC地址,以自己地址,以自己的的T0口的口的MAC地址为源地址为源MAC地址进行地址进行802.5令牌环网帧的封装,令牌环网帧的封装,然后启动帧的发送;然后启动帧的发送;l最后,该帧到达主机最后,该帧到达主机5,主机,主机5进行帧的拆封,得到主机进行帧的拆封,得到主机1给自己的给自己的IP分组并送到自己的更高层即传输层。分组并送到自己的更高层即传输层。TCP/IP网络原理与应用 Lecture 3作用之二:实现网络的逻辑划分作用之二:实现网络的逻辑划分l路由器所连的网路由器所连的网络必定属于不同络必定属于不同的冲突域,即从的冲突域,即从划分冲突域的能划分冲突域的能力
31、来看,路由器力来看,路由器具有和交换机相具有和交换机相同的性能。同的性能。l例如,当网络例如,当网络1中中的主机的主机1给主机给主机2发送发送IP分组分组1的同的同时,主机时,主机5可以可以给主机给主机6发送发送IP分分组组2,它们互不它们互不矛盾矛盾 。TCP/IP网络原理与应用 Lecture 3作用之二作用之二 (续续)l除了可以隔离网络冲突外,除了可以隔离网络冲突外,由路由器相连的不同网段之由路由器相连的不同网段之间还可以相互隔离广播流量。间还可以相互隔离广播流量。l若主机若主机1以目标地址以目标地址“255.255.255.255”广播,广播,则该广播会被局限于网段则该广播会被局限于
32、网段1中,因为路由器通过判断该中,因为路由器通过判断该目标目标IP地址得知道自己不必地址得知道自己不必转发该转发该IP分组。分组。l路由器不同接口所连的网段路由器不同接口所连的网段属于不同的广播域。属于不同的广播域。l广播域是对所有能分享广播广播域是对所有能分享广播流量的主机及其网络环境的流量的主机及其网络环境的总称。总称。 TCP/IP网络原理与应用 Lecture 3第三章、第三章、IP协议协议l3.1 IP数据报的交付数据报的交付l3.2 IP数据报的路由数据报的路由l3.3 路由器的部署与应用路由器的部署与应用l3.4 IP数据报的差错控制数据报的差错控制TCP/IP网络原理与应用 L
33、ecture 3IP数据报的差错控制数据报的差错控制l为了提高为了提高 IP 数据报交付成功的机会,在网际数据报交付成功的机会,在网际层使用了因特网控制报文协议层使用了因特网控制报文协议 ICMP (Internet Control Message Protocol)。lICMP 允许主机或路由器报告差错情况和提供允许主机或路由器报告差错情况和提供有关异常情况的报告。有关异常情况的报告。lICMP 不是高层协议,而是不是高层协议,而是 IP 层的协议。层的协议。lICMP 报文作为报文作为 IP 层数据报的数据,加上数层数据报的数据,加上数据报的首部,组成据报的首部,组成 IP 数据报发送出去
34、。数据报发送出去。TCP/IP网络原理与应用 Lecture 3ICMP 报文的格式报文的格式 首 部ICMP 报文0数 据 部 分检验和类型代码(这 4 个字节取决于 ICMP 报文的类型)81631IP 数据报前 4 个字节都是一样的ICMP 的数据部分(长度取决于类型)TCP/IP网络原理与应用 Lecture 3ICMP 报文报文lICMP 报文的种类有两种,即报文的种类有两种,即 ICMP 差错报告差错报告报文和报文和 ICMP 询问报文。询问报文。 lICMP 报文的前报文的前 4 个字节是统一的格式,共有个字节是统一的格式,共有三个字段:即类型、代码和检验和。接着的三个字段:即类
35、型、代码和检验和。接着的 4 个字节的内容与个字节的内容与 ICMP 的类型有关。的类型有关。 TCP/IP网络原理与应用 Lecture 3ICMP 差错报告报文共有差错报告报文共有 5 种种 l终点不可达终点不可达 l源站抑制源站抑制 l时间超过时间超过 l参数问题参数问题 l改变路由(重定向)改变路由(重定向) TCP/IP网络原理与应用 Lecture 3ICMP 差错报告报文的数据字段内容差错报告报文的数据字段内容 首部IP 数据报ICMP 的前 8 字节装入 ICMP 报文的 IP 数据报IP 数据报首部ICMP 差错报告报文8字节收到的 IP 数据报IP 数据报首部8字节ICMP
36、 差错报告报文IP 数据报的数据字段TCP/IP网络原理与应用 Lecture 3不应发送不应发送 ICMP 差错报告报文的几种情况差错报告报文的几种情况 l对对 ICMP 差错报告报文不再发送差错报告报文不再发送 ICMP 差错报差错报告报文。告报文。l对第一个分片的数据报片的所有后续数据报片对第一个分片的数据报片的所有后续数据报片都不发送都不发送 ICMP 差错报告报文。差错报告报文。l对具有多播地址的数据报都不发送对具有多播地址的数据报都不发送 ICMP 差错差错报告报文。报告报文。l对具有特殊地址(如对具有特殊地址(如127.0.0.0或或0.0.0.0)的数)的数据报不发送据报不发送
37、 ICMP 差错报告报文。差错报告报文。TCP/IP网络原理与应用 Lecture 3ICMP 询问报文有询问报文有两两种种 l回送请求和回答报文回送请求和回答报文l时间戳请求和回答报文时间戳请求和回答报文TCP/IP网络原理与应用 Lecture 3Ping (Packet InterNet Groper) lPing 用来测试两个主机之间的连通性。用来测试两个主机之间的连通性。lPing 使用了使用了 ICMP 回送请求与回送回答报文。回送请求与回送回答报文。lPing 是应用层直接使用网络层是应用层直接使用网络层 ICMP 的例子,的例子,它没有通过运输层的它没有通过运输层的 TCP 或
38、或UDP。 TCP/IP网络原理与应用 Lecture 3案例案例 Ping的使用的使用l按照缺省设置,按照缺省设置,Windows上运行的上运行的Ping命令发送命令发送4个个ICMP(网间控制报文(网间控制报文协议协议)回送请求,每个)回送请求,每个32字节字节字节字节数据,如果一切正常,我们应能得到数据,如果一切正常,我们应能得到4个回送应答。个回送应答。l如果应答时间短,表示数据报不必通过太多的路由器如果应答时间短,表示数据报不必通过太多的路由器或网络连接或网络连接速度比速度比较快。较快。lPing还能显示还能显示TTL(Time To Live存在时间)值,我存在时间)值,我们可以通
39、过们可以通过TTL值推算一下数据包已经通过了多少个值推算一下数据包已经通过了多少个路由器:源地点路由器:源地点TTL起始值(就是比返回起始值(就是比返回TTL略大的略大的一个一个2的乘方数)的乘方数)-返回时返回时TTL值。值。l例如,返回例如,返回TTL值为值为119,那么可以推算数据报离开,那么可以推算数据报离开源地址的源地址的TTL起始值为起始值为128,而源地点到目标地点要,而源地点到目标地点要通过通过9个路由器网段(个路由器网段(128-119);如果返回);如果返回TTL值为值为246,TTL起始值就是起始值就是256,源地点到目标地点要通过,源地点到目标地点要通过9个路由器网段。
40、个路由器网段。 TCP/IP网络原理与应用 Lecture 3提高提高 Tracert的原理的原理TCP/IP网络原理与应用 Lecture 3实验实验 l1. 理解理解ICMP Echo Request/Replyl2. 使用使用Windump分析分析Tracertl3. 使用使用ping构建你的构建你的TracertTCP/IP网络原理与应用 Lecture 3理解理解ICMP Echo Request/Replyl发送者初始化发送者初始化identifier, sequence number和和datal接收者将类型改成接收者将类型改成Echo Reply,返回给发送者,返回给发送者li
41、dentifier用于匹配用于匹配Request和和ReplyTCP/IP网络原理与应用 Lecture 3理解理解ICMP Echo Request/ReplylPing 192.168.88.252 n 2lPing 192.168.88.252 n 2D:WinDump.exe -i 3 icmp and host 192.168.88.252WinDump.exe: listening on DeviceNPF_4DE7E335-57E1-4A0A-A265-3C24E7AA7E1513:32:23.401217 IP yuan-hust 192.168.88.252: ICMP ec
42、ho request, id 512, seq 3840, length 4013:32:23.401468 IP 192.168.88.252 yuan-hust: ICMP echo reply, id 512, seq 3840, length 4013:32:24.401776 IP yuan-hust 192.168.88.252: ICMP echo request, id 512, seq 4096, length 4013:32:24.402043 IP 192.168.88.252 yuan-hust: ICMP echo reply, id 512, seq 4096, l
43、ength 4013:32:49.985567 IP yuan-hust 192.168.88.252: ICMP echo request, id 512, seq 4352, length 4013:32:49.985823 IP 192.168.88.252 yuan-hust: ICMP echo reply, id 512, seq 4352, length 4013:32:50.986272 IP yuan-hust 192.168.88.252: ICMP echo request, id 512, seq 4608, length 4013:32:50.986550 IP 19
44、2.168.88.252 yuan-hust: ICMP echo reply, id 512, seq 4608, length 40TCP/IP网络原理与应用 Lecture 3使用使用Windump分析分析Tracertl实验步骤:实验步骤:l启动启动Windumpl运行:运行:Tracert www.mit.edul分析打印出的信息分析打印出的信息l运行:运行:Tracert l分析分析Windump输出信息输出信息l估计平均估计平均RTT时间时间TCP/IP网络原理与应用 Lecture 3使用使用ping构建你的构建你的Tracertl思路:思路:l运行:运行:ping xxxx n 1 i xl周期地调用上述命令并递增周期地调用上述命令并递增TTL值值l从输出信息中提取路由器地址信息从输出信息中提取路由器地址信息l打印出路由器地址信息打印出路由器地址信息TCP/IP网络原理与应用 Lecture 3谢谢!谢谢!