가상 네트워크 인터페이스

가상 네트워크 인터페이스(virtual network interface, VNI)는 네트워크 인터페이스 컨트롤러에 직접 대응할 수도 있고 그렇지 않을 수도 있는 컴퓨터 네트워크 인터페이스의 추상적 가상화 표현이다.

 운영체제 수준 
운영 체제 커널이 메모리에 가상 네트워크 인터페이스 테이블을 유지하는 것이 일반적이다. 이를 통해 시스템은 관련된 물리적 인터페이스(또는 직접적인 물리적 인터페이스인지, 예를 들어 터널이나 브리지 인터페이스인지 여부)와 관계없이 이러한 정보를 저장하고 작동할 수 있다. 또한 시스템의 프로세스가 단순히 단일 무정형 "인터넷"(알 수 없는 용량 또는 성능)을 가정하는 것보다 더 세부적인 방식으로 네트워크 연결과 관련하여 상호 작용할 수 있다.

W. 리처드 스티븐스(W. Richard Stevens)는 "TCP/IP Illustrated"라는 제목의 논문 2권에서 멀티캐스트 라우팅에 대한 논의에서 커널의 가상 인터페이스 테이블을 언급한다. 예를 들어, 멀티캐스트 라우터는 물리적 인터페이스와 터널을 나타내는 인터페이스에서 다르게 작동할 수 있다(예: 물리적 인터페이스에 대한 멤버십 정보만 수집해야 할 수 있음). 따라서 가상 인터페이스는 물리적 인터페이스를 직접적으로 나타내는지 여부와 같은 일부 세부 사항을 사용자에게 공개해야 할 수도 있다.

사용자 공간 애플리케이션이 추상 네트워크 인터페이스 연결을 참조할 수 있도록 허용하는 것 외에도, 일부 시스템에서는 가상 인터페이스 프레임워크를 통해 프로세스가 주어진 물리적 인터페이스를 계층적으로 추상 인터페이스로 세분화하여(기본 운영 체제 동작을 넘어서) 공유를 더 잘 조정할 수 있다. 지정된 대역폭 제한과 큐잉 모델을 사용한다. 이는 이탈할 수 없는 해당 계층 구조의 제한된 가지를 상속함으로써 프로세스의 제한을 의미할 수 있다.

이러한 추가 네트워크 추상화 계층은 불필요한 경우가 많으며 성능이 약간 저하될 수 있다. 그러나 이러한 추상화 계층을 사용하여 성능 병목 현상을 해결하고 실제로 최적화 목적으로 커널을 우회하는 것도 가능하다.

응용 프로그램 수준
VIF라는 용어는 애플리케이션이 네트워크 인터페이스를 가상화하거나 추상화할 때도 적용되었다. 대부분의 소프트웨어는 네트워크 인터페이스의 세부 사항에 관심을 가질 필요가 없고 원하는 추상화가 이미 운영 체제를 통해 제공될 수 있으므로 이러한 사용은 거의 없다.

 같이 보기 
 루프백

 각주 

 외부 링크 
 Linux Network Interfaces

분류:컴퓨터 네트워크