当前位置:文档之家› HDLC协议控制器的设计解读

HDLC协议控制器的设计解读

目录

内容摘要 (1)

关键词 (1)

Abstract (1)

Key Words (1)

1.绪论 (2)

1.1研究的意义 (2)

1.2本设计的主要功能 (2)

2.HDLC协议综述 (3)

2.1 HDLC协议的产生背景 (3)

2.2 HDLC协议的帧结构 (4)

2.3 HDLC协议的规程分析 (7)

3.HDLC协议控制器的设计 (8)

3.1 HDLC协议控制器设计方案选择 (8)

3.2 FPGA的设计原则 (9)

3.3 HDLC协议控制器总框架 (10)

3.4 HDLC帧发送器的设计 (11)

3.5 HDLC帧接收器的设计 (15)

参考文献 (18)

致谢 (19)

[说明:在本页中,“目录”二字居中,宋体小二号,加黑,

其它统一由宋体小四号,不加黑排版打印、行间距为1.5]

内容摘要:HDLC(高级数据链路控制)协议是一种面向比特的链路控制规程,广泛的用作数据链路层的控制协议。论文在分析和研究HDLC协议的基础上,提出了一种基于FPGA(现场可编程门阵列)的HDLC协议控制器的设计。对HDLC协议控制器的功能进行划分,分别设计了标志位的检测和生成、插零和删零、FCS的校验等控制模块。

采用VHDL硬件描述语言在FPGA内部实现HDLC协议的各功能模块,本设计使用Quartus II 9.1平台实现代码编写、综合、编译、仿真。对HDLC链路控制规程功能,帧控制和FCS校验功能进行了仿真实现。

关键词:HDLC;FPGA;帧收发器;

Abstract:(宋体,小四号,加黑)××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××。(宋体,小四号,不加黑)

Key words:(宋体,小四号,加黑)×××□□×××□□×××□□(宋体,小四号,不加黑)

1 绪论

1.1 研究的意义

HDLC是一个在同步网上传输数据、面向位的数据链路层协议,它是由国际标准化组织(ISO)制订的。该协议被广泛的用作数据链路层的控制协议,HDLC控制器在网络设备中得到大量的使用,如列车通信网络技术、综合业务数字网ISDN、X.25分组交换网以及帧中继网等。怎样在产品中设计与实现HDLC网络协议也是一个技术研究的热点。

HDLC的一般实现方法为采用 ASIC 器件和软件编程等。ASIC的芯片有Motorola 公司的MC92460,ST公司的MK5025等。应用这些 ASIC 器件时设计简单,功能针对性强,性能可靠,适用于特定用途的大批量产品中。但是这类ASIC芯片存在开发时间长,一旦芯片固有缺陷就不容易解决等问题,而且HDLC标准的文本较多,ASIC芯片出于专用性的目的难以通用于不同版本,缺乏灵活性。HDLC的软件编程方法灵活,通过修改程序就可适用于不同的HDLC应用,但程序运行占用处理器资源多,执行速度慢,实时性不易预测。

FPGA(Field Programmable Gate Array, 现场可编程门阵列)器件采用硬件处理信号,可以反复编程,能够兼顾速度和灵活性,并能多路并行处理。在中小批量通信产品的设计中,FPGA 是取代 ASIC 实现 HDLC 功能的一种合适选择。

1.2 本设计的主要功能

本文实现了一种采用FPGA的HDLC协议控制器的设计和功能仿真。首先综述了HDLC协议的产生背景和帧结构,提出了基于FPGA设计模式的控制器。以HDLC 协议帧的接收和发送为主体,在明确FPGA的设计原则的基础上,对帧收发器进行分功能模块设计,编写代码,时序分析。以发送器为例,其中包括了标志位的生成,插零,FCS校验等模块的设计。接收器跟发送器设计思想类似。在完成各个模块的设计后,使用了Quartus II 9.1自带仿真器对各个模块的功能一一进行了仿真,并对HDLC 协议及其规程进行了验证和分析。

2 HDLC协议综述

2.1 HDLC 协议的产生背景

计算机通信的早期,人们发现对于经常发生误码的实际链路,只要加上了合适的控制规程,就可以是通信变得比较可靠。这些规程都是数据链路层的协议,都是面向字符的。所谓面向字符,就是说在链路上所传送的数据都是由规定的字符集中的字符所组成的。而且,链路上传送的控制信息也必须由同一个字符集中的若干指定的控制字符构成。

面向字符的链路控制规程曾在计算机网络的发展过程中起了重要的作用,但

随着发展,这种规程就逐渐暴露出其弱点。其主要限制是:

1.通信线路的利用率低,因为它采用的是停止等待协议,收发双方交替地工作。2.所有通信设备必须使用同样字符的代码,而不同版本的规程要求使用不同的代码。

3.只对数据部分进行差错控制,若控制部分出错就无法控制,因而可靠性差。

4.不易扩展,每增加一种功能就需要设定一个新的控制字符。

1974 年,IBM 公司推出了著名的体系结构SNA。在SNA 的数据链路层规程上采用了面向比特的规程SDLC(Synchronous Data Link Control)。后来IBM 将此规程提交美国国家标准协会ANSI 和国际标准化组织ISO,建议成为国家和国际

标准。ANSI 把SDLC 修改为ADCCP(Advanced Data Communication Control Procedure)作为美国国家标准,而ISO 把SDLC 修改后称为HDLC(High-level Data Link Control),并作为国际标准ISO3309。

HDLC协议有两种链路配置和三种数据传送方式:

1.非平衡模式:

a.正常响应方式NRM(Nomal Response Mode)

b.异步响应方式ARM(Asynchronous Response Mode)

2.平衡模式:

c. 异步平衡方式ABM (Asynchronous Balanced Mode)

2.2 HDLC 协议的帧结构

HDLC的帧格式由六个字段组成,这六个字段可以分为五种类型,即标志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验字段(FCS)。在帧结构中允许不包含信息字段I。

图1 HDLC帧结构

标志序列(F)

HDLC指定采用01111110为标志序列,称为F标志。要求所有的帧必须以F标志开始和结束。接收设备不断地搜寻F标志,以实现帧同步,从而保证接收部分对后续字段的正确识别。另外,在帧与帧的空载期间,可以连续发送F,用来作时间填充。

在一串数据比特中,有可能产生与标志字段的码型相同的比特组合。为了防止这种情况产生,保证对数据的透明传输,采取了比特填充技术。当采用比特填充技术时,在信码中连续5个“1”以后插入一个“0”;而在接收端,则去除5个“1”以后的“0”,恢复原来的数据序列,如图4所示。比特填充技术的采用排除了在信息流中出现的标志字段的可能性,保证了对数据信息的透明传输。

数据中某一段比特组合恰好

出现和F字段一样的情况会误认为是F字段

发送端在5个连1之后

填入0比特再发送出去填入0比特

在接收端将5个连1之后

图2 比特填充

当连续传输两帧时,前一个帧的结束标志字段F可以兼作后一个帧的起始标志字段。当暂时没有信息传送时,可以连续发送标志字段,使接收端可以一直保持与发送端同步。

●地址字段(A)

地址字段表示链路上站的地址。使用平衡方式(采用ABM),地址字段写入应答站的地址。

HDLC协议没有给出地址字段的具体格式,只对其扩充方法及全站地址、无站地址给出了定义。考虑到实际的需要与实现上的方便,定义地址字面结构如下:

X –未使用

Bit0 置“1”,表示地址字段只有一个字节

C/R 置“1”表示命令帧,置“0”表示响应帧

图3 地址字段定义

地址字段的长度采用8bit时,最多可以表示64个站的地址。地址字段bit2~bit7为“111111”时,定义为全站地址,即通知所有的接收站接收有关的命令帧并按其动作;bit2~bit7为全“0”比特为无站地址,用于测试数据链路的状态。因此有效地址共有62个。

●控制字段(C)

控制字段用来表示帧类型、帧编号以及命令、响应等。由于C字段的构成不同,可以把HDLC帧分为三种类型:信息帧、监控帧、无编号帧,分别简称I帧(Information)、S帧(Supervisory)、U帧(Unnumbered)。在控制字段中,第1位是“0”为I帧,第1、2位是“10”为S帧,第1、2位是“11”为U帧。

图4 基本模式控制字段

注:X-未使用,置0U-未定义,置1。

图5 扩充模式控制字段

●信息字段(I)

信息字段内包含了用户的数据信息和来自上层的各种控制信息。长度小于58Bytes。

●帧校验序列字段(FCS)

帧校验序列用于对帧进行循环冗余校验,其校验范围从地址字段的第1比特到信息字段的最后一比特的序列,并且规定为了透明传输而插入的“0”不在校验范围内,长度定义由于单板中有部分HDLC链路采用HDLC控制器实现,而HDLC控制器只能支持16bits的CRC

2.3HDLC协议的规程分析

1.使用统一的帧格式:实现数据、命令和响应的传输,实施起来方便;

2.采用‘0’位插入法:使得规程可以支持任意的位流传输,保证了信息传输的透明性;

3.采用窗口机制和捎带应答机制:全双工工作方式,允许在未收到确认的情况下,连续发送多个帧,提高了信息传输的效率;

4.采用帧校验序列,并设置窗口序号,可以提高信息传输的正确性和可靠性。

总之,面向二进制位的控制规程比面向字符型的控制规程具有较高的优越性。

3 HDLC协议控制器的设计

3.1 HDLC协议控制器设计方案选择

HDLC协议控制器实现方法有三种:ASIC器件、软件编程以及FPGA器件。

实现HDLC协议的ASIC芯片有Motorola 公司的MC92460、ZILOG 公司的

Z80230/85230、ST 公司的MK5025等。这些集成电路使用简易,功能针对性强,适用于特定用途的大批量产品中。但HDLC标准的文本较多,ASIC芯片出于专用性的目的难于通用于不同版本,缺乏灵活性。而且,专用于HDLC 的ASIC 芯片其片内数据存储器容量有限,通常只有不多字节的FIFO(先进先出存储器)可用,存储深度较浅,对于某些应用来说,当需要扩大数据缓存的容量时,只能对ASIC 芯片再外接存储器或其它电路,这样,ASIC 芯片在使用中就会有一定的限制。

HDLC的软件编程实现,包括PC机和单片机,方法灵活,具有成本低、硬件结构简单、软件编程容易等特点。通过修改程序就可以适用于不同的HDLC协议要求的应用。但是程序运行占用处理器资源多,执行速度慢,对信号的时延和同步性不易预测。

使用FPGA(Field Programmable GateArray,现场可编程门阵列),能够有效的综合前两种方法的优点。FPGA采用硬件技术处理信号,可以通过软件反复编程使用,能兼顾速度和灵活性,可以实时预测和仿真。VHDL语言设计灵活,可以用模拟器来验证程序的功能和时序的正确;不要求设计者非常熟悉器件的内部结构,使得设计者可以集中精力从事设计构思,可以在各EDA平台上运行。在中小批量通信产品的设计生产中,用FPGA实现HDLC功能是一种较好的实现途径。

3.2 FPGA的设计原则

完整的FPGA设计流程分为电路设计与输入、功能仿真、综合、综合后仿真、实现、布局布线后仿真、配置下载与调试等主要步骤。

在设计FPGA系统时,主要考虑以下几个原则:面积和速度的平衡原则与互换原则、硬件原则、系统原则和同步设计原则。

1)面积和速度的平衡原则与互换原则:

这里的“面积”是指一个设计所消耗的FPGA的逻辑资源数量。“速度”是指

设计在芯片上稳定运行时所能够达到的最高频率,与设计时众多时序特征量密切

相关。一般来说,速度的优先级要高于资源耗费。当两者冲突时,采用速度优先的准则。

2)硬件原则

对HDL代码编写而言,它的本质作用在于描述硬件。所以评判一段HDL代码的优劣的最终标准是其描述并实现的硬件电路的性能(包括速度和面积两个方面的指标)。

3)系统原则

系统原要求设计者能够通过全局、整体上把握设计,从而提高设计质量,优化设计效果。

4)同步设计原则

同步时序设计是FPGA设计的最重要原则之一。

异步电路容易产生毛刺和竞争冒险;同步时序电路主要信号和输出信号都由时钟驱动触发器产生,能够避免毛刺,信号稳定。

从资源使用方面考虑,在FPGA中,同步设计并不比异步设计浪费资源。特别需要注意的是,不同的时钟域的接口需要进行同步。

还要考虑全局时钟布线资源的利用。全局时钟资源由特殊的工艺实现,具有很高的扇出性能,且到达芯片内部的所有可配置单元、FO单元和选择性块RAM的时延和抖动都为最小。逻辑设计中使用非常频繁的时钟信号、预设置信号、复位信号和使能信号均应从全局脚引入。

3.3 HDLC协议控制器总框架

由结构图可以看出,HDLC协议控制器分为总控制模块、帧发送器、帧接收器,按具体功能模块划分,每个帧控制器又划分为控制、数据缓冲、插零、删零、标志位等模块。各个模块之间的连接时依靠控制信号和寄存器的配置实现的,通过配置好总控制模块的各个控制信号,从而组成整体的HDLC帧的收发功能。具体电路如下图所示:

3.4 HDLC帧发送器的设计

帧发送器是将信息按照HDLC协议的格式封装成帧并发送出去,其中包括了帧头帧尾标志位的插入、插零、FCS校验和发送模块。通过配置功能选择寄存器addr选择发送功能,并设置好时钟、复位等控制信号即可实现帧发送器的功能。

3.4 .1 帧发送器的主要功能

1)插零

发送器接收到数据时,首先检测是否数据中有5个连续的‘1’,如若有就在其后面插入一个‘0’。

2)标志位生成

当接收到信号开始发送数据时,将“7E”加在帧头和帧尾,并发送出去。

3)CRC校验

帧校验序列用于对帧进行循环冗余校验,其校验范围从地址字段的第1比特到信息字段的最后一比特的序列,并且规定为了透明传输而插入的“0”不在校验范围内。4)数据缓冲

3.4 .2 帧发送器的组成

帧发送器功能组成模块

●数据缓冲模块( txbuff):

数据缓冲模块负责将接收到的数据缓存起来,然后供后续模块调用数据。其端口定义如下图:

数据缓冲模块管脚定义图

初始化之后,当控制端收到发送数据的信号时,将txenable和wr端口置‘1’,数据由txdatainbuff输入,txbuff开始缓冲数据,当数据缓冲满了将full置‘1’或达到了预定的数值时会将txdone置‘1’。数据缓冲完后,txdataavail置‘1’表示此时缓冲器内数据可以供调用,数据由txdataoutbuff输出。

txbuff模块对帧的数据量根据存储模块的大小和后面数据处理能力来决定,模块输出的8比特并行数据。

●CRC校验模块(txfcs):

在通信系统中传输数据的可靠性即误码率是非常重要的,因此在传输的数据中需要插入一定的校验信息。根据HDLC协议的要求,数据发送前要对帧内所有的数据进行CRC多项式的计算,并将结果一起发送出去,CRC校验的模块引脚图如下图:

发送器CRC校验模块

系统初始处于idle_st状态,当收到读数据信号时(rdy置‘1’),进入read_st状态,如果txdataavail有效txfcs将rdbuff置“1”开始从txbuff中读取数据,然后将数据一一进行CRC多项式运算,并将数据一起封装在帧里面发送出去。

●txsynch模块:

txsynch模块的功能是将总控制模块、txbuff模块、txfcs模块和txchannel模块连接,模块引脚图如下:

txsynch模块引脚图

●txchannel模块:

txchannel模块又由zeroins、txcont、flag_ins3个模块构成,分别负责标志位的生成和插零功能的实现,其模块引脚图如下:

txchannel模块引脚图

1)标志位生成模块flag_ins:

标志位生成模块负责对待发送的数据进行帧头尾的添加,其端口定义图如下图:

flag_ins模块引脚图

当该模块接收到控制使能信号时(TXEN置”1”),串行数据由TXD端口输入,TX端口输出已加好标志位的串行数据流。

标志位的仿真时序图如下图:

发送端标志位仿真时序图

设定发送数据为“10101010”,由图可知数据流中已加入“0x7E”的标志位,这是构建HDLC帧的第一步。

2)插零模块zeroins:

为了保证数据链路的透明传输(即可以传输任意组合的比特流),HDLC发送器在遇到5个连“1”的情况下,为了防止接收端误判帧头或帧尾,必须在其后填充一个“0”比特。其模块引脚图如下:

当data[7..0]端口接收到数据时,在时钟上升沿来到时利用移位寄存器,进行8位数据并串转换,在模块内定义一个5位的寄存器,对转换后的连续的5比特数据进行求与运算,若是连续的5个“1”比特,则在后面插入一个“0”比特。

插零功能仿真时序图如下:

发送端插零模块仿真时序图

由图可以看出,输入数据值为“11111000”时,由于数据的高5位均为“1”,根据每逢5个连续的“1”插一个“0”,所以输出的数据流中变成了“111110000”3.5 HDLC帧接收器设计

帧接收器设计的模块与帧发送器的设计过程类似,接收器负责标志位检测、CRC 生成、删零模块,基本与帧发送器相逆。同样帧接收器的数据缓冲模块也与帧发送器的设计过程相似。通过配置addr寄存器即可实现HDLC帧接收器的整体功能。

3.5 .1 帧发送器的主要功能

1)标志检测:此模块检测比特流中的“7E”,作为数据帧开始和结束的标志。

2)删零:接收数据时,每遇到连续的5个“1”,就将其后面的一个“0”删掉。3)CRC检测:采用CRC-12,也可以不进行检测。

3.5 .2 帧发送器的组成

●数据缓冲模块( rxbuff):

帧接收器的数据缓冲模块,跟发送器的缓冲模块功能相似,但是逻辑相逆。这里是将从txchannel中收到的数据缓存起来,等到缓冲满了,供用户调用数据。

数据缓冲模块引脚图如下:

●rxchannel模块:

rxchannel也包含了rxcont、flagdetect、zerodetect这3个模块。

Rxchannel模块引脚图如下:

Rxchannel模块引脚图

1)标志位检测功能模块引脚图:

接收器标志位检测引脚图

标志位检测的主要功能是检测接收到数据流的帧头,确定帧的边界。帧头判别式如下:

FlagVar := not ShiftReg(0) and ShiftReg(1) and ShiftReg(2) and ShiftReg(3) and ShiftReg(4) and ShiftReg(5) and ShiftReg(6) and not ShiftReg(7);FlagDetect <= FlagVar;

如果检测到FlagDetect其值为高,则表明检测到帧头的出现,这样就可将为下个模块提高控制信号,提示可以开始接收数据。若为零,则表示帧头还未到来。

标志位检测功能模块仿真时序图如下:

标志位检测功能模块仿真时序图1

由图可知,输入标志位“0x7E”之后紧跟着的是“1111000000001111”数据流。输出数据data如下图所示:

标志位检测功能模块仿真时序图2

这是输出的8比特并行数据,两组数据分别是“11110000”和“00001111”,可见帧接收器正确的接收到了发出的数据。

2)零检测功能模块引脚图:

零检测功能模块引脚图

零检测功能模块是检测比特流中连续“1”的个数,向后面的提供控制信号,以完成删零判断,检测帧结束标志的功能。模块内设置一个计数器,用来计算连续“1”

的个数。若是计数值为6且下一接收比特为“0”,表明检测到结束标志。当计数器值为5且下一比特为“0”,则表明该“0”比特应该删去。

零检测功能模块仿真时序图如下:

由图可知,输入的数据流是“11111000110011110”数据流,其中前面包含了连续的5个“1”。输出数据data如下图所示:

输出Data中第一组数据是“11111001”第二组是“10011110”,显然第一组数据中已经删除了一个“0”。

网络协议分析(免费下载)

实验报告 项目名称:网络协议分析工具的使用课程名称:计算机网络A 班级:计111 计111 姓名:葛一波叶博兴 学号:110776 110768 教师:张晓明 信息工程学院计算机系

一.实验目的 1.了解协议分析仪的使用方法和基本特点,掌握使用协议分析仪分析协议的方法。 2.了解Ping命令的工作过程; 3.了解FTP协议的工作过程。 二.实验前的准备 1.熟悉Ping命令,FTP协议; 2.了解协议分析仪的功能和工作原理; 3.了解Ethereal分析仪的使用方法; 4.阅读本实验的阅读文献; 三.实验内容 1.学习捕获选项的设置和使用。 2.使用Ethereal分析仪捕获一段Ping命令的数据流,并分析其工作过程。 3.登录ftp://http://biz.doczj.com/doc/1411941895.html,,并下载三个大小不同的文件(小于1KB、1KB—1MB、1MB 以上),使用Ethereal分析仪分析其工作过程。 4.设置显示过滤器,以显示所选部分的捕获数据。 5.保存捕获的数据,分别是TEXT文件和XML文件。 四.实验要求 1.完成上述实验内容; 2.记录捕获的关键数据,并分析协议工作过程。 3.上交实验报告和保存的实验数据。 Wireshark Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流、电压、电阻" 的工作 - 只是将场景移植到网络上,并将电线替换成网络线。 在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其程式码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。 软件简介 Wireshark使用目的以下是一些使用Wireshark目的的例子: 网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark 来学习网络协定的相关知识当然,有的人也会“居心叵测”的用它来寻找一些敏感信息…… Wireshark不是入侵侦测软件(Intrusion DetectionSoftware,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,

实验八协议分析器程序的设计和实现

实验八协议分析器程序的设计和实现 1.实验目的: (1)掌握对网络上传输数据包的捕获方法。 (2)解析Ethernet网数据帧头部的全部信息。 (3)解析IP、ICMP数据包 (4) 解析传输层和应用层相关协议的头部信息 (5)设置过滤规则,能过滤相应协议的数据包。 (6)要求有良好的编程规范与注释信息,要求有详细的说明文档,包括程序的设计思想、活动图、关键问题以及解决方法。 2实验环境: (1)VC6.0 (2)局域网能连接Internet。 3.程序设计的关键问题以及解决方法有哪些? 当应用程序通过IP网络传送数据时,数据被送入TCP/IP协议栈中,然后从上至下逐一通过每一层,直到最后被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息,这个过程被称作封装。通过以太网传输的比特流称作帧。在传输的另一端,当目的主机收到一个以太网数据帧时,数据就开始从协议栈由底向上逐层解析,去掉各层协议所加上的报文头部。每层协议均要检查报文头部中的协议标识字段,以确定要接收数据的上层协议,最终从报文中解析出应用层数据后交给应用程序处理。 本次要编写的协议分析器,就是从网络中捕获数据包并对其进行解析的过程。因此,我们需要了解每层协议所规定的报文格式,然后由底向上逐层对数据包进行解码,最后将分析的结果显示出来。 4.描述程序设计过程,并画出程序活动图。 协议分析器总体结构: 协议分析器的整体结构按功能应分为三个部分,自底向上分别是数据捕获模块、协议解析模块和用户显示模块。

数据包捕获流程: 捕获数据包的算法一般分为以下几步: (1)获取并列出当前网络设备列表。 (2)由用户选择并打开指定网卡。 (3)根据过滤规则设置过滤器。 捕获数据包并进行解析处理: 协议解析模块: 对捕获的数据包按照数据链路层(MAC)、网络层(IP、ARP/RARP)、传输层(TCP、UDP、ICMP)和应用层(HTTP等)的层次结构自底向上进行解析,最后将解析结果显示输出。

HDLC协议控制器的设计

目录 内容摘要 (1) 关键词 (1) Abstract (1) Key Words (1) 1.绪论……………………………………………………………………2 1.1研究的意义 (2) 1.2本设计的主要功能………………………………………………2 2.HDLC协议综述 (3) 2.1 HDLC协议的产生背景 (3) 2.2 HDLC协议的帧结构 (4) 2.3 HDLC协议的规程分析 (7) 3.HDLC协议控制器的设计………………………………………………8 3.1 HDLC协议控制器设计方案选择…………………………………8 3.2 FPGA的设计原则 (9) 3.3 HDLC协议控制器总框架………………………………………10 3.4 HDLC帧发送器的设计 (11) 3.5 HDLC帧接收器的设计 (1) 5 参考文献…………………………………………………………………18 致谢 (19) [说明:在本页中,“目录”二字居中,宋体小二号,加黑, 其它统一由宋体小四号,不加黑排版打印、行间距为1.5]

内容摘要:HDLC(高级数据链路控制)协议是一种面向比特的链路控制规程,广泛的用作数据链路层的控制协议。论文在分析和研究HDLC协议的基础上,提出了一种基于FPGA(现场可编程门阵列)的HDLC协议控制器的设计。对HDLC协议控制器的功能进行划分,分别设计了标志位的检测和生成、插零和删零、FCS的校验等控制模块。 采用VHDL硬件描述语言在FPGA内部实现HDLC协议的各功能模块,本设计使用QuartusII 9.1平台实现代码编写、综合、编译、仿真。对HDLC链路控制规程功能,帧控制和FCS校验功能进行了仿真实现。 关键词:HDLC;FPGA;帧收发器; Abstract:(宋体,小四号,加黑)××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××。(宋体,小四号,不加黑) Key words:(宋体,小四号,加黑)×××□□×××□□×××□□(宋体,小四号,不加黑)

网络安全协议课程设计-IPsec隧道协议的安全分析与改进

《网络安全协议》 课程设计 题目IPsec隧道协议的安全分析与改进班级 学号 姓名 指导老师 2015年 7 月 4 日

目录 一、概述 (2) 1.1课程设计的目的 (2) 1.2课程设计的内容 (2) 1.3课程设计的要求 (3) 二、问题分析 (3) 2.1系统需求 (3) 2.2 GRE协议分析 (3) 2.3 IPsec协议分析 (4) 三、协议漏洞 (5) 3.1协议漏洞解决措施 (5) 3.2协议漏洞解决详解 (5) 四、协议完善具体实现 (6) 4.1实现分析 (6) 4.2 GRE实现流程分析 (8) 4.3简单设备设置 (10) 五、案安全性分析 (11) 六、程设计心得、总结 (11) 七、参考文献 (12)

一、概述 网络如若想实现交流传输,必须以网络协议为载体进行。而网络协议(Network Protcol)是控制计算机在网络介质上进行信息交换的规则和约定。网络协议通常会被按OSI参考模型的层次进行划分。OSI参考模型是国际标准化组织制定的网络体系结构参考模型,提供各种网络互联的标准,共分七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,会话层、表示层和应用层往往被合并称为高层。当前的计算机网络的体系结构是以TCP/IP协议为主的Internet结构。伴随着网络的诞生近几年频繁出现的安全事故引起了各国计算机安全界的高度重视,计算机网络安全技术也因此出现了日新月异的变化。安全核心系统、VPN安全隧道、身份认证、网络底层数据加密和网络入侵主动监测等越来越高深复杂的安全技术极大地从不同层次加强了计算机网络的整体安全性。网络安全的实现首先需要网络协议的安全,但是网络协议都是人为写的,存在先天的不足与缺陷,以至于只能慢慢实践发现并给与补充。这里先谈一下VPN中的GRE协议。GRE(Generic Routing Encapsulation,通用路由封装)协议是由Cisco和Net-smiths等公司于1994年提交给IETF(Internet Engineering Task Force,网络工程工作小组)的,标号为RFC1701和RFC1702。GRE协议规定了如何用一种网络协议去封装另一种网络协议的方法,是一种最简单的隧道封装技术,它提供了将一种协议的报文在另一种协议组成的网络中传输的能力。GRE协议就是一种应用非常广泛的第三层VPN隧道协议。GRE隧道使用GRE协议封装原始数据报文,基于公共IP网络实现数据的透明传输。GRE隧道不能配置二层信息,但可以配置IP地址。本文从GRE协议的工作原理入手,从安全性角度出发,详细分析了GRE隧道协议的不足与缺陷,最后提出了相关的安全防护方案。 1.1课程设计的目的 详细分析IPsec隧道协议不支持对多播和广播的加密的不足,并针对其漏洞设计实施完善可行的策略。 1.2课程设计的内容 将GRE与IPsec结合使用,弥补IPsec不能保护组播数据的缺陷。因为GRE可以封装组播数据并在GRE隧道中传输,所以对于诸如路由协议、语音、视频等组播

