0%

TCP-入门

TCP-入门

TCP-入门

背景

不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。

TCP解决了什么

为连接到不同但互连的计算机通信网络的主计算机中的成对进程 提供可靠通信服务

TCP如何解决

  1. 应用层向TCP层发送用于网间传输的、用8位字节表示的数据流
  2. TCP把数据流分区成适当长度的报文段
  3. TCP把结果包编序号并传给IP层
  4. IP层通过网络将包传送给接收端实体的TCP层。
  5. 接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。
  6. 接收端实体将包按照编号顺序组装起来。

TCP结构

TCP常见知识点

三次握手

建立连接的过程:

  1. 客户端发送SYN报文给服务器端
  2. 服务器端接收到SYN,回应一个SYN
  3. 客户端接收到服务的SYN,回应一个ACK

image-20201112150119410

四次挥手

断开连接的过程:

  1. 客户端发送FIN
  2. 接收端发送ACK
  3. 接收端发送FIN
  4. 客户端发送ACK

与UDP异同

UDP

介绍

提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。

优点:传输过程中延迟小、数据传输效率高。

缺点:没有可靠性保证、顺序保证和流量控制字段

使用场景:

强调传输性能而不是传输的完整性。是分发信息的一个理想协议。例如,在屏幕上报告股票市场、显示航空信息等等。如果有一个消息丢失,在几秒之后另一个新的消息就会替换它。

  1. 音频
  2. 多媒体应用
  3. 网络视频会议
  4. 聊天:QQ