计算机网络-实验2-可靠数据传输协议-停等协议的设计与实现

实验2:可靠数据传输协议-停等协议的设计与实现
1.实验目的
理解可靠数据传输的基本原理;掌握停等协议的工作原理;掌握基于 UDP 设计并实现一个停等协议的过程与技术。

2.实验环境
接入Internet的实验主机;
Windows xp或Windows7/8;
开发语言:python。

3.实验内容
1)基于 UDP 设计一个简单的停等协议,实现单向可靠数据传输(服务器到客户的数据传输)。

2)模拟引入数据包的丢失,验证所设计协议的有效性。

4.程序设计
在实验报告中要说明所设计停等各个域作用,协议两端程序流程图,协议典型交互过程,数据分组丢失验证模拟方法,程序实现的主要类(或函数)及其主要作用、UDP 编程的主要特点、实验验证结果,详细注释源程序等。

1)协议主要数据结构:
客户端:
服务器:
数据包格式:分为数据分组和确认分组
-数据分组:为数据分组序号后面加上数据内容,如‘0HELLO’
-确认分组:为确认类型与确认分组号,如‘ACK0’。

为了实现丢包,增加NAK类型,如‘NAK0’。

2)协议两端程序流程图:客户端:
服务器:
3)UDP编程的主要特点:
-在python3中,能传输的只有比特字符串,因此要加以转换
-由于是网络编程,很可能发生各种异常,有必要进行捕捉并处理。

合集下载

计算机网络实验指导

计算机网络实验指导

计算机网络实验指导实验二 利用停止等待协议传输数据文件一、 实验目的深入理解停止等待协议的主要特点;深入理解停止等待协议的工作过程;进一步掌握串行口编程的方法。

二、 实验环境运行平台:MSWindows编程平台: VC/VB/Delphi 中任意一种编程语言:任何你熟悉的编程语言三、 实验概述1. 停止等待协议发送数接收正确发送重发发送接收负确接收正确接收正确接收数据包1接收数据包2接收数据包2接收数据包3发送接收发送数接收正确认发送数超时重超时重传数接收正确认接收数据包0接收数据包1接收数据包1正发送接收发送超时超时图1-1 停止等待协议的基本工作过程图1-2 数据包的丢失和确认信息的丢失示意图所谓停止等待就是在发送方发完数据报后,需要等待接收方应答信息的到来。

如果发送方接收到正确认信息ACK,那么说明接收方已经正确接收到上一数据包,发送方就可以发送下一数据包;如果发送方接收到负责确认信息NAK,说明接收方收到的数据包是错误的,发送方应该重发,如图2-1所示。

为了保证数据传输的可靠性,实际的停等协议并不像上述的那么简单。

在实际应用环境中,至少应该考虑以下两种情况。

(1)数据包丢失数据包在传输过程中丢失,接收方未收到任何数据,如图2-2所示。

由于接收方不知道数据已经发送,因此它不可能给出正确认(ACK)信息或负确认信息(NAK)信息。

为了解决这个问题,发送方需要在发送一个数据包后启动一个定时器。

一旦在规定时间内没有收到接收方的任何信息,则认为数据包丢失,需要重发该数据包。

如果重传一个数据包的次数达到一定值,则认为数据通信信道存在严重问题,数据传输失败。

(2)确认信息丢失或出错接收方正确接收到数据包,但确认信息在传输过程中丢失或出错,如图2-2所示。

这时发送方也不能确定接收方是否收到了数据包。

这个问题的解决也是采用定时器的方法,在定时器溢出后重发数据包。

但是为了保证接收到的数据不重复,需要给数据包编号。

计算机网络协议设计与实现

计算机网络协议设计与实现

计算机网络协议设计与实现计算机网络是当今人类社会的一个重要组成部分,而计算机网络协议是网络能够正常运行的基础。

网络协议的设计和实现对网络性能和安全有很大的影响,本文将探讨计算机网络协议的设计和实现。

