自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (6)
  • 收藏
  • 关注

原创 聊聊程序员做编程设计--API设计

0x01 缘由    最近,时间比较充裕,对几个行业和公司等相关进行了简短的思考。今天开始整理一些方法论。C/C++程序员如何做设计。以前在产品规划前也尝试过去做相关的设计,但很多场景是根据竞品进行需求提炼,然后编写需求规格说明书,然后做详细的设计,然后就把任务下发了,这样做的结果是下面的程序员和我都没有进行源码级相关设计。需求分析过程也不规范,大部分时间是领导的意图,然后按照领导的意图去实现

2017-10-31 12:01:31 483 1

原创 DPDK-实战之Virtio/vhost(虚拟技术)

0x01 缘由    在现在云计算和大量的数据中心建设过程中,虚拟化技术快速发展,也来了解下vhost。0x02 介绍    通过vhost-net卸载API来将DPDK技术和LINUX KVM虚拟化技术集成。这个应用简单执行了基于虚拟机之间的MAC地址或VLAN数据包交换。来自外部交换机的以太网流量的分割由英特尔®82599万兆以太网控制器的虚拟机设备队列(VMDQ)和数据中心桥接(

2017-10-26 11:06:34 2800

原创 DPDK-实战之ipsec-secgw(安全网关)

0x01 缘由    看到了比较陌生的名词觉得比较高大上,于是想探究下。0x02 介绍    IPsec 安全网关应用是用DPDK cryptodev框架的一个实际应用例子。    这个应用说明用DPDK实现的一个安全网关,基于RFC4301, RFC4303, RFC3602、RFC2404标准。IKE不实现,因此仅仅手动设置安全策略。    安全策略(SP)用ACL规则实现

2017-10-25 16:25:21 6608 1

原创 DPDK-实战之load_balancer(负载均衡)

0x01 缘由    “负载均衡”这个名词经常听,实际实践中也有过尝试。利用DPDK来做数据流量的负载均衡。我现在负责的产品中,有一个教智能分流设备,可以根据一些规则对流量进行转发。用DPDK可以适合这种场景不?显然,只要专注其中,可以为公司节约很大的成本。0x02 介绍    简单的负载均衡器应用表明一个将数据包IO操作与应用处理过程隔离。依据执行目标,将一些逻辑核专门做数据包的接收

2017-10-24 15:19:07 7827 1

原创 高性能服务器--定时器

0x01 缘由    最近在复习高性能服务器开发,有复习到了定时器这个技能,于是再次理解和复习下。0x02 介绍    概念:    定时:指一段时间之后触发某段代码的机制,在这段代码中依次处理所有到期的定时器。    定时器:封装定时相关操作和主要逻辑。    定时器容器:上面管理很多定时器。0x03 定时器容器    时间轮:             

2017-10-23 15:15:40 771

原创 DPDK-实战之l3fwd-vf(虚拟化环境)

0x01 缘由     年初,学习了l3fwd的例子,进行三层转发,现在学习下特定转发,这个在虚拟化设备中常见,也是加强对dpdk的熟悉。0x02 介绍     在虚拟化环境下的L3层转发应用是用DPDK处理数据包的一个简单例子。这个L3层转发应用充分发挥SR-IOV的特征。     这个应用演示如何使用hash和LPM DPDK库去实现数据包转发。这个转发策略是基于输入包的信息。

2017-10-19 10:45:34 6595 1

原创 高性能服务器之IO复用方式比较

0x01 缘由     最近,想起3年前做的一个客户端设备,发现我对客户端使用select,现在回想起来,虽然也能够工作,但是强扭的瓜不甜,实际不用select也可以满足实际需求。当时可能是兴奋,想实践select的技术。下面主要复习和介绍select\poll\epoll的相关,并进行对比。0x02 IO复用方式    2.1 select 头文件:#include

2017-10-16 17:04:10 489 1

原创 DPDK-实战之rxtx_callbacks(回调函数)

0x01 缘由     继续学习DPDK相关例子。此例子为用用户定义的回调函数来为所有接收的数据包添加时间戳,计算每个数据包转发的时间。0x02 源码     此例子与上篇《DPDK-实战之skeleton(basicfwd)》有一点点不同,此处仅列出不同之处。 static inline intport_init(uint8_t port, struct rte_mempoo

2017-10-16 14:21:04 1712

原创 高性能服务器开发复习

0x01 缘由     性能对于服务器来说至关重要。无论是游戏行业、直播行业等大量的并发用户场景,以及网络设备处理,都需要合理的软件架构来充分利用服务器的硬件资源(CPU\内存\磁盘等)。下面主要关注高性能服务器编程。0x02 关键技术     基本的网络原理:          tcp/ip协议栈、网络分析工具、基本的SOCKET编程、IO服用技术。     基本

2017-10-14 14:06:10 342

原创 DPDK-实战之skeleton(basicfwd)

0x01 缘由     继续学习DPDK示例,主要熟悉每个环节和设计理念,今天要学习的是一个相对简答的服务,仅仅从一个网口抓取数据包转发到另外一个网口,这样做双向转发,相当于桥的功能。其他基础业务都不做。0x02 直接上源码分析#include #include #include #include #include #include #include #define R

2017-10-13 15:17:32 4728 1

原创 DPDK-实战之helloworld

0x01 缘由     “纸上得来终觉浅,绝知此事要躬行”,前面学习了linux tcp/ip协议栈、DPDK基础理论,学下来的感觉是:以前对这几个方面都充满敬畏感,觉得很神秘、很高端,但是学习下来总结了一点----只要不断去摸索去调式去找资料,不懂的都会变得你懂的。仅仅学习理论是不够的,还得在实践中运用。然而在公司产品实践中有时无法接触这方面的知识的应用,所以只能通过一些例子和实现开源解决方

2017-10-12 16:06:07 6031

原创 聊聊编程习惯和思路

0x01 缘由     编程时间(加上大学)已有8年半之久了,最近想对自己编程生涯做一个简单的总结。梳理下编程思路和习惯。做程序员的基本要求:会一门编程语言,有良好的编程习惯,再加上相关行业经验和技术体系。     准备结合计算机编程比赛与产品开发一起来总结。0x02 编程语言     无论是参加编程比赛,还是参加产品开发,一门编程语言是基础。编程语言的学习主要是语法基础的差异,大

2017-10-12 11:33:08 1753

Snort运行流程图(gperftools结果)

Snort运行流程图(gperftools结果),整体了解snort运行机制。

2017-06-29

Stack 的建立,删除及相关操作

Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作

2010-12-24

Stack 的建立,删除及相关操作

Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作

2010-12-24

Stack 的建立,删除及相关操作

Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作Stack 的建立,删除及相关操作

2010-12-24

数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT

数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT数据结构PPT

2010-12-21

Link操作链表的操作,删除,插入等

链表的操作,删除,插入等链表的操作,删除,插入等链表的操作,删除,插入等链表的操作,删除,插入等链表的操作,删除,插入等

2010-12-18

空空如也

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

TA关注的人

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