Fork me on GitHub

读书笔记 --TCP :传输控制协议(一)

 

正文

TCP提供一种面向连接的,可靠的字节流服务。

TCP 通过如下方式来提供可靠性:

  • 应用数据被分割成TCP认为最适合发送的数据块。
  • 超时重传机制。TCP发出一个段后,启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到确认,将重发报文段。
  • TCP收到数据后,将发送一个确认。这个确认不是立即发送,通常推迟几分之一秒。
  • TCP将保持首部和数据的校验和。用于差错检验,如果收到的数据出现差错,TCP将丢掉这个报文段并且不确认。(希望超时重传)
  • 既然TCP作为IP数据报来传输,而IP数据报的到达可能失序,因此TCP报文段也可能失序。如果必要,TCP将对收到的数据进行重新排序,收到的数据以正确的顺序交给应用层。
  • 既然IP数据报会发生重复,TCP的接收端必须丢掉重复的数据。
  • TCP能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机只是较慢主机的缓冲区溢出。

 

TCP 首部

TCP数据被封装在一个IP数据报中。

TCP首部的数据格式,如果不计任选字段,通常是20个字节。

抓一个包:

TCP首部的源端口号和目的端口号 与IP首部的源IP地址和目的IP地址唯一确定一个TCP连接。

 

posted @   HarlanC  阅读(183)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示