一、网络协议的概念网络协议是一种为了保证计算机网络中传输数据的可靠和安全而制定的规则或约定。

网络协议通常包括以下几个方面:1. 物理层协议,主要是指网络硬件设备之间的通信协议,例如IEEE 802.3 以太网协议、IEEE 802.11 Wi-Fi 协议等。

2. 数据链路层协议,主要是指网络中实现数据链路层功能的协议,例如 ARP 协议、PPP 协议等。

3. 网络层协议,主要是指网络中实现路由功能和 IP 地址分配等网络服务的协议,例如 IP 协议、ICMP 协议、IGMP 协议等。

4. 传输层协议,主要是为网络应用程序提供可靠的数据传输服务,例如 TCP 协议、UDP 协议等。

5. 应用层协议,主要是为应用程序之间的通信提供服务,例如HTTP 协议、FTP 协议、SMTP 协议等。

二、网络协议的设计原则网络协议的设计应具备以下几个原则:1. 可扩展性:网络协议的设计应该具备良好的可扩展性,即能够适应未来发展的变化。

2. 易于实现:网络协议的设计应该具备良好的可实现性,使得实现者能够容易地实现该协议。

3. 可靠性:网络协议的设计应该具备良好的可靠性,保证网络在不同的环境和情况下能够正常工作。

4. 安全性:网络协议的设计应该具备良好的安全性,保证网络数据的安全传输。

5. 灵活性:网络协议的设计应该具备良好的灵活性,能够适应不同的应用需求。

三、网络协议的实现网络协议的实现主要涉及到协议栈的实现和网络设备驱动程序的实现两个方面。

1. 协议栈的实现协议栈是一组网络协议的堆叠,通常包含了物理层、数据链路层、网络层和传输层等多个协议。

协议栈的实现需要考虑以下几个方面:(1) 协议栈的层次结构:协议栈的层次结构应该与 OSI 参考模型相符合,以便于并行开发和维护。

计算机网络-基于UDP设计模拟停等协议实验报告

计算机网络-基于UDP设计模拟停等协议实验报告
实验内容:
概述本次实验的主要内容,包含的实验项等。
1)基于UDP设计一个简单的停等协议,实现单向可靠数据传输(服
务器到客户的数据传输)。
2)模拟引入数据包的丢失,验证所设计协议的有效性。
3)改进所设计的停等协议,支持双向数据传输;
4)基于所设计的停等协议,实现一个C/S结构的文件传输应用。
5)基于UDP设计一个简单的GBN协议,实现单向可靠数据传输(服
首先进入一个循环,一次循环需要进行如下工作:
接收分组,将分组的数据缓存到datagramBuffer对应的位置(因为到达的数据可能是乱序的)
然后发送数据分组对应seq的ACK,告知发送方自己已经成功接收。之后更新滑动窗口的位置,更新的规则同发送方一样。之后进行下一次循环。
因为是乱序的,所以打包时不但要记录窗口的头位置,还要记相对偏差来标示这是哪个seq的数据(共2字节)。
务器到客户的数据传输)。
6)模拟引入数据包的丢失,验证所设计协议的有效性。
7)改进所设计的GBN协议,支持双向数据传输;
8)将所设计的GBN协议改进为SR协议。
实验过程:
GBN的原理与实现
原理:
GBN是属于传输层的协议,它负责接收应用层传来的数据,将应用层的数据报发送到目标IP和端口.
滑动窗口:假设在序号空间内,划分一个长度为N的子区间,这个区间内包含了已经被发送但未收到确认的分组的序号以及可以被立即发送的分组的序号,这个区间的长度就被称为窗口长度。(随着发送方方对ACK的接收,窗口不断的向前移动,并且窗口的大小是可变的)
GBN一个分组的发送格式是: Base(1Byte) + seq(1Byte) + data(max 1024Byte)

计算机网络实验 第2章 数据链路层实验

计算机网络实验 第2章 数据链路层实验

