返回   ShareGet 社群討論 > ≡ 電腦網路 ≡ > □ -- Unix & Linux

發表新主題 回覆
 
主題工具 顯示模式
  #1  
舊 2008-08-19, 04:36 AM
kazaya 的頭像
原來傷害最深的
 
註冊日期: 2004-05-31
來自: 是那些不肯同你說真話的人
文章: 8,718
給予: 45 | 感謝 222 | 共 123 篇
積分: 25172 | 給分能力: 98
[轉貼] 無線技術在Linux操作系統中的應用

隨著 Wi-Fi 的普及,Linux 也已加入這一行列。在本文中,Roman Vichr 闡述了 Linux 如何為很多無線工具和項目提供幫助 —— 同時得到這些工具的幫助。
Linux —— 這個通用的、穩定的、可擴展的、多變的而且有競爭力的平臺已經走向了無線。從支援無線訪問的桌面機和伺服器到無線接入系統,它正成為幾乎所有一切的通用工具,而且已經在無線解決方案中佔據了一席之地。深入瞭解 Linux 正在對無線網路進行怎樣的促進。
Linux 無線接入點:構建還是購買?
基本的問題是:Linux 系統是否有能力與無線網路中的其他接入點相結合,來為固定節點和漫遊的無線客戶機提供連接?
無線 LAN 的實際安裝並不那麼重要;關鍵取決於您購買的是什麼,以及它在 Linux 系統下是否得到了支援。檢查並確保您擁有用於特定作業系統驅動程式的硬體。緊記,如果您想要得到的是高性能(也就是說,gigabit 的資料傳輸速度),那麼對您來說選擇無線就是錯誤的;即便是最新的標準,提供的傳輸速度也不到 100 Mbps。漫遊提出了另一個挑戰:維持不同接入點之間的連接。為了幫助實現這一目的,要設置有線等效加密(Wired Equivalent Privacy,WEP)鍵,以檢測您可以連接到的接入點。記住,實際地講,接入點的主要用途是成為一個橋樑;也就是說,它應該將資料包自一個網路路由到另一個網路。
本文所關注的是用於管理這些接入點的各種選項和工具。基本來講,您是要選擇是否通過 無線擴展(wireless extensions) 來使用工具。(無線擴展是一個普通 API 的名稱,它允許驅動程式告知用戶關於常見無線 LAN 的空間結構和統計細節。)要獲得在 Linux 下安裝接入點軟體的詳盡步驟指南,請閱讀文章 在 Linux 上構建無線接入點。要對無線網路結構以及 LAN 和 WLAN 之間的橋樑有一個充分的縱覽,請閱讀 Linux Wireless Access Point HOWTO
不使用無線擴展
有一些技術不使用無線擴展就可以幫您建立 Linux 無線網路,包括 Linux-IrDa 和 BlueZ,後者也就是 Linux Bluetooth 棧。在 Linux 無線網路技術 中有對此兩者的詳盡描述。另一個選擇是 ROSE(Radionet Open Source Environment;參閱 參考資料 以獲得更多資訊),這是一個用來構建 802.11 無線接入點的平臺。ROSE 的優勢在於它可以針對任何平臺(例如 MIPS、x86、ARM、PowerPC)進行編譯。得到支持的 WLAN 卡是基於 Intersil Prism Chipset 2/2.5/3 的。它還提供了對 5 GHz 頻率的支援。下面是附加的 ROSE 特性:
接入點開發工具包
802.11 協議和安全、MAC 位址過濾、IPv4 路由、防火牆、RADIUS、QoS、橋、NAT、DHCP。802.11a/g/h 等另外的驅動程式也得到了支援。
為了良好的支持和可維護性,ROSE 編譯器用 Python 編寫(與可用的 C 編譯器 gzip 一道,附帶標準 Python 庫的 Python 語言版本 2.x —— 2.1 和 2.2 已經經過了測試)。
基本上,使用 ROSE(及 Linux 2.4 內核)和基於 802.11 Intersil Prism 的 WLAN 卡,您就可以構建一個基於 Linux 的無線接入點。
選擇無線擴展
無線擴展的優點在於,單一的一組工具就可以支援所有種類的無線 LAN,不管它們的類型如何(只要硬體驅動程式支援無線擴展)。另一個優勢是,這些參數不需要重新啟動驅動程式(或 Linux)就可以在使用過程中進行修改。
操作無線擴展的一組 Linux 工具通常被稱為 無線工具。它們使用文本介面,而且非常簡單。在 Linux 實現中使用的主要有:
iwconfig:操作基本的無線參數。
iwlist:初始化掃描頻率、列表頻率、比特率和密鑰。
iwspy:獲得每個節點的連接品質。
iwpriv:允許針對特定於 Wi-Fi 驅動程式的無線擴展進行操作。
ifrename:允許使用基於固定標準的名稱介面。
IfPlugd/waproamd
waproamd 是用於支持 Linux 無線擴展(v15 或更新版本)的 IEEE 802.11 NICs 的漫遊後臺程式(roaming daemon),已經在 Debian Linux 上做過了測試。它的用途是根據所找到的網路去配置 WEP 鍵。 waproamd 工具反復地對無線網路進行掃描。當 NIC 與一個可用的網路相關聯後, waproamd 就不再進行掃描,而是將 NIC 卡連接到所發現的接入點。可以通過 iwlist scan 命令來測試掃描。如 Host AP 驅動程式所定義的,waproamd 支援 host_roaming。在使用 waproamd 時不要忘記安裝防火牆;工具本身不能防止入侵。
KWiFiManager
KWiFiManager 是一個用於在 Linux 上 KDE 環境中配置和監控您的無線 LAN PC 卡的工具;工具本身是為 3.x 版本的 KDE 所編寫的。它使用了 Linux 內核無線擴展,所以大部分無線卡都得到了 pcmcia-cs 套裝程式的支持。不過,如果您的卡使用了來自 wlan-ng 專案的驅動程式,可能會有問題,因為這些驅動程式與無線擴展並不是百分之百相容。無論如何,您可以試一下,或者您可以為同一塊卡使用 Host AP 驅動程式,這個驅動程式是與無線擴展相相容的。
KWiFiManager 以 RPM 套裝程式的形式發行;不過,有一些安裝的先決條件。這些先決條件是 Qt 工具包(版本 3.0.3 以上)、KDE 3.x 和 glibc2.2。這些套裝程式都具備後,標準的 ./configure make make install 會編譯並安裝這個工具。這個應用程式提供了一些顯示介面:Signal Quality、Connection Speed、Current Configuration、Access Point monitor、Statistics Viewer 和 Configuration Editor(最後一個顯示介面只有 root 用戶才可以訪問)。
Glink 是一個針對 802.11b 卡(這種卡使用帶無線擴展的 Linux 內核)的鏈路監控器和配置器,大致上相當於 GNOME 中的 KWiFiManager 工具。
APHunter
APHunter 用 Perl 編寫,可以在一個文字檔案中給出一次 iwlist 掃描的輸出。可以使用 perldoc -t ./aphunter 命令調出這個工具的文檔。這個工具提供了一些開關,來控制其輸出和指示器。
GKrellMWireless
這個工具需要帶無線擴展的 Linux 內核。此工具需要一個 C 庫來編譯,當然,是使用 (g)make 來安裝。(在 BSD 中,為了進行安裝您將需要添加額外的頭檔:if_wavelan_ieee.h 和 if_aironet_ieee.h。)這個工具會顯示無線鏈路品質、鏈路級別以及雜訊。它的最新版本可以在 Linux 中以 dbm 為單位顯示級別和雜訊。

