SSH는 일반적으로 얼마나 많은 데이터를 사용합니까?


24

3G 연결을 통해 연결되는 랩톱 (Ubuntu)에 ssh하고 싶습니다. 따라서 적합한 계획을 선택하는 데 사용할 데이터의 양을 추정해야합니다.

사용할 데이터 양을 쉽게 결정할 수있는 파일 전송과 별도로 ssh 세션이 사용하는 일반적인 양은 얼마입니까? 예를 들어 ls50 개의 항목이있는 디렉토리에서 사용 하면 특정 양의 데이터가 필요 하다는 관계 가 있습니까? 아니면 시간에 더 의존적이며 ssh 세션은 사용에 관계없이 시간 간격마다 특정 양의 데이터를 전송합니까?

답변:


15

ssh 세션이 사용하는 일반적인 양은 얼마입니까?

"일반"인지 확실하지 않습니다.

tcpdump -ni eth0 -w dump port 22모든 패킷을 캡처 한 다음 확인 tcpdump -nX -r dump하려면 실행해야 합니다.

예를 들어 50 개의 항목이있는 디렉토리에서 ls를 사용하면 특정 양의 데이터 비용이 발생합니다.

당신은 그것을 계산할 수 있습니다. 대략적인 추정으로, 모든 키 스트로크는 4 개의 패킷 (키 프레스, ack, 화면의 에코, ack)을 생성하며 각 패킷에는 엄청난 오버 헤드가 있습니다. (TCP 덤프는 500 바이트로 2자를 입력합니다.)

내 디렉토리 135 개의 파일 목록에는 2.5k가 걸렸습니다.

ssh -C압축을 사용 하면 더 큰 텍스트에 도움이됩니다.

아니면 시간에 더 의존적이며 ssh 세션은 사용에 관계없이 시간 간격마다 특정 양의 데이터를 전송합니까?

예. TCP와 SSH에는 모두 keepalive 프로브가 있습니다. 항상 유지하면 문제가됩니다. 다시 TCPDump를 사용하여 측정하십시오.

내 충고 : 걱정하지 말고 실제로 사용량에 대한 실시간 피드백을 받으십시오. 몇 개의 세션을 사용한 후에는 얼마나 가까운 지 알 수 있습니다.


1
tcpdump에 의해 캡처 된 패킷의 총 크기를 찾으려면 tcpdump에 capinfo의해 작성된 파일에서 (Wireshark에서) 사용할 수 있습니다 . 예capinfos dump
Flux

8

비슷한 설정 (원격 Ubuntu 랩톱의 3G 연결)이 있습니다.

나는 "일반적인"답변이 없다는 데 동의하지만 (자신의 사용법과 "keepalive"빈도, ssh 압축 및 아마도 다른 ssh 옵션과 같은 sshd / ssh 옵션에 따라 다름) 동의하지만 기본을 줄일 수있었습니다. 유휴 ssh 대역폭은 0.2-0.3MB / 시간 (200MB / 월까지 작동)입니다.

tcpdump를 사용한 다음 wireshark를 사용하여 대역폭 사용량을 시각화하고 측정했습니다 (ifconfig를 사용하여 인터페이스의 RX 바이트 / TX 바이트 외에도).

내 장비의 0.2-0.3MB 대역폭에는 다음 옵션이 있습니다.

이것이 아니라면 비슷한 설정을 가진 다른 사용자에게 도움이되기를 바랍니다.


3

SSH는 기본적으로 명령과 화면 출력을 전송합니다. 명령 줄 작업을하는 경우 대략적인 추정치는 화면의 문자 당 바이트입니다.

분명히 X 세션, SCP를 터널링하여 파일 등을 전송하면 대역폭이 증가합니다.

약간의 오버 헤드가 있기 때문에 대략적인 견적이라고 말합니다. -C 플래그를 사용하여 압축을 요청할 수도 있습니다.


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