要学习网络分析技术,需要有一定的网络基础知识,现在,我和大家来讨论OSI以及TCPIP协议的故障分析。说到OSI参考模型,肯定大家都非常了解,我们之所以还要再做介绍,是因为这是网络中最基础同时也是最重要的知识之一,所以,以下我们就首先讨论OSI参考模型。

1、  OSI参考模型

OSI参考模型的来源以及每个层次的作用肯定大家都非常熟悉,要理解OSI参考模型,就需要对以太网的帧结构有详细的了解,关于这方面的内容,大家可以参考:([url]http://www.csna.cn/viewthread.php?tid=10212[/url]),也可以搜索,有很多相关的资料。现在,我们通过下图来了解数据在网络中是怎样进行封装的。
 
 
 
从上图就能够非常直观的看出数据在传输时封装的全过程:假如有主机A和主机B,当有数据需要在两个主机之间进行传输时,由于数据一直要传到物理层,因此每一层都会在此数据前加上该层的头和控制信息。如上图所示:发送端主机的数据在应用层加上应用层报头发到表示层,表示层将此数据和应用层报头当作一个普通数据再加上自己的报头传到下层,如此层层封装直至物理层以位的形式传输。由于发送端主机为接收主机的对等层提供了对应的头和控制信息,所以,接收主机对数据的处理过程与发送主机相反,每一层都是去掉自己的头信息然后将数据上传,直到应用层,应用层再去掉它本身的头和控制信息,将数据交由应用程序处理。这就是数据在网络中封装与解封的全过程。
综上所述,理解OSI参考模型,我们只需要记住2点,访问服务点以及对等层通讯
a)         访问服务点。每一层为上层提供访问服务点(SAPServices Access Point),也就是说,每一层的报头中,都一个字段用来区分上层协议。如数据链路层的TypeLength0x0800表示上层是IPv40x86DD表示上层是IPv6
b)        对等层通讯。这在前面也提到过,由于发送端主机为接收端主机的对等层提供了对应的头和控制信息,所以,发送端某一层的数据封装,接收端要同一层才能将该数据解封装。
对于OSI参考模型我们就讨论到这里,对各层运行的常见的协议我们会在后续的内容中分析。

2、  常见协议故障分析

对于TCPIP等常见协议的解码,论坛里的相关文章非常多,大家可以搜索一下,内容
都是非常丰富的。在这里,我主要和大家一起讨论这些常见的协议在网络分析中的故障分析(以科来网络分析系统为例)。
   在科来网络分析系统的专家诊断中,系统将诊断出的网络故障自动按OSI模型的层次分类,对于传输层和网络层,我们主要来分析一下TCPIP协议的常见故障分析。我们首先来看传输层。
   在传输层中,由于TCP协议的特殊性(相对UDP而言),往往出现的故障较多,但是最常见也比较重要的故障信息有TCP快速重传数据包、TCP端口扫描、TCP连接被拒绝、TCP重复的连接尝试等,当然,一旦网络中出现这些故障提示,也不能说明网络中一定存在故障。我们可以从这些故障提示中进行进一步分析以确定具体的原因(如感染蠕虫病毒等)。以TCP重复的连接尝试为例,当专家诊断中出现这种故障提示并且计数非常多的话,我们就应该定位源主机具体分析,如果该主机感染蠕虫病毒,则会快速扫描网络中的其他主机开放的端口以便进行连接从而感染其他主机。当被扫描主机未开机或未开启某个服务,或者数据包被防火墙阻断,这时,该主机就会产生重复的TCP连接以视图感染其他主机。针对这类故障,除了在专家诊断中得到提示,并且,需要结合其他视图区综合分析才能进一步确定是感染病毒或是人为的主机扫描等,如通过概要统计视图的TCP数据包和TCP连接数以及会话视图的TCP会话,包括端点视图下的网络连接,这些信息都为我们分析网络故障提供了很好的参考数据。
 
而对于网络层,除了ICMP的故障信息,最常见的就是IP地址冲突、IP数据包生存周期太短。对IP地址冲突,这非常明显,能够很快的判断问题所在。如果排除IP地址盗用攻击,那么可能是IP地址配置错误或者是DHCP服务器有问题。对于IP数据包生存周期太短,我们则可以首先检查是否目标IP地址是否为组播地址,如当主机开启了UPnP服务,该服务使用SSDP(简单服务发现协议),这时,主机就会不断的发送组播数据包,而这种数据包的TTL1,所以,在专家诊断的网络层,会出现这类故障提示;还有一种情况,如果网络存在环路,也会产生这样的故障。因为IP数据包每经过一跳路由,其TTL都会减1,所以,当出现这种故障提示的时候,除了检查主机问题,我们还应该检查网络结构或路由配置是否正确。