本文介绍了 Linux 软路由的工作原理,并使用普通 PC 计算机作为硬件设备,在实际网络环境中测试和讨论了 Linux 软路由的性能。实

姚 炯 (yaojiongcn@yahoo.com.cn), 网络工程师, 杭州师范大学理学院

本文介绍了 Linux 软路由的工作原理,并使用普通 PC 计算机作为硬件设备,在实际网络环境中测试和讨论了 Linux 软路由的性能。实验证明,在百兆以太网络环境中, Linux 软路由的数据报转发速度取决于网络卡的实际速度,并随着软路由系统的应用层服务的增加而降低。该结果为 Linux 软路由的应用和普及提供依据。

0、引言

随着开源软件的发展,越来越多的人开始了解、使用和研究 Linux。目前 Linux 环境下的软路由设计和应用案例已有很多;但是对于实际网络环境中 Linux 软路由的负载性能一直缺乏相关的实测和讨论。本文从 Linux 软路由的框架和实验两部分进行讨论,并给出结论。

1、Netfilter 框架

Netfilter 框架上是整个 Linux 软路由运作的体系,是 Linux2.4 内核处理数据报的流水操作系统。它能够运做在 IPv4、IPv6 及 Decnet 等网络栈中。Netfilter 框架的概念的提出及主要实现者是 Rusty Russell。

Netfilter 框架如图所示:

Figure xxx. Requires a heading

(1)Netfilter 为每种网络协议定义一套钩子函数,其中为 IPv4 定义了以下5个钩子函数:

[1]NF_IP_PRE_ROUTING.

[2]NF_IP_LOCAL_IN

[3]NF_IP_FORWARD

[4]NF_IP_POST_ROUTING

[5]NF_IP_LOCAL_OUT

(2)这些钩子函数在 Linux 内核的模块中注册,并与之挂接。当数据报流入框架的网络层时,内核模块在框架的钩子函数处[1]接收数据报,并对它进行检查、转发、丢弃或指示 Netfilter 将该数据报通过[2]传入用户空间队列。

(3)如果该数据报被传递给用户空间,,将在应用层被异步处理。该层的用户进程(Local Process)在对数据报进行更加精细的检查,修改和装配之后,通过钩子函数[4]把它重新递交给网络层。

Netfilter 框架的数据报分流结构使它极大地降低了数据报转发的延迟,提高了数据报控制的精度;在节省系统开销,提高数据报的处理效率上超越了工作在 Windows 平台的路由软件。

linux 软路由 带机量,Linux 软路由性能测试及分析[图文]相关推荐

  1. linux软路由关闭超线程,结论 - Linux 软路由性能测试及分析[图文]_Linux教程_Linux公社-Linux系统门户网站...

    6.结论 软路由的 CPU.内存处理速度已经远远超过网络卡和 PCI 总线速度:在百兆以太网中软路由数据报转发速度仅决定于网络卡的线速度.笔者曾用赛扬450MHZ 的 CPU,256M 的旧机器架构, ...

  2. linux性能并发 带机量,性能测试笔记(一):吞吐量与并发数

    原标题:性能测试笔记(一):吞吐量与并发数 先看下定义: 吞吐量:一段时间内应用系统处理用户的请求数(以下介绍指单位时间内,也可以理解为吞吐率),这个定义考察点一般是系统本身因素:当然也可以用单位时间 ...

  3. linux各版本代码量,linux各版本对应溢出漏洞总结(溢出代码)

    记录一下. 2.4.17 newlocal kmod 2.4.18 brk brk2 newlocal kmod km.2 2.4.19 brk brk2 newlocal kmod km.2 2.4 ...

  4. linux查看pv数据量,linux下计算网站PV量、UV量

    在日志目录下有个access.log cat access.log | awk 'BEGIN{PV=0}{PV++}END{print "pv:"PV}' #匹配出第一行的ip选项 ...

  5. ap带机量测试软件,无线AP的带机量是多少?

    原标题:无线AP的带机量是多少? 在做无线覆盖项目时,需根据组网需求和应用场景来做无线AP选型,其中无线AP的带机量是一个重要的参考因素.然而,一般情况下,单台AP不一定能做到商家所宣称的带机量,因为 ...

  6. lede 插件_家中路由换新——lede软路由安装教程

    工具合集见置顶评论 什么是lede软路由? 这里所说的lede软路由是国内比较出名的koolshare社区里的大神们,基于OpenWRT路由固件开源项目的一个分支项目Linux嵌入式开发环境项目(Li ...

  7. linux快速上手之多服务器间路由配置

    linux 多服务器间路由配置,把linux变成动态路由器(前提是双网卡) 安装一个软件 yum list quagga yum install quagga quagga配置: cd/etc/qua ...

  8. linux 下添加,修改,删除路由

    在日常生活中,或者在服务器中,有多个网卡配置多个地址,访问不同的网络段,这种情况是非常常见的现象,这个时候我们就需要添加多个路由来实现多网络段的通行. 一.设置当前终端路由(再开机就没效了) 1.显示 ...

  9. linux 添加路由_linux网络知识:路由策略(ip rule,ip route)

    一,路由策略(使用ip rule命令操作路由策略数据库) 基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目的地址而且能够根据报文大小,应用或IP源地址等属性来选择转发路 ...

最新文章

  1. 黄金法则----比较法则
  2. 1033 To Fill or Not to Fill (25 分)【难度: 难 / 知识点: 模拟 贪心】
  3. linux批量备份服务器配置文件和目录的脚本
  4. if with large data project
  5. 使用开源项目的正确姿势,都是血和泪的总结!
  6. 20155307 2016-2017第二次《Java程序设计》课堂实践项目
  7. np.array的shape的区别
  8. vue中检测敏感词,锚点
  9. Docker安装elasticsearch-head监控ES步骤 - gmijie的专栏 - CSDN博客
  10. 在C语言中如何高效地复制和连接字符串?
  11. Python基础之内置函数(二)
  12. 给你的页面加一个百度地图
  13. 邮件小技巧:让同一个收件人地址同时显示在收件人和抄送人栏中
  14. 浏览器全球的书签都在这里了,看看有没有你的!
  15. 【学习笔记】产品经理必备技能之竞品分析(下)用户体验五要素分析法 + 竞品分析报告
  16. S.M.A.R.T原则:目标管理概念 - 让你的管理规范化
  17. 华为企业交换机ACL经典案例
  18. UWB的三种算法详解
  19. 八数码问题的A*算法
  20. Java中求集合交集、并集、差集

热门文章

  1. VUE项目开发启动命令
  2. 上海各大商场周年庆时间汇总-----(可能不全)
  3. 非常强大的PCB电路板维修口诀
  4. 各大IT公司的起名缘由
  5. vscode python 格式化_VSCode 格式化缩进代码的实现
  6. 屏幕分辨率1K、2K、4K
  7. 安卓真机调试无授权信任窗口
  8. php 计算数据偏离度,偏离度怎么计?
  9. 学习笔记之DataGrid
  10. 速卖通 排序规则解析