史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 網路軟硬體架設技術文件
忘記密碼?
註冊帳號 論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-05-30, 01:26 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 軟體 - Linux 無線網路技術: WLAN

當今,不考慮 Linux 和無線網路技術的話,就無法談到電腦和網路。在這篇文章中,Sreekrishnan Venkateswaran 用 Linux 觀點闡釋了通過 WLAN、Bluetooth、GPRS、GSM 以及 IrDA 實現無線聯網。他使用各種不同的無線設備和相應的內核層,以及用戶空間工具來示範它們在 Linux 下如何工作。

  無線技術,例如 WLAN (Wireless Local Area Network)、Bluetooth、GPRS (General Packet Radio Service)、GSM (Global System for Mobile communications) 以及 IrDa (Infrared Data),在不同的環境下提供服務。雖然 WLAN 支持比 Bluetooth 更高的速度和更長的傳播距離,但是它也需要更多的費用並且耗電量更大。GPRS 雖然比 Bluetooth 和 WLAN 慢,但是可用於移動技術。儘管它們存在差異,或者是其他原因,但是具有多種無線功能的設備可以綜合利用它們。例如,根據 GPS 模塊的定位輸入,設備可以透明地將網路連接從路上的 GPRS 切換到網吧中更便宜的 WLAN。移動電話可以通過 Bluetooth 與心律監視器通信,當病人心律超出某個極限時,就可以通過 GSM 向醫生發送警報。

  目前,無線技術已經以 PCMCIA、Compact Flash (CF) 卡的形式廣泛應用,或者用於 USB 設備。大多數電腦系統,包括嵌入式設備,都有 PCMCIA、CF 或者 USB 接頭,即使不含對無線技術的內置支持,也能夠立刻使用這些技術。這篇文章分析了無線設備的一些示例,並且研究了設備驅動程式的 Linux 實現、總線技術以及各種協議。

  首先,通過跟蹤 WLAN 樣卡的代碼流,您將瞭解到 WLAN 設備是如何在 Linux 下工作的,然後還可以看到幾個 Bluetooth 設備如何與 Linux Bluetooth 棧和其他內核層連接。接下來,您將瞭解到如何使 GPRS 和 GSM 設備在 Linux 下工作。文章最後分析了 Linux 上的 IrDa 支持並簡要介紹了有關無線網路設備的性能問題。

  注意:本文涉及到的內核資料結構和文件名是當前 Linux 版本中所使用的。文件名相對於 Linux 內核源程式樹的根。

  Linux 802.11 WLAN

  WLAN 通信系統作為有線 LAN 以外的另一種選擇一般用在同一座建築內。WLAN 使用 ISM (Industrial、Scientific、Medical) 無線電廣播頻段通信。WLAN 的 802.11a 標準使用 5 GHz 頻段,支持的最大速度為 54 Mbps,而 802.11b 和 802.11g 標準使用 2.4 GHz 頻段,分別支持最大 11 Mbps 和 54 Mbps 的速度。

  WLAN 類似於有線以太網,它們都是從同一地址池分配 MAC (Media Access Control) 地址,並且都是作為以太網設備出現在操作系統的網路設備層。例如,ARP(Address Resolution Protocol) 表是用 WLAN MAC 地址和以太網 MAC 地址填充的。

  然而 WLAN 與有線以太網在鏈路層有很大的區別。例如,802.11 標準使用衝突避免(CSMA/CA)代替有線以太網的衝突檢測(CSMA/CD)。而且,與以太網幀不同的是,WLAN 幀是被確認的。
