滑动窗口协议实验报告

滑动窗口协议实验报告

篇一:实验二滑动窗口协议实验报告2

<滑动窗口协议的模拟>

项目设计报告

作者:完成日期:

签收人:签收日期:

1 需求分析

实验目的:加深对滑动窗口协议的理解

实验任务:实现对于滑动窗口协议的模拟

实验环境:PC机

操作系统:Windows XP

开发环境:Microsoft Visual C++ ,可以使用MFC类库

问题重述

界面要求:

项目要求的所有功能应可视,要有

简单的界面。

由一台PC(或线程)向另一台PC (或线程)发送数据包时,界面应显示出双方帧个数的变化,帧序号,发送和接受速度,暂停或重传提示等,界面中必须动态显示数据帧的发送和接受情况,包括在相应的窗口详细显示相应的ACK和其他收发数据帧后发出的消息,以表明模拟协议的正确运作过程。

在各种情况下,接受方和发送方窗口应实时显示帧的发送和接受情况,包括序号,时间戳,内容等。以及窗口的填充和清空情况。

网络接口要求:

两台机器或是一台机器中两个独立的线程模拟发送方与接受方,接收数据的端口初始应为监听状态。

发送方向接受方发起连接,成功后开始发送数据。

接受方要求:

接受方应由固定大小的滑动窗口,并对收到信息缓存。当发送方速度过快

或帧丢失(超时),接受方应发送消息,要求暂停或是重传(停---等协议)。

接受方要求按序向网络层提交收到的帧。

发送方要求:

发送方发送速度可以调节,并可以暂停或是重发。

发送方重传时可仅重传需要的帧。

可指定滑动窗口数目和要发送的帧的总数,停等的超时时间间隔以及发送类型(正常发送,错序发送,以

及缺帧,丢帧的现象),发送速率等参数。

2 概要设计

原理概述

发送方和接受方都维持了一个窗口,窗口内部包含了那些可以接受的序列号。

发送方的窗口大小从0开始,以后可以增大到某一个预设的最大值。由于发送方可能在将来的某个时刻重传未被确认的帧,所以它必须把已经送出去的

帧保留一段时间,直到他知道接受方已经接受了这些帧。当第n帧的确认到来时,第n-1,第n-2等也都被自动地确认了。

接受方的窗口总是固定大小的。接受方为其窗口内的每一个序列号保留了一个缓冲区。与每个缓冲区相连关联的还有一位,用来指明该缓冲区是满的还是空的。任何时候当一帧到达时,

接受方通过between函数检查它的序列号,看是否落在窗口内。如果确实落在窗口内,并且以前还没有收到这一帧,则接受该帧,并且保存起来。而不管这一帧是否包含网络层所期望的下一个分组,这个过程是肯定要执行的。该帧被保存在数据链路层中,直到所有序列号比他小的那些帧都已经按照正确的顺序提交给网络层之后,他才会被传递给网络层。

主要问题

问题一:如何模拟网络层的数据流量?

因为是模拟滑动窗口协议,为了使

项目能够进行下去,先做两个假设:假设一:发送方的网络层总有数据需要发送

假设二:接受方没有反向流量,因此不能捎带确认,每次等待辅助定时器超时之后发送一个不带数据

的ACK.

为了解决这个问题,我在发送方设置了一个发送定时器,定时间隔与发送速率一致。发送定时器每触发一次,一个数据包(新的数据包或者重发数据包)被送出。这样就可以通过调节该定时器调节发送方的发送速度。

问题二:如何模拟接受方的接收速率?

考虑到发送方发送数据包是在定时器的控制下主动地发送比较好控制,而用套接字编程时,数据包一到自然接收,如果不采取特殊的措施是无法控制接受速率的。因此在接受方设置一个接受定时器,时间间隔与接受速率一致。类似网络层中为了控制突发流量所采用的令

牌桶算法,接受定时器每触发一次,接受方就获得一块令牌,在有令牌的情况下,发送方的数据包到来才可以接受,否则就不作处理,当作丢失了。而且在已经有令牌的情况下,接受定时器再被触发,也不增加令牌的数量,始终只有一块。这样就大致控制了接收速率。

问题三:如何模拟信道出现的状况?

考虑到在实际的传输过程中信道可能出现丢包,或是干扰信号导致出错,但是在传输层上做实验的时候,这些错误已经被下层处理过了,我能看到的是一个可靠的数据位流。因此只好人工模拟出错和丢包的情况。具体是这样实现的,在数据包内增加一个校验和域,当然校验和本来不应该放在数据包内(在写程序的时候,没有明确区分网络层的数据包和数据链路层的帧的概念,无伤大雅但是显的概念不清,以后注意改进)。这里的校验和其实只是指明该帧是否在信道中被丢弃或是出错。接受方将

通过检查这一位对不同的数据包进行不同的处理(或者不处理)。

问题四:如何理解错序发送?

在具体实现中,按照错序发送模式下输入的顺序逐个发送数据包,并逐个启动重发定时器,没有被发送的数据包就当作是在传输过程中遗失了。

问题五:关于序列号的范围,发送窗口大小,接收窗口大小,缓冲区大小以及重发定时器数量的关系。

接受方窗口的尺寸应该不超过序列号范围的一半,以确保接收方向向前移动窗口之后,新的窗口与老的窗口之间没有重叠。接受方所需的缓冲区和定时器数量等于窗口的尺寸而不是序列号的范围。

问题六:关于nak的理解

当接受方有理由怀疑出现了错误时,他就给发送方送回一个否定的确认(nak)帧。这样的帧实际上是一个重传请求,在nak中指定了要重传的帧。有两种情况接受方应该怀疑:接受到一个

受损的帧,或者到达的帧并非是自己所期望的。为了避免多次请求重传同一个丢失的帧,接受方应该记录下对于某一帧是否已经发送过nak。如果对于frame_expected

还没有发送过nak,则变量no_nak 为true.如果nak被损坏了,或者丢失了,则不会有实质性的伤害,因为发送方最终会超时,无论如何会重传丢失的帧。如果一个nak被发送出去之后丢了,而接受方又收到一个错误的帧,则no_nak 将为true,并且辅助定时器将被启动。当辅助定时器超时后,一个ack帧将被发送出去,以便将发送方重新同步到接受方的当前状态。

数据结构

数据包的结构:

Cstring framekind

数据包的类型,可能是数据(),确认(),否定性确认(),其实对于接受方来说这个域是没有意义的,因为他收到的总是数据,但是对发送方来说,就

需要区分确认信息与否定确认。本来数据包和消息可以用不同的数据结构,但是考虑到程序的可扩展性(例如,一个线程内同时收发数据,或是有捎带确认等等),所以采用一样的结构。

Cstring seq

对于数据类型的包来说,这个域指明了数据包的序列号。对于确认信息来说,这个域说明了到这个序列号之前的所有数据包都已经收到。对于否定性确认来说,这个域放的是需要重传的数据包的序列号。

Cstring info

数据包的内容,没有什么意义。

Cstring tm

时间戳,指明了该数据包被生成(或发送)的时间,通过这个域的信息,可以区分重传的帧。

Cstring cksum

校验和,详见前面的说明。当这个域为0时,说明这个数据包没有受损,也没有被丢失。这个域为1表示数据包

受损,大于2表示数据包被丢弃,程序接收到数据包之后首先查看这个域的值,然后交付相应的分支进行处理。

发送窗口的数据结构:

int ack_expected

发送窗口的下界,表示最小的尚未被确认的帧,收到接受方的ack之后,向前滑动这个值。int frame_to_send 发送窗口的上界,指出了当前待发送的帧序号,每成功发送一帧,向前滑动一位,直到窗口满为止。

int nbuffer

指出了当前发送窗口的大小,即尚未被确认的帧的个数.通过对这个值的检验,可以强行关闭或打开网络层,以避免网络层流量太大导致缓冲区溢出.

接收窗口的数据结构:

int frame_expected

接收窗口的下界,即当前期望接收到的帧.当链路层将数据包顺序提交网络层之后,接收窗口整个向前滑动.

int too_far

接收窗口的上界,序列号落在这两个值之间的数据包,接受方都为之准备了缓存空间.而序列号掉在窗口外的那些数据包则认为是已经过期的数据包,直接扔掉.

booleanarrived[ ]

因为是选择性重传的协议,在收到一个错误的数据包之后不会将之后的数据包统统丢弃,而是缓存起来,所以需要指明接受缓冲区内那些数据包已经收到,那些还没有收到.

算法分析

以下用伪代码的形式分别给出接收方和发送方的基本算法

sender:

void protocol

{

int ack_expected;

int next_frame_to_send;

int nbuffer;

packet out_buf[NR_BUFS];

int i;

frame r;

enable_network_layer;

ack_expected=0;

next_frame_to_send=0;

nbuffer=0;

while

{

wait_for_event

switch

{

case network_layer_ready: nbuffer=nbuffer+1;

get a packet from network layer; send that packet and start timer; inc;

break;

case frame_arrival:

get a framet from physical layer; if

prepare to send that packet again; if

{

while)

{

nbuffer=nbuffer-1;

stop_timer;

inc;

篇二:实验一滑动窗口协议实验

实验一滑动窗口协议实验

? 实验目的:

在NetRiver实验系统中,用C语言实现滑动窗口协议中的1比特滑动窗口协议和后退N帧协议,理解滑动窗口协议

? 实验原理和说明:

(1).窗口机制

滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方

窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。下面举一个例子(假设发送窗口尺寸为2,接收窗口尺寸为1):

分析:①初始态,发送方没有帧发出,发送窗口前后沿相重合。接收方0号窗口打开,等待接收0号帧;②发送方打开0号窗口,表示已发出0帧但尚确认返回信息。此时接收窗口状态不变;

③发送方打开0、1号窗口,表示0、1号帧均在等待确认之列。至此,发送方打开的窗口数已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧。接收窗口此时状态仍未变;④接收方已收到0号帧,0号窗口关闭,1号窗口打开,表示准备接收1号帧。此时发送窗口状态不变;⑤发送方收到接收方发来的0号帧确认返回信息,关闭0号窗口,表示从重发表中删除0号帧。此时接收窗口状态仍不变;⑥发送方继续发送2号帧,2号窗口打开,表示

2号帧也纳入待确认之列。至此,发送方打开的窗口又已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧,此时接收窗口状态仍不变;⑦接收方已收到1号帧,1号窗口关闭,2号窗口打开,表示准备接收2号帧。此时发送窗口状态不变;⑧发送方收到接收方发来的1号帧收毕的确认信息,关闭1号窗口,表示从重发表中删除1号帧。此时接收窗口状态仍不变。

若从滑动窗口的观点来统一看待1比特滑动窗口、后退n及选择重传三种协议,它们的差别仅在于各自窗口尺寸的大小不同而已。1比特滑动窗口协议:发送窗口=1,接收窗口=1;后退n协议:发窗口>1,接收窗口>1;选择重传协议:发送窗口>1,接收窗口>1。

(2).1比特滑动窗口协议

当发送窗口和接收窗口的大小固定为1时,滑动窗口协议退化为停等协议(stop-and-wait)。该协议规定发送方每发送一帧后就要停下来,等待接收方

已正确接收的确认(acknowledgement)返回后才能继续发送下一帧。由于接收方需要判断接收到的帧是新发的帧还是重新发送的帧,因此发送方要为每一个帧加一个序号。由于停等协议规定只有一帧完全发送成功后才能发送新的帧,因而只用一比特来编号就够了。其发送方和接收方运行的流程图如图所示。

.后退n协议

由于停等协议要为每一个帧进行确认后才继续发送下一帧,大大降低了信道利用率,因此又提出了后退n协议。后退n协议中,发送方在发完一个数据帧后,不停下来等待应答帧,而是连续发送若干个数据帧,即使在连续发送过程中收到了接收方发来的应答帧,也可以继续发送。且发送方在每发送完一个数据帧时都要设置超时定时器。只要在所设置的超时时间内仍收到确认帧,就要重发相应的数据帧。如:当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信

息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。

从这里不难看出,后退n协议一方面因连续发送数据帧而提高了效率,但另一方面,在重传时又必须把原来已正确传送过的数据帧进行重传(仅因这些数据帧之前有一个数据帧出了错),这种做法又使传送效率降低。由此可见,若传输信道的传输质量很差因而误码率较大时,连续测协议不一定优于停止等待协议。此协议中的发送窗口的大小为k,接收窗口仍是1。

.选择重传协议

在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。

一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发,其工作过程如图所示。显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。

? 实验代码以及代码说明:

实现代码如下:

#include ““

#include

using std :: deque;

using std :: cout;

using std :: endl;

using namespace std;

extern void SendFRAMEPacket;

#define WINDOW_SIZE_STOP_WAIT 1

#define WINDOW_SIZE_BACK_N_FRAME 4 /* the max windows size */

typedef enum {data, ack, nak} frame_kind;

/* define the structure of frame and frame head */

typedef struct frame_head {

frame_kind kind;

unsigned int seq;

unsigned int ack;

unsigned char data[100];

};

typedef struct frame {

frame_head head;

unsigned int size;

};

/* define the buffer zone */

struct StoreType {

frame *pfrm;

unsigned int sz;

};

deque mQue;

deque mQue2;

bool sendWinFull = false;

int counter = 0;

/*

* 停等协议测试函数

*/

int stud_slide_window_stop_and_wait {

unsigned int ack;

unsigned int num;

StoreType s;

/* by the messagetype to decide */

switch {

case MSG_TYPE_TIMEOUT:

num = ntohlpBuffer);

s = ;

/* if the seq is OK,send it */

if .)) {

SendFRAMEPacket, );

}

break;

case MSG_TYPE_SEND:

/* prepare a new frame */

= new frame;

= *pBuffer;

= bufferSize;

网络协议分析实验报告

实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解ARP 、ICMP 、IP 、TCP 、UDP 协议的结构。 二、实验环境 1.虚拟机(VMWare 或Microsoft Virtual PC )、Windows 2003 Server 。 2.实验室局域网,WindowsXP 三、实验学时 2学时,必做实验。 四、实验内容 注意:若是实验环境1,则配置客户机A 的IP 地址:192.168.11.X/24,X 为学生座号;另一台客户机B 的IP 地址:192.168.11.(X+100)。在客户机A 上安装EtherPeek (或者sniffer pro )协议分析软件。若是实验环境2则根据当前主机A 的地址,找一台当前在线主机B 完成。 1、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析ARP 协议; 2、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析icmp 协议和ip 协议; 3、客户机A 上访问 https://www.360docs.net/doc/da2791461.html, ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A

2、分析icmp协议和ip协议,分别填写下表 表一:ICMP报文分析

3、分析TCP和UDP 协议,分别填写下表

实验7 OSPF路由协议配置 实验报告

浙江万里学院实验报告 课程名称:数据通信与计算机网络及实践 实验名称:OSPF路由协议配置 专业班级:姓名:小组学号:2012014048实验日期:6.6

再测试。要求写出两台路由器上的ospf路由配置命令。

[RTC-rip-1]import ospf [RTC-rip-1]quit [RTC]ospf [RTC-ospf-1]import rip [RTC-ospf-1]quit

结合第五步得到的路由表分析出现表中结果的原因: RouteB 通过RIP学习到C和D 的路由情况,通过OSPF学习到A 的路由信息 实验个人总结 班级通信123班本人学号后三位__048__ 本人姓名_ 徐波_ 日期2014.6.06 本次实验是我们的最后一次实验,再次之前我们已经做了很多的有关于华为的实验,从一开始的一头雾水到现在的有一些思路,不管碰到什么问题,都能够利用自己所学的知识去解决或者有一些办法。这些华为实验都让我受益匪浅。 实验个人总结 班级通信123班本人学号后三位__046__ 本人姓名_ 金振宁_ 日期2014.6.06 这两次实验都可以利用软件在寝室或者去其他的地方去做,并不拘泥于实验室,好好的利用华为的模拟机软件对我们来说都是非常有用的。 实验个人总结 班级通信123班本人学号后三位__044_ 本人姓名_ 陈哲日期2014.6.06

理解OSPF路由协议,OSPF协议具有如下特点: 适应范围:OSPF 支持各种规模的网络,最多可支持几百台路由器。 快速收敛:如果网络的拓扑结构发生变化,OSPF 立即发送更新报文,使这一变化在自治系统中同步。 无自环:由于OSPF 通过收集到的链路状态用最短路径树算法计算路由,故从算法本身保证了不会生成自环路由。 实验个人总结 班级通信123班本人学号后三位__050 本人姓名_ 赵权日期2014.6.06 通过本次实验学会了基本的在路由器上配置OSPF路由协议,组建一个简单的路由网络。想必以后的生活中有可能会用到。

网络协议实验报告

网络协议实验报告 班级:_____网络2010-2班____ 学号:________08103617______ 姓名:__________程凯凌______ 指导老师:__________杨东平__________ 日期:2012年12月27日

ARP1: 0000 ff ff ff ff ff ff 00 26 c7 35 46 48 08 06 00 01 0010 08 00 06 04 00 01 00 26 c7 35 46 48 0a 6e d0 d4 0020 00 00 00 00 00 00 0a 6e c0 01 以太网帧为:ff ff ff ff ff ff 00 26 c7 35 46 48 08 06 其中ff ff ff ff ff ff为目的地址(广播询问) 00 26 c7 35 46 48为源地址 08 06为上层协议类型arp(0x0806) Arp帧为: 00 01 08 00 06 04 00 01 00 26 c7 35 46 48 0a 6e d0 d4 00 00 00 00 00 00 0a 6e c0 01 其中00 01表示硬件类型(0x0001) 08 00表示 IP协议类型(0x0800) 06表示硬件长度为6 04表示协议长度为4 00 01表示操作请求码为0x0001 00 26 c7 35 46 48表示发送MAC地址 0a 6e d0 d4 表示发送IP地址为10.110.208.212 00 00 00 00 00 00 表示目的MAC地址 0a 6e c0 01表示目的IP地址10.110.192.1 ARP2: 0000 00 26 c7 35 46 48 00 14 d5 f1 de 1b 08 06 00 01 0010 08 00 06 04 00 02 00 14 d5 f1 de 1b 0a 6e c0 01 0020 00 26 c7 35 46 48 0a 6e d0 d4 00 00 00 00 00 00 0030 00 00 00 00 00 00 00 00 以太网帧:00 26 c7 35 46 48 00 14 d5 f1 de 1b 08 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 其中00 26 c7 35 46 48为目的地址(应答) 00 14 d5 f1 de 1b为源地址 08 06表示上层协议类型(0x0806) 00 00 00 00 00 00 00 00 00 00 00 00 00 00协议填充数据 arp帧为: 00 01 08 00 06 04 00 02 00 14 d5 f1 de 1b 0a 6e c0 01 00 26 c7 35 46 48 0a 6e d0 d4 其中00 01表示硬件类型(0x0001) 08 00表示 IP协议类型(0x0800) 06表示硬件长度为6 04表示协议长度为4

数字图像处理实验报告

数字图像处理实验报告

实验一 数字图像的基本操作和灰度变换 一、 实验目的 1. 了解数字图像的基本数据结构 2. 熟悉Matlab 中数字图像处理的基本函数和基本使用方法 3. 掌握图像灰度变换的基本理论和实现方法 4. 掌握直方图均衡化增强的基本理论和实现方法 二、实验原理 1. 图像灰度的线性变换 灰度的线性变换可以突出图像中的重要信息。通常情况下,处理前后的图像灰度级是相同的,即处理前后的图像灰度级都为[0,255]。那么,从原理上讲,我们就只能通过抑制非重要信息的对比度来腾出空间给重要信息进行对比度展宽。 设原图像的灰度为),(j i f ,处理后的图像的灰度为),(j i g ,对比度线性展宽的原理示意图如图1.1所示。假设原图像中我们关心的景物的灰度分布在[a f , b f ]区间内,处理后的图像中,我们关心的景物的灰度分布在[a g ,b g ]区间内。在这里)(a b g g g -=?()b a f f f >?=-,也就是说我们所关心的景物的灰度级得到了展宽。 根据图中所示的映射关系中分段直线的斜率我们可以得出线性对比度展 b g a g a b )j 图1.1 对比度线性变换关系

宽的计算公式: ),(j i f α, a f j i f <≤),(0 =),(j i g a a g f j i f b +-)),((, b a f j i f f <≤).,( (1-1) b b g f j i f c +-)),((, 255),(<≤j i f f b (m i ,3,2,1 =;n j ,3,2,1 =) 其中,a a f g a = ,a b a b f f g g b --=,b b f g c --=255255,图像的大小为m ×n 。 2. 直方图均衡化 直方图均衡化是将原始图像通过某种变换,得到一幅灰度直方图为均匀分布的新图像的方法。 离散图像均衡化处理可通过变换函数: 来实现。 三、实验步骤 1.图像灰度线性变换的实现 (1)读入一幅灰度图像test1.tif ,显示其灰度直方图。 新建M 文件,Untitled1.m ,编辑代码如下。 得到读入图像test1和它的灰度直方图。

《网络协议分析》实验报告

网络协议分析 ——计算机+自动化0902班易珊珊学号:200926100427 1 实验目的 ?掌握如何利用协议分析工具分析IP数据报报文格式,体会数据报发送,转发的过程。 ?通过分析截获TCP报文首部信息,理解首部中的序号,确认号等字段是TCP可靠连接的基础.通过分析TCP连接的三次握手建立和释放过程,理解TCP连接建立和释放机制。 2 实验内容 ?(1)IP协议分析 ?IP协议分析 (图一)IP数据报的格式

(图二)捕获的IP数据报 version:4,版本,占四位。 Header length:20 bytes,IP数据报首部为20字节,等于固定部分长度,说明没有可选字段。 Differentiated services field:ox00,所有服务类型都为0,说明这是一种缺省情况,IP数据报的发送者没有规定IP数据报的服务类型。 Total length:52,IP数据报总长度为52字节。 Identification:oxa47b,标识,占16位。 Flags: 标志,占3位。DF=1,MF=0, Fragment offset:0,说明该数据报没有分片。 Time to live:128,生存时间是128,每过一个路由器它就减1。 Protocol:TCP(ox06)此IP 数据报携带的数据使用TCP协议,协议字段

值为6。 Header checksum:oxdf8a,首部校验和,占16位。Source:192.168.2.10 源地址,占32位。Destination:202.102.233.164 目的地址,占32位。 ?(2)TCP协议分析: (图三)TCP报文段的首部格式

ospf协议,实验报告

ospf协议,实验报告 篇一:实验7 OSPF路由协议配置实验报告 浙江万里学院实验报告 课程名称:数据通信与计算机网络及实践 实验名称: OSPF路由协议配置专业班级:姓名:小组学号:XX014048 实验日期: 再测试。要求写出两台路由器上的ospf路由配置命令。 第页共页 [RTC-rip-1]import ospf [RTC-rip-1]quit [RTC]ospf [RTC-ospf-1]import rip [RTC-ospf-1]quit 结合第五步得到的路由表分析出现表中结果的原因: RouteB 通过RIP学习到C和D 的路由情况,通过OSPF 学习到A 的路由信息 实验个人总结 班级通信123班本人学号后三位__048__ 本人姓名_徐波_ 日期 本次实验是我们的最后一次实验,再次之前我们已经做了很多的有关于华为的实验,从一开始的一头雾水到现在的有一些思路,不管碰到什么问题,都能够利用自己所学的知识去解决或者有一些办法。这些华为实验都让我受益匪浅。

实验个人总结 班级通信123班本人学号后三位__046__ 本人姓名_金振宁_ 日期 这两次实验都可以利用软件在寝室或者去其他的地方去做,并不拘泥于实验室,好好的利用华为的模拟机软件对我们来说都是非常有用的。 实验个人总结 班级通信123班本人学号后三位本人姓名_陈哲日期 第页共页 篇二:单区域的OSPF协议配置实验报告 学生实验报告 *********学院 篇三:OSPF实验报告 计算机学院 实验报告 ( XX 年春季学期) 课程名称:局域网设计与管理 主讲教师:李辉 指导教师:学生姓名: 学 年郑思楠号: XX012019 级: XX级

gobackn协议实验报告

一个数据帧如图所示: 其中有效数据和校验码可能含有转义字符。 (3) 帧中各个字段的定义和编码,计算CRC校验和的多项式定义 帧的定义编码:帧中的第一比特为开头FLAG,第二比特是帧的类型,共定义了{data,ack,nak} frame_kind三种类型,用枚举常量表述,第三比特是顺序编码,用于确定到达帧的顺序,第四比特是ACK捎带确认讯息,记录了当前已收到帧的确认情况,这是数据帧的头部。若为数据帧,从第五比特开始为网路层的数据,到网路层包裹信息结束后,接上4比特的CRC校验讯息,后有一结束字符FLAG表明该帧结束。 CRC校验数:CRC校验数据由函数crc32()产生,函数crc32()返回一个32位整数为数据生成CRC-32校验和,并且把这 32比特校验和附在数据字节之后。 多项式定义:采用的CRC校验方案为CRC-32,生成多项式为: x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1 校验和附加在数据帧尾部,接受方用带校验和的数据来逻辑除以生成多项式,余数为零则数据无误码,反之有误码等待发送方重传。 (4) 协议工作时两个站点之间信息交换的过程控制,尤其是发生误码条件下的控制方案 协议工作时,两个站点通过互发数据包交换数据,而控制讯息则稍带在数据讯息中传递,当遇到超时情况时,则主动发送空数据包以提供讯息。 当出现帧丢失时,如收到帧的序号有跳跃,或者出现CRC校验出错丢弃了某帧,会主动发送NAK否定帧,提示重传,接收方丢弃所有的后续帧。若长期未产生放送消息,则出现ACK超时事件,主动发送ACK帧提示确认,对方收到确认后,滑动窗口继续发送,若一直未收到确认讯息,则出现数据帧超时事件,发送方会自动重发未确认帧。 11.3 软件设计 给出程序的数据结构,模块之间的调用关系和功能,程序流程。 (1)数据结构:数据结构是整个程序的要点之一,程序维护者充分了解数据结构就可以对主 要算法和处理流程有个基本的理解。描述程序中自定义结构体中各成员的用途,定义的全局变量和主函数中的变量的变量名和变量所起的作用。 采用字符数组结构来存放数据帧:

IP协议分析实验报告

计算机网络 实 验 报 告 实验名称: IP协议分析 实验分组号: 实验人:郑微微 班级: 12计算机科学系本四B班学号: 实验指导教师:阮锦新 实验场地:网络实验室706 实验时间: 2014年11月 17号 成绩:

一、实验目的 1、掌握IP协议分析的方法 2、掌握TCP/IP体系结构 3、加深网络层协议的理解 4、学会使用网络分析工具 二、实验要求 1、实验前下载安装Ethereal/Wireshark/Sniffer中的一款网络分析工具软件 2、了解网络分析工具软件的常见功能与常见操作 3、每位学生必须独立完成所有实验环节 三、实验环境 1、操作系统:Windows XP/Windows 7/Windows 2008 2、已安装网络分析工具软件 3、PC机能访问互联网 四、实验内容及原理 1、实验内容 (1)IP头的结构 (2)IP报文分析 2、实验原理 网络之间互连的协议(Internet Protocol,IP)就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。 IP报文由报头和数据两部分组成,如图1所示:

图1 IP报文格式 五、需求分析 IP协议是TCP/IP体系中两个主要的协议之一,而IP地址位于IP数据报的首部,在网络层及以上使用的是IP地址,因此在数据链路层是看不见数据报的IP地址,另外首部的前一部分是固定长度,共20字节。在TCP/IP的标准中,各种数据格式常以32位为单位来描述,通过分析IP数据报的格式就能够知道IP协议都具有哪些功能。 六、实验步骤 1、打开网络分析工具软件 2、抓取浏览器数据包 (1)启动网络分析工具软件,设置抓包过滤条件。 (2)启动浏览器,在地址栏输入要访问的IP地址。 (3)关闭浏览器,停止抓包。 (4)存储所捕获的数据包。 (5)分析数据包。 七、实验分析 1.启动网络分析工具软件,设置抓包过滤条件为“==”

1_RIP路由协议实验资料

1. 实验报告如有雷同,雷同各方当次实验成绩均以0分计。 2. 当次小组成员成绩只计学号、姓名登录在下表中的。 3. 在规定时间内未上交实验报告的,不得以其他方式补交,当次成绩按0 分计。 4. 实验报告文件以PDF 格式提交。 【实验题目】RIP 路由协议实验 【实验目的】 1. 掌握在路由器上配置RIPv2和RIPv1路由协议。 2. 了解有类路由和无类路由的区别,是否支持VLSM (可变长子网掩码) 3. 了解路由器广播和组播形式的区别 【实验内容】 1. 在实验设备上完成P145实验4-2并测试实验网连通性。 2. 通过实验观察RIP V1 和 V2的区别(重点在VLSM 上)给出分析过程与结果(实验IP 采用 10.10.x.0网段) 3. 学会使用Debug ip packet 和Debug ip rip 命令,并对debug 信息做分析。 4. 观察试验拓扑中链路状态发生改变时路由表的前后信息对比及debug 信息的变化。 【实验要求】 重要信息信息需给出截图,注意实验步骤的前后对比。 【实验记录】(如有实验拓扑请自行画出) 实验拓扑图: 实验一:RIPv2路由协议 (使用10.10.x.0的IP 地址,变长子网掩码,两个路由器之间的网段是10.10.2.0/30,路由器和PC 之间的网段分别是10.10.3.0/24和10.10.1.0/24。) 步骤0: (1) 配置PC1和PC2的IP 、掩码、网关,测试连通性。 警示

分析:因为PC1和PC2之间还没有配置路由,所以ping不通。(2)在Router1上执行show ip route,记录路由表信息。 分析:PC1和PC2之间还没有配置路由。 (3)在PC上的命令窗口执行命令route print,记录路由表信息。

图像处理实验报告模板

桂林电子科技大学 实验报告 一、实验目的 1、掌握基本的图像处理方法,包括读取、写入、显示、剪切、运算以及快操作 等等。 2、掌握常用的图像变换方法,分析变换结果。 二、实验内容 编写程序,在Matlab下调试运行,并注意观察分析结果。 1、使用imread函数分别读入图象cameraman.tif 、canoe.tif,并使用subplot 和imshow函数进行显示。再使用imcrop对第一幅图片进行剪切,并保存成文件。 2、申明向量X和矩阵A,使用二维傅立叶变换和fftshift函数进行处理,观察向量和矩阵结果。 3、创建一个1000*1000的全0图像,其中选择某矩形区域设置其象素为1(350:649,475:524),对该二值图逆时针旋转45°角,比较旋转前后的图像和傅里叶变换频谱。 三、实验设备、环境 计算机 四、实验原理 1、图像平滑算法 (1) 简单平均法:

设某像素的灰度值为,迭加噪声后,一幅含噪声的图像可表示为 现取以为中心的邻域S ——NN 方形窗口,在S 域内进行局部平均,得 式中,N 的平方为窗口内像素总数。令 ,则 式中,加权函数 (2)中值滤波: 中值滤波是一种非线性的信号处理方法。中值滤波器在1971 年由J.w.Jukey 首先提出并应用在一维信号处理技术(时间序列分析)中,后来被二维图象信号处理技术所引用。中值滤波在一定的条件下可以克服线性滤波器如最小均方滤波、均直滤波等带来的图象细节模糊,而且对滤除脉冲干扰及图象扫描噪声最为有效。由于在实际运算过程中不需要图象的统计特征,因此这也带来不少方便。但是对于一些细节多,特别是点、线、尖顶细节多的图象不宜采用中值滤波。中值滤波一般采用一个含有奇数个点的滑动窗口,将窗口中各点灰度值的中值来替代值定点(一般是窗口的中心点)的灰度值。对于奇数个元素,中值是指按大小排序后,中间的数值;对于偶数个元素,中值是指排序后中间两个元素灰度值的平均值。 一般选用3*3或5*5窗口,形状可分为方形或十字形,如下图所示。 (a) 方形 (b) 十字形 图2-1 二维中值滤波窗口形状 二维中值滤波可表示为

路由协议的配置实验报告

河南工业大学信息学院网络课程组实验指导 实验二:路由协议的配置 一、实验目的: 1. 了解和掌握网络中IP地址、子网掩码、默认网关的配置方法和原则; 2. 了解网络互连时根据设备的不同选用不同的连接线路; 3. 在路由器上配置动态路由协议; 4. 理解路由表的变化及含义。 二、实验环境: 1. 运行Windows 2000 / 2003 Server / XP操作系统的PC一台; 2. 每台PC具有Packet Tracer模拟软件。 三、实验内容与要求: 1. 使用交换机组建简单局域网。 (1)打开Packet Tracer模拟软件,完成如图2-1所示的拓扑结构图。具体过程参考《附件一:使用交换机组建简单局域网》。 (2)将Packet Tracer中的文件,保存文件名为“专业班级+学号+姓名-1”,如“电信1001班201046830508范浩然-1”。 (3)提示:为便于教师检查,请同学们把每个主机和路由器的接口及IP地址在图上标 注出来,如下图所示。 (4)要求:在实验报告中添加两个截屏结果:拓扑结构,和主机间Ping通的结果。

图2-1 交换机组建简单局域网 ] 页1第[ 制2014.10. 河南工业大学信息学院网络课程组实验指导 2.使用路由器组建简单网络。 (1)打开Packet Tracer模拟软件,完成如图2-2所示的拓扑结构图。具体过程参考《附件二:使用路由器组建简单网络》。 (2)将Packet Tracer中的文件,保存文件名为“专业班级+学号+姓名-2”,如“电信1001班201046830508范浩然-2”。 (3)注意:为规范网络的IP地址规划格式,要求IP地址的分配需要满足以下要求: IP地址中的第二个字节以班级命名;第三个字节选取学号后两位;若网络中有多个网络段,其他网络的第三字节依次累加。 举例如下:可以看出下面网络中总共有3个网络,对于电信1106班学号后两位为31的谢川娣同学,每个网络的网络号分别是:192.6.31.0、192.6.32.0、192.6.33.0。 (4)提示:为便于教师检查,请同学们把每个主机和路由器的接口及IP地址在图上标 注出来,如下图所示。

网络协议实验报告

实验一: unsigned short checkSum(char*pBuffer,int nLen) { unsigned short nWord; unsigned int nSum=0; int i; for(i=0;i>16) { nSum=(nSum&0xFFFF)+(nSum>>16); } nSum=~nSum; return((unsigned short)nSum); } int timeout=1000; setsockopt(sock_raw,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout)); setsockopt(sock_raw,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout)); ICMPheader*pIcmpHeader=(ICMPheader*)sendBuffer; pIcmpHeader->byType=8; pIcmpHeader->byCode=0; pIcmpHeader->nId=(USHORT)::GetCurrentProcessId(); pIcmpHeader->nChecksum=0; pIcmpHeader->nSequence=htons(nSeq++); memset(sendBuffer+sizeof(ICMPheader),'*',32); pIcmpHeader->nChecksum=htons(checkSum(sendBuffer, sizeof(ICMPheader)+32)); int nRet=sendto(sock_raw,sendBuffer,sizeof(ICMPheader)+32,0, (SOCKADDR*)&dest_addr,sizeof(SOCKADDR_IN)); IPheader*ipHdr=(IPheader*)recvBuffer; ICMPheader*icmpHdrRet=(ICMPheader*)(recvBuffer+sizeof(IPheader)); if(icmpHdrRet->byCode==0&& icmpHdrRet->nId==pIcmpHeader->nId&& icmpHdrRet->nSequence==pIcmpHeader->nSequence) { nPacketReceived++; unsigned long dwRecvTime=::GetTickCount(); int nRoundTime=dwRecvTime-dwSendTime; nTotalRoundTime+=nRoundTime;

滑动窗口实验

计算机通信网络实验 滑动窗口实验 学院: 班级: 学号: 姓名: 2012年11月14日

一、实验目的 实现一个滑动窗口协议的数据传送部分,目的在于使学生更好地理解基本滑动窗口协议的基本工作原理,掌握计算机网络协议的基本实现技术。 二、原理简介 (1)窗口机制 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。 发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。 (2)1比特滑动窗口协议 当发送窗口和接收窗口的大小固定为1时,滑动窗口协议退化为停等协议(stop-and-wait)。该协议规定发送方每发送一帧后就要停下来,等待接收方已正确接收的确认(acknowledgement)返回后才能继续发送下一帧。由于接收方需要判断接收到的帧是新发的帧还是重新发送的帧,因此发送方要为每一个帧加一个序号。由于停等协议规定只有一帧完全发送成功后才能发送新的帧,因而只用一比特来编号就够了。

(3)后退n协议 由于停等协议要为每一个帧进行确认后才继续发送下一帧,大大降低了信道利用率,因此又提出了后退n协议。后退n协议中,发送方在发完一个数据帧后,不停下来等待应答帧,而是连续发送若干个数据帧,即使在连续发送过程中收到了接收方发来的应答帧,也可以继续发送,且发送方在每发送完一个数据帧时都要设置超时定时器,只要在所设置的超时时间内仍收到确认帧,就要重发相应的数据帧。如:当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。 三、实验步骤 1.编写滑动窗口协议的实现程序; 2.在模拟实现,调试并运行自己编写的协议实现程序; 3.了解协议的工作轨迹,如出现异常情况,在实验报告中写出原因分析。 四、实验过程 1、程序功能及设计思路 功能概述: 用客户端/服务器模式代表A站、B站。先由客户端输入服务器IP地址,然后客户端和服务器之间建立连接。在服务器中可以自行设置发送窗口的大小(如果需要实现的是停等式协议,那么就将发送窗口设为1),设置完后,服务器开始向客户端根据滑动窗口(停等式)的协议规定发送数据帧,同时启动计时器,客户端收到数据帧后马上向服务器发送确认帧,服务器如果没有及时收到客户端的确认帧,就要返回到出错的地方进行重发。 实现滑动窗口协议的算法: 发送端: 1、socket初始化,绑定端口,监听,接受连接; 2、设置发送窗口大小winsize; 3、启动定时器,设置时间为0.2s*winsize; 4、组帧并发送数据,即设置序号SN、数据data、长度msglen,之后发送一个窗口中的帧,每发送一个数据SN++;若发送完毕,则执行第6步; 5、接收确认帧,每收到一个正确的确认帧,则改变滑动窗口上下限,若正确接收所有确认帧,则关闭定时器,返回第3步;若接收超时或有确认帧丢失,则SN=right_number,返回第3步; 6、关闭socket,重新建立新的进程,等待下一个连接,返回第2步。 接收端: 1、socket初始化,连接服务器; 2、接收数据帧,将data存入缓存recvBuf,RN=SN+1; 3、发送确认帧,若接收完毕,则关闭socket,否则返回第二步。 实现停等式协议的算法: 和上述滑动窗口协议的算法类似,只需在发送端的第二步中将发送窗口大小winsize设置为1即可。

网络协议分析实验报告样本

网络协议分析实验报告样本 网络协议分析实验报告本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 实验报告99实验名称网络协议分析姓名学号班级313计本班实验目的掌握常用的抓包软件,了解EtherV 2、ARP、P IP协议的结构。 实验内容 11、分析2EtherV2协议 22、分析P ARP协议 33、分析P IP协议实验步骤 11、在S DOS状态下,运行ipconfig,记录本机的IP地址和硬件地址,网关的IP地址。 如下图11所示::本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图 12、分析数据链路层协议( (1)、在:PC1的“运行”对话框中输入命令“Ping192.168.191.1,单击“Enter”按钮;图如下图2所示:图图2( (2)、在本机上运行wireshark截获报文,为了只截获和实验内容有关的报文,将Ethereal的的Captrue Filter设置为“No

Broadcastand noMulticast”;如下图3所示:本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图3 (33)停止截获报文::将结果保存为MAC--学号,并对截获的报文进行分析:11)列出截获的报文中的协议类型,观察这些协议之间的关系。 答::a a、UDP:用户数据包协议,它和P TCP一样位于传输层,和P IP协议配合使用,。 在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。 b b、WSP:是无线局域网领域推出的新协议,用来方便安全地建立无线连接。 c c、ARP:地址解析协议,实现通过P IP地址得知其物理地址。 在P TCP/IP网络环境下,每个主机都分配了一个232位的P IP 地址,这种互联网地址是在网际范围标本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 识主机的一种逻辑地址。 为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。 这样就存在把P IP地址变换成物理地址的地址转换问题。

网络协议实验报告6

组号:3F 学号:53131016 姓名:杨灵 实验7.1 FTP协议 【实验目的】 学习FTP协议的连接过程;理解FTP协议的工作原理。一人一组,一组提交报告。 【实验环境】 本实验采用网络结构一, 一定要设置DNS服务器,地址是:172.16.0.253 主机的IP地址使用172.16.0.0段。掩码255.255.255.0. IP地址分配方法: 172.16.0.组号、主机号 例如:第2组的B主机的IP地址设置为172.16.0.22 第5组的F主机的IP地址设置为 172.16.0.56 【实验内容】 本实验要求: FTP服务器已经启动,并提供一个公共帐户,用户名是:anonymous,口令:无。或用户名:group2_1,口令:group2_1 (可以上传数据)。练习一 FTP 本实验学生独立完成,目的是了解FTP协议的端口和连接过程。 实验步骤: 1、主机启动协议分析器,打开数据捕获窗口,设置过滤条件(提取FTP协议); 2、主机登录FTP服务器:在仿真端的命令行提示符下运行: >ftp 172.16.0.253 LOGIN:>group2_1 PASS:>group2_1 >dir >quit 3、查看主机捕获的数据,在会话分析中,查看TCP会话中的21端口和20端口的会话情况,记录21端口和20端口的会话过程; ●记录实验结果: ①粘贴捕获包的截图;

②是否可以捕获到用户名和密码? 答:可以,在USER和PASS会话中。 ③21端口和20端口分别传输什么内容? 答:一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是20,这和FTP的使用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定。练习二使用浏览器登入FTP 1、主机启动协议分析器,打开数据捕获窗口; 2、主机启动IE浏览器,在“地址”框中输入ftp://172.16.0.253 3、查看主机捕获的数据,在会话分析中,查看TCP会话中的端口情况。 4、结合练习1的会话过程,说明浏览器登入FTP的工作过程。 ●记录实验结果: ①粘贴捕获包的截图; ②对比上个实验,FTP服务器用哪个端口传输数据,数据连接是谁发起的连接? 答:ftp服务器用21端口传输数据,数据连接是客户端发起的的连接。 练习三在窗口模式下,上传/下传数据文件 熟悉FTP在窗口方式下的命令使用;在本地机的D:上建立一个文本文件,文件名为你的学号+姓名; 1、主机登录FTP服务器:在命令行提示符下运行: D:>ftp 172.16.0.253 >LOGIN:group2_1 >PASS: group2_1 >put 文件名(文件名为你的学号+姓名) >dir (查看FTP上是否已经上传) >get 文件名(FTP服务器) >quit 2、回到本地硬盘上查看是否已经下载到本地?(进入FTP时的目录下) ●记录实验结果: ①粘贴FTP上的文件列表;

协议分析综合实验报告

协议分析综合实验报告 专业:电子信息科学与技术(1)班 组员: 学号: 时间:2014-12-01 一、实验目的:利用wireshark 抓包工具,结合课本,分析分层的网络结构协议体系: 二、基本步骤: 一、利用任意一台能够访问互联网的主机,安装wireshark抓包工具。 二、关闭所有应用层程序。如qq,ie浏览器,pptv等。 三、打开抓包工具,开始抓包。 四、打开IE浏览器,输入新浪WEB服务器的域名:https://www.360docs.net/doc/da2791461.html,,回车。 五、访问新浪主页成功后,立即停止抓包。 六、分析所抓的数据包,找出主机跟新浪WEB服务器之间通信的数据包,按应用层、运输 层、网络层、数据链路层这四个层次,分析其具体工作过程,分别各层用到了哪些协议。 (新浪WEB服务器的IP地址是58.67.149.250) 三、实验分析过程 下图是用Wireshark软件进行抓包数据分析的截图,下面将选取1906号帧来进行相应的层次与过程分析:

1.数据链路层分析 PPPoE会话阶段以太网帧的协议填充为Ox8864.代码填充Ox00,整个会话的过程就是PPP的会话过程,但在PPPOE数据内的PPP数据帧是冲协议域开始的。此过程所用到的协议是IP协议。 2.网络层分析 该层所涉及的协议是IP协议,源地址是121.14.1.190,目的地址是119.124.31.253,区分服务字段为Ox00(DSCP:Ox00:Default;ECN:Ox00),默认的DSCP的值是0,相当于尽力传送。IP包的总长度为64,标志字段为Ox91d5,标记字段为Ox00,没有分片,其偏移量为0,生存时间为57,当减少为0时,该数据包将被丢弃以保证数据包不会无限制的循环,因为 wireshark不自动做TCP校验和的检验,所以显示为validation disabled

网络协议实验报告

TCP/IP协议分析-阅读调式IP协议源代码 实验内容:阅读、调试IP协议源代码 姓名:陈春玮 学号:142050121 实验日期:2014.11.25 一、实验目的: TCP/IP协议簇各功能函数之间的调用过程是协议簇运行的基础,查看TCP/IP协议簇各函数源代码实现及调用关系有助于整体理解协议簇。 实验要求阅读并调通IP协议源代码各函数的相互调用,理解网络报文转发功能这一TCP/IP核心功能的实现方式。 二、实验内容 (一)IP进程实现ipproc.c structep*ipgetp()这个函数实现用循环法获取一个ip数据报。 if((pip->ip_verlen>>4)!=IP_VERSION)如果IP数据报的版本号不是4,则丢弃报文,接收下一个ip数据包; if(IP_CLASSD(pip->ip_dst)||IP_CLASSE(pip->ip_dst))如果ip数据首部目的地址是一个E类地址,丢弃报文,接收下一个ip数据包; if(ifnum!=NI_LOCAL) if(cksum(pip,IP_HLEN(pip)>>1)) 如果ip数据报不是来自回环接口,则计算首部校验和,如有误,则丢弃报文,接收下一个ip数据包。 prt=rtget(pip->ip_dst,(ifnum==NI_LOCAL));if(prt==NULL){if(gateway)为该报文获取路由,判断该报文是否来自外部接口并要转发到外部接口,若是,则判断该主机是不是网关,不是则丢弃报文,接收下一个ip数据包。 iph2net()将报文首部字节序转换为网络字节序。 Ipdbc()这个函数查看报文是否是一个定向广播的报文,传入ip数据包的输入接口号,以太网帧,该数据包的路由。 Ipredirect()查看是否需要对该报文的路由进行重定向处理,传入ip数据包的输入接口号,以太网帧,该数据包的路由。

计算机网络抓包实验报告

实验报告二

学号1040407105 实验项目 名称 利用Wireshark 进行抓包分析 上面的截图是抓取到的包,下面分别针对其中的一个TCP,UDP和ICMP进行分析 1.TCP TCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793 说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。 在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。 应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

学号1040407105 实验项目 名称 利用Wireshark 进行抓包分析 首先,TCP建立连接之后,通信双方都同时可以进行数据的传输,其次,他是全双工的;在保证可靠性上,采用超时重传和捎带确认机制。 在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。 在拥塞控制上,采用慢启动算法。 对于上面的抓包,选取其中的一个TCP进行分析 Source:119.147.91.131 Destination:180.118.215.175 Length:56 Info:http>500001[FIN,ACK] Seq=41,Ack=2877,win=66528 Len=0 1.1抓到的数据链路层中的帧 Frame 211:56bytes 即所抓到的帧的序号为211,大小是56字节 1.2 IP层中的IP数据报 Header Length:20bytes 即首部长度为20个字节;

实验1:网络数据包的捕获与协议分析

实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping https://www.360docs.net/doc/da2791461.html,,观察执行后的结果并记录。

此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结

相关文档
最新文档