网络通信协议之TCP
副标题[/!--empirenews.page--]
部分非常容易能够创建一个本地TCP服务器,正好可以用来分析一下TCP的请求和响应过程。 在本篇文章,笔者将给大家介绍下TCP建立连接(三次握手),传输数据,断开连接(四次挥手)的过程。 TCP简介 TCP:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。 聊到网络协议,我们常常会想到OSI(Open System Interconnection 开放式系统互联)七层模型、TCP/IP协议簇,她位于OSI、TCP/IP协议簇哪一层等问题。 如下图OSI七层模型及对应的TCP/IP协议簇所示,TCP位于OSI中的第四层(传输层)。位于TCP/IP协议簇中的第四层(TCP or UDP)。 下图为OSI七层模型及对应的TCP/IP协议簇 OSI TCP/IP Family TCP是面向连接的,是指客户端在发送、接收数据之前需要先建立连接,这个连接过程需要三次握手来完成,笔者借助Python搭建了一个本地的TCP服务,并使用Wireshark(Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。) 捕获了本地的TCP服务器和TCP客户端之间请求响应的过程,带大家一起看一下建立连接(三次握手),传输数据,断开连接(四次挥手)的过程。 本地搭建TCP服务准备工作 笔者在前文提到了要用Python创建一个本地TCP服务器,并且分析TCP的请求响应过程。这里笔者使用的是PythonIDE、Mac自带的终端简单创建了一个本地TCP服务端和客户端。 笔者会分析的过程如下:
服务端代码:
客户端代码:
上述代码的效果如下图所示: TCP请求响应效果图 TCP建立连接效果图 如上图,Got connection from ('127.0.0.1', 62515)我们可以确定客户端使用的端口是59006。 通过上述准备工作,下边笔者会使用Wireshark捕获TCP请求响应的整个过程,并进行相应分析。 TCP三次握手 (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |