一、三次握手过程 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。如下图所示: 首先,客户端开始的时候,首先创建sock文件描述符,接着就进行connect发起连接服务器请求,阻塞等待服务器应答。 接着,服务器开始的时候,分配一个listen_sock文件描述符,接着进 ...
分类:
其他好文 时间:
2019-12-26 00:02:15
阅读次数:
103
两次握手只能保证单向连接是畅通的。 Step1 A -> B : 你好,B。 Step2 A <- B : 收到。你好,A。 这样的两次握手过程, A 向 B 打招呼得到了回应,即 A 向 B 发送数据,B 是可以收到的。 但是 B 向 A 打招呼,A 还没有回应,B 没有收到 A 的反馈,无法确保 ...
分类:
其他好文 时间:
2019-12-24 12:07:43
阅读次数:
62
本文经过借鉴书籍资料、他人博客总结出的知识点,欢迎提问 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号ack: ...
分类:
其他好文 时间:
2019-12-23 18:28:38
阅读次数:
64
1.通信过程 网络分为应用层,http、ssh、telnet就是属于这一类,建立在传输层的基础上、其实就是定义了各自的编码解码格式,分层如下: 2.Socket连接 上述通信都要先在传输层有建立连接的基础上才能完成,TCP通过三次握手建立连接: Socket与http的区别可以看下这个: https ...
分类:
编程语言 时间:
2019-12-23 00:14:35
阅读次数:
116
面试题:从一个url地址到页面渲染完成发生了什么1.DNS解析将域名地址解析为IP地址浏览器的DNS缓存系统DNS缓存路由器DNS缓存网络运营商DNS缓存递归搜索2.TCP链接TCP三次握手第一次握手,由浏览器发起,告诉服务器我要发请求了第二次握手由服务器发起告诉浏览器我准备接受了你赶紧发送吧第三次握手由浏览器发起告诉服务器我马上就发了准备接收吧3.发送请求请求报文http协议的通信内容4接受响应
分类:
Web程序 时间:
2019-12-22 09:15:22
阅读次数:
151
(1)浏览器解析 URL 为了能让我们的知识层面看起来更有深度,我们应该考虑下面两个问题了: 从浏览器输入 URL 到渲染成功的过程中,究竟发生了什么? 浏览器渲染过程中,发生了什么,是不是也有重绘与回流? OK,兴致来了,我们就先从 浏览器解析 URL 看起,先来看看当用户输入 URL,到浏览器呈 ...
分类:
Web程序 时间:
2019-12-21 18:32:43
阅读次数:
145
上一篇介绍 TCP 的文章「 "TCP 三次握手,四次挥手和一些细节" 」反馈还不错,还是蛮开心的,这次接着讲一讲关于超时和重传那一部分。 我们都知道 TCP 协议具有重传机制,也就是说,如果发送方认为发生了丢包现象,就重发这些数据包。很显然,我们需要一个方法来「 猜测 」是否发生了丢包。最简单的想 ...
分类:
其他好文 时间:
2019-12-18 11:06:29
阅读次数:
120
TCP 报文段结构 一谈到 TCP 协议,大家最先想到的词就是「面向连接」和「可靠」。没错,TCP 协议的设计就是为了能够在客户端和服务器之间建立起一个可靠连接。 在讲连接过程之前,我们先来看看 TCP 的报文段结构,通过这个结构,我们可以知道 TCP 能够提供什么信息: 这里有几点是需要注意的: ...
分类:
其他好文 时间:
2019-12-14 22:39:32
阅读次数:
84
上文链接: "详解TCP连接的“三次握手”与“四次挥手”(上)" 四、TCP的四次挥手(Four Way Wavehand) 0.前言 对于"三次握手"我们耳熟能详,因为其相对的简单。但是,我们却不常听见“四次挥手”,就算听过也未必能详细地说明白它的具体过程。下面就为大家详尽,直观,完整地介绍“四次 ...
分类:
其他好文 时间:
2019-12-14 10:27:10
阅读次数:
71
三次握手,是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。 (1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。 (2)第二次握手:Server收到数据包 ...
分类:
Web程序 时间:
2019-12-13 23:55:19
阅读次数:
142