[컴퓨터 네트워크] OverFlow

신현식·2022년 11월 23일
0

컴퓨터 네트워크

목록 보기
25/34

OverFlow

OpenFlow는 SDN에서 controller와 라우터간에 이용하는 인터페이스 기술 중 하나로, 네트워크를 통해 네트워크 스위치 또는 라우터의 전달 평면에 대한 액세스를 제공하는 통신 프로토콜이다. 네트워크 컨트롤러가 스위치 네트워크에서 네트워크 패킷의 경로(전달 테이블)를 결정할 수 있도록 해준다.
즉 서버가 라우터한테 라우터의 forwarding table를 전송하기 위해서 필요한 프로토콜이다.

📌 OpenFlow data plane

흐름 테이블 항목과 일치하지 않는 패킷은 추가 처리를 위해 원격 컨트롤러로 전송 또는 삭제된다. (DPI: deep packet inspection, 심층 패킷 검사)

header의 flow field에 의해 OpenFlow가 정의된다.

  • 패킷의 header fields의 값들을 매치해서 어떠한 Pattern을 만들어준다.
  • 매치가 된 패킷에 대해서 특정한 Action(forwarding, drop, modify 등)을 만들어 준다.
  • 우선순위를 정할 수 있다.
  • byte나 packet number에 대해서 counting할 수 있다.

📌OpenFlow: Flow table

  • OpenFlow로 가는 것은 Flow Table Entries를 자유자재로 생성하고 갱신할 수 있다.
    Rule, Action, Stats(통계)를 포함하는 Rule이 있다. 이 Rule로 Action을 할 수 있다.
    Link layer의 header, Network layer의 header, Transport layer의 header 각각 계층의 header 정보를 수집해서 통계를 만들고, Action을 만들 수 있다.

라우터가 직접 계산하지 않고 SDN 컨트롤러가 계산해서 값을 라우터에 전달해준다.

  • Destination-based forwarding : Link layer의 header는 무시하고, des IP주소가 51.6.0.8이면 port 6번으로 내보내겠다는 Action을 한다.
  • Firewall : TCP의 des port가 2번이면 drop한다. 또, scr IP가 128.119.1.1이면 drop한다.

    💡 OpenFlow 예시

    match와 Action에 대한 Rule들을 전부 라우터든 이더넷 스위치든 전부 설정할 수 있다. 따라서 시나리오를 통한 연습이 필요하다.

    1번: Match-plus-action in Action

    1. src IP주소가 10.3.x.x, des IP주소가 10.2.x.x이면 3번 인터페이스로 보낸다.
    2. 1번에서 들어오는 것에 대해서 src IP주소가 10.3.x.x이고, des IP가 10.2.x.x이면 4번 인터페이스로 보낸다.
    3. 2번에서 들어오고, des IP주소가 10.2.0.3이면 3번으로 보낸다. 10.2.0.4이면 4번으로 보낸다.

    2번: load balancing

    • 호스트별로 라우팅 방향을 다르게 지정해줄 수 있다. RIP는 한쪽 방향으로밖에 못간다.
    • 3번으로 들어오고 des IP주소가 10.1.x.x이면 2번으로 보낸다.
    • 4번으로 들어오고 des IP주소가 10.1.x.x이면 1번으로 보낸다.

    3번: firewalling

    • s3라우터가 보낸 패킷만 받고싶다는 것을 나타낸다.
    • s2에 IP src가 10.1.x.x와 관련된 정보가 없음으로 패킷을 받지 않는다.
profile
전공 소개

0개의 댓글