tcp可靠性

304 阅读2分钟
  1. 应用数据被分割成tcp认为最合适发送的数据快。
  2. 当tcp发送一个段后,它启动一个定时器,等待目的端确认收到这个报文端。如果不能及时收到一个确认,将重发这个报文段。(自适应的超时及重传策略)
  3. 当tcp收到发自tcp连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒。
  4. Tcp将保持它首部和数据的校验和。这个是一个端到端的校验和,目的是检测数据在传输过程中的任何变化。如果收到段的校验和有差错,tcp将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。
  5. 既然tcp报文段作为ip数据报来传输,而ip数据报的到达可能会失序,因此tcp报文段的到达也可能会失序。如果必要,tcp将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。
  6. 既然ip数据报回发生重复,tcp的接受端必须丢弃重复的数据。
  7. tcp还能提供流量控制。tcp连接的每一方都有固定大小的缓冲空间。tcp的接收端只是允许另一端发送接收端缓存区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。

注释:tcp对字节流的内容不做任何解释。tcp不知道传输的数据字节流是二进制数据,还是ascii字符或者其他类型数据。对字节流的解释由tcp连接双方的应用层解释。

T C P将 用 户 数 据 打 包 构 成 报 文 段 ; 它 发 送 数 据 后 启 动 一 个 定 时 器 ; 另 一 端 对 收 到 的 数 据 进行确认,对失序的数据重新排序,丢弃重复数据; T C P 提 供 端 到 端 的 流 量 控 制 , 并 计 算 和 验证一个强制性的端到端检验和。