New Tech Acronyms
on
늘상 새로운 문물과 세상 변화에 열심히 적응하고 있다고 생각하더라도 가끔씩 아무렇지도 않게 새로 등장한 acronym들을 마주할 때마다 ‘그동안 뭐하며 살아온 것인가?’ 할 때가 있다.
그래서 이들의 정의를 찾아보면 사실 추상적인 답이 날아와서 더 궁금증을 일으키게 되는데 끝까지 파내고 보면 정말 별 것 아닌 것을 acronym으로 만들어놔서 일종의 ‘기술 문외한’이 되어버린 듯한 공포감을 야기시키는 경우가 많은 듯 하다.
요새 마주친 것들 몇 개만 나열하면,
- TLA: three letter acronyms - 별 것 없다. 3글자로 된 축약어 되겠다. NFV, SDN, CDN 같은 것이다.
- NFV: Network Functions Virtualization - 네트워크의 기능을 가상화한다는 뜻인데, 네트워크의 어떤 기능을 어떻게 가상화하는 것인지 직접적으로 알 수 없다. 뒤에서 얘기하자.
- VNF: virtualized network function - 이것은 그야말로 가상화된 네트워크 기능이란 얘기다.
- SDN: software defined network - NFV를 통해서 네트워크가 소프트웨어로 정의된 것을 말한다. 그러니까 NFV가 실현되면 기존의 네트워크가 모두 SDN이 되는 것이다.
- CDN: content delivery networks - 컨텐트를 베달하는 네트워크라고 해석할 수 있는데, 실제로는 지역적으로 깔아놓은 cache (mirrored?) network라 할 수 있다. 즉, 원본 컨텐츠를 가지고 있는 서버가 먼 곳에 있고 그 개수가 한정되어있으면 정작 멀리 떨어진, 또 많은 수요가 있는 지역에서 서비스 받으려면 불편함이 발생하게 되는데 지역적으로 CDN을 통해서 이 부하를 분산시키면 사용자들은 쾌적한 속도로 컨텐츠에 접근할 수 있게 된다.
- NVM:
- Non-Volatile Memory - Flash memory처럼 전원이 끊어져도 증발되지 않는 메모리를 말한다.
- Node Version Management
- NVMe: Non-volatile memory express - NVM을 사용하는 SSD를 PCIe를 통해 사용할 수 있게 하는 기슬/스펙 (표준)으로 이해하면 된다. SSD 장치가 이 스펙을 지원하냐 안하냐가 소비자 입장에선 중요하게 되고, 스펙의 버전에 따라 지원하는 대역폭이 달라지니까 일단 메모리의 속도는 차치하더라도 인터페이스의 속도가 얼마냐는 가늠할 수 있게 되는 것이다.
NFV라는 것은 예를 들어 설명하는 것이 맞을 것 같다. 간단한 설명으로는 ASIC이라든가 어떤 고정된 하드웨어의 형태로 구현되는 네트워크의 기능을 소프트웨어로 가상적으로 구현하는 것을 NFV라고 한다. 그런데 엄밀히 말하자면 기존의 그 네트워크 하드웨어의 기능 중에 핵심적인 부분을 IP 형태로 가져와서 범용의 프로세서 안에 가속기 혹은 모듈의 형태로 붙여놓은 SoC가 사실 기능의 대부분을 구현하게 되는 것이고 이것을 운용 소프트웨어 - OS가 커널 차원 혹은 그보다 높은 레벨에서 드라이버를 통해 이들 IP를 다룰 수 있게 하는 것이라고 봐야 맞을 것 같다고 본다.
그러니까, 단순히 CPU가 속도가 빨라졌으니 H/W 레벨에서나 할 수 있는 고속/반복 연산을 S/W 적으로 할 수 있게 되었기 때문에 dedicated H/W가 아닌 general purpose H/W를 이용해서 S/W적으로 특정 네트워크 노드의 기능을 구현하게 되었다 라고 할 수 있다. 그러나, 그런 해석 보단 과거의 특정 네트워크 장비에서나 할 수 있었던 일들의 핵심 기능들을 메인 프로세서 내에 하드웨어 모듈로 추가해서 만들고 그 기능을 S/W적으로 활용할 수 있게 함으로써 dedicated H/W 장비도 아닌 것이 특정 네트워크 노드의 기능을 수행할 수 있게 된다는 말이다. 그러니까 기존의 범용 프로세서라고 불리우던 것들의 지원 기능이 더 많아져서 만물상/만병통치약 수준으로 되었기 때문에 가능한 것이지, 그런 특화된 IP를 탑재하고 있지 않은 순수한 범용 프로세서 상에서는 이런 기능은 억지로 구현은 할 수 있겠지만 속도상의 제약 때문에 사실상 상용 장비로서 쓸 수는 없다는 말도 된다.
무슨 말이냐면 가속기 형태로 특정 네트워크 노드의 기능을 가지고 있는 프로세서는 그 자신의 성능에 거의 영향 받지 않으면서 해당 기능을 구동시킬 수 있지만, 그렇지 않다면 그것들을 모두 자신의 성능을 희생해서 구현해야 하기 때문에 아예 성능 비교 자체를 할 수가 없다. 비록 고정되고 반복된 연산이라고 하더라고 범용의 프로세서에게 수행을 맡기면 당연히 느리고 효율이 매우 떨어지기 때문에 그 게임은 100:1, 1000:1 혹은 그 이상의 열세로 끝나게 될 것이다.
어쨌든 이 개념으로 범용 프로세서에 무선 모뎀 기능을 탑재시켜서 무선 기지국 장비도 S/W로 구현한다고 말하기도 하고 하는 것이다. 외장으로 봤을 땐 전혀 무선 기지국 같지 않아도 내장하고 있는 메인 프로세서에 무선 모뎀 기능이 들어가 있으면 그렇게 불릴 수 있다. 마찬가지로 IPSec 같은 것들을 구현하는 별도의 IP가 내장되어있으면 보안송수신 기능을 구현하는 VNF가 되기도 한다. 그러나 메인 프로세서의 주 기능은 범용 프로세서의 기능이니까 이 장비는 S/W에 따라서 보안기능을 지원하는 라우터도 되었다가 과금 소프트웨어를 돌리는 과금 장비도 되었다가 하는 것이다. 이런 상황이 되고 보면 vendor specific하던 것이 commerical standard의 형태로 가게 되니까 고전의 강자들만 뛰어들 수 있는 게 아니라 기술만 훌륭하다면 어떤 업체든 들어와서 경쟁할 수 있고, 또 운용업체의 입장에서는 한 종류의 범용장비만 구입하면 어떻게든 원하는 장비로 전용해서 사용할 수 있으니까 CAPEX/OPEX를 줄일 수 있고 또 빠르게 진화시킬 수 있으니까 누이 좋고 매부 좋다는 건데 정말로 그러한지는 알 수 없지만 일단 취지는 그렇다고 볼 수 있다.