Rust의 공식 패키지 관리 사이트의 packetvisor 페이지(출처: crates.io)
용인--(뉴스와이어)--실시간 통신, 인공지능(AI) 전문기업 티에스엔랩(TSN Lab)은 3년 동안 개발한 Rust/XDP 기반 고속 패킷 I/O 프레임워크인 패킷바이저(Packetvisor)를 지난 4월 4일 오픈소스로 공개했다고 밝혔다. 패킷바이저는 지난 3년에 걸쳐 티에스엔랩에서 꾸준히 개발된 프로젝트로 부하 분산 장치, 실시간 통신 게이트웨이, 다중 채널 통신 장치 등 다양한 상용/연구 프로젝트에 적용돼 이미 기술력이 검증된 제품이다.
티에스엔랩에서 자사의 핵심 기술을 오픈소스로 공개한 이유는 오픈소스 개발 모델을 도입함으로써 사용자 숫자와 기술력을 높이고, 이중 라이선스(dual license)를 통한 수익 모델을 창출하기 위해서다. 김성민 티에스엔랩 대표는 “네트워크 장치 또는 기능을 만드는 회사들은 다들 패킷바이저와 유사한 자체 패킷 I/O 기술을 보유하고 있다. 대부분의 국내 네트워크 회사들이 오래된 격언인 ‘Don’t reinvent the wheel’을 무시하며 똑같은 모양의 바퀴를 개발하는데 상당한 에너지를 쏟아붓고 있는 상황이다. 따라서 우리가 가진 바퀴를 오픈소스로 공유해 서로의 기술력을 합치고, 네트워크 기능 개발에 집중하는 것이 서로가 살 수 있는 길”이라고 말했다.
패킷바이저는 Raw 패킷을 처리하기 위한 프레임워크로 러스트(Rust)와 리눅스(Linux) XDP (eXpress Data Path)를 기반으로 하고 있다. Rust를 채택한 이유는 C 또는 C++를 이용해 프로그래밍 하는 것에 비해 성능은 유지하면서 유지보수성이 뛰어난 코드를 생산할 수 있기 때문이고, Linux XDP를 채택한 이유는 클라우드 환경과 물리 네트워크 환경을 모두 아우를 수 있는 고속 I/O 라이브러리이기 때문이다.
패킷바이저는 Rust와 XDP라는 조합에서 단순한 패킷 포워딩 기능 뿐만 아니라 터널링, 다중 전송 또는 DPI(Deep Packet Inspection)에 이르기까지 다양한 네트워크 기능을 손쉽게 개발할 수 있는 기능을 제공한다. 김성민 대표는 “DPDK(Data Plane Development Kit)를 활용해 단순한 패킷 포워딩 기능을 개발할 경우 780여줄의 코드를 작성해야 하지만 패킷바이저를 활용하면 70여줄의 코드만 작성하면 동일한 기능을 개발할 수 있다”고 말했다.
김성민 대표는 “패킷바이저를 오픈소스로 공개함으로써 네트워크 기능을 개발하는 회사들은 성능이 검증된 고속 패킷 I/O 프레임워크를 활용해 애플리케이션 개발에 집중할 수 있고, 대학교와 같은 교육 기관은 학생들이 Raw 패킷을 직접 다룰 수 있는 고급 네트워크 교육 과정에 활용할 수 있다”고 설명했다. 더불어 “패킷바이저가 대표적인 네트워크 오픈소스로 성장하길 기대한다”고 밝혔다.
티에스엔랩 소개
티에스엔랩(TSN Lab)은 실시간 통신, 실시간 인공지능(AI) 전문 기업이다. 티에스엔랩은 실시간 통신을 위해 IEEE의 공적 실시간 통신 표준인 TSN 원천 기술을 개발하고 있으며, 실시간 AI를 위해 ONNX에 기반한 AI 엔진 기술을 제공하고 있다. IEEE의 TSN (Time Sensitive Networking)은 하드웨어(H/W) 수준에서 전송 시간(Latency), 전송 주기(Period), 대역폭(Bandwidth) 그리고 신뢰성(Reliability)를 보장하는 하드 리얼타임(Hard Real-Time) 통신 표준이다. TSN은 자동차, 철도, 로봇, 스마트 팩토리, 방송처럼 실시간성이 민감한 영역에서 활용되고 있다. ONNX (Open Neural Network eXchange)는 AI 모델을 교환하기 위한 표준으로, 티에스엔랩은 ONNX을 구현한 AI 엔진 CONNX을 기반으로 센서단에서 AI를 처리할 수 있는 원천 기술을 개발하고 있다.