• Lab Seminar: OpenFlow기반 무선 메쉬 네트워크 환경에서의 컨텐츠 라우팅

    Paper: click

    Presentation: [ppt][2]

    Abstract

    IEEE802.11s 기반의 무선 메쉬 네트워크는 기존의 인터넷 구조를 지니기 때문에 목적지 주소 기반 라우팅을 수행한다. 하지만 이러한 방식은 네트워크 사용자의 근본적인 ‘무엇’에는 관심이 없으며 ‘어디’에만 관심을 가진다는 한계점을 지닌다. 또한, 최근 폭발적으로 증가한 트래픽은 많은 사용자가 동일한 컨텐츠를 요구할 시 네트워크 내에 중복된 내용의 패킷이 늘어나 네트워크 전체 효율성을 저하시킨다는 문제점을 지니고 있다. 이러한 문제를 해결하기 위하여 해당 논무은 OpenFlow 기반 무선 메쉬 네트워크 환경에서의 컨텐츠 라우팅 기법을 제안한다. 효율적인 컨텐츠 라우팅을 위하여 기존 메쉬 네트워크의 네트워크 께층에 컨텐츠 계층을 추가적으로 구현하였으며, OpenFlow를 활용하여 컨텐츠 식별자를 기반으로 하는 라우팅 기법을 제안하였다. 또한, OpenFlow를 활용한 효율적인 캐싱 기법을 제안하여 메쉬 네트워크 내의 중봅된 내용의 패킷을 감소시킴으로서 네트워크의 효율성을 증가시켰다.

    서론

    기존의 목적지 주소 기반 라우팅 프로토콜은 ‘어디’에만 초점을 두고 있다. 우선적으로 지정된 목적지에 접그한 뒤 데이터를 얻어오기 때문에 네트워크 내 부하가 늘어나며, 컨텐츠 측면에서 봤을 때는 비효율적인 통신을 야기하게 된다.

    컨텐츠 라우팅 개념은 이러한 문제를 근본적으로 해결하기 위한 완전히 새로운 기법이다. MAC 주소나 IP주소 등 네트워크 노드의 주소를 기반으로 하는 통신을 대체하기 위하여, 사용자가 원하는 컨텐츠의 이름을 기반으로 하는 통신을 의미한다. 즉, 각 패킷은 목적지 주소보다 컨텐츠 이름으로 원하는 컨텐츠를 탐색하고 가장 가까운 네트워크 노드로부터 컨텐츠를 제공받게 된다. 또한, 컨텐츠 데이터 트래픽이 경유하는 컨텐츠 라우터는 해당 컨텐츠를 저장하여, 동일한 컨텐츠에 대한 요청 발생 시 빠르게 응답할 수 있게 된다.

    SDN개념을 추가하여 제어 평면은 중앙 집중식 컨트롤러에서 관리된다. SDN 컨트롤러는 방화벽, 로드 밸런서, NAT 등 하드웨어로 존재하던 네트워크 인프라를 프로그래머블 인프라로 제공할 수 있으며, 여러 목적의 라우팅 프로토콜 등 다양한 네트어킹 기술을 위한 API를 제공한다. 또한 소프트웨어 수정만으로 변경된 라우팅 프로토콜 등을 네트워크에 유연하게 적응할 수 있다.

    컨텐츠 요청은 SDN 컨트롤러에 의해 플러딩이 아닌 유니캐스트로 동작하도록 설계하였고, 컨트롤러는 도메인 내 요청받은 컨텐츠가 있는지 확인하여, 컨텐츠가 존재한다면 해당 메쉬 라우터로 컨텐츠 요청을 포워딩 한다.

    OpenFlow 기반 무선 메쉬 네트워크

    유선 네트워크 환경에서 OpenFlow 프로토콜을 지원하는 L7 스위치의 기본 동작 과정은 그림에서 OpenFlow Agent를 지나는 선과 같다. OpenFlow 스위치에 패킷이 들어올 경우 OpenFlow 에이전트까지 패킷이 전달된다. 에이전트는 OpenFlow 프로토콜을 지원하기 위한 사용자 영역 어플리케이션으로, 이렇게 어플리케이션 계층으로 올라온 패킷은 에이전트 내 플로우 테이블과 패킷 헤더 매칭 과정을 수행한다.

    1. OpenFlow 적용 시 내부 트래픽 흐름 Figure2

    2. OpenFlow 에이전트와 mac80211 간 통신을 위한 NetLink 메시지 및 필드 Figure2

    컨텐츠 라우팅을 위한 OpenFlow의 수정이 필요하다. 첫번째 추가 메시지는 기존 Packet in 메시지에서 파생된 Packet in contents 메시지이다. 두번째 Data flow setting 메시지이다. 세번째는 Interest flow setting 메시지이다. 넷째는 caching 메시지이다. Figure2

    OpenFlow 기반 컨텐츠 라우팅

    1) 전체 시스템 구조

    전체 시스템은 OpenFlow 컨트롤러와 이와 연결되어 있는 다수의 메쉬 라우터 그리고 메쉬 클라이언트, 컨텐츠 서버로 구성된다. 클라이언트와 서버 역시 컨텐츠 계증이 존재한다. 각각의 메쉬 스위치에는 OpenFlow 에이전트가 존재하며, 에이전트 내에는 OpenFlow 프로토콜 처리 모듈, 컨텐츠 계층 프로세싱 모듈, 캐싱 프로세싱 모듈이 존재한다.

    메쉬 클라이언트가 컨텐츠 요청 메시지를 요청할 때, 컨텐츠 계층에서는 해당 요청을 분석하여 컨텐츠 식별자를 생성한다. 컨텐츠 요청을 최초 수신한 메쉬라우터는 컨트롤러에 해당 패킷에 대한 처리 방법을 요청하며, 컨트롤러는 자신의 도메인 내에 없는 컨텐츠라면, 컨텐츠 서버로의 최적 경로를 생성하여 요청을 포워딩하도록 한다. 동시에, 컨텐츨 데이터 경로를 별도로 생성한다. 컨트롤러는 해당 컨텐츠의 캐싱 여부와 캐싱 위치를 결정한 뒤, 최적의 캐싱 대상 메쉬 라우터를 선택한다. 컨텐츠 데이터 경로는 반드시 이 캐싱 대상 메쉬 라우터를 선택한다. 컨텐츠 데이터 경로는 반드시 이 캐싱 대상 메쉬 라우터를 경유하도록 결정되며, 이 경로는 경유지 포함한 최적 경로 연슨을 통해 결정된다.

    2) 컨텐츠 계층 설계

    컨텐츠를 각 메쉬 네트워크 엔터티 에서 식별하기 위해서는 컨텐츠 계층의 설계가 필요하다. 컨텐츠 레이어는 TCP의 상위 계층으로 존재하며, 컨텐츠 헤더 구조는 그림에 나타나 있다. Figure2

    CID 필드는 컨텐츠 식별자로서 IPv4 주소형태를 가지며 플로우 테이블 매칭 시를 비롯하여 무선 메쉬 네트워크 내의 유일한 컨텐츠 식별자로 사용된다.

    TYPE은 이 컨텐츠 패킷의 요청/데이터를 구분하며, 이 종류는 표에 나타나 있다. 0인 경우 컨텐츠 데이터 패킷임을 나타내고, 1 또는 2인 경우 컨텐츠 요청 패킷임을 나타낸ㄴ다. 1이면, 컨트롤러 처리 전의 요청 패킷, 2이면, 컨트롤러 처리 후의 요청 패킷을 나타낸다. 메쉬 라우터에서 식별하기 위해 IP 헤더의 ToS 필드를 사용한다. Figure2

    3) 컨텐츠 라우팅 기법

    네트워크 내에 컨텐츠 캐시가 존재하지 않는 최초 동작을 나타내는 과정은 다음과 같다. 메쉬 클라이언트로 부터 요청이 들어오면 요청을 받은 메쉬 라우터는 컨트롤러로 컨텐츠 요청을 보내고 컨트롤러는 해당 메시지를 수신하여 자신이 관리하는 컨텐츠 테이블을 확인하여, 네트워크 내 캐시가 존재하는지 확인하고 없는 경우 컨텐츠 서버로 요청 메시지를 포워딩하기 위한 메쉬 경로를 설정하며 동시에 최적 캐싱 위치를 선택한다. Figure2

    설정된 경로를 통해 컨텐츠는 전송이 되며 경로에는 캐싱을 하는 메쉬 라우터가 포함되어 있어야만 한다. 해당 메쉬라우터는 에이전트 레벨에서 해당 컨텐츠 패킷의 페이로드를 파일 시스템에 저장한다. Figure2

    메쉬 라우터 내 mac80211, OpenFlow 에이전트, 그리고 컨트롤러의 동작은 다음의 그림을 통해 볼 수 있다.

    1. mac80211의 동작 과정 Figure2

    2. OpenFlow 에이전트 동작 과정 Figure2

    3. SDN 컨트롤러의 동작 과정 Figure2

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

%d 블로거가 이것을 좋아합니다: