Chp6 TCP连接中的三次握手四次挥手协议

原创 2016年05月30日 10:00:25

    此文的内容包括:

    ·HTTP是什么

    ·三次握手协议

    ·四次挥手协议



    1.HTTP是什么
    HTTP是超文本传输协议(HyperText Transfer Protocol),是一种面向事物的应用层协议
,它定义了浏览器怎么向服务器请求资源,以及服务器怎么把资源传输给浏览器。HTTP协议是无连接的,通信的双方在交换HTTP报文时不需要先建立HTTP连接;HTTP协议是无状态的,同一个客户第二次访问同一服务器上的页面时,服务器的响应与第一次相同。

    2.三次握手协议
    在发送数据的准备阶段,客户端和服务器端需要进行三次交互来建立TCP连接,成功后客户端和服务器之间才开始进行数据传输。
    ·其中每一次交互可以形象地比喻成一次握手:

    第一次握手:客户端发送SYN包(syn=j)给服务器,之后进入SYN_SEND状态,等待服务器确认;
    第二次握手:服务器收到客户端的SYN包,确认客户的SYN包(ack=j+1),自己也发送一个SYN包(syn=k),即SYN+ACK包给客户端,之后服务器进入SYN_RECV状态,等待客户端确认;
    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK包(ack=k+1),此包发送成功后,客户端和服务器都进入ESTABLISHED状态,完成三次握手,TCP连接建立成功。
    ·一些重要的概念:
    未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于SYN_RECV状态,当服务器收到客户端的确认包时,删除该条目,服务器进入ESTABLISHED状态。
    SYN-ACK重传次数:服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户端确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除(每次重传等待的时间不一定相同)。
    半连接存活时间:是指半连接队列的条目存活的最长时间,即服务器从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和,也称半连接存活时间为TIMEOUT时间、SYN_RECV存活时间。

    3.四次挥手协议
    也叫连接终止协议,终止一个TCP连接要经过四次挥手,这是因为TCP连接是全双工模式,所以要终止连接时,每个方向都必须单独进行关闭。
    ·TCP连接的终止:

    第一次挥手:当某一端数据发送完毕时,这端首先调用CLOSE,发送一个FIN分节来终止这个方向的连接,执行“主动关闭”;
    第二次挥手:接收到这个FIN的对端,发回一个ACK包(确认序号为收到的序号加1),来终止这个方向的连接,执行“被动关闭”;
    第三次挥手:一段时间后接收到这个文件结束符的端在自己的数据传送完毕后,将调用CLOSE关闭它的套接字,向请求终止连接的那一端也发送一个FIN;
    第四次挥手:接收这个最终FIN的原发送端(即执行主动关闭的那一端)发回ACK包(确认序号为收到的序号加1)确认,表示已经收到这个FIN,连接终止。
    ·注意:收到一个FIN只意味着这一方向上没有数据流动,一个服务器在收到一个FIN后仍能向客户端发送数据;和SYN一样,一个FIN将占用一个序号,既然每个方向都需要一个FIN或一个ACK,因此通常需要4个分节;FIN的接收也作为一个文件结束符传递给接收端应用进程,放在已排队等候该应用进程接收的任何其他数据之后,因为FIN的接收意味着接收端应用进程在相应连接上再无额外数据可接收。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

剖析TCP/IP协议建立和释放连接的三次握手与四次挥手过程

最近在与X公司进行http api联调时积累了一些关于tcp/ip协议建立和释放连接的三次与四次挥手的详细过程,顺便也回顾一下tcp/ip协议方面的知识。本文首先介绍tcp/ip包结构和tcpdump...
  • yown
  • yown
  • 2016-12-31 23:22
  • 492

TCP协议的连接和关闭精讲;三次握手、四次挥手剖析

TCP协议的连接和关闭精讲;三次握手、四次挥手剖析 建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 先来看看如何建立连接的。 ...

TCP协议建立连接的三次握手四次挥手机制

1,三次握手建立连接     初始状态:服务器调用LISTEN原语。由CLOSED状态进入被动等待连接请求状态。            第一次握手:此时客户执行一个CONNECT原语,同时指定一下...

TCP协议 标记位&定时器&三次握手四次挥手

TCP段格式: 1、标记位 URG(紧急位) 紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指...

TCP三次握手四次挥手详解

  • 2011-12-30 17:03
  • 119KB
  • 下载

TCP协议三次握手四次挥手

一、TCP报文格式 TCP报文格式图: 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:...

TCP/IP协议 三次握手与四次挥手

一、TCP报文格式        TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式        上图中有几个字段需要重点...

TCP/IP协议 三次握手与四次挥手

一、TCP报文格式         TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图: 图1 TCP报文格式         上图中有几个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)