IT 관리 / 네트워크 / 오픈소스

글로벌 칼럼 | '단점 있어도' SDN을 도입해야 하는 이유와 방법

Tom Nolle | Network World 2022.02.07
최근 필자는 엔터프라이즈 네트워크 운영 관리자 5명을 만났다. 이들은 공통으로 클라우드 장애에 대해 매우 우려하고 있었다. 모든 장애가 네트워크 문제에서 시작됐기 때문이다. 이들 5명 중 4명은 자사의 컨테이너화된 데이터센터 내에서도 서버보다 네트워크에서 더 많은 문제가 발생한다고 말했다. 어째서 이런 일이 일어나는 것일까? 이들이 진단한 이유는 간단했다. '지나침은 모자람만 못하다'는 것이다.
 
ⓒ Getty Images Bank

널리 알려진 것처럼 복잡성은 효율적인 운영과 관리의 적이다. 사용하는 시스템의 규모가 일정 수준을 넘어서면 그 규모가 관리 센터는 물론 관리 툴까지 압도해 버린다. 이 상황에서 다양한 업체와 다양한 기술을 도입해 활용하면 결국 매우 혼란스러운 상황에 놓이게 된다. 이런 혼란스러움은 단순히 크기나 기술 범위 이상의 문제다. 네트워크 운영까지 복잡하게 만드는데, 현재 기업이 겪는 어려움이 바로 이 지점이다.

본래 IP 네트워크는 적응형으로 설계됐다. 모든 라우터는 자신의 정체와 상황을 외부에 계속 알려주고 연결(trunk, 트렁크)이 가능하다고 외치는 일종의 섬이다. 동시에 다른 라우터의 외침을 끊임없이 듣는다. 라우터는 이런 모든 외침을 통해 네트워크의 상태와 토폴로지를 수집하고 이를 이용해 라우팅 테이블을 만든다. 일정 주기로 발생하는 이런 외침을 통해 이 테이블을 항상 최신 상태로 유지한다.

만약 라우터 A에서 라우터 B로 가는 트렁크가 있다면, 이 라우터는 자신의 상태와 토폴로지를 근처 라우터에게 지속해서 반복해 알린다. 설정의 소소한 변경을 포함해 어떤 변화라도 있으면, 역시 중계되는 외침을 통해 널리 퍼뜨려야 한다. 이런 과정에는 일정 시간이 필요한데 모든 라우터가 조화를 이룬다는 의미로 이를 '컨버전스(convergence)'라고 부른다.

이런 컨버전스 시간 동안 패킷은 지연되거나 심지어 손실될 수 있지만, 사실 이것은 큰 문제가 아니다. 더 중요한 것은 외침을 중계하는 시간 동안 일반적인 상황은 물론 실패 모드 상황에서도 네트워크를 작동 상태로 유지하는 것이다. 이럴 때 도움이 되는 것이 MPLS지만(실제로 MPLS가 개발된 이유도 이러한 트래픽 엔지니어링 때문이다), 진정한 해결책은 소프트웨어 정의 네트워크, 바로 SDN일 것이다. 맞다. 많은 사람이 엉망 상태라고 말하는 바로 그 SDN이다.
 

SDN의 최대 장점은 제어다. 네트워크 운영자 100명에게 SDN이 무엇인지 물으면 아마도 '제어부와 데이터부를 분리하는 것'이라고 대답할 것이다. SDN 개념에 대한 가장 유용한 정의다. 하지만 도대체 이게 어떤 의미이고 우리가 왜 관심을 가져야 할까? SDN이 중요한 이유는 적응형 배포를 위한 계획된 라우트 개발을 대체할 수 있기 때문이다. 제어부 관련된 것이 여기에 포함되는데, 모든 라우터의 외침은 데이터 패킷이 아니라 제어 패킷에서 일어난다.


SDN 네트워크에서 컨트롤러는 네트워크의 토폴로지를 유지하는 역할을 한다. 많은 노력이 필요하지도 않다. 결국 라우터와 트렁크는 떠다니는 성질이 아니기 때문이다. 컨트롤러는 이들 네트워크 요소의 상황을 최신 상태로 계속 유지하는 것은 물론, 라우터와 트렁크가 루트를 만들기 위해 서로 결합하는 방법을 결정하는 정책을 가지고 있다. 컨트롤러는 라우팅 테이블을 라우터에 전송하는데(이때 오픈 네트워크 파운데이션 모델에서는 오픈플로우(OpenFlow) 프로토콜을 이용한다), 마치 '마더 메이 아이?(Mother May I?)' 게임과 비슷하다.

이처럼 SDN 네트워크의 가장 큰 장점은 라우터와 루트 변화를 완벽하게 제어할 수 있다는 점이다. 장애 분석을 기반으로 대안적인 라우팅 토폴로지를 운영할 수 있고, 정책에 따라 결정하는 것도 가능하다. 어떤 방식이든, 모든 기기가 중앙 컨트롤러에 동조된다. 커밋하기 전에 이들 대안적인 장애 모드 토폴로지를 테스트할 수 있어, 라우터 간의 컨버전스 시간이 필요 없고 여기서 시작되는 혼란도 없다. 돌발 상황이 발생할 여지가 없다.

