三次握手之 Connect 过程
本文主要分析 TCP 协议的实现,但由于 TCP 协议比较复杂,所以分几篇文章进行分析,这篇主要介绍 TCP 协议建立连接时的三次握手过程。 TCP 协议应该是 TCP/IP 协议栈中最为复杂的一个协议(没有之一),TCP 协议的复杂性来源于其面向连接和保证可靠传输。 如下图所示,TCP 协议位于 TCP/IP 协议栈的第四层,也就是传输层,其建立在网络层的 IP 协议。由于 IP 协议是一个无连接不可靠的协议,所以 TCP 协议要实现面向连接的可靠传输,就必须为每个 CS(Client - Server) 连接维护一个连接状态。由此可知,TCP 协议的连接只是维护了一个连接状态,而非真正的连接。 由于本文主要介绍 Linux 内核是怎么实现 TCP 协议的,如果对 TCP 协议的原理不是很清楚的话,可以参考著名的《TCP/IP协议详解》。 三次握手过程
我们知道,TCP 协议是建立在无连接的 IP 协议之上,而为了实现面向连接,TCP 协议使用了一种协商的方式来建立连接状态,称为:三次握手。三次握手 的过程如下图 建立连接过程如下:
以上过程完成后,一个 TCP 连接就此建立完成。 TCP 头部 要分析 TCP 协议就免不了要了解 TCP 协议头部,我们通过下面的图片来介绍 TCP 头部的格式: (编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |