網路編碼技術(Network Coding)已經被許多研究證實能改善無線網路效能。網路編碼技術將原始的封包利用線性組合(Linear Combination)的方式加以編碼後傳送。接收端只要利用接收到或聽到的封包資訊,即可還原原先所要接收的資料。網路編碼技術更可以進一步結合中繼傳播技術(relay forwarding),使得在較糟的無線網路傳輸環境中,網路傳輸封包的效能能更加提升。上述的主題在近期已成為熱門的研究議題,許多學者利用網路編碼技術及中繼傳播技術開發出不同的方法及應用增進網路的功效。然而,大多數的研究都只進行分析及模擬,只有極少數的研究者在現實平台上實作所開發的機制。本篇論文將焦點鎖定於第二層中繼傳播技術輔助之網路編碼(Relay-Assisted Network Coding, RANC)。利用Linux無線網路系統及ath9k無線區域網路網卡驅動程式,我們實作出此一整合技術並提供一個開放的平台供未來的研究人員實作開發的技術,同時也可以利用此一平台對新技術進行現實生活中的實驗與驗證。
It has been shown that exploiting either network coding or opportunistic relaying in wireless networks can improve network performance and leveraging both network coding and opportunistic retransmission brings more benefits. However, related works evaluate the benefits by numerical analyses and simulation; only very few of them do the real experiment and verification. In this thesis, we focus on relay-assisted network coding (RANC) automatic repeat request (ARQ) which is a link-layer technique combining opportunistic relaying and network coding. We develop ranc80211, an implementation of RANC ARQ on Linux platform with the ath9k driver for Atheros IEEE 802.11 wireless network interface cards. This implementation is a step for researchers to develop and integrate new mechanisms on RNAC ARQ systems and can be used for real world experiments.