제목에 작성한 것과 같이 '내가 알고 있는' 틀린 지식이나 정보 등이 있을 수 있습니다.
피드백은 감사히 받겠습니다.
용어 정리
SDN = Software Defined Network
Control Plane = 장비를 Control하는 Plane
Data Plane = 데이터(패킷)를 처리하는 Plane
Legacy 장비 = 기존 네트워크 장비
SDN Switch = SDN에서 사용하는 스위치
DPID = SDN Switch 식별자
Flow는 패킷을 처리해주는 규칙의 단위이다.
예를 들어 하나의 SDN Switch에서 Mac이 A인 패킷을 5번 포트로 보내고 싶다면 하나의 Flow가 생성된다.
다음으로 Mac이 B인 패킷을 6번 포트로 보내고 싶다면 또 하나의 Flow가 생성된다.
이러게 생성된 Flow들은 스위치의 Flow Table에 저장된다.
Flow는 Matching Field와 Action을 지정하여 생성하게 된다.
Matching Field에 들어갈 수 있는 내용은 다음 그림과 같다.
자세한 내용은 Openflow Spec를 참고 : Openflow spec v1.3.0 Page 42-46
Action에 들어갈 수 있는 내용은 Drop 또는 특정 포트로 포워딩, 다른 테이블로 전달 등이 있다.
위의 Flow Table 그림을 Matching Field와 Action으로 쓴다면 아래와 같다.
SDN Switch는 하드웨어/소프트웨어 Switch로 볼 수 있다.
하드웨어 스위치는 EdgecorE, Quanta 등 여러 벤더에서 생산하고 소프트웨어 스위치는 대표적으로 OpenVSwitch가 있다.
하드웨어 스위치는 보통 TCAM이라는 메모리에 Flow Table을 저장하고 소프트웨어 스위치는 RAM에 저장한다.
스위치의 메모리가 한정적이기 때문에 Flow Table 관리를 하는 방법에도 많은 연구들이 진행되고 있다.
또한 스위치에 패킷이 도착하였을 때 Matching되는 Flow를 찾는 방법에도 여러가지가 존재한다.
TCAM과 같은 경우에는 one cycle로 한번에 Matching되는 Flow를 찾고 OpenVswitch Tuple Space Search를 사용한다.
Openflow Switch는 Hash기반 / Wildcard 기반으로 Flow Table을 구성하는데
Hash 기반은 패킷의 정보를 해시 함수에 넣어 해시값을 생성하고 해시값을 키(Key)값으로 Flow를 저장한다.
Wildcard 기반은 Wildcard를 사용하여 Flow를 저장한다.
*Openflow Switch는 OpenVSwitch와 다른 소프트웨어 스위치로 Stanford 대학교에서 초창기에 개발한 소프트웨어 스위치
'Dev > ONOS & OF-DPA' 카테고리의 다른 글
(내가 알고 있는) SDN의 모든 것 (1) - 시작 - (0) | 2018.06.04 |
---|---|
[OF-DPA] Spec 문서 (0) | 2018.04.25 |
[ONOS] UNTAGGED Vlan 값에 대해 (0) | 2018.04.24 |
[ONOS App] fwd 분석 (0) | 2017.09.22 |
[OF-DPA] EdgecorE 5712에 ONL 2.0, OF-DPA 3.0 EA 설치하기 (0) | 2017.08.09 |