$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

[국내논문] 미들박스 서비스를 위한 전용 소프트웨어 플랫폼과 네트워크 기능 가상화 원문보기

정보와 통신 : 한국통신학회지 = Information & communications magazine, v.31 no.6, 2014년, pp.32 - 38  

박경수 (카이스트 전기 및 전자공학과)

초록
AI-Helper 아이콘AI-Helper

소프트웨어기반의 네트워크 미들박스 시스템은 특정 하드웨어의 종속성을 탈피하고, 다양한 여러 기능을 유연하게 제공할 수 있는 장점이 있어 최근 큰 각광을 받고 있다. 더욱이 최근 멀티코어 및 매니코어 프로세서의 발전 및 큰 대역폭을 지원하는 네트워크 카드의 등장은 저렴한 범용 컴퓨팅 하드웨어 기반에서도 높은 성능의 미들박스 서비스를 소프트웨어만으로 쉽게 제공할 수 있는 가능성을 보여주고 있다. 하지만 기존의 소프트웨어기반 네트워크 미들박스 시스템 개발에서 쓰이는 네트워킹 소프트웨어 스택은 여러 미들박스 서비스를 쉽게 만들고 유지하기에 불편한 점이 많이 있다. 첫째로, 리눅스(Linux)와 같은 범용 운영체제는 버클리 소켓(Berkeley socket)과 같이 엔드 노드를 위한 네트워킹 스택을 지원하는 반면 네트워크 미들박스 서비스 제작을 위한 전용 스택은 지원하지 않고 있다. 이로 인해 미들박스에서 많이 쓰는 플로 관리 같은 기능을 IP 패킷처리부터 새로 구현해야 하는 부담이 생긴다. 두번째로, 전용 스택의 부재는 같은 기능을 갖는 여러 미들박스 서비스가 공존할 때에도 그 구현을 공유하지 못하는 문제를 만들어 낸다. 또, 여러 미들박스 서비스가 하나의 물리적 하드웨어 위에서 수행될 경우에도 인터페이스가 일정하지 않아 같은 연산을 중복 수행해 자원 낭비를 초래한다. 본 논문에서는 차세대 소프트웨어기반 미들박스 서비스 설계 및 제작을 용이하게 하기 위한 전용 소프트웨어 스택의 필요성을 알아보고, 이런 전용 스택이 만들어 낼 수 있는 여러 가능성을 짚어본다.

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 이 모든 문제점들은 소프트웨어 기반 미들박스 구현을 위한 전용 네트워킹 스택이 없다는 데에 기인한다. 본 논문에서는 소프트웨어 기반 미들박스 설계 및 구현을 위한 공통 개발 플랫폼의 역할과 방향성을 모색해 본다. 소프트웨어 기반 미들박스 제작은 최근 소프트웨어 정의 네트워킹 (Software-defined networking)과 네트워크 기능 가상화 (Network functions virtualization) 라는 네트워크 관리의 새로운 경향과 맞물려 학계/산업계 모두가 크게 주목하고 있는 화두이다.
  • 본 논문은 우선 기존 미들박스 설계 및 구현과정을 살펴보고, 개발과정의 문제점들을 조명해 본 후, 이를 극복할 수 있는 열린 소프트웨어 스택 (open software stack)에 기초한 미들박스 제작 및 이를 위한 시스템 구조에 대해서 논의한다.
  • 본 논문의 기본 주장은 엔드 노드에서 활용하는 버클리 소켓과 같은 표준 인터페이스를, 패킷 또는 플로 처리를 주로 하는 네트워크 미들박스에도 적용하자는 데 있다. 공통 네트워킹 및 자원관리 인터페이스와 공유 가능한 모듈들의 조합을 통해 복잡한 미들박스도 쉽게 만들 수 있도록 하고, 이미 알려진 최적화 기법을 공통으로 적용해 최소한의 노력으로 고성능 미들박스 시스템을 만들 수 있는 플랫폼을 지원하는 것이 본고의 핵심 주장이다.
  • 본 섹션에서는 네트워크 미들박스 구현에 주로 쓰이는 네트워킹 스택 및 운영체제상 지원에 대해 알아보고, 미들박스 타입에 따른 개발상의 문제점을 알아본다.
  • 이런 다양한 이벤트에 맞춰 미들박스 프로세싱을 지원하기 위해 본고에서는 미들박스 를 위한 유저 정의 이벤트라는 개념을 제안한다. 기존 select() 또는 epoll()과 같은 함수를 사용하는 이벤트 기반 소켓 프로그래밍에서의 이벤트는 read, write, exception1등과 같이 관심이 있는file descriptor와 연관되어 있는 TCP buffer의 상태 변화 (readable or writable) 이벤트 (혹은 각종 에러 상태)에만 초점을 맞춘다.
  • 하지만 현재의 미들박스 시스템 설계/구현은 각각 수직적으로 분리되어 있어 같은 기능도 서로 다르게 구현되고, 하나의 시스템에서 해결된 문제도 다른 시스템으로 쉽게 전파하지 못하는 문제점이 있다. 이에 본 논문은 소프트웨어 기반 미들박스가 공통으로 쓸 수 있는 전용 미들박스 네트워킹 스택을 만들 것을 주장하고, 이에 대한 요구 사항을 정리해 보았다. 미들박스 전용 네트워킹 스택은 버클리 소켓과 같이 잘 정리된 API를 제공하며, 이벤트 기반 프로그래밍을 효율적으로 지원하여야 한다.
  • 유저 정의 이벤트의 궁극적인 목표는 플로 프로세싱과 미들박스 처리를 분리하여 개발자로 하여금 플로 프로세싱 보다는 미들박스 서비스 고유의 연산들에 초점을 맞추도록 함에 있다. 즉 공유할 수 있는 모듈들을 최대한으로 늘여 여러 미들박스 지원을 하는 데 목적이 있다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
