ZeroTier 00: 白皮书解析

ZeroTier是一种二层组网方案,其核心采用SDN架构,具有部署方便、性能强劲的优点。通过搭建自己的Controller、Planet和Node服务器,即可开箱即用ZeroTier的所有功能,并进行一键组网。除此之外,ZeroTier还支持许多开箱即用的高级功能,比如可路由下发、路由策略、流量策略等。ZeroTier控制器还支持P2P发现,能自动寻找最短路由、UDP打洞,不可谓不强大。本系列将开启ZeroTier之旅,一步步搭建属于自己的网络。

作为系列的开篇,本章主要结合官方白皮书,介绍下ZeroTier架构。

阅读更多

NB-IoT物理层仿真(2)OFDM基带信号调制和解调

这一章介绍NB-IoT标准下的OFDM调制解调原理,并仿真实验,实现NB-IoT最基础层面的信号解调。这是最基础也是极其重要的一个模块,因为所有下行信号的门户就是该模块,肩负着尽最大努力保证接收到的信号质量的责任。

将尝试完成以下几个子目标:

  • 根据NB-IoT标准,使用FFT、IFFT实现OFDM层面的调制和解调;
  • 实现同步以最大程度恢复原信号,包括载波频率同步、采样时钟同步、符号定时同步。

阅读更多

动态链接编程

编写一些大型应用程序时,如果将所有的源文件一起编译,则牵一发而动全身,任何文件微小的修改都需要重新编译整个项目,则显然是相当低效的。所以,将一个项目分为几个依赖库,运行的时候再查找对应库中的入口,能提高效率。这就是动态链接库,Linux下为so文件,Windows下则为DLL文件。

在一篇文章将介绍常用的开发动态链接库的技巧和方法。

阅读更多

解决glibc版本兼容问题

如何在Linux上运行一个C语言程序?C语言程序要在操作系统上运行,还需要调用各种系统功能,因此还需要C支持库才能运行。Linux上的C支持库之一,也是使用最广泛的支持库,就是glibc。但是使用过程中,可能因为支持库版本不同而造成兼容性问题,造成软件无法运行。今天我就遇到了这个问题,在网上搜索了一圈后,终于找到了有效的解决办法。

阅读更多

在Linux上使用slapd搭建LDAP服务

随着服务器托管服务的增加,无论是新建容器导入用户数据还是修改用户权限,用户管理成为了一件耗时且繁琐的工作。因此使用LDAP服务来统一管理用户和用户组显得具有现实意义。这篇文章将介绍使用slapd在Ubuntu Linux上搭建LDAP服务,并面向新手简单介绍LDAP基本原理、Apache Directory Studio的基本用法。

阅读更多