码迷,mamicode.com
首页 > 其他好文 > 详细

计算机网络(三),TCP报文段详解

时间:2019-02-07 15:02:23      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:通信   toc   lag   表示   没有   分割   计算机网络   ali   发送数据   

目录

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字节

 

计算机网络(三),TCP报文段详解

标签:通信   toc   lag   表示   没有   分割   计算机网络   ali   发送数据   

原文地址:https://www.cnblogs.com/xzmxddx/p/10354724.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!