网络协议分析与应用

2024-08-24

网络协议分析与应用(精选十篇)

网络协议分析与应用 篇1

1.1 计算机网络协议简述

网络协议设计一般假设协议参与者是完全服从的。网络参与各方协调一致, 按照协议的规定完成特定的任务。

通信涉及的所有部分都必须认同一套用于信息交换的规则。人们把这种认同称为协议 (protocol) 。这一术语也可用于计算机通信 (规定消息的格式以及每条消息所需的适当动作的一套协议称为网络协议 (network protocol) 或计算机通信协议 (communication protocol) 。实现这些规则的软件称为协议软件 (protocol soft) 。规定计算机信息交换中消息的格式和含义的协定称为通信协议。

1.2 计算机网络协议分类

(1) 局域网协议。局域网协议定义了在多种局域网介质上的通信。

(2) 广域网协议。广域网协议是在OSI参考模型的最下面三层操作。

(3) 路由选择协议。路由选择协议是网络层协议, 它负责路径的选择和交换。

2 借助sniffer深入理解TCP/IP协议

2.1 TCP/IP基本原理

我们平常提到的TCP/IP协议实际是指有四层结构的协议族。如图1所示。

TCP、IP只是其中的两个重要的协议。每一个协议处于各自的层次, 不同的层次完成不同的工作。

2.2 协议的封装

当用户以域名的方式访问某个Web服务器时, TCP/IP协议簇的工作过程为:应用层的DNS使用传输层上的UDP协议, 进行域名解释。由于HTTP是面向连接的, 接下来建立TCP连接, 然后开始数据传递工作, 最后是TCP连接的释放过程。

2.3 TCP建立连接及数据传输过程

图1给出的是TCP三次握手建立连接的过程。图2给出的是Sniffer抓取的TCP三次握手建立连接的过程;图2中第一行显示, 客户端主动打开连接, 发送SYN=1、SEQ=474517470 (X) , WIN=65535报文段;第二行显示, 服务器端被动打开连接, 发送SYN=1, ACK=474517471 (X+1) , SEQ=514800938 (Y) , WIN=16384报文段;第三行显示, 客户端发送ACK=514800939 (Y+1) , 若服务器端正确收到ACK, TCP三次握手建立连接完毕, 进入数据传输过程。

TCP是面向字节的, 因此, TCP为传送的数据均按字节编号, ACK的值即为下次期望收到的数据中第一个字节的编号。图6给出的是TCP建立连接后数据的传输过程, 可以清楚地看到, 第一行, 源主机发往目的主机的TCP报文中, 其ACK的值为514803819, 当www.glcat.edu.cn向227.217.129.147传送了2880Byte数据之后, 227.217.129.147向www.glcat.edu.cn发出的TCP报文中的ACK的值为514806699 (514803819+2880) 。这里给出的是正常的TCP报文传输过程, 在抓取的数据报文中, 还可以分析出当有RST (复位比特) TCP报文时, 重新建立连接的过程。由于数据的到达不一定是有序的, 因此, 在进行分析时, 要多加注意。

2.4 TCP释放链接过程

通过远程登录来分析TCP释放连接的过程, 先来看看应用进程主动关闭状态的变化:应用进程发送FIN后进入FIN_WAIT_1状态, 在收到ACK后, 应用进程进入FIN_WAIT_2状态, 收到FIN发送ACK后, 进入CLOSED (经过两倍报文寿命后) 。从服务器端看, 在收到FIN后, 发送ACK, 进入CLOSE_WAIT状态, 发送FIN后进入LAST_ACK, 收到ACK后进入CLOSED状态。

2.5 实例分析

TCP/IP的应用层协议有多个, HTTP协议是一个面向连接的协议。选用IRIS V4.07作为协议分析工具。这操作系统是WINDOWS XP SP2。运行IRIS的主机位于以太网内, 具有内网的IP。

2.5.1 IRIS的配置

IRIS具有网络监听的功能, 此状态下IRIS会抓取本网段所有的数据包。我们必须进行设置, 只抓取到达本机IP的HTTP协议的数据包。

运行IRIS, 用热键CTRL+B弹出IRIS地址表, 在表中填写机器的IP地址, 这里我们运行IRIS的主机IP为10.12.33.139, 为了对抓取的包看得更清楚不要添主机的名字 (name) , 设置好关闭此窗口。

回到IRIS的主窗口, 点击Filters菜单项, 在下拉的菜单中选择only-http.ftl项。这是IRIS提供的过滤设置, 此设置只抓取HTTP协议的数据包。

2.5.2 抓包

在IRIS的主窗口, 点击工具栏中的开始按钮, 开始抓包。转到浏览器界面, 输入任意一个常用的网址, 我们输入的网址是http://www.265.com.待此页面在浏览器中完成后回到IRIS主窗口, 可以看到抓取的多个包。如果此时没有再抓取新包, 可以关闭WEB浏览器, 再转到IRIS主窗口按下停止按钮。

2.5.3 过程描述

为了更好的分析协议, 我们先描述一下上述例子数据的传输步骤。第一、应用软件即WEB浏览器向DNS服务器发出请求, 要求提供发往它的Web地址的相应的IP地址。第二、DNS服务器收到请求后, 发回相应的IP地址。第三、TCP用所获得的IP向WEB服务器发出连接请求。双方建立连接。第四、WEB服务器向目的主机传送数据。第五、目的主机向WEB服务器发送数据传送完成确认。

2.5.4 过程分析

(1) 请求DNS服务器提供Web地址的IP地址并获得回答。下列数据显示为抓取的二个相应的数据包。

在第一行数据中, 源端主机的MAC地址是00:14:85:B4:70:CE, 这是上网主机网卡的MAC地址。目的端主机的MAC地址是00:E0:FC:69:31:D5。它是主机所在的局域网网段交换机的MAC地址。主机在开机初始化时, 已获得了这部分信息, 即了解本主机所处的网络环境。后面有目的地的IP地址, 这个地址明显不在本局域网中, 另外这个数据包是发向DNS服务器, 请求提供解析服务的, 所以此数据包直接交给交换机由它再往上递交。

从这一行数据中, 我们还可以看到, 它采用的是UDP协议, 源端口号是1025, 目的端口号是53号, 即公开的端口号。第二行数据是DNS服务器的回答, 所以源地址和目的地址等正好掉换过来。

(2) 建立连接。下面的数据给出双方建立联系的过程。我们选用了和位于IP地址是219.238.238.113的WEB服务器建立联系的数据。

这是TCP建立数据传输通道的三次握手过程。TCP的数据包是靠IP协议来传输的。但IP协议提供的是无连接的服务, 只管把数据送出去, 不能保证IP数据报能成功地到达目的地, 保证数据的可靠传输是靠TCP协议来完成的。当接收端收到来自发送端的信息时, 接收端将发送一条应答信息, 向对方表示已收到你的信息了。这三组数据将能看到这个过程。TCP是一个面向连接的协议。无论哪一方向另一方发送数据之前, 都必须先在双方之间建立一条连接。建立连接的过程就是三次握手的过程。首先, 请求端为IP地址10.12.33.139的主机发送一个初始序号 (SEQ) 2644747656给IP地址219.238.238.113的WEB服务器。其次, WEB服务器收到这个序号后, 将此序号加1值为2644747657作为应答信号 (ACK) , 同时随机产生一个初始序号 (SEQ) 2265471513。这两个信号同时发回到请求端主机, 意思为:“消息已收到, 让我们的数据流以2265471513这个数开始。”最后, 请求端主机收到后将确认序号设置为服务器的初始序号 (SEQ) 2265471513加1为2265471514作为应答信号。通过这个三次握手的过程, 就在传输双方建立了一条数据传输通道, 可以开始数据的传输了。

(3) 传输数据。下面数据是从多个数据传送中选取的5个:

第一行是WEB服务器发往主机, 第二行是主机接受确认, 第三、第四行WEB服务器连着发了两个, 第五行是主机对它们的确认。

(4) 停止数据传送并终止连接。下面是终止连接的两组数据:

第一行数据显示的是数据传送完成后, WEB服务器机将FIN置1连同序号 (SEQ) 2265545100发给主机请求终止连接。第二行数据显示主机收到FIN关闭请求后, 发回一个确认, 并将应答信号设置为收到序号加1, 这样就终止了从WEB服务器向主机方向的传输。

3 TCP/IP的安全设计

3.1 链路加密

目前, 一般网络通信安全主要采用链路加密方式。链路加密方式是把网络上传输的数据报文每一个比特进行加密, 它不仅对数据报文正文加密, 而且把路由信息、校验和等控制信息全部加密。当数据报文传输到某个中间节点时, 必须被解密以获得路由信息和校验和, 进行路由选择, 随后再被加密, 发送给下一个节点, 直到数据报文到达目的节点为止。

3.2 网络协议层加密

国际标准化组织 (ISO) 提出了开放系统互连参考模式OS-I/RM, 该模式研究如何把开放式系统互连起来。在OSI体系结构中网络分7层, 各层都有各自的协议并完成一定的功能和作用。我们可以根据其特点附加一定的措施以实现不同的安全性机制, 从而将安全性问题归结到OSI结构内部, 这种从OSI结构内部出发的加密称为基于网络协议层的加密, 它特别适合于虚电路或动态路由的应用。它的加密原理就是两台网络主机对等进程进行通信时, 一进程对其所在层的协议数据单元 (PDU) 的全部或部分信息进行加密, 然后在保密通信对方的对等协议层解密, 从而达到网络通信安全的目的, 故也称包加密。用户在启动基于网络协议层的保密系统后, 无需考虑其传输细节, 因此这种加密系统对用户是透明的。

参考文献

[1]胡道元.网络安全[M].北京:清华大学出版社, 2004.

[2]高传善.数据通信与计算机网络[M].北京:高等教育出版社, 2002.

网络协议分析与应用 篇2

CCSDS SCPS网络层与传输层协议分析与仿真验证

空间数据系统咨询委员会(CCSDS)针对空间通信的`特点制定了空间通信协议标准SCPS(Space Communications Protocal Specification).文章从CCSDS标准在中国空间技术的实际应用出发,对CCSDS SCPS协议中网络层协议(NP)和传输层协议(TP)进行研究,分析其特点和适用性,并与TCP/IP协议进行对比,最后设计演示验证系统对所提方案进行验证并得出结论:在空间通信环境下,采用SCPS协议后的性能优于采用TCP/IP协议.

作 者:刘俊 王九龙 石军 Liu Jun Wang Jiulong Shi Jun 作者单位:中国空间技术研究院,北京,100094刊 名:中国空间科学技术 ISTIC PKU英文刊名:CHINESE SPACE SCIENCE AND TECHNOLOGY年,卷(期):200929(6)分类号:P1关键词:空间通信 协议标准 网络层 传输层 仿真 Space communication Protocol specification Network Transport Simulation

网络协议分析与应用 篇3

关键词:科来;协议分析;教学;应用

中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)16-30995-02

The Application of Colasoft Network Protocol Analyzer to Teaching

WU Gang-shan

(Jiangsu Polytechnic College of Agriculture and Forestry,Jurong 212400,China)

Abstract:Based on some teaching cases,the application of one kind of homemade software named as Colasoft Network Protocols Analyzer to teaching was introduced in this paper,which mainly involve Network Environment Building and Protocol Packet Analyzer.

Key words:Colasoft;Protocol Analyzer;Teaching;Application

1 引言

一直以来,在计算机网络专业的网络类课程教学中,网络协议的工作原理和机制均作为重点内容进行讲授,而网络协议的复杂性及抽象性,决定了其必然成为教学的难点。

在教学实践中,笔者尝试了先讲授原理,再构建适当网络以产生特定通信,然后用协议分析软件进行抓包分析验证的教学方法,取得了较好的教学效果。本文以TCP/IP协议中常见的TCP、ARP协议为例,介绍科来网络协议分析软件在教学中的应用。

2 网络环境的搭建

科来网络协议分析软件以嗅探的方式工作,正确搭建网络环境,才能采集到网络中的相关数据包,才能准确分析网络协议。下面介绍两种简便实用的教学网络环境的搭建方法。

2.1双机直连

使用A类双绞线直连双机网卡的方式搭建网络,这样省去了集线设备的采购费用,通信环境单纯易控制,且能满足大部分协议分析的需要。使用双机直连搭建网络时,需选择其中一台安装相关网络服务(如WWW、FTP)以实现特定通信。

2.2集线器

目前集线器在实践中已较少使用,但如果有建成的集线器环境,则可方便的进行多信源协议分析,使用集线器作为集线设备时,同一集线器中通常只需一台计算机安装相关服务即可。

3 TCP协议分析

3.1 TCP协议简介

TCP,全称Transfer Control Protocol,中文名为传输控制协议,它工作在OSI的传输层,提供面向连接的可靠传输服务。TCP的工作机制较复杂,主要分为连接的建立、数据的传输、连接的关闭三个过程。

3.2 TCP报头格式

了解报头结构是数据包进行分析的前提,TCP报头的结构如下表(表1)所示;

表1 TCP报头结构

3.3 数据包解码

HTTP协议在传输层采用的是TCP协议,通过访问网页产生即可产生TCP数据包。下面介绍捕获TCP数据包的具体过程,首先运行科来网络分析系统,为减少数据干扰,可过滤器中设置只捕获TCP协议的数据,然后访问网络中的一台HTTP服务器,待页面下载完成后,停止捕获。打开科来网络协议的数据包视图(如图1)查看数据包捕获情况,在本例中,客户端IP地址为192.168.0.101,服务器IP地址为61.172.201.194。

图1中,数据包8、9、10建立TCP连接的三次握手数据包,下面以8号数据包为例介绍解码信息。

图1 科来网络分析系统TCP解码信息

(1)源端口:2240,偏移量为7,值为2个字节;

(2)目标端口:80,端口名为www-http,偏移量为36,值为2个字节;

(3)序列号:TCP数据包序列号为588779674,偏移量38,值为4个字节;

(4)确认号:确认号为0,偏移量为42,值为4个字节;

(5)TCP偏移量:TCP偏移量为7,偏移量为46,值为4位

(6)标志:PSH和ACK的值为1,这是一个确认包,收到的有效段立即发给应用,不要放入缓冲区

(7)窗口:表示接收端能够接收的下一段的大小64124。

(8)校验和:校验和为0x10D4(正确),表示数据没有被修改和损坏,是完整的。

(9)紧急指针:因为标志字段中URG标志位的值为0,所以这里无紧急指针

(10)无TCP选项:无选项内容

4 ARP协议分析

4.1 ARP协议简介

ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。

4.2 ARP报头结构

表2 ARP报头结构

4.3 数据包解码

在TCP/IP协议环境下,当主机试图与其ARP表无对应关系的IP地址进行通信时,将产生ARP数据包。本例中利用PING命令来产生ARP数据包,具体过程如下,首先在命令行窗口中使用ARP –d 命令清空ARP表;然后运行科来网络分析系统并进行数据包捕获;再回到命令行窗口中,执行PING 19.168.0.100命令。停止捕获后,打开科来软件数据包视图(图2)。在本例中,主机IP地址为192.168.0.101,对方主机IP地址为192.168.0.100。

图2 科来网络分析系统中ARP请求包解码

图2显示是编号为12的ARP请求包的解码,下面我们来详细说明:

(1)硬件类型:1,表示硬件借口类型为以太网类型

(2)协议类型:0x0800,表示发送方提供的高层协议类型是IP

(3)硬件地址长度:表示硬件地址长度为6字节=48位

(4)协议地址长度:表示IP地址长度为4字节=32位

(5)作类型:1,表示ARP请求

(6)源物理地址:00:17:31:DD:BE:48

(7)源IP地址:192.168.0.101

(8)目标物理地址:00:00:00:00:00:00

(9)目标IP地址:192.168.0.100

5 结束语

科来协议分析软件以图解方式直观表示网络会话过程中数据帧的传输方向及每个数据帧的功能,把网络会话过程从隐性变成了显性,提高了学生对协议交互机制和工作过程的解理。通过对理论数据包与科来协议分析软件捕获的实际数据包的比较,使学生对网络协议数据包有了更深刻的认识,也提高了对网络故障的分析能力,并激发学生的学习兴趣。

科来网络协议分析系统作为国产软件,其全中文界面、多协议支持、免费提供的技术交流版使用授权,大大降低了使用成本和学习难度,是一款理想的协议分析教学软件。当然,科来网络协议分析软件最主要的功能还是网络性能及网络故障分析方面,在操作上也还有很多技巧,需要使用者在实践中不断练习掌握。

参考文献:

[1]Stevens W R. TCP/ IP 详解(卷1 :协议) [M].北京:机械工业出版社,2003.

[2]任侠,吕述望.ARP 协议欺骗原理分析与抵御方法[J].计算机工程,2003,29 (9):127-128.

AdHoc网络协议仿真与分析 篇4

NS2是network Simulator 2 (网络仿真器版本2) 的简写, 它是一个离散时间模拟器, 具有开放性好、扩展性强、适用于Windows和Linux系统平台的特点, 是一个出色的研究网络拓扑结构、分析网络传输性能的仿真工具[2]。

1. Ad hoc网络路由协议

与传统的通信网络相比, Ad hoc网络具有以下显著特点:无中心和自组织性、动态变化的网络拓扑结构、多跳路由、无线传输、移动终端的便携性、安全性差。

Ad hoc网络的以上特点使得传统的路由协议在Ad hoc网络环境中面临巨大的挑战, 通常的网络协议都是基于固定的拓扑结构设计的, 难以适应拓扑结构的变化。

网络节点的移动性使得网络拓扑结构不断变化, 传统的基于因特网的路由协议无法适应这些特性, 需要有专门的应用于无线网络的路由协议。

到目前为止, 已经有相当多的Ad hoc网络路由协议标准推出。根据路由表建立和维护的不同, 可将路由协议分为三类:表驱动 (Table—Driven) 路由协议, 按需 (On-Demand) 路由协议, 以及两种模式的混合形式:混合式路由协议[3]。

在表驱动路由协议中, 每个节点都需要维护一个或多个路由信息表, 其中的路由信息被周期更新, 因而节点通信时可即时获得路由信息, 但路由表的周期性维护开销较大。目前经典的表驱动路由协议包括DSDV、WRP等。

在按需路由协议中, 节点不需要维护路由表, 仅在需要新的路由时由源节点调用路由发现算法获取相应路由, 路径上各节点缓存该路由信息, 直到路由失效。相对于表驱动路由, 按需路由协议建立路由的开销较小, 但通信延迟较大。目前经典的按需路由协议包括AODV、DSR、TORA等。

在混合式路由协议中, 在源节点的邻近区域 (路由请求较频繁) 采用表驱动路由以减小通信延迟, 在较远区域则采用按需路由以减小路由维护开销。复合式路由是对表驱动路由和按需路由的折中, 具有较广的适用范围。目前经典的复合路由协议有ZRP等。

2. NS2简介

NS2是一个由C++和OTcl语言编写的、面向对象的、事件驱动的网络模拟器。它实现了诸如TCP、UDP等网络协议, 数据传输如FTP、Telnet、Web、CBR和VBR的模拟以及路由管理机制诸如DropTail、RED和CBQ, 路由算法Dijkstr等。NS2还可以用于多播和MAC层协议的仿真[4]。

NS2具有如下特点:

基于离散事件驱动的仿真方式, 仿真效率高;

面向对象的建模方式, 易于对现实网络进行建模;

NS2与NAM (Network Animator) 软件结合, 能够动画显示仿真结果;

多平台的支持, 可以运行在Windows和Linux等系统平台。

3. Ad Hoc网络NS2仿真

使用NS2仿真器仿真Ad Hoc网络的各个路由协议在无线网络传输中的性能, 所使用的无线接口为802.11, 传播模型为TwoRayGroundt。仿真的目标过程如下:各节点在仿真场景中按照事先生成的节点移动方案进行运动, 并进行数据的传输, 如图1所示。

下面利用NS2对DSDV、AODV和DSR路由协议性能进行测试与结果比较。

(1) 数据报成功接受率的比较

通过NS2对三种不同路由协议 (DSDV、AODV和DSR) 进行仿真, 最终将得到相应的数据, 然后通过对它们的具体分析, 可以得到节点在不同速度下数据报成功接收率的折线图, 如图2所示。

由仿真结果可以看出:

随着节点最大速度不断地提高, 这三种路由协议的数据报成功接收率不断降低, 而且DSDV路由协议降低得最快。

当节点在较低速度下运行时, 三种路由协议的数据报接收率都比较高, 速度小于3m/s时, 数据报接收率都达到了70%以上, 并且它们之间的差异不是很大。但当节点的最大速度达至3m/s时, DSDV路由协议的数据报成功接收率迅速降低, 而AODV和DSR仍然维持着高数据报成功接收率, 这是由于DSDV路由协议是表驱动路由协议, 当节点较快移动时, DSDV路由协议中的路由表项可能经常失效, 导致数据报因为没有可用路由而丢包。

当节点的最大速度在不大于20m/s时, AODV路由协议数据报成功接收率略高于DSR路由协议的数据报成功接收率, 但差距不是很大。但当节点的最大速度在20m/s和35m/s之间时, AODV和DSR路由协议虽然维持着较高的数据报成功接收率 (70%以上) , 但它们之间的差距在增大, 这是因为DSR路由协议比AODV路由协议的路由开销要大, 当节点以较高速度移动时, 就体现出来了。

当节点最大速度超过35m/s时, AODV和DSR路由协议的数据报成功接收率也迅速降低, 这是因为虽然AODV和DSR路由协议都是按需路由协议, 但是节点快速移动时, 节点刚刚发现的路由因为节点快速移动而变得无效。

因为, 节点的移动导致Ad Hoc网络的不稳定性, 所以, 不论采用什么路由协议, 节点的数据报成功接收率始终达不到100%。

(2) 平均端到端延迟的比较

同样通过分析仿真结果数据, 得到节点在不同速度下平均端到端延迟时间的折线图, 如图3所示:

由仿真结果可以看出:

节点在静止或者以较低速度 (<3m/s) 移动时, DSDV路由协议的平均端到端延迟时间比AODV和DSR路由协议的平均端到端延迟时间要短。因为DSDV是表驱动路由协议, 其它两个是按需路由协议。在表驱动路由协议中每个节点在路由表中始终维护了去往所有节点的路由, 当要发送数据时, 节点立刻就可以在路由表中找到合适的路由。然而按需路由协议中的每个节点只有在需要发送数据时才寻找可用的路由, 因此延迟较大。

随着节点速度的加快 (>3m/s) 时, DSDV路由协议的平均端到端延迟时间波动加大并且迅速上升。这是因为当节点较快移动时, DSDV路由协议中的路由表项可能失效, 导致延迟时间增加, 因而DSDV路由协议不适合于网络拓扑结构变化较快的Ad Hoc网络。

DSR路由协议在节点速度超过20m/s时, 相对与AODV路由协议, 它的平均端到端延迟时间波动明显增大且延迟时间也增加了。这是因为当节点以较快速度移动时, DSR路由协议数据报成功接收率低于AODV路由协议的数据报成功接收率。

在AODV路由协议中当节点的速度在0m/s和35m/s之间时, 它的平均端到端延迟时间波动最小且延迟时间也比较短 (<0.5s) 。但当节点速度超过35m/s后, 它的平均端到端延迟时间也开始增加。这是因为在AODV路由协议中当是节点快速移动时, 节点刚刚发现的路由因为节点快速移动而变得无效。

4. 结束语

Ad Hoc网络协议无线通信是研究重点, 针对它们的协议的优化也在进行中, 国内外研究者已经或者正在改进目前的几个经典协议, 为了提高网络通信, 下一步的工作依然任重而道远。

参考文献

[1]Perkins C E.Ad Hoc Networking[M].Addison-Wesley, 2000

[2]NS2Learning Guide[EB/OL]

[3]王金龙, 王显贵, 吴启晖等。Ad Hoc移动无线网络[M]。北京:国防工业出版社, 2004

网络协议分析课程设计 篇5

设计题目: 网络构建与协议分析

院 系: 信息技术学院

班 级:

设 计 者:

学 号:

指导教师:

设计时间:

信息技术学院

昆明学院课程设计(大作业)任务书

课程设计(大作业)报告

网络构建及分析

一、题目分析

1. 在S2126与S3750B上划分VLAN,并把PC机与服务器加入到相应的VLAN中。

2. 配置S2126与S3750A之间的两条交换机间链路,以及S3750A与S3750B之间的交换机间链路。

3. 在S2126与S3750A之间的冗余链路中使用STP技术防止桥接环路的产生,并通过手工配置使S3750A成为STP的根。

4. 为S3750A的VLAN接口和R1762的接口配置IP地址。

5. 在S3750A上使用具有三层特性的物理端口实现与R1762的互联。

二、总体设计

三、实验器材

1、网络环境

根据具体协议构建合适的网络环境

2、操作系统

WindowsXP,如果需要,安装相应的服务(如FTP,SSH,TELNET,HTTP等)

3、协议分析工具

Windows环境下常用的工具有:Sniffer Pro、Ethereal、Iris以及Packet Tracer 等。实验中可具体选择一种协议分析工具,本实验选择Ethereal。

四、制作步骤

1、分析实验设计要求,进行初步的规划;

2、按照要求的网络拓扑图在思科模拟器上进行对网络拓扑图的连接,此处要特别注意对设备和连接线的选择;

连线时要特别注意选用的线的种类:同种设备之间互联使用交叉线,不同种设备互联使用直通线。

3、按照实验的要求,对模拟好的拓扑图进行内部的配置和设置

4、进行设置和配置的检测,对实验的结果进行分析

五、分析网络中可能用到的网络协议

可能用到的网络协议有:

应用层DNS, FTP,HTTP, RIP, DHCP

传输层TCP, UDP

网络层IP,ICMP,IGMP

数据链路层 ARP,RARP

物理层 以太网,RS-232

.路由协议(RIP):路由协议主要运行于路由器上,路由协议是用来确定到达路径的,它包括RIP,IGRP,EIGRP,OSPF。起到一个地图导航,负责找路的作用。它工作在网络层。路由选择协议主要是运行在路由器上的协议,主要用来进行路径选择。

FTP :FTP(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。

HTTP:HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。HTTP是客户端浏览器或其他程序与Web服务器之间的`应用层通信协议。

IP: IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。

ARP:在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。

网络协议分析与应用 篇6

目前LonWorks现场总线以其完全的开放性得到广泛的应用,然而如何有效地检查LonWorks控制网络的运行状况和发现潜在的故障,是研究人员和工程师们面临的一个难题。LonWorks控制网络负责的是频繁地采集及传递数据,要求系统必须符合稳、准、快的原则,所有主要的监测及控制功能均须能完整地在网络上执行。LPA网络协议分析仪通过截获LonWorks控制网络中的数据包,对数据包的内容进行分析,得出网络协议的详细报文及统计结果,并可根据设定的转换规则,把数据转换为易于理解的格式给网络管理人员,及时发现网络中潜在的故障,有利于工程师快速准确地寻找问题的症结,查出有问题的网络节点,尽快恢复网络的正常运行。此外,LPA网络协议分析仪还可以通过分析LonWorks网络的通信状况以及网络连接情况,对网络的性能和设备的合理分配以及优化、调整网络结构提供可靠的依据。

1 LPA协议分析仪

LPA(Loytec Protocol Analyzer),即Loytec协议分析仪[1],是由奥地利Loytec公司推出的基于32位L-Chip芯片和Orion Stack EIA709协议栈核心技术的网络分析工具,具有过滤、转换、统计和分析等多种功能,可同时测试、分析多信道网络。其通过Loytec NIC709或NIC852 USB网络接口连接计算机与网络,可监测和CEA709(LonWorks)CEA852(LonWorks/IP)网络,分析控制网络上截获的数据包,实时显示网络的运行状况,储存数据信息到包日志中。

2 网络协议分析步骤

2.1 网络数据采集

主要实现网络接口设置、过滤规则选择、数据包捕获[2,3]、捕获数据保存、读取保存文件中数据包等。

2.2 数据包解码分析

对截获的原始数据包进行逐层解码,提取数据包各层协议的头部信息和数据信息,并以十六进制和二进制的形式显示。

2.3 数据包统计分析

统计带宽使用率、网络流量、协议分布、坏包率等信息,根据数据包的统计结果查看网络的实时运行状况,实现网络故障在线报警功能。网络协议分析流程如图1所示。

3 LonWorks网络协议解析

图2中显示了LPA从LonWorks网络中捕获的部分数据包,截获的数据包分别在LPA的包列表(Packet List)、包细节(Packet Detail)、协议细节(Protocol Detail)三个窗口中显示。图2中最上面的包列表窗口按照捕获的时间顺序显示出包的基本信息:编码号、时间、包长度、包标志、帧中包含的传输数目、域、源地址、目的地址、用来传输数据包的服务以及数据包中的信息;包细节窗口显示了基本的包信息以及报文信息,同时在左下方还显示了以数字和文本形式表示的传输信息;协议细节窗口则显示当前数据包在各层协议层的封装细节,包括首部和数据,右下方显示解码后相对应的标识符。

以图2中编码号为1的数据包为例,解析网络协议,并根据网络协议解释网络管理和诊断消息。此时的数据包信息如图3所示,通过查询各层协议数据单元的信息就可以详细解释数据包传达的消息。这里重点分析应用层协议数据单元(APDU)[4],其数据格式如图4所示。APDU的格式由一个首部和应用数据组成,首部是个单字节,只有当在首部指定后面是网络变量信息时,后面才有第二个字节跟随。在协议细节窗口选择APDU,右下角显示的数据包信息为:7372.其中标识0×73,改写为二进制0111 0011,表示此时传输的数据包是一条网络管理报文;0×22表示传输的数据。翻译的信息是:nv_index=0×22,解释为网络变量获取值为0×22.

4 LonWorks网络故障解决方案

使用LPA协议分析仪检测LonWorks控制网络,根据捕获的数据包统计结果,查看带宽使用率(Bandwidth Utilization Rate)、网络坏包率(Network Error Rate)、丢失的前同步码(Missed Rreamble Counter)、备用路径数据包(Alternate Path Packets,AP Packets)[5]等情况来显示网络的安全状况,针对网络中出现的故障与实际存在的问题采取相应地解决措施,问题检查流程如图5所示。

LonWorks网络故障分两类,一类是硬件故障,另一类是软件故障,解决问题的顺序是先硬件后软件。LonWorks网络故障大多数是由网络流量冲突、网络终端器丢失、信号干扰或者线缆损坏造成的。网络流量过大通常是由数据采集与监控(SCADA)系统造成,为了减小通信流量,SCADA系统垂询时间间隔需要增大。此外也可调整节点最低更新率时间来减小网络流量。根据以上的解析,图5中解决问题的策略如下。

解决方案1:(1)减小SCADA的垂询速率;(2)调整节点的更新速率;(3)完善网络结构;(4)改变从确认报文(ACKD)到无确认重复报文(UNACK_RPT)组信息的服务类型。

解决方案2:(1)检查终端电阻;(2)检查线缆(如电缆损坏)。

解决方案3:(1)检查终端电阻;(2)检查线缆(如电缆损坏,屏蔽线等)。

解决方案4:(1)检查电源或故障节点;(2)检查安装错误(如节点没安装)。

如果事实证明以上所有这些步骤都不足以解决LonWorks控制网络通信问题,那么网络结构必须重新设计,选择适当的网络结构,如引入路由器和交换机等。

5 LPA工程案例应用

某楼宇自动控制系统使用的是施耐德公司TAC Vista系统,共有35台控制器及模块,I/O监控点共391个,通讯使用LonWorks现场总线,网络拓扑结构为总线型。为了查看现场控制设备的运行情况以及LonWorks控制系统网络通讯质量状况,使用LPA测试控制系统网路,检测结果如图6所示。

由图6(a)数据包统计信息知,捕获的数据包为3406个,坏包率为0.11744%,即坏包有4个,在误差允许范围内,表明物理层通讯网络可继续使用。根据图6(b)节点统计信息知,有20台设备在线,15台设备离线,检测结果可以查得离线设备的编号,进而可以查得离线设备的地址,为设备维修和系统改造提供技术手段。

6结束语

LPA对于LonWorks协议如何工作,LonWorks网络上可能发生的坏包、网络瘫痪、信道过载等问题以及如何发现这些问题提供了方法。通过监测LonWorks控制网络,获取各个信道中传输的数据包,对截获的数据包进行统计分析,及时地展现网络的运行情况,从根本上确保控制网络通讯质量,进而减少故障,降低经济成本。

参考文献

[1]LPA User Manual.

[2]刘亦男.基于协议分析技术的网络监控系统的设计与实现[D].电子科技大学,2010.

[3]庄春兴,杨晓伟,黄向前.网络数据包的捕获、分析和应用[J].计算机应用与软件,2003(11).

[4]高安邦.LonWorks技术开发和应用[M].机械工业出版社,2009:68-69.

网络协议分析与应用 篇7

计算机网络技术是计算机技术与通信技术结合的产物,它已经渗透到社会生活的各个方面,得到了广泛的应用。计算机网络课程是计算机各个专业的核心课程之一,在课程体系中有着重要的地位。这门课程的内容主要是计算机网络的基本原理和网络协议,理论知识多,且网络协议大多比较抽象,学生会感到枯燥乏味,缺乏学习兴趣。

1 计算机网络课程特点

计算机网络课程概念多,协议多,尤其是协议在计算机网络课程中占有很大的比重,会涉及到TCP/IP协议簇从网络层到应用层的众多协议。协议既复杂,又抽象,如何讲解使学生学懂协议,是计算机网络课程讲授中面临的一个重要课题。传统的讲授方法主要使用课件讲解协议的封装格式以及实体之间的通信过程,使用动画演示协议实体之间的交互过程,虽然这样做,形象化了协议交互过程,但学生还是感觉比较抽象,他们心里也有疑问,实际的协议是不是这样运行的?有的学生因此失去了学习计算机网络课程的兴趣。在计算机网络课程的讲授中,把抽象的协议具体化、形象化是非常必要的[1,2,3]。

2 协议分析软件的应用

协议分析软件也叫嗅探器,是利用计算机的网络接口,截获传送给其他计算机的数据报文的一种技术。该技术被广泛应用于网络维护和管理方面。它工作的时候就像一部声纳,接收着来自网络的各种信息。通过对这些数据的分析,网络管理员可以深入了解网络当前的运行状况,以便发现网络中潜在的问题[4]。

在计算机网络课程的教学中,通过使用协议分析软件可以观察网络会话的细节,记录网络分组并且以可读的形式显示。协议分析软件形象的展示分组的逐层封装格式,解析各层协议分组首部不同字段的含义,详细描述协议实体之间的交互过程,使枯燥、抽象的协议讲述变得具体、生动,极大地激发学生的学习热情。

常用的协议分析软件有Tcpdump、Wireshark、Sniffer pro等几种[5,6],在教学过程中,我们选择Wireshark进行计算机网络课程的辅助教学。

3 TCP协议分析案例

TCP协议是面向连接的运输层协议,提供端到端的可靠通信服务。TCP协议位于网络层和应用层之间,它使用确认和超时重传机制,在不可靠的网络层之上建立起一条可靠的全双工逻辑信道,向上层的应用层协议提供可靠的进程间的通信,屏蔽了网络层以下的复杂的逻辑和物理结构。

3.1 TCP连接的建立和释放

TCP把连接作为最基本的抽象,每条连接有连个端点。TCP面向字节流,按字节编号,在首部中序号指本报文的第一个字节的编号,确认号指期望收到对方下一个报文的数据第一个字节的编号。控制位的确认ACK等于1时,确认号有效,连接建立后传送的报文ACK都要置1;同步SYN在建立连接时同步序号;终止FIN用来释放一个连接。

3.1.1 连接的建立一条TCP连接的建立,需要经过三次握手过程,如图1。

(1)客户端发送一个请求报文,同步位SYN=1,选择一个初始序列号Seq=x;(2)服务器发回应答报文,置SYN=1,ACK=1,服务器的初始号Seq=y,同时使确认序号ack=x+1,对客户的SYN报文段进行确认;(3)客户收到服务器确认后,还要向服务器发出确认。确认报文段的ACK=1,确认号ack=y+1,自己的序列号Seq=x+1。

3.1.2 连接的释放

一条TCP连接的释放,需要经过四次挥手过程(1)首先进行关闭的一方将发出报文,设置FIN=1,设置自己的序列号seq=u,它等于已发送数据的最后一个字节加1;(2)当接收方收到关闭请求报文,发出确认报文,确认号ack=u+1,设置自己的序列号seq=v,它等于已发送数据的最后一个字节加1。TCP服务器进程通知上层应用进程,这个方向连接释放。(3)接收方发送完数据,释放另一个方向的TCP连接接,,发发送送另另一一个个FFIINN==11、、序序列列号号sseeqq==ww的的请请求求连连接释放报文。(4)当发送方收到请求连接释放报文,就必须发回一个确认报文,置FIN=1,ACK=1,ack=w+1,seq=u+1,并释放本方向的连接[7]。

3.2 使用Wireshark分析TCP连接的建立和释放

在局域网中设置客户端地址IP为192.168.0.1,服务器端地址IP为192.168.0.145,通过Wireshark抓取数据包,分析它们之间建立和释放TCP连接的过程。

3.2.1 TCP连接建立分析

由图2可以看到第一次握手,客户端发送一个SYN(SYN=1)报文段,指明客户端要连接服务器的端口,以及初始序列号Seq=0(相对序列号,其实是一个随机数x),这个SYN报文称为报文1。

第二次握手服务器发回SYN=1的报文段作为应答,该报文的初始序列号为0(相对序列号,其实是一个随机数y)且确认位ACK=1,表示对报文1序列号的确认,确认号ack=1(相对确认号,客户端序列号x加1),该报文为报文2。

第三次握手客户端必须将确认序列号ack=1(相对序列号,实际是y+1),对服务器的报文2进行确认,该报文序列号seq=1(相对序列号,实际是x+1),设置ACK=1,该报文为报文3。

经过以上三次握手过程,在客户端和服务器之间建立了一个可靠的全双工通道,可以开始传输数据了。

3.2.2 TCP连接释放分析

在客户端传输完数据之后,客户端为192.168.0.1向服务器192.168.0.145发送断开连接请求,如图3,第一次挥手192.168.0.1请求断开连接的第一个请求包,该TCP报文FIN位被置为1,表示请求释放连接;同时,此时的序列号为seq=0(相对序列号,其实是最后一个数据报文的最后的一个字节编号加1,设为u);第二次挥手是192.168.0.145对192.168.0.1请求的确认,且报文ACK=1,表示为确认报文,且序列号为seq=0(相对序列号,其实是前面数据报文的最后的一个字节编号加1,设为v),确认号为1(相对序列号,实际是u+1),即确认的为上一个报文的序列号;在服务器传输完数据之后开始第三次挥手,192.168.0.145对192.168.0.1发送请求释放连接报文,FIN=1表示请求释放连接,序列号seq=0(相对序列号,其实是最后一个数据报文的最后的一个字节编号加1,设为w),确认号ack=1(相对序列号,实际是u+1);第四次挥手192.168.0.1对192.168.0.145请求断开连接的确认,ACK=1并FIN=0.表示为确认报文,序列号seq=1(相对序列号,实际是u+1),确认号为1(相对序列号,实际是w+1)。

经过TCP释放连接的四次挥手过程,在传输双方数据传输完后,通信的双方双向释放连接。

4 结束语

通过使用协议分析软件讲授网络协议,改变过去的传统教课方式,符合先感性后理性的认知规律,把网络协议具体、生动的呈现在学生面前,使学生感觉到网络协议易学、易懂,增强了学生学习计算机网络课程的信心,在实践教学中,取得了良好的教学效果。

摘要:在计算机网络教学中引入协议分析软件,利用协议分析软件的嗅探功能,捕获和分析网络协议数据包,逐层展现网络的封包格式,详细描述协议交互过程,使讲授过程生动、有趣,使学生对网络协议有较强的感性认识,能深入了解网络协议,深刻理解网络原理,提高了教学效率,取得了良好的教学效果。

关键词:计算机网络,协议分析,传输控制协议,Wireshark

参考文献

[1]刘彦保.计算机网络课程教学改革与实践[J].黑龙江高教研究,2006.2:111-112.

[2]潘泽强,黄益群.计算机网络实践教学改革研究与探索[J].制造自动化.2010.2:182-184.

[3]孙兴华,王钰.比喻法在计算机网络教学中的应用.教育与职业[J].2010.17:153-154.

[4]王石.局域网安全与攻防:基于Sniffer Pro实现[M].北京:电子工业出版社,2006,10:4.

[5]刘洪涛,张纲,程良伦.基于sniffer pro的虚拟实验室构建[J].实验室研究与探索,2011,8:275-277.

[6]罗青林,徐克付,臧文羽,刘金刚.Wireshark环境下的网络协议解析与验证方法[J].计算机工程与设计,2011,3:770-773.

网络协议分析与应用 篇8

Zigbee是一种新兴的短距离、低速率无线网络技术,它是一种介于无线标记技术和Bluetooth(蓝芽)之间的提案[2],采用一般IEEE 802.15.4收发器技术与Zigbee协议栈的组合,在数千微小的传感器之间相互协调实现通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,它们的通信效率非常高。Zigbee建立在IEEE802.15.4标准之上,确定了可以在不同制造商之间共享的应用纲要。完整协议用于一次可直接连接到一个设备的基本节点的4KB或者作为Hub或路由器的32KB。每个协调器可连接255个节点,而几个协调器则可以形成一个网络,多路由传输的数目则没有限制。Zigbee联盟还开发了安全层,以保证这种便携式设备不会意外泄漏其标识,而且这种利用网络的远距离传输不会被其他节点获得。

1 短距离通信协议比较

随着数字通信和计算机技术的发展,许多短距离无线通信的要求被提出。短距离无线通信和长距离通信的区别主要有:

(1)无线发射功率在几微瓦到小于100μw;

(2)通信距离在几厘米到几百米;

(3)主要在房间内使用;

(4)使用全线天线和线路板天线;

(5)不需要申请无线频道;

(6)高频操作;

(7)有电池供电的无线发射器和无线接收器。

典型的短距离无线系统由一个发射器(包括数据源、调节器、RF源、RF功率放大器、天线、电源组成)和一个无线接收器(包括数据接收电路、RF解调器、译码器、RF低噪声放大器、天线、电源)组成。随着无线的发展,网络化、标准化要求逐渐出现在人们面前。因此,各种无线网络技术标准纷纷被定制出来。目前Zigbee、红外数据传输(Ir DA)、蓝芽(Blue tooth)已成为业界讨论的焦点,为了更清楚了解这三种协议,将其有关性能参数作比较,如表一所示[2]。

结合无线传感器网络节点的要求,可以分析得出以下结论:

(1)Bluetooth对系统资源占用较大。整个协议就有60-150KB,不适用于节点存贮器容量有限的网络。对网络能耗较大,适于能量供给不存在困难的网络。总之,Bluetooth可应用到网络规模不大的网络。

(2)Ir DA使网络的范围有限。尽管其具有功耗最小和不占用太大的系统资源特点,由于其定向传送且1米,要求节点部属在同一平面,对于大规模的无线传感器网络应用是一种制约。

(3)Zig Bee对于在节点用电池供电时表现出更好的性能。由于标准推出时间迟,解决了在具体应用中其它短距离协议的先天不足,传输距离较好,能够满足工程需要。为减少部署节点数提供了理论依据,产品使用不会涉及使用许可权的问题。由于每簇节点数可达65000个,能够实现较大范围的通信。

(4)无线传感器网络是应用性、相关性很强的网络。ZigBee是一种近距离、低功耗、低数据速率、低成本的双向无线通信技术,完整的协议栈只有32KB,可以嵌入在各种设备中,同时支持地理定位功能,以上特点决定了Zig Bee技术非常适合应用在无线传感器网络中。其主要优势表现在以下几点:

(1)功耗低。由于工作周期较短、收发信息功耗较低且采用了休眠模式,可以确保两节五号电池支持长达六个月到一年左右的使用时间;

(2)可靠数据传输。采用了碰撞避免机制,避免了发送数据时的竞争和冲突,并且MAC层采用了完全确认的数据传输机制,发送的每个数据包都必须等待接收方的确认信息;

(3)网络容量大。一个Zigbee网络可以容纳最多65536个从设备和一个主设备,一个区域内可以同时存在最多100个Zigbee网络;

(4)快速响应。设备搜索时不超过30ms,休眠到激活时间不超过1ms,活动设备接入信道时间不超过15ms。

2 Zigbee协议栈

Zigbee协议栈由一组子层构成,每层为其上层提供一组特定的服务,每层主要由两部分组成:数据实体和管理实体。一个数据实体提供数据传输服务,一个管理实体提供全部其他服务。完整Zigbee协议栈由应用层(APL:其中应用层的框架包括了应用支持子层(ASP)、Zigbee设备对象(ZDO)和由制造商定制的应用对象)、网络层(NWK)、媒体访问控制层(MAC)和物理层(PHY)组成。整个Zigbee协议栈如图一[3]所示:

2.1 Zigbee网络协议数据帧结构

网络协议数据单元(NPDU)结构(帧结构)的基本组成部分是[2,3,4]:网络层帧报头,包含帧控制、地址和序列信息;网络层帧可变长有效载荷,包含帧类型所指定的信息。图二表示的是网络层的通用帧结构,不是所有的帧都包含地址和序列域,但网络层的帧报头域,还是按照固定的顺序出现。有的Zigbee网络协议中除了定义数据帧外还定义了命令帧,如图三所示。

Zigbee采用载波侦听多址/冲突(CSMA/CD)的信道接入方式和完全握手协议,其数据传输方式如图四所示。

2.2 数据收发操作

(l)发送数据

应用程序对象需要发送数据时,通过应用程序支持子层(APS)的数据实体发送请求。数据向下层传递过程中不断进行封包。

(2)接收数据

为了接收数据,设备必须打开其接收机。上层设备通过相应的原语初始化设备,打开其接收机。一旦接收机处于接收状态,网络层将通过MAC数据服务来接收数据帧。数据帧的目的地址设备的网络地址符合的帧将被传送到其上层。同样,广播数据帧也会传送到其上层。同时,设备将堆广播数据帧警醒继续传送,而所有的其他数据帧将被抛弃。数据的接受过程则是一个不断解报的过程。

3 Zigbee协议栈移植

Zigbee协议栈对软件和硬件都有一定的限制,但是在大多数情况下,用户都不会使用此协议栈针对的软硬件环境,使得它能够在其他的软硬件平台上应用。因此需要对Zigbee协议栈进行移植,Zigbee的移植步骤:

(1)对硬件平台的处理器在I/O端口分配、内存组成及使用、中断处理、堆栈操作等各个方面进行详细分析。

(2)详细分析Zigbee协议栈

对硬件有了清楚地认识之后,针对硬件对协议栈做修改,包括已经有哪些功能,没有哪些功能,需要添加哪些功能等。

(3)修改Zigbee协议栈并使用编译器进行编译

以上步骤完成之后就可以对Zigbee协议栈进行修改,修改时要注意结合编译器的特性进行,需要对一些宏、常量等进行修改。在修改完成之后需要使用编译器对其进行编译。

(4)编写测试程序对修改的协议栈进行测试

协议栈修改完成之后编写相应的测试程序对修改的协议栈进行测试。测试程序时,对协议栈的每一部分功能都进行测试。

(5)开发应用程序

所有功能测试通过之后就可以根据需求开发应用程序。图五是实际软件在IAR C51 CC2430/2431环境下运行软件的截图。

4 结束语

本文分析了IEEE802.15.4和Zigbee协议,列举几种短距离无线通信协议并进行比较,选取Zigbee协议栈作为无线传感器节点的通信协议。对Zigbee协议栈的结构进行了分析,给出了Zigbee协议移植的具体步骤,最后将Zigbee协议成功地移植到CC2431微处理器上,为网络节点传感器接入Internet提供了基础。

参考文献

[1]李中文,段朝玉.Zigbee无线网络技术入门与实战[M].北京:北京航空航天大学出版社,2007.

[2]何岭松.基于Internet的嵌入式Web传感器[J].传感器技术,2002,8.

[3]凌志浩.Zigbee无线通信协议的技术支持及其应用前景(上,下)[J].世界仪表与自动化,2006,(01).

网络协议分析与应用 篇9

安全认证系统经常用于远程登录服务器或无线网络中以防止资源的非法使用。移动用户的无缝跨网操作是移动通信中的重要需求,在这样的环境下实现包括移动终端认证在内的安全性是极具挑战性的工作。在移动终端MS离开本地网络后需要通过认证才能够访问漫游网络的服务。然而,对MS而言,当离开本地网络后一般没有可信的认证服务器AS。为此,文献[1,2]提出了Kerberos类型的移动认证方案,在MS和漫游地注册中心VLR之间实现双向认证。文献[3]使用盲签名技术设计了一个移动终端隐私保护方案。文献[4]基于信任授权方法设计了一个认证方案,该方案中MS在HLR注册并向VLR证明这一注册过程。但由于VLR是潜在不可信的,许多现有认证方案并不如宣称般安全[5,6]。

最近,文献[5,6]使用信任授权的方法设计了VLR认证MS的高效移动认证EMAS方案。EMAS的优势在于:一方面使用公钥密码技术获得了较强的安全性,另一方面使用对称密码技术获得了通信和计算上的效率。 EMAS 被证明能够抵抗包括DoS攻击、消息重定向攻击在内的所有已知攻击方式。本文在没有对HLR、VLR和MS施加额外负担的前提下加强了文献[5,6]方案的安全性:提供匿名性从而VLR即便与MS交互认证也无法获悉MS的身份;提供HOA阶段的密钥更新功能从而交互双方MS和VLR可以安全更新它们的会话密钥,即使HLR是离线的。 改进方案保持了原方案的性能和其它性质。

1 文献[5,6]的EMAS方案回顾

F为一有限域,EF上的椭圆曲线,TE上的一个点,T的阶为大素数p或含有大素数因子p,∏(·):E/FZp*为一个点表示函数。令Y为HLR的公钥,xZp*为其私钥,Y=xT。公钥Y是被认证的且为VLR、MS所知。IDM为MS的身份信息,是Zp*中的数字,IDH为HLR的身份信息,IDV为VLR的身份信息,[m]k表示用km执行对称加密操作。

如图1所示,文献[5]中的方案EMAS包含三个协议:信任委托初始化协议TDI、高效移动认证协议EMA、HLR离线认证协议HOA。

1) TDI协议

