DOI QR코드

DOI QR Code

eFlowC: A Packet Processing Language for Network Management

eFlowC : 네트워크 관리를 위한 패킷 처리 언어

  • Ko, Bang-Won (Dept. of Computer Science, Soongsil University) ;
  • Yoo, Jae-Woo (Dept. of Computer Science, Soongsil University)
  • Received : 2013.12.12
  • Accepted : 2014.01.11
  • Published : 2014.01.29

Abstract

In this paper, we propose a high-level programming language for packet processing called eFlowC and it supporting programming development environment. Based on the C language which is already familiar and easy to use to program developers, eFlowC maintains the similar syntax and semantics of C. Some features that are unnecessary for the packet processing has been removed from C, eFlowC is highly focused on performing packet data, database, string byte information checking and event processing. Design high-level programming languages and apply an existing language or compiler technology, language function and compilation process that is required for packet processing will be described. In order to use the DPIC device such as X11, we designed a virtual machine eFVM that takes into account the scalability and portability. We have evaluated the utility of the proposed language by experimenting a variety of real application programs with our programming environment such as compiler, simulator and debugger for eFVM. As there is little research that devoted to define the formats, meanings and functions of the packet processing language, this research is significant and expected to be a basis for the packet processing language.

본 연구는 패킷 처리를 위한 고급 프로그래밍언어 eFlow를 제안하고 이를 지원하는 개발환경을 구현한다. 또한 개발자들이 가장 익숙하고 배우기 쉬운 C 언어를 기반으로 하여 C 언어의 문법과 의미를 유지하면서, 패킷 처리에 불필요한 기능들을 제거하고 패킷 처리에 필요한 패킷 데이터, 데이터베이스 및 스트링 바이트 정보 검사, 이벤트 처리 등을 수행하기 위한 고급 프로그래밍 언어를 설계하고, 기존의 언어나 컴파일러 기술을 적용하면서 패킷 처리를 위해 필요한 언어의 기능과 컴파일 과정을 설명한다. X11 등과 같은 DPIC 장비에 활용하기 위해 이식성과 확장성을 고려한 가상 기계인 eFVM을 설계하고, 이를 위한 컴파일러와 시뮬레이터 및 디버거와 같은 개발 환경을 갖추어 실제 많이 사용되고 있는 다양한 응용 프로그램을 실험하여 제안한 언어의 효용성을 평가하고 있다. 패킷 처리를 위해 갖추어야 할 고급 언어의 기능과 형식 및 그 의미를 정의한 연구가 거의 없이 이루어진 실험에 의의가 있다.

Keywords

References

  1. A.V.Aho, M.S.Lam, R.Sethi, J.D.Ullman, "Compilers Principles, Techniques and Tools", Addison-Wesley, 2007.
  2. M.Baldi, F.Risso, "A Framework for Rapid Development and Portable Execution of Packet -Handling Applications", Signal Processing and Information Technology, pp.233-238, 2005.
  3. CloudShield Technologies Inc., "PacketWorksTM Integrated Development Environment", CloudShield, 2007.
  4. CloudShield Technologies Inc., "PacketC Unleashed", CloudShield, 2008.
  5. S. Dharmapurikar, P. Krishnamurthy, T. Sproull, and J. W. Lockwood, "Deep Packet Inspection Using Parallel Bloom Filters", Hot Interconnects 11(HotI), pp.44-51, Stanford, CA, USA, Aug. 2003.
  6. L.Degioanni, M.Baldi, D.Buffa, F.Risso, F.Stirano, G.Varenni, "Network Virtual Machine(NetVM): A New Architecture for Efficient and Portable Packet Processing Applications", Proceedings of the 8th International Conference on Telecommunications, pp.163-168, 2005.
  7. R.Duncan and P.Jungck, "PacketC Language for High Performance Packet Processing", Proceedings of the 11'th IEEE International Conference on High Performance Computing and Communications, Seoul, Korea, pp. 450-457, June 2009.
  8. R.Duncan, P.Jungck and K.Ross, "PacketC Language and Parallel Processing of Masked Databases," Proceedings of the 2010 International Conference on Parallel Processing, pp. 472-481, 2010.
  9. R.Duncan, P.Jungck, K.Ross and S.Tillman, "Packet Content Matching with packetC Searchsets", Proceedings of the International Conference on Parallel and Distributed Systems, 2010.
  10. B. Gatliff, "Embedding with GNU : GNU debugger", Embedded Systems Programming, 1999
  11. B.W. Kernighan, D. M.Ritchie, "The C Programming Languages", Prentice-Hall, 1988.
  12. Kevin R. Fall, W. Richard Stevens, "TCP/IP illustrated volume 1", Addison-Wesley, 2011.
  13. S.P, Harbisonn G.L, Steele Jr., "C: A REFERENCE MANUAL", Tartan Inc., 1995.
  14. B. L, Kurtz, "Formal Syntax and Semantices of Programming Language", Louisiana Tech University, 1995.
  15. O.Morandi, F.Risso, Pierluigi, Rolando, S.Valenti, P.Veglia, "Creating Portable and Efficient Packet Processing Applications", Creating Portable and Efficient Packet Processing Applications, pp.51-85, Mar. 2011.
  16. H. Park ,D. Xu, J.Park, J.H.Ji, G.Woo "Design of On -Chip Debug System for embedded processor," Procedeeings of 2008 SoC Design Conference, Dept. of Electron. Eng., Pusan Nat. Univ. 2008.
  17. R.Stallman, R.Pesch, S.Shebs, "GNU User Manual: Debugging With GDB (TheGNU Source-level Debugger)", GNU Presss, 2002
  18. Xelerated, "Xelerator X11 Network Processor User's Guide Part1-Programmable Pipeline", Xelerated Inc., 2010.
  19. Y.R. Kang, "Internet Traffic Control and DPI", KISDI, Vol. 25(8), pp.23-48, May. 2013.
  20. D.Y. Kim, H.Y. Cho, "Technology of Security Engine Based on Hardware", ICAT 2003, Apr. 2003.
  21. S.Y. Shin, D.H. Kang, K.Y. Kim, J.S. Jang, "Analysis of DPI Technology", Electronics and Telecommunications Trends, Vol. 19(3), pp.117-124, 2004. 06
  22. C.W. Yoo, BangWon Ko, "A Study on the Application Development Environment and Simulator Architecture of High Speed In-line Network Computing", Final Report, ETRI, 2012