ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Network] Software Defined Networking (SDN)
    CS/Network 2021. 12. 14. 19:47

    per-router control plane

    per-router control plane은 각각의 라우터 안에 개별 라우팅 알고리즘 컴포넌트가 있고, 다른 라우터의 control plane과 정보를 교환해 forwarding table을 만든다.

    logically centralized control plane

    logically centralized control plane은 원격 컨트롤러가 개별 라우터 내의 로컬 control agent와 정보를 주고 받아 forwarding table을 만든다.

    logically centralized control plane의 장점

    1. 네트워크 관리가 쉽다.

    개별 라우터 설정 오류를 피할 수 있고, 트래픽 흐름의 유연성이 향상된다.

    위 그림과 같이 u에서 z로 가는 경로를 v로 가는 경로와 x로 가는 경로로 분산하고 싶다면 어떻게 처리할 수 있는가? per-router control plane에서는 불가능하지만 logincally cetnralized control plane에서는 로드밸런싱을 통해 가능하다.

     

    2. 테이블 기반 포워딩을 프로그래밍하기 쉽다.

    logincally cetnralized control plane에서는 중앙 컨트롤러에서 테이블을 계산하고 각 라우터에게 전달하면 된다. 하지만 per-router control plane에서는 각 라우터에서 구현되어야 하며, 모든 라우터와 링크 상태 정보를 공유해야 된다.

    Software Defined Networking (SDN)

    data plane switches

    - data plane 포워딩을 구현한 빠르고, 간단한 범용 스위치

    - data plane에서 flow table을 계산하지 않고 컨트롤러가 계산한 switch flow table을 사용해 데이터그램을 포워딩한다.

    - 테이블 기반 스위치 제어에 대한 API를 가진다.

    - 프로토콜을 사용해 컨트롤러와 소통한다.

     

     

     

     

     

     

     

     

     

    SDN controller

    - 네트워크 상태 정보를 유지한다.

    - southbound API를 통해 data plane switch와 소통한다.

    - northbound API를 통해 네트워크 제어 어플리케이션과 소통한다.

    - performance, scaliability, fault tolerance, robustness를 위해 분산 시스템으로 구현되어 있다.

     

     

     

     

     

     

     

     

     

    network-control applications

    컨트롤러가 제공하는 하위 서비스와 API를 사용해 제어 기능을 구현한다.

    - routing: SDN 컨트롤러의 노드 상태 및 링크 상태 정보를 사용하여 다익스트라 알고리즘을 통해 엔드 투 엔드 경로 결정

    - access control: 스위치에서 차단할 패킷 결정 (e.g., 방화벽)

    - load balancing: 스위치 간의 트래픽 조정

     

     

     

     

     

     

     

     

     

    OpenFlow protocol

    - 컨트롤러와 스위치 사이에서 작동한다.

    - TCP를 사용해 메시지를 교환한다.

    - 컨트롤러 → 스위치 메시지

      - Modify-State: 컨트롤러가 switch flow table 안에 항목을 추가, 삭제, 수정한다.

      - Read-State: 컨트롤러가 switch flow table로부터 상태 정보를 수집한다.

    - 스위치 → 컨트롤러 메시지

      - Port-Status: 포트 상태를 바꾼다. (e.g., 링크가 중단된 경우)

     

     

     

     

     

    댓글

Designed by Tistory.