在该协议中,HLR完成向MS授权操作。HLR的具体计算过程为:

● 生成关于IDM的密钥使用限制文件mw;

● 将IDMmw转换为Zp*中的元素,并计算h(IDMmw);

● 选择Zp*中的随机元素κ,计算:

Γ=h(IDMmw)T+κT

σ=-xh(∏(Γ))-κ

● 将(Γ, IDM, mw)公开,将(σ, mw)秘密交给MS。

这样,HLR就基于椭圆曲线离散对数问题完成了向MS的信任授权操作。

2) EMA协议

在本协议中,MS与VLR在HLR的帮助下完成双向认证,认证通过后两者可使用共享的秘密完成秘密通信。MS首先执行以下步骤:

● 选择两个随机数k, NZp*, 生成通信密钥ck,并计算:

R=kT s=σ-kh(∏(R)‖N)

● 使用σck, ts, Texp, N执行加密操作以生成证书[ck, ts, Texp, N]σ,其中ts为时间戳,Texp为通信密钥过期时间;

MS向VLR发送以下消息(1):

mw, R, s, IDH, [ck, ts, Texp, N]σ, N (1)

● MS检查从VLR发来的IDH, [N, IDV, [N, IDV]σ]ck中一次性随机数N是否一致,以便由此判断VLR的真实性。

