본문 바로가기

네트워크

쉽게 이해하는 SDN 스위치 Openflow 활용

네트워크, 보안 제품의 각각의 벤더(제조사)는 제어와 데이터 관리 부분을 하드웨어 제품 내에 모두 내장하고 있습니다. 그리고 같은 역할을 하는 제품이라고 하더라도 동작하는 방법이 약간씩 다르기 때문에 설정 방법도 다르게 되어 있습니다. 그래서 네트워크, 보안 담당자 입장에서는 관리하는 부분에서 어려움을 느끼게 됩니다. 이러한 문제들을 해소하기 위하여 SDN 스위치와 SDN 스위치를 컨트롤하는 SDN 컨트롤러가 탄생하게 되었습니다. 그리고 이러한 스위치와 컨트롤러 간의 인터페이스 규격으로 사용되고 Openflow라는 기술이 있지만 아직 모든 인터넷 장비에 사용이 될 수 없기 때문에 빛을 발휘하지 못하고 과도기 단계에 머무르고 있습니다.

출처 Openflow 페이스북

Openflow 활용

제어와 데이터 관리 부분을 1개의 하드웨어에서 내장하는 부분을 분리함으로써 이들을 연결하기 위한 표준 인터페이스로 Openflow 프로토콜이 탄생하게 되었습니다. 각 네트워크, 보안 벤더(제조사)별로 공개된 동작 방식을 소프트웨어로 구현을 하게 되면 각 네트워크, 보안 장비들을 1개의 소프트웨어 즉, SDN 컨트롤러에서 제어를 하며 데이터 부분은 SDN 스위치를 통해 통신을 할 수 있습니다.

컨트롤러와 스위치 구성

SDN 컨트롤러는 스위치를 관리하는 핵심으로 스위치에 명령을 내려 스위치를 동작하게 만듭니다. 컨트롤러를 통해 주어진 명령에 따라 패킷을 목적지로 전송, 변경, 폐기 등의 처리를 하게 됩니다. 컨트롤러는 Openflow라는 표준 규격의 인터페이스를 활용하여 패킷이 스위치에 인입이 되었을 때 패킷을 감지하여 Flow table이라는 값을 참고하여 기존에 등록된 정보라면 참고하여 패킷을 보내게 될 것이고 그렇지 않으면 컨트롤러에게 요청하여 맞는 정책을 응답받고 최단 경로와 사용자가 지정한 우선순위 값들 참고하여 처리하게 됩니다.

FLow table은 처음 패킷이 인입되면 참고하는 목록인데 조건을 보고 처리를 하게 되는 구조입니다. 예를 들어 이 패킷의 출발지 mac은 무엇이고 VLAN ID는 어떻게 되는지 그리고 출발지 IP와 목적지 IP는 어떻게 되는지 등에 대한 정보를 바탕으로 처리를 할 것인지 폐기를 할 것인지 등에 대해서 처리를 하게 됩니다. 또한 이렇게 생성 된 Flow table에는 식별할 수 있는 번호가 부여되는데 이러한 테이블에 대해서 그 이후 인입이 되는 경우 어떻게 처리할지 정할 수 있습니다.

컨트롤러와 스위치 연결

Openflow라는 인터페이스를 통해 스위치를 제어하기 위해서는 컨트롤러 IP 주소를 설정해 두어야 합니다. 그리고 이렇게 연결이 되면 컨트롤러와 스위치 간 안전한 통신을 위해 SSL 보안 채널로 세션을 성립한 후 통신 준비를 마치게 됩니다. 이 후 새로운 패킷을 받게 되면 Flow table을 통해 컨트롤러에게 요청과 응답을 통해 패킷을 처리하게 됩니다. 또한 단순 스위칭과 라우팅을 하는 게 아닌 스위치로 인입된 패킷이 방화벽과 로드밸런서를 통과하고 서버에 가야 하는 경우를 구성해야 한다면 레거시 장비(기존의 장비)와 비교했을 때 간편하게 조작이 가능한 장점이 있지만 이러한 다이나믹한 망에서 모든 패킷을 처리하는데 스위치에는 컨트롤러와 통신을 하기 위한 flow table을 많이 필요로 하기에 고가의 스위치를 사용해야 할 것입니다. 따라서 데이터센터의 WAN 구간에서는 효율적일 수 있으나 사용자 계층의 LAN 구간에서는 어떻게 사용이 가능할지 의문이 듭니다.

마무리하며,

포스팅을 하면서도 계속 드는 생각이 Openflow를 이용하여 SDN 시장이 완성될 수 있을까? 라는 생각을 하게 됩니다. Openflow를 활용한 네트워크, 보안 장비가 있다고 할지라도 한 번에 다 교체를 하여 사용할 수는 없습니다. Openflow가 이미 시장에 출현한 지 약 8~9년이라는 시간이 지났음에도 불구하고 해외 메이저 네트워크 기업에서 참여를 하지 않을까? 여러 가지 설이 있지만 경제적인 논리로 인해 오히려 SDN이 추구하는 컨셉으로 각 벤더별로 솔루션이 나오고 있습니다. 벤더 별로 각기 자기만의 SDN 시스템을 찾아가고 있기에 오픈소스인 Openflow는 더욱더 과도기 기간에서 나오지 못하는 안타까움을 가지고 있습니다.