我们可以看到,TCP 的三次握手完全是在内核中实现的,对上层应用来讲完全是透明的。上层应用只负责收发数据,并不知道底层发生了什么哦。 这样三次握手完了,可以看到三次握手,也就是建立连接时,双方交换三个报文。为什么是三次,这主要是为了防止已失效的连接请求报文段又传送到服务器端 而产生差错。 在正常情况 ...
分类:
其他好文 时间:
2019-03-25 23:13:22
阅读次数:
198
序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序 ...
分类:
其他好文 时间:
2019-03-23 19:49:38
阅读次数:
160
概述 我们都知道 TCP 是 可靠的数据传输协议,UDP是不可靠传输,那么TCP它是怎么保证可靠传输的呢?那我们就不得不提 TCP 的三次握手和四次挥手。 三次握手 下图为三次握手的流程图 下面通过我们 wireshark 抓包工具来分析三次握手 三次握手数据包 第一次握手 建立连接。客户端发送连接 ...
分类:
其他好文 时间:
2019-03-23 19:47:33
阅读次数:
146
大概有以下几步: DNS解析(浏览器缓存→系统缓存→路由器缓存→ISP DNS缓存→从根域名服务器递归搜索) 建立TCP链接(TCP的三次握手) 浏览器向服务器发送HTTP请求 服务器返回结果给浏览器 浏览器渲染页面(解析HTML,构建DOM树,解析CSS,构建渲染树,浏览器进行渲染绘制) 断开与服 ...
分类:
Web程序 时间:
2019-03-12 10:43:43
阅读次数:
235
序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序 ...
分类:
其他好文 时间:
2019-02-26 13:10:53
阅读次数:
172
我基本上是每隔两天写一篇blog,一两个周写一篇公众号文章(因为公众号的文章往往篇幅较长,质量高一些)。 为了方便查阅,定期将公众号文章的整理一个列表到博客。 面试官提问:你如何理解OSI互联参考模型 面试官提问:人们常说TCP的三次握手是什么意思? 面试官提问:你如何理解做浏览器向服务器发送信息的 ...
分类:
微信 时间:
2019-02-20 22:47:27
阅读次数:
264
一、计算机网络 1.UDP和TCP 用户数据报协议 UDP(User Datagram Protocol)是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部),支持一对一、一对多、多对一和多对多的交互通信。 传输控制协议 TCP(Tra ...
分类:
其他好文 时间:
2019-02-11 00:57:40
阅读次数:
331
我们要知道当我们在浏览器上输入url之后会发生什么? 1.当我们输入url之后,先进行DNS解析为ip地址然后找到相对应的服务器, 2.建立与服务器连接,请求数据,这个过程就是(TCP的三次握手) 3.确认用户信息 ,找到相对应的资源库,返回相对应的页面(数据),解析页面:css/js/img/ht ...
分类:
其他好文 时间:
2019-01-20 11:52:09
阅读次数:
205
1.输入url地址后,首先进行DNS解析,将相应的域名解析为IP地址; 2.客户端根据IP地址去寻找相应的服务器; 3.与服务器进行TCP的三次握手; 所谓三次握手就是客户端在请求与服务器相连接时,彼此共计发送了三次数据包,就好比以下的对话: 首先,需要明确的是,三次握手是客户端先发起请求。 (第一 ...
分类:
Web程序 时间:
2019-01-19 23:26:30
阅读次数:
339
要想进行抓包分析,必须先了解TCP的原理。这里介绍了TCP的建立连接的三次握手和断开连接的四次握手。 一、前言:介绍三次握手之前,先介绍TCP层的几个FLAGS字段,这个字段有如下的几种标示 二、三次握手的步骤 三、tcp断开连接的四次握手 (1)tcp断开连接有两种方式,第一种是正常的四次握手断开 ...
分类:
其他好文 时间:
2019-01-16 17:24:11
阅读次数:
219