가상 네트워크 인터페이스
가상 네트워크 인터페이스(virtual network interface, VNI)는 네트워크 인터페이스 컨트롤러에 직접 대응할 수도 있고 그렇지 않을 수도 있는 컴퓨터 네트워크 인터페이스의 추상적 가상화 표현이다.
운영체제 수준
[편집]운영 체제 커널이 메모리에 가상 네트워크 인터페이스 테이블을 유지하는 것이 일반적이다. 이를 통해 시스템은 관련된 물리적 인터페이스(또는 직접적인 물리적 인터페이스인지, 예를 들어 터널이나 브리지 인터페이스인지 여부)와 관계없이 이러한 정보를 저장하고 작동할 수 있다. 또한 시스템의 프로세스가 단순히 단일 무정형 "인터넷"(알 수 없는 용량 또는 성능)을 가정하는 것보다 더 세부적인 방식으로 네트워크 연결과 관련하여 상호 작용할 수 있다.
W. 리처드 스티븐스(W. Richard Stevens)는 "TCP/IP Illustrated"라는 제목의 논문 2권에서 멀티캐스트 라우팅에 대한 논의에서 커널의 가상 인터페이스 테이블을 언급한다. 예를 들어, 멀티캐스트 라우터는 물리적 인터페이스와 터널을 나타내는 인터페이스에서 다르게 작동할 수 있다(예: 물리적 인터페이스에 대한 멤버십 정보만 수집해야 할 수 있음). 따라서 가상 인터페이스는 물리적 인터페이스를 직접적으로 나타내는지 여부와 같은 일부 세부 사항을 사용자에게 공개해야 할 수도 있다.[1]
사용자 공간 애플리케이션이 추상 네트워크 인터페이스 연결을 참조할 수 있도록 허용하는 것 외에도, 일부 시스템에서는 가상 인터페이스 프레임워크를 통해 프로세스가 주어진 물리적 인터페이스를 계층적으로 추상 인터페이스로 세분화하여(기본 운영 체제 동작을 넘어서) 공유를 더 잘 조정할 수 있다. 지정된 대역폭 제한과 큐잉 모델을 사용한다. 이는 이탈할 수 없는 해당 계층 구조의 제한된 가지를 상속함으로써 프로세스의 제한을 의미할 수 있다.
이러한 추가 네트워크 추상화 계층은 불필요한 경우가 많으며 성능이 약간 저하될 수 있다. 그러나 이러한 추상화 계층을 사용하여 성능 병목 현상을 해결하고 실제로 최적화 목적으로 커널을 우회하는 것도 가능하다.[2]
응용 프로그램 수준
[편집]VIF라는 용어는 애플리케이션이 네트워크 인터페이스를 가상화하거나 추상화할 때도 적용되었다. 대부분의 소프트웨어는 네트워크 인터페이스의 세부 사항에 관심을 가질 필요가 없고 원하는 추상화가 이미 운영 체제를 통해 제공될 수 있으므로 이러한 사용은 거의 없다.
같이 보기
[편집]각주
[편집]- ↑ W. Richard Stevens; Gary R. Wright (1995), 《TCP/IP Illustrated, Volume 2: The Implementation》, Addison-Wesley, 401–434쪽, ISBN 0-201-63354-X
- ↑ Jin-Soo Kim; Kangho Kim; Sung-In Jung (2001), 〈Building a high-performance communication layer over virtual interface architecture on Linux clusters〉, 《Proceedings of the 15th international conference on Supercomputing》, ACM, 335–347쪽, doi:10.1145/377792.377858, ISBN 158113410X, S2CID 947584, 2009년 2월 9일에 확인함