




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上一页上一页上一页下一页下一页下一页 网络层的故障诊断与维护网络层的故障诊断与维护上一页上一页上一页下一页下一页下一页要点内容网络层的协议;网络层的协议;网络层的故障现象;网络层的故障现象;网络层故障的诊断及排除方法;网络层故障的诊断及排除方法;数据包的结构及数据包的结构及sniffer的使用。的使用。上一页上一页上一页下一页下一页下一页1.1 网络层的功能网络层的功能1.1.1网络层功能概述 应用层 Application表示层 Presentation会话层 Session传输层 Transport网络层 Network数据链路层 Data Link物理层 Physical网络层是OSI参
2、考模型的第三层(如图5-1),是涉及网络配置工作最多的地方,主要解决网络与网络之间的通信的问题。其中包含了分配网络地址与子网掩码、添加默认网关与域名服务器、安装和配置路由器。当然,网络层也是网络配置中,易于出错的层。在一个巨大的互联网络中,维护人员大量的时间被用于解决此层中发生的问题。应用层 Application表示层 Presentation会话层 Session传输层 Transport网络层 Network数据链路层 Data Link物理层 Physical 图1 网络层的位置上一页上一页上一页下一页下一页下一页1.1 网络层的功能网络层的功能 对网络层的支持所涉及到的任务并不是非常
3、多,但是,必须完全掌握网络层功能,才能有效维护此层的网络故障并解决故障。网络层处理逻辑地址,正是利用这些地址,网络协议才能有效地将数据包从一个网络传输到另一个网络。 对网络层的分析分为3个部分:定义逻辑地址,提供路由选择,处理无连接数据包传输。1.1.2定义逻辑地址 逻辑地址是指配置给设备的地址,它工作在网络层,提供了网络与主机的信息。逻辑地址并不像数据链路层定义的热物理地址那样可以表现网络结构。对于一个网络协议,为了将数据从一个网络传送到另一个网络,必需利用两部分逻辑地址:一部分用来识别网络,另一部分用来标识主机。 大量网络协议都采取这样的方式来利用逻辑地址。举例来说,TCP/IP,IPX/
4、SPX.,以及AppleTalk协议都符合此项要求,而NetBUEI 和DLC(数据链路控制)则不能满足此项要求。上一页上一页上一页下一页下一页下一页1.1 网络层的功能网络层的功能 逻辑地址必需包含网络部分与主机部分。这样,一个巨大的、包含有上千台主机(公司内)甚至于上百万台主机(互联网)的网络才能被构造起来,并且可以迅速定位其中的每一台主机。路由器首先找到主机所在的网络,然后南确定单独的主机地址。找到这个网络以后,在那个网络中的一台路由器将通过将逻辑地址与数据链路层的物理地址映射,从而找到这个独产的主机。数据包到达正确的网络以后,不同的协议将采用不同的方式来将主机逻辑地址映射为物理地址。T
5、CP/IP采用的方式则是利用地址解析协议(ARP)。 网络层中最复杂的一个方面是决定数据包在传送到目的地时,所经过的网络最佳路径。1.1.3互联网络中路径的选择 如果从一端到另一端只存在一条路径,那么网络层的工作将变得非常单纯。但是,正如国家中复杂的道路系统一样,在大多数大型网络里,都存在有多条从位置A到位置B的路径。而且,并不总是有一个明确的结论,来选择应该遵从哪一条路径。有一些线路上业务量很繁重,而另一些线路上业务量很少;有一些正在进行建设或出现了故障,而有一些则运行通畅。 网络层,利用路由协议,可以选择到达目地的最佳路径。如果有一条原来通畅的线路变得拥塞甚至不可利用,那么就需要选定一条备
6、用的线路。路由协议信赖于包含有主机标号域与网络标号域的逻上一页上一页上一页下一页下一页下一页1.1 网络层的功能网络层的功能 辑地址。具有此样逻辑寻址方案的协议则被称为路由协议或可路由协议。在本章以后讨论路由器时,我们将仔细讨论如何配置路由协议,以及如何监测有问题的领域。 若想将数据包从一个网络有效地传输到另一个网络,网络层需要完成很多工作。提高效率的关键是减少开销。换句话说,网络层有特定的工作需要去完成,而可靠性,流量控制等事务,则留给其他层去实现。1.1.4无连接数据包的传输 网络层依靠于OSI模型中更高的几层来提供高级功能,如可靠性与流量控制。网络层的工作是将数据包Y从源所在的网络传输到
7、目的所在的网络,而不考虑是否有数据包X或数据包Z也要到达同一目的地址。实际上,当一个网络中的网络层组成部分沿着数据包前往目地的路径将数据包传送给另一个网络以后,无法确认数据包是否安全到达。这样一种方式被称为无连接通信。 无连接通信中,从源到目的地并没有建立一条连接。网络层协议依赖于信用(或上层协议)来保证数据包传输的安全。此系统与利用美国邮政寄送交第一类信件非常相似。将信件放入邮箱中,希望可以传送到目的地。通常情况下,正是如此。但若想要确认信被收到了(或被告知信没有被收到),就必须在信件上加一层附件(同时,花费上一页上一页上一页下一页下一页下一页1.1 网络层的功能网络层的功能 少理美元)并发
8、送一封确信信。确认信要求接收者做出一个回应,接受的回执被送回发送者。1.1.5网络层的主要功能 1) 过路由选择算法,为分组通过通信子网选择最适当的路径; 2) 网络层使用数据链路层的服务; 3) 实现路由选择、拥塞控制与网络互联等基本功能; 4) 向传输层的端一端传输连接提供服务;上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 网络层中,路由器对该层非常重要。它们利用网络层中定义的逻辑地址来决定如何在网络通信中更有效地传输数据信息。协议则是网络层必不可少的,他们定义的传输的语法和规则。1.2.1网络协议 一台计算机只有在遵守网络协议的前提下,才能在网络上与其他计算机进行
9、正常的通信。尽管在网络中,物理层是基础,但工作在网络层的协议则是网络的核心成份。大多数协议以簇的形式出现,将一系列函数整合成为一个协议进行安装。例如: TCP/IP包括IP网络层协议,TCP与UDP传输层协议。当然还包含一个应用程序与问题解决的工具包,如FTP和PING工具。 IPX/SPX带有IPX网络层协议,SPX传输层协议,以及NETWERE核心协议(NCP)。NCp处理了一些传输层以及上层的功能。 NETBEUI则是一个轻量级的协议,它只在传输层与会话层上工作。尽管可以选择很多网络协议,但应用最普遍的网络协议则是TCP/IP。 上一页上一页上一页下一页下一页下一页1.2 网络层的组件网
10、络层的组件1.2.2路由器将数据发送到它的目的地 如果没有路由器在网络层中的努力工作,我们将不会拥有像互联网这样的丰富资源。想象一个邮政系统,其中我们的信件只有街道地址。没有城市,州和邮政编码。这样一个系统所造成的绝望状况,便是对于大的网络,如果没有路由器所产生的后果。 路由器,与包含有逻辑地址的协议一起,为巨大的互联网提供了一些有序性与结构。路由器的责任是接收一个网络的数据包,判断目的地址的所在地网络标号,并将数据包发送到目的地所在地网络。如果收到数据包的路由器正好连接目的地所在的网络,路由器将把数据包发送给目标主机。在只有少数几个网络的互联网中,这并不是一个复杂的工作。但对于一个具有成千上
11、万网络的互联网来说,正确地配置路由器,选择路由协议,实现安全机制则是一个非常值得掌握的技能。1.2.3通过互联网协议来支持TCP/IP 上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 应用层应用层数据段表示层会话层传输层传输层数据包网络层网络互连层数据帧数据链路层主机到网络层比特物理层图2 OSI与TCP/IP模型的对应关系上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 TCP/IP协议簇包含了很多组成部分,并且覆盖了OSI模型中最上面的5层。在图5-2中,展示了TCP/IP协议簇与OSI模型的对应关系。注意,网络接口层对应于OSI模型中的数据链路层
12、与物理层。TCP/IP并没有任何协议或组成部分应用于这两层。但是只要使用了合适的数据链路驱动程序,TCP/IP却可以按物理层和数据链路层规范工作。1.网络层的协议网络层的协议IP 全球大量的信息与错误信息的集合被称为互联网。这是按现今普遍运用的网络协议,网际协议(IP)来命名的。支持IP的关键是理解寻址机制。理解了寻址机制以后,对于网络主机和路由器的操作与支持将变得比较容易。 1)IP寻址 IP地址上一个32比特的数字,以八比特一组,称为字节的方式分成4组。每一个字节都可能包含一个从0到255的值。通常,IP地址写成有圆点间隔的,十进制的形式。尽管可能会经常碰到需要采用16进制的应用程序。一个
13、典型的IP地址可能像这样: 其中,192是第1个字节,1是第4个字节。 上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 每一个IP地址中包含了网络标号与主机标号。也就是说,32比特数据中,有一些描述了在哪个网络中,可以发现主机。地址中剩余的比特则确定了网络中的特定计算机或设备。 对一台主机可以配置3类IP地址,分别是A,B,C类。一个特定的IP地址所属于的类是由地址的第1个字节来决定的。注意注意: 也存在等级D和等级E的IP地址。等级D的地址第一个字节的值在224239之间,此地址用来做广播发送。等级E的地址第一个字节的值在240255之间,被保留
14、以用作测试。如下表: 上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 类型网络比特/字节的数量默认子网掩码A8/1B16/2C24/3表5-1 不同类型的地址中的网络比特与默认掩码 地址的类别确定了用来描述网络序列号的比特数,剩余的比特确定了主机。网络比特总是从第一个字节开始的。表5-1展示了这种关系。 2)子网与子网掩码 子网是将一个特定的类网分解成更多的网络。子网掩码决定了IP地址中哪些是网络的部分,哪些是主机的部分。子网掩码被称为掩码,是因为它通过将子网掩码与IP地址逻辑与隐藏了。或者屏蔽了主机的地址
15、。主机使用子网掩码以及配置的IP地址,来确认它自己的网络。路由器利用掩码与收到的包的目的地址决定数据包所要发送到的网络。上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 注意注意:必须一直使用子网掩码。子网掩码是IP地址的同伴。两者皆不可单独存在,因此当您配置一个时,必须配置另外一个。 3)IP主机的配置 IP地址配置的一条规则便是所有同一个物理网络中的主机必须包含相同的网络号。因为一个IP地址的设置离不开子网掩码,上面的规则暗示了主机也必须具有相同子网掩码。 图5-3形象地表示同一个物理网络所表示的具体含义。图中,每一个圆圈表示一个单独的物理网络。大体上,一个单独的物理网
16、络可以是网络的任何一部分。它与网络的其他部分通过一个路由器接口相连。每一个物理网络的路由器接口必须配置一个地址,此地址与在网络中的主机网络号相同。 除了一个IP地址和子网掩码,大多数主机配置同样需要一个默认网关地址。默认网关,通常是指路由器的地址。当网络中的主机发送数据包时,如果数据包的目的地址不在同一个网络中,数据将传送给这个设备,上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 图3 通过路由器连接的3个物理网络 上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 当一个主机要将一个数据包发送出去时,主机将目的IP地址与子网掩码进行逻辑AND操作。如果
17、获得的网络号与主机的网络号不同,数据包将发送到默认网关,希望默认网关可以发现目的所在的网络。由于默认网关被用来确定不同网络中的主机,因此,它必须具有与发送设备相同的网络号。 主机设置中经常发生的一个问题是设置了错误的子网掩码。设想在一个物理网络中,存在两台微机。计算机A具有IP地址4,子网掩码24。计算机B具有地址0,子网掩码。如果计算机A试图PING计算机B,将会发生如下情况:计算机A将目的地址0与子网掩码24逻辑AND,得到网络号为192.168.
18、1.32。因为计算机A存在于2这个网络中,计算机A将发送一个ARP的广播来找到计算机B的MAC地址,从现象上看,PING将得到回应,同没有设置错误的情形一样。 设想网络中有一台计算机C,地址为37,子网掩码。如果计算机A试图PING计算机C,将会发生如下情况:计算机A将7与计算机自己的子网掩码24逻辑与。在这种情况下,得到的网络号为4。计算机A上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 判断此地址在另一个网络中,就会错误地将数据发
19、送到它的默认网关。 这种情况的故障很难排除。配置IP地址时,对配置进行再多的检查也不过分:拼写错误经常是配置错误的一个主要原因。正如前面的例子所表示的,不可能简单地确认一个工作站可以同别的计算机之间可以正常通信。2.IP协议簇协议簇 TCP/IP包含有一些网络层协议,通常共用一个名字:IP。两个协议ICMP和ARP需要另外的讨论,因为它们在解决问题的过程中会有用。另外IP协议簇还包括传输层协议TCP。 注意注意: 有很多和IP相关的协议,其中的大部分被封装在IP报头中。 1)ICMP:Ping和Trace协议 IP环境下,ICMP被用来传送状态与控制消息。通过使用PING命令用于验证与一个特定
20、主机之间的通信能力(如下图)。路由器也用此命令来发送状态消息以获得目的主机或网络的可用信息。上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 图5-4 PING命令回送响应消息报文 Trace命令同样利用ICMP,尽管与Ping命令有些不同。ICMP被封装在IP协议里,这意味着它被包含在IP报头中。如果利用协议分析仪来捕获所有的IP数据包,可以捕获到相应的ICMP包。 ICMP具有很多功能,但大多数人所知道的是ICMP Echo与ICMP Reply。这些消息通过一个PING命令发出,并被PING的目标返回。从结构上说,ICMP消息有如图5-5所描写的形式。上一页上一页上一
21、页下一页下一页下一页1.2 网络层的组件网络层的组件 数据链路报头 IP报头ICMP报头ICMP数据 FCS图5-5 ICMP消息格式 正如数据链路报头包含着网络层报头(在此,为IP报头),IP报头也包含这ICMP报头。这是因为ICMP不可能单独存在。表5-2显示了ICMP报头包含有3个域,共4个字节的长度。类型代码校验和标记队列号1字节1字节2字节2字节2字节表5-2 ICMP报头 三个域中最重要的是类型域。类型域通知了接受方工作站所包含 的ICMP数据的类型。如果需要的话,下面的代码域进一步限制了类型域。举例来说,类型域可能表示消息 是一个“目的地不能到达”消息(如图5-6)。代码域则可以
22、显示更加详细的信息,如是网络不可到达还是主机或端口不可到达(表5-3列出了常用的类型与代码域的值),还有就是超时报文(如图5-7)上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 图6 目的主机不可达报文图7 超时报文上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 核验和域被用来保护ICMP消息。非常像CRC,核验和是一个通过计算消息内,从类型域开始的数据字节得到的16比特值。它可以检验可能由于交换机或路由器引起的数据损坏。标志域和序列号域可以被用来匹配请求与回应。在很多ICMP消息类型中,这些域为0。跟踪序列号域的就是ICMP数据,其长度可变。对于I
23、CMP echo请求,数据通常是一个可以确认的模式。如字母表中的字母,还有在一些情况下为0。Windows在ping ICMP请求命令中使用字母表中的字母,而在trace route ICMP请求中使用0。 2)ARP:MAC地址协议 地址解析协议(ARP)在TCP/IP中,通常被认为是一个单独的网络层协议。实际上,由于它的功能,ARP更像是存在于网络层链路层之间的层。其协议结构如下:上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件1632 bitHardware TypeProtocol TypeHLenPlenOperationSender Hardware Addre
24、ssSender Protocol AddressTarget Hardware AddressTarget Protocol Address图8 ARP协议结构 Hardware Type 指定一种硬件接口类型,为发送方请求响应所用。 Protocol Type 指由发送方提供的高级协议地址类型。 Hlen 硬件地址大小。 Plen 协议地址大小。 上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 正如名字所暗示的那样,ARP解析地址。当一个特定的IP数据包达到了目的地所在的网络以后,ARP被用于发现了IP数据包的MAC地址。在数据链路层的帧头里被加入了主机的物理地址以前
25、,一条消息不可能被传送。如果一台使用TCP/IP协议的计算机试图与另一台计算机进行通信,它必须知道接收方的IP地址。IP地址通常是由应用程序给出,或是通过计算机名解析来获得。如果目标的IP地址与源地址丰在于同一个网络中,发送方计算机将以数据链路广播的形式,发送ARP请求。ARP请求被广播域中所有的主机处理,具有所需IP地址的主机将发送回一个包含本机MAC地址的ARP回应。获得MAC地址以后,帧头可以组建,帧将被发送到目的地.如果计算机每一次发送IP数据包到目的地之前,都需要发送ARP广播,那么网络中对应于每一个包含有实际数据的帧都存在一个ARP广播帧。这将是网络带宽的巨大浪费。为了避免每发一个
26、IP数据包到特定的目的,都需要发送一个ARP请求,微机和其他设备将所得到的MAC地址存储在ARP缓存中。这样计算机或路由器只需要向所通信的上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 目标主机发送一个ARP广播即可。这解决了广播太多的问题。不过遗憾的是,基于设备对所获得的MAC地址的存储时间,它同时引起了另一个问题的发生。让我们来分析这个问题。 首先,必须记住为动态的实体。计算机被安装与卸载,IP地址发生变化(尤其是当使用动态的IP地址配置时),NIC卡被替换或从一台机器交换到另一台机器,等等。考虑到这样一个动态环境的复杂性。设想如果有一台设备A试图利用IP向设备B发送
27、文件。设备A发送一个ARP广播请求,而设备B则返回它的MAC地址。设备A立刻将地址存储在缓存中,以备当前及心后通信所用。在文件刚被发出之后,技术员X将设备B的NIC从10Mbps升级到100Mbps。设备A试图发送给设备B另一个文件,但这个却得到了超时的结果。为什么会这样呢?当NIC发生了改变,MAC地址也相应发生了变化。而设备A中存储的是设备B原来旧的MAC地址。上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 如果怀疑是ARP缓存的问题,那么将有如下几个选择。可以简单地等待直到其中的条目被更新。我们也可以强制让地址发生改变的设备与其他设备进行通信,这样可以导致条目里的内
28、容被新值代替。另外,也可以清空ARP缓存,这将导致设备重新学习地址。 3.传输控制协议(传输控制协议(Transmission Control Protocol, TCP) TCP协议主为了在主机间实现高可靠性的包交换传输协议。TCP是面向连接的端到端的可靠协议。它支持多种网络应用程序。TCP对下层服务没有多少要求,它假定下层只能提供不可靠的数据报服务,它可以在多种硬件构成的网络上运行。TCP段以internet数据报的形式传送。IP包头传送不同的信息域,包括源地址和目的地址。TCP头跟在internet包头后面,提供了一些专用于TCP协议的信息。下图是TCP包头格式图:上一页上一页上一页下一
29、页下一页下一页1.2 网络层的组件网络层的组件 图9 TCP包头结构上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 源端口:16位;目的端口:16位序列码:32位,当SYN出现,序列码实际上是初始序列码(ISN),而第一个数据字节是ISN+1; 确认码:32位,如果设置了ACK控制位,这个值表示一个准备接收的包的序列码;数据偏移量:4位,指示何处数据开始;保留:6位,这些位必须是0;控制位:6位;窗口:16位; 校验位:16位;优先指针:16位,指向后面是优先数据的字节;选项:长度不定;但长度必须以字节记;选项的具体内容我们结合具体命令来看;填充:不定长,填充的内容必须为
30、0,它是为了保证包头的结合和数据的开始处偏移量能够被32整除; 上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件1.2.4 UDP:用户数据报协议 用户数据报协议(UDP)是ISO参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP协议基本上是IP协议与上层协议的接口。UDP协议适用端口分辨运行在同一台设备上的多个应用程序。 由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用 UDP 的“端口号”完成的。例如,如果一个工作站希望在工作站128.
31、1.123.1上使用域名服务系统,它就会给数据包一个目的地址,并在UDP头插入目标端口号53。源端口号标识了请求域名服务的本地机的应用程序,同时需要将所有由目的站生成的响应包都指定到源主机的这个端口上。UDP端口的详细介绍可以参照相关文章。 与TCP不同, UDP并不提供对IP协议的可靠机制、流控制以及错误恢复功能等。由于 UDP 比较简单, UDP头包含很少的字节,比TCP负载消耗少。 上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 UDP适用于不需要TCP可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候。UDP是传输层协议,服
32、务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP)。 UDP协议包的标题结构如下:图10 UDP协议包的标题结构上一页上一页上一页下一页下一页下一页1.2 网络层的组件网络层的组件 Source Port 16位。源端口是可选字段。当使用时,它表示发送程序的端口,同时它还被认为是没有其它信息的情况下需要被寻址的答复端口。如果不使用,设置值为0。 Destination Port 16位。目标端口在特殊因特网目标地址的情况下具有意义。 Length 16位。该用户数据报的八位长度,包括协议头和数据。长度最小值为8。
33、 Checksum 16位。IP 协议头、UDP 协议头和数据位,最后用0填补的信息假协议头总和。如果必要的话,可以由两个八位复合而成。 Data 包含上层数据信息。上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析1.3.1 UDP:什么是数据包 “包”(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。有人说,局域网中传输的不是“帧”(Frame)吗?没错,但是TCP/IP协议是工作在OSI模型第三层(网络层)、第四层(传输层)上的,而帧是工作在第二层(数据链路层)。上一层的内容由下一层的内容来传输,所以在局域网中,“包”是包含在“帧”
34、里的。 可以用一个形象一些的例子对数据包的概念加以说明:在邮局邮寄产品时,虽然产品本身带有自己的包装盒,但是在邮寄的时候只用产品原包装盒来包装显然是不行的。必须把内装产品的包装盒放到一个邮局指定的专用纸箱里,这样才能够邮寄。这里,产品包装盒相当于数据包,里面放着的产品相当于可用的数据,而专用纸箱就相当于帧,且一个帧中只有一个数据包。1.3.2数据包结构 1.IP数据包数据包上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 网络层处理的数据单位是数据包。当需要解决设置或性能问题时,就需要理解IP是如何将从上层来的数据打包的。一个数据包中有很多域。如果用协议分析仪得
35、到了数据包,那么理解其中一些域的含义将对理解网络中到底发生了什么有所帮助。这了有助于发现导致性能损失的原因。 IP数据包(有时被成为数据报)是在数据被传送到数据链路层以前的最后封装形式。当数据链路层从网络层接收到IP数据包时,帧被封装为Ethernet Version的帧。Ethernet Version帧包含有2个字节的被称为以太网类型的字段。数据链路层将此字段设置为0 x800,以表示帧内包含有一个IP数据包。图11显示了一个包含有数据报的帧格式。目的地址源地址以太类型0 x800IP报头数据FCS图11 Ethernet的帧与IP数据报 IP报头的长度在20到60字节之间。数据的长度可变
36、。一个以太帧中IP报头加上数据的长度可从最小的46字节达到最大的1500字节。这是因为一个以太帧中,数据链路层的报头加上FCS为18个字节,而最小的以太网帧是64字节,最大的帧为1518字节。上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 图12中为IP数据包,其中版本域长度为4个比特,表示了IP数据包的版本。现在IP的版本是4,通常被表示为Ipv4。下一个版本正在发展,为Ipv6。这个版本在很多方面,尤其是寻址方面,完全是一个崭新的方式。虽然现在Ipv6在Internet项目中获得了应用,但由于现在还未普及,这里将不做讨论。 跟随在版本域后的报头长度域也是4
37、个比特。报头长度被表示为报头占据了多少个32比特,或可说4个字节的数目。换句话说,如果报头长度域包含的值是10,IP报头的长度就是104字节,即40字节。由于报头长度域只有4个比特,最大的IP报头为154字节,即60字节。这通常够用了,尽管有些命令可能会超过这个长度。 接下来是业务类型(TOS)域,长度为1个字节。0-2位组成了优先级位,在大多数IP网络中被忽略。3-7位定义了TOS并且是互相排斥的,这是说只有其中一个位可以被置1。若想对TOS位以及它们的含义作用更深入的研究,请参见RFC 1349。可以通过利用带选项v的PING命令来试验TOS位的功能。最后一个位不用,必须为1。 上一页上一
38、页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 16比特长度的长度域描述了包含报头在内的IP数据报的整个长度。这个值加上18个字节的以太网帧头表示了整个帧的长度。IP数据包版本号4比特报头长度4比特服务类型1字节长度2字节标识符2字节标志3比特分段偏移量13比特生存时间1字节协议1字节报头效验和2字节源IP地址4字节目的IP地址4字节选项(可选)数据变量图12 IP数据包上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析长度域后面则是标识域。通常,每发送一个数据报,这个域中的值便会加1。不过,当数据报被拆分时,此值也有用。在这种情况下,每一
39、个构成数据报的数据包包含有相同的标识。通过比较标识域的值,以及利用IP报头中,下面那个字节,标志域与分段偏移域,目的地可以将数据包重新组装起来。标志域控制了是否可以对IP数据报进行分段。当数据报的长度大于介质或接受方所允许的最大长度时,就需要将其分成更小的部分,这时就叫数据报的分段。标志域包含有3个比特,第一个比特总为0。第二个比特是Dont Fragment比特。当此比特被置为1,就不允许对数据报进行分段。而0则表示数据包可以被分段。在WINDOWS环境下,默认为不能分段。WINDOWS利用这个设置来调整数据报的长度以匹配接受方或两者之间的路由器所承受的最大传输单位(MTU)。MTU定义了介
40、质或网络层协议所能接收的数据报的大小。当一个设备收到一个IP报,而它的长度大于所要使用的介质所定义的MTU,或大于接收设备所定义的上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 MTU,转接的设备通常会将数据报分段以满足MTU。如果Dont Fragmet比特被置1,将返回给发送方一个ICMP消息,它将调整数据包的长度并继续发送数据包直到没有收到ICMP消息。通过这种方式,WINDOWS自动地探测到目的地的MTU。 IP数据报的分段可能会影响到性能与可靠性。如果一个数据报被分段成多个数据包,而其中,一个数据包丢失,或由于CRC错误而被丢弃,构成此数据报的所有数
41、据包都将要重传。这是因为IP没有办法来恢复一个丢失的数据包。 数据报的恢复是在传输处理。性能同样会由于分段而导致伤害。这是因为对数据报的分段与重组非常花费CPU的周期。一个必需将大的数据报分段以满足目的地MTU的路由器将影响到它的主要工作,即数据包(分组)交换。另外,一个必须重组数据报的主机CPU将会丧失本来应更好地应用在应用处理的时间。 标志域的第3个比特通知接受方的设备是否还有分段数据到来。1表示还有分段数据到来,而0表示这是最后一个分段(如果数据报没有被分段,此比特为0)。13个比特的分段偏移比特表示了各分段在数据报中的位置。分段偏移以8字节为单位,如值为100,则意味分段在数据报中的位
42、置为800。上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 生存时间域(TTL)决定了在数据包被丢弃之前,所能经过的路由器的数目。此域在初始主机处被设置为初始值,每经过一个路由器,此值减一。如果此值达到0,此数据包被丢弃,通常有一个ICMP超时消息发送给发送端。生存时间域的初始值取决于操作系统。在Windows 98和Windows NT 4.0或更高的版本中,默认值为128。Windows 95 和Windows N3.51中,默认值为32。 TTL同样给接受方提供了一个方式,来通知发送源没有收到所有的数据包。TTL可以被利用来当作一个计时器,每一秒减一。如
43、果目的地没有收到一个数据报的所有分段数据包,数据段的TTL将减少到0,而目的地就发送一个ICMP消息来通知这个问题。接下来是8比特协议域。此域表示在IP数据报所对应的上层协议或网络层中的子协议(如ICMP)。一些通用的协议以及它们的值已列入表5-4中。我的研究发现已经有133个协议被定义;最大值为256。 上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 IP报头的下一个域是报头校验和。这个16比特的值只被用来作为对IP报头的完整性检查。数据并不受此校验和保护。数据的保护是由上层协议来完成的。 下面两个域是4字节的源目的的IP地址域。报头中最后一个域是可变长度的
44、选项域。选项域的长度从0到40字节。通常为0字节,表示没有特殊的选项。 IP不可能独自工作。一个IP数据报中一般包含有协议字段中所定义的另一个协议。另外,IP需要一个帮助协议,称为ARP,来将IP地址转换为物理地址。协 议简 述协 议 域 值ICMP网络控制报文协议1IGMP网络组管理协议2IP in IPIP封装IP4TCP传输控制协议6EGP外部网关协议8UDP用户数据报协议17Ipv6 over Ipv4Ipv4中封装的IPv641表4 常见的IP协议上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析2.ARP报文结构报文结构ARP协议报文结构如图13。硬件
45、类型协议类型硬件长度协议长度操作请求1,回答2发送站硬件地址(例如:对以太网是6字节)发送站协议地址(例如:对IP是4字节)目标硬件地址(例如:对以太网是6字节)目标协议地址(例如:对IP是4字节)图13 ARP报文结构上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析1.3.3数据包捕获机制 从广义的角度上看,一个包捕获机制包含三个主要部分:最底层是针对特定操作系统的包捕获机制,最高层是针对用户程序的接口,第三部分是包过滤机制。 不同的操作系统实现的底层包捕获机制可能是不一样的,但从形式上看大同小异。数据包常规的传输路径依次为网卡、设备驱动层、数据链路层、IP层
46、、传输层、最后到达应用程序。而包捕获机制是在数据链路层增加一个旁路处理,对发送和接收到的数据包做过滤/缓冲等相关处理,最后直接传递到应用程序。值得注意的是,包捕获机制并不影响操作系统对数据包的网络栈处理。对用户程序而言,包捕获机制提供了一个统一的接口,使用户程序只需要简单的调用若干函数就能获得所期望的数据包。包过滤机制是对所捕获到的数据包根据用户的要求进行筛选,最终只把满足过滤条件的数据包传递给用户程序。 绝大多数的现代操作系统都提供了对底层网络数据包捕获的机制,在捕获机制之上可以建立网络监控(Network Monitoring)应用软件。网络监控也常简称为sniffer,其最初的上一页上一
47、页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 目的在于对网络通信情况进行监控,以对网络的一些异常情况进行调试处理。但随着互连网的快速普及和网络攻击行为的频繁出现,保护网络的运行安全也成为监控软件的另一个重要目的。例如,网络监控在路由器,防火墙、入侵检查等方面使用也很广泛。除此而外,它也是一种比较有效的黑客手段,例如,美国政府安全部门的肉食动物计划。1.3.4数据包捕获 数据包捕获技术是网络管理的关键技术之一,捕获到数据包就能从中分析出当前网络的状态,也能从中诊断整个网络的健康状况,从而找到排除故障的方法达到维护网络正常工作的目的。 数据包的捕获工具很多,在此以Snif
48、fer为例来分析报文的捕获过程。 Sniffer软件的功能: 捕获网络流量进行详细分析; 利用专家分析系统诊断问题; 实时监控网络活动; 收集网络利用率和错误等。上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析1.3.5数据包分析 捕获数据包后的分析工作,要停止sniffer捕获包时,点选CaptureStop或者CaptureStop and Display,前者停止捕获包,后者停止捕获包并把捕获的数据包进行解码和显示。专 家 分 析系 统专 家 分 析系 统捕 获 报 文 的图 形 分 析捕 获 报 文 的 其 他统 计 信 息专 家 分 析系 统专 家 分
49、 析系 统捕 获 报 文 的图 形 分 析捕 获 报 文 的 其 他统 计 信 息图14 Sniffer分析界面 Sniffer软件提供了强大的分析能力和解码功能。如上图所示,对于捕获的报文提供了一个Expert专家分析系统进行分析,还有解码选项及图形和表格的统计信息。上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 1.3.6数据包详解 1.数据报文分层数据报文分层应用层Telnet、FTP、E-mail传输层TCP、UDP网络层IP、ICMP、TGMP网络链路层设备驱动程序及接口卡图15 四层网络结构 2.以太报文结构解码以太报文结构解码 EthernetI
50、I以太网帧结构 :Ethernet_IIDMACSMACTypeDATA/PADFCSEthernet_IIDMACSMACTypeDATA/PADFCS图16 以太网帧结构上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 Sniffer会在捕获报文的时候自动记录捕获的时间,在解码显示时显示出来,在分析问题时提供了很好的时间记录。源目的MAC地址在解码框中可以将前3字节代表厂商的字段翻译出来,方便定位问题,例如网络上2台设备IP地址设置冲突,可以通过解码翻译出厂商信息方便的将故障设备找到,如00e0fc为华为,010042为Cisco等等。如果需要查看详细的MA
51、C地址用鼠标在解码框中点击此MAC地址,在下面的表格中会突出显示该地址的16进制编码。 3.IP协议包解码协议包解码 IP报文结构为IP协议头载荷,其中对IP协议头部的分析为分析IP报文的主要内容之一,这里给出了IP协议头部的一个结构。上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析图17IP协议头部结构上一页上一页上一页下一页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 4.ARP协议包解码协议包解码 ARP协议为网络层IP包的重要组成部分,下面是对ARP解码的ARP请求和应答报文的结构。图18 Sniffer解码的ARP请求上一页上一页上一页下一
52、页下一页下一页1.3 数据包的捕获与分析数据包的捕获与分析 图19 应答报文的结构上一页上一页上一页下一页下一页下一页1.4 网络层的故障诊断与排除网络层的故障诊断与排除 网络层提供建立、保持和释放网络层连接的手段,包括路由选择、流量控制、传输确认、中断、差错及故障恢复等。 网络层的故障主要集中在路由上,因此,排除网络层故障的基本方法是:沿着从源到目标的路径,查看路由器路由表,同时检查路由器接口的IP地址。如果路由没有在路由表中出现,应该通过检查来确定是否已经输入适当的静态路由、默认路由或者动态路由。然后手工配置一些丢失的路由,或者排除一些动态路由选择过程的故障,包括RIP或者IGRP路由协议
53、出现的故障。例如,对于IGRP路由选择信息只在同一自治系统号(AS)的系统之间交换数据,查看路由器配置的自治系统号的匹配情况。1.4.1 RIP的故障诊断与维护 在网络上测定IP连通性的最常用方法是ping 命令。从源端向目的端发送ping 命令成功,就意味着所有物理层、数据链路层、网络层功能均正常运转。 而当IP连通失败,首先要检查的是源到目标间所有物理连接是否正常、所有接口和线路协议是否运行。当物理层和数据链路层检查无误后,则将排错重点转向网络层,假定此网络运行的路由协议为RIP,那么一般故障处理的步骤如下:上一页上一页上一页下一页下一页下一页1.4 网络层的故障诊断与排除网络层的故障诊断
54、与排除1.检查从源到目的间的所有路由设备的路由表,看是否丢失路由检查从源到目的间的所有路由设备的路由表,看是否丢失路由表项表项2.当发生路由表项丢失或其他问题,检查网络设备的当发生路由表项丢失或其他问题,检查网络设备的RIP 基本配置基本配置 1)使用display rip 命令察看RIP 的各种参数设置。看RIP 是否已经启动,相关的接口是否已经使能,network 命令设置的网段是否正确; 2)用debugging rip 系列命令看RIP 的调试信息。每隔30 秒钟,在所指定运行RIP 的接口上,路由器将报告RIP 路由更新报文的传输,debugging 信息显示了发送每个路由更新报文的
55、路由和度量值。通过debugging 信息可以很清楚的看出RIP 报文是否被正确的收发;如果发送或接收有问题,也可以从debugging 信息中看到是什么原因而导致发送或接收报文失败。3.当当RIP基本配置没有发现问题,请检查如下项目基本配置没有发现问题,请检查如下项目 应当考虑是否在接口上配置undo rip work 命令,是否验证有问题,是否引入其他路由有问题,是否访问控制列表配置不正确等等。使用display current-config命令察看接口和RIP的相关配置。 上一页上一页上一页下一页下一页下一页1.4 网络层的故障诊断与排除网络层的故障诊断与排除1.4.2 OSPF故障故障
56、诊断与维护 由于OSPF 协议自身的复杂性,在配置的过程中可能会出现错误。OSPF 协议正常运行的标志是:在每一台运行该协议的路由器上,应该得到的路由一条也不少,并且都是最优路径。 排除故障的步骤: (1) 配置故障处理:检查是否已经启动并正确配置了OSPF 协议。 (2) 局部故障处理:检查两台直接相连的路由器之间协议运行是否正常。 (3) 全局故障处理:检查系统设计(主要是指区域的划分)是否正确。 (4) 其它疑难问题:路由时通时断、路由表中存在路由却无法ping 通该地址。需要针对不同的情况具体分析。1.协议基本配置是否正确协议基本配置是否正确 在排除故障之前,应首先检查基本的协议配置是
57、否正确。 1)是否已经配置了Router ID 使用命令router id Router-id进行配置;使用dis ospf查询配置的RouterID Router-id可以配置为与本路由器一个接口的IP地址相同,上一页上一页上一页下一页下一页下一页1.4 网络层的故障诊断与排除网络层的故障诊断与排除需要注意的是:不能有任何两台路由器的Router ID 是完全相同的。 2)检查OSPF协议是否已成功地被激活 使用命令ospf enable 启动协议的运行。该命令是协议正常运行的前提。 3)检查需要运行OSPF 的接口是否已配置属于特定的区域 使用命令ospf enable area将接口配置
58、属于特定区域。可通过命令display ospf interface interfacename 来查看该接口是否已经配置成功。 4)检查是否已正确地引入了所需要的外部路由。 实际运行中可能经常需要引入自治系统外部路由(其他协议如BGP 或静态路由)。如果需要,是否已经通过命令import-route 配置了引入。 2.邻居路由器之间的故障邻居路由器之间的故障 由于OSPF 协议需要整个自治系统中所有路由器的协调工作,所以任意两台相邻路由器之间的故障都会导致网络中全部或部分路由错误。上一页上一页上一页下一页下一页下一页1.4 网络层的故障诊断与排除网络层的故障诊断与排除 若出现故障可按下列几点
59、来检查: 1)检查物理连接及下层协议是否正常运行。 2)检查双方在接口上的配置是否一致。 3)hello-interval 与dead-interval 之间的关系。 4)若网络的类型为广播或NBMA,至少有一台路由器的priority 应大于零。 5)区域的STUB属性必须一致。 6)接口的网络类型必须一致。 7)在NBMA 类型的网络中是否手工配置了邻居。 3.系统规划的故障系统规划的故障 系统规划中的故障主要体现在区域划分中的错误。协议中对区域划分的要求是:如果自治系统被划分成一个以上的区域,则必须有一个区域是骨干区域,并且保证其它区域与骨干区域直接相连或逻辑上相连,且骨干区域自身也必须是连通的。区域划分错误的表现形式是:在一个区域内通常路由都是正常的,但无法得到区域外部的路由。上一页上一页上一页下一页下一页下一页1.4 网络层的故障诊断与排除网络层的故障诊断与排除 图20 系统规划错误图(1) 这是从全局规划的角度来看的,如果落实到具体的配置上,可以这样认为:如果在一台路由器上配置了两个以上的区域,则至少应该有一个是骨干区域,或者配置了一条虚连接。在上图中用此方法判断,配置了两个以上区域的是RTB 和RTC,其中RTB符合要求,RTC上由于没有配置骨干区域
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化用品行业市场趋势预测考核试卷
- 疫情防控与社区治理考核试卷
- 期货市场套保实务考核试卷
- 航空公司航班运行中的机组人员协作考核试卷
- 粮食储备的社区参与考核试卷
- 箱包制作技能培训与认证考核试卷
- 影视作品音乐版权翻唱授权与分成比例调整补充合同
- 智能社区物业公司绿化员派遣与智能绿化服务协议
- 高端医院神经外科科室委托运营管理服务协议
- 金融科技优先股股东权益合作协议
- 2024年甘肃兰州事业单位考试真题
- 当代中国外交(外交学院)知到智慧树章节测试课后答案2024年秋外交学院
- 小学科学湘科版六年级下册全册同步练习含答案
- 核电工程质量保证知识培训教材课件
- 区级综合医院关于落实区领导干部医疗保健工作实施方案
- 颜色标准LAB值对照表
- 后厨主管月度绩效考核表(KPI)
- 功能饮料项目投资计划书(模板范文)
- 小学六年级数学应用题易错题练习
- IACSURS26 中文
- 中层干部360度考核测评表(共4页)
评论
0/150
提交评论