X86架構下,centos和openwrtX86 哪種OS比較適合做路由器?

想做一款x86架構的路由器,有兩種實現方式

方案一、將ppoe、dhcp、qos等路由器功能移植到centos中,將centos做成x86路由器OS

方案二、直接用openwrt X86 做路由器OS。

請問,假設不考慮移植的人工成本。兩種方式各有什麼優缺點?

例如:從同等性能OS並發能力上,兩種方案對硬體性能的要求。並發用戶數的區別等等。


簡單的說一下

考慮 openwrtX86

因為基本上各個模塊都有現成的源碼直接用,比如VPN,PPPOE 都有現成方案,

但是 核心的QOS沒有好方案,或者說,能夠抗衡磊科與WAYOS一類的QOS的方案沒有,未來QOS會偏向數據包分析來達到QOS性能優化,要達到PANABIT那樣的協議精度還是有挑戰性,當然,如果QOS牛了也直接是商業路由了,

加油,! 未來無限精彩


不知道你的ppoe、dhcp、qos都是基於linux socket的嗎?如果是,使用pf_ring,netmap等程序可以加速不少。核非常多的話,使用fastsocket可以減少大量的鎖消耗。

如果要做極限性能,自己改裝intel的數據面轉發程序dpdk,不使用socket,下層他都給你寫好了,上層自己移植ppoe、dhcp、qos,可以達到極高的性能。(純IP轉發1個物理核/2個邏輯核達90Mpps)

openwrt沒接觸過。


看作用,用於50台設備並發幾乎任何方案都可以直接上,qos是前端,後端是埠演算法還是DPI是決定根本的元素,op框架不錯,但畢竟離商用還有很大差距

pppoe、dhcp、負載有太長的路要走

建議入門op,後面還是自己一步步移植吧


謝邀!

首先,在你的需求的不明確的前提下,你的問題就不會有一個很好的答案。應用場景是消費還工業,是家庭還是企業,要補充的需求還有很多。

其次,在你的需求的不明確的前提下,你就已經直接選擇了X86架構和CentOS/WRT。

最後,作為一個2-3年的WRT業餘開發者(也給官方提交過一些補丁)的經驗之談,任何這種基於複雜OS的系統都沒有你想像的簡單。你可以買一台小米路由器看看裡面有多少功能,人家基於WRT做了那麼久,有那麼多大牛和資深開發者,直到最近才把7-Layer分析和DNS劫持功能放出來,也足夠說明這玩意兒開發出來不難,穩定商用可能要很久。

最後的最後,國內的路由器創業潮基本已經過去,本身家用路由器這個東西就更新換代慢、門檻低、利潤少,不要指望這個市場會和智能手機市場一樣火。

當然,物聯網的火現在還沒消,作為家庭物聯網的入口點。。。其實也被人家占的差不多了。。。而且依然在前赴後繼中。。。


瀉藥。

可是我不懂這個誒……個人感覺如果對Linux和TCP/IP協議理解的比較深入透徹,用CentOS再加上自己的優化,應該會比openwrt效果好點吧。


我簡單說一下吧.

如果你打算路由器上所有功能都自己開發, 或者說你不需要什麼太多的功能, 只是一兩個你要關心的功能, 那麼可以用一個普通的linux發行版, 如centos or gentoo, 請參考這個鏈接: Home Router - Gentoo Wiki 以前我的一個朋友就是按照這個來做的, 也沒啥問題.

如果想減少開發量, 輕鬆的安裝路由器的各種功能模塊, 比如友好的界面, 統一的配置文件管理, 標準統一的開發軟體包的方法, 那麼, 你就選openwrt吧. 不過, 對於openwrt零基礎的人需要稍微花點時間熟悉一下, 有的人我懂的, 不愛學新東西.


這幾天在折騰 VyOS。這是一個基於 Debian 開發的路由器系統。可以直接使用 deb 包是最大的優勢,但目前只有命令行界面,沒有Web UI。如果對 linux 系統比較熟悉,寫配置文件還比較順手。真心不如 Openwrt 簡單方便。


個人不推薦openwrt,既然都用 X86 架構了,感覺上 ROS 更好一點,這個相對更加專業,性能和穩定性也要比openwrt好很多


個人認為企業用的路由用centOS裁剪的內核做最好,主要是穩定!openwrt只適合做家用路由,無線AP等消費類產品,穩定性不如centos!


pfSense


瀉藥。

如果僅僅從便捷性上來看,同意前面幾位的回答,openwrt相比較與從centos改造路由器難度要小得多。但是,看題主的意思是要從性能上比較。這個涉及到openwrt對內核做了哪些裁剪,功力不夠,回答不上來,期待大神來答題。


1、將一個通用的Linux系統,改造成一個成熟的路由器,工作量遠大於你想像。

如果是自用,純命令行管理,自己折騰一下還是能做到的

如果要做成可以公開的產品,數千萬的研發投入還是需要的

2、OpenWrt的性能比較弱,首先只能單核,內存限制1G

這個限制明顯只能適用於家用、小企業

其次,OpenWrt的QoS很弱,對七層協議的識別很有限

3、x86架構下,可選的方案個人推薦 pfSense (基於FreeBSD,看我頭像)

pfSense已經集成相當強大的路由器功能,拿來做路由也是可以的,一部分高級路由協議也有

在足夠的硬體支撐下,性能應該比OpenWrt好(純猜測,沒有實際測試過。裝過x86的OpenWrt,僅有32位,而且沒有識別到多核,內存只識別到1G)

作為中小型企業的網關是相當不錯的選擇

如果需要七層協議的識別和過濾,可以加上Panabit(商業軟體,有免費版)


推薦閱讀:

80686-Pentium Pro
如果說 RISC 的性能不如 CISC,那為什麼很多超算是 RISC 架構的?
x86寄存器使用的疑惑?
龍芯採用intel x86的指令界面,也算是侵權嗎?
我想學習x86下的linux內核,該怎麼起步?

TAG:x86 | 路由器 | OpenWrt |