自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 MySQL字符集设置、密码管理

将存储在计算机中的二进制数解析显示出来,称为“解码”,在解析过程中,如果使用了错误的解码规则,会导致显示乱码。在使用 MySQL 数据库中,偶尔会出现密码忘记或者被其他人员修改掉数据库权限的情况,如果需要紧急修改密码,如何破解 MySQL 密码呢?,所以,设计数据库时如果想要允许用户使用特殊符号,最好使用 utf8mb4 编码来存储,使得数据库有更好的兼容性,但是这样设计会导致耗费更多的存储空间。扩展 utf8mb4 是因为随着互联网的发展,产生了许多新类型的字符,也就是我们通常在聊天时发的。

2022-08-24 22:14:35 695 1

原创 MySQL常用命令

6. 创建名为 t1 表,并创建两个字段,id、name,varchar 表示设置数据长度,用字符来字符来定义长度单位,其中 1 汉字 = 2 字符 = 2 字节。如果要查询某个库或所有实例里面表使用的存储引擎,那么可以使用information_schema.tables来查询。20. 查询 test 数据库里面存储引擎为 MyISAM 的表。19. 查询整个MySQL实例里面存储引擎为MyISAM的表。16. 查看 MySQL 默认的存储引擎。17. 查看单个表的存储引擎。2. 查看所有的数据库。

2022-08-23 19:42:45 375

原创 Linux CentOS7安装MySQL(yum方式)

输入 yum install mysql-community-server -y 发现出现以下错误:获取 GPG 密钥失败:[Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022"处理办法:在 yum install 版本后面加上 --nogpgcheck,即可绕过 GPG 验证成功安装。centos7 默认安装的是 MariaDB ,所以需要去官网查找 MySQL 安装包。

2022-08-22 20:40:34 635

原创 Apache虚拟主机企业应用

企业真实环境中,一台 web 服务器发布单个网站非常浪费资源,所以一台 Web 服务器上会发布多个网站,少则 3~5 个,多则 2~30 个网站。在一台服务器上发布多网站,也称之为部署多个虚拟主机。基于同一端口不同域名的方式在企业中得到广泛应用,以下为基于一个端口不同域名,在一台 Apache Web 服务器上部署多个网站,步骤如下:

2022-08-19 16:00:10 202

原创 CentOS7安装Apache Web服务器

Apache Web服务器安装步骤详解如下:1)tar 工具解压 httpd 包。 2)进入解压后的目录3)安装 apr 相关移植库模块4)预编译 apache ,启用 rewrite 规则、启用动态加载库。5)编译 6)安装7)启动 apache 服务,临时关闭 SELinux、firewalld 防火墙8)查看 Apache 服务进程,通过客户浏览

2022-08-19 14:45:23 597 3

原创 CentOS7安装配置Vsftpd服务器(yum方式安装)

本文介绍了如何安装 Vsftpd,以及 Vsftpd 匿名用户、系统用户、虚拟用户的配置过程

2022-08-16 21:26:38 3854 1

原创 基于HTTP构建YUM网络源

YUM光盘源默认只能本机使用,局域网其他服务器无法使用YUM光盘源,如果想使用的话,需要在每台服务器上构建YUM本地源,该方案在企业中不可取,所以需要构建HTTP局域网YUM源解决。本地YUM源通过 createrepo 搭建完毕,需要借助 HTTP Web 服务器发布 /var/www/html/centos/ 中所有软件,YUM 或者 RPM 安装 HTTP Web 服务器,并启动httpd服务。.........

2022-08-11 23:53:10 618 1

原创 基于ISO镜像构建YUM本地源

通常而言,YUM客户端使用前提是必须联外网,YUM安装软件会检查.repo配置文件查找相应的YUM源仓库。企业IDC机房(互联网数据中心(Internet Data Center)简称。)很多服务器为了安全起见,会禁止服务器上外网,因此不能使用默认的官方YUM源,需要自建本地YUM源。...

2022-08-11 16:35:56 1699

原创 Linux centos7 安装nginx

记录第一次安装nginx

2022-08-09 21:06:32 691

原创 Linux备份文件——shell脚本

如果需要测试全备份,可以把系统时间改为周日,或者把脚本中周日进行全备份改为当前时间。备份策略为每周一至周六执行增量备份,周日执行全备份。使用 tar 实现。

2022-08-09 17:23:01 1243

原创 路由器组成