協同工作能力問題
當在 Linux 平臺上部署無線時,使用 Linux 驅動程式的不同的卡之間的協同工作能力是需要考慮的一個重要事項。您還應該確保不同硬體部分本身的協同工作能力;它們全部都應該理解相同頻譜內彼此的信號。不要忘記,看起來類似的產品,可能並不具備協同工作能力。例如,802.11 和 802.11-FH 產品不能與 802.11-DS 產品協同工作,反之亦然。
晶片組
考慮到一些產品可能得到支援的同時而同一牌子的其他產品卻有可能得不到支援,不同的無線產品中多種晶片組的使用可能會是一個挑戰。有時,即使是相同型號編號的卡所用的也可能是不同的晶片組,這就導致難以判斷一個卡是否可以得到 Linux 的支援。不過,大部分可用的 802.11b 卡所使用的都是 Intersil PrismII 晶片組,這個晶片組得到了 Linux 很好的支持。
802.11b 規範只是 802.11-DS 的一個擴展,它提高了速度,但是在任何情況下,兩者產品都可以在至少為 2 Mbs (802.11-DS 模式)的速度下進行協同工作。802.11g 標準是 802.11b 非直接擴展;它的目的是在頻率不變的條件下增加帶寬。當您試圖使 802.11a 產品協同工作時(頻率為 5 GHz),要明白它們只能與基於完全相同的晶片組的產品協同工作,而不能與 802.11b 產品直接協同工作,除非您有一個既可用於 802.11b 又可用於 802.11a 的設備。要完全回顧 Wi-Fi 頻率和標準的協同工作能力,請閱讀 The 802.11g standard -- IEEE 和 The ABCs of 802.11。
當考慮您的 Linux 無線設備驅動程式時,不要忘記,那個驅動程式不會總是實現相應的 Window 驅動程式的全部特性。這會限制協同工作的能力。在 Linux 上,安全特性尤其容易落後。下一節介紹了關於增強和管理的一些詳細資料。
組網的靈活性與無線計畫
為了使無線網路能夠具備靈活性並確保安全,已經發起了一些計畫,例如 Wireless FreeNetwork Allocations 和 NodeDB.com(參閱 參考資料 以獲得更多資訊)。基本上這些都是人們可以在這裏列出他們關於接入點或固定客戶機連接的位置和資訊的站點,這樣其他人就可以基於一個地理目錄服務方便地對自己進行定位。
Linux 的靈魂 —— 它的開放、用戶即所有者和管理者的精神 —— 在一些無線計畫中產生了影響,不管 Linux 是否確實是那個解決方案的一部分。在一些計畫中,如 NodeDB.com,Linux 只是平臺之一。在 WIANA 和 NoCatAuth 計畫中,它是計畫的骨幹,因為它具備在作業系統層級上(也就是在接入點層級上)讓用戶定制許可權的能力。
WIANA
Wireless Assigned Numbers Authority 也被稱為 WIANA 計畫(參閱 參考資料 以獲得更多資訊),它嘗試創建一個用於無線位址管理的結構。傳統的 IP 位址註冊表依賴於一個靜態的分等級結構,這並不能滿足無線應用。 WIANA 必須處理無線網路的特殊特性,在無線網路中,節點僅僅因為位置的變化就可以從一個層級移動到另一個層級。在 WIANA 的指導方針下,管理網路的是用戶而不是提供者。大規模無線網路所基於物理媒介不同於需要實際的每位址認證的傳統 Internet。傳統 Internet 中高昂的連接費用使得無線用戶不再使用同樣的方法獲得 IP 位址。在 WIANA 中,這些地址是免費提供的。WIANA 還試圖集中對濫用和阻塞的處理。WIANA 支持受 LocustWorld.com 提供的使命聲明所約束的相容的無線軟體和硬體。那些硬體和軟體的設計在任何平臺上 802.11 Wi-Fi 下都完全相容。主要的思想是提供開放社區無線 WAN,它們由用戶自己來管理,以給用戶更大的靈活性。
NoCatAuth
您可以認為名為 NoCatAuth 的計畫也是一個類似的計畫。它最初構建是為了支援 Sonoma County,California 的 802.11b 的無線網路。這一實現方法將構成共用的 Internet 服務的認證代碼集中於可能的一個點(類似于 WIANA 的作法)。為了遵循一個開放源代碼許可來使用 NoCatAuth,您的 Linux 系統中必須安裝 Perl 編程語言、GNU make 和 gpgv。
Linux 的無線未來
Linux 已經成為 BlueZ(運行於 Linux 內核 2.4 和 2.6 之上)和 Linux-IrDA 等產品和解決方案可選平臺之一,也正在成為用於手機的平臺。隨著手機硬體的更加強大而且成熟,它將為較小的提供商提供一個巨大的機會,讓他們可以創建便於使用的部件並為用戶提供對環境的更有力控制。多數 Linux 手機在亞洲得到了應用,在那裏 Linux 正在成為 3G 電話開發平臺的首選。原因很簡單 —— Linux 的方法同時為開發者和消費者提供了更大的靈活性和自由度。
回覆時引用此文章
發表新主題 回覆

書簽

主題工具
顯示模式

發文規則
不可以發表新主題
不可以發表回覆
不可以上傳附件
不可以編輯自己的文章

啟用 BB 代碼
論壇啟用 表情符號
論壇啟用 [IMG] 代碼
論壇禁用 HTML 代碼
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用
論壇跳轉


所有時間均為GMT -5。現在的時間是 09:06 PM


Powered by vBulletin® Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.