VLR执行以下步骤:

● 收到消息(1)后,VLR 检查mw的限制条件并验证下式是否成立:

sT+Γ+h(Π(Γ))Y+h(Π(R)‖N)R= h(IDMmw)T

● 如果验证通过,VLR将下述消息(2)发送给HLR以询问与MS的通信密钥:

IDM, [ck, ts, Texp, N]σ (2)

● 在收到HLR的回复消息(4)后,VLR将得到通信密钥ck,并检查过期时间和一次性随机数的一致性。如果通过,则使用通信密钥ck以加密的方式发送消息(3)给MS,MS可由此认证VLR的真实性:

IDH, [N, IDV, [N, IDV]σ]ck (3)

HLR执行以下步骤:

● 使用σ处理消息(2),验证mw上关于IDM的限制约束。

● 如果验证通过,HLR使用σ和它与VLR之间共享的会话密钥KV,H生成消息:

[IDM, Texp, ts, ck, N]KV,H, [N, IDV]σ (4)

● HLR将消息(4)发送给VLR。

3) HOA协议

在HLR在线参与认证过程的EMA协议第一次执行结束后,该VLR可以独立地完成对该MS的认证,只要HLR的公钥和HLR对MS的信任授权信息保持不变。在HLR离线情况下,VLR的认证过程为:

