前言
很久没有发过文章,今天来说一下应届生找工作的问题吧,就算你是打摆子都要看完~~
金九银十是社招以及校招的火热时期,但今年很明显没有往年般的火热,面试也是越来越难了。对于应届生来说,如何能够在面试官眼中脱颖而出显得尤为重要。好在,我帮你们找到了一份非常全面的面试资料,针对于应届生以及转行过来的人群都是极具价值的,接下来就一起看看这份笔记。
TCP 报文段结构
一谈到 TCP 协议,大家最先想到的词就是「面向连接」和「可靠」。没错,TCP 协议的设计就是为了能够在客户端和服务器之间建立起一个可靠连接。
在讲连接过程之前,我们先来看看 TCP 的报文段结构,通过这个结构,我们可以知道 TCP 能够提供什么信息:
这里有几点是需要注意的:
- TCP 协议需要一个四元组(源IP,源端口,目的IP,目的端口)来确定连接,这要和 UDP 协议区分开。多说一句,IP 地址位于 IP 报文段,TCP 报文段是不含 IP 地址信息的。
- 基本 TCP 头部的长度是 20 字节,但是由于「选项」的长度是不确定的,所以需要「首部长度」字段明确给出头部长度。这里要注意的是,首部长度字段的单位是 32bit,也就是 4 字节,所以该字段的最小值是 5。
- 标橙色的字段(确认序号,接收窗口大小,ECE,ACK)用于「回复」对方,举个例子,服务器收到对方的数据包后,不单独发一个数据包来回应,而是稍微等一下,把确认信息附在下一个发往客户端的数据帧上,也就是捎带技术。
- 窗口大小是一个 16 位无符号数,也就是说窗口被限制在了 65535 字节,也就限制了 TCP 的吞吐量性能,这对一些高速以及高延迟的网络不太友好(可以想想为什么)。所幸 TCP 额外提供了窗口缩放