개요
공유기, 라우터 등에 설정 페이지 (ex. 192.168.0.1)에 접속해서 라우팅 테이블 등을 마음대로 바꿀 수 있다.
한 회사의 장비만 사용한다면 라우팅 규칙을 바꾸는 일을 자동으로 하는 스크립트를 만들 수 있을 것이다.
하지만 여러 종류의 장비를 한꺼번에 컨트롤 하려면 표준화된 인터페이스가 필요하다.
OpenFlow는 각 장비들을 한꺼번에 컨트롤 할 수 있는 표준화된 프로토콜이다.
이를 제어하는 프로그램/스크립트를 OpenFlow controller라고 부르고 그 예시로는 OpenDaylight등이 있다.
OpenFlow를 지원하는 장비를 흔히들 Software Defined Network (SDN) 장비라고 부른다.
이들 장비가 기존 컴퓨터와 다른 점 중 대표적인 것이 바로 TCAM이 내장되어 있다는 것이다.
일반 컴퓨터에서는 search "192.168.0.1" 같은 작업을 직접 실행해야 했지만 TCAM 하드웨어를 사용하면 이러한 연산을 초당 수천만번 이상 수행할 수 있게 되고 이는 네트워크 상에 지나가는 모든 패킷을 처리할 수 있는 양이다.
리눅스 머신을 사용하고 있다면 openvswitch 를 받아서 SDN 장비를 가상으로 돌려볼 수 있다.