跳到主要內容

臺灣博碩士論文加值系統

(18.97.14.80) 您好!臺灣時間:2024/12/08 23:04
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:陳為凡
研究生(外文):Wei-Fan Chen
論文名稱:針對Linux系統上使用者層級封包處理改進記憶體管理
論文名稱(外文):Improved Memory Management for User-level Packet Processing on Linux
指導教授:金仲達金仲達引用關係
指導教授(外文):Chung-Ta King
學位類別:碩士
校院名稱:國立清華大學
系所名稱:資訊工程學系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2007
畢業學年度:95
語文別:英文
論文頁數:48
相關次數:
  • 被引用被引用:0
  • 點閱點閱:212
  • 評分評分:
  • 下載下載:37
  • 收藏至我的研究室書目清單書目收藏:2
一個在使用者層級可編寫程式的路由(router)架構提供了更有彈性的路由功能開發環境,同時也便利網路研究者實驗新的想法,這個架構克服了傳統路由在擴充功能方面僅局限在核心的困難,新擴充的路由功能可以在此架構上動態的載入跟移除就像一般使用者層級上的應用程式一樣,這樣可以避免因程式錯誤而導致整個系統毀壞,但以此便利性做為交換我們卻必須容忍使用者層級跟核心間低效率的溝通,為了達到使用者層級封包處理的功能,轉送封包必須經過使用者空間,然而一般的作業系統為了保護系統安全在使用者空間跟核心間有極大的安全限制,雖然應用程式能透過應用程式界面 (e.g. Linux BSD) 來達到此一要求,但卻必須付出過多的代價—使用者空間跟核心之間低效能的傳輸—這樣不僅不適用在網路功能更會為整個系統帶來極大的負擔,在一個收取封包高峰時間,有可能導致系統因反應過慢而丟棄後續的封包,最後演變成系統陷於活鎖(Livelock)現象,為了提供使用者層級封包處理的方便性又不發生上面提及的缺點,我們修改了系統核心來提供記憶體重新映對(memory remapping)跟一個新的sk_buff 結構配置功能來管理我們的網路記憶體,同時我們也試著去控制中斷(interrupt)機制來改善活鎖現象。
An user-level programmable router architecture supports flexible programmability of router functions and facilitates network researchers to experiment with new ideas. This architecture conquers the inflexibility of traditional router that extends its functions only within kernel. New extended functions are executed like user-level applications that are loaded on this platform dynamically, so no program errors will crash the whole system like only-kernel extensible router do. The trade-off to these flexibilities is the lower performance of user-level and kernel communication. To achieve user-level packet processing functions, the packet user space traveling is required. As everyone knows, there is a strict discrimination between kernel and user space to protect system. Though, with the help of application interface (e.g. BSD), user-level applications can get another duplication of forward packet that. This time-consuming method does not suit network service. Moreover, the router are always flooded by a burst of traffic, it is possible that the all packets are dropped because of the system cant respond in time. Under this condition, the system easily suffers from Livelock that make on progress. In order to building a user-level programmable router without the defects mentioned above. We modified the kernel that supports memory-remapping mechanism to eliminate data copy and provides a new skb allocation/deallocation for network memory management. Our work also tries to improve Livelock problem by control interrupt.
Abstract
Contents
List of Figures and Tables
Chapter 1 Introduction
Chapter 2 Problem Identification
2.1 Forwarding Path—From Memory View
2.2 Forwarding Path—From queue view
2.3 Solution
Chapter 3 Overview of Modified Kernel
3.1 Skb-handler Module
3.2 Netfilter/ip_queue
3.3 Application
Chapter 4 System Implementation
4.1 Implement of Skb-handler module
4.2 Set of Packet Filter
4.3 Modification of Libipq/ip_queue
4.4 Implementation of User-space Application
Chapter 5 Background knowledge
5.1 Linux memory system
5.2 structure sk_buff
5.3 Netfilter/iptables
5.4 Virtual Memory Area
5.5 Ip_queue
5.6 Interrupt and Bottom Hsalves
5.7 Adding a System Call
Chapter 6 Experiment
6.1 Measurement Methodology
6.2 skb-hanlder performance
6.3 User-level Packet Processing Peroformance
6.4 Control Globe interrupt at point TWO
6.5 Control NIC interrupt at point TWO
6.6 Control NIC interrupt at point THREE
6.7 Summary
Chapter 7 Conclusion
Reference
[1] Li, P., Ravindran, B., 2002. “Proactive QoS negotiation in asynchronous real-time distributed systems.” Journal of Systems and Software (December).
[2] Striegel, A., Manimaran, G., 2003. “Dynamic class-based queue management for scalable media servers.” Journal of Systems and Software 66(2).
[3] Sun, H., Lui, J.C.S., Yau, D.K.Y., 2004. “Defending against low-rate TCP attack: dynamic detection and protection.” In: IEEE International Conference on Network Protocols (ICNP), Berlin, Germany, October.
[4] Vaughn, R., Ronda, H., Kevin, F., 2002. “Network Security with OpenSSL. O’Reilly & Associates.”
[5] http://www.napster.com/
[6] http://www.gnutella.com/
[7] Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek.
“The Click modular router.” ACM Trans. on Computer Systems, 18(3):263–297, August 2000.
[8] A. B. Montz, D. Mosberger, S. W. O’Malley, L. L. Peterson, T. A. Proebsting, and J. H. Hartman. “Scout: A communications-oriented operating system.” Technical report. Department of Computer Science, University of Arizona, June 1994.
[9] Ben C.B. Chan, John C.F. Lau, John C.S. Lui. “OPERA: An open-source extensible router architecture for adding new network services and protocols.” The Journal of Systems and Software, January 2005.
[10] Mogul, J. and K. Ramakrishnan, K. "Eliminating Receive Livelock in an Interrupt-driven Kernel". USENIX Annual Technical Conf. (January 1996).
[11] D. C. Schmidt and T. Suda, "Transport System Architecture Services for High-Performance Communications Systems," IEEE JSAC, vol. 11, no.4, May 1993, pp. 489--506.
[12] http://www.vijaymukhi.com/vmis/ip.htm
[13] LINUX DEVICE DRIVERS, 3rd edition. Jonathan Corbet, Alessandro Rubini & Greg Kroah-Hartman.
[14] http://www.netfilter.org/
[15] M. Rio, M. Goutelle, T. Kelly, R. Hughes-Jones, J.P. Martin-Flatin and Y.T. Li, "A Map of the Networking Code in Linux Kernel 2.4.20", Technical Report DataTAG-2004-1, FP5/IST DataTAG Project, March 2004.
http://datatag.web.cern.ch/datatag/papers/tr-datatag-2004-1.pdf
[16] Prashant Pradhan, Srikanth Kandula, Wen Xu, Anees Shaikh, Erich Nahum: Daytona: A User-Level TCP Stack,
http://nms.lcs.mit.edu/~kandula/data/daytona.pdf.
[17] David Ely, Stefan Savage and David Wetherall. “Alpine: A User-Level Infrastructure for Network Protocol Development.” In Proceedings of the 3rd USENIX Symposium on Internet Technologies and Systems, San Francisco, California, USA, March 2001.
[18] S. J. Leffler,M.McKusick,M. Karels, and J.Quarterman, The Design and Implementation of the 4.3BSD UNIX Operating System. Addison-Wesley, 1989.
[19] Sun Microsystems, Network Interfaces Programmer’s Guide, Chapter 6 (TLI Interface) ed., 1992.
[20] http://tldp.org/HOWTO/Traffic-Control-HOWTO/index.html
[21] http://www.osdl.org/lab_activities/carrier_grade_linux
[22] Linux Kernel Development, Second Edition. Robert Love.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
無相關論文