当前位置:文档之家› 基于TFTP协议的嵌入式系统开发方法设计与实现

基于TFTP协议的嵌入式系统开发方法设计与实现

第34卷 第12期2006年 12月 华 中 科 技 大 学 学 报(自然科学版)

J.H uazhong U niv.o f Sci.&T ech.(N ature Science Editio n)V ol.34N o.12 Dec. 2006

收稿日期:2005-12-06.

作者简介:汪小燕(1963-),女,副教授;武汉,华中科技大学电子与信息工程系(430074).E -mail:wangx y @

基金项目:国家自然科学基金资助项目(50275061).

基于T FT P 协议的嵌入式系统

开发方法设计与实现

汪小燕 连晓平 董 燕 杨大鹏

(华中科技大学电子与信息工程系,湖北武汉430074)

摘要:基于简单文件传输协议,提出一种通过嵌入式系统现有网络接口实现系统开发过程中大型文件快速烧写的开发方案.分析并介绍了该方案的设计要点,包括系统硬件结构要求、物理层硬件连接方法、T CP/IP 协议栈简化、T F T P 协议下文件传输的实现方法.实际应用测试比较结果表明:该方案硬件要求简单,在大文件(\1M by te)应用系统下载开发的情况下比传统JT A G 口(Jo int T est A ction G roup standard)下载与串口下载效率分别提高102到101数量级.

关 键 词:嵌入式系统;开发方法;T CP /IP 协议;T FT P 协议

中图分类号:T P36 文献标识码:A 文章编号:1671-4512(2006)12-0056-03

Design and implementation of embedded system file

programming method based on TFTP

Wang X iaoy an L ian X iaop ing Dong Yan Yang Dap eng

(Depar tment o f Electro nics and Info rmation Eng ineering,H uazhong U niv ersity of Science and T echnolog y,Wuhan 430074,China)

Abstract:A schem e based o n trivial file transfer pro to col (T FT P)fo r pro gramm ing large -sized files into the flash memor y of the embedded system utilizing the ex isting netw ork interface w ith hig h -speed is pro posed.Main points o f the scheme such as the system hardw ar e requirements,the connection in -terface of the phy sical layer,the clipping o f the TCP/IP(transmission control protocol/internet pro to -col)stack,the implementatio n of file transmission based on T FT P protocol are analy zed.W ith pract-i cal usag e and measur em ent,the scheme propo sed is verified to have less prog ramming time and better pro gramm ing efficiency o f 102to 101than the conventional pr ogram ming m ethod w ith JTAG (jo int test action gr oup standar d)or nor mal ser ial interface of RS232-C.

Key words:embedded sy stem;development m ethodolog y;TCP/IP stack;T FT P pr otoco l 在传统的嵌入式系统开发方法中[1,2],为了将具有复杂多层协议的应用程序烧写到目标平台中,通常使用串口或JTAG 口来将高达M byte 到数10M byte 的内核映象文件及应用程序和数据写入目标平台.这些方法电路简单、容易实现,但下载速度极慢,难以满足嵌入式系统日益扩展与复杂的应用开发需求.针对这个问题,参考大型计算机,路由器远程文件传输和下载方案,本文提出了一种基于简单文件传输协议(T rivial File

Transfer Protoco-l T FT P),利用系统现有以太网接口快速烧写映象文件到目标平台的开发方案.

1 硬件结构与实现方法

本文提出基于简单文件传输协议T FT P [3]

,

利用系统现有以太网接口快速烧写映象文件到目标平台的方案.以PC 机作为TFTP 客户端,嵌入式目标平台作为TFT P 服务器端,由TFTP 协议

客户端进程将PC 上的操作系统映象文件通过直连网线写入到目标平台上的RAM 中,并配合flash 烧写程序将其固化在flash 中.由于操作系统映象文件可直接在RAM 中运行,因此在调试阶段可以省略程序固化过程.

