TCP
下面是参考的内容:
推荐阅读顺序 | 文章 | |
---|---|---|
1 | miami TCP in a nutshell | 非常精简,但是主要内容都涵盖了 |
2 | coolshell TCP 的那些事儿(上)、TCP 的那些事儿(下) | 内容非常详实、全面 |
3 | wikipedia Transmission Control Protocol | |
4 | nmap TCP/IP Reference | 提供了非常好的图示,内容不多 |
5 | book TCP/IP Guid | 可以在线免费阅读 |
Guide
在阅读前,需要建立起如下概念/观念,便于理解:
1) TCP采用的是: 请求-确认 模型
原文中并没有说明此,这是我自己添加的
每个request,都会收到一个ack,它用于acknowledge的,即接收方告诉发送方: 收到了request,我们往往将其称之为**ACK response**,这样才算是完成了这个请求;
对于ACK,是不需要再ACK的,否则就会导致无限的递归下去;
2) TCP是全双工通信模式:
“全双工”意味着一个TCP session有两个部分组成,意味着存在着half的问题(half close、half open)。
3) 构建TCP的**活动图**(活动图是借用的软件工程中的概念):
可以采用如下收录来进行构建:
TCP的三个阶段: 这是对TCP的lifetime的划分,参见 "4 Protocol operation";
TCP的操作: 每个阶段的会执行相应的操作,参见 "4 Protocol operation";
TCP的状态: TCP是有一定状态的,TCP操作会触发状态的转换,因此我们可以构建状态转换图,参见"4 Protocol operation";
4) TCP的核心特性以及对应的实现方式
Terminology
endpoint: 一个TCP有两个endpoint
session: 一个TCP session
内容概述
TCP是一个复杂的协议,涉及非常多的内容,本章的目录结构是参考 wikipedia Transmission Control Protocol 的目录结构
首先是介绍TCP非常好的文章:
章节 | 内容 |
---|---|
Course-miami-TCP-in-a-nutshell |
miami TCP in a nutshell |
coolshell-TCP的那些事儿 |
coolshell TCP 的那些事儿(上)、TCP 的那些事儿(下) |
wikipedia-Transmission-Control-Protocol |
wikipedia Transmission Control Protocol |
然后介绍TCP中的一些概念:
章节 | 内容 |
---|---|
TCP-connection |
解释TCP链接 |
MSL-Maximum-segment-lifetime |
解释Maximum-segment-lifetime |
如何介绍一个TCP session的lifetime,主要分为三个阶段:
章节 | 内容 |
---|---|
Connection-synchronization |
建立TCP connection |
Data-transfer |
传输数据 |
Connection-termination |
断开TCP连接 |
其他:
章节 | 内容 |
---|---|
man-7-TCP |
|