由於 WLAN 工作站之間的模糊邊界,WLAN 鏈路層擁有在傳送前清除一個區域的協議。出於安全性考慮,WLAN 的 Wired Equivalent Privacy (WEP) 加密機制提供與有線網路相同的安全級別。WEP 將 40 比特或 104 比特密鑰與隨機的 24 比特初始向量組合用以加解密資料。WLAN 支持兩種通信模式:Ad Hoc 模式 用於小群組工作站之間不必使用訪問點的短時間內通信,而 Infrastructure 模式 的所有通信必須通過訪問點。訪問點週期性地廣播一個服務集標識符(SSID),SSID 用於將一個 WLAN 網路與其他網路區別開來。

  大多數可用的 WLAN 卡是基於 Intersil Prism 或 Lucent Hermes 芯片組的。Compaq、Nokia、Linksys 和 D-Link 卡使用 Prism 芯片組,而 Lucent Orinoco 卡和 Apple Airport 使用 Hermes 芯片組。

  Linux WLAN 支持

  Linux WLAN 支持由 WLAN API 實現和 WLAN 設備驅動程式組成。我將依次研究它們。

  有兩個 Linux 專案定義一般的 WLAN API,並且提供工具讓用戶空間應用程式配置參數和存取來自 WLAN 設備驅動程式的訊息。Wireless Extensions 專案為不同的無線網卡提供公共的 Linux 用戶空間接頭。這個專案的工具包括 iwconfig 用以配置參數(比如 WLAN 驅動程式中的 WEP 關鍵字及 SSID)。linux-wlan 專案作為 Wireless Extensions 專案一部分,也支持一系列用於從用戶空間與 WLAN 設備驅動程式交互的工具。與基於 Wireless Extensions 的工具不同,這些工具使用類似於 SNMP (Simple Network Management Protocol) MIB (Management Information Base) 的語法,該語法反映 IEEE 802.11 規範。

  繼續討論設備驅動程式,支持流行的 WLAN 卡的 Linux 設備驅動程式包括:

  Orinoco WLAN 驅動程式:是 Linux 內核源代碼的一部分,支持基於 Hermes 的卡和基於 Intersil Prism 的卡。orinoco_cs 模塊提供了 PCMCIA 和 CF 卡所必需的 PCMCIA 卡服務支持。
  linux-wlan 專案的 linux-wlan-ng 驅動程式:支持多種基於 Prism 芯片組的卡。這個驅動程式支持 linux-wlan API 並部分支持 Wireless Extensions。
  Host AP 設備驅動程式:支持 Prism 芯片組的 AP 模式,可以使 WLAN 主機起訪問點的作用。
  Linux Symbol Spectrum 設備驅動程式:支持 Symbol PCMCIA 卡。不同於 PCMCIA 卡,Symbol CF 卡缺乏板載固件,它依靠設備驅動程式來下載固件。該驅動程式的一個單獨版本適用於 CF 卡。Intel 將 Symbol PCMCIA 卡重新壓縮打包為 Intel PRO/Wireless 卡,而 Socket 通信重新壓縮打包了 Symbol CF 卡。
  Atmel USB WLAN 驅動程式:利用 Atmel 芯片組支持許多 USB WLAN 設備。

  Intersil Prism2 WLAN CF 卡

  我將討論 Intersil Prism2 802.11b WLAN CF 卡來展示它如何與 Linux PCMCIA、網路設備及協議層一起工作。

  Linux PCMCIA/CF 層由 PCMCIA 主機控制器的設備驅動程式、不同卡的客戶機驅動程式、用戶模式程式、有助於熱拔的後台工作行程和與以上各部分交互並為它們提供服務的內核卡服務中樞組成。PCMCIA 控制器將卡連接到系統總線,將卡記憶體映射到主機 I/O 和記憶體視窗,並將卡產生的中斷路由到自由處理器中斷線。CF 卡較小,但與 PCMCIA 相容,並且經常應用於手持設備。PCMCIA/CF 卡擁有兩個存儲空間:內容記憶體(attribute memory)和 公共記憶體(common memory)。內容記憶體類似於 Card Information Structure (CIS),用來儲存配置註冊和描述符訊息。Linux 卡服務核心與主機控制器設備驅動程式、卡設備驅動程式及用戶模式 cardmgr 後台工作行程交互。它在一些事件(比如卡插入、卡移出以及低電量)發生時調用卡驅動程式的事件處理程式例程。儘管卡服務從卡的 CIS 向上傳送訊息到 cardmgr,但是 cardmgr 將為分配記憶體視窗和中斷級別而在用戶空間(/etc/pcmcia/config.opts)中定義的資源分配策略向下傳送到卡服務。檢視 drivers/pcmcia/ds.c 可以瞭解與 cardmgr 交互的內核代碼,查閱 /etc/pcmcia/config.opts 可以瞭解用戶空間資源分配策略。

  插入 Intersil WLAN CF 卡時,卡服務調用 orinoco_cs 模塊的 PCMCIA 事件處理程式。卡服務解析卡內容記憶體中的 CIS 元組(tuples)並向上傳送訊息到 cardmgr,這將從 /etc/pcmcia/config 文件(參閱清單 1)載入適當的設備驅動程式。由於卡的 CIS 中的 manfid 元組匹配 /etc/pcmcia/config 中的條目,所以 cardmgr 綁定帶有 orinoco_cs 驅動程式的卡。清單 1 中的設備條目規定 orinoco_cs 驅動程式由三個內核模塊組成:orinoco、orinoco_cs 和 hermes。此外,由於設備屬於無線的(wireless)一類,所以當啟動和停止設備時,cardmgr 執行腳本 /etc/wireless/wireless。這個腳本使用 WLAN 工具和實用程式來配置設備驅動程式參數,例如 WEP 關鍵字和 SSID。它還可以啟動 WLAN 上的網路協議,例如 DHCP(Dynamic Host Configuration Protocol,動態主機配置通訊協議)。清單 1 中的示例使用 Wireless Extensions 工具來執行設備配置。
