聊点TCP干货
发布时间:2019-05-29 23:57:02 所属栏目:教程 来源:美码师
导读:我们在平时的开发中,或多或少都会涉猎到网络传输这块。 这篇文章,主要是整理一下 TCP 的一些知识要点,作为一名开发者来说,尽管有那么多的基础设施(框架、组件)帮我们屏蔽了这些细节。但我仍然认为了解它的一些基本原理必有些裨益,尤其是当你在分布式
(6) 标志位:紧急标志位(URG):开启时表明此数据包处于紧急状态应该优先处理
(7) 窗口大小:表明期望接受到的数据包字节数,用于拥塞控制。 (8) 校验和:实现对TCP报文头以及数据区进行校验。 (9) 紧急指针:在紧急状态下(URG打开),指出窗口中紧急数据的位置(末端)。 (10) 选项(可变):用于支持一些特殊的变量,比如最大分组长度(MSS)。 (11) 填充:用于保证可变选项为32 bit的整数倍。 黑板:一般情况下TCP 头部为20字节,加上20字节的 IP头部,一个数据包至少包含40字节的头部 三、TCP 工作流程 链是指链路,这个是物理层的概念,比如光缆光纤,或是无线的电磁波。 但这里所说的链路其实是网络连接的意思,即 IP 上层的概念。 那么,一个TCP 正常的通讯流程,会包含建链(建立连接)、传输数据、拆链(关闭连接), 如下图所示: (图来自网络) 据上图所示,在进行 TCP 进行数据传输时,都不可避免的会经过这两个阶段:
下面,重点说明下建链与拆链的过程 四、 三次握手 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |