用动图解释 TCP 四次分手过程
1 为何要进行 TCP 三次握手/四次分手? TCP 的三次握手和四次分手和你恋爱是一模一样的,从相识到相恋到分手,然后认识另一个女孩再不管重复这个过程就是数据传输在网络中不断建立起三次握手和四次分手过程。 恋爱就恋爱吧,分手就分手吧,握手...
1 为何要进行 TCP 三次握手/四次分手? TCP 的三次握手和四次分手和你恋爱是一模一样的,从相识到相恋到分手,然后认识另一个女孩再不管重复这个过程就是数据传输在网络中不断建立起三次握手和四次分手过程。 恋爱就恋爱吧,分手就分手吧,握手...
TCP 三次握手过程对于面试是必考的一个,所以不但要掌握 TCP 整个握手的过程,其中有些小细节也更受到面试官的青睐。 对于这部分掌握以及 TCP 的四次挥手,小鹿将会以动画的形式呈现给每个人,这样将复杂的知识简单化,理解起来也容易了很多,...
现在很多人都在诟病Linux内核协议栈收包效率低,不管他们是真的懂还是一点都不懂只是听别人说的,反正就是在一味地怼Linux内核协议栈,他们的武器貌似只有DPDK。 但是,即便Linux内核协议栈收包效率真的很低,这是为什么?有没有办法去尝...
TCP是一个有状态通讯协议,所谓的有状态是指通信过程中通信的双方各自维护连接的状态。 一、TCP keepalive 先简单回顾一下TCP连接建立和断开的整个过程。(这里主要考虑主流程,关于丢包、拥塞、窗口、失败重试等情况后面详细讨论。) ...
什么是中间件 中间件,英译middleware,顾名思义,放在中间的物件,那么放在谁中间呢?本来,客户端可以直接请求到服务端接口。 现在,中间件横插一脚,它能在请求到达接口之前拦截请求,做一些特殊处理,比如日志记录,故障处理等。这就是今天要...
在与域名持有者僵持了 26 年后,微软终于拥有了“魔鬼域名 Corp.com ”的所有权。 雷锋网消息,近日,据外媒报道,微软已经以 160 万美元购买了该域名。 微软在声明中写道: 为了保护系统,我们鼓励客户在规划内部域名和网络名称时养成...
新建 ihh.xml # cat /etc/libvirt/qemu/networks/ihh.xml <network> <name>ihh</name> # 名称 <forward mode='...
1. 数据包到达网络接口,比如 eth0。 2. 进入 raw 表的 PREROUTING 链,这个链的作用是赶在连接跟踪之前处理数据包。 3. 如果进行了连接跟踪,在此处理。 4. 进入 mangle 表的 PREROUTI...
因业务需要了解Modbus协议的使用,因此对Modbus的协议,以及相应的C#处理应用进行了解,针对协议的几种方式(RTU、ASCII、TCPIP)进行了封装,以及对Modbus的各种功能码的特点进行了详细的了解,本篇随笔基于这些知识进行了...
今天趁着项目bug修复完了,来讲解一下OC知识的另一个技术点-KVC!针对KVC,讲解两个知识点 通过KVC修改属性会触发KVO么? KVC的赋值过程是怎样的?原理是什么? KVC的取值过程是怎样的?原理是什么? 一、问:通过...
一、前言 这段时间在研究Java并发相关的内容,一段时间下来算是小有收获了。ReentrantLock是Java并发中的重要部分,所以也是我的首要研究对象,在学习它的过程中,我发现它是基于抽象队列同步器AQS实现的,所以我花了点时间学习了一...
写在前面 本文描述的有关于 JVM 的运行时数据区是基于 HotSpot 虚拟机。 概述 JVM 在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机的...
本着每天记录一点成长一点的原则,打算将目前完成的一个WPF项目相关的技术分享出来,供团队学习与总结。 总共分三个部分: 基础篇主要争对C#初学者,巩固C#常用知识点; 中级篇主要争对WPF布局与MaterialDesign美化设计,在减轻代...
前提 创业小团队,无论选择任何方案,都优先考虑节省成本。关于分布式定时调度框架,成熟的候选方案有XXL-JOB、Easy Scheduler、Light Task Scheduler和Elastic Job等等,其实这些之前都在生产环境使用...
SQL Server中STATISTICS IO物理读和逻辑读的误区 大家知道,SQL Server中可以利用下面命令查看某个语句读写IO的情况 SET STATISTICS IO ON 那么这个命令的结果显示的物理读、逻辑读...
Validation框架的应用 一,前言 这篇博客只说一下Validation框架的应用,不涉及相关JSR,相关理论,以及源码的解析。 如果之后需要的话,会再开博客描写,这样会显得主题突出一些。 后续扩展部分会解释message,group...
列表(list)类型是用来存储多个有序的字符串,列表中的每个字符串称为元素(element),一个列表最多可以存储232-1个元素。在Redis中,可以对列表两端插入(push)和弹出(pop),还可以获取指定范围的元素列表、获取指定索引下...
Vi/Vim 可以说是文本编辑中的一代传奇人物,直至现在,它仍然在高级程序员的武器库中占有一席之地。每个 Linux 发行版默认都包含Vim ,而且即使你不是 Linux 系统用户,你也可以安装 Vim 。 为什么到现在还来讲这款古老的软件...
一,修改端口 修改 /etc/ssh/sshd_config [root@ihh-9 ~]# cat /etc/ssh/sshd_config | grep Port Port 22 Port 3538 重启 sshd [root@ihh-...
前言 在后端Api的开发过程中,无法避免的会遇到接口迭代的过程,如何保证新老接口的共存和接口的向前的兼容呢,这时候就需要对Api进行版本的控制,那如何优雅的控制Api的版本呢? 开始 Microsoft.AspNetCore.Mvc.Ver...
前言 上一篇文章介绍了ABP的Web API,本文在继续介绍ABP的其他内容。 在ABP中,WEBAPI是一个值得用的东西。但其他东西,就不一定是那么好用了。 因为越深入的学习ABP,你就越会发现,它自身有着非常强的设计约束,而而微软的框...
CyclicBarrier是一种类似于栅栏的存在,意思就是在栅栏开放之前你都只能被挡在栅栏的一侧,当栅栏移除之后,之前被挡在一侧的多个对象则同时开始动起来。 1. 如何使用CyclicBarrier 在介绍其原理之前,先了解一下Cyclic...
老程序员做新方向,老树发新芽,作为菜鸟的我,写点心得,用以记录并与同行交流 1对一些概念的理解: KMDF与UMDF。两者的框架,及使用VS生成的初始代码基本相同,只有所包含的头文件不同,链接的系统库不同,最终生成的文件分别为.sys和.d...
目录 异步编程样例 样例解析 浅谈Promise如何实现异步执行 参考 1.异步编程样例 样例: // 等待执行函数 function sleep(timeout) { return new Promise((resolve)...
本文介绍防火墙知识和Linux主机处理数据包的过程,同时介绍了iptables管理防火墙的方法。 6.1 为什么需要防火墙 对于没有防火墙存在的一条网络路线中,主机A发送给主机B的任何一个数据包,主机B都会照单全收,即使是包含了病毒、木马等...
1、下载镜像 1.1 zookeeper -> docker pull wurstmeister/zookeeper Using default tag: latest latest: Pulling from wurstmeiste...
不同的并行协程之间交流的方式有两种,一种是通过共享变量,另一种是通过队列。Go 语言鼓励使用队列的形式来交流,它单独为协程之间的队列数据交流定制了特殊的语法 —— 通道。 通道是协程的输入和输出。作为协程的输出,通道是一个容器,它可以容纳数...
概述 最近我一直在做动态加载的事情,希望把常用的变更都通过lua动态设置并生效到nginx内核中。 这就包括了根据SNI动态修改tls的版本和加密套件,因为理论上在SSL的client hello后才进行版本的协商,在SNI回调函数修改ss...
Mydumper介绍 MySQL在备份方面包含了自身的mysqldump工具,但其只支持单线程工作,这就使得它无法迅速的备份数据。而mydumper作为一个实用工具,能够良好支持多线程工作,这使得它在处理速度方面十倍于传统的mysqldum...
最新评论
好
如果不是 跟分区, 可以卸载设备后, 使用 extundelete 尝试恢复下 另外如果单文件被删除,并且 inode 节点未释放, 可以去 /proc/ 下把文件复制出来.
跟SSD硬盘4K对齐差不多呀.