学生实验报告
姓名:学号:班级:指导老师:
内容摘要
该实验报告了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和紧急指针通常较少使用。接收端利用窗口字段通知发送方它能够接收多大数据量。检验和字段是接收方用来检验接收的报文是否在传输过程中出错。
TCP 重传机制:当发送方传输一个报文段的同时启动一个重传计时器,当该报文的确认到达时,这个计时器就会取消,如果这个计时器超时,那么数据将会被重传。TCP 在重传之前,并不总是等待重传计时器超时,TCP 也会把一系列重复确认的分组当作是数据丢失的先兆;
TCP 流量控制机制:当发送方数据发送速率超过接收方的接受速率,利用滑动窗口实现流量控制;
16位窗口大小:TCP 的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16字节字段,因而窗口大小最大为65535字节;
TCP 拥塞机制:防止过多的数据注入到网络中,这样可以是网络中的路由器或链路不至于过载,一般指端到端的通信量的控制;
关于TCP 报文控制位:
紧急URG :当URG=1时,表明紧急指针字段有效,它告诉系统次报文段中有紧急数据,应尽快传送;
确认ACK :仅当ACK=1时,确认字号段才有效。TCP 规定,当建立连接后所有传送的报文段都必须把ACK 置1;
TCP 建立连接三次“握手”
U R G
A C K
P S H
R S T
S Y N
F I N
TCP连接的释放
推送PSH:置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送;
复位RST:置1时重建连接。如果接收到RST位时候,通常发生了某些错误;
同步SYN:置1时用来发起一个连接;
终止FIN:置1时表示发端完成发送任务。用来释放连接,表明发送方已经没有数据发送了。
实验步骤
1.打开Wireshark,设置好过滤器
(1).打开后选择capture,后选择interfaces;
(2).接着选择有数据变动的网络连接,后选option;
(3).点击star,开始监听模式;
(4).在FILTER窗口输入TCP;
2.本次分析TCP实验,采用http post的方式将本地的一个文本文档上传到一个远程的Web 服务器上,并同时使用Wireshark软件去捕获在文件传输过程中的TCP数据包
(1).打开浏览器,在地址栏输入
从第20帧开始,
TCP从本地主机
开始与服务器建
立连接,第一次握
手
第一次握
手,ACK值
为0
从第二次握手开始,
ACK的值开始置1
第三次握手完毕,从第23帧开始,从本机开始发送数据到Web服务器
重传
TCP释放连接
第一次握手
TCP释放的第二次握手
第三次握手
第四次握手