MS, 오픈소스 네트워킹 위한 API 공개

일반입력 :2015/03/13 16:48    수정: 2015/03/13 17:29

마이크로소프트(MS)가 오픈소스 기반 네트워킹을 구현하기 위한 애플리케이션프로그래밍인터페이스(API)를 개발해 공개했다.

10일(현지시간) 미국 새너제이에서 열린 오픈컴퓨트프로젝트(OCP)서밋에서 MS는 스위치어브스트랙션인터페이스(SAI)란 API를 발표했다.

SAI는 스위치 장비의 실리콘에 접근하는 API다. 스위치 벤더가 SAI를 지원해주면 개발자는 스위치 실리콘에 접근해 시스템 네트워크에 통상적으로 필요한 기능을 직접 입력할 수 있다. 액세스컨트롤리스트(ACL), 라우팅인포메이션베이스(RIB), 프로그래밍 칩, 포워딩인포에이션베이스(FIB) 등의 기능이다.

보통 상용 스위치 장비의 경우 제조사마다 다른 ASIC을 사용하기 때문에, 여러 벤더의 제품을 혼용하면 통합관리하기 어렵다. 동일한 필요에 대해서도 제조사 제품마다 기능과 설정을 별도로 해줘야 한다. 이는 제조사 종속적인 환경을 초래하고, 관리 복잡성을 심화시킨다.

이에 학계는 네트워킹 솔루션을 데이터 플레인과 컨트롤 플레인으로 이원화하고, 각종 기능 구현을 소프트웨어로 처리하는 소프트웨어정의네트워킹(SDN)을 고안했다.

SAI는 SDN 구현을 위한 API로써, 벤더별 ASIC의 차이를 무력화시킨다. SAI를 지원하는 모든 장비에 대해 개발자나 운영자가 하나의 인터페이스로 제어할 수 있게 된다.

MS 애저네트워킹 SAI팀의 카말라 수브라마니암 프린시펄 아키텍트는 블로그를 통해 “SAI는 다른 스위치 칩을 어떤 내부 변경 없이 프로그램할 수 있게 한다”며 “하드웨어와 소프트웨어의 결합을 깨뜨리고, 애플리케이션이나 네트워크에서 필요한 소프트웨어와 하드웨어의 최고의 이점만 뽑아내게 해준다”고 설명했다.

MS는 SAI를 위한 소프트웨어개발도구(SDK)를 제공한다. 스위치 ASIC에 접근하고 애플리케이션과 프로토콜 스택을 활성화하게 하며, C언어로 작성됐다. 일반적인 상용 스위치 제조사는 저마다 다른 SDK를 제공하고, 소유권있는 알고리즘을 활용하게 한다.

MS는 SAI를 표준화된 API라고 표현했다. 개발자할 뿐 아니라 네트워킹 벤더도 사용하라는 것이다. 네트워킹 제조사가 SAI를 활용하면 새 하드웨어 기능을 내놓을 때 API에 확장(extension)만 붙이면 된다. 하드웨어 프로그래밍 단계도 변할 수 있다는 설명이다.

현재 SAI의 버전은 0.92다. 지원되는 기능은 ACL, 이퀄코스트멀티패스(ECMP), 포워딩데이터베이스(FDB, MAC 어드래스 테이블), 호스트 인터페이스, 네이버데이터베이스, 포트 매니지먼트, QOS, 라우터 인터페이스 등이다. 제안문은 OCP 네트워킹 SAI 기트허브 저장소에 제한문이 올라와 있다.

MS의 SAI는 OCP서밋2015 현장에서 델, 멜라녹스, 브로드컴 등이 시연했다.

한편, 빅스위치네트웍스는 리눅스 기반의 스위치 운영체제를 공개했다. 이는 OCP용 레퍼런스 네트워크OS(NOS)로 정해졌다.

관련기사

오픈네트워크리눅스(ONL)이란 이 OS는 리눅스 3.9.6 커널을 사용하며, 다양한 드라이버와 설치 스크립트, 부트로더 등을 포함한다.

더레지스터에 의하면, ONL 개발에 동참했던 피카8이란 회사는 변경되지 않은 데비안 커널이 ONL에서 큰 부분을 이룬다며, 리눅스 관리자는 친숙한 환경으로 활용할 수 있다고 설명했다.