하지만 현실에서 네트워크 운영자 100명을 두고 SDN을 선호한다면 왼쪽, 아니라면 오른쪽에 서라고 하면 아마도 대부분은 어디에 서야할 지 망설일 것이다. 지난 15년 가까이 SDN 기술을 둘러싸고 벌어진 일이다. 그럼에도 일부는 명확한 입장을 취했다. 구글이 자사 백본 네트워크에 SDN을 적용하는 것을 본 것이 결정적이었다. 구글은 어떻게 이러한 변화를 추진할 수 있었을까? 구글 SDN의 핵심은 SDN 네트웤를 IP 네트워크처럼 만들어주는 이른바 'BGP 프로세스'다. 즉 BGP 속에 SDN을 적용한 것으로 오늘날 용어로는 블랙 박스 또는 SDN 기반 'IP 의도 모델'이다.

(구글 사례에서 도드라지기는 하지만) 일반적으로 SDN은 2가지 방법으로 네트워크 복잡성을 줄인다. 첫째, 루트를 결정적으로 제어할 수 있다. 기존의 적응형 네트워크에서 관리자는 컨버전스가 끝나기 전까지 무엇이 공유되는지 실제로 알 수가 없었다. 반면 SDN에서는 한 발신자가 일종의 스퀘어 댄스, 즉 SDN 컨트롤러를 호출하는 방법으로 관리를 구현한다. 둘째, 계층적 구조는 그 자체로 복잡성을 줄인다. 기존 인터넷이 수십만 대의 라우터가 포함된 라우터의 간의 외침으로 연결된 평면적인 네트워크라면, SDN에서는 이를 세그먼트(autonomous systems, AS), 즉 세그먼트 간의 첫 루트와 그 내부의 두번째 루트로 쪼갠다. 후자가 라우터 외침을 기반으로 한 프로세스다.

대부분 기업은 WAN용 IP VPN을 사용하므로, 그들의 네트워크 구축은 데이터센터와 데이터센터-VPN 간의 연결에 집중할 가능성이 크다. 바로 여기가 SDN을 적용하기에 안성맞춤이다. 데이터센터 설정은 매우 중요하고, 네트워크 장애로 SDN 컨트롤러를 일부 기기에서 완전히 제거할 가능성은 거의 없기 때문이다. 여러 곳의 데이터센터를 운영하는 기업은 각 데이터센터에 SDN 세그먼트를 만들어 SDN 혹은 전통적인 라우팅을 이용해 이를 연결할 수 있다.
 

SDN을 도입하는 비용도 생각만큼 비싸지 않을 수 있다. 아직까지도 SDN을 사용한 경험이 전혀 없는 기업이 있을 수는 있지만 그런 기업은 이미 많은 기회를 놓쳤다는 것을 알아야 한다. 지금이라도 SDN 세계에 뛰어들 생각이라면 다양한 방법이 있다. 이미 많은 제품이 시장에 나와 있고 여러 가지 환경에서 쓰이고 있다.


실제로 라우터와 스위치 업체 대부분이 자사 장비에서 SDN을 지원한다. 지원 프로토콜인 오픈플로우의 구체적인 기능은 확인할 필요가 있다. 또한, SDN 컨트롤러는 주요 라우터 업체는 물론 다른 업체도 제공한다. '정상' 상태는 물론 필요한 모든 실패 모드를 정의하는 정책을 만드는 방법도 알아둬야 한다. 컨트롤러가 모든 활동의 저널링을 지원하고 네트워크 상태 변화는 물론 관리자가 컨트롤러 운영 파라미터로 제어할 수 있는 지도 알아둬야 한다.

정책과 저널이 중요한 것은 다 이유가 있다. SDN의 단점 때문이다. SDN을 이용하면 네트워크를 원하는 대로 정확하게 설정해 운영할 수 있지만, 이는 곧 완전히 잘못된 상태로 만드는 것도 가능하다는 의미다. 즉, SDN은 네트워크 오류를 제거하지 못한다. 설정 과정에서 관리자가 원하는 더 정교한 계획과 제어를 추가할 수 있도록 지원할 뿐이다. SDN 컨트롤러는 사용자의 실수까지 보호하지는 못하므로, 무언가 잘못됐을 때 루트를 검증하고 정책을 수립하고 저널을 컨설팅할 수는 없다. 이는 상황에 따라 매우 큰 단점이 될 수 있다.

정리하면 SDN은 사용자가 네트워크를 완벽하게 통제하는 방법을 제공한다. 이런 방식이 매력적이라고 느껴진다면 SDN 컨셉을 더 자세히 살펴볼 필요가 있다. 특히 사용자의 인적 오류가 여전히 네트워크 문제의 가장 큰 원인이라는 점을 고려하면, 사람과 SDN이 공존하며 협업하는 방법을 확실히 알아둬야 한다. SDN의 장점을 극대화할 수 있는 길이기도 하다.

editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.