网络协议分析与仿真课程设计预习报告

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 网络协议分析与仿真课程设计预习报告 甲方:___________________ 乙方:___________________ 日期:___________________

(计算机学院) 网络协议分析与仿真课程设计 预习报告 专业名称:__________ 网络工程_________________ 班级:_______________________________________ 学生姓名:____________________________________ 学号(8位): ________________________________ 指导教师:____________________________________ 设计起止时间:2013年12月2日一2013年12月13日

题目一网络流量分析 一、课程设计目的 里加深对IP、DNS、TCR UDP、HTTP等协议的理解; 里掌握流量分析工具的使用,学习基本的流量分析方法。 二、课程设计地点及时间 二号实验楼442网络实验室,12月2日至12月6日,每天8: 00-14: 00 三、课程设计实验条件 工具:Wireshark (Windows 或Linux), tcpdump (Linux) 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 内容:Web流量分析 四、课程设计原理 1、DNS域名解析:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号 与目的端口号(源端口号为大于1023随机,目的端口号为UDP5狒口)及应用层服务(这 里因该是请求DN硒询服务吧)。传输层封装数据产生数据段传给网络层,在网络层标识源IP地址及目的IP地址(源IP地址为客户端IP ,目的IP地址为DNS服务器IP地址),网络层将数据段封装为数据包传给数据链路层,在数据链路层将会在数据包里加入源MACM址及目的MA砸址(源MACM址为客户端网卡MA弛址,目的MAC%址为DNS服务器MACM址),这里应该查询MA或存。数据链路层根据客户端与DNS服务器之间的链路,将数据包封装成 帧,传给物理层。物理层会将数据帧转化为电信号放到物理介质上。 电信号到达DNS服务器后会从物理层到达应用层(这里和客户端发送数据差不多,只不过这 个过程变成了解封装),DNS服务器做完域名解析后再将数据传给客户端,传输过程同客户端发送数据。 2、建立TCP/IP连接:客户端知道WE囹艮务器IP地址之后,在网络层产生建立TCP/IP三次握手的数据包(TCP/IP三次握手:客户端向服务器端发送SYN信息,服务器端收到SYN信 息后回复给客户端SYN+AC褊认信息,客户端收到确认信息后再向服务器发送ACK信息建立 连接),应用层标识HTTP服务将数据发送到传输层,传输层将数据+源端口号(大于1023)、目的端口号(80)+上层服务WW如装为数据段传给网路层。网络层将数据段+源ip与目的 ip (WW服务器的ip地址)封装为数据包发送到数据链路层。数据链路层参照ARP缓存表确定源MAC%址(本机MACM址)及目的MACM址(客户端与路由B相连端口的MACM址)将数据包封装成数据帧。这里还需要CR破验。。。。。。数据帧到达物理层后变成电信号发送 到介质上(这里还需要访问控制方法DSMA/CD 路由B收到电信号后传给路由器的数据链路层,这里还需要CRC,FC眼验。。。…确定数据 帧没有损坏后查看目的MACM址与路由器端口地址是否相同,如果相同将解封装,将数据包 发送到路由器B的物理层,路由器查看路由表确定数据包的转发端口,路由器B确定与路由 A之间的链路,创建帧。 路由B与路由A可以看成是点对点,即路由B将创建PPP帧。路由A收到电信号后,确定帧的完整性,如果完整即将数据帧解封装发送到网络层,路由A查询路由表将数据包转发到与WEBf连的路由端口。 路由A的数据链路层将查询ARP缓存表确定WW服务器的MACM址,路由A将创建源MAC 地址

实验yi:网络协议分析工具Wireshark的使用

实验一: 一、实验目的 学习使用网络协议分析工具Wireshark的方法,并用它来分析一些协议。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线 四、实验步骤(操作方法及思考题) 1.用Wireshark观察ARP协议以及ping命令的工作过程:(20分) (1)用“ipconfig”命令获得本机的MAC地址和缺省路由器的IP地址;(2)用“arp”命令清空本机的缓存; (3)运行Wireshark,开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包(提示:在设置过滤规则时需要使用(1)中获得的本机的MAC地址); (4)执行命令:“ping 缺省路由器的IP地址”; 写出(1),(2)中所执行的完整命令(包含命令行参数),(3)中需要设置的Wireshark的Capture Filter过滤规则,以及解释用Wireshark所观察到的执行(4)时网络上出现的现象。 -------------------------------------------------------------------------------- (1)ipconfig/all (2)arp –d (3)( arp or icmp ) and ether host 18-03-73-BC-70-51, ping 192.168.32.254 后的截包信息图片:

首先,通过ARP找到所ping机器的ip地址,本机器发送一个广播包,在子网中查询192.168.32.254的MAC地址,然后一个节点发送了响应该查询的ARP分组,告知及其所查询的MAC地址。接下来,本机器发送3个请求的ICMP报文,目的地段回复了三个响应请求的应答ICMP报文。在最后对请求主机对应的MAC地址进行核查。 2.用Wireshark观察tracert命令的工作过程:(20分) (1)运行Wireshark, 开始捕获tracert命令中用到的消息; (2)执行“tracert -d http://biz.doczj.com/doc/1411941895.html,” 根据Wireshark所观察到的现象思考并解释tracert的工作原理。 ----------------------------------------------------------- 实验室路由跟踪显示有6个路由器

使用DLPI来编写协议分析工具

[保留] 使用DLPI来编写协议分析工具 http://biz.doczj.com/doc/1411941895.html, 作者:stevens_wu发表于:2007-12-13 17:10:35 【发表评论】【查看原文】【C/C++讨论区】【关闭】 系统环境:solaris 10 for x86,gcc 3.4.3,100M快速以太网 (偶是个初学者,本文难免存在错误,希望大家多多指教) 前一阵子要写一个简单的arp协议的分析程序,在翻阅了一些资料以后,决定使用libpcap库来实现,但是后来涉及到写链路层数据的缘故(另外一个程序,这个程序就是发送一个假冒的arp request,在本文没有实现,今后有空再整理吧),所以放弃了libpcap。由于本人使用的是solaris环境,所以无法使用bpf,但是sun 公司仍然为开发者提供了一个与设备底层无关的接口DLPI,DLPI的全称是 Data Link Provider Interface,通过DLPI开发者可以访问数据链路层的数据包,在早期的sunos系统中基本上采用的是NIT设备,但是现在solaris系统都使用了DLPI.关于DLPI的具体介绍大家可以访问网站 http://biz.doczj.com/doc/1411941895.html,/pubs/catalog/c811.htm,我这里就不多说了。 在搜索了许多资料之后发现目前关于DLPI的编程资料不多,没有具体的过程,后来翻阅了Neal Nuckolls写的一篇文章 How to Use the STREAMS Data Link Provider Interface (DLPI),根据例子做了修改(主要是提供了协议分析的部分),现在把编写一个DLPI过程共享一下,希望能对大家有所帮助。建议大家可以先看看Neal Nuckolls的文章,其中有部分涉及到流编程的,可以参考http://biz.doczj.com/doc/1411941895.html,/app/docs/doc/816-4855的 streams programming guide(不过这不是必须的)。 使用DLPI来访问数据链路层有几个步骤: 1、打开网络设备 2、将一个流 attach到一个特定的设备上,这里就是我们刚才打开的设备 3、将设备设置为混杂模式(可选) 4、把数据链路层sap绑定到流 5、调用ioctl,设置raw模式 6、配置其他模块(可选) 7、刷新缓存 8、接收数据进入分析阶段 第一步,我们首先打开一个网络设备,在本例中我们打开的是/dev/bge设备,这是本机的网络接口,注意不是/dev/bge0,通过open调用打开,并且返回一个描述符fd=open(device, 2) 第二步,attach一个流到设备上,这是通过发送DL_ATTACH_REQ原语来完成的dlattachreq(fd, ppa) int fd; u_long ppa; { dl_attach_req_t attach_req; struct strbuf ctl; int flags;

网络安全协议课程设计报告SSL协议

SSL协议的安全性研究 1 引言 随着计算机网络技术的飞速发展,信息时代的人们对Internet的依赖性越来越大。当今时代,电子商务和电子政务的应用越来越广泛,然而网络安全问题严重束缚了计算机网络的进一步应用。安全套接层SSL(Secure Sockets Layer)协议是由Netscape公司设计开发的安全协议,主要用于加强应用程序之间的数据的安全性。SSL协议是基于Web应用的安全协议,它采用了RSA算法、RC4—128、RC一128、三重DES算法和MD5等加密技术实现两个应用层之间的机密性、可靠性和数据完整性,并采用X.509数字证书实现鉴别,其加密的目的是建立一个安全的通讯通道,而且该通道可在服务器和客户机两端同时实现支持。 2 SSL协议简述及相关概念 SSL协议用来建立一个在客户和服务器之间安全的TCP连接,尤其可被用来认证服务器,可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在TCP协议之上的任意应用协议数据的完整性和隐蔽性服务。SSL为在Internet上安全地传送数据提供了一介加密通道,建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应用层数据。 2.1 SSL---安全套接层协议。 是由Netscape设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。SSL位于TCP/IP协议与各种应用层协议之间,为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和Web服务器无关的。 2.2 SSL协议可分两层: 2.2.1 SSL记录协议: 它建立在可靠的传输协议(如TCP)之上,位于SSL协议的底层,为高层协议提供数据封装、压缩、加密等基本功能的支持。在SSL中,所有数据被封装在记录中,SSL握手协议中的报文,要求必须放在一个SSL记录协议层的记录里,但应用层协议的报文,允许占用多个SSL 记录来传送 (1) SSL记录头格式 SSL记录头可以是2个或3个字节长的编码。SSL记录头包含的信息有记录头的长度、记录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密

计算机网络使用网络协议分析器捕捉和分析协议数据包样本

计算机网络使用网络协议分析器捕捉和分析协议数据包样 本 计算机网络使用网络协议分析器捕捉和分析协议数据包广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室11月月28日学院计算机科学与教育软件学院年级//专业//班姓名学号实验课程名称计算机网络实验成绩实验项目名称使用网络协议分析器捕捉和分析协议数据包指导老师熊伟 一、实验目的 (1)熟悉ethereal的使用 (2)验证各种协议数据包格式 (3)学会捕捉并分析各种数据包。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 二、实验环境1.MacBook Pro2.Mac OS3..Wireshark 三、实验内容,验证数据帧、IP数据报、TCP数据段的报文格式。 ,,分析结果各参数的意义。 器,分析跟踪的路由器IP是哪个接口的。 对协议包进行分析说明,依据不同阶段的协议出分析,画出FTP 工作过程的示意图a..地址解析ARP协议执行过程b.FTP控制连接建立过程c.FTP用户登录身份验证过程本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。

文档如有不当之处,请联系本人或网站删除。 d.FTP数据连接建立过程 e.FTP数据传输过程 f.FTP连接释放过程(包括数据连接和控制连接),回答以下问题:a..当访问某个主页时,从应用层到网络层,用到了哪些协议?b.对于用户请求的百度主页(),客户端将接收到几个应答报文??具体是哪几个??假设从是本地主机到该页面的往返时间是RTT,那么从请求该主页开始到浏览器上出现完整页面,一共经过多长时间??c.两个存放在同一个服务器中的截然不同的b Web页(例如,,和d.假定一个超链接从一个万维网文档链接到另一个万维网文档,由于万维网文档上出现了差错而使超链接指向一个无效的计算机名,这时浏览器将向用户报告什么?e.当点击一个万维网文档时,若该文档除了次有文本外,,那么需要建立几次TCP连接和个有几个UDP过程?本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 析,分析ARP攻击机制。 (选做),事实上,TCP开始发送数据时,使用了慢启动。 利察用网络监视器观察TCP的传输和确认。 在每一确认到达之后,慢启动过程中发生了什么?(选做),,TCP 必须准备重发初始段(用于打开一个连接的一个段)。 TCP应等多久才重发这一段?TCP应重发多少次才能宣布它不能打开一个连接?为找到结果尝试向一个不存在的地址打开一个连接,并使用网络监视器观察TCP的通信量。

网络协议课程设计报告

目录 1.课程设计目的 ---------------------------------------------------- 2 2.课程设计要求 ---------------------------------------------------- 2 3.课程设计题目分析 ------------------------------------------------ 2 3.1 网卡设置 -------------------------------------------------- 2 3.2 程序设计 -------------------------------------------------- 3 3.2.1 使用原始套接字------------------------------------------ 3 3.2.2 接收数据包---------------------------------------------- 4 3.2.3 定义IP头部的数据结构---------------------------------- 4 3.2.4 IP包的解析 --------------------------------------------- 5 4.解析IP数据包设计相关知识 -------------------------------------- 5 5.程序流程图------------------------------------------------------- 6 6.程序设计--------------------------------------------------------- 7 6.1 协议的定义 ------------------------------------------------ 7 6.2捕获处理--------------------------------------------------- 7 6.3 运行界面 -------------------------------------------------- 8 7.实验结果--------------------------------------------------------- 9 8.自我评析和总结 -------------------------------------------------- 9 8.1 实训心得-------------------------------------------------- 9 8.2 实训日记-------------------------------------------------- 9 9.主要参考资料 -------------------------------------------------- 10 [2]《网络协议分析》寇晓蕤罗俊勇编著机械工业出版社--------- 10 [3]《C语言程序设计》张建伟李秀琴主编科学出版社--------- 10 [4]《C++程序设计教程——面向对象分册》郑秋生主编 --------- 10电子工业出版社 -------------------------------------------------- 10 10.附录 ---------------------------------------------------------- 10

用协议分析器分析IP包格式

计算机科学与技术系 实验报告 课程名称:计算机网络 实验名称:用协议分析器分析IP包格式班级:xxx 学号:xx 姓名:xxx 2011年12 月31日

实验三用协议分析器分析IP包格式 一实验目的 1.熟悉网络协议分析的原理。 2.熟悉网络协议分析软件Ethereal的使用。 3.掌握IP包的构成。 4.分析IP包的分片重组机制。 二实验内容 1.继续学习使用网络协议分析软件Ethereal。 2.捕捉任何主机发出的IP包并进行结构分析。 3.捕捉具有分组情况的IP包,并分析IP包的分片重组机制。 三实验步骤 1.学习使用Ethereal软件。 2.捕捉任何主机发出的IP包并进行分析。捕捉时Ethereal的过滤器可为空,也可设置Ethereal的capture filter 的filter string设置为:ether[12:2] <= 1500,或其它。 ①分析捕获到IP包的格式,按照对应字段找出其对应值记录下来,并体会各部分的作用。 捕获的数据包如下 对应字段: Version:4 (版本为4 )Header length :20bytes (首部长度)Differentisted services Field:0x00(区分服务) Total length :346 (总长度) Flags:0x00(标识)MF:0 DF:0 Fragment offset:0(片偏移)Time to live :128(生存时间)Protocol:UDP(协议)Header checksum :0xaf9f(首部检验码)Source:192.168.71.106(源地址) Destination:255.255.255.255

网络安全协议课程设计报告SSL协议

协议的安全性研究 1 引言 随着计算机网络技术的飞速发展,信息时代的人们对的依赖性越来越大。当今时代,电子商务和电子政务的应用越来越广泛,然而网络安全问题严重束缚了计算机网络的进一步应用。安全套接层( )协议是由公司设计开发的安全协议,主要用于加强应用程序之间的数据的安全性。协议是基于应用的安全协议,它采用了算法、4—128、一128、三重算法和5等加密技术实现两个应用层之间的机密性、可靠性和数据完整性,并采用X.509数字证书实现鉴别,其加密的目的是建立一个安全的通讯通道,而且该通道可在服务器和客户机两端同时实现支持。 2 协议简述及相关概念 协议用来建立一个在客户和服务器之间安全的连接,尤其可被用来认证服务器,可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在协议之上的任意应用协议数据的完整性和隐蔽性服务。为在上安全地传送数据提供了一介加密通道,建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应用层数据。 2.1 安全套接层协议。 是由设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。位于协议与各种应用层协议之间,为连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和服务器无关的。 2.2 协议可分两层: 2.2.1 记录协议: 它建立在可靠的传输协议(如)之上,位于协议的底层,为高层协议提供数据封装、压缩、加密等基本功能的支持。在中,所有数据被封装在记录中,握手协议中的报文,要求必须放在一个记录协议层的记录里,但应用层协议的报文,允许占用多个记录来传送 (1) 记录头格式 记录头可以是2个或3个字节长的编码。记录头包含的信息有记录头的长度、记录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密()算法时,填充实际数据,使其长度恰好是块的整数倍。最高位为1时,不含有填充数据,记录头的长度为2个字节,记录数据的最大长度为32767个字节;最高位为0时,含有填充数据,记录头的长度为3个字节,记录数据的最大长度为16383个字节。

网络协议分析实验报告

课程设计 课程设计题目网络协议分析实验报告学生姓名: 学号: 专业: 2014年 6 月 29日

实验1 基于ICMP的MTU测量方法 实验目的 1)掌握ICMP协议 2)掌握PING程序基本原理 3)掌握socket编程技术 4)掌握MTU测量算法 实验任务 编写一个基于ICMP协议测量网络MTU的程序,程序需要完成的功能: 1)使用目标IP地址或域名作为参数,测量本机到目标主机经过网络的MTU; 2)输出到目标主机经过网络的MTU。 实验环境 1)Linux系统; 2)gcc编译工具,gdb调试工具。 实验步骤 1.首先仔细研读ping.c例程,熟悉linux下socket原始套接字编程模式,为实验做好准备; 2.生成最大数据量的IP数据报(64K),数据部分为ICMP格式,ICMP报文为回送请求报 文,IP首部DF位置为1;由发送线程发送; 3.如果收到报文为目标不可达报文,减少数据长度,再次发送,直到收到回送应答报文。 至此,MTU测量完毕。

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。[1] 它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。ICMP报文在IP帧结构的首部协议类型字段(Protocol 8bit)的值=1.

