详解TCP协议(一) |
您所在的位置:网站首页 › tcp的连接和建立过程图 › 详解TCP协议(一) |
文章目录
导图:一、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(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数据报中,然后再封装成数据链路层中的帧,如下图所示: TCP段=TCP首部+应用数据 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |