自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

国内知名云计算厂商职位内推(研发、运维),长期有效,简历至 fangui_ju#163.com...

原创 5G NEF N33 APIs

目录 文章目录目录前文列表参考文献NEF 提供以下功能Network Exposure Function Northbound APIsProcedures for MonitoringProcedures for Device TriggeringProcedures for resource ...

2020-06-29 23:23:45 876 0

原创 OpenNESS 的 5GC 接入模块

目录 文章目录目录5G Components of OpenNESSCNCAAFNEFOAM 5G Components of OpenNESS 5G Components of OpenNESS 包含了:CNCA、AF、NEF、OAM 和一个 WEB UI。 用户可以通过 kubectl Plu...

2020-06-28 23:21:11 1645 0

原创 数据结构 — 跳表

目录 文章目录目录跳表 跳表 跳表是在双向链表之上加上多层索引构成的,相对于双向链表,支持快速查找,更新,删除,所以适用于需求灵活的逻辑控制场景。 假设我们现在要查找区间 7- 13 的记录,就不用从头开始查找了,只要在上图中的二级索引开始找即可,遍历三次即可找到链表的区间位置,时间复杂度是 O...

2020-06-26 20:32:35 574 0

原创 网络编程 — TCP/UDP Socket

目录 文章目录目录Linux 下的 Socket API 接口创建 Socket绑定 Socket请求建立 Socket 连接监听 Socket接受请求关闭连接数据的发送和接收send 发送函数recv 接收函数sendto 发送函数recvfrom 接收函数TCP Socket 示例UDP 通信...

2020-06-26 12:29:27 718 0

原创 C 语言编程 — 结构体的数据类型转换

目录 文章目录目录数组类型强制类型转换为结构体结构体之间的强制类型转换 数组类型强制类型转换为结构体 先看一个例子: #include <stdio.h> int main(void) { unsigned char arr[] = "0123456789abcd...

2020-06-25 21:21:49 676 0

原创 C 语言编程 — 内存对齐

目录 文章目录目录数组强制类型转换为结构体结构体的内存对齐pragma pack(value) 宏指令内存对齐结构体之间的强制类型转换示例 数组强制类型转换为结构体 先看一个例子: #include <stdio.h> int main(void) { unsigned c...

2020-06-25 17:18:07 576 0

原创 互联网协议 — HTTP/3 超文本传输协议第 3 版

目录 文章目录目录HTTP/3HTTP/3 与 HTTP/2 的比较HTTP/3 的特性QUIC 流HTTP/3 帧(frame)HTTP 请求HTTP 响应QPACK 头部使用 Alt-svc 自举服务器推送 HTTP/3 2018 年,基于 QUIC 协议的 HTTP(HTTP over QU...

2020-06-25 11:17:30 612 0

原创 互联网协议 — TLS 1.3 传输层安全协议

目录 文章目录目录对称加密和非对称加密SSL/TLSTLS 1.3 更快的访问速度TLS 1.3 更强的安全性OpenSSL 对称加密和非对称加密 加密的过程就是把 “明文” 变成 “密文” 的过程。反之,解密的过程,就是把 “密文” 变为“明文”。在这两个过程中,都需要一个关键的 “密钥” 来参...

2020-06-24 18:43:40 778 0

原创 Linux 操作系统原理 — 日志结构的文件系统与日志文件系统

目录 文章目录目录日志结构的文件系统日志文件系统 日志结构的文件系统 技术的改变会给当前的文件系统带来压力。这种情况下,CPU 会变得越来越快,磁盘会变得越来越大并且越来越便宜(但不会越来越快)。内存容量也是以指数级增长。但是磁盘的寻道时间(除了固态盘,因为固态盘没有寻道时间)并没有获得提高。 这...

2020-06-23 15:14:15 1432 0

原创 DPDK — OvS 和 OvS-DPDK 的对比

目录 文章目录目录参考文献OvS 架构OvS-DPDK 架构OvS-DPDK 在 VNF 中的应用 参考文献 https://networkbuilders.intel.com/docs/open-vswitch-enables-sdn-and-nfv-transformation-paper.p...

2020-06-23 13:40:21 1252 0

原创 C 语言编程 — 结构化程序流的汇编代码与 CPU 指令集

目录 文章目录目录为什么要保留汇编语言顺序程序流条件程序流循环程序流函数调用栈的工作原理 为什么要保留汇编语言 汇编语言是与机器语言最接近的高级编程语言(或称为中级编程语言),汇编语言基本上与机器语言对应,即汇编指令和计算机指令是相对匹配的。虽然汇编语言具有与硬件的关系密切,占用内存小,运行速度快...

2020-06-22 23:49:02 792 0

原创 C 语言编程 — 程序的装载与运行

目录 文章目录目录C 程序在操作系统中的装载与运行ELF 文件反汇编 ELF 文件 C 程序在操作系统中的装载与运行 一个程序在操作系统上运行需要经历以下阶段: 第一阶段:得到可执行文件 编译(Compile) 汇编(Assemble) 链接(Link) 第二阶段:装载运行 装载器(Load...

2020-06-22 23:46:57 729 0

原创 C 语言编程 — 程序的编译流程

目录 文章目录目录C 程序的编译流程预处理编译汇编链接编译多个源文件 C 程序的编译流程 虽然我们称 GCC 是 C 语言的编译器,但由 C 语言源代码文件到生成可执行文件的过程不仅仅是编译的过程,而是要经历以下四个相互关联的步骤: 预处理(Preprocessing) 编译(Compilat...

2020-06-22 23:43:44 744 0

原创 C 语言编程 — 大小端区分

目录 文章目录目录大端、小端区分方式 1区分方式 2 大端、小端 大端:高位字节放在内存的低地址端,低位字节放在内存的高地址端,CPU 对操作数的存放方式从高字节到低字节。 小端:低位字节放在内存的低地址端,高位字节放在内存的高地址端,CPU 对操作数的存放方式从低字节到高字节。 假设我们的内存是...

2020-06-22 11:57:17 456 0

原创 数据结构 — 栈

目录 文章目录目录栈栈的特性与结构栈的操作集伪代码示例声明栈结构体定义栈操作函数应用示例括号匹配问题:参考文档 栈 首先需要说明本文讨论的栈(Stack)是一种数据结构,而非用户态虚拟存储器中的空间结构。作为数据结构的栈是一种特殊的线性表,其数据成员也与线性表一致。区别在于栈是后进先出的,而线性表...

2020-06-21 18:23:48 821 0

原创 Linux 操作系统原理 — 内存 — 内存分配算法

目录 文章目录目录内存分配算法物理内存分配内存碎片伙伴(Buddy)分配算法申请和回收反碎片机制Slab 算法slab 分配器的结构slab 高速缓存分区页框分配器非连续内存区内存的分配虚拟内存的分配内核空间内存分配kmallocvmalloc用户空间内存分配(malloc)malloc 申请内存...

2020-06-20 16:14:01 848 0

原创 Linux 操作系统原理 — 内存 — 基于局部性原理实现的内/外存交换技术

目录 文章目录目录基于局部性原理实现的内-外存交换技术局部性原理Swap 交换分区 基于局部性原理实现的内-外存交换技术 虚拟存储器的实现思想就是将内存作为辅存的缓存,使得计算机系统拥有了 主存+辅存(交换空间) 大小的存储空间,同时也拥有了接近于主存的访问速度。 局部性原理 虚拟存储器的核心思路...

2020-06-20 13:42:22 1506 0

原创 Linux 操作系统原理 — 内存 — KSM 内存页共享的性能问题

目录 文章目录目录KSM 内存页共享的性能问题 KSM 内存页共享的性能问题 KSM(Kernel Shared Memory)是 Linux Kernel 的一种内存共享机制,在 2.6.36 版本引入。简而言之,KSM 用于合并具有相同内容的物理主存页面以减少页面冗余。在 Kernel 中有一...

2020-06-20 13:34:33 732 0

原创 Linux 操作系统原理 — 内存 — 大页内存

目录 文章目录目录前文列表大页内存Linux 的大页内存大页的实现原理大页内存配置透明巨型页 THP大页面对内存的影响大页内存的性能问题 前文列表 大页内存 在页式虚拟存储器中,会在虚拟存储空间和物理主存空间都分割为一个个固定大小的页,为线程分配内存是也是以页为单位。比如:页的大小为 4K,那么 ...

2020-06-20 13:32:13 1994 0

原创 Linux 操作系统原理 — 内存 — 页式管理、段式管理与段页式管理

目录 文章目录目录前文列表页式管理快表多级页表基于页表的虚实地址转换原理应用 TLB 快表提升虚实地址转换速度页式虚拟存储器工作的全过程缺页中断段式管理段页式管理 前文列表 页式管理 页式存储管理是一种把主存按页分配的存储管理方式,主存-辅存间信息传送单位是定长的页。对比块式管理而言,因为管理的粒...

2020-06-20 13:27:25 822 0

原创 C 语言编程 — const 关键字

目录 文章目录目录const 关键字const 与指针const 与函数 const 关键字 const 是 Constant(常量)的简写,用于定义常量。合理的是 const 关键字可以为程序带来很多好处: 定义常量:下述两种方式效果一致,通常使用后者。 TYPE const ValueNa...

2020-06-20 00:43:50 750 1

原创 C 语言编程 — typedef 关键字

目录 文章目录目录typedef定义数据类型别名定义无名结构体typedef 和 const 结合使用的陷阱 typedef typedef 顾名思义,主要用于自定义一个数据类型,而数据类型在代码中的体现为 “名字”,所以 typedef 一般的理解是为一个数据类型或变量定义一个 别名。 定义数据...

2020-06-20 00:39:36 486 0

原创 C 语言编程 — 作用域和存储器

目录 文章目录目录作用域存储类auto 修饰符register 修饰符static 修饰符extern 修饰符 作用域 所谓作用域(Scope),就是变量的有效范围。C 语言中所有的变量都有自己的作用域,决定变量作用域的是变量的定义位置。 局部变量(Local Variable):定义在函数内部...

2020-06-19 23:59:14 1039 0

原创 OpenStack 云主机镜像制作

目录 文章目录目录镜像支持功能手动制作启动虚拟机环境配置虚拟机环境创建 Glance 镜像使用 OpenStack 环境制作DIB 制作将 OpenStack 云主机制作成镜像 镜像支持功能 支持密码注入功能(注:通过 nova boot --admin-pass 指令设置初始密码)。 支持动态...

2020-06-19 17:15:26 997 0

原创 DPDK — App 的 Makefile 解析

目录 文章目录目录DPDK App 的 Makefile DPDK App 的 Makefile 本文以 DPDK HelloWorld 示例程序为例。 DPDK 版本:18.08 # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2...

2020-06-19 14:37:15 783 0

原创 DPDK — 扩展私有函数库

目录 文章目录目录前言 前言 在开发 DPDK App 的时候难免会需要在 DPDK 中扩展自己的库或者直接引入第三方静态链接库。

2020-06-18 23:13:01 536 0

原创 主备 HA 系统中的脑裂问题

目录 文章目录目录脑裂(Split Brain)脑裂的原因防止脑裂的办法Fence 技术Keepalived vs Pacemaker参考文档 脑裂(Split Brain) 在 HA(高可用)系统中,当联系主、从节点之间的 “心跳线路” 断开时,本来作为一个整体、动作协调的 HA 系统,就分裂成...

2020-06-18 00:28:49 1572 0

原创 QEMU Guest Agent

目录 文章目录目录QEMU Guest Agent安装 QGAQGA 接口利用 QGA 的 OpenStack 云主机监控方案 QEMU Guest Agent QEMU Guest Agent,简称 QGA,是运行在 QEMU 虚拟机内部的一个守护程序 qemu-guest-agent.serv...

2020-06-16 23:17:01 714 4

原创 数据中心服务器网络接入技术 — VEB、VEPA、VN-Tag

目录 文章目录目录前言VEB 技术vSwitchHW VEB虚拟机流量感知技术EVBVEPA多通道技术(Multichannel Technology)BPEVN-Tag 前言 数据中心虚拟网络接入技术,即:虚拟机接入到物理网络中所激发的网络虚拟化技术。 VEB 技术 VEB(Virtual Et...

2020-06-14 19:16:14 893 0

原创 DPDK — 网卡初始化流程(Intel 82599 ixgbe 网卡驱动示例)

目录 文章目录目录总览rte_eth_dev/rte_eth_dev_data 数据结构rte_eth_dev_count 函数rte_eth_dev_configure 函数ixgbe_dev_configure 函数rte_eth_dev_rx_queue_config/rte_eth_dev...

2020-06-14 00:14:44 892 0

原创 DPDK — CLI 指令行模块

目录 文章目录目录DPDK CLI命令行的参数命令行的功能命令行解析初始化命令行参考文档 DPDK CLI 当我们开发一个 DPDK App 时,可以利用 DPDK 提供的 CLI 工具为程序添加命令行实现。添加一个命令由四部分组成: 命令行参数的数据结构 命令行的功能实现函数 命令行解析 命令...

2020-06-13 22:05:10 592 0

原创 DPDK — RTE_LOG 日志模块

目录 文章目录目录DPDK 的日志系统RTE_LOG 宏rte_log 和 rte_vlog 函数日志模块初始化第一阶段初始化 DPDK 的日志系统 在版本较新的 DPDK 中引入了动态类型日志系统,除了原来支持的全局日志输出,也支持了针对单独某个模块的日志输出。本文以 18.05 版本进行阐述。...

2020-06-13 21:38:13 804 0

原创 C 语言编程 — 静态库、动态库和共享库

目录 文章目录目录C 语言的库静态链接库生成静态链接库动态链接库生成动态链接库 C 语言的库 C 语言的库有两种,静态链接库和动态链接库。在 Linux 中,静态链接库命名为 lib*.a,动态库为 lib*.so。这些库文件存在的价值就是抽象出通用的函数,避免重复造轮子。不管是使用哪一种库,程序...

2020-06-12 23:47:28 581 0

原创 Redis M/S + Keepalived 主从备份高可用

目录 文章目录目录高可用Redis 的高可用Redis M/S + Keepalived部署 高可用 高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999% 等等)。而在 Redis 的语境中,高可用的含义似乎要更宽泛一些,除了保证提...

2020-06-10 14:55:45 522 0

原创 Intel x710万兆 SR-IOV 网卡驱动升级

目录 文章目录目录环境获取最新驱动安装 环境 CentOS7 Intel x710 获取最新驱动 官方地址:https://downloadcenter.intel.com/zh-cn/product/83967/Intel-Ethernet-Converged-Network-Adapter...

2020-06-06 13:10:56 1004 0

原创 C 语言编程 — Makefile

目录 文章目录目录参考文档 参考文档 发现了一篇非常棒的文档,直接留下链接: https://seisman.github.io/how-to-write-makefile/overview.html#

2020-06-01 22:54:04 639 0

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