本文主要是介绍(两百八十一)《TCP/IP详解》读书笔记(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.三次握手和四次挥手
2.TCP报文段组成
- 源IP+端口
- 目的IP+端口
其中接收方会校验序列号是否在活动窗口,其中发送方初始序列号是由半随机生成以防止伪造
1)MSS 最大段
ipv4 1460(总共1500,其中Ipv4的tcp头 20,ip头 20)
ipv6 1440(Ipv6的tcp头 40)
2)选择确认选项:接收方提供SAC选项描述乱序数据,帮助对方有效重传
3)窗口缩放选项(0~14)
用处时提升可接受数据量到65535*2^14,放大2^14倍,或者说可以左移14位大小
发送时需要将实际窗口大小右移S位,再填充到TCP头部16位窗口大小处,接收方接收到时会做左移处理获取真实的窗口大小,反之同理。
4)时间戳选项
5)用户超时选项->一般100s
6)MTU 最大传输单元->经过两台主机所有网络报文段中最大传输单元的最小值->避免TCP分片
TCP路径MTU检测:依赖ICMP PTB的回馈调整MTU
PS:ICMPv4 PTB
—如果一个IPv4路由器收到一个打算转发的数据报,如果数据报大于选定的传出网络接口的MTU,则数据报需要分片。如果到达的数据报在IP头部中设置了不分片位字段,那么它将被丢弃而不是转发,此时将产生ICMPv4目的不可达(PTB)报文。
—此报文既可用于诊断网络,又可用于路径MTU发现。
3.TCP状态机
感觉下面的更通用点
这篇关于(两百八十一)《TCP/IP详解》读书笔记(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!