在本文对应嵌入式系统的开发环境中采用32bit 高性能嵌入式微控制器S3C44B0X(Sam -sung ARM 7T DM I).由于它不具有内嵌以太网接口,因此采用由台湾Realtek 公司生产的高度集成以太网控制器RT L8019AS.该芯片针对ISA 总线设计,价格低廉、技术成熟,用于实现网络的底层协议,包括网卡与网络电缆的物理连接,介质访问控制(如CSM A/CD),数据帧的拆装,帧的发送与接收,错误校验,数据信号的编/解码(如曼彻斯特码和NRZ 码的转换等),数据的串、并行转换等功能.嵌入式微控制器S3C44B0X 与以太网控制器RTL8019AS 的连接原理图如图1所示,通过与S3C44B0X 相连的以太网控制器RT L8019AS 和以太网接口,即可以以太网速率将所需文件下载到S3C44B0X 相连的SRA M 中,达到文件快速下载的目的

.

图1 嵌入式系统开发平台硬件结构图

2 基于T FT P 协议文件下载的设计

与实现

为简化目标板与PC 机的通信过程,确保在目标平台上无操作系统的前提下,能够从PC 机上快速下载比较大的文件到目标平台上,在遵循OSI -RM 的基础上对T CP/IP 协议栈进行一定的裁减

[4,5]

,实现了数据链路层的ARP 协议、网络

层的IP 和ICMP 协议、传输层的U DP 协议和应用层的TFT P 协议.由T FT P 协议控制实现从PC 机上快速下载文件到目标平台.简化的TCP/IP 协议栈体系结构如图2所示.2.1 TCP/IP 协议栈的简化实现

由于在本方案中所使用的以太网控制芯片

RT L8019AS 实现了MA C 层的全部功能,

因此链

图2 简化的T CP/IP 协议栈体系结构

路层软件主要目标是实现ARP 协议.当主机需要发送数据帧给目标平台时,若主机端的ARP 映射表中没有目标板IP 地址与硬件地址的映射,则由主机端应用程序主动发送ARP 请求分组.因为目标板只是被动地接受主机端发来的数据帧,不会主动发送ARP 请求包,所以在具体实现中可对ARP 协议进行剪裁,仅实现处理ARP 请求并返回ARP 应答包部分.

网络层软件主要实现了IP 协议和ICM P 协议.在本应用环境下,为提高从PC 机到目标平台下载文件映象的速度,避免网络中其他主机的不必要的干扰,采用直连网线连接PC 机与目标平台而无需跨越路由器,由此确定在IP 协议的实现中省略路由选择功能.另外由于T FT P 协议为简单文件传送协议,在每次传送时均已将数据切割为512by te 的数据块,因此在IP 协议实现中可省略数据分片和组装处理部分.按照以上原则简化的IP 协议主要对报文进行IP 封装,交由数据链路层装帧发送,并对收到的IP 数据包进行分析,提交U DP 或ICMP 协议处理.为了提高IP 数据交付成功的几率,在网际层同时实现了因特网控制报文协议ICM P,负责接收、解释、发送ICMP 报文.

在互联网上传输数据普遍采用U DP.UDP 虽然不可靠,但在网络负荷不大的情况下可以提供更高的传输效率.TFTP 协议要求由传输层UDP 协议承载.由于在系统目标板不需要主动发送UDP 数据包,因此在目标板的传输层部分仅需要实现U DP 数据包的接收即可.2.2 TFT P 协议下系统文件接收实现

首先,PC 机端的T FT P 客户进程发出写请求指明要写入的文件名和模式.如果该文件能被该客户写,目标平台上的T FT P 服务器就返回块编号为0的ACK 包.该客户进程就将文件的头512byte 以块编号为1发出,服务器则返回块编号为1的ACK.T FT P 客户随后发送块编号为2

#

57#第12期 汪小燕等:基于T F T P 协议的嵌入式系统开发方法设计与实现

的数据,T FT P客户返回块编号为2的A CK.重

复这个过程直到这个文件传送完.除了最后一个数据分组可含有不足512byte的数据,其他每个数据分组均含有512byte的数据.当TFTP客户收到一个不足512by te的数据分组时,就知道它收到最后一个数据分组.若文件长度恰好为512 by te的整数倍,则文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据PDU.

