zoukankan      html  css  js  c++  java
  • 计算机网络(三),TCP报文段详解

    目录

    1.TCP(Transmission Control Protocol传输控制协议)作用

    2.TCP报文段详解

    三、TCP报文段详解

    1.TCPTransmission Control Protocol传输控制协议)作用

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

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

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

    4)使用校验和来检验数据在传输过程中是否有误

    2.TCP报文段详解

     

    1.源端口(Source Port-两个字节

    2.目的端口(Destination port-两个字节

      TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。

    3.顺序序号(Sequence Number-四个字节

    4.确认序号(Acknowledgement Number-四个字节

      顺序序号和确认序号是TCP可靠传输的关键部分。序号是本报文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号。一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为400。所以序号确保了TCP传输的有序性。确认号,即ACK,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到。确认号只有当ACK标志为1时才有效。比如建立连接时,SYN报文的ACK标志位为0

    5.偏移

    6.保留

    7.标志位(TCP Flags

    (1)URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。

    (2)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段

    (3)PSHpush标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。

    (4)RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。

    (5)SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1ACK=1

    (6)FINfinish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。

    8.窗口字段:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制

    9.检验和:奇偶校验,此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据,以 16 位字进行计算所得

    10.紧急指针:只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。

    11.可选和填充部分:长度可变,定义其他的一些可选参数

    12.数据部分:可以存在,也可以不存在

    前十部分是TCP报文段头部一共20字节

  • 相关阅读:
    win7 删除Windows服务的方法
    如何对SQL Server 2005进行设置以允许远程连接(转载)
    MySql实现远程连接
    OpenCV训练分类器制作xml文档
    Ms SQL Server 约束和规则
    PowerDesigner实用技巧小结(4)
    企业级技术解决方案:hbase+es
    ES的聚合操作
    es之过滤器
    es之得分(加权)
  • 原文地址:https://www.cnblogs.com/xzmxddx/p/10354724.html
Copyright © 2011-2022 走看看