传输层:TCP总结-报头,通信过程

协议框架
1.协议三要素(语法(各变量的含义作用),语义,时序)—协议数据单元
2.数据传输过程:三次握手,通信,四次挥手
3.功能特点:稳定连接(核心),流量控制,拥塞控制

数据单元
对于每个报文段:Seq(首个字节编号),Ack(最后一个字节编号+1),MSS-最大承载字节数(Length)
通信时只考虑三个参数:Seq,Ack,Length.
在这里插入图片描述
对于此图讲解补充: 每次通信(每个RTT)可一次发送多个报文段,具体发几个由流量,拥塞控制来制定
——TCP流水线机制:允许发送方在任意时刻都可以有多个已发出但还未被确认的报文段存在(极大提高传输效率)。其具体数量由流量控制和拥塞控制机制决定。
在这里插入图片描述

报头格式-TCP参数(语法)
语义,时序体现在传输过程中
报文字段即一个个参数,这些参数用于实现协议的功能。
1.源端口,目的端口号:用于寻找标识目的主机socket.
2.六个核心变量
***Seq(序号),Ack(确认)***:建立有序(seq标识每个字节,segment),可靠(Ack确认机制)
rwnd(接收窗口),cwnd(拥塞窗口) :通过接收方缓存/发送方识别网络拥塞控制传输速率 --流量控制,拥塞控制
SYN,FIN:建立,断开TCP连接(SYN=1,FIN=1)

在这里插入图片描述
通信过程
TCP连接:三次握手(就SYN,SEQ,ACK三个状态变量)
1.SYN segment(两个变量): SYN = 1, 客户机初始seq(随机)
2.SYNACK segment(三个变量): SYN =1, 服务器初始序号,确认号= 客户端初始号 +1
收到SYN segment后服务器为此次TCP连接分配缓存,变量和socket接口。
3.客户端确认(三个变量):SYN = 0, 序号=客户机服务器初始序号+1,确认号+服务器初始序号+1
收到SYNACK segment后客户机为此次TCP连接分配缓存,变量和socket接口。之后每个报文段中SYN =0.
在这里插入图片描述
第一次:
客户端 - - > 服务器 此时服务器知道了客户端要建立连接了
第二次:
客户端 < - - 服务器 此时客户端知道服务器收到连接请求了
第三次:
客户端 - - > 服务器 此时服务器知道客户端收到了自己的回应
到这里, 就可以认为客户端与服务器已经建立了连接
数据传输过程:
通信时只考虑三个参数:Seq,Ack,Length.每个segment称为一次通信
建立连接后,TCP协议提供全双工的通信服务。所谓全双工,意思是:在同一条链路中的同一时刻,通信双方可以同时写数据。相对的概念叫做半双工,即:在同一条链路中的同一时刻,只能由一方来写数据。
在这里插入图片描述
断开连接:四次挥手

  1. 客户端发送终止报文段FIN = 1的segment, 服务器回复一个确认报文段
  2. 服务器发送自己的终止报文段 FIN =1 segment, 客户端回复一个确认报文段

在这里插入图片描述

发布了54 篇原创文章 · 获赞 1 · 访问量 2755

猜你喜欢

转载自blog.csdn.net/weixin_44682507/article/details/103212477