● MS检查与通信密钥ck相对应的时间戳ts和过期时间Texp后, 如果ck仍然有效,则选择两个随机数k’, N’∈ Zp*, 计算R’=kT,s’=σ-kh(∏(R’)‖N’)。

● MS发送消息O1=[mwR’‖s’‖IDHN’]给VLR。

● 收到消息O1后,VLR验证mw的限制和ck的过期时间,并检查:

sT+Γ+ h(Π(Γ))Y+h(Π(R’)‖N’)R’= h(IDMmw)T

● 如果上述验证均通过,则VLR相信MS的真实性,并使用ck为通信密钥。

以上即为文献[5,6]的EMAS方案描述。与现有的相关工作[4,7,8,9]相比,EMAS有较多良好的性质和功能。比如EMAS能够抵抗包括DoS攻击、消息重定向攻击、虚假基站攻击等在内的所有已知攻击;移动终端在EMA阶段只需要处理两次消息;现实中使用面向应用的芯片或处理器(比如ARM SC200)的嵌入式设备能够很容易地在1秒以内完成MS的工作,等等。

2 对文献[5,6]的EMAS方案的分析

在许多多用户电子商务和工业工程应用环境下,匿名性正成为一个关注焦点[10]。匿名性服务也是无线通信中的重要需求之一,保证了移动终端的个人隐私不被恶意的VLR获得。在方案EMAS中,移动终端MS在与VLR相互认证的过程中会暴露自己的身份信息,这是由于其身份信息是显式地通过明文呈现给VLR的。换句话说,EMAS不提供匿名性。