采用总线型或星形拓扑。由于以太网是基于共享总线的广播类型的网络,
所以当网络中有两个或两个以上站点同时发送数据时将引起冲突,因此以 太网使用CSMA/CD协议作为媒体控制协议解决冲突问题。
CSMA/CD协议的基本原理是:站点发送数据前先监听信道,信道 空闲时发送数据;在发送数据过程中持续监听信道,如果监听到冲 突信号则立即停止发送数据;同时发送强化冲突信号,以使网络中 正在发送数据的其它站点能够监听到冲突。
PPP帧格式如图所示
2.PPPoE
PPP协议不适于广播类型的以太网和另外一些多点访问类型的网络,于是 产生了PPPoE(Point-to-Point Protocol over Ethernet)。它为使用桥接以太 网的用户提供了一种宽带接入手段,同时还能提供方便的接入控制和计费。 每个接入用户均建立一个独一无二的PPP会话。会话建立前PPPoE必须通过 发现协议获取远端访问集中器的MAC地址。
第2章 数据链路层实验
实验三: 集线器与交换机的对比试验
3.1
背景知识
1.冲突域与广播域 冲突域:共享信道的传输机制决定了在网络中只能有一个站点发送数据 。如果两个或两个以上站点同时发送数据将发生冲突。虽然以太网在 MAC层采用CSMA/CD协议有效地降低了冲突的可能性,但是由于传播时 延的存在以及多个站点同时监听到信道空闲等情况的存在,冲突仍会发生 。所谓冲突域是指在该域内某一时刻只能有一个站点发送数据,如果两个 站点同时发送数据会引起冲突,则这两个站点处于同一个冲突域内。 广播域:以太网是广播网络,采用共享信道的传输机制来传输数据。在 以太网中,一个站点向所有站点发送数据的传输过程称为广播,这一过程 中传输的数据帧称为广播帧。在以太网中,能够接收到任意站点发送的广 播帧的所有站点的集合称为一个广播域。

2024版《计算机网络》实验指导书

2024版《计算机网络》实验指导书
3. 基本网络命令使用
使用`tracert`命令跟踪路 由路径
使用`ping`命令测试网络 连通性
使用`netstat`命令查看网 络连接状态
实验结果与分析
1. 网络配置结果 展示主机名、IP地址、子网掩码和默
认网关的配置结果 2. TCP/IP协议分析结果
展示捕获的数据包,并分析各层协议 头部信息,包括源/目的IP地址、源/ 目的端口号、协议类型等
01 1. 环境搭建
02
安装和配置实验所需的软件和工具,如虚拟机、操作系
统、网络模拟器等;
03
构建实验网络拓扑,包括内部网络、外部网络和防火墙
等组成部分。
实验内容和步骤
2. 防火墙配置
选择一种防火墙软件或设备,如iptables、pfSense等; 配置防火墙规则,包括访问控制列表(ACL)、网络地址转换(NAT)、 端口转发等;
1. 连接路由器和交换机, 并启动设备
实验步骤
01
03 02
实验内容和步骤
3. 配置路由器接口,并启用路由协议 4. 配置交换机VLAN,并启用STP 5. 验证配置结果,确保网络连通性
实验结果与分析
01
实验结果
02
路由器和交换机配置成功,网络连通性良好
03
各设备运行状态正常,无故障提示
04
分析
02 如何提高网络服务器的安全性和稳定性?
03
如何优化网络服务器的性能?
04
在实际应用中,如何管理和维护网络服务 器?
05
实验五:网络安全与防火 墙配置
实验目的和要求
理解和掌握网络安全的基本概念和原 理;
通过实验,了解防火墙在网络安全中 的作用和重要性。

《计算机网络》实验任务指导书

《计算机网络》实验任务指导书

