SMTP (Simple Mail Transfer Protocol) は、電子メール送信用の通信プロトコルです。STARTTLS は、SMTP に基づいて、暗号化された通信に別のポートを使用する代わりに、プレーン テキスト接続を暗号化された(TLS または SSL)接続にアップグレードします。

STARTTLS のプロセス フロー

STARTTLS のプロセス フローは次のとおりです。



  1. STARTTLS プロセスは TCP ハンドシェイク後に開始されます。

  2. サーバは、220 Ready を識別して、E メール クライアントが通信を続行できることを確認します。

  3. クライアントはサーバ EHLO を送信して、クライアントが拡張 SMTP を使用することをサーバに通知します。

  4. サーバは 250 STARTTLS をクライアントに送信して、STARTTLS が受け入れられるかどうかを確認します。

  5. クライアントは STARTTLS をサーバに送信し、STARTTLS を使用できることを通知します。

  6. SSL/TLS を起動できる場合、サーバは 220 GO Head をクライアントに送信します。

  7. クライアントはサーバで SSL/TLS を開始します。

  8. SSL/TLS が完了すると、E メール メッセージが暗号化されます。

レイヤー 4 の SSL の DataScript イベント

新しい DataScript イベント:

イベント名:VS_DATASCRIPT_EVT_TCP_CLIENT_ACCEPT

機能:TCP ハンドシェイクが完了した後に発生します。

新しい DataScript API:

API 名

イベント

説明

機能

avi.ssl.disable_ssl()

VS_DATASCRIPT_EVT_TCP_CLIENT_ACCEPT

引数はありません

TCP ハンドシェイク後に SSL を無効化します

avi.ssl.enable_ssl()

VS_DATASCRIPT_EVT_L4_REQUEST

引数はありません

トラフィック中に SSL を有効にします

トラフィック フロー

トラフィック フローは次のとおりです。



トラフィック フロー プロセスは次のとおりです。

  1. NSX Advanced Load Balancer は、クライアントとの TCP ハンドシェイク後にバックエンド サーバへの接続を作成します。

  2. NSX Advanced Load Balancer は、クライアントとサーバ間でプロキシ メッセージを送信します。

  3. クライアントは、拡張 SMTP の使用について、サーバにいつでも EHLO を送信できます(TCP ハンドシェイクの直後または一部のデータの送信後)。

  4. EHLO を受信すると、サーバはそのサービスをアドバタイズします。

  5. STARTTLS がない場合、システムはサービスの 1 つとして 250 STARTTLS を追加します。

  6. クライアントは、TLS の要求を STARTTLS に送信できます。

  7. NSX Advanced Load Balancer は、220 を使用してクライアントに応答し、TLS ネゴシエーションを開始します。

  8. SSL/TLS ネゴシエーションの後、クライアントは暗号化されたメールを NSX Advanced Load Balancer に送信します。