我的简历

1/3/2021 工作

# 罗子文

男 | 25 岁 (1997/10/10) | 现居住武汉 |两年 linux c开发经验 手机:188 2734 1204 邮箱:191658428@qq.com

学校:	湖北理工学院	学历/学位:	本科

专业: 网络工程 职能/职位:  软件工程师  c/c++开发工程师

# 工作及教育经历

2016/9-2020/7 湖北理工学院  本科 | 网络工程 专业描述: 主要课程:C/C++程序设计,数据结构,计算机网络,操作系统原理,计算机组成原理, linux服务器搭建。

2019/12-至今 武汉天融信创新科技有限公司  网络准入控制产品部 | linux c开发工程师 详细描述: 参与网络准入控制系统开发与维护。

# 项目经验

2019/12-至今 网络准入系统 Linux + Windows + C +Python + freeradius +Nginx + redis + dpdk 项目描述: 一款用于局域网内控制终端接入的系统,在交换机上配置策略,由服务端认证,认证主要模式分为ip层和mac层两种准入,基于freeradius的802.1X认证和基于dpdk的端口镜像模式。802.1X模式由freeradius做认证交换机端口授权,端口镜像基于dpdk做流量控制,后端架构由基于ZeroMQ实现进程间通信消息服务、onlineserver用户上下线服务、agserver用户保活认证等,另外通过webserver实现对用户和策略的管理。

使用技术: Nginx:反向代理将相应的请求转发到对应端口;freeradius:802.1X认证;sqlite:维护用户资产指纹信息;redis:作为缓存在线信息等,加快sqlite读写能力;keepalived:高可用性双机热备;ZeroMQ:进程间通信消息队列中间件;libevent网络库;线程池;reactor反应堆;openssl开源加密库;json格式传输数据;syslog日志系统;Makefile;libconfig配置文件读取等。 项目负责: 1.将原有代码迁移并使用Makefile对项目进行一键编译生成ramdisk。 2.实现平台适应自旋锁,CAS等; 3.使用fortify代码审计工具,对项目中危险函数,内存泄露,缓冲区溢出等问题进行修改; 4.编写启动脚本按模块加载程序; 5.添加基于freeradius的802.1x认证功能模块,在交换机eap协议基础上设计新的协议对用户数据封装,实现对于终端所在交换机acl、vlan切换和对于终端的健康检查,设备外联监控等策略下发。 6.对共用认证逻辑包括密码解码,ldap认证,终端资产校验进行封装,独立出认证库 7.实现基于dpdk的端口镜像模式,使用dpdk rtc多进程结构根据cpu个数对网卡RSS初始化,实现主从进程间的协调工作,对关键数据包引流,对dns请求进行欺骗,对httpget请求重定向,其他tcp包阻断等。 8.实现redis连接池设计封装reids命令,实现数据持久化。 9.实现消息分发服务msgserver使用ZeroMQ消息队列中push/pull,pub/sub模式和多消息段协调各服务间的数据通信,增加各进程间吞吐量。

# 专业能力

1 .熟悉C/C++ 能熟练使用面向对象方式编程,熟悉常用设计模式。 2.熟悉linux/unix环境编程,操作系统,进程间通信,多线程编程,对内存/进程管理有一定了解。 3.熟悉linux/unix环境常用操作命令与shell脚本,熟悉gcc编译、makefile、gdb。 4.熟悉dpdk api,能熟练的使用dpdk对协议栈修改,对tcp/ip协议栈有一定了解。 5.熟悉socket网络编程,熟悉 TCP/IP协议,熟悉select/epoll等多路复用模型。 6.熟悉redis数据结构,mysql表操作命令,能在项目中熟练使用。 7.熟悉常用数据结构,链表、栈、队列,二叉树、红黑树,与常用查找和排序算法。 8.熟悉wireshark,tcpdump抓包工具,能对常见网络故障进行分析。 9.熟悉svn、git代码管理工具,fortify代码审计工具使用。 10.对python,lua,golang有了解和使用。

# 自我评价:

逻辑思维能力强,动手能力和执行力较高,有良好的编程习惯; 善于在工作中发现问题、分析问题、解决问题,并作出总结,做事积极性高; 喜欢阅读,apue、unp、linux高性能服务器等书; 喜欢技术,阅读源码redis、freeradius, 协程等源码;