我们注意到文献[6]对方案EMAS有后续工作,设计了一个加强方案,并声称该方案具有身份保护功能。 为免窃听者和VLR获得MS的身份信息,该方案使用了一次性假名的方法[1]。 文献[6]声称该方案能够在不牺牲认证效率的前提下提供身份保护功能。 然而,文献[6]中的方案仍有需要进一步思考的地方。

首先,为了指明同一个移动终端,文献[6]方法在HLR的注册表中存储了不同的公开信息(Γ′,IDMA,mw)。这样,每次MS与VLR在HLR的帮助下完成一次双向认证后,HLR都需要更新一次注册表,用MS新的假名取代旧的假名。相应的,HLR对假名的数字签名(Γ′, σ′)需要重新计算,并将σ′通过秘密信道发送给MS,同时也导致了额外的通信带宽。 另外,对HLR来说,为网络中的所有移动终端频繁更新和维护注册表也是很大的负担。

其次,给定同一个移动终端MS的三元组(Γ1, IDMA1, mw1) 和(Γ2, IDMA2, mw2) 以及MS的两个假名IDMA1、IDMA2,两个信任授权证书mw1、mw2是相同的。 在文献[6]中使用了一个很强的假设:即除了HLR外任何人都不能从证书mw推导出MS的身份。 这与传统代理签名的现实应用是矛盾的:代理授权证书指明了必要的代理细节,包括原始签名人的身份、代理签名人的身份、代理签名人的签名权限等。这也是MS不需要在图1的消息(b)、(f)中明确传递IDM的原因。即使代理授权证书不包含MS的明文身份信息,在mw中的其它描述也可能泄露部分信息,包括恶意VLR在内的攻击者可能利用这些部分信息破坏匿名性。