物理层的line termination(链路终端)完成链路上的物理信号转化成数字信号的功能,转完之后交给数据链路层,数据链路层判断哪里是帧头、帧尾然后check一下,用差错控制编码来检查有没有出错,然后判断帧当中的目标mac和我的网卡的mac地址是否一致,判断是否要收,收完之后,把帧当中的数据部分取出来,就是一个IP的分组,交给网络层的实体,到网络层实体后在链路当中排队,排到对头,按照路由处理器交下来的路由表,找到合适的端口把它放出去,通过fabric做一个局部的交换,从输入端口转到输出端口】......

2022-07-15 17:19:20 2317

原创 网络层:数据平面、控制平面

目录网络层服务网络层的关键功能网络层:数据平面、控制平面传统方式:每-路由器(Per-router)控制平面传统方式:路由和转发的相互作用SDN方式:逻辑集中的控制平面【软件定义网络】网络服务模型连接建立网络层服务模型:【转发是数据平面,路由是控制平面】网络层功能:【路由和转发地相互配合能够完成源主机发送的分组发送到目标主机地功能】旅行的类比:数据平面控制平面在每一个路由器中的单独路由器算法元件,在控制平面进行交互【传统方式下,每个路由器既实现了控制平面的功能,又实现了数据平面的功能】【路由器上面有路由实体

2022-07-13 15:33:44 3694

原创 TCP拥塞控制

【TCP采用的是端到端的拥塞控制,ATM采用的是网络辅助信息的拥塞控制】拥塞控制的几个问题发送端如何探测到拥塞?如何控制发送端发送的速率【拥塞窗口值决定了由于拥塞控制的因素,发送方一次可以向网络当中,在未经确认的情况下往网络当中注入字节的数量,对方接收窗口空闲的尺寸告诉发送方,在未确认的情况下,我能够向对方发送多少字节,到了对方一定有缓冲区可以存下,从而满足流量控制的功能】联合控制的方法:拥塞控制策略:【指数增加网络一定会发送拥塞】乘性减:丢失事件后将CongWin降为1,将CongWin/2作为阙值,进入

2022-07-11 20:57:44 1031

原创 拥塞控制原理

拥塞:理想化,发送端有完美的信息理想化:掌握丢失信息分组可以丢失,在路由器由于缓存区满而被丢弃现实情况:重复输出比输入少原因:拥塞的“代价”:【A向C传,C向A传;BD也是互传。当网络拥塞的时候,上面的路由器如果有空闲的空间,这个空闲的空间将被红色的流量抢走,红色流量经过一段之后到了第二个路由器,即右边的路由器,右边的路由器一旦有空闲的缓冲区,将会被绿色的流量抢走。所以从宏观的角度来看,大家不停的往网络当中注入,但是网络当中没有输出的流量,这时候就发生了网络拥塞的极致,整个网络出现了死锁的情况】【在拥塞的时

2022-07-10 18:23:27 385

原创 面向连接的传输:TCP

TCP:概述 RFCs: 793, 1122, 1323, 2018, 2581【应用进程往下交下来的报文到了TCP之后,TCP要按照MSS(最大报文段)的大小,把它分成一个个的报文段,每个段之前要加上TCP的头部。把TCP的段称为报文段。】【发送方有发送缓冲区,因为发完之后要检错重发,超时重传;接收方也有接收缓冲区,因为读取的速率和接受的速率是不一样的,要安排一个接收缓冲区来匹配这两个速度的不一致性。】TCP报文段结构【首部的长度以四个字节为单位;校验和主要是用于校验数据在传输的过程中有没有出错,16比特

2022-07-09 19:22:09 545

原创 Linux下实现RAID磁盘阵列(Ubuntu18.04 + RAID0、1、5)

Linux环境下实现RAID0、RAID1和RAID5,掌握实现恢复磁盘阵列数据的方法

2022-06-15 21:27:45 4248 3

原创 可靠数据传输(rdt)的原理

可靠数据传输(rdt)的原理【sending process:发送方进程;receiver process:接收方进程。要实现可靠数据传输,发送方进程传输data过来就要原原本本传给接收方进程。要实现可靠数据传输需要借助下层提供所服务去实现;下层提供的服务是UDT,不可靠的传递,发送方上面交下来的东西叫data,本层协议通过下层交付的东西把data前面封装一些头部,形成本层的packet,借助下层提供的一些服务,在发送方调用udt_send()这样的原语,对方udt_rcv()[图片写错了] 可能会收到、也

2022-06-10 16:41:06 2861

原创 无连接传输UDP

