IPSEC VPN IPSecVPN1.什么是IPSEC?互联网安全协议(Internet Protocol Security)是一个协议包,透过对IP协议的分组进行加密和认证的网络传输协议族(一些相互关联的协议的集合) IPsec主要由以下协议组成[1][2]: 认证头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护[3][4]; 封装安全载荷(ESP),提供机密性、数据源认证、无连接完整 2022-04-27 计算机基础 #计算机网络
Archlinux打包软件包步骤 Archlinux打包软件包步骤1.介绍archlinux中的软件包都是通过makepkg来打包的,makepkg工具会读取一个PKGBUILD的脚本,按照脚本里面的规则自动构建软件包,打包完成后会在打包的目录下面生成一个.pkg.tar.zst的文件,这个文件可以直接使用pacman包管理工具安装(pacman -U name.pkg.tar.zst) 2.打包前的准备首先要准本打包的工具,一般 2022-04-24 软件和系统配置 #linux软件打包
TCP/IP协议 TCP/IP协议1.什么是TCP/IP协议?TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输,网络通信的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协 2022-04-18 计算机基础 #计算机网络
markdown画流程图 markdown画流程图1.mermaidmermaid是一种类似于markdown的脚本语言,通过javascript语言将文本转化为图片 1.流程图1234graph TD; A-->B; A-->C; B-->D; 实际效果 graph TD; A-->B; A-->C; B-->D; 2.时序图123seq 2022-04-18 软件配置和使用 #基本软件的使用
libevent学习笔记 libevent学习笔记1.什么是libevent?Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll 2022-04-17 软件开发 #网络编程
libev学习笔记 libev学习笔记1.什么是libev?libev是一个强大的网络reactor,支持多种事件(信号,I/O,定时器…..) 12345678910111213141516171819202122//基本数据类型的宏定义# define EV_A loop # define EV_A_ EV_A,# define EV_P struct ev_loop *loop # define 2022-04-17 软件开发 #网络编程
I/O多路复用 I/O多路复用1.什么是I/O多路复用I/O 多路复用是一种同步IO模型,实现一个线程可以监视多个文件句柄;一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作;没有文件句柄就绪就会阻塞应用程序,交出CPU。 2.为什么会有I/O多路复用机制没有IO多路复用机制时,有BIO、NIO两种实现方式,但它们都有一些问题 1.同步阻塞服务端采用单线程,当 ac 2022-04-17 软件开发 #网络编程
tmux基本使用 tmux配置教程1.tmux是什么?tmux是一个终端复用工具,在实际开发运维中,可以用来保存当前工作状态,也可以将当前的单个终端拆分多个窗口。 2.tmux的基本结构tmux为C/S架构,tmux进程为守护进程,独立于终端之外,在不使用tmux的情况下,在当前终端执行的所有任务都为当前终端的子进程,而在使用了tmux之后,在tmux下执行的任务为tmux的子进程,而tmux为一个守护进 2022-04-17 软件和系统配置 #软件配置与使用
socket编程 socket编程1.什么是socket?socket是应用层与TCP/IP协议簇通信的中间抽象层,就是对网络中不同主机的应用进程之间进行双向通信的端点的抽象,提供了应用层进程利用网络协议交换数据的机制。套接字上联应用层,下联协议栈,是应用程序利用网络协议进行通信的接口。 2.socket分类 SOCK_STREAM 基于TCP协议,面向连接,提供可靠传输、拥塞控制、数据校验、数据重传。 2022-04-17 软件开发 #网络编程
linux设备驱动开发入门 linux设备驱动开发入门1.linux内核模块开发入门基本步骤 graph LR; a(编写内核模块代码)-->b(修改该目录下的Kconfig文件和Makefile)-->c(运行内核模块) 1.实例1234567891011121314151617181920212223242526272829303132333435#include <linux/kernel.h&g 2022-04-17 软件开发 #linux内核驱动开发