進階搜尋


 
系統識別號 U0026-0812200911432389
論文名稱(中文) 網路卸載引擎的設計與實作
論文名稱(英文) Design and Implementation of a Network Offload Engine
校院名稱 成功大學
系所名稱(中) 電腦與通信工程研究所
系所名稱(英) Institute of Computer & Communication
學年度 93
學期 2
出版年 94
研究生(中文) 余承燁
研究生(英文) Cheng-Yeh Yu
學號 q3692413
學位類別 碩士
語文別 英文
論文頁數 145頁
口試委員 指導教授-陳中和
口試委員-陳永福
口試委員-王俊堯
口試委員-蘇文鈺
中文關鍵字 網路協定  ICMP  ARP  IP  網路卸載引擎  TCP/IP 協定  TCP  使用者資料包協定  傳輸控制協定  網際網路控制訊息協定  位址解析協定  UDP 
英文關鍵字 Nios  ARP  SOPC builder  TCP  TCP/IP Offload Engine  SoC  TOE  TCP/IP  ICMP  IP  UDP 
學科別分類
中文摘要   在這篇論文裡,我們提出了一個在高速網路以及有限硬體資源下的嵌入式系統會遇到的效能問題,並設計了一個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.
論文目次 TABLE OF CONTENTS V
LIST OF FIGURES VIII
LIST OF TABLES XI
CHAPTER 1 INTRODUCTION 1
1.1 MOTIVATION 1
1.2 GOALS OF THE OFFLOAD ENGINE 3
1.3 CONTRIBUTION OF THIS THESIS 4
CHAPTER 2 RELATED WORK 6
2.1 ASIC WITH TCP/IP FUNCTIONS 6
2.1.1 An Open TCP/IP Core for Reconfigurable Logic [6] 6
2.1.2 WIZnet Inc. – i2Chip W3100A [7] 9
2.1.3 ConnectOne Co. – iChip Internet Controller [8] 10
2.2 NETWORK INTERFACE CONTROLLER WITH EMBEDDED SOFTWARE 11
2.2.1 eDevice Inc. 11
2.2.2 Alacritech Inc. –TOE Network Interface Controller [2] [10] 12
2.2.3 Xilinx Gigabit System Reference Design [11] 13
CHAPTER 3 ARCHITECTURE 15
3.1 DESIGN SPECIFICATION 15
3.1.1 From normal TCP/IP stack to system with off load engine 15
3.1.2 Address Resolution Protocol (ARP) 18
3.1.3 Internet Protocol 20
3.1.4 Internet Control Message Protocol 24
3.1.5 User Datagram Protocol 25
3.1.6 Transmission Control Protocol 27
3.1.7 System Overview 31
3.1.8 Logical View of the Design 34
3.1.9 Physical Block Diagram 37
3.2 THE DESIGN OF SUB-MODULES 39
3.2.1 Connection Control Information (CCI) 39
3.2.2 Data Buffer Management 42
3.2.3 Structure of Buffer tables 45
3.2.4 Inner Buses 48
3.2.5 The Arbiter 52
3.2.6 16-bit checksum module 54
3.2.7 ARP table and layer 4 connection control tables 57
3.3 PROTOCOL MODULES 58
3.3.1 CPU CCI-access modules 58
3.3.2 ARP modules 60
3.3.3 IP modules 61
3.3.4 ICMP modules 64
3.3.5 UDP modules 65
3.3.6 TCP modules 67
3.4 DATAFLOW 71
3.4.1 Receiving flow 72
3.4.2 Transmitting flow 74
3.5 SOFTWARE FOR THIS OFFLOAD ENGINE 76
3.5.1 MAC-receiving-a-frame interrupt service routine 76
3.5.2 RX-DMA-request (Offload Engine Rx done) ISR 79
3.5.3 Host-needs-transmit interrupt service routine 80
3.5.4 MAC TX (Offload Engine Tx done) interrupt service routine 82
CHAPTER 4 IMPLEMENTATION 83
4.1 SYSTEM OVERVIEW 83
4.2 WHAT ARE EXACTLY IMPLEMENTED 86
4.3 FPGA DEVELOPMENT ENVIRONMENT 88
4.3.1 Introduction to the Stratix PCI Development Kit 88
4.3.2 Nios Embedded Processor Design Tools 89
4.3.3 SOPC Builder 90
4.3.4 Software developing tools 93
4.4 SYNTHESIS RESULT 93
4.5 PERFORMANCE ESTIMATION 95
4.5.1 Receiving a bit stream of single TCP connection 96
4.5.2 Receiving frames with empty payloads 98
4.5.3 Receiving bit streams of multiple TCP connections 99
4.5.4 Transmitting a TCP bit stream of single TCP connection 99
4.5.5 Transmitting frames with empty payloads 101
4.5.6 Conclusion of the performance estimation 102
CHAPTER 5 TEST AND VERIFICATION 105
5.1 THE VERIFICATION PLAN 105
5.2 THE NETWORK ANALYZER 109
5.3 NETWORK PROGRAMS 111
5.3.1 Ping 111
5.3.2 Custom Programs 112
5.4 SIMULATION RESULT 114
CHAPTER 6 CONCLUSIONS AND FUTURE WORK 115
6.1 CONCLUSIONS 115
6.2 FUTURE WORK 115
REFERENCE 117
APPENDIX A: SELF-INTRODUCTION 119
APPENDIX B: A FRAMEWORK DESIGN OF A NETWORK OFFLOAD ENGINE USING QUEUE-BASED COMMUNICATION 120
參考文獻 [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.
論文全文使用權限
  • 同意授權校內瀏覽/列印電子全文服務,於2005-08-31起公開。
  • 同意授權校外瀏覽/列印電子全文服務,於2005-08-31起公開。


  • 如您有疑問,請聯絡圖書館
    聯絡電話:(06)2757575#65773
    聯絡E-mail:etds@email.ncku.edu.tw