TCP相关知识(学习总结)

  • TCP历史及设计哲学
  • TCP解决了那些问题
  • TCP报文格式
  • 如果使用tcpdump分析网络报文
  • 三次握手建立连接
  • 三次握手过程中的状态变迁
  • 三次握手中的性能优化与安全问题
  • 数据传输与MSS分段
  • 重传与确认
  • RTO重传定时器的计算
  • 滑动窗口 发送窗口与接收窗口
  • 窗口额滑动与流量控制
  • 操作系统缓冲与滑动窗口的关系
  • 如何减少报文提高网络效率
  • 拥塞控制(慢启动、拥塞避免、快速重传与快速恢复)
  • SACK与选择重传算法
  • 从丢包到测量驱动的拥塞制算法
  • Google BBR拥塞控制算法原理
  • 关闭连接过程优化
  • 优化关闭连接时的TIME-WAIT状态
  • keepalive、校验和及带我啊数据
  • 面向字节流的TCP连接如果多路复用
  • 四层负责均衡可以做可以

TCP历史及设计哲学

TCP/IP前身ARPA:NCP协议
TCP/IP协议发展
  • 1973(TCP v1 包括IP功能的TCP协议RFC675)
  • 1977 TCPv2
  • 1978 TCPv3
  • 1980 TCPv4(1981.9 RFC793 ) + IPv4

TCP解决了那些问题

TCP的作用

Http Request ----------------->>>>> Internet -------------->>>>>>>>> Http Server

TCP 协议的分层

TCP: 面向连接的、可靠的、基于字节流的传输通信协议
IP: 根据IP地址传网络传输数据

TCP传输路由

报文头部的层层组装与卸载
TCP学习

  • 不可靠网络传输
    网络设备
    主机
    物理链路
    TCP协议特点

在IP协议之上、解决网络通讯可依赖问题

  • 点对点(不能广播、多播)、面向连接
  • 双向传递
  • 字节流:打包成报文字段、保证有序接收、重复报文自动放弃
    缺点: 不维护应用报文的边界(对比HTTP、GRPC)
    优点: 不强制要求应用必须离散的创建数据块、不限制数据块大小
  • 流量缓冲:解决速度不匹配问题
  • 可靠的传输服务(保证可达、丢包时通过重发进而增加时延时可靠性)
  • 拥塞控制

TCP报文格式

IP头部
TCP学习
UDP头部
TCP学习
TCP 协议的任务

  • 主机内的进程寻址
  • 创建、管理、终止连接
  • 处理连接字节(8bit)流达成报文字段(如IP报文)
  • 传输数据
  • 保持可靠性与传输质量
  • 流控后置与拥塞控制

TCP 四元组(原地址、源端口、目标地址、目标端口)

  • 对于IPv4地址、单主机最大TCP连接书为2的(32+16+32+16)次方

  • 没有连接ID: QUIC协议
    TCP学习

TCP Segment报文段
TCP学习
TCP option
TCP学习

控制信息:

  • 寻址
  • 滑动窗口
  • Flags
  • 校验和
    数据

相关文章:

  • 2021-04-14
  • 2022-01-22
  • 2021-07-06
  • 2021-11-15
  • 2021-11-23
  • 2021-08-15
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-09
  • 2021-09-05
  • 2021-07-30
  • 2021-07-23
  • 2021-08-04
  • 2021-05-23
相关资源
相似解决方案