• 一开始个人对于三次握手和四次挥手这个东西还是有时候会忘记,可能理解的不是非常深刻,所以今天就自己动手来记录一下这个知识点,方便以后查看。总结完之后发现总结的还是可以的哈哈。

  • 三次握手建立连接
    •   第一次:客户端和服务器端一开始都是关闭的。①:当想建立连接的时候,客户端首先主动打开,然后服务器端被动打开。
      ②:服务器首先得先创建好需要的pcb传输控制块(参照socket编程中的,先得建立一些服务器所需要的信息,包括套接字之类的,创建套接字,绑定套接字,),之后进入listen状态,等待客户端来连接自己。客户端也得建立好自己的PCB结构(创建套接字)。
      ③:第一次连接开始:客户端发出连接请求,发出请求报文(SYN:握手信号=1,ACK:确认机制=0,SEQ:连接序列=随机数X),
      客户端状态:SYN-SENT(同步已发送)
    •   第二次:同意连接,发送同意报文(SYN:握手信号=1,ACK:确认机制=1,ack:确认信号=X+1,SEQ:连接序号=随机数Y),这里有重新产生一个序列号Y,服务器状态:SYN-RCVD(同步已收到)
    •   第三次:客户端收到服务器的连接确认后,必须返回确认连接信号给服务器(ACK:确认机制=1,    ack:确认信号=Y+1, SEQ:连接序号=随机数X+1(在上一条请求信号的基础上加1))
      客户端状态:ESTAB-LISHED(连接已建立)。当服务器收到之后,服务器状态:ESTAB-LISHED(连接已建立)

      注意:第三次握手的意义:为了防止已经失效的连接请求报文段突然又传送到了B。

  • 四次挥手释放连接
    •   第一次:客户端首先发送连接释放报文段(FIN:终止连接标志=1,seq:序号=X),FIN=1向服务器提出分手。客户端状态:FIN-WAIT-1(终止连接等待状态1)
    •   第二次:因TCP的连接是全双工的双向连接,关闭也是要从两边关闭;当服务器收到客户端发来的FIN=1的标志位后,服务器不会立刻向客户端发送FIND=1的请求关闭信息,而是先向客户端发送一个ACK=1的应答信息,表示:你请求关闭的请求我已经收到,但我可能还有数据没有完成传送,你再等下,等我数据传输完成了我就告诉你;确认报文(ACK:确认机制=1,ack:确认信号=X+1,seq:序号=Y)
      服务器状态:CLOSE-WAIT(关闭等待),这样客户端服务器端的连接就释放了
      客户端状态:FIN-WAIT-2(终止连接等待状态2)
    •   第三次:服务器端数据传输完成,没有动洗传输了,服务器这边提出释放连接要求(FIN:终止连接标志=1,ACK:确认机制=1,seq:序号=Z,ack:确认信号=X+1)
      服务器状态:LAST-ACK(最后确认)
    •   第四次:host1收到FIN=1后,host1还是怕由于网络不稳定的原因,怕host2不知道他要断开连接,于是向host2发送ACK=1确认信息进行确认,把自己设置成TIME_WAIT状态并启动定时器,如果host2没有收到ACK,host2端TCP的定时器到达后,会要求host1重新发送ACK,当host2收到ACK后,host2就断开连接;当host1等待2MLS(2倍报文最大生存时间)后,没有收到host2的重传请求后,他就知道host2已收到了ACK,所以host1此时才关闭自己的连接。这一点我觉得设计得非常巧妙

TCP/IP的三次握手和四次放手的更多相关文章

  1. TCP/IP协议三次握手与四次握手流程解析

    原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...

  2. TCP/IP协议三次握手与四次握手流程解析(转载及总结)

    原文地址:http://www.2cto.com/net/201310/251896.html,转载请注明出处: TCP/IP协议三次握手与四次握手流程解析 一.TCP报文格式  TCP/IP协议的详 ...

  3. TCP/IP协议三次握手与四次握手

    TCP/IP协议三次握手与四次握手流程解析 一.TCP报文格式  TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图:图1 TCP报文格式  上图中有几个 ...

  4. TCP/IP协议三次握手和四次挥手大白话解说

    前言 昨天晚上被一位师傅问到了TCP/IP的工作机制,心里很清楚三次握手,然而对于四次挥手却忘了,这是大学习里学过的,奋而翻阅书籍和网络对之前所学的做一个温顾,算是夯实自我吧. TCP(Transmi ...

  5. 白话解说TCP/IP协议三次握手和四次挥手

    白话解说TCP/IP协议三次握手和四次挥手 1.背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次. 从好上开始,到现在,一年多也算坚持下来了. 1.1.问题 有时候聊天的过程中,我的 ...

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

    一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下:        (1)序号 ...

  7. TCP/IP协议 三次握手与四次挥手【转】

    一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下:        (1)序号 ...

  8. TCP/IP协议三次握手与四次握手流程解析(转)

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

  9. 【协议】2、TCP/IP协议三次握手与四次握手流程解析

    一.TCP报文格式  TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图:图1 TCP报文格式  上图中有几个字段需要重点介绍下:  (1)序号:Seq序 ...

随机推荐

  1. 【集成学习】sklearn中xgboot模块中fit函数参数详解(fit model for train data)

    参数解释,后续补上. # -*- coding: utf-8 -*- """ ############################################## ...

  2. sort--Linux下文本处理五大神器之三

    转自:http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参 ...

  3. Python Indentation

    In Python, code blocks don't have explicit begin/end or curly braces to mark beginning and end of th ...

  4. webpack入门(四)——webpack loader 和plugin

    什么是loader loaders是你用在app源码上的转换元件.他们是用node.js运行的,把源文件作为参数,返回新的资源的函数. 例如,你可以用loaders告诉webpack加载 coffee ...

  5. spring事务-说说Propagation及其实现原理

    前言 spring目前已是java开发的一个事实标准,这得益于它的便利.功能齐全.容易上手等特性.在开发过程当中,操作DB是非常常见的操作,而涉及到db,就会涉及到事务.事务在平时的开发过程当中,就算 ...

  6. sleep(0)作用

    假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?某人的代 ...

  7. Linux应用程序调用其他程序执行

    一.system 1.作用 在Linux应用程序中调用另一个程序: 2.用法 system("/sbin/ifconfig"): 二.popen 1.作用 调用另一个程序执行,同时 ...

  8. c# OrderBy 实现List升序降序

    本文转载自:http://blog.csdn.net/chadcao/article/details/8730132 1)前台代码 <%@ Page Language="C#" ...

  9. ORACLE显式授权

    同一数据库 两个不同用户 user1 user2 user1里面有一张表 table1 在user2里面创建synonymcreate synonym sy1 for user1.table1; 创建 ...

  10. 深入VR之前 你应该知道VR头显透镜原理

    转自:http://www.gamelook.com.cn/2016/03/246817 要理解虚拟现实头显透镜的工作原理,首先要搞懂眼睛是如何看到事物的. 眼睛瞳孔后有晶状体,也就是眼珠子.眼睛的背 ...