序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序 ...
分类:
其他好文 时间:
2019-06-29 15:06:25
阅读次数:
87
为什么建立TCP连接需要三次握手? 原因:为了应对网络中存在的延迟的重复数组的问题 例子: 假设client发起连接的连接请求报文段在网络中没有丢失,而是在某个网络节点长时间滞留了,导致延迟到达server。本来这是一个已经失效的连接报文,但是server接收到这个连接报文之后,误认为client发 ...
分类:
其他好文 时间:
2019-06-28 19:36:01
阅读次数:
99
在谈RST攻击前,必须先了解TCP:如何通过三次握手建立TCP连接、四次握手怎样把全双工的连接关闭掉、滑动窗口是怎么传输数据的、TCP的flag标志位里RST在哪些情况下出现。下面我会画一些尽量简化的图来表达清楚上述几点,之后再了解下RST攻击是怎么回事。 1、TCP是什么? TCP是在IP网络层之 ...
分类:
其他好文 时间:
2019-06-06 15:46:22
阅读次数:
157
网络基础知识 ip地址: 概念: 断开连接(四次挥手):客户端与服务器的断开连接 第一次握手:客户端告诉服务我不会给你发送数据了 第二次握手:服务端告诉客服端我收到你的消息了 第三次握手:服务端给客户端发数据我也不会给你发送消息了 第四次握手:客户端给服务端说我知道了 UDP: 面向非连接,效率高, ...
分类:
其他好文 时间:
2019-06-02 20:33:32
阅读次数:
180
一、数据库基础知识 1、在进行数据库编程时,连接池有什么作用? 由于创建连接和释放连接都有很大的开销(尤其是数据库服务器不在本地时,每次建立连接都需要进行TCP的三次握手,释放连接需要进行TCP四次握手,造成的开销是不可忽视的),为了提升系统访问数据库的性能,可以事先创建若干连接置于连接池中,需要时 ...
分类:
数据库 时间:
2019-05-23 00:06:00
阅读次数:
152
前言 先说一下IP协议和TCP协议,IP协议是无连接的通信协议,IP不会占用两个设备之间通信的线路,IP实际上主要负责将每个数据包路由至目的地,但是IP协议并没有能够确保数据包是否到达,传过去的数据包是否按照顺序排列,所以IP数据包是不可靠的。而解决数据不可靠的问题就是由TCP协议来完成,接下来就介 ...
分类:
其他好文 时间:
2019-05-02 23:44:58
阅读次数:
241
继上一篇后,我们再来看一下四次挥手的过程 这里其实没有必要过多阐述,一张图胜过千言万语。 与三次握手一样,四次挥手的过程中也有许多扩展问题。 当然问的最多的还是:为什么要四次握手?为什么要等待2MSL的时间? 这个问题没必要死记硬背,只需要了解全双工的工作机制就好。 至于等待的2MSL(报文最大生存 ...
分类:
其他好文 时间:
2019-04-27 14:40:10
阅读次数:
160
常见面试题 【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手? 答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SO ...
分类:
其他好文 时间:
2019-04-11 16:16:37
阅读次数:
116
网络相关 1.http1.0和http1.1的区别? 2.http和https的区别? 3.TCP三次握手和四次握手的流程,为什么断开连接是四次,如果握手只有两次会出现什么? 为什么是四次:服务器收到客户端的FIN报文时,仅仅表示客户端没有数据再发送给服务端了,但是服务端可能还有数据没有完整发送给了 ...
分类:
编程语言 时间:
2019-03-22 17:10:17
阅读次数:
196
常见面试题【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手? 答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOC ...
分类:
其他好文 时间:
2019-02-26 21:09:35
阅读次数:
169