​【用户数据报服务只是在IP所提供的服务基础上增加了多路复用和解复用,没有增加更多的服务。】UDP:User Datagram Protocol [RFC 768](用户数据报协议)UDP:用户数据报协议【为什么叫数据报,因为他是无连接的,每一个UDP的协议数据单元都是独立发送的。IP也叫数据报,所以讲到数据报这个词可能要结合上下文来看是UDP的数据报还是IP的数据报】【8个字节的头部,然后是载荷部分,载荷是应用进程交给UDP,让他传的报文的内容,是UDP的SDU(服务数据单元)】【8个字节的头部包括源端口

2022-06-08 10:28:12 427

原创 多路复用和解复用

【IP向上层提供的服务是主机到主机的,从一个IP传到另一个IP。到了传输层不管是TCP还是UDP怎么样区分到进程到进程?增加了个端口号的机制,TCP有TCP的端口号,UDP有UDP的端口号。TCP使用端口的方式和UDP使用端口的方式不一样。】【源端口、目标端口用于封装TCP的头部信息,往下交的封装成TCP的segment,同时往下交的是源IP和目标IP;这样IP协议实体就知道如何封装IP datagram,然后传到对方,对方往上交的是IP的数据部分,同时往上交的是源IP目标IP;TCP的segment有源端

2022-06-07 16:39:56 1554

原创 传输层概述和传输层服务

传输层服务和协议【传输层向上层提供的服务是为应用进程(以报文message为单位)提供逻辑的通信服务。应用进程能够把报文逻辑的发给对方,逻辑的再把报文回转回来,但物理上来说,报文要通过层间接口交给传输层,由传输层、网络之间的相互配合最终能够把报文交给对方的应用进程。不是主机到主机,是进程到进程,而且是远程的两个进程到进程之间的逻辑的通信。】【message交下来,分成若干段,加上段头,段头包括源端口、目标端口等信息,借助于网络层提供的服务,就能够传到对等的TCP的实体,对等的TCP实体拿到一系列段之后,把这

2022-06-06 17:50:40 296

原创 UDP套接字编程

