| 研究生: |
胡英漢 Hu, Yin-han |
|---|---|
| 論文名稱: |
微核心作業系統TCP/IP網路通訊協定之實作 The Implementation of TCP/IP Network Protocols in a Microkernel Operating System |
| 指導教授: |
陳 敬
Chen, Jing |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2007 |
| 畢業學年度: | 95 |
| 語文別: | 中文 |
| 論文頁數: | 85 |
| 中文關鍵詞: | 實作 、TCP/IP網路通訊協定 、微核心作業系統 |
| 外文關鍵詞: | TCP/IP network protocols, microkernel operating system, implementation |
| 相關次數: | 點閱:90 下載:3 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文研究並實作一個以微核心(Micro-kernel)作業系統為基礎架構之網路連線通訊模組,目的在於提供以TCP/IP通訊協定進行網路連線之通訊功能,使微核心作業系統使用者可以使用此功能與網路上之節點進行通訊。本論文實作的重點是:微核心作業系統架構下之網路模組,此模組之組成包含:網路管理模組(Network manager)、TCP/IP網路通訊協定(Network protocols)及提供應用程式網路通訊功能之socket函式庫(socket library)。
本論文實作之網路模組支援五種常用的TCP/IP網路通訊協定,分別是:IP、ARP、ICMP、UDP以及TCP等通訊協定,此外也支援應用程式常用的socket函式,實作17個socket相關函式供使用者開發使用網路連線通訊之程式使用。經過測試之後,各通訊協定皆可順利與網路上各節點進行通訊,並可使用socket函式庫撰寫網路應用程式使用網路通訊協定進行通訊。
網路通訊功能在應用廣泛的嵌入式系統世界中已成為不可或缺的功能之一,因此本論文實作之目的在於提供微核心作業系統有效率與可靠的網路功能。微核心作業系統架構下,網路模組可由軟體開發人員或使用者依需要開發或組態配置,本實作可作為系統開發者另一個解決方案的選擇。
This thesis presents the implementation of a network module in a microkernel operating system. The goal of this thesis is to provide the microkernel operating system the capability of communicating with other nodes on Internet through TCP/IP network protocols. The implementation includes a network module which consists of a network manager and TCP/IP network protocols, and a socket library.
The network module designed and implemented in this thesis is independent of other modules in the microkernel operating system architecture. It operates with applications and the microkernel through message passing. It supports five popular TCP/IP network protocols namely IP, ARP, ICMP, UDP, and TCP. The implementation of the socket function library consists of 17 popular socket functions which can be used in developing network related application programs. From the testing for the functional correction and performance, satisfactory results are observed.
The functionality of network communication is becoming indispensable for modern embedded system products especially in comsumer electronics market. This implementation attempts to achive an efficient and reliable network module in a microkernel operating system. The network module is separated from the microkernel and other modules in the system. Its code size of 105K bytes is relative small. It can be ported to other platform without much effort. Therefore, this implementation provides another choice for developing network software in embedded systems.
[1] “QNX Software Systems – Microkernel Architecture”, http://www.qnx.com/tech_highlights/microkernel/.
[2] “Introduction to the Network Subsystem”, http://www.qnx.com/developers/docs/momentics621_docs/ddk_en/network/.
[3] “Minix3”, http://www.minix3.org/.
[4] “Minix network service documentation”, http://www.os-forum.com/minix/net/.
[5] Adam Dunkels, “Design and Implementation of the lwIP TCP/IP stack”, http://www.sics.se/~adam/lwip/doc/lwip.pdf.
[6] Adam Dunkels, “Minimal TCP/IP implementation with proxy support”, Master thesis, Swidish Institute of Computer Science, Sweden, February, 2001.
[7] Gary R.Wright, W. Richard Stevens, “TCP/IP Illustrated, Volume II: The implementation”, Addison Wesley, 1995, ISBN: 0-201-6354-X.
[8] Jon Crowcroft, Iain Phillips, “TCP/IP and Linux Protocol Implementation” WILEY, 2002, ISBN: 0-471-40882-4.
[9] Andrew S.Tanenbum, Albert S. Woodhull, “Operating Systems – Design and Implementation”, 2nd edition, Prentice Hall, 1997, ISBN:0136301959.
[10] Andrew S.Tanenbum, Albert S. Woodhull, “Operating Systems – Design and Implementation”, 3rd edition, Prentice Hall, 2006, ISBN: 0131429388.
[11] ARM, “ARM Architecture Reference Manual”, ARM Doc. NO.: DDI-0100E.
[12] R. Bradenm, “RFC1122 Requirements for Internet Hosts-Communication Layers”, Internet Engineering Task Force, 1989.
[13] “DSPLinux”, http://www.cadenux.com/ridgerun.
[14] John L. Hennessy, David A. Patterson, “Computer Architecture – A Quantitative Approach”, 3rd edition, Morgan Kaufmann, 2003, ISBN: 1-55860-596-7.
[15] Texas Instruments, “TMS320DM270 CPU and Peripherals Technical Reference Manual Version 1.1”.
[16] Bechrouz Foronzan, “TCP/IP Protocol Suite”, McGraw-Hill, 2000, ISBN: 0-256-24166-X.
[17] Douglas E. Comer, “Internetworking With TCP/IP Volume I; Principles, Protocols, And Architecture”, 2nd Edition, Prentice Hall, 1991, ISBN: 957-652-525-X.
[18] C. Mani Krishna, Kang G. Shin, “Real-time systems”, McGraw-Hill, 1997, ISBN: 0-07-114243-6.
[19] CIRRUS LOGIC Inc, “CS8900A Product Data Sheet”, NO.: DS271PP3, 1999.
[20] David C. Plummer, “An Ethernet Address Resolution Protocol”, RFC826, Internet Engineering Task Force, 1982.
[21] J. Postel, “Internet Control Message Protocol”, RFC792, Internet Engineering Task Force, 1981.
[22] J. Postel, “Internet Protocol”, RFC791, Internet Engineering Task Force, 1981.
[23] J. Postel, “User Data Protocol”, RFC768, Internet Engineering Task Force, 1980.
[24] J. Postel, “Transmission Control Protocol”, RFC793, Internet Engineering Task Force, 1981.
[25] 洪文彬, “嵌入式微核心系統之設計與實作”, 碩士論文, 國立成功大學, 六月, 2005.
[26] 莊哲維, “移植 Linux IPv4 通訊協定組於 Lyra 作業系統”, 碩士論文, 國立交通大學, 六月, 2000.
[27] 李昀宸, “LyraNET:嵌入式系統之有效率的TCP/IP通訊協定”, 碩士論文, 暨南國際大學, 六月, 2005.
[28] Mei-Ling Chiang and Yun-Chen Lee (2005), “LyraNET: A Zero-Copy TCP/IP Protocol Stack for Embedded Systems," Real-Time Systems, Vol. 34, No. 1, pp. 5-18, Sep. 2006.
[29] 徐千洋, “Linux C 函式庫參考手冊”, 旗標出版股份有限公司出版, 2001, ISBN: 957-717-711-5.
[30] Sean Walton, “Linux Socket Programming”, Sams, 2001, ISBN: 672319357.
[31] 洪文彬, 歐旭江, 陳敬, “異質性多處理器嵌入式系統平台架構設計”, 數位生活與網際網路科技研討會, 台灣, 2005.
[32] “Linux”, http://en.wikipedia.org/wiki/Linux.
[33] “ARPANET”, http://en.wikipedia.org/wiki/ARPANET.
[34] “BSD socket”, http://en.wikipedia.org/wiki/BSD_socket.
[35] Jeremy Bentham, “TCP/IP lean”, 2nd edition, CMP books, 2003, ISBN: 157820108X.
[36] “Ethereal”, http://www.ethereal.com/.
[37] 黃俊堯, 黃耀文, 許景華, 陳孝忠, “WinSock網路程式設計之鑰”, 資訊人文化事業出版, 1996, ISBN: 957-98892-L-X.
[38] “Windows mobile”, http://en.wikipedia.org/wiki/Windows_Mobile.
[39] “PalmOS”, http://en.wikipedia.org/wiki/Palm_os.
[40] “Symbian”, http://en.wikipedia.org/wiki/Symbian.
[41] “TCP/IP”, http://en.wikipedia.org/wiki/TCP_IP.
[42] “DUP ack”, http://www.wireshark.org/lists/wireshark-users/200706/msg00013.ht
ml.