본문 바로가기

IT/SDN with Java Socket Programming

[Openflow/SDN]Java로 SDN을 위한 Openflow Controller 를 만들기 위해 공부하면 좋은 사전 지식들

이번 포스트는 개인적인 공부를 위해 수시로 업데이트할까 생각중입니다.

SDN을 Java에서 구축함으로써 조금 더 좋은 인터페이스로 시뮬레이션을 하기 위함인데, Openflow가 어떻게 동작하는지, 그리고 스위치와 컨트롤러 사이에는 어떠한 프로세스들이 진행되는지를 알고 싶어 검색하던 도중 발견한 귀한 사이트들을 적어두겠습니다.

 

1) Openflow에 대한 전반적인 지식을 알고 싶은 경우

www.jidum.com/jidums/view.do?jidumId=1076

 

지식덤프

1. OpenFlow의 개념 - 네트워크 장치의 Control Plane과 Data Plane 간의 인터페이스 위한 표준 통신 프로토콜 - 패킷을 제어하는 기능과 전달하는 기능을 분리하고 프로그래밍을 통해 네트워크를 제어하

www.jidum.com

위 링크에서는 Openflow가 무엇이고 Openflow에 대한 전반적인 흐름을 이해하기 쉽게 설명하였습니다. Openflow 스위치와 컨트롤러를 만들기 위해서는 먼제 Openflow가 무엇이고 어떠한 흐름으로 동작하는지를 알아야 했는데 위 사이트에서 궁금증이 해결되었습니다.

overlaid.net/2017/02/15/openflow-basic-concepts-and-theory/

 

OpenFlow - Basic Concepts and Theory - Overlaid

Spoken in the words of the Open Networking Foundation – one of the key concepts to understanding SDN is the separation of control plane and data plane. Typically a network is comprised of many routers and switches, each exchanging table information to bu

overlaid.net

위 사이트는 말 그대로 Openflow가 무엇인지를 전부 설명해줍니다. 영어가 원문이라 Ji-Dum 사이트보다는 읽기가 불편하다는 단점은 있으나, 내용에 대한 디테일은 위 사이트가 훨씬 좋다고 생각합니다. 조금 길고 영어이긴 하지만 읽으면 많은 도움이 됩니다.

2) Openflow Processing Pipeline

techhub.hpe.com/eginfolib/networking/docs/switches/5950/5200-4024_openflow_cg/content/499752685.htm

 

OpenFlow flow table

An OpenFlow switch matches packets with one or more flow tables. A flow table contains flow entries, and packets are matched based on the matching precedence of flow entries. OpenFlow flow tables include the following types: MAC-IP—Combines the MAC addre

techhub.hpe.com

Openflow를 공부하다 보니 자주 등장하는 단어는 'pipeline'이었습니다.

"도데체 pipeline이 뭐지?" 라는 궁금증이 가시질 않는데 추상적으로만 설명해주고 정확하게 pipeline이 무엇인지 알 수 없어 이곳 저곳을 찾던 도중 발견한 사이트입니다.

맨 하단에 Pipeline에 대한 설명이 서술되어 있는데, 원문은 다음과 같습니다.

Openflow pipeline processing defines how packets interact with flow tables contained by a switch

즉, Packet이 Openflow 스위치에 있는 flow tables과 어떻게 상호작용되는지에 대한 정의가 되어있는 것을 의미합니다.  그 외에도 flow table type, flow table entry에 대한 설명도 적혀있어 참고하였습니다.

3) Ryu library와 Openflow 1.3

https://book.ryu-sdn.org/ko/html/ofproto_lib.html#id3

 

ofproto 라이브러리 — Ryubook 1.0 documentation

ofproto 라이브러리 이 장에서는 Ryu의 ofproto 라이브러리에 대해 소개합니다. 개요 ofproto 라이브러리는 OpenFlow 프로토콜 메시지의 작성 · 분석을 하기 위한 라이브러리입니다. 모듈 구성 각 OpenFlow

book.ryu-sdn.org

Openflow 1.3에 대한 상세한 정보를 알고 싶다면 Ryubook documentary만큼 좋은 것은 없다고 생각합니다.

Ryu는 Openflow를 이용한 컨트롤러중 하나인데 Openflow를 공부할 때 많은 도움이 됩니다.

 

이 외에도 좋은 사이트들은 많이 존재하지만 검색실력이 부족한 탓에 아직 다 찾지는 못한 것 같습니다.

괜찮은 사이트가 있다면, 댓글로 알려주시면 감사하겠습니다.

혹시 저처럼 처음 Openflow에 대해 공부하시는 분들께 조금이나마 도움이 될까 하여 이 포스트를 작성하였고, 저도 이 포스트를 통해 복습과 업데이트를 해나갈 예정입니다.