Generalized Forwarding, SDN

CinnamonTree·2022년 6월 4일
0

네트워크

목록 보기
6/7
post-thumbnail

SDN = software defined network: forwarding을 조금 더 일반화시키는 네트워크

Match+action

라우터들은 forwarding table을 하나씩 다 갖고 있다.
패킷이 라우터에 들어오면 매치를 해서 destination을 비교, 기타 field값을 비교하여 같으면 action을 취한다.
destination-based forwarding: 목적이 IP주소를 기반 forwarding.
generalized forwarding:

  • 다른 헤더 필드를 통해 action을 지정할 수 있다.
  • 다양한 action이 가능하다: drop/copy/modify/log packet
  • forwarding table을 flow table이라 부르며 일반화시킴.
    • flow: 헤더 필드의 값들로 의해 정의됨.
    • match: 패킷 헤더 필드를 패턴매치함.
    • priority: 패턴 매칭이 여러개 되면 어떤 action 을 먼저 취할것인지
    • counters: 몇 bytes, 몇 packets를 전송하는지 기록하는 column

OpenFlow

ex)
Block all datagrams sent by host 128.119.1.1

Match + action을 통해 다양한 디바이스를 하나로 통합할 수 있다.

  • Router:
    • match: longest dest IP prefix
    • action: forward out a link
  • Switch
    • match: dest MAC address
    • action: forward or flood
  • Firewall
    • match: IP addr and TCP/UDP port numbers
    • action: permit or deny
  • NAT
    • match: IP addr and port
    • action: (modify) rewrite address and port

MiddleBoxes

source host와 dest host사이의 path에 있는 기능을 수행하는 기기들(router, NAT, Firewall, Load balancer, Caches 등)을 middleBox라고 한다.
proprietary(closed) hardware(specialized machine)에서 Open API를 통해programmable한(=> network functions virtualization) whitebox hardware로 진화하였다. 여기에 SDN이 중추적인 역할을 함.

0개의 댓글