SSH는 무엇을 위해 UDP를 사용합니까?


40

Wile은 연구를 통해 SSH가 TCP와 UDP를 모두 사용한다는 것을 알았습니다. TCP의 사용법을 완전히 이해하지만 UDP는 약간 이상해 보입니다. 안전한 쉘 액세스를 위해 최소한의 핸드 쉐이킹으로 "신뢰할 수없는"전송 프로토콜을 사용하는 이유는 무엇입니까?

내가 생각할 수있는 유일한 용도는 SCP를위한 것이므로 (큰) 파일 전송입니다. 그러나 핸드 셰이 킹 때문에 TCP가 더 유용하지 않습니까?

사실, SSH를 위해 TCP를 여는 것만 고려하고 있지만 그 의미를 아는 것은 상당히 해 롭습니다.


편집하다

UDP를 통한 ssh에 대한 논문뿐만 아니라 mosh 라는 완전한 ssh 구현도 있습니다. 그러나 클래식 ssh는 여전히 RFC에 지정된대로 TCP 만 사용합니다 .


2
SSH가 왜 UDP를 사용한다고 생각하십니까? Windows에서 Unix로, Unix에서 Unix로 여러 SSH 연결로 시도했지만 포트 22에서 단일 UDP 패킷을 얻지 못했습니다. 또한 서버는 TCP에서만 수신합니다.
mtak

1
글쎄, Wikipedia는 많은 en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers를 알려줍니다. 또한 웹 사용자는 ssh-udp 콤보를 통해 몇 가지를 터널링하는 것처럼 보이지만 TCP가 아닌 UDP를 사용하는 이유는 분명하지 않았습니다. 따라서 내 질문.
alex

논문에서 그들은 SSH 전송을 위해 UDP를 구현하려고 시도했지만 기본적으로 TCP 만 사용한다고 언급했다. ". OpenSSH는 모든 네트워크 연결과 VPN 기능에 일관성있게 TCP를 사용하고있다" SSH 개발자가 UDP 및 TCP 할당에 대한 초기 요청을했기 때문에 Wikipedia 페이지에서 UDP라고 말할 수 있지만 관련 RFC 는 언급하지 않습니다. 그러나 나는 흥미로운 질문에 동의해야한다.
mtak

허. 기대하지 않았습니다. 글쎄, 그 답을 적어 두십시오.
alex

답변:


43

Windows에서 Unix로, Unix에서 Unix로 여러 SSH 연결로 시도했지만 포트 22에서 단일 UDP 패킷을 얻지 못했습니다. 또한 서버는 TCP에서만 수신합니다.

논문에서 그들은 SSH 전송을 위해 UDP를 구현하려고 시도했지만 기본적으로 TCP 만 사용한다고 언급했다. ". OpenSSH는 모든 네트워크 연결과 VPN 기능에 일관성있게 TCP를 사용하고있다" SSH 개발자가 UDP 및 TCP 할당에 대한 초기 요청을했기 때문에 Wikipedia 페이지에서 UDP라고 말할 수 있지만 관련 RFC 는 언급하지 않습니다.


5

... SSH 프로토콜은 TCP를 통한 터널링 제어에 22 / UDP를 사용하거나 사용했습니다. Wireshark를 통해 올바르게 디코딩되고 ssh-agent 또는 원격 또는 로컬 터널링을 통해 연결을 터널링하는 경우 TCP 세그먼트 내에 UDP가 캡슐화되어 있음을 알 수 있습니다.

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