计算机网络-实验2-可靠数据传输协议-停等协议的设计与实现
- 格式:docx
- 大小:104.49 KB
- 文档页数:6
计算机网络实验指导实验二 利用停止等待协议传输数据文件一、 实验目的深入理解停止等待协议的主要特点;深入理解停止等待协议的工作过程;进一步掌握串行口编程的方法。
二、 实验环境运行平台: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 参考模型相符合,以便于并行开发和维护。
《计算机网络》实验任务指导书实验项目(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协议的理解。
二、实验目的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 帧。
南昌航空大学实验报告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 发送的反馈延迟。
实验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中,能传输的只有比特字符串,因此要加以转换
-由于是网络编程,很可能发生各种异常,有必要进行捕捉并处理。