歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 軟路由性能測試及分析[圖文]

Linux 軟路由性能測試及分析[圖文]

日期:2017/2/28 16:51:26   编辑:Linux教程

姚 炯 ([email protected]), 網絡工程師, 杭州師范大學理學院

本文介紹了 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 平台的路由軟件。

Copyright © Linux教程網 All Rights Reserved