网络基础-TCP/IP基础(四)

本目内容还是为上课笔记,主要为自己总结。所以,写的不是很规范。 承接上一目,本目主要讲传输层的相关内容。
主要有一下几个点:
- TCP特点
- TCP报文格式
- 连接建立三次握手
- 连接终止四次挥手
- TCP如何保证可靠性

TCP特点

  • 基于字节流:
    • 基于字节流的传输服务。
    • TCP传输的数据是segment。后者是没有边界的,是一个字节流。存在粘包问题。
    • 既然当前层不解决这个问题,在应用层解决。
  • 面向连接的:
    • 数据传送前,建立连接。
  • 可靠传输:
    • 逻辑上保证数据没有差错。保证数据包不会失序和重复。
  • 缓冲传输:
    • 并不会立即传输段,存在缓冲区。
  • 全双工:
    • 发送的时候也可接受数据。主要指数据的发送和接受可以同时。如果不能同步是半双工。
  • 流量控制:
    • 主要是通过滑动窗口机制来控制。

TCP报文格式

  • 源端口号和目的端口号

    • 长度:16位
    • 含义:源端口号和目的端口号,加上IP首部的源IP地址和目的IP地址,唯一确定一个TCP连接。
  • 序号

    • 长度:32位
    • 含义:序号表示在这个报文段中的第一个数据字节序号。
  • 确认号:

    • 长度:32位
    • 含义:当ACK标志有效时,确认号表示期望收到的下一个字节的序号。
  • 头部长度

    • 长度:4位
    • 含义:表示头部的最长长度,以4B为单位。最多为60B
  • 保留位

    • 长度:6位
    • 含义:暂时留作保留用,全为0
  • 标志为

    • 长度:6位
    • 含义:
      • URG:紧急指针有效
      • ACK:确认序号有效
      • PSH:接收方应尽快将这个报文短交给应用层
      • RST:连接重置
      • SYN:同步序号用来发起一个连接
      • FIN:终止一个连接
  • 窗口大小

    • 长度:16位
    • 含义:通过窗口大小来达到流量控制
  • 校验和

    • 长度:16位
    • 含义:对TCP头部进行校验(网际校验和)
  • 紧急指针:

    • 长度:16位
    • 含义:是一个正的偏移量,与序号字段中的值相加。表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式
  • 选项与填充:

    • 长度:16位
    • 含义:最常见的可选字段是最长报文大小MSS,每个连接方通常在通信的第一个报文段中指明这个选项。它指明本端所能接受的最大长度的报文段。该选项如果不设置,默认为536.(20+20+536 = 576,路径MTU一般是576)

tcp报文格式

连接建立三次握手

连接终止四次挥手

TCP如何保证数据传输的可靠性

对于不可靠的服务,通常会有一下几个问题:

  • 差错
  • 丢包
  • 失序
  • 重复

所以,TCP要保证数据传输的可靠性,必须解决以上几个问题。

  • 差错:
    • TCP保持它首部数据的校验和。
    • 这是一个端到端的校验和,目的是检测数据在传输过程中的任何变化。如果收到段的校验和有错,TCP将丢弃这个报文段并且不确认。从而导致对方超时重传。
  • 丢包
    • 超时重传机制
    • 当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。
    • 当TCP收到发自TCP另一端的确认,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒。
  • 失序
    • 序号
    • TCP承载于IP数据报来传输,而IP数据报的到达可能会失序。因此TCP报文段的到达可能也会失序。但是,TCP将根据序号对收到的数据进行重排。
  • 重复
    • 序号
    • IP数据报会发生重复。因此TCP接收端根据序号丢弃重复的数据。
  • 流量控制
    • 滑动窗口机制
    • TCP连接的每一方都有一定大小的缓冲空间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值