




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告课程名称计算机网络实验项目传输控制协议tcp 实验仪器主服务器一台,装有http 、ftp 、telnet 、mail、dhcp 、dns等服务、组控设备若干、实验机:运行网络协议仿真教学系统通用版程序系别计算机学院专业网络工程班级/ 学号 0802/2008011396 学生姓名邵华强实验日期_2010.10.17_ 成绩 _指导教师_高卓_实验二传输控制协议tcp 【实验目的】1.掌握 tcp协议的报文格式2.掌握 tcp连接的建立和释放过程3.掌握 tcp数据传输中编号与确认的过程4.掌握 tcp协议校验和的计算方法5.理解 tcp重传机制【实验学时】建议 4 学时【实验环境配置
2、】该实验采用网络结构一【实验原理】一. tcp报文格式16位源端口号16位目的端口号32位序号32位确认序号16位窗口大小4位首部长度保留( 6位)ackpshrstsynfinurg16位检查和16位紧急指针选项数据1161732二. tcp连接的建立tcp是面向连接的协议。在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq 和来自对方成功传输确认的应答号ack(指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为syn ,应答信号写为ack 。整个同步的过程称为三次握手,下图说明了这个过程:三. t
3、cp连接的释放对于一个已经建立的连接,tcp使用四次握手来结束通话(使用一个带有fin 附加标记的报文段)。tcp关闭连接的步骤如下图所示:四. tcp重传机制tcp每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到期,但还没有收到确认,就要重传这一报文段。【实验步骤】练习一:察看tcp连接的建立和释放1.主机 b 、 c、d启动协议分析器进行数据捕获, 并设置过滤条件(提取tcp协议)。2.主机 c打开 tcp工具,类型选择“服务器”,端口填写大于1024 的值;点击“创建”,如果端口被占用则选择其它。主机a打开 tcp工具,类型选择“客户端”,地址填入主机c的 ip
4、 地址;在端口填入主机c的 tcp工具监听的端口;点击连接 按钮进行连接。3.察看主机b、c、d捕获的数据,填写下表。字段名称报文 1报文 2报文 3 sequence number 2840237879 2222245451 2024445719acknowledgement number 1399549876 0 0ack 1 0 1syn 0 1 01037/1460 1038/1460 tcp连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合ieee802.3 协议规定的以太网最大帧长度分析此数据是怎样得出的。maxim
5、um segment size=1460 4.主机 a断开与主机c的 tcp连接。5.察看主机b、c、d捕获的数据,填写下表。字段名称报文 4 报文 5 报文 6 报文 7 sequence number 1645141353 1239747434 1239747434 1645141354 acknowledgement number 1239747434 1645141354 1645141354 1239747435 ack 1 1 1 1 syn 0 0 0 0 练习二:利用仿真编辑器编辑并发送tcp数据包本练习将主机a和 b作为一组,主机c和 d作为一组,主机e和 f作为一组,现仅以
6、主机a和b为例,说明实验步骤。在本实验中由于tcp连接有超时时间的限制,故仿真编辑器和协议分析器的两位同学要默契配合,某些步骤(如计算tcp校验和)要求熟练、迅速。为了实现tcp三次握手过程的仿真,发送第一个连接请求帧之前,仿真端主机应该使用“仿真编辑器 / 工具菜单 /tcp 屏蔽 / 启动屏蔽”功能来防止系统干扰(否则计算机系统的网络会对该请求帧的应答帧发出拒绝响应)。通过手工编辑tcp数据包实验, 要求理解实现tcp连接建立、 数据传输以及断开连接的全过程。在编辑的过程中注意体会tcp首部中的序列号和标志位的作用。首先选择服务器主机上的一个进程作服务器进程,并向该服务器进程发送一个建立连
7、接请求报文, 对应答的确认报文和断开连接的报文也编辑发送。其步骤如下:1.主机 b启动协议分析器捕获数据,设置过滤条件(提取http协议)。2.主机 a上启动仿真编辑器,在界面初始状态下,程序会自动新建一个单帧,可以利用仿真编辑器打开时默认的以太网帧进行编辑。3.填写该帧的以太网协议首部,其中:源 mac 地址:主机a的 mac 地址。目的 mac 地址:服务器的mac 地址。协议类型或数据长度:0800(ip 协议)。4.填写 ip 协议头信息,其中:高层协议类型:6(上层协议为tcp )。总长度: 40(ip 首部 +tcp首部)。源 ip 地址:主机a的 ip 地址。目的 ip 地址:服
8、务器的ip 地址 (0)。其它字段任意。应用前面学到的知识计算ip 首部校验和。5.填写 tcp协议信息,其中:源端口:任意大于1024 的数,不要使用下拉列表中的端口。目的端口: 80(http协议)。序列号:选择一个序号isn(假设 1942589885),以后的数据都按照这个来填。确认号: 0。首部长度和标志位:5002(即长度20 字节,标志syn=1 )。窗口大小:任意。紧急指针: 0。使用协议仿真编辑器的“手动计算”方法计算校验和;再使用协议仿真编辑器的“自动计算”方法计算校验和。将两次计算结果相比较,若结果不一致,则重新计算。tcp在计算校验和时包括哪些内容?
9、6.将设置完成的数据帧复制3 份。修改第二帧的tcp 层的“首部长度和标志”位为5010(即标志位ack=1 ), tcp层的“序号”为 1942589885+1。修改第三帧的tcp层的“首部长度和标志”位为5011(即标志位ack=1 、fin=1),tcp层的“序号”为1942589885+1。在发送该tcp连接请求之前, 先 ping 一次目标服务器,让目标服务器知道自己的mac 地址。7.在发送该tcp连接请求之前,先ping 一次目标服务器,让目标服务器知道自己的mac 地址。8.使用“仿真编辑器/ 工具菜单 /tcp屏蔽 / 启动屏蔽”功能,为tcpip 协议栈过滤掉收到的tcp数
10、据。9.点击菜单栏中的“发送”按钮,在弹出对话框中选择发送第一帧。10. 在主机 b上捕获相应的应答报文,这里要求协议分析器一端的同学及时准确地捕获应答报文并迅速从中获得应答报文的接收字节序号,并告知仿真编辑器一端的同学。11. 我们假设接收字节序号为:3246281765, 修改第二帧和第三帧的tcp层的“ ack确认序号”的值: 3246281766。12. 计算第二帧的tcp校验和,将该帧发送。对服务器的应答报文进行确认。13. 计算第三帧的tcp校验和,将该帧发送。14. 在主机 b上观察应答报文,要及时把最后一帧“序列号”告知协议编辑器一端的同学。15. 修改第四帧的tcp层“确认号
11、”为接收的序列号+1(即 3246281767)。16. 计算第四帧的tcp校验和,将该帧发送。断开连接,完成tcp连接的全过程。17. 协议分析器一端截获相应的请求及应答报文并分析,注意观察“会话分析”中的会话过程。18. 仿真端主机使用“仿真编辑器/ 工具菜单 /tcp 屏蔽 / 停止屏蔽”功能,恢复正常网络功能。练习三: tcp的重传机制本练习将主机a和 b作为一组,主机c和 d作为一组,主机e和 f作为一组。现仅以主机a和 b为例,说明实验步骤。1.主机 b启动协议分析器开始捕获数据并设置过滤条件(提取tcp协议)。2.主机 a启动仿真编辑器,进入tcp连接视图。在“服务器信息/ip
12、地址”中填入主机 b的 ip 地址;使用“端口扫描”获取主机b的 tcp端口列表,在“服务器信息/端口”中填入主机b的一个 tcp端口 ( 大于 1024) ;点击“连接”按钮进行连接。3.主机 a向主机 b发送一条信息。4.主机 b使用“仿真编辑器/ 工具菜单 /tcp屏蔽 / 启动屏蔽”功能, 过滤掉接收到的tcp数据。5.主机 a向主机 b再发送一条信息。6.主机 b刷新捕获显示,当发现“会话分析视图”中有两条以上超时重传报文后,使用“仿真编辑器/ 工具菜单 /tcp 屏蔽 / 停止屏蔽”功能,恢复正常网络功能。7.主机 a向主机 b再发送一条信息,之后断开连接。8.主机 b停止捕获数据
13、。依据“会话分析视图”显示结果,绘制本练习的数据报交互图。【思考问题】1.试用具体例子说明为什么传输连接建立时要使用三次握手。如不这样做可能会出现什么情况。答:我们知道,3 次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机a和 b之间的通信,假定b给 a发送一个连接请求分组,a收到了这个分组,并发送了确认应答分组。 按照两次握手的协定,a认为连接已经成功地建立了,可以开始发送数据分组。可是,b在 a的应答分组在传输中被
14、丢失的情况下,将不知道a是否已准备好,不知道 a建议什么样的序列号,b甚至怀疑a是否收到自己的连接请求分组。在这种情况下, b认为连接还未建立成功,将忽略 a发来的任何数据分组,只等待连接确认应答分组。而a在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。2.使用 tcp对实时话音数据的传输有什么问题?使用udp在传送数据文件时会有什么问题?答: 1. 如果语音数据不是实时播放(边接受边播放)就可以使用tcp ,因为 tcp传输可靠。接收端用tcp讲话音数据接受完毕后,可以在以后的任何时间进行播放。但假定是实时传输,则必须使用udp 。 2.udp不保证可靠交付,但ucp比 tcp的开销要小很多。因此只要应用程序接受这样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桩基冬季施工方案
- 农业项目资金筹措方案
- 汽车行业基础知识
- 大理石楼地面施工方案
- 红砖建筑加固施工方案
- 2025年非调质钢项目发展计划
- 山东省滨州市邹平市2024-2025学年七年级上学期期末考试数学试卷(原卷版+解析版)
- 非机动车棚工程施工方案
- 随州钢结构农村房施工方案
- 沂源公路标志牌施工方案
- 《复杂系统理论》课件
- 人教版(2025新版)七年级下册数学第七章 相交线与平行线 单元测试卷(含答案)
- 汽轮机辅机培训
- 国之重器:如何突破关键技术-笔记
- 早产儿和低出生体重儿袋鼠式护理临床实践指南(2024)解读1
- 三废环保管理培训
- 第四章 特殊条件下的驾驶ppt课件
- 特种设备变更登记申请表
- 钻孔桩施工横道图
- (最新)金钥匙科技竞赛试题及答案
- 《检验检测机构资质认定评审准则》及释义
评论
0/150
提交评论