일부 컴퓨터의 LAN에서 SSH "lag", 혼합 배포판


9

몇 달 동안 LAN 내부의 SSH 연결에 이상한 문제가있었습니다. Windows 10 장치를 사용하여 (베어 본) Linux 시스템에 연결하는 경우에만 발생합니다.

SSH 서버에 연결할 때 매 초마다 한 번만 입력이 전송되는 것과 같습니다. 키를 누르고 있으면 1 초 동안 아무 것도 인쇄되지 않으며 1 초 후에 그 동안 수행 한 모든 키 입력을 볼 수 있습니다.

이것이 작동하는 서버에서 보이는 방식입니다.

이것이 문제가있는 사람들에게 어떻게 보이는지입니다.

내가 테스트 / 발견 한 것들

  • / etc / sshd에서 "UseDNS"설정을 변경해도 문제가 해결되지 않습니다
  • 데비안의 bash (및 zsh) (OpenSSH_7.4p1 Debian-10 + deb9u6, OpenSSL 1.0.2r 2019 년 2 월 26 일) 및 Ash on Alpine Linux (OpenSSH_7.9p1, OpenSSL 1.1.1b 2019 년 2 월 26 일)
  • Alpine Linux OpenSSH_7.7p1, LibreSSL 2.7.4에서는 발생하지 않습니다.
  • 모든 기계에서 발생하는 것은 아니며 일부 장치에서만 발생합니다 (디 스토리에 따라 다름)
  • resolv.conf가 정확합니다
  • ClientAliveInterval의 유무에 관계없이 오류가 발생합니다 (클라이언트 및 서버에서 테스트)
  • 장치를 핑하는 것은 항상 빠르므로 (1ms 미만) SSH 만 가능합니다
  • 또한 Windows 10의 Linux 하위 시스템과 Putty 및 MobaXterm에서 ssh하면 지연됩니다.
  • Windows 대신 Linux에서 연결할 때 문제가 없습니다.

누구든지 내가 시도 할 수있는 단서 나 물건이 있습니까? 감사

답변:


15

일반적으로 이것은 Nagle 알고리즘의 표시입니다. . 해당 소켓 옵션을 끌 수 있습니다.

(다른 경우에도 Linux와 Windows 사이에서 비슷한 TCP 지연이 나타났습니다. 어떤 경우에는 TCP Windows 크기와 PSH (Push) 플래그 간의 상호 작용으로 인해 Windows가 늦게 확인하거나 다시 시도했습니다.)


멋진 수정에 감사드립니다! 퍼티 설정에서 "Nagle 알고리즘 비활성화"확인란을 선택 해제했습니다 (기본적으로 체크 표시되어 있음).
Christian

@Christian 확인에 감사드립니다, 나는 대답을 조금 단순화했습니다
eckes

@Christian, 나는 혼란 스럽다. 당신은 사용할 수 월리의 algortihm을, 지금 문자가 않습니다 하지 큰 패킷에 와서? 그것은 나에게 잘못된 길인 것 같으므로 편집 전의 대답이 실제로 더 좋았을 것입니다.
Carsten S

@CarstenS 네, 내가 한 것은 Putty에서 "Nagle의 알고리즘 비활성화"를 선택 취소하는 입니다. 그러나 나는 그것이 퍼티의 구버전이라고 생각합니다. 아마도 체크 박스의 레이블이 잘못되었을 것입니다.
Christian

흠, 정말 이상합니다.
eckes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.