發表文章

目前顯示的是 八月, 2014的文章

如何將Linux打造成OpenFlow Switch:Lagopus

圖片
上次介紹的部份是利用 openvswitch 來打造 OpenFlow switch,這也是大部份目前市面上買的到的 OpenFlow switch 所使用的軟體。問題是,它的傳輸效率不太好,畢竟它是透過 Linux kernel 來處理 Flow Entry。有人可能會說:「不會啊,我買的 switch 傳輸速度沒有問題啊,幾乎都可以達到 line rate」,OK,這是因為這些市面上賣的 switch 大部份都移植 Flow Entry 到處理程序到硬體平台上(像是 Broadcom 的晶片),所以傳輸速度當然不差,可是!很多 OpenFlow 的功能就不支援了,畢竟那些晶片本來就沒有提供這些功能啊(通常是Set Field)。我們可以將目前 OpenFlow switch 的狀況大概整理如下:

Software-based OpenFlow switch
功能支援度高,容易升級,但傳輸速度慢Hardware-based OpenFlow switch
傳輸速度快,但功能並不完善 有沒有能夠兼顧兩者的設備呢?今天要介紹的這套 Lagopus 就是一個可能的選項。Lagopus 是 NTT 所開發的 Software OpenFlow switch。Software?那傳輸速率呢?為了解決這個問題,Lagopus 採用了 Intel 所推出的 Data Plane Development Kit (DPDK) 技術。下面我們就先來介紹什麼是 DPDK。

DPDK簡介

DPDK 這個技術的概念可以用下圖來表達:
這張圖說明了 Intel 的 DPDK 技術是如何加速封包的處理。大概解釋一下。傳統 Linux 封包處理流程,是硬體收到封包後觸發 interrupt 後導到 Linux Kernel,如果還要進入 user space,就要通過 copy_to_user/copy_from_user 這樣的機制,而這會牽扯到記憶體拷貝的問題,這是因為不能讓 user space 直接讀到 kernel space 的記憶體管理,免得造成系統錯誤,所以作業系統會用一塊虛擬化的記憶體位置來給 user space 的 process,而這種記憶體保護機制以及拷貝很吃系統資源,這也是為什麼傳統上在處理 Linux 的 Data Plane 的時候都盡可能在 Kernel 處理,減…

靈修分享:聽聽說說

我很喜歡聽唐崇榮牧師講道,從信友堂時期的希伯來書查經開始,他的講道刺激了我更花時間去研究上帝的話,也好好地反省自身的信仰。有一次,我問一個朋友廳唐牧師講道的感想,他回答:「聽的很過癮。」聽上帝的道覺得很過癮,那很好啊,可是對他來說,這是一場演講,內容精彩,外加唐牧師那種「橫眉冷對千夫指」的氣勢(是說近幾年實在是溫柔多了),就算作為一場收費演講演講也絕對值回票價。但,這是對於聽上帝的道的正確態度嗎?

靈修經文:

使徒行傳17:21

雅典人和住在那裡的客人都不顧別的事,只將新聞說說聽聽。

使徒行傳24:24-27

過了幾天,腓力斯和他夫人─猶太的女子土西拉─一同來到,就叫了保羅來,聽他講論信基督耶穌的道。保羅講論公義、節制,和將來的審判。腓力斯甚覺恐懼,說:你暫且去吧,等我得便再叫你來。腓力斯又指望保羅送他銀錢,所以屢次叫他來,和他談論。過了兩年,波求非斯都接了腓力斯的任;腓力斯要討猶太人的喜歡,就留保羅在監裡。

靈修分享:

在使徒行傳裏面描述了兩種人很喜歡聽保羅講道。第一種是雅典人,他們一向很喜歡研究哲學的思辨(或許對現在的人來說是無用的清談?),他們去聽保羅講道,對他們來說,基督的救恩是很新鮮的學問。另外一種人則是腓力斯。他想向保羅收錢(他是憑什麼覺得保羅會有錢啊?),但我相信他也是覺得保羅的談話很有一些趣味,不然也不用談論了(一直關著不就好了)。這兩群人都很常聽到保羅的信息,但,他們有得救嗎?

答案應該很明顯,因為他們和他們所聽到的道一點關係也沒有,只是當成是另外一種學問罷了。

那我呢?

我印象中聽過(還是看過)康來昌牧師的一篇講道,他說他本來只想在神學院教書,並不想牧會,因為不想和人建立太深厚的關係,也因為覺得不夠有愛心,後來才被教會長輩半勸半強迫加入信友堂的教牧團隊。聽到這裡,我也在反省我自己。人家以為我對聖經、神學有點熟(真是天大的誤解!),會不會只是我自己認為「這道很有趣」、「研究學問很有趣」,所以比一般信徒多花了點時間在這些事情上面(當然和神學家、神學生還是不能比啦),但這樣的心態跟我打電動有啥兩樣?還是要顯示我比其他的人厲害、多懂一些看起來很神聖的知識?這只不過是成就自己的驕傲罷了(恩,但其實看過了太多更厲害的人,所以大概驕傲不起來吧)

唐牧師講過一句話:「當你在研究神學時,要把神當作主體,不能當作研究的客體

願上帝鑑察我的心,也隨時的提醒我。