目标板对网络上发来的数据包进行分析,根据数据包类型进行分别处理.当数据包为由UDP 包承载的TFTP数据包时,调用接收函数tftp-rcv-packet()并根据操作码判断PDU的类型.当是写请求或数据PDU时,调用相应的tftp-rcv-w rq()或tftp-r cv-data();当接收到非法包或其他类型PDU时不予处理,函数返回准备接收下一个数据包.接收到的所有文件数据将放在RAM中预设定的起始地址开始的存储区域中.

3测试结果

在应用中实际测得,将PC机上大小为914620byte的操作系统映象文件通过网线下载到目标板的RAM中只需2s,平均下载速度为3658480bit/s.配合flash烧写程序可以很快地将映象文件固化到flash中.将本方案与其他原有方案进行比较,得到如图3所示的测试结果.从图3可以看出:当文件较小时,各方式下载所需时间差别并不大.但随着文件的增大,所需时间差距则越来越悬殊.

通过以上比较可以看出,基于T FTP协议通过网口可以快速烧写操作系统映象等大型文件.虽然需要简化T CP/IP协议栈并移植到目标平台,但由于协议已经大大简化且全部用C语言实现,因此开发难度并不大.并且由于按照标准的分层结构来设计协议模块和定义模块接口,因此,

图3不同方案下烧写不同大小文件所需时间

1)简易JT A G电缆+JT AG接口;2)串口线+RS232接口;3)PL D/F PG A+JT AG接口;4)本方案

修改现有模块时不需要修改系统,在添加新的协议模块时,只需要在同层其他协议模块平行的位置添加即可.若增加相应各层相关协议处理,则可使嵌入式设备具有直接与因特网相连接的能力.

参考文献

[1]L ee Jihyun,Cho Jin-H ee,Ham Dong-H an,et al.

M ethodolog y for embedded system dev elo pment based on product line[C]M T he7th Internatio nal Conference on Advanced Communication T echnolo-

g y.U nited States Piscataw ay IEEE Computer Socie-

ty,2005:920-923.

[2]L eatherman R,Stollo n,N.A n embedding debug ging

ar chitectur e for SOCs[J].IEEE P otentials,2005, 24(1):12-16.

[3]Sollins K.r equest fo r co mments:1350,T HE T FT P

P ROT OCOL(R EV ISIO N2)[S].[s.l.]:IET F, 1992.

[4]Wr ig ht G R,Stevens W R.T CP/IP Illust rated V ol

2:T he Implementatio n[M].Bo ston:Addison Wes-ley,1995.

[5]P ope Chery l,Detmo ld Henry,M unr o David S,et al.

A dapting to new envir onment s:Rethinking the

T CP/IP st ack[C]M Pr oceeding s o f t he Internatio nal Conference o n Internet Computing,IC c03[A].U nit-ed States Bo gar t:CSR EA Pr ess,2003,23-26:519-522.

#

58

#华中科技大学学报(自然科学版)第34卷

网络协议实验报告

网络协议实验报告 班级:_____网络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

网络协议分析实验报告

实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解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 上访问 ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A

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

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

利用wireshark分析HTTP协议实验报告

利用wireshark分析HTTP协议实验报告 姓名:杨宝芹 学号:2012117270 班级:电子信息科学与技术 时间:2014.12.26

利用wireshark分析HTTP协议实验报告 一、实验目的 分析HTTP协议。 二、实验环境 连接Internet的计算机,操作系统为windows8.1; Wireshark,版本为1.10.7; Google Chrome,版本为39.0.2171.65.m; 三、实验步骤 1.清空缓存 在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS 高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。 2.启动wireshare 3.开始俘获 1)在菜单中选择capture-options,选择网络,打开start。如下图:

2)在浏览器地址栏中输入,然后结束俘获,得到如下结果: 3)在过滤器中选择HTTP,点击apply,得到如下结果:

在菜单中选择file-save,保存结果,以便分析。(结果另附) 四、分析数据 在协议框中选择“GET/HTTP/1.1”所在的分组会看到这个基本请求行后跟随 着一系列额外的请求首部。在首部后的“\r\n”表示一个回车和换行,以此将该 首部与下一个首部隔开。“Host”首部在HTTP1.1版本中是必须的,它描述了URL 中机器的域名,本实验中式。这就允许了一个Web服务器在同一 时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接 哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本 的主要变化。User-Agent首部描述了提出请求的Web浏览器及客户机器。接下 来是一系列的Accpet首部,包括Accept(接受)、Accept-Language(接受语言)、 Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web

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.启动网络分析工具软件,设置抓包过滤条件为“==”

