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


  • 相关阅读:
    client offset screen 的区别
    js中const,var,let区别
    jquery的选择器
    gulp
    JS 实现图片放大效果
    html单个标签实现跑马灯效果
    前端之HTML知识点整理
    各种纯css图标
    防止反复点击的思路
    .NET Memcached Client 扩展获取所有缓存Key
  • 原文地址:https://www.cnblogs.com/james1207/p/3320151.html
Copyright © 2011-2022 走看看