SDN expert group 세미나 - Play with DPDK
Page content
세미나 내용
- Controller –(OpenFlow)– ovs-switchd –(netlink)– Datapath
- Datapath is in the kernel space
- OVDK move the kernel based OVS to user space.
- ovs-switched talk to OVDK with UDP
- 기존 OVDK는 port별 task handler(각각 별도의 core에서 동작)
- 그 결과 많은 core 필요
- WR 이야기처럼 VM간 혹은 VM과 외부와의 통신을 담당하는 OVS용으로 많은 core를 사용하면 실제로 VM이 사용할 수 있는 core 개수가 줄어들어 문제
- virtIO 사용시 VM에서 동작하는 application이 kernel stack의 필요한 경우 결국 OVDK와 VM내 커널 space간 copy가 필요함
- 최신 버전에서는 VM에서도 KNI based virtIO를 이용하도록 개선함. 확인 필요
- Rainbow platform
- DPDK의 log library를 이용해서 외부 log server로 실시간으로 메시지 보냄. sFlow나 netFlow는 실시간이 아니라고. 음..
- log library에 대한 확인 필요. 쓸만하면 log library를 별도로 만들지 말고 이걸 사용하는 것도 좋을 듯.
- log server는 NoSQL을 이용한 분석 서버라고
- 분석 서버에서 실시간 분석해서 의심되는 패킷을 받으면 OVS들에 명령을 내려 별도 DPI 서버로 경유하도록 해서 쉽게 Service Chaining 을 구현할 수 있다.
DPDK를 접한 지는 오래 되었지만 초반에 한번 플랫폼이 정리된 후 크게 개선하지 못했다. 딱히 요구사항이 없어서 나름 안정된 걸 건드릴 이유를 찾지 못한 것이 표면적인 이유지만, 실은 기능 혹은 성능 개선을 해서 얻는 실질적인 장점이 별로 없어서.
대신 DPDK가 나올 때마나 계속해서 새 버전을 이용할 수 있도록 미리미리 준비는 했지만.
DPDK 내부를 공부하는 것도 흐지부지 하고, 그렇다고 가상화를 제대로 한 것도 아니고. 쩝.