注意: PCMCIA 配置文件的確切位置取決於所用的 Linux 分佈。

  清單 1. Intersil WLAN CF 卡的 PCMCIA 設備條目

    card "Intersil PRISM2 11 Mbps Wireless Adapter"
    manfid 0x0156, 0x0002
    bind "orinoco_cs"

    device "orinoco_cs"
    class "wireless" module "orinoco","orinoco_cs","hermes"


  用 /etc/pcmcia/wireless 和 /etc/pcmcia/wireless.opts 腳本來配置 WEP 關鍵字和 SSID 這樣的參數。

  清單 2. 配置 WLAN 特定參數

  iwconfig ethX essid <wlan_name>
  key AAAA-AAAA-AA [1] key BBBB-BBBB-BB [2] key CCCC-CCCC-CC [3] key DDDD-DDDD-DD [4]
   : Set 64-bit WEP Keys and ESSID in the driver
  iwconfig ethX : Display WLAN parameters
  iwpriv : Get nongeneric, driver-specific parameters
  iwlist : List Information and statistics from an interface
  iwspy : Read quality of link for a set of addresses
  /proc/net/wireless : Wireless Statistics from the device driver


  在插入卡時,orinoco_cs 像傳統的網路設備驅動程式一樣,調用 register_netdev 來獲得分配給 WLAN 接頭的 ethX 網路接頭名。它還會註冊一個中斷服務例程的地址以服務收發無線資料時產生的中斷。中斷處理程式是 orinoco 模塊的一部分,並與 Linux 網路棧交互。Linux 網路棧使用主要的資料結構是 sk_buff 結構(定義在 include/linux/skbuff.h 中,該文件包括關於附加在它上的一個記憶體塊的控制訊息)。sk_buffs 為所有網路層提供有效的緩衝器處理和流控制機制。網路設備驅動程式執行一個 dev_alloc_skb 和一個 skb_put,以用 IP 資料填充一個 sk_buff,然後通過調用 netif_rx 將這個sk_buff 傳送到 TCP/IP 棧。orinoco 中斷服務例程用從 WLAN 接收的資料填充 sk_buffs,並經由 netif_rx 將它傳送到 IP 棧。

  Linux TCP/IP 應用程式可以在前面談到的內核模塊為 Intersil WLAN CF 卡提供的網路接頭上不加更改地執行。

  關於作者
  Sreekrishnan Venkateswaran 擁有印度坎普爾市印度科技學院的電腦科學碩士學位。他從 1996 年 2 月開始為 IBM India 工作。 他的興趣包括設計設備驅動程式和網路協議。

此帖於 2006-06-04 11:31 AM 被 psac 編輯.
psac 目前離線  
送花文章: 3, 收花文章: 1625 篇, 收花: 3196 次
舊 2006-07-02, 04:00 PM   #2 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

