nat转换效率问题
今天在ros nat action里发现了netmap,试用下,可以进行转换,跟src-nat对比不知道怎么样,有条件的朋友试试1. Netmap简介Netmap是一个高性能收发原始数据包的框架,由Luigi Rizzo等人开发完成,其包含了内核模块以及用户态库函数。其目标是,不修改现有操作系统软件以及不需要特殊硬件支持,实现用户态和网卡之间数据包的高性能传递。其原理图如下,数据包不经过操作系统内核进行处理,用户空间程序收发数据包时,直接与网卡进行通信。在Netmap框架下,内核拥有数据包池,发送环\接收环上的数据包不需要动态申请,有数据到达网卡时,当有数据到达后,直接从数据包池中取出一个数据包,然后将数据放入此数据包中,再将数据包的描述符放入接收环中。内核中的数据包池,通过mmap技术映射到用户空间。用户态程序最终通过netmap_if获取接收发送环netmap_ring,进行数据包的获取发送。4. 特点总结(1)性能高:数据包不走传统协议栈,不需要层层解析,用户态直接与网卡的接受环和发送环交互。性能高的具体原因有一下三个:[*](a) 系统调用以及处理数据包的时间花费少
[*](b) 不需要进行数据包的内存分配:采用数据包池,当有数据到达后,直接从数据包池中取出一个数据包,然后将数据放入此数据包中,再将数据包的描述符放入接收环中。
[*](c) 数据拷贝次数少:内核中的数据包采用mmap技术映射到用户态。所以数据包在到达用户态时,不需要进行数据包的拷贝。
(2) 稳定性高:有关网卡寄存器数据的维护都是在内核模块进行,用户不会直接操作寄存器。所以在用户态操作时,不会导致操作系统崩溃(3) 亲和性:可采用了CPU亲和性,实现CPU和网卡绑定,提高性能。(4) 易用性好:API操作简单,用户态只需要调用ioctl函数即可完成数据包收发工作(5) 与硬件解耦:不依赖硬件,只需要对网卡驱动程序稍微做点修改就可以使用此框架(几十行行),传统网卡驱动将数据包传递给操作系统内核中协议栈,而修改后的数据包直接放入Netmap_ring供用户使用。
是哪个版本才有这个功能啊? taoapca 发表于 2015-4-1 10:54
是哪个版本才有这个功能啊?
我是用6.27的,之前什么版本有了就不清楚了 这样设置dns不通了 3533155 发表于 2015-4-7 14:17
这样设置dns不通了
不会啊,照样能上网啊
我的也是dns 不了 ,域名不能解析 生产环境下没敢试 netmap - creates a static 1:1 mapping of one set of IP addresses to another one. Often used to distribute public IP addresses to hosts on private networks
刚才找了个RB750试了下效果感觉不如SRC-NAT actcs 发表于 2015-4-15 12:55
netmap - creates a static 1:1 mapping of one set of IP addresses to another one. Often used to distr ...
的确是不如SRC-NAT,整体上cpu使用率高了
页:
[1]