http://q.hatena.ne.jp/1152159308
での皆さんの回答から察するに、「暗号化されたプロトコルは、通信開始時以外は、ヘッダを除いて暗号化されているので、パケットからプロトコルを判断するのは不可」という結論に至りました。
そこで、負荷分散装置についての質問ですが、ある本に、「負荷分散装置は、…など、OSI参照モデルにおける第7層の解析と振り分けを可能とします」とありました。
これも、RDPやSSHの様な暗号化されているプロトコルの場合、通信開始時の暗号化される前のパケットから、第7層の解析を行っているのでしょうか。それとも、暗号化された後に、ヘッダ等から解析しているのでしょうか。
負荷分散装置の、プロトコル解析方法を教えてください。
負荷分散の方式は、ここのサイトの例をとれば、下記のようなやり方がありますが、いずれの方式でも、パケットのボディが暗号化されていようと、ヘッダー情報等、それ以外の情報に基づいて分散されると思いますので、暗号化プロトコルの考慮は特に不要なのではないでしょうか??
http://primeserver.fujitsu.com/ipcom/catalog/data/1/2.html
①ラウンドロビン
各サーバに、順番にリクエストを振り分けます
②静的な重み付きラウンドロビン
各サーバに、あらかじめ設定された比率でリクエストを振り分けます
③最小コネクション数
処理中のコネクションが最も少ないサーバにリクエストを振り分けます
④最小クライアント数
接続中のクライアントが最も少ないサーバにリクエストを振り分けます
⑤最小データ通信量
処理中のデータ通信量が最も少ないサーバにリクエストを振り分けます
⑥最小応答時間
応答時間が最も短いサーバにリクエストを振り分けます
⑦最小サーバ負荷
CPU、メモリ、I/Oの利用率が最も低いサーバにリクエストを振り分けます
⑧最小FNA LU数
使用中のLUが最も少ないサーバにリクエストを振り分けます
ぶら下がってるサーバーが同じサービスを提供していなくても原理は同じですよ。
もう少し詳しく書いてるサイトもありましたので、引用しておきますね。
http://www.nic.ad.jp/ja/materials/iw/2005/proceedings/T5.pdf
ただ、SSHやRDPの負荷分散は聞いたことがないですが、httpやsslと異なり、セッションを維持し続けるプロトコルのため、パケット単位の負荷分散ということじゃなく、前述の分類で言えば、③や④などの同時セッション数で振り分けてくれるタイプの負荷分散装置を選べば良いように思います。
http://www.f5networks.co.jp/product/bigip/bigipv9/appacc.html
BIG-IPではSSLアクセラレーションがありますがこの機能はユーザ-BIG-IP間のみでSSLを受け持ち、
BIG-IP-サーバ間はHTTPで通信することでサーバの負荷軽減を実現します。
負荷分散装置の導入を考える場合、暗号化に絞って考えると主な利用法では
商用サイトでのSSL肩代わりとなるので負荷分散時に暗号はぶっちゃけていうと関係ないですね。
分散時にはCookieやらURLやらレスポンスやらで判断させます。
異なるサービスを提供している場合でも負荷分散装置の定義で、
あて先ポートを指定してやればそれぞれのサービス毎に分散させることが出来ます。
ですのでSSH等暗号化を利用していてもあて先ポートは必要ですのであて先ポートを見て負荷分散装置は判断していると考えれば判りやすいかと。
回答ありがとうございます。
確かに、負荷分散装置にぶら下がっているサーバがすべて同じサービスを提供していれば、プロトコルの考慮は必要ないと思いますが、異なるサービスを提供している場合は、考慮する必要があるのではないでしょうか。
例えば、①sshサーバ二台②ftpサーバ二台、の構成で、①、②の二台ずつで負荷分散している場合などでしょうか。
(負荷分散装置の原理をまったく知らないので、この例の様なことはできないのかも知れませんが。)