《计算机网络》实验任务指导书实验项目(14个)及课时(28)分配总汇实验一、双绞线线缆的制作实验二、WINDOWS 的INTERNET 连接共享设置实验三、分析以太网数据帧的构成实验四、TCP/IP 协议常用网络工具的使用实验五、安装与配置Active Directory实验六、对等网络配置及网络资源共享实验七、分析IP 协议数据包格式实验八、分析ARP地址解析协议实验九、分析ICMP协议数据包格式实验十、分析TCP协议数据报格式实验十一安装与设置DNS 服务器实验十二安装与设置DHCP 服务器实验十三网络Web 服务器的建立、管理和使实验十四网络FTP 服务器建立、管理和使用实验一双绞线线缆的制作(2课时)一、实验目的了解双绞线的特性与应用场合,掌握双绞线的制作方法。

二、实验环境RJ -45 头若干、双绞线若干米、RJ -45 压线钳一把、测试仪一套。

三、相关理论( 1 )非屏蔽双绞线的六种类型实验使用双绞线是 5 类线。

由8 根线组成,颜色分别为:【橙白,橙】,【绿白,绿】,【蓝白,蓝】,【棕白,棕】( 2 )RJ-45 连接器和双绞线线序RJ45 水晶头由金属片和塑料构成, 特别需要注意的是引脚序号, 当金属片面对我们的时候从左至右引脚序号是1-8, 这序号做网络联线时非常重要, 不能搞错。

工程中使用比较多的是T568B 打线方法,线序如下:直通线:(机器与集线器连)1 2 3 4 5 6 7 8A 端:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕;B 端:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕。

交叉线:(机器直连、集线器普通端口级联)1 2 3 4 5 6 7 8A 端:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕;B 端:绿白,绿,橙白,蓝,蓝白,橙,棕白,棕。

四、实验内容1 .一般双绞线的制作2 .交叉双绞线的制作3 .测试一般双绞线的导通性五、实验步骤1 .仔细阅读实验文档,决定实验环境中需要制作的网线的类型和需要使用的线序。

计算机网络实验报告 tcp协议

计算机网络实验报告 tcp协议计算机网络实验报告:TCP协议一、引言计算机网络是现代社会中不可或缺的一部分,而其中最重要的组成部分之一就是传输控制协议(TCP)。

TCP协议是一种可靠的、面向连接的协议,它在保证数据可靠传输的同时,提供了流量控制和拥塞控制等重要功能。

本实验旨在深入了解TCP协议的原理和工作机制,通过实际操作和观察,进一步加深对TCP协议的理解。

二、实验目的1. 了解TCP协议的基本原理和工作机制;2. 熟悉TCP连接的建立和终止过程;3. 掌握TCP的流量控制和拥塞控制机制;4. 通过实验验证TCP协议的可靠性和效率。

三、实验环境本实验使用了一台运行着Linux操作系统的计算机,通过该计算机可以模拟TCP协议的各种操作和行为。

四、实验步骤1. TCP连接的建立在本实验中,我们使用了一个简单的客户端-服务器模型来模拟TCP连接的建立过程。

首先,在服务器端启动一个监听进程,等待客户端的连接请求。

然后,在客户端发起连接请求时,服务器接受该请求,并建立一个TCP连接。

在这个过程中,可以观察到TCP三次握手的过程,即客户端发送SYN包,服务器回应SYN+ACK包,最后客户端发送ACK包,完成连接的建立。

2. TCP连接的终止TCP连接的终止过程也是一个重要的实验内容。

在本实验中,我们通过发送一个特殊的FIN包来终止一个已建立的TCP连接。

在终止过程中,可以观察到TCP四次挥手的过程,即一方发送FIN包,另一方回应ACK包,然后另一方也发送FIN包,最后再回应ACK包,完成连接的终止。

3. TCP的流量控制TCP通过使用滑动窗口机制来实现流量控制。

在本实验中,我们可以通过调整滑动窗口的大小,观察到数据发送和接收的速度变化。

