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状态机


  • 相关阅读:
    随感
    createDocumentFragment() 创建文档碎片节点
    关于数组的map、reduce、filter
    CSS中的常用属性
    精通CSS version2笔记2.小知识
    精通CSS version2笔记之⒈选择器
    Spring入门_01
    Spring入门
    Java 流程控制
    Java 数据类型
  • 原文地址:https://www.cnblogs.com/james1207/p/3320151.html
Copyright © 2011-2022 走看看