第一篇:FC和iSCSI协议分析比较论文
摘要 FC和iSCSI是目前存储区域网络SAN(Storage Area Network)的两个主流协议。该文介绍FC(Fibre Channel:光纤通道)和iSCSI(Internet SCSI)协议的协议结构以及流量控制和发现机制,在零复制和流量控制等方面对FC 和iSCSI的协议功能进行了分析比较。关键词 存储区域网络;FC;iSCSI;零复制。1 引言 SAN是一种专用网络,是网络服务器群的后端,可采用光纤通道或iSCSI等存储专用协议连接成高速专用网络,使网络服务器与多种存储设备直接连接。SAN的最大特点就是可以实现网络服务器与存储设备之间的多对多连接,而且,这种连接是本地的高速连接。SAN架构的优势在于,强大的扩展性、多种存储设备的集中和新架构支撑下的新型数据应用方式,在安全意义下负责可持续的存储和数据传输。目前,FC和iSCSI是应用于存储区域网吉比特速率的两种主要技术。2 FC协议分析 2。1 FC协议结构 光纤通道按协议层进行分层,各层之间技术相互独立,留有增长空间,并且由被认可的标准化机构进行开发,分层结构共分5层,如图1所示。图1 FC协议层次 ⑴ C-0(物理层底层): FC-0层定义了连接的物理端口特性,包括介质和连接器(驱动器、接收机、发送机等)的物理特性、电气特性和光特性、传输速率以及其它的一些连接端口特性。⑵ FC-1(传输协议): 规定了8B/10B编码方式和传输协议.包括串行编码、解码规则、特殊字符和错误控制。⑶ C-2(帧协议): 规定了具体的传输机制,包括帧格式,节点间的信息交换。⑷ C-3(公共服务): 提供高级特性的公共服务,即端口间的结构协议和流动控制,它定义了三种服务:条块化(Striping)、搜索组(Hunt Group)和多路播放(Broadcast Multicast)。⑸ FC-4(ULp映射): 定义了Fibre Channel和Ip,SCSI-3以及其他的上层协议(ULp)之间的接口。2.2 FC流量控制 FC中的流量控制机制是在信用度系统上的基础上。所谓的信用度(Credit)是指设备接受额外帧的能力。信用度的多少决定了设备接收额外帧能力的大小。如果接受方没有向发送方发出任何的信用度,那么发送方就不能发送任何帧,在信用度的基础上协调帧传送,可以避免帧的丢失,同时减少了对整个帧序列进行重传的频率。实际上,这种基于信用度的机制建立在终端节点能够提供的缓冲区(TX-Buffer和RX-Buffer)的数目上,这些缓冲区用于存储到来的数据流。例如,拥有板上存储器的主机总线适配器,可能被分派作为接受缓冲区,成为FC-1解串和译码功能,以及FC-2的帧重新装配功能之间的接口。当FC-1来提交帧的时候,这种接受缓冲区被充满;当FC-2的装配线取出各个帧进行数据块的重建时,这种接受缓冲区被清空。为了充分的利用FC的传输能力,最好能够连续的多发出多个帧。这一点在事务开始前由授权充分信用度来实现,同时利用FC的全双工能力在帧还未接受时就发出附加的信用度。FC中常用的两种是端到端(EE-Credit)和缓冲区到缓冲区(BB-Credit)的流量控制。
端到端的流量控制机制(EE-Credit)是在两个终端节点之间使用的流量控制。在两个通信节点登录并交换通信参数时候,建立起传输信用度,并且由节点本身来监测。中间的交换机不参与端到端流量控制。如图2所示 图2 FC基于信用的流量控制 一旦一个初始的信用度等级授权后,如果要补充信用度的话,要由接受方向发送出应答(ACK)来实现。每发出一个帧发送方就消耗了一个端到端的信用度(EE-Credit),只有当其接收到一个ACK后才能增加信用度。光纤通道中还定义使用BB-Credit的流量控制机制(缓冲区到缓冲区的信用度),并且依靠receive-ready(R-RDY)有序集补充信用度,如图2所示。某个附接到交换机的终端接点将在登录到交换机的过程中建立它的BB-Credit。在交换机远端参与通信的一方将在登录时建立其自身交换机的BB-Credit。BB-Credit没有端到端的成分。发送方在发出一个帧时将BB-Credit减1,直到BB-Credit的数量为零的时候.此时不能再进行帧发送。在接收到R-RDY时将BB-Credit加1。BB-Credit的初始值必须是非零的。如果为零的话,说明不能再接收或者发送帧。2.3 FC发现机制 在FC中,当一个新的设备加入到网络中时,它要与它的网络的管理者(一般是交换机)取得联系,网络管理者便会依次告知所有那些已经注册过的和那些需要被通知这一事件的设备。此外,在FC中,由于为了增强网络的灵活性和安全性,有时可能需要进行分区。当一个新的设备加入到网络中的时候,该设备首先与它同在一个分区的其它现有设备完成注册,然后连接这个设备的交换机会把这一事件告知其他的分区的设备和其它的交换机。图3 FC发现机制
如图3所示,如果当A区的节点A加入网络时,它先与FC交换机取得联系,那么FC交换机将把A节点加入网络的这一信息先后分别告知节点B和节点C以及B区的节点D和节点E。至此,A节点就加入到网络中,可以与A区与B区中的设备进行通信。3 iSCSI协议分析 3.1 iSCSI协议结构 如同任何一个协议一样,iSCSI也有一个清晰的层次结构,根据OSI模型,iSCSI的协议栈自顶向下一共可以分为五层,如图4所示: 图4 iSCSI协议分层模型.SCSI层:根据应用发出的请求建立SCSI CDB(命令描述块),并传给iSCSI层;同时接受来自iSCSI层的CDB,并向应用返回数据。.iSCSI层:对SCSI CDB进行封装,以便能够在基于TCp/Ip协议的网络上进行传输,完成SCSI到TCp/Ip的协议映射。这一层是iSCSI协议的核心层。.TCp层:提供端到端的透明可靠传输。.Ip层:对Ip报文进行路由和转发。.Link层:提供点到点的无差错传输 3.2 iSCSI 流量控制与超时重发 流量控制是指发送方控制发送数据帧到网络的速率。发送方发送的速率—般是传送路径上的交换机、路由器或接收方可用的缓冲区大小的函数。iSCSI则采用TCp/lp协议的端到端的流量控制机制,以可变发送窗口的方式进行流量控制。发送窗口在连接建立时由双方面定,但在通信过程中,接收方可根据自己的资源使用情况,随时动态地调整自已的接收窗口(可增大或减小),然后告诉对方,使发送方的发送窗口和自己的接收窗口一致。iSCSI采用的是TCp的自适应超时重发算法,可根据网络的情况动态调整。这种算法记录每一个报文段发出的时间以及收到相应的确认报文段的时间,这两个时间之差就是报文段的往返时延RTT,当发送—个数据段时,启动相应的定时器,如果定时器超时确认报文段还没有到达,就触发数据配发机制。如果超时之前得到确认,就记录新的往返时延,将各个报文段的往返时延样本进行加权平均得到新的报文段的平均往返时延RTT,显然定时器设置的重发时间应大于平均的往返时延RTT。在实际应用中,RTT的算法还很复杂,目前一般采用的是Karm算法。3.3 iSCSI发现机制 iSCSI发起端为了和iSCSI目标端建立iSCSI会话,iSCSI需要知道ISCSI目标端的Ip地址,TCp端口号和名字三个信息。iSCSI发现的目的是为了让iSCSI发起端获取一条到iSCSI目标端的通路。iSCSI有三种发现机制: ⑴ 静态配置:在iSCSI发起端已经知道iSCSI目标端的Ip地址TCp端口号和名字信息时,iSCSI发起端不需要执行发现。iSCSI发起端直接通过Ip地址和TCp端口来建立TCp连接,使用iSCSI目标端的名字来建立iSCSI会话。这种发现机制比较适合比较小的iSCSI体系结构 ⑵ SendTarget发现:在iSCSI发起端知道iSCSI目标端的Ip地址和TCp端口的情况下,iSCSI使用Ip地址和TCp端口号建立TCp连接后建立发现对话。iSCSI发起端发送SendTarget命令查询网络中的存在的iSCSI信息。这种方法主要用于网关设备,iSCSI发起端被静态配置连接到指定的iSCSI设备。iSCSI发起端和iSCSI网关设备建立对话并发送SendTarget请求给iSCSI网关设备。iSCSI网关设备返回一系列和它相连的ISCSI目标端的信息。iSCSI发起端选择一个目标端来建立对话。⑶ 零配置发现:这种机制用于iSCSI发送设备完全不知道ISCSI目标端的信息的情况下。iSCSI发起端利用现有的Ip网络协议SLp(Service Location protocol for Discovery,服务定位协议)。iSCSI目标端使用SLp来注册,iSCSI发起端可以通过查询SLp代理来获得注册的iSCSI目标端的信息。当iSCSI目标端加入到网络中的时候,拓扑结构也随之改变。虽然这种方法增加了实现的复杂性,但它不需要重新配置发起端即可找到新的目标端。4 FC 与iSCSI协议的比较 本文主要从下面几个方面对两个协议进行比较: 4.1 流量控制机制对网络的适应性 FC采用基于信用的流量控制机制,当接受者有足够的缓存接受发信者的数据时,接受者把Credit(信用度)分配给发信者。它根据发送者的请求分配Credit,仅当发送者没有用完它的Credit时,它才可以发送数据。在MAN/WAN中,发送者必须要等待很长时间来获得接受者的确认消息(以向网络发送新的数据)。这种基于信任的流量控制机制降低了网络的利用率。iSCSI是基于窗口的发送机制,由于发送方可以根据网络的拥塞情况动态地调整发送速率,因此iSCSI的流量控制机制对网络的适应性更好,尤其在网络传输延迟较大的网络中。4.2 超时重发机制的灵活性 在TCp/Ip协议中,TCp使用自适应重传算法以适应互连网络时延的变化。它的要点是:TCp监视每一条连接的性能,并计算出报文的往返时间RTT(Round Trip Time)。当连接的性能变化时,TCp随即修改RTT(也就是说它能自动适应时延的变化)。RTT(Round Trip Time)被发送方用来决定是否重传报文。而Fibre Channe]使用的是静态的超时重发机制,不会根据网络的情况动态地加以改变,因此发送方可能过早或过迟地出现超时,这对改善网络的综合性能不利。相对而言,iSCSI可以动态地自适应于网络的当的情况,可以改善网络的综合性能,从这个角度看,iSCSI应该优于Fibre Channel,更加适合目前的网络情况 4.3 CpU对数据封装的负担大小 在存储环境中,发出的块I/0请求的大小一般介于4K到64K之间。以8K的块I/0请求为例,已经知道在iSCSI中以太网帧的大小是1.5K,在FC中,FC的帧大小是2K。因此8K的块I/O请求必须被分成多个小的段,以适应不同的传输帧大小。在FC中,分段和重组操作是在网卡中实现的,因此减轻了主机CpU的负担。对于iSCSI协议,由于分段与重装是有CpU来完成的,因此增加了CpU的负担。4.4 是否能保证数据安全传送 在安全性方面,因为iSCSI的一个设计标准是它在不受信任的广域环境中的使用,iSCSI规范允许使用多种安全方法。位于iSCSI层下的加密方案(例如,Ipsec),不需要在iSCSI端设备之间进行协商,它们对于高层应用程序来说是透明的。对于其他的认证实现(如,KERBEROS或者公钥/私钥的交换),iSCSI登录过程为两个端设备协商两者都支持的安全类型提供了文本字段。如果协商成功,iSCSI设备之间的pDU交换将由所使用的安全程序根据适当的安全确认需求而被格式化。iSNS(Internet Storage Name Server)服务器也可以协助此过程(如作为公钥的仓库)。光纤通道是工作在第二层的协议,原本并没有建立相应的安全机制以及安全通用协议,只不过是基于逻辑上的数据通道绑定。5 结束语 对于传统的基于LAN的SAN来说,FC是比iSCSI更好的网络互连协议,因为FC的零复制和分段组装机制大大地减轻了CpU的负担,加快了数据的处理。但是,随着存储应用的增长,存储网络往往需要跨越很远的距离,由于在流量拥塞控制机制、发现和地址机制、超时重发机制、安全机制等方面的优势,iSCSI比FC更适合这种情况。参考文献: [1] iSCSI protocol Concepts and Implementation。Cisio Systems Inc。,2001。[2] 罗金平,汪东,方兴 等译TOM Clark。Ip SAN权威指南:存储区域网络中的iSCSI,iFCp和FCIp协议[M]。北京:中国电力出版社,2003 [3] iSCSI Review[EB/OL ].http://www.xiexiebang.com/ittouch/020716/9.htm,2002-04-08.
第二篇:网络协议分析选修论文
网络协议分析选修论文
姓名:杨道元班级:网络技术081301学号:082103130140
一、IP协议
1、IP协议简介
IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守 IP协议就可以与因特网互连互通。正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。因此,IP协议也可以叫做“因特网协议”。通俗的讲:IP地址也可以称为互联网地址或Internet地址。是用来唯一标识互联网上计算机的逻辑地址。每台连网计算机都依靠IP地址来标识自己。就很类似于我们的电话号码样的。通过电话号码来找到相应的使用电话的客户的实际地址。全世界的电话号码都是唯一的。IP地址也是一样。
2、IP地址(IP v4)
所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP(Transport Control Protocol/Internet Protocol,传输控制协议/Internet协议)协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“******01”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。
有人会以为,一台计算机只能有一个IP地址,这种观点是错误的。我们可以指定一台计算机具有多个IP地址,因此在访问互联网时,不要以为一个IP地址就是一台计算机;另外,通过特定的技术,也可以使多台服务器共用一个IP地址,这些服务器在用户看起来就像一台主机似的。
将IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。网络号的位数直接决定了可以分配的网络数(计算方法2^网络号位数);主机号的位数则决定了网络中最大的主机数(计算方法2^主机号位数-2)。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明的选择了一种灵活的方案:将IP地址空间划分成不同的类别,每一类具有不同的网络号位数和主机号位数。
IP地址是IP网络中数据传输的依据,它标识了IP网络中的一个连接,一台主机可以有多个IP地址。IP分组中的IP地址在网络传输中是保持不变的。
3、IPV6发展及其特点
IPv6是“Internet Protocol Version 6”的缩写,也被称作下一代互联网协议,它是由IETF小组(Internet工程任务组Internet Engineering Task Force)设计的用来替代现行的IPv4(现行的IP)协议的一种新的IP协议。
我们知道,Internet的主机都有一个唯一的IP地址,IP地址用一个32位二进制的数表示一个主机号码,但32位地址资源有限,已经不能满足用户的需求了,因此Internet研究组织发布新的主机标识方法,即IPv6。在RFC1884中(RFC是Request for Comments Document的缩写。RFC实际上就是Internet有关服务的一些标准),规定的标准语法建议把IPv6地址的128位(16个字节)写成8个16位的无符号整数,每个整数用四个十六进制位表示,这些数之间用冒号(:)分开,例如:3ffe:3201:1401:1280:c8ff:fe4d:db39
二、TCP协议
1、TCP简介
2、TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transpor
t layer)通信协议,由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。
在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK); 如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
首先,TCP建立连接之后,通信双方都同时可以进行数据的传输,其次,他是全双工的;在保证可靠性上,采用超时重传和捎带确认机制。
在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。
在拥塞控制上,采用慢启动算法。
2、TCP所支持的服务类型
不管怎样,TCP/IP是一个协议集。为应用提供一些“低级”功能,这些包括IP、TCP、UDP。其它是执行特定任务的应用协议,如计算机间传送文件、发送电子邮件、或找出谁注册到另外一台计算机。因此, 最重要的“商业”TCP/IP服务有:
* 文件传送File Transfer。
文件传送协议FTP(File Transfer Protocol)允许用户从一台计算机到另一台取得文件,或发送文件到另外一台计算机。从安全性方面考虑,需要用户指定一个使用其它计算机的用户名和口令。它不同与NFS(Network File System)和Netbios协议。一旦你要访问另一台 系统中的文件,任何时刻都要运行FTP。而且你只能拷贝文件到自己的机器中去来使用它。(RFC 959中关于FTP的说明)
* 远程登录Remote login
网络终端协议TELNET允许用户登录到网络上任一计算机上。你可启动一个远程进程连接到指定的计算机,直到进程结束,期间你所键入的内容被送到所指定的计算机。值得注意的是,这时你实际上是与你的计算机进行对话。TELENET程序使得你的计算机在整个过程中不见了,所敲的每一个字符直接送到所登录的计算机系统。一般的说,这种远程连接是通过类式拨号连接的,也就是,拨通后,远程系统提示你输入注册名和口令,退出远程系统,TELNET程序也就退出,你又与自己的计算机对话了。微电脑中的TELNET工具一般含有一个终端仿真程序。
* 计算机邮件Mail
允许你发送消息给其它计算机的用户。通常,人们趋向于使用指定的一台或两台计算机。计算机邮件系统只需你简单地往另一用户的邮件文件中添加信息,但随之产生问题,使用的微电脑的环境不同,还有重要的是宏(MACRO)不适合于接受计算机邮件。为了发送电子邮件,邮件软件希望连接到目的计算机,如果是微电脑,也许它已关机,或者正在运行另一个应用程序呢?出于这种原因,通常由一个较大的系统来处理这些邮件,也就是一个一直运行着的邮件服务器。邮件软件成为用户从邮件服务器取回邮件的一个界面。
任何一个的TCP/IP工具提供上述这些服务。这些传统的应用功能在基于TCP/IP的网络中一直扮演非常重要的角色。目前情况有点变化,这些功能使用也发生变化,如老系统的改造,计算机的发展等,出现了各种安装版本,如:微电脑、工作站、小型机、和巨型机等。这些计算机好像在一起完成指定的任务,尽管有时看来像是只用到某个指定 的计算机,但它是通过网络得到其它计算机系统的服务。服务器Server是为网络上其它提供指定服务的系统,客户Client是得到这种服务的另外计算机系统。(值得注意的是,服务/客户机不一定是不同的计算机,有可能是同一计算机中的不同运行程序)。以下是几种目前计算机上典型的一些服务,这些服务可在TCP/IP网络上调用。* 网络文件系统(NFS)
这种访问另一计算机的文件的方法非常接近于流行的FTP。网络文件系统提供磁盘或设备服务,而无需特定的网络实用程序来访问另一系统的文件。可以简单地认为它是一个外加的磁盘驱动器。这种额外“虚拟”磁盘驱动器就是其它计算机系统的磁盘。这非常有用。你只需加大几台计算机的磁盘容量,就可使网络上其他用户访问它,且不说所带来的经济效益,它还能够让几台工作的计算机共享相同的文件。它也使得系统维护和备份易如反掌,因为再不必为大量的不同机器上 的文件的升级和备份而担心。
* 远程打印(Remote printing)
允许你使用其它计算机上的打印机,好像这些打印机直接连到你的计算机上。* 远程执行(Remote execution)
允许你请求运行在不同计算机上的特殊程序。当你在一个很小的计算机上运行一个需要大机系统资源的程序时,这时候远程执行非常有用。
* 名字服务器(Name servers)
在一个大的系统安装过程中,需要用到大量的各种名字,包括用户名、口令,姓名、网络地址、帐号等,管理这些是非常令人乏味的。因此将这些数据形成数据库,放到一个小系统中去,其它系统通过网络来访问这些数据。
* 终端服务器(Terminal servers)
很多的终端连接安装不再直接将终端连到计算机,取而代之的是,将他们连接到终端服务器上。终端服务器是一个小的计算机,它只需知道怎样运行TELNET(或其它一些完成远程登录的协议)。如果你的终端想连上去,只用键入要连的计算机名就可。通常有可能同时有几个这种连接,这时终端服务器采用快速开关技术来切换。
上述所描述的一些协议是由Berkeley, Sun,或其它组织定义的。因此,它们不是互联网协议集(Internet Protocol Suite)的一部分, 只是使用到TCP/IP的工具,如同一般的TCP/IP 应用协议。因为协议的定义不一致,并且商业支持的TCP/IP工具广泛应用,也许会把这些协议作为互联协议集中的一部分。上述列出的只是基于TCP/IP部分服务的一些简单例子,但包含了一些“主要”的应用。
TCP功能:提供计算机程序间连接、检测和丢弃重复的分组、完成数据报的确认、流量控制和网络拥塞。
三、其他常见协议
IPX/SPX是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序包协议)协议,它们都是由novell公司开发出来应用于局域网的一种高速协议。它和TCP/IP的一个显著不同就是它不使用ip 地址,而是使用网卡的物理地址即(MAC)地址。在实际使用中,它基本不需要什么设置,装上就可以使用了。由于其在网络普及初期发挥了巨大的作用,所以得到了很多厂商的支持,包括microsoft等,到现在很多软件和硬件也均支持这种协议。
NetBEUI即NetBios Enhanced User Interface,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。总之NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”传送数据。所以建议除了TCP/IP协议之外,局域网的计算机最好也安上NetBEUI协议。另外还有一点要注意,如果一台只装了TCP/IP协议的WINDOWS98机器要想加入到WINNT域,也必须安装NetBEUI协议。
第三篇:无线局域网入侵检测协议分析论文
无线局域网入侵检测系统的研究
【摘要】 自从20世纪90年代出现无线局域网以来,由于WLAN具有多方面的优点,令其发展十分迅速,但在无线局域网蓬勃发展的同时,安全问题也越来越突出。本文先介绍了无线局域网的特点、IEEE802.11系列协议标准以及无线局域网中的固有漏洞,然后又介绍了常见的入侵方式,其次系统的介绍了入侵检测的概念、基本原理、工作模式、分类及发展趋势,并阐述了各种局域网入侵检测系统的关键技术,并通过分析比较得出:无线局域网入侵检测系统在设计上有别于有线入侵检测系统。本文在深入分析了无线局域网技术以及常见入侵检测技术的基础上,针对无线局域网络的特点,提出了一个将协议分析和模式匹配相结合的无线入侵检测系统模型。模式匹配算法具有快速简单的优点,在实际应用中最为广泛,但计算量大,检测准确性低,通过改进模式匹配算法,取得了较好的结果。协议分析技术可以利用网络协议的高度规则性快速探测攻击的存在,通过层次化、格式化的无线网络报文逐层分析,可提高检测效率,并有效控制漏报率和误报率。最后提出了该系统的框架和主要的流程步骤,对其中的关键模块进行了详细设计。该系统利用Winpcap函数库对无线传输数据进行捕获,然后利用解码模块对捕获到...更多还原
【Abstract】 Wireless local area network has developed very rapidly since the 1990s for it’s many advantages, and at the same time, the security problem has become more and more remarkable.This paper firstly describes the characteristics of WLAN, protocol standards of IEEE802.11 series and the inherent vulnerability in the WLAN, then presents the common intrusion method, and at last, introduces the concept of intrusion detection, basic principles, work patterns, classification and trends, systematically.At...更多还原
【关键词】 无线局域网; 入侵检测; 协议分析;
【Key words】 wireless LAN; intrusion detection; protocol analysis;
【索购全文】Q联系Q:138113721 Q联系Q: 139938848付费即发
目录 摘要 3-4 ABSTRACT 4-5 第一章 绪论 8-11
1.1 研究背景 8
1.2 无线入侵检测技术研究现状 8-10
1.3 本文主要研究内容和结构 10-11 第二章 WLAN概述 11-18
2.1 WLAN标准 11-13
2.1.1 IEEE 802.11 11
2.1.2 IEEE 802.11b 11-12
2.1.3 IEEE 802.11a 12
2.1.4 IEEE 802.11g 12
2.1.5 IEEE 802.11i 12
2.1.6 IEEE 802.11n 12-13
2.2 WLAN的组成 13-14
2.3 WLAN组网方式 14-15
2.4 IEEE802.11协议分析 15-17
2.5 本章小结 17-18
第三章 无线局域网入侵检测系统 18-28
3.1 无线局域网安全技术 18-19
3.1.1 MAC地址过滤和服务区标识符(SSID)匹配 18
3.1.2 WEP协议 18
3.1.3 WPA技术 18-19
3.1.4 802.11i协议 19
3.2 WLAN常见的入侵方式 19-21
3.2.1 网络窃听 19
3.2.2 假冒身份 19-20
3.2.3 拒绝服务攻击 20
3.2.4 SSID猜解与诱骗 20
3.2.5 中间人攻击 20-21
3.2.6 异常报文攻击 21
3.2.7 重放攻击 21
3.3 入侵检测的概念 21-22
3.4 入侵检测技术 22-27
3.4.1 入侵检测的发展 22
3.4.2 入侵检测的分类 22-27
3.5 本章小结 27-28
第四章 基于协议分析的入侵检测系统设计 28-52
4.1 模式匹配与协议分析结合的入侵检测方法 28-29
4.2 基于协议分析技术的检测过程 29-31
4.2.1 协议分析树的构建 30-31
4.3 基于协议分析技术的入侵检测体系结构 31-32
4.4 检测代理关键模块设计 32-49
4.4.1 数据捕获模块 33-37
4.4.2 预检测模块 37-38
4.4.3 解码模块 38-42
4.4.4 规则解析模块 42-43
4.4.5 协议分析模块 43-44
4.4.6 模式匹配算法 44-47
4.4.7 改进的BM算法 47-49
4.5 对常见攻击的检测效果分析 49-51
4.5.1 IP 攻击 49-50
4.5.2 ICMP 攻击 50
4.5.3 其他攻击 50-51
4.6 本章小结 51-52 结论 52-53 参考文献
第四篇:协议分析1
8.1.2SMTP协议介绍简单邮件传送协议(SMTP)是Internet电子邮件系统首要的应用层协议。它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。SMTP协议服务的默认端口是25。SMTP协议与人们用于面对面交互的礼仪之间有很多相似之处。首先,运行在发送端邮件服务器主机上的SMTP客户,发起建立一个到运行在接收端邮件服务器主机上的SMTP服务器端口号25之间的TCP连接。如果接收邮件服务器当前不在工作,SMTP客户就等待一段时间后再尝试建立该连接。这个连接建立之后,SMTP客户和服务器先执行一些应用层握手操作。就像人们在转手东西之前往往先自我介绍那样,SMTP客户和服务器也在传送信息之前先自我介绍一下。在这个SMTP握手阶段,SMTP客户向服务器分别指出发信人和收信人的电子邮件地址。彼此自我介绍完毕之后,客户发出邮件消息。SMTP可以指望由TCP提供的可靠数据传输服务把该消息无错地传送到服务器。如果客户还有其他邮件消息需发送到同一个服务器,它就在同一个TCP连接上重复上述过程;否则,它就指示TCP关闭该连接。让我们看一个客户(C)和服务器(S)交互的例子。前面标以“C:”的文本行是名为Mike的客户端发送的请求,Mike想给Rose发送一封“I love you”的电子邮件情书,前面标以“S:”的是cesoo.com服务器的回应。以下传输内容在TCP连接建立之后马上发生。S:220 cesoo.comC:HELOS:250 Hello Mike,pleased to meet youC:MAIL FROM: Mike@cesoo.comS:250 Mike@cesoo.com...Sender OKC:RCPT TO: rose@cesoo.comS:250 rose@cesoo.com...Recipient OKC:DATAS:354 Enter mail,end with.on a line by its selfC: I love you, RoseC:.S:250 Message accepted for deliveryC:QUITS:221 cesoo.com closing connection觉得难以置信么?这不是在写言情小说,而确确实实是客户端和邮件服务器通过SMTP协议在网络上交互的内容,网络协议就这么简单。客户总共发出了5个命令,分别为:HELO、MAIL FROM、RCPT TO、DATA和QUIT。这些命令又叫做原语,可理解为应用协议层上最原始最小的命令颗粒。服务器给每个客户端的命令发回应答,其中每个响应都由返回码和一些英语解释构成。这里需要指出的是,SMTP使用持久连接,也就是说,如果客户端有多个邮件消息需发送到同一个邮件服务器,那么所有这些消息可以在同一个TCP连接中发送。对于其中的每一个消息,客户端以一个新的“HELO”命令开始整个消息发送过程,但是QUIT命令要等到所有消息都发送完之后才发出。
第五篇:Internet协议分析
IP分片
MTU是网络上传送的最大数据包,MTU的单位是字节,当IP层接收到一份要发送的IP数据包时,如果数据包大于发送系统的本地MTU的话,这时系统就得把数据包分成多个片里发送
IP数据包结构
生存时间TTL 说明数据包在不可发送和破坏之前还可以经过的跳数
源IP地址 用来存储最初发送该数据包的主机的32位IP地址
目的IP地址 用来存储该数据包到达目的系统的32位IP地址
第三章
源端口号和目标端口号(16)
在每一个TCP的头部都包含有源端口号和目的端口号,用于定位源端的应用进程和目的端的应用进程
序列和确认号(Seq和Ack)(32)
序列号和确认号是TCP实现可靠连接的关键,当建立一个TCP连接时,发送方主机发出一个随机的初始化序列号给接收方,接收方将其+1后送回发送方,意味着发送方可以发送下一个字节
标志(6)标志字段部分包含6个标志位,它说明了其他字段包含有意义的数据或说明某种控制功能。
窗口(16)此字段告诉接收这个TCP报文的接收端自己还可以接收多少数据字节。它大致对应于滑动窗口协议的窗口尺寸。反过来,接收TCP报文的接收端可以使用此字段来改变发送端的窗口的大小。窗口最大为65535字节。
MSS(最大报文段长度)和MTU(最大传输单元)大小
在TCP初建连接时,通讯双方要交换MSS,以确定将要传输的数据的大小,MSS值设置为外出接口上的MTU长度减去固定的IP首部和TCP首部长度。但是如果网络的中间设备的MTU要小于通信双方计算机的MTU,那么数据在传输过程中就要分段。TCP采用一个PATH MTU DISCOVERY 机制来避免当不同网络的计算机要通信时出现的分段问题,即通信前先发送一个IP探测数据,数据包的大小为输出接口或者对端声名的MSS 中的最小MTU,这个数据包的IP报头“不分开”标志字段必须设置为1,已表明禁止数据包分段,如果IP探测器没有被分段到达了目的地,那么就会采用此探测器段中用到的MTU用作数据传输。TCP端口号
TCP 21 文件传输
TCP 23 Telnet
TCP 25 SMTP
TCP 52 DNS
TCP 80 http
TCP 110 Pop3
TCP的拥塞控制
拥塞避免算法和慢启动算法需对每个连接维持两个变量,一个拥塞窗口cwnd和一个慢启动门限ssthresh
慢启动算法在cwnd
慢启动算法设置cwnd为一个报文字段即cwnd=1mss,此后每收到一个确认,cwnd以指数方式增长:发送1个报文段,然后是2个,4个
拥塞避免算法要求每次收到一个确认将cwnd增加1/cwnd,与慢启动的指数增加相比,这是一种加性增长
第四章
ARP包含的字段:源端的硬件地址,源端的IP地址,目标的硬件地址,目标的IP地址,一个“消息类型”字段
ARP报文结构
Hardware Type 标识被请求的硬件地址类型
Protocol Type 标识使用的高层协议
Hardware Address Length 指定源和目的硬件地址中提供的硬件地址长度
Protocol Address Length 指定源和目的协议地址字段中找到的高层协议地址的长度 Message Type 说明包的类型
GARP
重复地址检查,Gratuitous ARP
当主机第一次获得IP地址的时候,会使用自己的IP地址作为目标地址发送ARP请求,以确定自己使用的IP地址是否有人在用,如收到ARP响应则表明这个IP地址有人在使用
第五章
ICMP不是传输协议,也不能用来发送应用程序数据,ICMP是消息控制协议,作用是发送消息把网络事件和变化告诉设备
ICMP消息类型
Ping用到的ICMP Message Type值Echo Reply是0,Echo Request是8
第六章
HTTP协议的请求方法
GET 当浏览器要从服务器读取指定文档,GET方法要求服务器将URL定位的资源放在响应报文的正文中,回送给浏览器
POST 从客户端向服务器传送数据,在要求服务器和CGI做进一步处理时会用到POST方法,POST主要用于发送HTML文本中的FORM内容,让CGI程序处理,使用Post请求时需要在报文首部字段ContentLength字段中指出body的长度
HTTP常见的响应代码
200OK 一切正常,对GET和POST请求的应答文档跟在后面
404Not Found 无法找到指定位置的资源
HTTP的请求头字段
Accept 客户端接受的数据类型
Authorization 认证消息
User—agent 客户端软件类型
Accept-charset 客户端浏览器能够处理的字符集
Accept-encoding 浏览器能够进行解码的数据编码方式
Accept-language 浏览器希望的语言类型
Authorization 授权信息
Host 请求初始的主机和端口
Range 请求的正文范围
User-Agent 客户端产生请求的软件类型
Cookie 最重要的请求头信息
HTTP正文头字段
Content-Type 标明发送或者接手的正文的MIME类型
第七章
Telnet使用TCP端口23来提供远程登录
Telnet如何解决不同操作系统之间使用命令不同的问题
Telnet可以运行在不同的操作系统之间,为了让Telnet协议适应异构环境,Telnet定义了NVT,NVT定义了数据和命令在Internet上的传输方式,当客户端发送数据时,客户端软件把来自用户终端的键盘输入转换为NVT格式发送到服务器端,服务器端软件将收到的数据和命令从NVT格式转换为远程系统需要的格式,当服务器端返回数据时,远程服务器端将数据将数据从远程服务器的格式转为NVT格式发送给客户端,客户端将收到的NVT格式数据再转换为本地格式
第八章
FTP客户与服务器之间用TCP建立双重连接,一个是控制连接一个是数据连接
与HTTP不同的是,FTP在整个会话期间,服务器必须把控制连接与特定的用户关联起来,随时跟踪用户的状态,跟踪每个活跃的用户会话极大地限制了FTP能够同时维护的会话数 FTP被动模式与主动模式的区别如下
主动模式
(1)客户端主动连接服务器,服务器以被动方式打开21端口,以建立控制连接
(2)文件在客户端与服务器之间传输时,服务器主动打开端口20,以建立控制连接 被动模式
(1)主动模式时,客户端发送一个PORT命令给服务器端,服务器依据PORT命令中指定的端口和客户端建立数据连接,在被动模式下,客户端发送PASV命令给服务器端,表明客户端希望进入Passive模式
(2)服务器进行应答,包括服务器的IP地址和一个用以建立建立数据连接的端口,而不是前述服务器所用的20端口
(3)客户端发送一个SYN包,源端口为客户端自己选择的一个端口,目的端口为服务器在PASV应答命令中指定的端口号
(4)服务器端发送SYN ACK包给客户端,目的端口为第三步中客户端自己选择的端口号,源端口为PASV应答中指定的端口号
(5)客户端发送一个ACK包,服务器在被动方式下,建立数据连接传输数据时用的端口是由服务器在发送PASV应答时指定的,不是被动方式时的20端口
第九章
MIME(Multipurpose Internet Email Extension)多用途因特网邮件扩充协议,允许非ASCII数据能够通过电子邮件传送,在发送方把非ACSII数据转换为NVT ACSII数据,接收方在把收到的数据还原
MIME定义了五种首部,用来加在原始的邮件首部来定义参数的转换,MIME-Version、Content-Type、Content-Transfer-Encoding、Content-Id、Content-Description
MIME-Version以前的部分为电子邮件首部,MIME-Version开始为MIME部分
第十章
DHCP服务器集中管理网络环境资料并负责处理客户端的DHCP请求,客户端根据从服务器端分配下来的IP环境资料来设置自身的网络环境
DHCP工作过程:
(1)DHCP客户机寻找DHCP服务器阶段
DHCP客户机以广播方式发送DHCP discover报文来寻找DHCP服务器,这个广播报文向255.255.255.255发送,网络上每一台安装了TCP/IP协议的主机都会收到这个广播消息,但只有DHCP服务器才会做出响应
(2)DHCP服务器提供IP地址阶段
在网络中接收到DHCP discover发现信息的DHCP服务器都会做出响应,它从IP地址池中挑选一个未分配的IP地址给DHC客户端,通过向DHCP客户端发送一个包含出租的IP地址和其他设置的DHCP offer来提供信息
(3)DHCP客户端选择某台DHCP服务器提供IP地址的阶段
如果有多台DHCP服务器向DHCP客户端发来DHCP offer提供信息,那么DHCP客户端只接受第一个收到的DHCP offer提供的信息,然后以广播的方式回答一个DHCP request请求信息,该信息中包含向他所选定的DHCP服务器请求IP地址等内容,发送这个请求是为了让所有DHCP服务器知道,他将选择某台DHCP服务器所提供的IP地址,请求使用的是广播地址
(4)DHCP服务器确认所提供的IP地址阶段
当DHCP服务器收到DHCP客户端的DHCP request请求信息之后,便向DHCP客户端发送一个包含他所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它所提供的IP地址
DHCP服务器向DHCP客户端出租的IP地址一般有一个租借期限,期满后DHCP服务器会收回出租的IP地址,如果DHCP客户端继续使用该IP地址,必须更新其DHCP租约信息 DNS查询方法:
(1)递归查询
递归查询是最常见的查询方式,域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态
(2)迭代查询
迭代查询又称重指引,当服务器使用迭代查询时能使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止,一般每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找
五种主要资源记录类型
主机(A):用于将DNS域名映射到计算机使用的IP地址
别名(CNAME):用于将DNS域名的别名映射到另一个主要的或规范的名称
邮件交换器(MX):用于将DNS域名映射为交换或转发邮件的计算机的名称
指针(PTR):用于映射基于指向其正向DNS域名的计算机的IP地址的反向DNS域名 服务位置(SRV):用于将DNS域名映射到指定的DNS主机列表,该DNS主机提供诸如Active Directory域控制器之类的特定服务
IP协议是因特网的核心协议,是不同数据链路层协议网络能够互联的基础。IP协议属于分组交换中的数据报服务,是无连接的、不可靠的协议。IP协议的主要功能是在网络中确定一条合适的路径,然后将数据报通过该路径由发送方传输到接收方,IP协议的首部格式体现了这个功能。
与IP协议类似,TCP协议也是因特网中的核心协议。TCP协议是面向连接的、保证可靠传输的协议,具有分用与复用、可靠传输、流量控制、拥塞控制的功能,TCP协议的首
部格式体现了这些功能。TCP建立连接时,需要控制数据传输3次才能建立连接,称为三次握手。
UDP协议也是因特网中运输层的协议。UDP协议是无连接的、不保证可靠传输的协议,仅具有分用与复用的功能。虽然功能比TCP少很多,但效率却比TCP高,因此UDP与TCP,需要根据具体情况选用。
当进行网络通信时,用户通常只指定目的IP地址,并不指定目的物理地址,但在帧的首部中,却需要目的物理地址,因此需要一个机制,将IP地址转换为物理地址。ARP协议正是完成这个功能的协议。
ICMP协议不是用来传输用户数据的协议,而是一种用来报错或查询的协议。当数据在传输过程中出错时,利用ICMP协议,可以向发送方报告多类错误。利用ICMP协议中查询类的echo request与echo reply报文,开发出了ping命令,可以判断本机与远程计算机间的网络连通性。
HTTP协议是因特网中应用层的重要协议。HTTP协议是典型的客户-服务器模式的协议,浏览器向服务器发出HTTP请求报文,服务器则向浏览器返回HTTP响应报文。HTTP协议原本是用于传输WWW超文本(即网页)的协议,实际上它可以传输任意类型的文件。
FTP协议是因特网中应用层的重要协议,用于在网络中不同计算机间传输文件。FTP协议是典型的客户-服务器模式的协议,客户与服务器间建立两条TCP连接,一条连接传输控制信息,称为控制连接,另一条连接传输文件本身,称为数据连接。
区别:FTP 是完整、面向会话、常规用途文件传输协议。而 TFTP 用作 bones bare-特殊目的文件传输协议。交互使用 FTP。TFTP 允许仅单向传输的文件。FTP 提供身份验证。而TFTP 不。FTP 使用已知 TCP 端口号: 20 的数据和 21 用于连接对话框。TFTP 用于 UDP 端口号 69 其文件传输活动。因为 TFTP 不支持验证 WindowsNT,所以FTP 服务器服务不支持 TFTP。FTP 依赖于 TCP,是面向连接并提供可靠的控件。TFTP 依赖 UDP,需要减少开销, 几乎不提供控件。POP(Post Office Protocol)邮局通讯协定 POP是互联网上的一种通讯协定,主要功能是用在传送电子邮件,当我们寄信给另外一个人时,对方当时多半不会在线上,所以邮件服务器必须为收信者保存这封信,直到收信者来检查这封信件。当收信人收信的时候,必须通过POP通讯协定,才能取得邮件。
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP
协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
DNS 是域名系统(Domain Name System)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。
NAT就是网络地址翻译的英文缩写。NAT在内部网络中使用内部地址,通过
NAT把内部地址翻译成合法的IP地址,在Internet上使用。其具体的做法是把IP包内的地址域用合法的IP地址来替换,PAT则是把内部地址映射到外部网络的一个IP地址的不同端口上。NAT的另一个运用:作为用于负载平衡的DNS系列服务器(DNS round-robin)的一个替代品。