当滑动窗口的大小较小时,发送方发送的数据量较小,接收方的处理速度较慢;而当滑动窗口的大小较大时,发送方发送的数据量较大,接收方的处理速度较快。

通过实验可以验证TCP流量控制的有效性。

《计算机网络》实验指导书步骤及答案

目录实验1 实验环境熟悉 (1)实验2 网络协议仿真软件的熟悉 (2)实验3 编辑并发送LLC帧 (3)实验4 编辑并发送MAC帧 (4)实验5 (5)实验6 网际协议IP (6)实验7 Internet控制报文协议icmp (8)实验8 用户数据报协议UDP (10)实验9 传输控制协议TCP (11)实验一:实验环境的熟悉实验目的:1.掌握实验系统的软硬件组成2.熟悉实验系统软件界面实验设备:N台计算机,中软吉大的协议仿真软件实验步骤:1.由教师引领,观察实验室硬件布局、网线连接、主要设备等相关情况;2.打开中软吉大的协议仿真软件,了解软件的组成模块(包括仿真编辑器和协议分析器);2.了解实验中要用到的3种网络拓扑结构图;3.了解每种拓扑图中计算机的连接方法和ip地址的设置方法;主服务器IP设为172.16.1.100;其它机器设为172.16.1.*mask:255.255.255.0Gateway:172.16.1.1Dns:172.16.1.1004.打开中软吉大网络协议仿真教学系统(通用版)课件,熟悉9个实验的名称,有关实验的说明。

实验二:网络协议仿真软件的熟悉实验目的:1.熟悉仿真编辑器界面的操作2.熟悉协议分析器界面的操作实验设备:N台计算机,中软吉大的协议仿真软件实验步骤:打开中软吉大的协议仿真软件,浏览界面,尝试使用界面上的工具按钮。

(1)打开仿真编辑器。

该系统的初始界面分为5个部分:多帧编辑区、单帧编辑区、协议模型区、地址本和十六进制显示区a.多帧编辑区b.单帧编辑区c.协议模型区d.地址本e.十六进制显示区(2)应用实例a.编辑MAC层b.编辑IP层c.编辑TCP层(3)协议分析器使用简介a.会话分析b.协议解析(4)应用实例a.在单帧编辑区中编辑一个ICMP帧b.在协议分析器捕获该帧并分析实验三: 编辑并发送LLC帧实验目的:1.掌握以太网报文格式;2.掌握LLC帧报文格式;3.掌握仿真编辑器和协议分析器的使用方法;实验设备:集线器,N台计算机,N条双绞线,协议仿真系统实验步骤:1.将服务器和工作站用双绞线和HUB连通并加载协议仿真模块2.将主机A和B作为一组,主机A启动仿真编辑器,并编写一个LLC 帧。

计算机网络实验报告(协议分析)