네트워크 미들박스란 무엇인가? 네트워크 미들박스 (middlebox) 란 네트워크 안에서 IP 패킷 포워딩 및 라우팅을 제외한 여러 부가적인 네트워크 기능들을 중간에서 도와주는 시스템을 말한다. 미들박스의 종류에는 Network Address Translator (NAT), 방화벽 (Firewall), 침입탐지시스템 (IDS/IPS), 부하 분산기 (Load balancer), WAN 가속기 및 각종 성능 향상을 위한 프락시등 많은 종류가 있으며, 큰 회사나 학교 캠퍼스에서 쓰는 미들박스의 수는 이미 라우터의 개수보다 많을 만큼 미들박스 서비스는 네트워크 깊숙이 침투해 있다[12].
미들박스의 종류에는 어떤 것이 있는가? 네트워크 미들박스 (middlebox) 란 네트워크 안에서 IP 패킷 포워딩 및 라우팅을 제외한 여러 부가적인 네트워크 기능들을 중간에서 도와주는 시스템을 말한다. 미들박스의 종류에는 Network Address Translator (NAT), 방화벽 (Firewall), 침입탐지시스템 (IDS/IPS), 부하 분산기 (Load balancer), WAN 가속기 및 각종 성능 향상을 위한 프락시등 많은 종류가 있으며, 큰 회사나 학교 캠퍼스에서 쓰는 미들박스의 수는 이미 라우터의 개수보다 많을 만큼 미들박스 서비스는 네트워크 깊숙이 침투해 있다[12]. 미들박스 시스템은 종종 네트워크에서 흘러 다니는 트래픽의 내용물을 중간 노드에서 변경하기 때문에, 트래픽 전송이 투명하지 못한 문제를 만들 수 있고, 그런 경우 디버깅도 쉽지 않은 단점을 초래한다.
여러 개의 미들박스 서비스를 하나의 물리적 머신에서 제공하는 통합 추세의 예로 어떤 것이 있는가? 최근 미들박스 서비스는 여러 개의 서비스를 하나의 물리적 머신에서 제공하는 통합 추세를 보이고 있다. 예를 들어, 차세대 방화벽 (Next Generation Firewall, NGFW)은 기존의 방화벽, IDS/IPS, VPN같은 여러 미들박스 기능을 하나의 물리적 머신에서 통합 제공하고 있다. 이처럼 여러 미들박스 서비스를 하나의 머신에서 제공하는 이유는 첫째, 서비스별로 머신을 두게 되면 관리해야 할 장비수가 늘고, 장비별로 설정하는 방식이 달라 결과적으로 관리비용이 커질 수 있고, 둘째, 미들박스 서비스를 수행하는 성능의 관점에서도 하나의 패킷이 들어와 n 개의 서로 다른 장비를 거치려면 여러 번 패킷이 포워딩 되어야 하고, 이 때문에 처리 지연이 생길 수 있기 때문이다.
질의응답 정보가 도움이 되었나요?

