文档详情

实验三传输层TCP协议的讲述.doc

发布:2017-03-23约2.38千字共8页下载文档
文本预览下载声明
沈 阳 工 程 学 院 学 生 实 验 报 告 实验室名称:信息学院网络实验室 实验课程名称:计算机网络 实验项目名称:实验三传输层TCP协议的分析 班 级: 姓 名: 学 号: 实验日期: 2015 年 11月 24日 实验台编号:指导教师:批阅教师(签字): 成绩: 实验目的 掌握传输层TCP协议分析方法,了解传输层TCP协议内容 实验内容 捕获传输层TCP协议数据 并分析传输协议原理 实验前的准备 了解传输层TCP协议的数据单元格式 了解传输层TCP协议规程 熟悉至少一种网络抓包软件的使用方法。 实验要求及实验软硬件环境 【基本要求】 按实验内容进行知识准备 按照预订实验步骤操作,并记录实验结果 分析实验记录,并得出结论 完成此项实验,完成实验报告。 【实验组织方式】 个人实验 【实验条件】 微机与网络环境。 实验步骤 建立网络模型: 连接以后进行三次握手建立连接,传输数据和释放连接,并且截 下各个部分所捕获的数据 3.利用PC0向SERVERO获取数据,捕捉在由PCO传向SERVERO的TCP协议报文以及反向的TCP协议报文。 4.分析捕捉的TCP协议报文的格式。 实验结果记录 1.由PCO向SERVERO的TCP协议报文。 图2 PCO向SERVERO的TCP协议报文。 2. 由SERVERO向PCO的TCP协议报文。 图3 SERVERO向PCO的TCP协议报文 结果分析 通过分析在试验结果的TCP协议报文的知道了TCP协议报文的格式,TCP协议报文由TCP首部和数据部分组成。并且TCP首部报文的前二十字节是固定的,如图4所示。 图4 TCP前20字节的固定报文 1.分析上图的TCP协议的报文得到如下结论: 源端口号(?16位):它(连同源主机?IP地址)标识源主机的一个应用进程。图片中的来源端口地址为?80。 目的端口号(?16位):它(连同目的主机?IP地址)标识目的主机的一个应用进程。这两个值加上?IP报头中的源主机?IP地址和目的主机?IP地址唯一确定一个?TCP连接。图片中的目的端口为1025。 顺序号(?32位):用来标识从?TCP源端向?TCP目的端发送的数据字节流,它表示在这个报文段中的第一个数据字节的顺序号。如果将字节流看作在两个应用程序间的单向流动,则?TCP用顺序号对每个字节进行计数。序号是?32bit的无符号数,序号到达?2?32-?1后又从?0开始。当建立一个新的连接时,?SYN标志变?1,顺序号字段包含由这个主机选择的该连接的初始顺序号?ISN(?Initial?Sequence?Number)。图片中的序号为0。? 确认号(?32位):包含发送确认的一端所期望收到的下一个顺序号。因此,确认序号应当是上次已成功收到数据字节顺序号加?1。只有?ACK标志为?1时确认序号字段才有效。?TCP为应用层提供全双工服务,这意味数据能在两个方向上独立地进行传输。因此,连接的每一端必须保持每个方向上的传输数据顺序号。上图的确认号为1。? ?TCP报头长度(?4位):给出报头中?32bit字的数目,它实际上指明数据从哪里开始。需要这个值是因为任选字段的长度是可变的。这个字段占?4bit,因此?TCP最多有?60字节的首部。然而,没有任选字段,正常的长度是?20字节。? 保留位(?6位):保留给将来使用,目前必须置为?0。? 控制位(?control?flags,?6位):在?TCP报头中有?6个标志比特,它们中的多个可同时被设置为?1。依次为:? URG:为?1表示紧急指针有效,为?0则忽略紧急指针值。? ?ACK:为?1表示确认号有效,为?0表示报文中不包含确认信息,忽略确认号字段。? ?PSH:为?1表示是带有?PUSH标志的数据,指示接收方应该尽快将这个报文段交给应用层而不用等待缓冲区装满。 其中的IP协议就是与1中的IP协议是一样的。故在此省略对TCP/IP中的IP协议的分析。 窗口:占2个字节,用来控制对方发送的数据量,单位是字节,指明对方发送窗口的上限。 校验和:占2个字节,校验的范围包括首部和数据两个部分,计算校验和时需要在报文段前加上12字节的伪首部。 检验和:占2字节。检验和字段检验的范围包括首部和数据这两部分和UDP用户数据报一样,在计算机检验和时,要在TCP报文段的前面加上12字节的伪首部。伪首部的格式和UDP的用户数据报的伪首部一样。但应把伪首部的第四个字段中的17改为6,把第五个字段的UDP的长度改为TCP的长度。接收
显示全部
相似文档