내가 읽고있다https://security.stackexchange.com/questions/120612/x-windows-security-vnc-and-x-server-vs-xpra. 다음 시나리오에서는 어떤 프로토콜이 캡슐화되어 있습니까? 즉, 어떤 프로토콜 위에 있습니까?
X 프로토콜을 사용할 때
ssh -X
SSH 프로토콜(그리고 TCP 프로토콜) 위에 위치합니까 ? x 클라이언트가 원격 호스트에서 실행되고 x 서버가 로컬 호스트에서 실행되고 있습니까?SSH 대신 VNC를 사용할 때 X 프로토콜은 VNC(예: RFB) 프로토콜 위에 위치하며, VNC 프로토콜은 TCP 프로토콜 위에 위치합니까? 아니면 x 클라이언트와 x 서버가 모두 원격 호스트에서 실행되고 있고 VNC 프로토콜은 원격 데스크톱의 스냅샷만 로컬 호스트로 전송합니까?
VNC 및 SSH를 사용할 때 X 프로토콜은 VNC(예: RFB) 프로토콜 위에 있고 SSH 프로토콜 위에 위치합니까(TCP 프로토콜 위에 위치함)?
SSH 대신 xpra를 사용할 때 X 프로토콜이 TCP 프로토콜 위에 위치합니까? x 클라이언트가 원격 호스트에서 실행되고 x 서버가 로컬 호스트에서 실행되고 있습니까?
xpra는 전체 데스크탑을 전달할 수도 있습니다. X 클라이언트와 X 서버가 모두 원격 호스트에서 실행되는 VNC 프로토콜처럼 작동합니까?
SSH와 함께 xpra를 사용할 때 X 프로토콜이 SSH 프로토콜 위에 위치합니까(따라서 TCP 프로토콜 위에 위치합니까)?
- xpra와 VNC의 차이점은 xpra는 X 프로토콜을 완전히 구현하는 반면 VNC는 VNC 프로토콜을 완전히 구현하고 외부 X 프로토콜과 함께 사용해야 한다는 것입니다. 그렇다면 VNC 프로토콜을 사용하면 어떤 이점이 있습니까?
감사해요.
답변1
그렇습니다. X11 프로토콜은 SSH에 캡슐화되어 있습니다. 클라이언트는 원격 시스템에서 실행되고 서버는 로컬 시스템에서 실행됩니다.
VNC를 사용하면 VNC 트래픽만 네트워크를 통과합니다(선택적 캡슐화,예를 들어SSH를 사용하여). X 서버는 원격으로 실행되고, VNC 클라이언트는 VNC 서버에 연결되며, VNC 서버는 X 서버(또는예X 서버). X 클라이언트는 X 서버에 연결할 수 있는 한 어디에서나 실행될 수 있습니다. 일반적으로 동일한 원격 시스템에 있습니다.
Xpra는 자체 프로토콜을 구현하며 X11을 전달하지 않습니다. 상황은 VNC와 동일합니다. (Xpra는 HTML5를 사용하여 디스플레이를 내보낼 수도 있습니다.)
찾다. Xpra와 VNC의 차이점에는 루트 없는 창에 대한 Xpra의 지원이 포함됩니다(즉단일 창을 내보낼 수 있고 디스플레이에 대한 더 많은 제어 기능을 제공합니다. VNC는 Xpra(1998 v. 2008)보다 오래되었으며 QEMU와 같은 도구에서 기본적으로 지원되며 Xpra보다 더 많은 플랫폼에서 클라이언트를 사용할 수 있습니다. 둘 다 다양한 시스템(X11, Windows, macOS)에서 디스플레이를 내보낼 수 있습니다.