TCP服务模型

1、三次握手

在这里插入图片描述
A向B发送同步消息,请求建立A到B的连接,并在消息中附带字节流的开始编号。B收到消息后,发送同步和确认消息,因为B需要建立一个B到A到连接,在该同步消息中同样附带字节流到开始编号。A收到后,返回确认消息。

2、关闭连接

在这里插入图片描述
A向B发送完成消息(Fin)表示希望关闭A到B的连接,B返回可能需要的数据并返回确认消息,此时A到B的连接关闭,但B可能还有数据需要发送给A,所以B到A的连接暂时还保留着。一段时间后,B向A发送完成消息。A收到后返回确认消息给B,B收到后关闭B到A的连接。

3、TCP服务模型

特性表现
字节流可靠的字节传输服务
可靠传输1. 确认消息指示正确传输
2. 校验和检测受损的数据
3. 序列号检测丢失的数据
4. 流量控制防止接收方超负荷
有序性数据按顺序交付给应用程序
(拥塞控制)控制网络拥塞

字节流:在两个应用程序间提供可靠的字节流
可靠传输:TCP使用四种机制来保证可靠传输,换句话说,保证数据已被正确传输。当运输层接收到数据后,它发送ACK消息告知发送方其数据已正确到达;TCP报头中有一个校验和字段,它覆盖了报头和segment中的数据;校验和用于检验数据在传输过程中是否受损,例如线路上的位错误或路由器内部的内存错误;序列号用于检测丢失的数据,每个segment的header中都有序列号,标明数据中第一个字节的序号;若主机B的发送速度远高于主机A的接收速度,主机A会被淹没。在TCP中,接收方会不断告知发送方是否可以继续发送。具体来说,它告诉发送方自己的缓冲区还有多少空间可以接收新数据。
有序性:TCP会按正确的顺序将数据传送到应用程序。TCP会按序列号重组收到到数据。
拥塞控制:略

3、TCP SEGMENT

在这里插入图片描述
序列号指明数据中第一个字节在字节流中的编号。ACK序列号指示发送方下一个发送的segment应该的序列号。HLEN指明header的长度,这是由于TCP Options的关系。Flags中标记位,ACK位表示ACK序列号部分有效(即表明这是一个ACK消息),SYN表示这是同步消息,FIN表示这是关闭连接的消息。

4、TCP连接的唯一标识

在这里插入图片描述
源IP、目的IP、协议ID、源端口号、目的端口号

5、总结

TCP在应用程序之间提供了有序、可靠的字节流传递服务。

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页