计算机网络实验报告
实验三:计算机网络 ARP 协议分析实验
一、实验名称:计算机网络 ARP 协议分析实验 二、实验目的:了解网络层 ARP 协议,并学会独立分析协议的具体内
10
容,通过实践巩固网络层协议的相关理论知识 三、实验内容:熟悉网络层原理,了解网络层协议,了解网络层协议 与其他协议的关系, 掌握 ARP 协议的具体内容, 对实验环境有所了解。 四、实验环境: (1)硬件:PC 机,网线,交换机、 (2)软件:Windows2000 操作系统、Wireshark 汉化版 五、实验步骤: 1、选取分析的协议 ARP 协议,复习教材相关内容;从网上查阅资料 知, ARP 协议的内容具体可以可以由下图所示(共 32 个字节) 组成: 0 8 硬件类型 物理地址长度 协议地址长度 16 24 协议类型 操作 31 (位)
13
八、实验习题 1、试简单说明 ARP 协议的作用。 答:ARP(地址解析协议) ,实现地址转换:将 IP 地址转换成物理地 址。 2、试解释为什么 ARP 高速缓存每存入一个项目就要设置 10~20 分 钟的超时计时器。这个时间设置得太大或太小会出现什么问题? 答: ARP 将保存在高速缓存中的每一个映射地址项目都设置生存时间 (例如,10~20 分钟) 。凡超过生存时间的项目就从高速缓存中删除 掉。 设置这种地址映射项目的生存时间是很重要的。 设想有一种情况, 主机 A 和 B 通信,A 的 ARP 高速缓存里保存有 B 的物理地址,但 B 的网卡突然坏了,B 立即更换了一块,因此 B 的硬件地址就改变 了。A 还要和 B 继续通信。A 在其 ARP 高速缓存中查找到 B 原先 的硬件地址,并使用该硬件地址向 B 发送数据帧,但 B 原先的硬件 地址已经失效了,因此 A 无法找到主机 B。是过了一段时间,A 的 ARP 高速缓存中已经删除了 B 原先的硬件地址(因为它的生存时间 到了) ,于是 A 重新广播发送 ARP 请求分组,又找到了 B。时间设 置太大, 造成 A 一直空等而产生通讯时延, 网络传输缓慢。 若太小, 有可能网络状况不好,B 暂时没有应答 A,但 A 已经认为 B 的地址 失效,A 重新发送 ARP 请求分组,造成通讯时延。

计算机网络实验报告1数据链路层协议设计与实现

南昌航空大学实验报告2019年 4 月18日课程名称:计算机网络与通信实验名称:数据链路层协议设计与实现班级:学生姓名:学号:指导教师评定:签名:一.实验目的1)掌握 Visual C++网络编程的基本方法和客户机/ 服务器架构的工作原理。

2)设计数据链路层协议,并通过试验仿真测试协议算法。

二.实验内容1)根据提供的参考程序和连续ARQ协议的伪代码,设计数据链路层通信协议-带有滑动窗口的选择性重传ARQ协议和回退N重传ARQ协议,由“发送端程序”和“接收端程序”实现。

2)要求能检测差错和丢失,判断重复帧,实现重传,确保数据可靠传输。

3)发送端和接收端窗口能正确反映客户端和服务器端数据通信过程。

4)总结实验过程(实验报告),方案、编码、调试、结果、分析和结论。

三.实验过程1.“发送端程序”、“信道仿真程序”和“接收端程序”采用UDP 协议( TCP/IP)进行通信;2.若单机实验:“发送端程序“、“信道仿真程序”和“接收端程序”的IP 地址设置尾127.0.0.1(本机)。

3.“发送端程序“的端口= 6666 ,“信道仿真程序”的端口= 7777,“接收端程序”的端口= 8888,端口号也可自行定义;4.用户程序(“发送端程序”和“接收端程序” )的信息发送到信道(“信道仿真程序” ),信道经过处理产生丢失、差错和时延,然后发送到对方。

5.仿真过程中可通过对信道仿真程序软件的环境进行设定,来模拟链路特性。

四.实验结果1.发送的数字 1为 81H,它的确认信号为 9FH,由于第一次发送 1确认丢失,所以再次发送. (次序 2丢失)2. 发送数字 1为 81H,但接受的是 80H出现差错,所以不予确认, A继续重发 81H(次序 1差错) .3.发送的数字 3 为 12H,它的确认信号为0FH,由于第一次发送 3 延时 1000ms,所以再次发送4:12H , 1000ms后 3: 12H到达,但已经之前接收并确认,所以3: 12H不被受理 . (次序 3时延1000ms)4.发送的数字 2为 9FH,它的确认信号为 9FH,由于发送 2确认丢失,所以再次发送 ; 发送数字 3 为81H,但接受的是 80H出现差错,所以不予确认, A继续重发 81H. (2丢失, 3差错)5.当前为 A 发送丢失, B 并未收到结果, A 未收到 B 发回的反馈, A 重新发送, B 并未收到结果,A 未收到B 发回的反馈, A 重新发送, B 接收到正确数据后, B 返送反馈, B 发送的反馈延迟。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档