공유 메모리는 호스트 OS와 게스트 OS 간에 작동하지 않지만 Unix 도메인 소켓(특히 udp)은 둘 사이에서 통신할 수 있습니다. 이것이 사실입니까?
자세한 설명을 해주시면 정말 감사하겠습니다!
답변1
일반적으로 Unix 도메인 소켓은 호스트 운영 체제와 게스트 운영 체제 간에 통신할 수 없습니다.
Unix 도메인 소켓(예: 명명된 파이프)은 운영 체제 커널에 바인딩됩니다. 호스트와 게스트에서 동일한 Unix 도메인 소켓 파일 노드를 열면 두 개의 서로 다른 가상 네트워크 연결이 생성됩니다. 하나는 호스트 커널에 있고 다른 하나는 게스트 커널에 있습니다. 그들은 완전히 독립적이며 서로 통신할 수 없습니다.
이는 호스트 OS와 게스트 OS가 동일한 커널을 공유하는 경우(예: Linux 네임스페이스/컨테이너를 대신 사용하는 경우)에는 적용되지 않습니다.진짜가상화. 그런 다음 Unix 도메인 소켓을 사용하여 시스템 간 통신을 수행할 수 있습니다.
서로 다른 두 운영 체제 커널 간의 통신을 위해서는 실제 네트워크 프로토콜(예: IPv4/IPv6)을 사용해야 하거나 사용되는 가상화 소프트웨어에 특정한 조치를 취해야 합니다.