【TCP-IP详解卷一:协议】ch17 TCP:传输控制协议

1. 引言

TCP是运输层的面向连接的可靠的运输协议。

2. TCP的服务

TCP提供的是面向连接的、可靠的字节流服务。

2.1 面向连接

指的是两个使用TCP的应用在交换数据前必须先建立一个TCP连接,一个连接中只有两方进行通信,故广播和多播不能用于TCP

2.2 可靠性

TCP提供可靠性的方式:

  1. 数据被分割成适合发送的数据块,即,报文段(segment)
  2. 自适应的超时及重传策略。(发出一个段后会启动定时器,超时未收到会重发)
  3. 收到另一端的数据后会发送确认
  4. 会保持首部和数据的检验和(端到端的),检测数据在传输过程中的任何变化
  5. 可以对收到的数据进行重新排序(因为TCP报文段作为IP数据报传输,IP数据报的到达会失序,所以TCP报文段的到达也会失序)
  6. 接收端会丢弃重复的数据
  7. 可以提供流量控制
2.3 字节流服务

TCP不在字节流中插入记录标识符,此外,TCP不对字节流的内容作任何解释,该工作由TCP连接双方的应用层进行。

3. TCP的首部

在这里插入图片描述

  1. 源端口号和目的端口号:这个两个字段的值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。(一个IP地址+一个端口号称为一个插口(socket))
  2. 序号:用于标识从发端向收端发送的数据字节流,为32位的无符号数,序号增加到 232-1 后又从0开始。建立新连接时,SYN标志为1
  3. 确认序号:包含发送确认的一端所期望收到的下一个序号。
  4. 首部长度:给出首部32位字的数目,该字段占4位,故TCP首部最多为60字节
  5. 6个标志比特:
    在这里插入图片描述
  6. 窗口大小:TCP流量控制由每一端通过声明的窗口大小提供,窗口大小为字节数,故窗口大小最大为65535字节
  7. 检验和:覆盖TCP首部+数据,是强制性字段,必须由发送端计算和存储,由接收端验证
  8. 紧急指针:URG置1时才有效,该字段值与序号字段值相加表示紧急数据最后一个字节的序号。
  9. 可选字段:常见MSS(最长报文大小),指明本端所能接收的最大长度的报文段

注意:

  1. 因为TCP提供的是全双工服务,所以连接的每一端都要保存每个方向上的传输数据序号.
  2. TCP可以称为没有选择确认或否认的滑动窗口协议。

4. 小结

  1. TCP提供的服务的特性
  2. TCP首部中各个字段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值