TCP协议的特性

Posted 二九幂加八

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP协议的特性相关的知识,希望对你有一定的参考价值。

笔记时间:2021.6.3

特性就是指TCP提供的服务或功能

本篇主要参考郑烇老师的课程

点击下方阅读原文即可跳转

一、特性(服务)

1、点到点服务

存在一个发送方、一个接收方

提供一个端节点的应用进程向另一个端节点的应用进程提供的一个点到点的双向数据通信服务

所以TCP协议并不提供一点到多点或多点到一点的服务

2、可靠的、按顺序的字节流

应用进程把字节流交给下方的TCP实体,TCP实体能够把对应的字节流交给应用进程

不出错、不重复、不失序、不丢失、原原本本(特别喜欢郑烇老师的这句话!!!)

它没有报文边界,发送方发送2个报文,接收方不一定接收2个报文可能是1个(大报文)或4个(小报文),也可能是2个,不一定

报文的界限需要靠应用进程自己去维护

3、管道化、流水线协议

发送方在未经确认的情况下可以向对方发送很多连续的segment

应用进程往下层交付的报文,到了传输层,TCP需要按照MSS的大小分成一个个的报文段,每个报文段之前需要加上TCP Head(TCP 头部)

4、发送和接收缓存

发送和接收数据的时候,都存在着缓冲区,缓冲区是在内存中开辟的一块区域,发送方缓冲区的目的是检错重发、超时重传,而接收方缓冲区的目的是应用进程读取的速率和发送方发送的速率是不一样的,要安排一个接收方缓冲区来匹配速率不一致的问题。

5、全双工数据

在同一个连接中数据流双向流动

6、面向连接

在数据交换之前,通过握手(也就是交换控制报文)

初始化发送方、接收方的状态变量

7、流量控制

TCP 连接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。TCP 使用的流量控制协议是可变大小的滑动窗口协议 (TCP 利用滑动窗口实现流量控制)

二、总结

郑烇老师的top-down课程点击阅读原文,即可跳转到B站观看


以上是关于TCP协议的特性的主要内容,如果未能解决你的问题,请参考以下文章

[网络原理] TCP 协议的相关特性

TCP协议的特性

网络编程TCP/UDP协议(传输层特性)

网络编程TCP/UDP协议(传输层特性)

网络编程TCP/UDP协议(传输层特性)

信我,面试TCP/IP经典问题就这些!