最后,一般认为,从安全通信的角度看,最好避免在不同的会话中使用相同的会话密钥。文献[5,6]中的方法都违背了此规则。我们更希望一种方法能够提供密钥更新功能,从而生成不同的会话密钥用于不同的通信会话。

上述分析表明,无线网络中的高效认证方案除提供双向认证、会话密钥协商和其它功能外还应该在不增加HLR、VLR、MS负担的前提下同时提供匿名性和安全密钥更新性质。尽管文献[5,6]中的体制EMAS及其加强方案不满足这一点,我们将在下一节给出其改进方案。

3 具有匿名性和密钥更新特征的改进方案

与文献[5,6]的方案一样,我们的改进方案也由信任委托初始化协议TDI、高效移动认证协议EMA、HLR离线认证协议HOA组成。假设e是HLR私钥,可用于HLR的对称密码中,本方案中所使用的其它记号和文献[5,6]中相同。

1) TDI协议

假设身份为IDM的移动终端MS要在HLR处注册。HLR首先生成授权证书mw,其中指明了MS的身份、签名能力和其它必要说明,然后计算对IDMmw的签名:

Γ=h(IDMmw)T+kT σ=-k-xh(∏(Γ))

其中kRZp*。最后,HLR在注册表中存储Γ, h(IDMmw) 、[Γ, IDMmw, σ]e。其中,二元组(Γ, h(IDMmw))公开。HLR将:

