3G接続で接続するラップトップ(Ubuntu)にsshで接続したい。したがって、適切な計画を選択するために使用するデータ量を見積もる必要があります。
使用されるデータ量を簡単に判断できるファイル転送とは別に、sshセッションが使用する一般的な量はどれくらいですか?何らかの関係がありますか? 50項目のディレクトリでls
を使用すると、一定量のデータが消費されますか?それとも時間依存性が高く、使用に関係なく、sshセッションは時間間隔ごとに一定量のデータを送信しますか?
sshセッションが使用する典型的な量は何ですか?
「典型的」なものがあるかどうかはわかりません
すべてのパケットをキャプチャするにはtcpdump -ni eth0 -w dump port 22
を実行し、次にそれらを表示するにはtcpdump -nX -r dump
を実行する必要があります。
何らかの関係がありますか? 50個のアイテムがあるディレクトリでlsを使用すると、一定量のデータが消費されますか?
あなたはそれを計算することができます。おおまかな見積もりとして、すべてのキーストロークで4つのパケット(keypress、ack、画面上のエコー、ack)が生成され、各パケットに大量のオーバーヘッドが発生します。 (私のTCPダンプは2文字を入力するために500バイトを言う。)
135ファイルの私のディレクトリリストは2.5kかかりました。
ssh -C
圧縮を使用すると、より大きなテキストに役立ちます。
それとも時間依存性が高く、使用に関係なく、sshセッションは時間間隔ごとに一定量のデータを送信しますか?
はい。 TCPとSSHの両方にキープアライブプローブがあります。これを常に維持していると問題になります。ここでも、TCPDumpを使用して測定します。
私のアドバイス:心配する代わりに、実際の使用状況をリアルタイムでフィードバックしてください。いくつかのセッションを使用すると、自分がどれだけ近いかを知ることができます。
私は同様の設定をしています(リモートのUbuntuラップトップでの3G接続)。
「典型的な」答えはないことに同意しますが(自分の使用法、および「キープアライブ」の頻度、ssh圧縮などのsshd/sshオプションとおそらく他のsshオプションの両方に依存します)、基本を減らすことができましたアイドルssh帯域幅を0.2〜0.3 MB /時間(200 MB /月まで機能)。
私はtcpdumpを使用してから、wiresharkを使用して帯域幅の使用状況を視覚化および測定しました(ifconfigを使用したインターフェイスのRXバイト/ TXバイトに加えて)。
私のリグの0.2-0.3MB帯域幅には、次のオプションがあります:TCPKeepAlive no(sshdサーバー、sshd_config)およびServerAliveInterval 180、ServerAliveCountMax 40、TCPKeepAlive no(クライアント、つまりssh_config)
これがあなたではないとしても、同様の設定を持つ他のユーザーの役に立てば幸いです。
SSHは基本的にコマンドと画面出力を送信しています。コマンドラインに関することだけを行っている場合、おおよその見積もりは、画面上の1文字あたり1バイトです。
もちろん、XセッションやSCPをトンネルしてファイルを転送する場合など、帯域幅は増加します。
オーバーヘッドがあるので大まかな見積もりだと思います。 -Cフラグを使用して、圧縮を要求することもできます。
sshが使用している帯域幅の量を測定したい場合
iftopを使用し、sshが使用するポートでフィルタリングします(22)