超文本传输协议(HTTP)

《计算机网络实验》实验报告实验名称:超文本传输协议(HTTP) 年级: 2014级 专业:软件工程专业 班级: 2班 姓名:王香香 学号: 1425161018 成绩: 指导教师:卢正添 提交报告时间: 2017年 6月 3日

一、实验目的 1.掌握HTTP的报文格式 2.掌握HTTP的工作原理 3.掌握HTTP常用方法 二、实验环境 网络结构一 三、实验步骤与实验结果 练习一:页面访问 各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机A清空IE缓存。 2. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 3. 主机A启动IE浏览器,在“地址”框中输入http://服务器的ip/experiment,并连接,服务器IP默认为172.16.0.253。

4. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题: ●本练习使用HTTP协议的哪种方法?简述这种方法的作用。答:Get方法。客户要从服务器读取文档时使用。 ●根据本练习的报文内容,填写下表。

表13-3 实验结果 ●参考“会话分析”视图显示结果,绘制此次访问过程的报文交互图(包括TCP协议)。 ●简述TCP协议和HTTP协议之间的关系。 答:HTTP是基于TCP的应用层协议。 思考问题: 1.一个主页是否只有一个连接? 答:否。一个主页可能对应多个连接。 练习二:页面提交 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 2. 主机A启动IE浏览器,在“地址”框中输入“http://服务器的ip/experiment/post.html”,并连接,服务器IP 默认为172.16.0.253。在返回页面中,填写“用户名”和“密码”,点击[确定]按钮。 3. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题:

网络协议实验报告

实验一: 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;

网络协议实验报告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上的文件列表;

计算机网络协议实验报告

实验报告 项目名称:小型局域网的设计 课程名称:计算机网络B 班级:电G131 姓名:xxx xx 学号:51201320xx 5120132045 教师:张晓明 信息工程学院计算机系

一、实验目的 基于网络协议分析工具Ethereal,通过多种网络应用的实际操作,学习和掌握不同网络协议数据包的分析方法,提高 TCP/IP 协议的分析能力和应用技能。 二、实验前的准备 ●二人一组,分组实验; ●熟悉 Ping、Tracert等命令,学习FTP、HTTP、SMTP和POP3协议; ●安装软件工具Ethereal,并了解其功能、工作原理和使用方法; ●安装任一种端口扫描工具; ●阅读本实验的阅读文献; 三、实验内容、要求和步骤 3.1 学习Ethereal工具的基本操作 学习捕获选项的设置和使用,如考虑源主机和目的主机,正确设置Capture Filter;捕获后设置Display Filter。 3.2 PING命令的网络包捕获分析 PING命令是基于ICMP协议而工作的,发送4个包,正常返回4个包。以主机210.31.32.7 为例,主要实验步骤为: (1)设置“捕获过滤”:在Capture Filter中填写 host 210.31.32.7; (2)开始抓包; (3)在 DOS 下执行PING命令; (4)停止抓包。 (5)设置“显示过滤”:IP.Addr==210.31.32.7 (6)选择某数据包,重点分析其协议部分,特别是协议首部内容,点开所有带+号的内容。 (7)针对重要内容截屏,并解析协议字段中的内容,一并写入 WORD 文档中。

截获数据 Frame 3 (74 bytes on wire,74 bytes captured) Arrival Time: Nov 11,2014:15:49:35 Packet Length:74bytes Capture Length:74bytes Ethernet II,Src: f0:de:f1:ef:cf:3e, Dst: 08:81:f4:9e:47:f0 Internet Protocol,Src Addr:10.10.56.126(10.10.56.126),Dst Addr:210.31.32.7(210.31.32.7) 分析 第三帧,74字节在线,捕获74字节 到达时间:2014年11月11日15点49分35秒 包长度:74字节 捕获长度:74字节 以太网2,源物理地址:f0:de:f1:ef:cf:3e,目标物理地址:08:81:f4:9e:47:f0 源IP地址:10.10.56.126 目标IP地址:210.31.32.7 3.3 TRACERT 命令数据捕获 观察路由跳步过程。分别自行选择校内外2个目标主机。比如, (1)校内:tracert 210.31.32.8

网络协议实验报告

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数据包的输入接口号,以太网帧,该数据包的路由。

利用wireshark分析HTTP协议实验报告

用wireshark分析HTTP协议实验报告

利用wireshark分析HTTP协议实验报告 一、实验目的 分析HTTP协议。 二、实验环境 连接Internet的计算机,操作系统为windows8.1; Wireshark,版本为1.10.7; Google Chrome,版本为39.0.2171.65.m; 三、实验步骤 1.清空缓存 在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS 高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。 2.启动wireshare 3.开始俘获 1)在菜单中选择capture-options,选择网络,打开start。如下图:

2)在浏览器地址栏中输入,然后结束俘获,得到如下结果: 3)在过滤器中选择HTTP,点击apply,得到如下结果:

在菜单中选择file-save,保存结果,以便分析。(结果另附) 四、分析数据 在协议框中选择“GET/HTTP/1.1”所在的分组会看到这个基本请求行后跟随 着一系列额外的请求首部。在首部后的“\r\n”表示一个回车和换行,以此将该 首部与下一个首部隔开。“Host”首部在HTTP1.1版本中是必须的,它描述了URL 中机器的域名,本实验中式。这就允许了一个Web服务器在同一 时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接 哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本 的主要变化。User-Agent首部描述了提出请求的Web浏览器及客户机器。接下 来是一系列的Accpet首部,包括Accept(接受)、Accept-Language(接受语言)、 Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web

网络协议分析实验报告

课程设计 课程设计题目网络协议分析实验报告学生姓名: 学号: 专业: 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协议实验报告

学生实验报告 姓名:_________ 学号:____________ 班级:________________ 指导老师:_______________ 内容摘要 该实验报告了TCP协议分析实验相关分析; TCP协议分析是通过Wireshark分析TCP协议的报文格式,如理解TCP报文段首部各字段的含义,理解TCP建立连接的三次握手机制,了解TCP的确认机制,了解TCP的流量控制和拥塞控制 实验目的 1. 通过协议分析软件掌握TCP协议的报文格式; 2. 理解TCP报文段首部各字段的含义; 3. 理解TCP建立连接的三次握手机制; 4. 了解TCP的确认机制,了解TCP的流量控制和拥塞控制; 实验原理 连上in ternet的PC机,并且安装有协议分析软件Wireshark 实验原理及概况 TCP是因特网中最主要的运输层协议,它能够在两个应用程序章提供可靠的、有序的数据流传输,能够检测传输过程中分组是否丢失、失序和改变,并利用重传机制保证分组可 靠地传输到接收方; TCP首部格式如下图所示: 位U 3 16 24 31 首先是源端口和目的端口,服务器提供服务的端口号是固定的,比如:Web服务端口 号是80,而客户端的端口号是由操作系统随机分配一个用户端口号。TCP提供字节流服务, 它为分组中的每个字节编号,首部中的序号表示分组中第一个字节的编号。接收方用确认号 表示它期望接收的数据流中下一个字节编号,表明确认号之前的字节接收方都已经正确接收 了。数据偏移字段表示报文段的首部长度。标志部分包含6个标志位,ACK位表明确认号 字段是否有效;PUSH位表示发送端应用程序要求数据立即发送;SYN、FIN、RESET三位 用来建立连接和关闭连接;URG和紧急指针通常较少使用。接收端利用窗口字段通知发送 方它能够接收多大数据量。检验和字段是接收方用来检验接收的报文是否在传输过程中出

超文本传输协议http实验报告

超文本传输协议http实验报告 篇一:计算机网络实验超文本传输协议Http分析 实验二超文本传输协议 Http分析 一、实验目的 通过分组捕获软件Wireshark来分析Http协议的以下内容: 1、 Http协议的Get/Resonse互动机制; 2、 Http协议的分组格式; 3、如何利用Http传输Html文件; 4、如何利用Http传输图片、动画等嵌入式文件; 5、观察Http的安全性能。 二、实验条件 1、Wireshark软件 2、IE浏览器 三、实验预习要求: 复习课本节的相关内容 四、实验内容:

