지난 강의 복습

 

  • 데이터 플레인 : 어떻게 라우팅을 할 것인가
  • fragmentaion -> assemble
  • address의 계층적 구조 -> host part
  • NAT : IPv4의 할당이 끝났음에도 계속 할당받아서 사용 받을 수 있는지 -> address table router
  • IPv6 terneling

 


 

Generalized Forwarding and SDN

 

 

  • forwarding을 할때 중앙 SDN서버에서 룰을 주고 그 룰에 의해서 일반화된 forwarding
  • match, action
  • OpenFlow : SDN을 하기위한 표준
  • 외부 어떤 포트로 보낼 것인가? packet에 들어있는 정보 : source
  • address가 매칭되는 부분에 대한 값이 header에
  • counters : flow가 얼마나 됐는지 counter
  • action : 어느 곳에 보낼 것인지, drop을 할 것인지
  • local forwarding table : logically- routing controller에 의해 만들어짐

해당하는 인풋에 대한 액션을 다이나믹하게 바꿀 수 있음 -> 소프트웨어로 정의된 네트워크

 

  • OpenFlow data plane abstraction
    • 데이터를 간결화
    • 헤더 필드에 의해 정의
    • 룰을 적용하여 일반화된 forwarding을 함
    • pattern : 패킷 헤더 필드안에 매치시킴
    • action : drop, forwarding, modify(소스와 목적지를 바꾸는 것이 아니라 다른 것들을 수정하는 것), 매치된 패킷을 controller(중앙집중적인 메인서버)로 전송 -> SDN을 위해 사용되는 패킷들
    • priority : 여러개의 패턴이 있는데, 같은 범위안의 겹치는 패턴의 모호성을 없앰
    • counters : 어느 곳으로 보냈는지 count하여 네트워크의 traffic volum을 파악
    • Flow table : 매치 + 액션, 룰에 대하여 정의할 수 있음
    • 예제

  1. 1.2.*.*에서 전송하고 dest가 3.4.5.*의 모든 곳으로 가는 것들을 드랍 -> 드랍 후 재전송이 있을 수 있음
  2. 모든 곳에서 전송하고 목적지가 3.4.*.* 범위 내의 것들 모두 2번으로 forwarding
  3. 10.1.2.3 에서 전송한 데이터는 모든 dest로 가는 것들을 컨트롤러가 확인하겠다(컨트롤러에 전송) -> 컨트롤러는 local마다 하나씩 존재하여 서로 정보를 주고 받음

Flow Table Entries 

 

  • Rule : 헤더에서 link layer, Network layer, Transport layer
  • SDN은 네트워크 레이어에서 사용되지만 하위 레이어(링크)에 대한 룰을 정의 가능
  • Action : 포워딩, 컨트롤러로 포워딩, 드랍, 원래 프로세싱(기본 router)으로써 작동하라, 수정하라
  • stats : 얼마나 많은 flow가 있었는지 counter와 Packek
  • 예제

 

  • Destunation-based forwarding : IP Dst가 51.6.0,8로 향하는 모든 데이터그램을 받으면 port6로 forwarding하라

 

  • Firewall : 22번 port number로 들어오는 데이터들은 드랍
      1. data는 source port number, dest port number가 가장 먼저 저장되어있음

    • 지정된 소스로부터 온 데이터는 다 드랍하라

    • Mack address를 지정하여 그로부터 오는 데이터를 port3으로 보내라

    OpenFlow abstraction

     

    • Router
      • match : longest IP prefix matching -> 이전시간에 배운 것 and하여 해당하는 action을 취함
      • action : forward out a link
    • Switch
      • match : 목적지 MAC주소
      • action : forward 혹은 flood
    • Firewall
      • match : IP 주소 및 TCP / UDP 포트 번호
      • action : 허가 또는 거부
    • NAT 가능
      • match : IP 주소 및 포트
      • action : 주소와 포트 재 작성 -> 해당하는 내부 망(IP address와 port)
    • 예제

    • 호스트 h5 및 h6의 데이터 그램을 s3을 통해 h3 또는 h4로 보내야하고 s2를 통해 s2로 보내야합니다.
      1. 소스가 10.3. 으로 시작하고 목적지가 10.2. 로 시작하는 서브넷들이 s3로 오면 패킷을 3번으로 forwarding
      2. 소스가 10.3. 으로 시작하고 목적지가 10.2. 로 시작하면 4번으로 전송
      3. 목적지가 10.2.0.3이면 3번으로 10.2.0.4이면 4번으로 전송

    '네트워크 설계' 카테고리의 다른 글

    [11월28일]chapter 6 - Link layer and LANs  (0) 2018.12.03
    [11월21일]IP addressing  (0) 2018.11.25
    [11월19일]IP:Internet Peotocol  (0) 2018.11.23
    [11/14]Chapter 4: network layer  (0) 2018.11.20
    [11월12일]TCP congestion control  (0) 2018.11.17

    + Recent posts