计算机网络
文章平均质量分 79
刘小豆豆豆
路漫漫其修远兮,吾将上下而求索!
展开
-
重学TCP之TCP的基本认识
TCP的基本认识什么是 TCP ?TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。**面向连接:**一定是「一对一」才能连接,不能像 UDP 协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的;**可靠的:**无论的网络链路中出现了怎样的链路变化,TCP 都可以保证一个报文一定能够到达接收端;**字节流:**消息是「没有边界」的,所以无论我们消息有多大都可以进行传输。并且消息是「有序的」,当「前一个」消息没有收到的时候,即使它先收到了后面的字节,那么也不能扔给应用层去原创 2021-04-14 11:10:38 · 503 阅读 · 0 评论 -
TCP断开连接的过程及状态变迁
TCP断开连接TCP的四次挥手TCP 断开连接是通过四次挥手方式。双方都可以主动断开连接,断开连接后主机中的「资源」将被释放。第一次挥手(FIN=1,seq=x):假设客户端想要关闭连接,客户端发送一个FIN标志位置为1的包,表示自己已经没有数据可以发送了,但是仍然可以接收数据。发送完毕之后,客户端进入FIN_WAIT_1状态。第二次挥手(ACK=1,ACKnum=x+1):服务器端确认客户端的FIN包,发送一个确认包,表明自己接收到了客户端关闭连接的请求,但还没有准备好关闭连接。发原创 2021-04-14 14:07:13 · 2200 阅读 · 0 评论 -
TCP的分片
TCP的分片先来认识下 MTU 和 MSSMTU:一个网络包的最大长度,以太网中一般为 1500 字节;MSS:除去 IP 和 TCP 头部之后,一个网络包所能容纳的 TCP 数据的最大长度;既然 IP 层会分片,为什么 TCP 层还需要 MSS呢?如果在 TCP 的整个报文(头部 + 数据)交给 IP 层进行分片,会有什么异常呢?当 IP 层有一个超过 MTU 大小的数据(TCP 头部 + TCP 数据)要发送,那么 IP 层就要进行分片,把数据分片成若干片,保证每一个分片都小于 MTU原创 2021-04-14 11:45:38 · 4695 阅读 · 0 评论 -
TCP三次握手过程及状态变迁
TCP的连接建立:1、TCP三次握手过程和状态变迁TCP 是面向连接的协议,所以使用 TCP 前必须先建立连接,而建立连接是通过三次握手来进行的。一开始,客户端和服务端都处于 CLOSED 状态。先是服务端主动监听某个端口,处于 LISTEN 状态第一次握手:客户端会随机初始化序号(client_isn),将此序号置于 TCP 首部的「序号」字段中,同时把 SYN 标志位置为 1 ,表示 SYN 报文。接着把第一个 SYN 报文发送给服务端,表示向服务端发起连接,该报文不包含应用层数据原创 2021-04-14 11:34:34 · 2116 阅读 · 0 评论