1. Http的基本请求/响应互动机制 本实验通过访问一个最简单的页面展开,即该html 文件中不引用任何其它嵌入式文件(如图片、视频等)。操作步骤如下: 1、打开IE浏览器; 2、打开Wireshark软件,打开抓包菜单中的网络接口子菜单,从中选择本机使用的网络接口。 3、切入包捕获界面后,在过滤栏中输入http && == || == ,即只观察与交互的http分组。 4、在IE浏览器输入:;此时浏览器应该会显示一个最简单的html页面(只有一行)。 5、此时,你的Wireshak软件应该如下所示: 图1: 访问后的 Wireshark显示界面 从上图中可观察到总共捕获到四个http包,其中,包括两对Http的Get分组(由本机浏览器向服务器发出的请求)以及服务器返回的响应分组。需要注意的是,第一轮请求与回复请求的是具体的页面;而第二轮请求与回复涉及的却是一个文件。分组内容展示窗口中可以观察这两个分组

的详细信息。从展开的分组内容中可以看出:Http包是经由Tcp协议传输,而Tcp又是附加在IP数据包的基础上,后者又附加在一个以太网帧内。以第一轮分组为观察目标,试着回答如下问题: 1. 你的浏览器运行的是什么协议版本?还是 ? 服务器运行的又是什么版本呢? 2. 你的浏览器告诉服务器它能够接受的语言是? 3. 你浏览器所在的IP是?服务器的Ip又是? 4. 服务器返回给浏览器的状态代码是?这次访问成功了么? 5. 浏览器所访问的Html文件上次被修改的时间是? 6. 间隔两分钟后再重新访问该Html文件(即刷新IE 浏览器),再次查看Html文件上被修改的时间是?对比与问题5的答案,你观察出了什么结论? 7. 服务器返回给浏览器的分组的内容长度是多少? 2. Http附加条件判断的请互动机制 从课本节中我们知道,当前主要浏览器都有一个缓存机制,即将刚访问的页面内容保存在IE缓存区。在此基础上,当用户重新访问该页面时,浏览器会智能地发出一个带

网络协议实践课程实验报告

一、实验目的:通过实验了解系统漏洞,学会发现系统漏洞。 二、实验内容:搭建一个实验环境,使用namp工具对可能存在漏洞的开放 端口进行扫描,将结果保存在namp.cap文件里。 三、实验原理: 缓冲区溢出攻击者必须非常熟悉服务器端运行的程序的特点。他们必须知道服务器程序会分配多少空间用于接收到来的请求,并准确知道将要插人的代码写到人何处。攻击者可以很容易地获得服务器应用程序的代码拷贝,并对其进行研究和攻击练习。他们常常是对最流行的服务器软件包的默认设置进行研究,因为大部分计算机都是在这些设置下运行的。通常编写的恶意代码都会向其他有漏洞的主机进行打一散。例如,利用缓冲区溢出漏洞进人系统的恶意代码会对其他主机执行同样的攻击。恶意代码也可能在计算机上搜索电子邮件地址,并且把它自己的拷贝作为电子邮件的附件发送出去。 在本实验中,我们将对一个用于探测网络中另一个系统的开放端口或漏洞的网络应用程序的跟踪结果进行观察分析。我们也将对一个感染了冲击波蠕虫病毒的计算机的跟踪结果进行分析。我们会看到它是如何通过试图在Windows分布式组件对象模型(DCOM)和远程过程调用(RPC)接口中发掘漏洞来传播自己的。 四、实验器材、环境配置操作及实验数据的产生: 本实验的跟踪记录可在两个配置中捕获。在第一个配置图中,一个在防火墙后运行DHCP的PC机,用于扫描防火墙下开放的端口。在第二个配置图中,我们在校园网环境中选择了一台感染冲击波蠕虫病毒的PC机进行网络行为跟踪。 配置图一