非常有用之 Unix/Linux 單行腳本

刪除 core 文件

# find ~ -name core -exec file {} \; -exec rm -i {} \;

檢視使用文件的工作行程

# fuser -u /usr/my_application/foo

搜索字元串

#grep "hello world" `find ./ -name "*" -print -exec file {} \; |grep text | cut -d ':' -f 1`

目錄

#alias dir='ls -Lla|grep ^d'


輸出 IP 地址

#ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print $2;}' | awk -F':' '{print $2;}'

按文件長度排序

#ls -l | grep ^- | sort -nr -k 5 | more

#ls -lR | grep ^- | sort -nr -k 5 | more


二進制文件中的可印表字元

# strings name of binary file

一個月的最後一個星期天執行任務:

18 * * * 0 [`date "+%d"` -gt 24] && /path/to/script


修改延伸名:

# for f in *.abc; do mv $f `basename $f .abc`.def ; done


檢視硬碟情況:(Solaris)

# iostat -En


整個目錄樹拷貝:

# cd

# find . -depth -print | cpio -pudm


按長度排序目錄下所有文件

# du -a | sort -n -r | more


檢查文件內每行是否有相同列數

#awk '{print NF}' test.txt |sort -nu|more


去除空行

#sed -e '/^[ ]*$/d' InputFile >OutputFile


檢視工作行程佔用的對應文件 inode 號(Solaris)

#/usr/proc/bin/pfiles


刪除指定用戶的所有工作行程

# kill -9 `ps -fu username |awk '{ print $2 }'|grep -v PID`




Bash 操作快捷鍵:

ctrl-l -- clear screen

ctrl-r -- does a search in the previously given commands so that you don't

have to repeat long command.

ctrl-u -- clears the typing before the hotkey.

ctrl-a -- takes you to the begining of the command you are currently typing.

ctrl-e -- takes you to the end of the command you are currently typing in.

esc-b -- takes you back by one word while typing a command.

ctrl-c -- kills the current command or process.

ctrl-d -- kills the shell.

ctrl-h -- deletes one letter at a time from the command you are typing in.

ctrl-z -- puts the currently running process in background, the process

can be brought back to run state by using fg command.

esc-p -- like ctrl-r lets you search through the previously given commands.

esc-. -- gives the last command you typed.


文件名裡的空格替換為下劃線

# for i in $1 ; do mv "$i" `echo $i | sed 's/ /_/g'` ; done


檢視遠端主機時間

# telnet remotehostname 13|grep :


只顯示 top 命令的states 行

#while true; do top -d 2 | col -b | grep states; sleep 10; done


加速顯示 tar 文件內容

# tar tvfn


讓 目錄名也能 Spell Check

#shopt -s cdspell

當輸錯命令時,系統會自動進入類似的目錄


檢視 Sun 服務器型號

# /usr/platform/`uname -m`/sbin/prtdiag -v | grep `uname -m`


在vi 中一行文字前後新增字元

:/^\(.*\)/s//我要 \1 新增/


查找某包含字元串(Verita)軟件包的詳細訊息 (Solaris)

pkginfo -l `pkginfo | grep -i VERITAS | awk '{print $2}'`


Sun 的一大堆腳本

http://www.sun.com/bigadmin/scripts/index.html

來源:freelamp 
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1625 篇, 收花: 3196 次
舊 2006-07-02, 07:57 PM   #3 (permalink)
註冊會員
榮譽勳章
UID - 4587
在線等級: 級別:16 | 在線時長:326小時 | 升級還需:31小時級別:16 | 在線時長:326小時 | 升級還需:31小時級別:16 | 在線時長:326小時 | 升級還需:31小時級別:16 | 在線時長:326小時 | 升級還需:31小時級別:16 | 在線時長:326小時 | 升級還需:31小時級別:16 | 在線時長:326小時 | 升級還需:31小時
註冊日期: 2002-12-07
VIP期限: 2011-05
文章: 618
精華: 0
現金: -120 金幣
資產: 3516 金幣
預設

