zoukankan      html  css  js  c++  java
  • TCP/IP笔记 三.运输层(4)——TCP链接管理与TCP状态机

    1. 建立连接

    三次握手


    (1)A 的 TCP 向 B 发出连接请求报文段,其首部中的同步比特 SYN 应置为 1,并选择序号 x,表明传送数据时的第一个数据字节的序号是 x。
    (2)B 的 TCP 收到连接请求报文段后,如同意,则发回确认。
    (3)B 在确认报文段中应将 SYN 置为 1,其确认号应为 x + 1,同时也为自己选择序号 y。
    (4)A 收到此报文段后,向 B 给出确认,其确认号应为 y + 1。
    (5)A 的 TCP 通知上层应用进程,连接已经建立。
    (6)当运行服务器进程的主机 B 的 TCP 收到主机 A 的确认后,也通知其上层应用进程,连接已经建立。

    2. 断开连接

    2.1 半关闭:

    Client --> Server  无数据, ACK = u+1

    Server--> Client  有数据, Seq = v + t

    2.2 Time Wait

    等待2MSL(Max Segment Life Time)

    原因:

    (1)保证最后一个ACK从A到达B

    (2)避免”已丢失“的报文被Server就收到,建立连接请求。


    从 A 到 B 的连接就释放了,连接处于半关闭状态。
    相当于 A 向 B 说:
    “我已经没有数据要发送了。
    但你如果还发送数据,我仍接收。”

    3. TCP状态机


  • 相关阅读:
    vr这么火我来看看there.js
    简明现代魔法博客图书馆之php学习记录
    ecshop学习记录
    mysql学习笔记
    linux服务器自动备份mysql数据库
    thinkphp分页及分页样式
    php手册学习(2)
    非常不错的ajax原理总结
    最全的HTTP头部信息分析
    利用curl并发来提高页面访问速度
  • 原文地址:https://www.cnblogs.com/james1207/p/3320151.html
Copyright © 2011-2022 走看看