配置图二 在第一个实验中,我们使用nmap工具来对另一台主机192. 168. 0. 1的开放端口或可能的漏洞进行扫描。我们识别到一个开放端口,HTTP端口,将跟踪结果保存在nmap. cap文件中。像nmap这样的端口扫描程序通过向许多常用端口发送SYN分组以检测开放端口(或漏洞)。在本例中,SYN分组一共发送给了1658个端口。如果服务器软件在这些端口上监听,它就会返回一个SYNACK分组作为回应。当扫描结束时,你会全面了解到系统可能存在的漏洞。 端口扫描可以用来评估你电脑的安全性,但是它也被认为是一种对他人计算机进行端口扫描的攻击。在本实验中,我们只用nmap来扫描单个的目标主机,但是它也可以被用于扫描整个网络。 在nmap. cap文件中,我们使用tcp.flags.syn==1&&tcp.flags.ack= =0过滤器来显示出由nmap发出的用于探测端口的分组。从统计概要可以看出,它一共发出了6693个分组,向扫描的1658个端口中的每个端口发送了3—4个SYN 分组。端口扫描并不是从端口号较低的端口扫描到端口号较高的端口。它甚至不会对一个指定的端口发送所有的探测信息。我们可以注意到nmap扫描对很多探测分组重复使用相同的源端口。例如:分组巧到44都是使用50210端口作为探测分组的源端口。如果不是端口扫描,操作系统一般都会为每次连接分配一个不同的暂时的端口。 Ethereal为一些众所周知端口号取了相应的名字。如端口21取名为ftp 。IANA发布了一系列的众所周知端口号列表。这个列表为常用的服务指定了相应的端口号。例如:Web服务器使用众所周知端口80,邮件发件服务器使用众所周知端口25。通常,端口号从。到1023都是众所周知端口。在大部分的系统中,只有具有一级或管理员级权限的程序才可以使用这些端口。 为了识别出所有成功的扫描,我们将Ethereal的过滤规则设定为: tcp.flags.syn==1&&tcp.flags.ack= =1,这样可以过滤出所有SYNACK分组。从这个过滤器中可以看到,惟一开放的端口为80端口,我们可以进一步使用过滤规则tcp.port= 8 0从所有数据流中分离出与80端口有关的数据流。当目标主机响应一个SYNACK分组后,nmap响应一个RST置位的分组来关闭连接。

卓顶精文最新网络协议实验报告6.doc

组号:3F学号:53131016姓名:杨灵 实验7.1FTP协议 【实验目的】 学习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服务器已经启动,并提供一个公共帐户,用户名是:anonPmous,口令:无。或用户名:group2_1,口令:group2_1(可以上传数据)。 练习一FTP 本实验学生独立完成,目的是了解FTP协议的端口和连接过程。 实验步骤: 1、主机启动协议分析器,打开数据捕获窗口,设置过滤条件(提取FTP协议); 2、主机登录FTP服务器:在仿真端的命令行提示符下运行: >ftp172.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的工作过程。 ●记录实验结果: ①粘贴捕获包的截图;

[实用参考]网络协议实验报告8.doc

组号:3E3F学号:5313101553131016姓名:刘家运杨灵 实验5TCP(TransferControlProtocol) 【实验目的】 学习TCP协议的工作原理,掌握TCP协议的报文格式和三次握手的通信过程;掌握TCP协议标志字段的作用;理解TCP首部中各字段的含义。 两个人一组,每组提交电子报告。 【实验环境】 本实验采用网络结构一,主机的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 【实验内容】 练习一观察TCP协议的连接和释放过程 通过本练习加深理解TCP协议连接和释放过程中的标志位变化,本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。 现仅以主机A和B为例。 实验步骤: 1、主机B启动协议分析器,并启动TCP连接工具(运行桌面的TCP&IP协议实验平台,选择实验7,TCP协议,在窗口下面有TCP工具),作为服务器打开一个端口; 2、主机A启动TCP连接工具。在“服务器IP地址和端口”中填入服务器主机B的地址及端口,点击“连接”按钮进行连接; 3、察看主机B捕获的三次握手的报文(会话分析), 填写下表: 报文3(ACK) 字段名称报文1(SPN)报文2 (SPN+ACK) 3743899978 433470547 3743899979 序号 (SequenceNumber) 0 3743899979 433470548 确认序号 (AckNumber) ACK 0 1 1 SPN 1 1 0 4、主机A在数据区键入自己的学号及姓名,作为数据发送; 5、刷新主机B捕获的数据, 字段名称报文4(数据)报文5(确认) 序号 3743899979 433470548 (SequenceNumber) 确认序号433470548 3743899997

