101
4
장
네트워크 운영체제 선택
4.2.2
오픈플로의 문제
오픈플로는 나오자마자 문제가 발견되었다. 단순한 라우팅에서
ECMP
(
2
.
2
.
2
절 참조 )를 사용
할 수 없어 간단한 플로 테이블 룩업 모델조차 제대로 동작하지 않았다. 제어 평면 측면에서는
새로운 플로마다 전송되는 첫 패킷을 받는 중앙 제어 평면을 확장할 수 없는 구조였다. 이 두 가
지는 근본적인 문제였다. 네트워킹 세계에서 플로의 새로운 패킷을 제어 평면으로 보내는 아이
디어는 이미 여러 상업 제품에서 시도되었고 실패로 간주되었다. 이는 확장되지 않았고 캐시 비
움은 개발자가 예상했던 것보다 훨씬 자주 발생했다.
문제는 여기서 끝나지 않았다. 패킷 스위칭을 할 때는 간단한 플로 룩업보다 훨씬 복잡한 과정이
필요했다. 패킷 스위칭 방식을 결정할 때 테이블 여러 개를 참조하거나 같은 테이블을 여러 번
참조하는 과정을 거쳐야 했다.
TTL
을 감소시키고,
IP
헤더의 체크섬을 수행하고, 네트워크 가
상화를 다루는 등의 기능을 어떻게 제어할 것인가? 플로 테이블 무효화의 경우는 또 다른 문제
다. 컨트롤러는 플로를 제거하는 시점을 언제 결정하는가? 그 답은 항상 직관적이지 않았다.
이 모든 문제와 간단한 플로 테이블이 충분하지 않았던 것을 해결하기 위해 오픈플로
1
.
0
이
1
.
1
로 업데이트되었다. 하지만 어떤 패킷 스위칭 실리콘 공급 업체도 이를 지원하지 못했다. 버
전
1
.
2
가 그나마 조금 실용적으로 변경되었다. 제어 평면을 재설계해서 룩업 테이블을 미리 생
성하여 첫 패킷을 컨트롤러로 ...