Lab Seminar: A Solution for IP Mobility Support in Software Defined Network

Paper: click

Presentation: ppt

Abstract

Mobility에 대한 지원을 하기 위하여 많은 솔루션들이 제안 되어져 있다. 그러나 이 솔루션들은 Triangle routing, handover latency, heavy signaling overhead 등 많은 문제점들을 가지고 있다. 문제를 해결하기 위하여 이 논문에서는 SDN을 활용한 Mobility protocol을 사용하려 한다.

SDN을 사용하는 이유

IP Network에서 Mobility를 지원하기 위하여 SDN과 OverFlow를 사용한다. SDN은 programmable 장치들과 집중화된 control logic을 제공함으로서 더 간단한 방법으로 네트워크의 구조와 기능 그리고 수행 능력을 향상 시킬 수 있다. 1. 먼저 programmable 장치들을 이용함으로써 triangle routing문제를 완화시키거나 제거할 수 있다. 2. 중앙집중식 control을 이용하여 protocol의 복잡성을 줄일 수 있다. 3. Host가 IP Mobility에 대한 요구를 줄인다.

Protocol Design

Figure1 Network환경은 다음과 같이 구성 되어져 있다. 왼쪽의 그림의 경우, CN과 MN의 초기 communication에 대한 방법을 나타낸 것이다. 오른쪽의 그림은 MN의 이동을 처리하는 방법을 나타낸 그림이다.

초기 CN과 MN의 통신 방법은 다음 단계를 따름: 1. MN에게 HoA와 해당 위치에 Access Switch의 CoA를 할당 2. CN은 초기에 MN의 HoA만을 알고 있으므로, 목적지 주소를 HoA로 하여 init패킷을 전송 3. CN의 first-hop에 해당하는 스위치는 HoA주소를 목적지로 하는 패킷을 받는데, HoA주소의 경우 non-routable 주소이므로 controller에 Packet-in을 통해 flow table을 요구 4. controller는 MN의 위치가 등록되어진 flow table을 Packet-out을 통해 스위치에게 다운로드 하도록 함 5. 스위치는 flow table을 이용하여 MN의 first-hop에 해당하는 스위치로 init패킷을 전송 6. MN의 first-hop스위치는 CN에서 보내온 패킷을 MN에게로 전송

다음으로 Handover process는 다음과 같은 절차를 따름: 1. MN이 이동하여 S3스위치에서 S4스위치로 이동, S4스위치는 Controller에 해당 MN에 대한 위치 정보를 Update 2. S2스위치는 CN에서 보내오던 패킷을 Controller에서 보내온 Update된 flow table을 통하여 새로운 스위치인 S4로 패킷을 전송 3. S4스위치는 패킷을 다시 MN에게 전송

위에서 나온 장애 요인들 이외에도 추가적인 문제들을 해결하기 위하여 다음을 고려해야 한다. 먼저 논문에서 제안하는 SDN은 Multiple Controller가 가능해야 한다. MN과 CN이 멀리 있거나, 다른 도메인에 있는 경우라도 다중으로 Contorller들을 두기 때문에 간단한 질의와 응답을 통하여 이 문제를 쉽게 해결 할 수 있다. 두번째로 Dual Mobility의 경우이다. MN만이 이동하는 것이아니라 CN의 경우에도 이동을 하는 장치일 가능성이 있다. 이러한 경우에는 MN에서 하던 handover의 과정을 CN에서도 수행 하도록 함으로써 문제를 쉽게 해결 할 수 있다.

Algorithm

이 논문에서는 Target Switch라는 말이 나오는데 이것은, MN이 CN과 통신함에 있어서 패킷을 전송시에 flow하는 경로에 포함되어지는 스위치들을 말한다. 만약 MN이 이동을 하는 경우 이전의 SDN에서는 MN에 대해서 새로운 flow table을 모든 스위치에 전송하는데, 모든 스위치들이 controller로 부터 flow table을 다운로드 하는 것은 handover latency와 signaling cost측면에서 비효율적인 모습을 보인다. Figure2 이러한 문제를 해결하기 위해 이 논문에서는 알고리즘을 제시했다. MN이 이동하기 전의 TS의 집합과 MN의 현재 TS의 집합 두가지를 놓고 MN-CN의 경로중 두 집합의 비교를 통해 TS가 달라지는 시점에서 부터만 Flow table을 다운로드 하도록 하는 것이다. 이것을 Fork node를 찾는 과정이라고 하며 이런 간단한 알고리즘을 통해서 위의 두가지 문제를 쉽고 간단하게 해결 할 수 있다.

댓글 남기기

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

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 블로거가 이것을 좋아합니다: