| 研究生: |
余承燁 Yu, Cheng-Yeh |
|---|---|
| 論文名稱: |
網路卸載引擎的設計與實作 Design and Implementation of a Network Offload Engine |
| 指導教授: |
陳中和
Chen, Chung-Ho |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2005 |
| 畢業學年度: | 93 |
| 語文別: | 英文 |
| 論文頁數: | 145 |
| 中文關鍵詞: | 網路協定 、ICMP 、ARP 、IP 、網路卸載引擎 、TCP/IP 協定 、TCP 、使用者資料包協定 、傳輸控制協定 、網際網路控制訊息協定 、位址解析協定 、UDP |
| 外文關鍵詞: | Nios, ARP, SOPC builder, TCP, TCP/IP Offload Engine, SoC, TOE, TCP/IP, ICMP, IP, UDP |
| 相關次數: | 點閱:172 下載:4 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在這篇論文裡,我們提出了一個在高速網路以及有限硬體資源下的嵌入式系統會遇到的效能問題,並設計了一個TCP/IP處理模組,TCP/IP卸載引擎(TCP/IP Offload Engine, TOE)。此模組可以應用在SoC系統或是強化的網路卡中,並取代以CPU執行程式來處理網路封包的方案,使用特定功能積體電路來做封包標頭的處理。目前的設計以實現簡單標頭處理的硬體為主,需要輔以適當韌體及DMA做資料的搬移與緩衝區管理。此處理模組的特色有
1.擁有三大功能:ping request/ reply、UDP connection 和TCP connection。
2.實現ARP、IP、ICMP、UDP、以及TCP的標頭處理模組。
3.硬體TCP/UDP連線管理機制(8 concurrent connections)。
4.利用額外的硬體在搬移資料時計算IP 標頭檢查和第四層的檢查和。
由於TCP/IP模組的複雜以及龐大,在撰寫此篇論文時,此設計的實作並沒有完全。但TOE模組的架構以及資料管理的機制已實作完畢,只缺少第四層處理模組的實作。本論文也利用Altera PCI Development Kit的發展環境建構了一個應用此TOE模組的SoC系統,並評估系統實現後預期的效能以及可以改進的空間。效能評估的計算顯示,只要系統運作在高於14.7MHz的時脈下,便可以達到100Mbps wire-speed的網路速度;而Altera Quartus II的時序分析(timing analysis)顯示此TOE模組可以達到的最高時脈是49MHz。
This thesis addresses the design of a TCP/IP hardware module which can be used in an SoC system or an enhanced Network Interface Controller (NIC). The present implementation uses a state machine-based design which performs limited TCP/IP functions along with the required firmware for data movement and buffer management. There are several features of this design.
1.Three main functions:Ping request/ reply, UDP connection, and TCP connection management.
2.Header processing modules for ARP, IP, ICMP, UDP, and TCP protocols are implemented in hardware.
3.The design is capable for 8 concurrent UDP/ TCP connection management.
4.A bypass circuit is used to handle the IP header checksum and layer 4 checksum, including verification for receiving
datagrams and checksum calculation for transmitted datagram.
However, at the time of writing this thesis, the implementation is not fully accomplished. The design of the whole Offload Engine is implemented except for the layer 4 processing modules. An SoC system is made by the Altera PCI Development Kit to test the Offload Engine. The performance estimation shows that the system can process 100Mps network packets in wire-speed if the clock rate is greater than 14.7 MHz. The timing analysis shows that the clock rate of the implementation can be set to 49MHz.
[1] Neal Bierbaum, Sandia National Laboratories, Livermore, CA, “MPI and Embedded TCP/IP Gigabit Ethernet Cluster
Computing,” IEEE Conference on Local Computer Networks 2002.
[2] Lanrence B. Boucher, Stephen E. J. Blightman, Peter K Craft, David A Higgen, Clive M. Philbrick, Daryl D. Starr,
Alachritech, Inc. “TCP/IP Offload Network Interface Device,” United States Patent US 00434620B1,
[3] Krishna Kant, “TCP Offload Performance for Front-end Servers”, GlobeCom 2003
[4] Christophoros Kachris, Apostolos Dollas, Michalis Paterakis, Dionisios Pnevmatikatos, ”Design and Implementation of a
TCP/IP core for reconfigurable logic,” Thesis of Electronics and Computer Engineering Department, Technical University of
Crete, July 2001.
[5] Roland Westrelin, Nicolas Fugier, Erik Nordmark, Kai Kunze, Eric Lemoine, “Study Network Protocol Offload With
Emulation: Approach and Preliminary Results,” Sun Microsystems, Inc.
[6] Apostolos Dillas, Ioannis Ermis, Iosif Koidis, Ioannis Zisis, Christopher Kachris, “An Open TCP/IP Core for
Reconfigurable Logic,” new OPENCORES project, available: www.mhl.tuc.gr/research/publications/2005/DOLLAS_TCP_POSTER_83.pdf
, February 2005.
[7]“i2Chip W3100A Technical Datasheet v1.33,” Wiznet, co., available: http://www.wiznet.co.kr/, July 2005.
[8]“Whitepaper for iChip and the Internet Protocols,” ConnectOne, co., available: http://www.connectone.com/index.htm,
September 2004.
[9]“SmartStack for Ethernet,” eDevice, inc., available: http://www.edevice.com/content/solution/mainethr.htm, 2005.
[10] Lanrence B. Boucher, Stephen E. J. Blightman, Peter K Craft, David A Higgen, Clive M. Philbrick, Daryl D. Starr,
Alachritech, Inc. “Fast-path Apparatus for Receiving Data Corresponding to a TCP Connection,” United States Patent US
006591302B2.
[11]“Xilinx Gigibit System Reference Design,” Xilinx, Inc., available:
http://www.xilinx.com/esp/wired/optical/collateral/gsrd_ss.pdf, 2004.
[12] J. Postel, “User Datagram Protocol specification,” RFC 768, available: http://rfc.net/rfc768.html, 28 August 1980.
[13] Information Sciences Institute, University of Southern California, “Internet Protocol,” RFC 791, available:
http://rfc.net/rfc791.html, September 1981.
[14] J. Postel, “Internet Control Message Protocol,” RFC 792, available: http://rfc.net/rfc792.html, September 1981.
[15] Information Sciences Institute, University of Southern California, “Transmission Control Protocol Specification,” RFC
793, available: http://rfc.net/rfc793.html, September 1981.
[16] David C. Plummer, “Ethernet Address Resolution Protocol,” RFC 826, available: http://rfc.net/rfc826.html, November
1982.
[17] Behrouz A. Forouzan, Sophia Chung Fegan, ”TCP/IP Protocol Suite,” ISBN 0-07-119962-4
[18] Juan M. Sola-Sloan, Isidoro Couvertier Ph.d, University of Puerto Rico, “A parallel TCP/IP Offload Engine Framework
for a TOE device,” Society for Computer Simulation, 2003.
[19] Li Zhao, Ramesh Illikkal, Srihari Makineni, Laxmi Bhuyan, “TCP/IP Cache Characterization on Commercial Server
Workloads” In Proc. Seventh Workshop on Computer Architecture Evaluation using Commercial Workloads, February 2004.