(σ, IDMmw) (5)

通过安全信道秘密发送MS。

如果mw过期,HLR可以通过将σ公开的方式撤销公共信息。 收到消息(5)后, MS检查下式以验证IDMmw的数字签名(Γ, σ):h(IDMmw)T=Γ+σ T+h(∏(Γ))Y

如验证通过,MS接受σ为有效授权密钥。

注意到我们的方法与文献[5,6]中方法的主要区别是目前的公共信息为(Γ, h(IDMmw)),且HLR需要额外存储[Γ, IDMmw, σ]e。由于HLR和VLR一般不是资源受限的, 因此所需要的额外存储和对称密码加解密操作是可以接受的。 由于哈希函数的密码学性质,h(IDMmw)很好地隐藏了MS的身份信息IDMmw。 给定h(IDMmw),除了HLR和MS外的任何人不具备将IDMmw和随机串区分开来的能力。

2) EMA协议

在这一阶段,图1中的消息(b)-(e)将由消息(6)-(9)代替。更具体地,当MS要登录到VLR时,它选择随机数k, N, ckRZp*, 计算R=kT,s=σ-kh(∏(R)‖N),并将

h(IDMmw), R, s, IDH, [ck, ts, Texp, N]σ, N (6)

发送给VLR,其中ts是时间戳, Texpck的到期时间。

收到消息(6)后, VLR验证公共信息(Γ, h(IDMmw)) (即还未撤销),并通过下面的等式检查h(IDMmw), R, s, N的一致性:h(IDMmw)T=Γ+sT+h(∏(Γ))Y+h(∏(R)‖N)R

如果正确,VLR 将:

h(IDMmw), [ck, ts, Texp,N]σ (7)

转发给HLR。

收到消息(7)后, HLR首先从[Γ, IDMmw, σ]e中导出IDMmw, σ,然后检查mw的限制条件,并对[ck, ts, Texp, N]σ执行解密操作恢复ck, ts, Texp, N,最后发出:

[h(IDMmw), ck, ts, Texp, N]KV,H, [IDV, N]σ (8)

作为回复。

VLR解密[h(IDMmw), ck, ts, Texp, N]KV,H,为向MS认证自己,VLR发出:

IDH, [IDV, h(ck, ts, Texp, N), [IDV, N]σ]sk (9)

这里sk=h(IDV, ck, ts, Texp, N)为会话密钥。与文献[5,6]中的通信密钥ck自身不同, 我们的方法中VLR和MS对最终的会话密钥sk均有自己的贡献。 由于知道ck, ts, Texp, Nσ,MS能够检查一次性随机数N的一致性。如果验证通过,则双向认证结束,MS与VLR之间的秘密信道就建立了。

3) HOA协议

在VLR和MS通过HLR的帮助建立双向认证之后,有一个可选的HOA阶段。在此阶段, HLR是离线的,MS一直逗留在VLR中。此时,通过公共信息和协议EMA中获得的值,VLR具有独立认证 MS 的能力。 假设MS想登录到VLR,它选择随机数k′, N′∈RZp*, 计算R′=kT,s′=σ-kh(∏(R′)‖N′), 并将

h(IDMmw), R′, s′, IDH, N′ (10)

发送给VLR。在验证了ck的过期时间后VLR利用等式

h(IDMmw)T=Γ+sT+h(∏(Γ))Y+h(∏(R′)‖N′)R

检查h(IDMmw), R′, s′, IDH, N′的一致性。如果通过, VLR相信MS是真实的。 随着认证的成功,一个新的会话密钥sk′在VLR和MS之间建立起来:sk′=h(IDV, ck, ts, Texp, N′),该密钥可用于将来的秘密通信。

以上即为对文献[5,6]方案的改进。显然我们的改进方案保持了EMAS的高效性,下一节将分析其安全性。

4 安全性分析

由于使用了与EMAS相似的结构, 可以类似于文献[5,6]中的分析,我们的改进方案也保持了在抵抗DoS 攻击、消息重定向攻击等方面的安全性。下面主要关注匿名性和安全密钥更新能力。

由于 VLR 只知道 MS身份的哈希值,基于哈希函数的密码性质它不会获得关于IDMmw的信息。而信道上的窃听者不会比VLR有更多的能力, 它也不能恢复IDMmw。因此,我们的改进方案能够提供MS身份保护功能。

此外,每次 VLR 认证 MS后, 它们之间共享的会话密钥就会更新,并且仅用于将要进行的通信。得到一次性随机数的任何窃听者无法获得新的会话密钥,因为它不知道秘密值ck。因此,改进方案也具有安全密钥更新功能。

事实上,我们的密钥更新机制具有后向保密性,也就是说,知道一段连续时间会话密钥的被动攻击者不会获得将来的会话密钥。比如,假设攻击者知道会话密钥ski-1和ski及一次性随机数Ni+1, 想要计算ski+1。由于知道ski-1和ski不会帮助它计算ck,因此攻击者还是无法获得将来的会话密钥。

5 结 语

本文提出了一个适用于移动通信环境下的认证机制,其优点包括:(1) 低计算量和通信带宽适合低计算能力的移动设备;(2) 基于一次性随机数的方案,不存在时间同步问题;(3) VLR 和MS 可以彼此认证;(4) MS的身份信息受到保护;(5) HLR不需要维护动态注册表;(6) HLR可以很容易地撤销过期授权证书;(7) 使用VLR和MS一起协商出来的会话密钥;(8) VLR和MS可以自由更新它们的会话密钥;(9) 提供后向保密性。

本文的方法延续了文献[5,6]的做法,即基于信任授权机制设计认证方案。以后的研究工作将关注如何基于信任授权机制设计适用于无线网络环境下的同时具有不可链接性和匿名性的高效认证方案。这里,匿名性要求只有 HLR知道MS的身份, 而任何其它第三方做不到这一点。不可链接性要求任何攻击者 (包括恶意的VLR) 都不能将MS链接到之前的会话脚本。换句话说,攻击者不能以不可忽略的概率区分它是否看过同一个MS两次。显然,不可区分性是对匿名性的有益补充。在不牺牲效率的前提下利用信任授权机制设计这样的认证方案是一个有挑战性的工作。

