TCP Three-way Handshake
2024-10-04 20:23:24
TCP Connection Management
Out-of-Order and Duplication(复制) Problem
- Old segment from previous connections to come
- Use long sequence number (32-bits)
- Establish randomly selected initial sequence number (ISN)
- Accept sequence numbers from a small window(To allow the network to clear old segments from the network)
- Enforces a time-out period at end of connection, called maximum segment lifetime (MSL), usually 2 minutes but round-trip delay dependent
TCP Header – Seq and Ack
Sequence Number
- Byte count
- First byte in segment
- 32 bits long
- 0 <= SN <= 2^32-1
- Initial sequence number (ISN) selected during connection setup (SYN flag bit is 1);
Acknowledgement Number
- SN of next byte expected by receiver
- Acknowledges that all prior bytes in stream have been received correctly
- Valid if ACK flag is set
TCP Header – Control bits
Control
- 6 bits
- URG: urgent pointer flag
- Urgent message end = SN + urgent pointer
- ACK: ACK packet flag
- PSH: override TCP buffering
- RST: reset connection
- Upon receipt of RST, connection is terminated and application layer notified(被通知)
- SYN: establish connection
- FIN: close connection
TCP Connection Management
- “Three-way Handshake”
- ISN’s protect against segments from prior connections
If host always uses the same ISN
TCP Connection Closing
“Graceful Close”
TCP Tree-way handshake
- Establish connection
- Transfer data
- Close the connection
最新文章
- php将html转成word文档下载
- iOS开发之Socket
- 图形学基础教程02--顶点数据和SHADER寄存器 (带演示程序)
- java7笔记
- 深入理解“HelloWorld”小程序
- iOS开发UI篇—简单的浏览器查看程序
- Codeforces Round #295 (Div. 2)
- 第六篇、WebSphere8.5 (商业级服务器)大规模集群
- perl Mail::Sender模块发送邮件
- java如何调用接口方式一
- Python3 与 C# 扩展之~基础衍生
- win10 修改 无线名 无线网络属性 名称 修改
- SqlServer中的数据库分类
- [基础知识]PeopleSoft应用服务器上的进程含义
- 自定义yum源
- KVM源代码框架
- 第二章 logstash - 输出插件之redis与es
- 【转】oracle中的游标的原理和使用详解
- Angular6 学习笔记——组件详解之组件通讯
- 通过mysql自动同步redis