X11 전달에서 TCP 연결이 이상하게 느려집니다.

X11 전달에서 TCP 연결이 이상하게 느려집니다.

저는 가정용 컴퓨터 H(Linux), 업무용 컴퓨터 W(Mac OS X), IP 11.22.33.44의 공용 서버 S(H와 동일한 Linux)를 가지고 있습니다.

H와 W는 모두 NAT 뒤에 있으므로 autossh를 사용하여 둘 다 S에 연결하고 터널을 통해 서로 통신합니다.

# From H to S
ssh -R :8822:127.0.0.1:22 [email protected]
# From W to S
ssh -R :7722:127.0.0.1:22 [email protected]

저는 사무실에 있을 때 종종 SSH를 통해 H에 연결하고 X11을 다시 전달합니다.

# on W
ssh -X -p 8822 [email protected]
xterm
...

H와 W 모두 S에 대한 대기 시간이 매우 낮으므로(핑 약 2~5ms) 사무실을 옮기고 ISP가 변경되기 전까지는 모든 것이 매우 원활하게 진행되었습니다. W에서 S로의 핑은 낮게 유지되며 X 전달이 시작될 때까지 모든 것이 여전히 빠릅니다. X11을 통해 H에서 xterm을 시작하려고 할 때마다 TCP 연결이 극도로 느려졌습니다. 그러나 W에서 H로 전달되지 않는 다른 SSH 세션은 빠른 속도로 유지됩니다. 응답하지 않는 xterm을 Ctrl-C로 누른 후 전달 SSH 세션이 즉시 응답하도록 복구됩니다.

누군가가 SSH 세션을 지켜보고 있는 것처럼 느껴지며 X11 통신이 이루어질 때마다 속도가 느려집니다. 어느 부분이 잘못되었는지 확인하기 위해 다음과 같은 테스트를 수행했습니다.

# on W
ssh -R 11.22.33.44:6010:127.0.0.1:6000 [email protected]
# on S
DISPLAY=11.22.33.44:10 xterm  # works fine!
# on H
DISPLAY=11.22.33.44:10 xterm  # unresponsive

이상한 점은 xterm이 S에서 시작하면 괜찮다는 것입니다. H에서 오면 H→S 부분이 아니라 W→S SSH 세션에서 타이핑이 매우 느려지면서 멈춥니다. Ctrl-C를 누른 후 xterm이 즉시 복구되었습니다.

H→S 및 W→S가 모두 우수하므로(대기 시간 및 대역폭 측면에서) 네트워크 문제는 아닌 것 같습니다. 터널 위에서 W와 H 사이의 scp는 빠릅니다. lftp fish://HW에서도 잘 작동합니다.

ISP 전환 후 이런 일이 발생했기 때문에 ISP에 의한 트래픽 제한이 있는지 생각했지만 X11 전달은 W와 S 사이 또는 H와 S 사이의 모든 방향에서 잘 작동합니다. 단지 W와 H 사이의 X11 트래픽은 내가 생각할 수 있는 어떤 방식으로든 SSH 연결 속도가 느려집니다.

나는 이 혼란에 대해 깊은 혼란을 겪고 있습니다. 어느 부분을 조사해야 하는지 알아내는 데 도움을 줄 수 있는 사람이 있나요?

관련 정보