TCP协议作为传输层主要协议之一,具有面向连接,端到端,可靠的全双工通信,面向字节流的数据传输协议。 1、TCP报文段 虽然TCP面试字节流,但TCP传输的数据单元却是报文段。TCP报文段分为TCP首部和数据部分,TCP报文段首部的前20个字节是固定的,后面有4n字节是更具 ...
一 TCP连接的ISN 之前我们说过初始建立TCP连接的时候的系列号 ISN 是随机选择的,那么这个系列号为什么不采用一个固定的值呢 主要有两方面的原因 防止同一个连接的不同实例 different instantiations incarnations of the same connection 的数据包混淆。 同一个连接的不同实例是怎么回事呢 之前我们说过 源IP 源端口号 目的地址 目的 ...
2016-11-07 13:35 0 3106 推荐指数:
TCP协议作为传输层主要协议之一,具有面向连接,端到端,可靠的全双工通信,面向字节流的数据传输协议。 1、TCP报文段 虽然TCP面试字节流,但TCP传输的数据单元却是报文段。TCP报文段分为TCP首部和数据部分,TCP报文段首部的前20个字节是固定的,后面有4n字节是更具 ...
一、SYN报文处理: 公共部分:tcp_v4_rcv->tcp_v4_do_rcv->tcp_v4_cookie_check(无处理动作)->tcp_rcv_state_process->tcp_v4_conn_request[conn_request]-> ...
在前面的内容中我们介绍了TCP连接管理中最常见的三次握手方式和四次挥手的方式。但是有可能A和B两端同时执行主动打开并连接对方或者同时执行主动关闭连接(尽管发生这种情况的可能性比较低低),这个时候的流程就略有不同了。下面我们分别对同时打开(simultaneous open)连接 ...
TCP连接管理 每一条 TCP 连接有两个端点。TCP 连接到端口叫做套接字(socket)或插口。端口拼接到 IP 地址(IP地址:端口号)即构成了套接字。 每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定 或者可以是这样一种说法:一个tcp连接由一个连接四元组 ...
TCP的运输连接管理 TCP是面向连接的协议,有三个阶段:连接建立、数据传送 和 连接释放。运输连接的管理就是使运输连接的简历和释放都能正常地进行。 在TCP连接建立过程中要解决一下三个问题: 1、 要使每一方都能够确知对方的存在: 所以需要三次握手。 2、 要允许双方协商一些参数 ...
一、TFO背景 当前web和web-like应用中一般都是在三次握手后开始数据传输,相比于UDP,多了一个RTT的时延,即使当前很多应用使用长连接来处理这种情况,但是仍然由一定比例的短连接,这额外多出的一个RTT仍然对应用的时延有非常大的影响。TFO就是在这种背景下面提出来 ...
《TCP/IP详解·卷一》看了三遍才算整明白个大概,一直想做个总结。 最初对TCP的印象很简单:丢包重传、流数据。丢包重传很好理解,“流数据”是什么鬼? 知乎上看到个极好的解释:把TCP看作用管子往对端灌水,水是数据,它们之间没有边界,且先发先到;UDP是往对端滚小球,它们之间 ...
一、TCP选项概述 在前面介绍TCP头的时候,我们说过tcp基本头下面可以带有tcp选项,其中有些选项只能在连接过程中随着SYN包发送,有些可以延后。下表汇总了一些tcp选项 其中我标记为红色的部分是常见的TCP选项,我们仅针对这些红色的TCP选项进行介绍(主要是非红色 ...