参考文献

[1] Molva R,Samfat D,Tsudik G.Authentication of mobile users[J].IEEE Network,1994,8(2):26-34.

[2] Samfat D,Molva R,Asokan N.Untraceability in mobile networks[C]//Proc. International Conference on Mobile Computing and Networking, 1995:26-36.

[3] He Q,Wu D,Khosla P.Quest for personal control over mobile location privacy[J]. IEEE Commun. Mag.,2004,42(5):130-136.

[4] Lee W,Yeh C.A new delegation-based authentication protocol for use in portable communication systems[J].IEEE Transactions on Wireless Communications,2005,4(1):57-64.

[5] Tang C,Wu D.An Efficient Mobile Authentication Scheme for Wireless Networks[J].IEEE Transactions on Wireless Communications,2008,7(4):1408-1416.

[6] Tang C,Wu D.Mobile Privacy in Wireless Networks-Revisited[J].IEEE Transactions on Wireless Communications,2008,7(3):1035-1042.

[7]Zhang M,Fang Y.Security analysis and enhancements of3GPP authen-tication and key agreement protocol[J].IEEE Transactions on Wireless Communications,2005,4(2):734-742.

[8] TS 33.102. Security architecture, version 4.2.0, release 4[S].Third Generation Partnership Project-Technical Specification Group, 2001.

[9]TR33.902.Formal analysis of the3G authentication protocol[S].Third Generation Partnership Project-Authentication and Key Agree-ment(AKA),2000.

网络协议分析与应用 篇10

关键词:仿真技术,网络协议实验教学,高校

网络协议是计算机专业学习的重要部分, 是网络环境发展中重要的协议体系, 由于其相关概念和理论非常抽象, 所以传统教学中学生的理解难度较大, 将计算机仿真技术应用于高校网络协议实验教学, 可以直观地展示网络协议的内涵、工作原理等内容, 为学生提供观察、参与网络传输行为的机会等, 不仅减轻了学生的理解难度, 而且教师的教学压力也可以得到缓解。

1 构建高校网络协议模拟仿真教学系统

现阶段计算机仿真技术在高校网络协议实验教学中的应用主要表现为高校构建了网络协议模拟仿真教学系统, 在教学中应用此系统, 要求2个学生为1组, 分别负责仿真机和监测机, 负责仿真机的学生将个人编辑的网络数据帧利用仿真软件向对方发送, 在发送行为所引发的网络活动中生成网络数据帧序列, 而负责监测机的学生通过观察设备中网络协议分析软件对另一个同学所生成的数据帧序列的捕捉和分析, 可以对网络数据层次关系和协议产生直观的理解[1]。高校网络协议模拟仿真教学系统主要由以下3分部分构成。

1.1 网络协议仿真编辑器

此结构主要由可实现对数据包编辑、修改的数据包编辑器, 能够将编辑好的数据包传输至网络的数据包发送器和为仿真编辑器与主控设备提供应用层通信渠道的TCP连接客户端工具3个部分构成。在此过程中, 利用计算机仿真技术实现教学系统的网络仿真, 可以将学生在仿真机上的编辑、发送等操作程序的网络反映仿真, 使网络运行能够在真实网络环境中生成网络数据帧序列, 并通过对触发行为进行仿真, 使学生编辑的网络数据帧能够仿真触发网络行为[2]。在回放行为仿真的作用下, 网络行为全过程的数据帧都可以实现仿真传送, 使网络协议得到全面、直观、迅速的展现。通过上述分析可以发现, 负责仿真机的学生数据包的编辑灵活性较强, 并未受到严格的约束, 这在一定程度上有利于学生对网络协议知识的全面了解和自主运用, 这也体现了现代高校的互动式教学思想。

1.2 网络协议分析器

此结构的主要功能是在接收网络数据包的同时对其包含的各层协议进行分析, 以达到帮助学生理解网络协议的教学目的。在教学中为简化教学过程, 要求网络协议分析器自身具有捕捉过滤功能, 学生能够根据学习的内容, 有意识地对IP地址等网络协议数据包进行过滤, 使分析的结果更加具有针对性[3]。网络协议分析器主要对主机运行状况、协议和会话进行分析, 由于网络协议实验教学主要针对协议和会话, 所以网络协议分析器的重点也设置在这2个方面, 协议解析会通过概要解码、详细解码和原始数据3个窗口向学生展示, 而且可以结合学生的学习需要对协议进行动态跟踪的显示, 使学生对协议的理解更加全面、真实, 而会话分析可以使学生对每次会话所涉及的全过程系统地把握, 如数据包端口信息变化、捕捉行为等。

1.3 数据采集器

数据采集器能够使监测机全面地捕捉网络数据帧序列, 其主要依靠单机检测或全网检测手段实现, 2种方法可直接通过切换开关进行转换, 数据采集器能够保证网络协议模拟仿真系统的全面性和准确性[4]。

2 计算机仿真技术在高校网络协议实验教学中的应用实例分析

网络协议种类多, 抽象性强, 例如地址解析协议、网际协议、用户数据报协议、传输控制协议等, 学生的理解难度非常大, 网络协议方针教学系统的构建能够结合高校计算机教学的实际情况将网络协议的理论知识以直观、可操作的软件进行展现。例如, 基础协议实验中应用网络协议模拟仿真教学系统, 要达到帮助学生理解网络协议、观察和评价网络性能指标的教学目的, 教师只要将仿真源代码的核心部分指给学生, 学生就能够结合教师的引导修改TCL脚本, 并将修改后的脚本试运行, 而在此过程中网络协议的运行过程可以被仿真编辑器和协议分析器以动画的形式直观地向学生展示, 学生通过对各项性能指标数值变化的观察, 可以自行总结出仿真结果, 对网络协议和算法产生更加全面的认识, 掌握以太网基本协议的构成以及静态路由和动态路由的使用差异, 进而对动态路由的路由信息更新、被动式和主动式队列管理机制、传送速率的影响因素、缩减隐藏站点发生概率等方面产生更加直观、准确的认识。除基础协议实验外, 网络协议模拟仿真教学系统还可以应用于网络攻防实验、网络故障实验、综合型实验中, 对直观教学、互动教学的落实起到重要的作用, 现阶段高校在不断完善和扩大网络协议模拟仿真教学系统的应用范围。

3 计算机仿真技术在高校网络协议实验教学中应用效果

3.1 有利于将学习的主体地位还给学生

高校在教学中应用网络协议模拟仿真教学系统, 强调学习小组成员之间的配合和学生的自主观察, 学生在学习中的地位由传统教学中的被动听授, 强行记忆, 转向自主探究、总结, 是发现问题、解决问题的主要实施者, 教师从传统的教学主体转化为教学引导。由此可见, 学生的学习地位在应用此系统的过程中发生了明显的变化, 这有利于调动学生的学习积极性。学生在实际参与软件操作的过程中对网络协议抽象化的知识点的掌握程度得到增强, 使学生对网络内部结构和协议的理解更加清晰, 在编辑数据包的过程中对计算机内部原理的了解得到丰富, 网络编程调试的能力得到提升, 学生的自主性、设计性和创新性能力都会得到锻炼, 与此同时, 教师的教学压力也得到有效的缓解。

3.2 有利于提升高校网络协议教学水平

首先, 应用网络协议模拟仿真教学系统要求学生对计算机知识点准确理解, 这有利于学生对计算机知识点的强化吸收;其次, 学生在学习网络协议知识的同时动手能力也得到锻炼, 使学生对网络管理的认识更加全面, 这是计算机专业教学的重要方面;再次, 此系统在应用和不断优化的过程中, 可以实现对教学过程、模式、资源的优化配置, 这也在一定程度上对提升教学质量、缩减教学成本具有不可忽视的作用[5]。

3.3 有利于学生形成正确的合作认知

通过对网络协议模拟仿真教学系统的教学原理的阐述可以发现, 其要求以小组的形式完成教学、学习过程, 所以学生在自主学习的同时对团队合作产生更加全面的认知, 这有利于学生合作意识的形成, 合作意识在学生未来职业生涯中具有不可忽视的作用。

4 结语

通过上述分析可以发现, 现阶段高校具备将计算机仿真技术应用于网络协议实验教学中的条件, 通过构建并应用高校网络协议模拟仿真教学系统使学生对网络协议知识的学习热情得到调动, 学生用网络协议理论知识指导实践的能力得到提升, 可见, 应积极推广在高校网络协议实验教学中应用计算机仿真技术。

参考文献

[1]刘智勇, 邢敏.计算机仿真技术在网络协议实验教学中的应用[J].吉林工程技术师范学院学报, 2008 (12) :94-96.

[2]刘勇.“计算机网络实验课程”仿真系统平台的研究与设计[D].兰州:兰州理工大学, 2013.

[3]张宁.计算机网络课程实验教学的研究和实现[D].乌鲁木齐:新疆师范大学, 2014.

[4]杜镇.基于虚拟化的计算机网络实验平台的研究与实现[D].长沙:中南大学, 2014.

上一篇:建设初中数学高效课堂下一篇:犯罪界定