技术图解接收方的拥塞避免方式,叫做快速重传。快速重传如何操作?我们以下图为例简单说一下:看图说话接收方收到了 M1 和 M2 后都分别发出了确认。现在假定接收方没有收到 M3 但接收到了 M4。接收方不能确认 M4,因为 M4 是收到的失序报文段。根据可靠传输原理,接收方可以什么都不做。但按照快重传算法规定,接收方应及时发送对 M2 重复确认,这样做可以让发送方及早知道报文段 M3 没有到达接收方。发送方在收到三次重复确认之后,会立即重新发送 M3。并且判定网络可能出现拥塞,然后把 ssthre 继续阅读
TCP 的快速恢复
技术图解快速恢复图解:看图说话上图为快速恢复的算法:当发送方连续收到三个重复确认,会把慢启动门限 ssthresh 减半,然后在新 ssthresh 上使用拥塞避免算法。上图中在 24 处出现拥塞,ssthresh 调整为一半为 12,快速恢复会直接发送 12 报文,之后使用拥塞避免算法,线性增长。相比慢速启动由 1 开始,快速恢复更快一些! 继续阅读
地址解析协议
网络拓扑如图,我们让 PC0 去 Ping 通 PC1。我们发现,当数据包路过交换机时,数据包变成了两个,同时发送给 PC1 和 PC2。这是什么原因:原因分析我们分析一下,图中的交换机属于二层设备,也就是说,它支持 MAC 地址,但不能识别 IP 地址。而发送的 Ping 包,仅包含 IP 地址,下图为 PC0 去 Ping 通 PC3 时数据包内容:查询效果当数据包到交换机上时,交换机不能识别数据包中 IP 地址,那这个数据发给谁?事实上这个数据包就是 ARP 请求包,交换机会把这个数据包, 继续阅读
简单架构中的数据走向
网络拓扑如图,我们简单说下数据包的走向:数据走向首先,客户端会请求数据,请求通过外网连接到路由器,路由器会将请求的目标地址转换为内网 IP,也就是虚拟分发 192.168.1.200。虚拟分发 IP 在 Master 服务器上面,Backup 服务器使用 Keepalived 监测其是否存活,Backup 服务器会通过 VRRP 协议,使用 24.0.0.18 组播来监测。如果 Master 宕掉了,Backup 服务器会将虚拟 IP 抢过来,下次由 Backup 负责分发,直到 Master 继续阅读
IaaS/PaaS/SaaS 的区别
自己做吧这真是个麻烦的事,你的准备很多东西,发面、和面、进烤箱等,简单列举一下,需下图所示的一切:速食披萨只需要从披萨店里买回成品,回家热一下就好了,在自己的餐桌上吃。和自己在家做不同,你需要一个披萨供应商:披萨外卖打个电话,披萨就送到家门口:在店里吃什么都不需要准备,连餐桌也是 Pizza 店的:总结一下总结一下,吃货们可以通过如下途径吃披萨:忘记披萨假设你是一家超牛 X 的技术公司,根本不用别人提供服务,拥有基础设施、应用等等其它一切,你把它们分为三层:基础设施、平台、软件,如图:三个分层这 继续阅读
Linux 运维人员最常用 166 个命令汇总
线上查询、帮助命令「2个」命令功能说明man查看命令帮助,命令词典,更复杂还有 info,但不常用。help查看 Linux 内置命令的帮助,比如 cd 等命令。文件、目录操作命令「18个」命令功能说明ls全拼为 list,功能是列出目录的内容及其内容属性信息。cd全拼为 change directory,功能是从当前工作目录切换到指定的工作目录。cp全拼为 copy,功能为复制文件或目录。find查找,用于查找目录及目录下文件。mkdir全拼为 make directories,其功能是创建目 继续阅读
PHP 动态模式和静态模式区别
静态动态静态:直接开启指定数量的 php-fpm 进程,不再增加或者减少;动态:开始的时候开启一定数量 php-fpm 进程,当请求变大的时候,动态的增加 php-fpm 进程数到上限,当空闲的时候自动释放空闲进程数到一个下限。涉及参数这里先说一下涉及到这个的几个参数,他们分别是 pm/pm.max_children/pm.start_servers/pm.min_spare_servers 和 pm.max_spare_servers:pm 表示用哪种方式,有两个值可以选择,就是 static 继续阅读
MySQL 主从复制的简介
何为主从复制主从同步是在一个交换节点设立高精度的基准时钟,通过传输链路把此基准时钟信号送到网中的各个从节点,各个从节点利用锁相环技术把本地的时钟频率锁定在基准时钟频率上,从而实现网内各节点之间的时钟信号同步。主从同步网一般采用星状结构或树状结构,其中大部分的节点为从节点。从节点的时钟跟踪基准时钟状态,可以有效降低成本。因此,主从同步技术能够提高时钟系统的精确度,同时降低成本。没有主从复制没有主从复制的情况是什么样子:有了主从复制有了主从复制的情况是什么样子::主从复制原理主从复制原理图示:主从复 继续阅读
MySQL 几种存储引擎的介绍
存储引擎关系数据库表用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于 Excel 的电子表格的形式。有的表简单有的表复杂,有的表根本不用存储任何长期的数据,有的表读取非常快,但是插入数据时却很差;我们在实际开发过程中,可能需要各种各样的表,不同的表,意味着存储不同类型的数据,数据的处理上也会存在差异。那么,对 MySQL 来说,它提供了很多种类型的存储引擎,我们可以根据对数据处理的需求,选择不同存储引擎,从而最大限度利用 MySQL 强大的功能。这篇博文将总结和分析各个引擎 继续阅读
MySQL 在不同内存下的资源分配
参数作用首先说一下各参数作用:参数名称参数作用key_buffer_size单位为 MB,用于索引的缓冲区大小query_cache_size单位为 MB,查询缓存,不开启请设为 0tmp_table_size单位为 MB,临时表缓存的大小innodb_buffer_pool_size单位为 MB,InnoDB 缓冲区大小innodb_log_buffer_size单位为 MB,InnoDB 日志缓冲区大小sort_buffer_sizeKB 乘以连接数,每个线程排序的缓冲的大小read_buf 继续阅读
vi 编辑器操作指南
常用命令语法语法作用vi FILENAME创建或者打开一个文件vi +NUMBER FILENAME打开一个文件,并定位光标至指定行首vi + FILENAME打开一个文件,并定位光标至文件末尾行首vi +/KEYWORD FILENAME打开一个文件,并定位光标至关键词匹配行行首进入输入模式命令作用a在光标后添加字符A在光标所在的行尾添加字符i在光标前添加字符I在光标所在的行首添加字符o在光标所在行的下一行添加字符O在光标所在行的上一行添加字符s删除光标所在字符,并且进入插入模式S删除光标所在 继续阅读
TCP 的三次握手
握手流程TCP 三次握手的流程如图:流程详解TCP 第一次握手:在建立连接时,客户端发送请求包到服务器,并进入 SYN_SENT 状态,等待服务器的确认;TCP 第二次握手:服务器收到请求包,必须确认客户的 SYN,同时自己也发送一个请求包,即请求确认包,此时服务器进入 SYN_RECV 状态;TCP 第三次握手:客户端收到服务器的请求确认包,向服务器发送确认包 ACK,此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手;完成三次握手,客户端与服务器则开始传送数据。白话 继续阅读
权限管理相关命令
普通权限修改命令作用chmod u+r FILENAME所有者增加读取的权限chmod g-w FILENAME所有组减少写入的权限chmod o=x FILENAME其它用户设置成执行的权限chmod ug+r FILENAME所有者和组同时增加读取的权限chmod o-wx FILENAME其它用户减少写入和执行的权限chmod ug=rw FILENAME所有者和组同时设置成读写权限chmod u+r,g-w FILENAME所有者增加读取的权限,所有组减少写入的权限chmod a+r F 继续阅读
Linux 群组管理员
如何指派群组管理语法:1gpasswd -A USERNAME GROUPNAME效果:如何删除群组管理语法:1gpasswd -A "" GROUPNAME效果:群组管理添加成员语法:1gpasswd -a USERNAME GROUPNAME效果:群组管理删除成员语法:1gpasswd -d USERNAME GROUPNAME效果: 继续阅读
chage 账号与密码有效期限
查询账号与密码有效期语法:1chage -l USERNAME效果:修改账号与密码有效期123456789101112chage -m MINDAYS USERNAME#设置密码修改最小天数chage -M MAXDAYS USERNAME#设置密码修改最大天数chage -d LASTDAY USERNAME#指定密码最后修改日期chage -I INACTIVE USERNAME#设置密码过期后锁定账号的天数chage -E EXPIREDATE USERNAME#设置密码过期日期,如果为0 继续阅读