您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页Tcp、IP-TCP数据通信

Tcp、IP-TCP数据通信

来源:保捱科技网


福建农林大学计算机与信息学院

课程名称:姓 名:系:专 业:年 级:学 号:指导教师:职 称:信息工程类

实验报告

网络环境编程

计算机科学与技术 计算机科学与技术

2009

2012年 4月 5日

实验项目列表

序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 实验项目名称 ARP协议实验分析 TCP数据通信 成绩 指导教师 林要华 林要华

福建农林大学计算机与信息学院信息工程类实验报告

系:计算机科学与技术 专业: 计算机科学与技术 年级: 2009 姓名: 学号: 实验课程:网络环境编程

实验室号:___田C513 实验设备号: 55 实验时间: 2012.4.13 指导教师签字: 成绩:

TCP数据通信

1.实验目的和要求

1.理解TCP报文段首部各字段的含义; 2.理解TCP建立连接的三次握手机制; 3.了解TCP的确认机制;

4.了解TCP的流量控制和拥塞控制。 2.实验原理

TCP是因特网中最主要的运输层协议,它能够在两个应用程序章提供可靠的、有序的数据流传输,能够检测传输过程中分组是否丢失、失序和改变,并利用重传机制保证分组可靠地传输到接收方。 TCP的首部格式如下图所示

数据偏移 保留 检验和 选项 (长度可变) 位0 8 16 24 31 源端口

序号 确认号 标志 窗口 紧急指针 填充 目的端口

首先是源端口和目的端口,服务器提供服务的端口号是固定的,比如:Web服务端口号是80,而客户端的端口号是由操作系统随机分配一个用户端口号。TCP提供字节流服务,它为分组中的每个字节编号,首部中的序号表示分组中第一个字节的编号。接收方用确认号表示它期望接收的数据流中下一个字节编号,

表明确认号之前的字节接收方都已经正确接收了。数据偏移字段表示报文段的首度。标志部分包含6个标志位,ACK位表明确认号字段是否有效;PUSH位表示发送端应用程序要求数据立即发送;SYN、FIN、RESET三位用来建立连接和关闭连接;URG和紧急指针通常较少使用。接收端利用窗口字段通知发送方它能够接收多大数据量。检验和字段是接收方用来检验接收的报文是否在传输过程中出现了比特错。关于TCP首部各字段的详细说明请参考教材。

TCP重传机制:当发送方传输一个报文段的同时启动一个重传计时器,当该

报文的确认到达时,这个计时器就会取消,如果这个计时器超时,那么数据将会被重传。TCP在重传之前,并不总是等待重传计时器超时,TCP也会把一系列重复确认的分组当作是数据丢失的先兆。 3.主要仪器设备(实验用的软硬件环境)

硬件:PC 软件:WireShark 4.操作方法与实验步骤

用WireShark捕获建立TCP连接的3次握手过程的数据帧,并对其进行分析。 1.打开capture--interface 菜单,选择合适的网络接口,进行实时抓包,实时抓包具有更好的教学效果。设置显示过滤器为TCP,端口为80。这样网络包列表里面就仅显示传输层协议为TCP、端口为80 的包。在浏览器里面输入网址http://www.soso.com ,访问搜搜的首页,这样即产生TCP 流量。此时,Wireshark 已经存有教学所需的网络包,因此停止实时抓包,进行后续的分析工作。

2.根据网络包列表窗口可以判断出,哪些包是一次会话的开始,源IP 地址为192.168.1.102 (后面称为主机),目的IP 地址为119.147.74.117 (后面称搜搜网站),协议为TCP 。在这里可以通过在CMD 窗口中输入ipconfig 命令,说明本机IP 地址为192.168.1.102 ;用nslookup www.soso.com(或者 ping www.soso.com) 表明119.147.74.117 为搜搜网站的IP 地址。然后,注意包头详细信息窗口,可以看到当前选中的网络包的序列号(sequence number )为0 ,标志(flags )位SYN 被设置为1 ,即为主机向搜搜网站发起建立连接请求的SYN 包。

3.接下来,为TCP 三次握手的第二步,源IP 地址为192.168.1.102 ,目的IP 地址为119.147.74.117 。然后,将注意力转向包头详细信息子窗口,可以看到序列号为:0 ;确认号为:1 ,即0+1 ,并且注意到SYN和ACK 标志位均已设置为1 。表明该TCP 包是对第一步中TCP 包的确认,并同时请求同步,即ACK-SYN包。

4.接下来是TCP 三次握手的第三步主机发送TCP 包给搜搜网站,其序列号是1 ,表明请求的下一个TCP包的序列号为1 ;确认号为1 ,表明是对第75 个包的确认,而且其ACK 位为1 ,即ACK 包。

5.至此,TCP 协议的三次握手过程已经完成,主机和谷歌网站之间已经建立连接,可以进行数据传输。 5.实验内容及实验数据记录

访问www.soso.com网站:

捕捉到如下数据:

第一次握手:

第二次握手:

第三次握手:

6.实验数据处理与分析

1.在你的监听记录中,SYN报文段的序号值(逻辑值和原始值)是多少? 第一次握手:SYN报文段的序列号:6f 15 10 ca 确认号:00 00 00 00

第二次握手:SYN报文段的序列号:5f 2d ac ef 确认号:7e 2a 2b 66

第三次握手:SYN报文段的序列号:7e 2a 2b 66 确认号:5f 2d ac f0

2.TCP发送方如何根据接收方发送报文中的“窗口”值进行流量控制的?

TCP的特点之一是提供体积可变的滑动窗口机制,支持端到端的流量控制。TCP的窗口以字节为单位进行调整,以适应接收方的处理能力。 处理过程如下:减小窗口尺寸

(1)TCP连接阶段,双方协商窗口尺寸,同时接收方预留数据缓存区。 (2)发送方根据协商的结果,发送符合窗口尺寸的数据字节流,并等待对方的确认。

(3)发送方根据确认信息,改变窗口的尺寸,增加或者减少发送未得到确认的字节流中的字节数。调整过程包括:如果出现发送拥塞,发送窗口缩小为原来的一半,同时将超时重传的时间间隔扩大一倍。

3.在你的监听记录中,是否出现分组丢失?TCP是如何进行重传的?

在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发(SELECTICE REPEAT),其工作过程如图所示。显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务