謝謝你的熱心分享啦
kyoshih 目前離線  
送花文章: 206, 收花文章: 35 篇, 收花: 74 次
舊 2006-07-07, 11:56 PM   #4 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

學Linux的人有福了!!選擇一套適合自己的linux系統

  desktoplinux上一篇文章(鏈接見下)列出了根據使用者不同的而推薦的linux系統,裡面有很多沒有聽說過的linux版本,你可以根據自己的需求來試試看~~

我想要一個家庭使用的linux系統(windows 家庭版本的替代品)
  作者推薦了Xandros 3 Desktop ,因為這個是跟windows最相似的linux系統,缺點是相應的應用程式非常少,並且如果用戶是一個對linux不熟悉的用戶,估計會比較痛苦。所以作者推薦了Linspire Five-0 。如果用戶還需要安裝過程跟windows很相似的話,那麼你可以使用Versora's Progression Desktop 和 Win4Lin's Win4Lin Pro的組合套裝。

我要在linux上玩windows下的遊戲
  作者列出了兩款宣稱可以讓你感到happy的軟件,TransGaming Technologies Inc.'s 和 WineX technology ,後者可以玩World of Warcraft, 但是作者推薦了一個收費軟件two-week free trial of Cedega

我要在linux上進行我的工作
  這裡作者推薦了大家都熟悉的幾個發行版本, Xandros Business Desktop,Red Hat Enterprise Linux WS, or Red Hat Desktop, OpenSUSE 10 ,Novell Linux Desktop 9

我要找一個跟linux相關的工作
  Fedora, 不過最好還是考一個RHCE證書,這個是正途。

我想在我10年前的機器上跑linux(怎麼跟我的一樣舊)
  作者推薦了MEPISLite, 作者在自己800M Hz,128M記憶體的機器上執行的不亦樂乎。(問題是我的機器只有667M主頻,64M記憶體,10G硬碟), 如果你的機器跟我的一樣out of time, 做這推薦了Damn Small Linux, Zenwalk (aka Minislack), or Puppy,呵呵。

我想要一個功能強大的GNOME界面的linux
  還用說,Ubuntu

我要一個西班牙語的linux
  作者推薦了 Mandriva Linux 2006,因為這個版本有對西班牙語長期的支持。

我只是對linux好奇,想玩玩(中國大多數人比較適合)
  Xandros 3 Desktop. Ubuntu, OpenSUSE。

  詳見:http://www.desktoplinux.com/articles/AT3269115798.html
psac 目前離線  
送花文章: 3, 收花文章: 1625 篇, 收花: 3196 次
舊 2006-07-07, 11:57 PM   #5 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

桌面Linux標準出爐 學習Windows相容性

 自由標準組織(FSG)剛剛發佈了新的Linux Standard Base(LSB) 3.1標準,首次納入了對桌面Linux系統和程式的相容性規定。

  LSB的目的是基於標準化Linux操作系統核心模塊為Linux發行商制定一個統一的出發點。LSB致力於實現認證的簡單化和Linux的推廣,可使軟件開發人員製作的程式在所有LSB相容Linux發行版本中順利執行。

  各種版本的Linux互不相容是導致Linux無法佔據桌面操作系統市場主流的重要原因之一,而FSG認為這正是Windows的優勢所在,Linux在這方面需要向Windows學習。

  LSB 3.1還實現了KDE和GNOME兩種Linux圖形用戶環境的相容統一,即符合該標準的軟件可同時在兩種圖形環境下執行。

  FSG稱,LSB標準在桌面領域甚至要比在服務器領域更重要,因為它可以使軟件廠商徹底放開操作系統方面帶來的困擾,專心於軟件開發。

  IBM、HP、Novell、Red Hat、Sun、RealNetworks、Xandros、Debian、Ubuntu等一系列Linux發行商和軟件開發商都表示了對LSB 3.1標準的大力支持,並計劃推出相關產品,以此在桌面操作系統市場上挑戰微軟及其Windows。
psac 目前離線  
送花文章: 3, 收花文章: 1625 篇, 收花: 3196 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 11:15 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2019, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1