반응형
SDN
Software-Defined Networking
Router 의 개수도 많아지고, 단순히 Router 가 Routing 경로를 결정하는 것보다
해야 할 일들이 많아지면서 control plane 에서 정책들을 결정하고 이에 따라
Routing 을 할 수 있도록 만들기 위해 등장 !
control plane 과 data plane 을 나누고
Router 들에게서 정보를 받아서 중앙 집중식으로 table 을 만든 후, (control plane)
다시 Router 들에게 해당 정보를 뿌려서 Routing 할 수 있도록 하는 방식 ! (data plane)
Router 들은 각각 CA 라는 control agent 가 있고, 이를 통해서 remote controller (서버) 는
정보를 수집한다. 수집한 정보를 바탕으로 Routing 정보를 만들어내고
다시 Router 에 이를 알려주는 형태 !
Router 들이 클라이언트가 되고, 컨트롤러(서버)와 데이터를 주고 받을 때
OpenFlow 라는 프로토콜을 이용해서 통신한다.
OpenFlow 프로토콜은 TCP 위에서 동작 !
라우터들에서 수집한 정보를 바탕으로,
Link-state 알고리즘을 통해서 새로운 라우팅 정보를 Router 에게 다시 전달하는 방식.
OpenFlow : controller-to-switch message
- features
- configure
- modify-state
- packet-out
OpenFlow : switch-to-controller message
- packet-in
- flow-removed
- port status
다양한 형태의 ID 를 보고 포워딩할지, 패킷을 drop 시킬 것인지 등 여러 결정을 하게 된다.
아래 예시를 참고하자 !
각 예시는 아래와 같다.
- 예를 들어 51.6.0.8 IP 주소로 향하는 패킷은 항상 6번 포트로 내보내라 !
- TCP 도착 포트 정보가 22번 (SSH) 이면 패킷을 DROP 시켜라 !
- 128.119.1.1 IP 주소에서 오는 패킷은 DROP 시켜라 !
- 22:A7:23:11:E1:02 MAC 주소에서 보내는 패킷은 3번 포트로 내보내라 !
728x90
반응형