TCP协议的分析Word文档下载推荐.docx
- 文档编号:15704208
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:16
- 大小:2.16MB
TCP协议的分析Word文档下载推荐.docx
《TCP协议的分析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《TCP协议的分析Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
1.引言3
1.1本课题目的3
1.2本课题意义3
2.概要设计3
2.1目标3
2.2运行环境3
3.总体设计4
3.1TCP/IP协议体系结构4
3.2TCP/IP各层的协议4
4.软件的相关介绍5
4.1wireshark软件的相关介绍5
4.2设置捕获条件5
5.TCP协议详细分析6
5.1TCP协议简介6
5.2TCP的工作方式6
结束语16
参考文献17
摘要
TransmissionControlProtocol
传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transportlayer)通信协议。
TCP协议提供可靠交付,同时提供全双工通信。
TCP连接时一条虚连接而不是一天真正的物理连接。
TCP连接的端点叫做套接字或插口。
关键词:
TCP协议通信,TCP协议工作方式,报文格式,体系结构。
1.引言
1.1本课题目的
TCP/IP协议族是一组不同的协议组合在一起构成的协议族,每一层负责不同的功能,本课题是要求深入分析各个协议的的工作原理以及包的结构,从而对TCP/IP体系结构有更透彻的了解。
1.2本课题意义
深刻理解了TCP协议的工作方式,对TCP报文的三次握手和四次挥手报文详细的解析,同时对网络嗅探器有了一个熟悉的了解。
2.概要设计
2.1目标
利用网络嗅探器对TCP报文进行抓取,三次握手和四次挥手的报文格式进行详细解读。
2.2运行环境
要求:
具备网络环境并连入Internet,交换机、路由器。
3.总体设计
3.1TCP/IP协议体系结构
TCP/IP协议的体系结构分为四层,这四层与OSI模型的对应关系如下图。
其中每一层完成不同的通信功能。
OSI模型四层模型
应用层
表示层
会话层
传输层
网络层
数据链路层
链路层
物理层
图3.1结构模式
3.2TCP/IP各层的协议
图3.2各层协议
这幅图反映的是四层结构中,工作在各层的协议。
其中TCP是工作在传输层的一个主要的协议,UDP也是比较重要的协议。
4.软件的相关介绍
4.1wireshark软件的相关介绍
网络封包分析软件的功能可想像成"
电工技师使用电表来量测电流、电压、电阻"
的工作-只是将场景移植到网络上,并将电线替换成网络线。
在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件。
Ethereal的出现改变了这一切。
在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。
Ethereal是目前全世界最广泛的网络封包分析软件之一。
图4.1wireshark软件界面
4.2设置捕获条件
按下开始按钮之后,在选项中选择只捕获TCP报文,同时要选择当前自己的网络适配器(即选择local),看好自己的IP地址,这时在启动Expresion,这时就可以获取报文了。
需要查看报文是,点击报文,查看下面的格式就可以得出了
5.TCP协议详细分析
5.1TCP协议简介
传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transportlayer)通信协议,由IETF的RFC793说明(specified)。
在简化的计算机OSI模型中,它完成第四层传输层所指定的功能。
在其可靠传输时,使用的停止等待协议和连续ARQ协议。
5.2TCP的工作方式
其工作方式大致可以看成是三次握手,连接成功,四次挥手。
第一次握手:
图5.1第一次握手
抓取报文:
图5.2第一次握手报文截取
源端口号:
50644
目的端口号:
80
序号:
seq=0
下面都是一些标志位的取值:
urgent置为0,当其为1的时候表明文段中有紧急数据,需尽快发送;
ACK置为1,确认字段有效,TCP规定,在连接后所有传送的报文段都必须把ACK置1;
PUSH推送置为0,用于两个进程交互式通信;
Reset置为0,当它为1是,则TCP连接出现严重差错;
同步SYN置为0,当其置为1时,表示这是一个连接请求报文和连接接收报文;
FIN置为1表示数据接收完成;
窗口:
它的值作为让接收方设置发送窗口的依据。
在这里为32768.这个值是经常动态变化的。
检验和:
占2个字节,其包括首部和数据这两部分。
选项:
长度可变,最长可达40字节。
在此报文我们可以看出SYN=1Seq=x=0
第二次握手:
图5.3第二次握手
图5.4第二次握手抓取的报文
此时我们可以看到ACK=1Syn=1ack=x+1=1seq=y=0置为表示连接已经成功建立。
第三次握手
图5.5第三次握手
图5.6第三次握手报文抓取
此时我们可以看出ACK=1seq=x+1=1ack=y+1=1表示连接已经建立。
建立连接后的传输:
图5.7建议连接后的通信
此时端口号还是80和50644之间的通信。
ACK=1置为1此时一直在传输。
四次挥手:
第一次挥手
图5.8第一次挥手
图5.9第一次挥手报文
此时的ACK=1FIN=1Seq=u=346当FIN置为1时表示传输结束,准备释放链接。
第二次挥手
图5.10第二次挥手
图5.11第二次挥手
此时是第二次挥手,从图中看出,ACK=1Seq=v=970ack=u+1=346+1=347此时的TCP已经出去半关闭状态,即A已经没有数据要发送了,但是B若发送数据,A仍要接受。
第三次挥手:
图5.12第三次挥手
报文抓取:
图5.13第三次挥手
此时从图中可以看出FIN再次置为1,ACK=1Seq=w=970ack=u+1=347若B此时没有要向A发送的数据了,其应用进程就通知TCP释放链接,这是B发出的报文必须是FIN=,B还必须重复上次已经发送过的确认好ack=u+1.这是B就进入LAST-ACK状态,等待A的确认。
第四次挥手
图5.14第四次挥手
抓取报文
图5.15第四次挥手
此时ACK=1Seq=u+1=346+1=347ack=w+1=970+1=971当A收到B的连接释放报文段后,必须对此发出确认。
在确认报文段中把ACK置1,确认好ack=w+1,而自己的序号是Seq=u+1。
截止此时TCP的整个通信过程基本结束。
三次握手,连接之后进行传送,释放连接时的四次挥手。
但是我们需要注意的是,在最后TCP连接还没释放掉。
必须经过时间等待计时器设置的时间2MSL后,A才进入CLOSED状态。
当A撤销相应的传输控制块TCB后。
就结束了这次的TCP连接。
结束语
在本次的课程设计中,我使用了wireshark软件对TCP报文进行捕获,深入的分析了TCP报文格式,在TCP建立连接和断开连接中的报文格式和步骤。
理解了TCP工作原理和其工作方式,以及深刻理解其基于字节流的思想。
参考文献
【1】谢希仁等编著,《计算机网络》电子工业出版社2009.01
【2】
吴企渊等编著,《计算机网络》清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCP 协议 分析
![提示](https://static.bdocx.com/images/bang_tan.gif)