• TCP的三次握手


    传输控制协议TCP简介

    •面向连接的、可靠的、基于字节流的传输层通信协议;

    •将应用的数据分割成报文段并发送给目标节点的TCP层;

    •数据包都有序号Sequence,对方收到则发送ACK确认,未收到则重传;

    •使用检验和来检验数据传输过程中是否有误;

    TCP报文头的组成信息

    第0-3位 :Source Port 和 Destination Port

    第4-7位 :Sequence Number

    第8-11位: Acknowledgment Number

    第12-15位: Offset 、Reserved(保留域默认为0) 、TCP Flags(C E U A P R S F)、Windows

    第16-19位:Checksum(16位计算,发送端计算存储,接收端校验)、 Urgent Pointer

    第20-n位: TCP  Options (例如:variable length, optional)

    前面20位比较重要;

    TCP Flags (都是0和1分别表示相反的两种状态)

    URG: 紧急指针标志(1有效/0忽略);

    ACK: 确认序号标志(1有效/0忽略);

    PSH: push标志(1有数据传输/0没有数据传输);

    RST: 重置链接标志;

    SYN: 同步序号,用于建立连接过程;(1有效)

    FIN:finish标志,用于释放连接;

    (重要)TCP三次握手(重点:初始化通信双方的seq序列号)

    状态: 客户端A(CLOSED),服务器B(CLOSED)

    客户端A: SYN = 1 ,seq = x  【客户端A:(SYN-SENT),服务器B:(LISTEN)】

    服务端B: SYN = 1,ACK = 1, seq = y, ack = x + 1 【客户端A:(SYN-SENT),服务器B:(SYN-RCVD)】

    客户端A: ACK = 1 ,seq = x+1, ack = y+1【客户端A:(ESTAB-LISHED),服务器B:(ESTAB-LISHED)】

  • 相关阅读:
    ndarray转PIL
    215. 数组中的第K个最大元素
    pytorch的分布式
    剑指 Offer 06. 从尾到头打印链表
    最长公共子序列
    剑指 Offer 57
    剑指 Offer 59
    剑指 Offer 48. 最长不含重复字符的子字符串
    Python线程池
    Python 常用内置函数
  • 原文地址:https://www.cnblogs.com/acelance/p/12144248.html
Copyright © 2020-2023  润新知