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 @ 2017-01-06 22:16  HarlanC  阅读(182)  评论(1编辑  收藏  举报