110
클라우드 네이티브를 위한 데이터 센터 네트워크 구축
급 업체 특정 사용자 공간만 사용할 수 있는 모델의 경우에는 애플리케이션을
NOS
공급 업체
의
API
를 사용하도록 수정해야 한다. 더 간단하게 설명하자면 매일 사용하는
ping
이나
SSH
조
차
NOS
에서 동작하도록 수정해야 한다. 하지만 커널 모델은 어떤 애플리케이션이든지 표준
리눅스
API
를 사용한다면 잘 동작한다. 예를 들어 연구원들이 커널 모델에서 새로운 라우팅 프
로토콜을 시험해볼 수도 있다. 더욱이 리눅스는 그 어떤 사용자 공간 애플리케이션이 망가지지
않도록
API
가 거의 변경되지 않는다. 따라서 기존 애플리케이션(재컴파일해야 할 수도 있다)
동작이 다음 버전 커널에서도 그대로 동작한다는 것을 보장한다. 하이브리드 모델에서는 서드
파티 애플리케이션이 커널 상태(
IP
라우팅 같은)와 동기화하는 것에만 의존하면 표준 리눅스
API
를 사용할 수 있다. 하지만 그렇지 않은 경우에는 반드시 공급 업체 특정
API
를 사용해야
한다.
4.3.2
스위칭 실리콘 프로그래밍
NOS
에서 로컬 네트워크 상태를 처리하고 나면 어떻게 스위칭 실리콘에 그 상태를 전달할 수
있을까? 스위칭 실리콘은 이더넷
NIC
이나 디스크와 같은 장치이므로 당연히 장치 드라이버가
이를 수행한다. 드라이버는 전통적인 장치 드라이버처럼 리눅스 커널 내에 구현되거나 사용자
공간에서 구현될 수 있다.
이 책을 집필한 시점에서 가장 일반적인 모델은 드라이버를 사용자 공간에 배치한다. 이렇게 하
는 이유는 대부분의 스위칭 ...