UDP Socket编程UDP:在客户端和服务器之间没有连接UDP:传送的数据可能乱序,也可能丢失进程视角看UDP服务——UDP为客户端和服务器提供不可靠的字节组的传送服务【UDP是无连接的,所以提供的服务也叫数据报,IP也叫数据报(datagram),无连接的PDU通常可以把它叫数据报,所以看到datagram要结合上下文来看他是UDP的协议数据单元还是IP的协议数据单元】Client/server socket 交互:UDP【第一步(服务器端)建立一个serverSocket,返回一个整数】【第二步(服

2022-06-06 11:34:20 292

原创 TCP套接字编程

Socket编程应用进程使用传输层提供的服务才能够交换报文,实现应用协议,实现应用【通过层间接口,把报文交下去。】 TCP/IP:应用进程使用Socket API访问传输服务【在界面中的socket上把报文交下去,以socket API形式,传报文前要建立socket,建立完有效的socket之后借助于这个socket再进行收和发,收发完了之后再把socket关掉】 地点:界面上的SAP(Socket) 方式:Socket APISocket:分布式应用进程之间的门,传输层协议提

2022-06-05 22:36:38 323

原创 Content Distribution Networks(CDNs)

互联网杀手级应用——网络流量占的比较多,而且比较吸引用户。视频应用是其中之一,如何向成千上万的用户提供并行的播放服务呢。视频流化服务和CDN

2022-06-03 01:29:09 652

原创 P2P应用

【非结构化P2P:Peer节点和其他peer节点构成邻居关系,就是两个peer之间有一个会话,两个就互为对方的邻居,通过会话的合作关系,相互协作、互通有无。应用层角度来看,我这个peer节点和你这个peer节点建立的tcp的连接或者HTTP的文件的分发关系,就构成了一条边,我们构成一个覆盖网(overlay)。所谓的覆盖网就是应用层面上的一个逻辑的网络,我是一个节点,你是一个节点,我和你之间有一个互通有无的关系,我向你提供文件上载,你向我提供文件下载,我们之间就有条边的关系,这种应用层上面的逻辑的网络,我们

2022-06-01 01:28:29 667

原创 DNS:域名解析

DNS:域名解析DNS不是直接给人用的,为其它应用所使用,其他应用为用户提供服务。域名到IP地址的转换。Web、FTP会用到。DNS(Domain Name System)DNS的必要性 IP地址标识主机、路由器【Web、FTP往下交的是IP地址,不能是域名】 但IP地址不好记忆,不便人类使用(没有意义) 人类一般倾向于使用一些有意义的字符串来标识Internet上的设备 存在着“字符串”——IP地址的转换的必要性 人类用户提供要访问机器的“字符串”名称 由DNS负责转换

2022-05-28 01:09:41 334

原创 EMail

电子邮件(EMail)应用层传输对象:邮件 网络应用架构:客户-服务器架构 要求网络服务:TCP服务 应用层协议: 邮件传输协议:SMTP(端口号25) 邮件访问协议:POP3(端口号),IMAP(端口号),HTTP(端口号80,可以上载、下载文件) SMTP、POP、IMAP采用命令/响应交互 3个主要组成部分:用户代理 邮件服务器 简单邮件传输协议:SMTP用户代理:又名“邮件阅读器” 撰写,编辑和阅读邮件 如Outlook、Foxmail【这些软件就是这个应用

2022-05-25 20:54:54 676

原创 FTP协议

FTP(文件传输协议)向远程主机上传传输文件或从远程主机接收文件 客户/服务器模式 客户端:发起传输的一方 服务器:远程主机 ftp:RFC 959 ftp服务器:端口号21【ftp除了客户端服务器之外,还包括用户接口、本地文件系统】【ftp——通过客户端可以上载文件到服务器upload,可以download一些文件到本地文件系统;可以把本地文件系统的文件上载到服务器的相关目录下,然后也可以把服务器某个目录的文件指定下载到本地文件系统。ftp可以通过网络共享文件】...

2022-05-25 11:39:43 526

原创 Web and HTTP

Web是一种应用,HTTP是支持Web应用的协议。Web 与 HTTP一些术语Web页:由一些对象组成 对象可以是HTML文件、JPEG图像、Java小程序、声音剪辑文件等 Web页含有一个基本的HTML文件,该基本HTML文件又包含若干对象的引用(链接)【互联网的对象都是通过链接的方式来指向的。HTML文件包含的是对象的链接,不是本身】 通过URL对每个对象进行引用 访问协议,用户名,口令字,端口等 URL(通用资源定位符)格式:【协议名】Prot://【用户:口令】user:

2022-05-21 21:36:44 396

原创 排序算法合集1.0

目录冒泡排序(Bubble sorting)选择排序(Select sort)插入排序(Insert sort)希尔排序(Shell Sort)快速排序(Quick sort)归并排序(Merge sort)基数排序(Radix Sort)冒泡排序(Bubble sorting)冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最..

2022-05-16 13:52:12 235

原创 应用层原理

互联网当中,应用层的协议最多。一些网络应用的例子E-mail Web 文本消息 远程登陆 P2P文件共享 即时通信 多用户网络游戏 流媒体(YouTube,Hulu,Netflix) Internet电话 实时电视会议 社交网络 搜索 ……创建一个新的网络应用编程 在不同的端系统上运行 通过网络基础设施提供的服务,应用进程彼此通信 如web web服务器软件与浏览器软件通信 网络核心中没有应用层软件 网络核心没有应用层功能..

2022-05-16 00:20:47 191

原创 协议层次和服务模型

协议层次网络是一个复杂的系统网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等 现实来看,网络的许多构成元素和设备:主机 路由器 各种媒体的链路 应用 协议 硬件, 软件【实现思路:1.把复杂的功能分解为一个个模块,模块之间相互进行平面型的调用(任何一个模块都可以调用任何一个模块所提供的功能服务),然后进行模块化的实现2.分层的方法来解决,也是复杂的功能分解为一个个模块,但是模块之间仅相邻的两个模块可以相互调用,不允许跨层调用。把功能非常复杂的计算机

2022-05-16 00:13:09 364

原创 分组延迟、丢失和吞吐量

分组丢失和延时是怎样发生的?在路由器缓冲区的分组队列分组到达链路的速率超过了链路输出的能力 分组等待排到对头、被传输【队列也是有限的,如果对列已经溢出了,那么分组就会被丢弃。但是分组队列不能太长,因为排队时间太长也会影响应用用户体验,有一个能够容忍的等待时间上限】四种分组延时节点处理延时(processing)【时间是确定的】检查bit级差错 检查分组首部和决定将分组向何处排队延时(queueing)【时间取决于当前网络的使用情况,是随机的】在输出链路上等待传输的时间 依赖

2022-05-16 00:07:37 648

原创 Internet结构和ISP

把关系比较密集的,在一个运营商的网络,比如中国教育科研网,有交换设备、主机、链路,这个子系统我们称为ISP网络。互联网就是由这些ISP网络通过网络互联设备,就是路由器,构建而成的。ISP网络中还包括很多小的ISP网络。是网络的网络。互联网结构:网络的网络端系统通过接入ISPs(Internet Service Providers)连接到互联网 住宅、公司和大学的ISPs 接入ISPs相应的必须是互连的 因此任何2个端系统可相互发送分组到对方 导致的“网络的网络”非常复杂 发展和演化

2022-05-16 00:04:16 1147

原创 接入网和物理媒体

怎样将端系统和边缘路由器连接?住宅接入网络 单位接入网络(学校、公司) 无线接入网络注意:接入带宽(bps) 共享 / 独享(电话)住宅接入(modem)——使用调制解调的方式将上网数据调制加载音频信号上,在电话线上传输,在局端将其中的数据解调出来;反之亦然 调频 调幅 调相位 综合调制 拨号调制解调器 56Kbps的速率直接接入路由器(通常更低) 不能同时上网或打电话:不能总是在线(20世纪90年代) 接入网:DSL——使用调制解调采用现存的

2022-05-16 00:02:02 337

原创 网络核心——数据交换的作用

网络核心:路由器的网状网络数据怎样通过网络进行传输? 电话交换:为每个呼叫预留一条专有电路,如电话网 信令系统 独享资源:不同享 每个呼叫一旦建立起来就能保证性能 交换节点与交换节点之间链路比较粗,带宽比较大 如果呼叫没有数据发送,被分配的资源就会被浪费 通常被传统电话网络采用 为呼叫预留端-端资源 链路带宽、交换能力 专用资源:不共享 保证性能 要求建立呼叫连接 网络资源(如带宽)被分片

2022-05-15 23:59:17 707

原创 网络边缘——网络存在的理由

网络边缘——网络存在的理由 主机 应用程序(客户端和服务器) 网络核心——数据交换的作用 互连着的路由器 网络的网络 接入网和物理媒体——把网络边缘接入网络核心 有线或无线通信链路 网络边缘 端系统(主机) 运行应用程序,如web、email 在网络边缘 客户/服务模式 客户端是主动的,服务端是被动的 服务端是后启动的 请求所有的资源都来自服务器 P2P模式(peer to peer、对等) 每个节点既是客户端也是服务

2022-05-15 23:52:28 162

原创 什么是Internet

网络:节点和边形成的大小、形状无关的拓扑。计算机网络:联网的计算机所构成的系统,由节点和边构成。 节点: 主机节点——数据的源、目标; 数据交换节点(路由器——工作在网络层、交换机——工作在链路层、负载均衡设备)——数据的中转节点。 边(链路): 接入网链路:主机连接到互联网的链路。和主机节点有关的都叫接入网链路,把主机和交换节点连在一起。 主干链路:路由器间的链路。和主机节点无关的就叫主干链路,把交换节点和交换节点连在一起。 协议:支撑互联网运行的标准。对

2022-05-15 23:45:32 685

原创 Linux系统下创建一个类似IIS的Web服务器

Linux下使用最多的web服务器就是apache了,下面来详细介绍如何在Linux中安装并配置apache1. 安装apr和apr-utilAPR和APR-UTIL的下载地址:Download - The Apache Portable Runtime Project2. 解压apr3. 进入apr-1.7.0,配置apr路径4. 编译apr5. 安装apr6. 解压apr-util7. 进入apr-util-1.6.1,再配置路径8. 编译..

2021-11-25 01:25:02 1519 4

原创 堆栈的实现(C语言)

堆栈(stack)的基本概念堆栈是一种特殊的线性表,堆栈的数据元素及数据元素之间的逻辑关系和线性表完全相同,其差别是:线性表允许在任意位置插入和删除数据元素操作,而堆栈只允许在固定一端进行插入和删除数据元素操作。 堆栈中允许进行插入和删除数据元素操作的一端称为栈顶,另一端称为栈底。栈顶的当前位置是动态的,用于标记栈顶当前位置的变量称为栈顶指示器(或栈顶指针)。 堆栈的插入操作通常称为进栈或入栈,每次进栈的数据元素都放在原当前栈顶元素之前而成为新的栈顶元素。堆栈的删除操作通常称为出栈或退栈,每次出栈的

2021-09-15 21:32:44 1795 2

原创 C语言实现约瑟夫问题(链表、数学取模方式)

问题描述一堆猴子都有编号,编号是1,2,3 ...m,这群猴子(m个)按照1-m的顺序围坐一圈,从第K开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。单向循环链表处理用单向循环链表模拟猴子围成圈坐,如下图所示 当要编号为2的猴子要出圈时,操作如下:first指向当前要删除结点,helper指向要删除结点的后一个结点,同时将first赋值给tempfirst指向要删除结...

2021-09-10 11:09:13 273

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除