前言 众所周知tcp传输层协议在建立连接的时候需要三次才能建立起一个真正的可靠连接,可是为什么是三次呢,不可以是两次,四次等等呢,可以自己思考一番,带着疑问可以看下文。 三次握手 在《计算机网络》一书中其中有提到,三次握手的目的是“为了防止已经失效的连接请求报文段突然又传到服务端,因而产生错误”, ...
分类:
其他好文 时间:
2020-05-05 17:55:39
阅读次数:
87
1.TCP三次握手过程和状态变迁 TCP是面向连接的协议,使用TCP前必须先建立连接,建立连接是通过三次握手进行的。 (1)在一开始的时候,客户端和服务端都是处于CLOSED状态,先是服务端主动监听某个端口,处于LISTEN状态。 (2)客户端会随机初始化序号(client_isn),将此序号置于T ...
分类:
其他好文 时间:
2020-05-03 18:13:14
阅读次数:
288
● 请你说一下TCP怎么保证可靠性,并且简述一下TCP建立连接和断开连接的过程 参考回答: TCP保证可靠性: (1)序列号、确认应答、超时重传 数据到达接收方,接收方需要发出一个确认应答,表示已经收到该数据段,并且确认序号会说明了它下一次需要接收的数据序列号。如果发送发迟迟未收到确认应答,那么可能 ...
分类:
其他好文 时间:
2020-03-08 20:00:16
阅读次数:
87
1.为什么要了解协议 程序员与协议合作,完成应用。 了解协议是为了了解协议完成了什么,提供了什么服务,自己还应该做什么。 2.从协议的角度,套接字是什么 套接字是协议的接口, IP套接字,代表可使用IP协议服务。 TCP套接字,代表可使用TCP协议服务。 3.对编程而言,UDP协议应该了解什么 (1 ...
分类:
其他好文 时间:
2020-01-12 21:56:48
阅读次数:
68
看到了一道面试题:“为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?为什么不能用两次握手进行连接?”,想想最近也到金三银四了,所以就查阅了相关资料,整理出来了这篇文章,希望对你们有所帮助。 TCP 连接 我们先来补一下基础什么是 TCP 协议? 传输控制协议( Transmission ...
分类:
其他好文 时间:
2020-01-08 10:36:20
阅读次数:
125
tcp建立连接通过三次握手、释放连接通过四次挥手 一、tcp建立连接通过三次握手 首先tcp的特性:tcp是面向连接的安全可靠的传输协议。 传输连接是用来传送tcp报文的。tcp传输连接的建立和释放是每一次面向连接的通信中必不可少的过程。因此,传输连接就有三个阶段: 连接建立、数据传输、连接释放。 ...
分类:
其他好文 时间:
2019-12-29 22:00:49
阅读次数:
131
本篇文章简单讨论了TCP套接字半关闭的相关知识。 通常来说,TCP建立连接的过程相对稳定,因为此时并未开始进行数据交换;而断开连接的过程由于已发生了数据交换,可能会发生一些预想不到的情况。 单方面断开连接带来的问题 前文所述的内容中,我们直接调用了close函数进行了完全断开连接,这就意味着本端既无 ...
分类:
其他好文 时间:
2019-12-28 21:13:34
阅读次数:
90
1.TCP建立连接过程简介: TCP是面向连接的协议。面向连接的传输层协议在源点和终点之间建立了一条虛路径。同属于一个报文的所有报文段都沿着这条虛路径发送。为整个报文使用一条虚路径能够更容易地实施确认过程以及对损伤或丢失报文的重传。 在TCP中,面向连接的传输需要经过三个阶段:连接建立、数据传输和连 ...
分类:
其他好文 时间:
2019-12-26 19:31:36
阅读次数:
111
performace的兼容写法 1、DNS查询耗时 PerformaceTiming.domainLookupStart为域名开始解析时的 Unix毫秒时间戳 PerformaceTiming.domainLookupEnd为解析域名结束时的 Unix毫秒时间戳, 2、TCP建立连接耗时 Perfo ...
分类:
其他好文 时间:
2019-12-19 13:18:47
阅读次数:
120
TCP建立连接 如果有人问TCP如何建立连接?大部分的回答都是三次握手成功,就建立连接了。 那么握手的目的是什么呢? 1)告知对方自己的序号 2)初始化资源 例如以下握手案例,握手两次由客户端主动发起,一次由服务端发起。 握手步骤: 1)客户端发送TCP数据包至服务端,通知服务端客户端的序号是X。 ...
分类:
其他好文 时间:
2019-11-12 23:16:40
阅读次数:
157