计算机网络各层核心协议的工作原理探析
2017-12-27何正玲西安文理学院
何正玲 西安文理学院
计算机网络各层核心协议的工作原理探析
何正玲 西安文理学院
随着计算机网络技术的普及和应用,如何更好的应用网络技术,为用户提供更加优质的服务,是当前网络技术研究的热点。网络技术的研究离不开网络协议,本文将对计算机网络各层核心协议的工作原理进行分析和讨论。
计算机 网络协议 数据采集 工作原理
从工作原理的角度进行划分,网络协议分析应包括数据采集以及网络协议的分析,明确网络协议分析的工作原理,是进行网络协议分析框架设计和开发的前提和基础,希望本次研究能够为网络协议分析关键技术的研究和开发提供参考。
1 网络数据采集
1.1 适配器获取
网络数据包的传输主要是由适配器到设备驱动层、链路层、IP层、传输层,最终到应用程序的一个传输过程,其中,适配器是数据包传输的初始,是数据采取的关键位置,因此,也是网络协议分析的第一步。通过将适配器信息纳入结构链表,有利于数据采集的进一步操作。
1.2 数据包捕捉
数据包捕捉能够采集网络平台的所有数据和信息,通过过滤功能,筛除不需要的部分,将用户可能需要的信息发送至高级处理模块,进行进一步的分析。数据包捕捉中,应注意以下两个方面,首先,要确保捕捉的完整性,即应该包括网络传输中的所有信息,同时,还应该提高的捕捉以及筛选的工作效率,不能在捕捉的过程中影响数据的传输。
1.3 数据包过滤和存储
为满足用户的使用需求,需要设计可靠的数据包过滤机制,用户可以通过设置筛选条件,获取网络数据包。这就要求过滤机制能够在用户空间以及内核空间执行操作,提高数据包的捕捉效率。数据过滤实质上数据包信息布尔值的操作函数,目前,常见的网络过滤机制都是在伯克利数据包过滤器模型的基础上设计的。此外,为了方便用户使用信息,还应该包括数据包的存储功能,包括文件路径、文件存储、存储格式等。用户通过设置文件路径,能够获取当前路径的存储文件,并通过移动存储等操作,将数据包文件存储到用户指定位置。数据存储主要是指文件打开、写入、关闭等一系列操作实现的文件存储功能。存储格式是指考虑到用户的使用效果,应考虑到分析框架的通用性,目前,比较常见的CAP文件,是一种十六进制的数据文件,基本相关的数据包软件都能够支持。
2 网络协议分析
2.1 底层协议分析
底层网络协议分析的基础是目前已知的网络协议数据结构格式,其分析模式是对逐个字节分析,从而获取各个协议的相应字段内容。以TCP为例,假设以太网采集的数据包开始位置为X,则IP地址为X+14,TCP包的位置为X+14+20,其中,14为以太网首部字段长度,20为IP首部字段长度。加入TCP首部字段长度20字节,TCP负载字段表示为X+14+20+20。按照网络协议格式,分别获取各个字段的信息,实现对数据包的分析。因此,在底层网络分析钟,对各层网络协议格式的设计至关重要。TCP及IP中的主要协议包括以太网协议、ICMP协议、ARP协议、IP协议、CDP协议、TCP协议等。其中,以太网协议是网络数据包首部;ICMP协议主要是为IP提供支持;ARP协议是将IP与数据链路进行匹配,保障网络通信;IP协议负责网络设备之间数据的交付;CDP协议是一种不可靠的传输协议,用于确保其传输速率;TCP协议是数据交付的确认机制,是一种面向连接的协议。
2.2 端口协议分析
由于端口号具有唯一性,因此,常使用端口号来确定其应用进程,传输层协议可以分为TCP和CDP两个类型的端口。端口号可以分为已知端口、注册端口以及动态端口(专用端口),根据端口号,能够对其性质和范围进行标识。并的采用由底层到高层的方式,生成协议树,对应每个协议。网络数据协议分析就是一个从树根到枝干再到某个叶子的一个过程。通过对数据包进行采集、分解、提取,输入标志号,与协议树中的各个协议进行比对,实现分析的目的。
2.3 深度包特征值分析
对于无法采用端口识别的数据包,例如随机端口,应采取深度包检测,识别其负载特征,利用深度包检测技术,对数据包进行采集、解封、提取、分析、统计,根据分析结构,按照应用层特有的协议特征,作为协议标识,进行匹配操作。特征值分析主要是针对端口未知的情况,通过提取特征进行协议分析,因此,特征值检测的关键就在于各个协议特征的统计。
综上所述,计算机网络协议分析框架应包括数据的采集以及网络协议分析技术。本文通过对数据的采集方式进行分析,包括适配器获取、数据包捕捉、数据包过滤和存储等,对协议分析技术的工作原理,例如底层协议分析、端口协议分析、深度包特征值分析等进行了研究和讨论。
[1]黄岚,刑敏.网络协议理论与实践整合的教学研究[J].吉林省经济管理干部学院学报,2006.20(3):64-67
[2]谢鲲,张大方.共享网段网络协议分析系统设计与实现[J].计算机工程与科学,2002,24(2):25-28
[3]王锦超,李飞,沈明玉.网络数据包的协议分析算法设计与实现[J].计算机技术与发展,2005(04):30-32