클라우드 환경에서는 간단한 사용자 조작으로 네트워크 부하를 분산하고 트래픽을 모니터링하며 서로 다른 데이터 센터나 서로 다른 지역 또는 서로 다른 국가에서 운영 중인 서버에 대해서 네트워크를 관리할 수 있도록 하는 기술이 필요합니다이번 글에서는 클라우드 네트워크를 효율적으로 관리할 수 있는 기술 중 하나인 OpenFlow에 대해서 이야기하겠습니다.

 

클라우드 환경의 네트워크 관리

클라우드 서비스에는 다음 그림과 같이하나의 물리 서버에서 하나 이상의 가상 머신(Virtual Machine)을 제공하는 서버 가상화 기술뿐만 아니라물리 네트워크 가상의 네트워크 환경을 제공하는 네트워크 가상화 기술도 적용되어 있습니다.

 

클라우드 네트워크 구성 ]

 

이처럼 클라우드 환경에서는 몇가지 사항이 만족되어야 합니다.

 

첫번째는 보안(Security)입니다공통의 물리 네트워크 인프라를 여러 명의 사용자가 공유해서 사용해야 하기 때문에가상 네트워크 인프라에서는 서로 다른 사용자의 VM간에 보안이 보장되어야 합니다.

 

두번째는 자동화(Automation)입니다일반적인 서비스 환경에서는 네트워크 설정 정보를 추가하거나 변경하려면 네트워크 관리자에게 요쳥해야 하며완료되기까지 시간이 소요됩니다하지만 클라우드 환경에서는 사용자가 간단히 조작하여 네트워크를 설정하고 설정이 즉시 반영될 수 있어야 합니다이를 위해서는 요청이 즉시 반영될 수 있도록 자동화해야 합니다.

 

세번째는 확장성(Scalability)입니다클라우드 서비스의 장점중 하나는 필요한 VM을 빠른 시간 내에 투입할 수 있다는 것입니다이렇게 투입된 VM의 지역이나 국가가 다르거나전체 VM수가 수백 대 또는 수천대여도 쉽게 네트워크 환경을 구축할 수 있어야 합니다.

 

보안자동화확장성을 보장하려면 네트워크 기술이 다음의 조건을 만족해야 합니다.

 

① 자유롭게 네트워크를 만들고 다양한 서비스를 제공할 수 있도록 유연성이 있어야 합니다.

 네트워크를 동적으로 관리할 수 있도록 기능이 모듈화되어 있어야 합니다.

 

위 두가지를 만족하기 위해서는 네트워크 요소들을 프로그래밍할 수 있어야 합니다.

 

 

학교나 연구소는 새로운 네트워크 프로토콜을 개발하고 테스트하고 싶어합니다그런데 테스트하기 위해서 별도의 네트워크 환경을 구축하려면 비용이 많이 들고운영중인 네트워크 환경에서 새로운 프로토콜을 테스트하면 장애를 유발하는 등 운영에 영향을 미칠 가능성이 있습니다이로 인해 하나의 물리 네트워크 환경에서 다수의 가상 네트워크 환경을 구축할 수 있는 방법을 연구하기 시작했습니다.

 

아래의 그림처럼 네트워크 장비가 포함된 인프라 계층은 단순히 패킷을 전달하는 역할만 하고, SDN 제어 소프트웨어를 프로그래밍하여 패킷의 흐름을 제어하므로 하나의 네트워크 인프라에서 다양한 네트워크 환경을 구축할 수 있습니다, SDN에서는 패킷이 발생했을 때 네트워크 장비는 패킷을 어디로 전달할지 SDN 제어 소프트웨어에게 물어보고그 결과를 반영하여 패킷을 전송하는 경로와 방식을 결정합니다.

 

[ SDN 아키텍처 ]

 

하지만 SDN은 이론적인 개념으로실제로 적용하려면 이를 구현할 방안이 필요했는데, Standard University에서 제안한 내용이 OpenFlow입니다. 

+ Recent posts