참고문헌 (17)

  1. J. Novak., "Suricata TCP Evasions," Personal Blog, 2010 (http://www.packetstan.com/2010/09/ suricata-tcp-evasions.html). 

  2. A. Pesterev, J. Strauss, N. Zeldovich, and R. T. Morris. "Improving network connection locality on multi-core systems," In Proceedings of the ACM European conference on Computer Systems (EuroSys), 2012. 

  3. S. Han, S. Marshall, B.-G. Chun, and S. Ratnasamy. "MegaPipe: a new programming interface for scalable network I/O," In Proceedings of the USENIX conference on Operating Systems Design and Implementation (OSDI), 2012. 

  4. E. Jung, S. Woo, M. Jamshed, H. Jung, S. Ihm, D. Han, K. Park. "mTCP: A Highly Scalable User-level TCP Stack for Multicore Systems," In Proceedings of the USENIX Symposium on Networked System Design and Implementation (NSDI), 2014. 

  5. TCPDUMP. http://www.tcpdump.org. 

  6. M. Roesch. "Snort - Lightweight Intrusion Detection for Networks," In Proceedings of the USENIX Systems Administration Conference (LISA), 1999. 

  7. Y. Go, J. Won, D. Kune, E. Jung, Y. Kim, K. Park. "Gaining Control of Cellular Traffic Accounting by Spurious TCP Retransmission," In Proceedings of the 21st Annual Network and Distributed System Security Symposium (NDSS), 2014. 

  8. Intel DPDK: Data Plane Development Kit. http:// dpdk.org/. 

  9. S. Han, K. Jang, K. Park, and S. Moon . "PacketShader: a GPU-accelerated Software Router," In Proceedings of ACM SIGCOMM, 2010. 

  10. L. Rizzo. "netmap: a novel framework for fast packet I/O,"In Proceedings of the USENIX conference on Annual Technical Conference (ATC), 2012. 

  11. L. Deri. "Improving Passive Packet Capture: Beyond Device Polling," In Proceedings of the International System Administration and Network Engineering Conference (SANE), 2004. 

  12. V. Sekar, N. Egi, S. Ratnasamy, M. K. Reiter, and G. Shi. "Design and Implementation of a Consolidated Middlebox Architecture,"In Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI), 2012. 

  13. J. W. Anderson, R. Braud, R. Kapoor, G. Porter, and A. Vahdat. "xOMB: Extensible Open Middleboxes with Commodity Servers,"In Proceedings of the eighth ACM/IEEE symposium on Architectures for networking and communications systems (ANCS), 2012. 

  14. Suricata Intrusion Detection System. http://www. openinfosecfoundation.org/index.php/downloadsuricata. 

  15. S. Woo, E. Jeong, S. Park, J. Lee, S. Ihm, and K.Park. "Comparison of caching strategies in modern cellular backhaul networks," In Proceedings of the Annual International Conference on Mobile Systems, Applications, and Services (MobiSys), 2013. 

  16. M. Jamshed, J. Lee, S. Moon, I. Yun, D. Kim, S. Lee, Y. Yi, and K. Park. "Kargus: A Highly-scalable Software-based Intrusion Detection System,"In Proceedings of the 19th ACM Conference on Computer and Communications Security (CCS '12), 2012. 

  17. K. Jang, S. Han, S. Han, S. Moon, and K. Park. "SSLShader: Cheap SSL Acceleration with Commodity Processors," In Proceedings of the 8th USENIX conference on Networked Systems Design and Implementation (NSDI), 2011. 

관련 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로