ICMP原理 ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。 我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。 ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.是IP层的一个协议。但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP报文需通过IP协议来发送。ICMP数据报的数据发送前需要两级封装:首先添加ICMP 报头形成ICMP报文,再添加IP报头形成IP数据报 通信术语最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。 实验2 基于UDP的traceroute程序 实验目的 1)掌握UDP协议 2)掌握UDP客户机/服务器编程模式 3)掌握socket编程技术 4)掌握traceroute算法

编程实现简单的TCP协议分析器

《网络系统》课程设计报告 学院专业 班级学号 学生姓名指导教师 课程成绩完成日期2013年6月28日

课程设计成绩评定 学院专业 班级学号 学生姓名指导教师 完成日期2013年6月28日 指导教师对学生在课程设计中的评价 评分项目优良中及格不及格课程设计中的创造性成果 学生掌握课程内容的程度 课程设计完成情况 课程设计动手能力 文字表达 学习态度 规范要求 课程设计论文的质量 指导教师对课程设计的评定意见 综合成绩指导教师签字2013年6月28日

课程设计任务书 学院专业 课程名称网络系统课程设计时间2012~2013学年第二学期17~18周学生姓名指导老师 题目编程实现简单的TCP协议分析器 主要内容: (1)从局域网中抓取IP数据包; (2)对它进行分析得到相应的头部信息; (3)过滤TCP包进行分析,得到TCP包的相应信息 (4)谈谈本次课程设计活动的体会和心得 要求: (1)利用编程软件 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。 (3)学会文献检索的基本方法和综合运用文献的能力。 (4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。 应当提交的文件: (1)课程设计报告。 (2)课程设计附件(源程序、各类图纸、实验数据、运行截图等)

编程实现简单的TCP协议分析器 学生姓名:指导老师: 摘要编程实现简单的TCP协议分析器。TCP协议分析器是一种用于监督和跟踪网络活动的诊断工具。它从局域网中抓取IP数据包,并对它进行分析得到相对应的头部信息,过滤TCP包进行分析,得到TCP包的相应信息。运行程序平台为windows7/XP,程序通过调试运行,初步实现了设计目标,并且再经过适当完善后,将可以应用在商业中解决实际问题。TCP协议的数据传送程序是由二个子程序组成的。也可以看成是服务器端程序和客户端程序,其中:服务器端程序的功能是侦听端口号,接收远程主要的TCP连接申请,并接收远程主机传送来的文字数据。 关键词程序设计;TCP;局域网;指令;服务器

《网络安全协议》课程教学大纲

《网络安全协议》课程教学大纲 一、课程基本信息 二、课程教学目标 本课程内容按照协议栈由底层到高层的顺序组织,通过本课程的学习,使学生在整个网络安全协议的体系结构下,系统地掌握网络安全协议的基本概念、基本理论和基础知识;掌握典型且广泛应用的L2TP、IPsec、SSL和TLS、SSH、Socks、SNMP及SHTTP等安全协议的基本原理、设计思想、系统部署、安全性分析及应用等内容。针对网络安全需求,使学生深刻理解网络安全协议理论和技术在网络安全保障中的地位和作用,并能够运用所学的知识,进行简单网络安全应用系统的设计与开发,达到保障网络安全要求的目的。 三、教学学时分配 《网络安全协议》课程理论教学学时分配表

《网络安全协议》课程实验内容设置与教学要求一览表

四、教学内容和教学要求 第一章安全标准(1学时) (一)教学要求 通过本章内容的学习,了解安全标准的国内外发展现状,理解信息技术安全评估通用标准的组件、流程和方法,当前流行操作系统的安全等级等。 (二)教学重点与难点 教学重点:信息技术安全评估通用标准。 教学难点:信息技术安全评估通用标准的流程和方法。 (三)教学内容 第一节安全标准的国内外发展现状 1.TCSEC 2.ITSEC、CTCPEC及FC 3.GB 17859-1999

4.GB/T 18336-2001 第二节信息技术安全评估通用标准 1.CC安全测评体系分析 2.安全功能组件 3.CC测评流程 4.CC评估方法 5.通用准则识别协议 第三节当前流行操作系统的安全等级 1.Windows的安全等级 2.Linux的安全等级 3.国产操作系统的安全等级 本章习题要点:信息技术安全评估通用标准,当前流行操作系统的安全等级。 第二章数据链路层安全协议(3学时) (一)教学要求 通过本章内容的学习,理解广域网数据链路层协议和无线局域网数据链路层安全机制,掌握局域网、广域网和无线局域网数据链路层安全协议的基本原理、数据格式、系统部署和安全性分析等。 (二)教学重点与难点 教学重点:IEEE 802.10安全协议,第二层隧道协议,点对点隧道协议。 教学难点:隧道协议,IEEE 802.11安全机制。 (三)教学内容 第一节局域网数据链层协议及安全问题 1.IEEE 802局域网数据链路层协议 2.局域网数据链路层协议安全 第二节局域网数据链路层安全协议 1.IEEE 802.10 2.IEEE 802.1q 第三节广域网数据链路层协议 1.L2F第二层转发协议

网络协议分析课程设计-流量分析报告模板-http

西安邮电大学 (计算机学院) 网络协议分析设计报告题目:Web流量分析 专业名称:网络工程 班级:1201 学生姓名:司联波 学号(8位):04122007 指导教师:孙韩林 设计起止时间:2014年12月15日—2014年12月19日

网络协议分析与仿真课程设计报告 网络流量分析 一、课程设计目的 加深对IP、DSN 、TCP、UDP、HTTP等协议的理解; 掌握流量分析工具的使用,学习基本的流量分析方法。 二、课程设计内容 流量分析 工具:Wireshark(Windows或Linux),tcpdump(Linux) 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 内容:Web流量分析 清除本机DNS缓存,访问某一网页(http://biz.doczj.com/doc/1411941895.html,/),捕获访问过程中的所有分组,分析并回答下列问题(以下除1、3、8、11外,要求配合截图回答): (1)简述访问web页面的过程 (2)找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少? 所请求域名的IP地址是什么 (3)统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现) (4)找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。 (5)针对(4)中的TCP连接,该TCP连接的四元组是什么?双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个序 号? (6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。 (7)针对(5)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是这个 值? (8)在该TCP连接的数据传输过程中,找出每一个(客户)发送的报文段与其ACK 报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。根 据课本200页5.6.2节内容,给每一个数据报文段估算超时时间RTO。(提示: 用脚本编程实现 (9)分别找出一个HTTP请求和响应分组,分析其报文格式。参照课本243页图6-12,在截图中标明各个字段。

TCPIP协议分析试验报告

.. TCP/IP协议分析及应用实验报告 学号:姓名:班级: 实验项目编号: B03862704 实验项目名称:传输控制协议TCP 一、实验目的: 1. 掌握TCP协议的报文格式。 2. 掌握TCP连接的建立和释放过程。 3. 掌握TCP数据传输中编号与确认的过程。 4. 掌握TCP协议校验和的计算方法。 5. 理解TCP重传机制。 二、实验环境: Windows server 2003 TCP/IP协议分析及应用教学实验平台 三、实验原理(或要求): TCP报文格式 16位源端口号 16位目的端口号 位序号32 位确认序号32F P U A R S 4位首6保留(16I 位窗口大小 C 部长R S S Y 位)N N T G K H 度位紧急指针16位校验和16 选项数据 连接的建立TCP在面向连接的环境中,开始传输数据之前,在两个终 TCP是面 向连接的协议。通信双方必须用彼此的初端之间必须先建立一个连接。对于一个 要建立的连接,(指明希望收到的下一个ackseq始化序列号和来自对方成功传输 确认的应答号。ACK,应答信号写为八位组的编号)来同步,习惯上将同步信 号写为SYN整个同步的过程称为三次握手,如图: 优质范文.

连接的释放TCP附加标记的报FINTCP使用四次握手来结束通话(使用一个带有对于一个已经建立的连接,如图。文段) TCP重传机制只要计时器设置的重传时间到期,就对这个报文段设置一次计时器。TCP每发送一个报文段,但还没有收到确认,就要重传这一报文段。

优质范文. .. 四、实验步骤: 练习一:察看TCP连接的建立和释放 主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。主机A启动仿真编辑器,进入TCP连接视图。在“服务器信息/IP地址”中填入主机C的IP地址;使用“端口扫描”获取主机C的TCP端口列表,在“服务器信息/端口”中填入主机C的一个TCP端口(大于1024);点击“连接”按钮进行连接。 察看主机B、C、D捕获的数据,填写下表。 字段名称报文1 报文2 报文3 Sequence Number Acknowledgement Number ACK SYN TCP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。 主机A断开与主机C的TCP连接。 察看主机B、C、D捕获的数据,填写下表。

相关主题