网络协议实验报告汇总

实验一以太网链路层帧格式分析 一.实验目的 分析MAC层帧结构 二.实验内容及步骤 步骤一:运行ipconfig命令 在Windows的命令提示符界面中输入命令:ipconfig /all,会显示本机的网络信息: 步骤二:编辑LLC信息帧并发送 1、打开协议数据发生器,在工具栏选择“添加”,会弹出“网络包模版”的对话框,在“选择生成的网络包”下拉列表中选择“LLC协议模版”,建立一个LLC帧。

2、在“网络包模版”对话框中点击“确定”按钮后,会出现新建立的数据帧,此时在协议数据发生器的各部分会显示出该帧的信息。 3、编辑LLC帧。 4、点击工具栏或菜单栏中的“发送”,在弹出的“发送数据包”对话框上选中“循环发送”,填入发送次数,选择“开始”按钮,即可按照预定的数目发送该帧。在本例中,选择发送10次。 5、在主机B的网络协议分析仪一端,点击工具栏内的“开始”按钮,对数据帧进行捕获,按“结束”按钮停止捕获。捕获到的数据帧会显示在页面中,可以选择两种视图对捕获到的数据帧进行分析,会话视图和协议视图,可以清楚的看到捕获数据包的分类统计结果。 步骤三:编辑LLC监控帧和无编号帧,并发送和捕获 步骤四:保存捕获的数据帧 步骤五:捕获数据帧并分析 1、启动网络协议分析仪在网络内进行捕获,获得若干以太网帧。 2、对其中的5-10个帧的以太网首部进行观察和分析,分析的内容为:源物理地址、目的物理地址、上层协议类型。 捕获到的数据报报文如下:

对所抓的数据帧进行分析: ①MAC header: 目的物理地址:00:D0:F8:BC:E7:08 源物理地址:00:13:D3:51:44:DD 类型:0800表示IP协议 ②IP header: IP协议报文格式如下: 版本:4表示IPv4 首部长度:5表示5×4=20个字节。 服务类型:00表示正常处理该数据报。 总长度:0028表示此数据报的总长度为40字节。

TCP协议实验报告

学生实验报告 姓名:学号:班级:指导老师: 内容摘要 该实验报告了TCP协议分析实验相关分析; TCP协议分析是通过Wireshark分析TCP协议的报文格式,如理解TCP报文段首部各字段的含义,理解TCP建立连接的三次握手机制,了解TCP的确认机制,了解TCP的流量控制和拥塞控制 实验目的 1.通过协议分析软件掌握TCP协议的报文格式; 2.理解TCP报文段首部各字段的含义; 3.理解TCP建立连接的三次握手机制; 4.了解TCP的确认机制,了解TCP的流量控制和拥塞控制; 实验原理 连上internet的PC机,并且安装有协议分析软件Wireshark 实验原理及概况 TCP是因特网中最主要的运输层协议,它能够在两个应用程序章提供可靠的、有序的数据流传输,能够检测传输过程中分组是否丢失、失序和改变,并利用重传机制保证分组可靠地传输到接收方; TCP首部格式如下图所示: 首先是源端口和目的端口,服务器提供服务的端口号是固定的,比如:Web服务端口号是80,而客户端的端口号是由操作系统随机分配一个用户端口号。TCP提供字节流服务,它为分组中的每个字节编号,首部中的序号表示分组中第一个字节的编号。接收方用确认号表示它期望接收的数据流中下一个字节编号,表明确认号之前的字节接收方都已经正确接收了。数据偏移字段表示报文段的首部长度。标志部分包含6个标志位,ACK位表明确认号字段是否有效;PUSH位表示发送端应用程序要求数据立即发送;SYN、FIN、RESET三位用来建立连接和关闭连接;URG和紧急指针通常较少使用。接收端利用窗口字段通知发送方它能够接收多大数据量。检验和字段是接收方用来检验接收的报文是否在传输过程中出错。

相关主题