zoukankan      html  css  js  c++  java
  • TCP连接的建立与终止

    一 TCP是一个面向连接的协议。通常由客户端向服务端发送数据前建立。

          连接的建立通过3次握手完成,客户端首先向服务端发送一个SYN,服务端响应一个SYN同时对客户端的SYN返回一个ACK,客户端再对服务端的SYN返回一个确认的ACK。至此一个TCP连接建立完毕。具体过程如下图所示:

    从上图中我们可以看到在发送数据之前必须先通过3次握手来建立连接。之后可以正常的发送数据。在发送完数据之后需要通过4次握手来关闭一个TCP连接。客户端向服务端发送一个FIN表明没有数据再向服务端发送了(注意这个时候服务端还是可以向客户端发送数据的)同时进入FIN-WAIT-1状态。服务端对客户端的FIN返回一个ACK进行确认,进入CLOSE-WAIT状态。客户端收到次ACK后进入到FIN-WAIT-2状态。服务端的TCP连接会向应用层报告客户端已经没有数据发送了,再将自己剩余的数据发送给客户端之后也向客户端发送一个FIN,同时进入LAST-ACK状态。客户端收到服务端的FIN并发送次FIN的ACK之后进入TIME-WAIT状态,一般持续2MSL。

  • 相关阅读:
    BDB c++例子,从源码编译到运行
    Linux的nm查看动态和静态库中的符号
    转:js包装DOM对象
    svn笔记4属性Properties
    c++ 友元函数
    转:js包装DOM对象
    整除规则(原理,性质)
    回溯法求幂集
    转:Javascript继承机制的设计思想
    javascript prototype __proto__区别
  • 原文地址:https://www.cnblogs.com/nicganon/p/3917833.html
Copyright © 2011-2022 走看看