小熊计网系列-TCP基本认识

103 阅读1分钟

TCP基本认识

TCP头格式

image.png

序列号:主要解决包乱序的问题
确认应答号:主要解决丢包的问题
控制位

  • ACK 设置为1,表示确认应答字段为有效
  • RST 设置为1表示强制断开连接
  • SYN 设置为1表示希望建立连接,并且对序列号进行初始化设置
  • FIN 设置为1表示今后不会再有数据发送,希望断开连接

TCP的目的

首先需要明确:TCP工作在传输层
工作:提供可靠的数据传输服务,保证收到的数据包是按序,完整,无损坏的

TCP定义

面向连接的可靠的基于字节流的传输层通信协议

  • 面向连接的:必须是一对一连接
  • 可靠的:保证一定可以到达接收端
  • 基于字节流:产生粘包问题

TCP连接是指什么

用于保证可靠性和流量控制维护的某些状态信息的组合,包括socket、序列号、窗口大小

为了唯一地确定一个TCP连接,通常采用源地址,源端口,目标地址,目标端口 四元组确定

image.png

注意
源地址、目标地址是32位的,作用是通过IP协议发送报文给对方主机
源端口和目标端口是16位的,作用是告诉TCP协议应该把报文发送给哪个进程