详解TCP协议(一)

您所在的位置:网站首页 tcp的连接和建立过程图 详解TCP协议(一)

详解TCP协议(一)

2024-07-17 01:13| 来源: 网络整理| 查看: 265

文章目录 导图:一、TCP是什么1.1面向连接1.1.1那么它连接的是谁?1.1.2全双工通信与半双工通信 1.2可靠1.3有序1.4面向字节流传输1.4.1面向字节流,面向比特流,面向字符流比较 二、TCP报文结构及功能2.1TCP报文结构2.1.1应用数据在整个传输过程中被封装的数据形式2.1.2TCP段的组成

导图:

在这里插入图片描述 接下来的博客内容会按照导图展开

一、TCP是什么

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、有序的、基于字节流的传输层通信协议。

1.1面向连接

TCP的三次握手和四次挥手,应该是挺熟悉的名词。TCP的连接与释放就是通过上面完成的。

1.1.1那么它连接的是谁?

连接的是要通信双方的进程 我们知道应用层之间的通信本质是进程之间的通信,传输层接收(发送)应用层数据,传输层协议如果要连接的话得连接主机之间的进程才能完成通信(信息交换)

TCP连接通过三次挥手就是发送方主机A进程确定连接接收方主机B的某个进程,一旦连接,TCP协议会允许双方应用进程在任何时间段都可以发送和接收数据(全双工通信服务),并且会提供发送和接收空间缓存。

1.1.2全双工通信与半双工通信 全双工通信:通信双方可以同时发送和接收信息(TCP实现)半双工通信:通信方式可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行(数据链路层实现)

举例: 全双工通信:咱们打电话的时候可以说话也可以听见对方说话 半双工通信:好比对讲机,你一句我一句说话

如图: 在这里插入图片描述 半双工也可以理解为只能过一辆车的桥,全双工为双向各一车道的桥。前者同时只有一个方向可以过,后者来回双向都可以同时过。

TCP采用的是全双工通信,这也是为什么三次握手建立连接,四次挥手释放连接,后面祥谈。

1.2可靠

TCP协议是基于滑动窗口协议的,包含并综合可靠传输协议的措施,例如,差错检测,累计确认机制,序号,重传,计时器等,后面博客介绍

1.3有序

进程的应用数据通常被TCP分割成数据块(报文段)进行传输,一般数据块的长度按照最大报文段长度(MSS)来设置。

因此从主机A传输到主机B的数据只是应用数据的一部分,所以传输的数据块必须要有序才能保证应用数据的完整性

1.4面向字节流传输

TCP将上述的数据块,看成一连串无结构的字节流,所有的数据都是按照8bit一组进行发送与传输数据块数据包含很多组

1.4.1面向字节流,面向比特流,面向字符流比较

面向比特流 8比特为一组传输数据 面向字节流 1比特为一组传输数据 面向字符流 在tcp编程,网络传输中的字节流,对应到代码里的字符流,就是字符串,所以本质没有什么区别。

二、TCP报文结构及功能 2.1TCP报文结构 2.1.1应用数据在整个传输过程中被封装的数据形式

位于传输层的TCP数据分组称为段(Segment),又译为报文段、数据段或分段。TCP将来自应用层的数据分块并封装成TCP段进行发送。TCP段封装在IP数据报中,然后再封装成数据链路层中的帧,如下图所示: 在这里插入图片描述

2.1.2TCP段的组成

TCP段=TCP首部+应用数据 在这里插入图片描述 详细说下TCP首部组成及功能 在这里插入图片描述 各个组成的功能都概况了下,后面用到会再强调一遍,TCP的工作步骤就是和上面的组成打交道。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3