

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在安全通道中使用 TCP 連線
<a name="multiplexing-simultaneous-tcp"></a>

AWS IoT 安全通道為每個資料串流同時支援多個 TCP 連線。當您需要同時連線至遠端裝置時，可以使用此功能。如果有多個請求來自用戶端，使用同時 TCP 連線可以降低逾時的可能性。例如，當存取具有執行多個元件的 Web 伺服器時，同時 TCP 連線可減少載入網站所需的時間。

**注意**  
同時 TCP 連線的頻寬限制為每秒 800 KB AWS 帳戶。 AWS IoT 安全通道可根據傳入請求的數量為您設定此限制。

## 範例使用案例
<a name="tcp-use-case"></a>

假設您需要遠端存取位於目的地裝置本機上，且其上有多個元件運行的 Web 服務器。若使用單一 TCP 連線，嘗試存取 Web 伺服器時，循序載入可能會增加載入網站上資源所需的時間。同時 TCP 連線可透過滿足網站的資源需求來減少加載時間，從而縮短存取時間。下圖顯示對於通往遠端裝置上執行之 Web 伺服器應用程式的資料串流如何支援同時 TCP 連線。

**注意**  
如果您想要使用通道存取遠端裝置上執行的多個應用程式，您可以使用通道多工處理。如需詳細資訊，請參閱[多工處理安全通道中的多個資料串流](multiplexing-multiple-streams.md)。

![\[顯示 IoT 雲端設定與來源裝置、本機代理、代理伺服器，以及目的地裝置與 Web 伺服器應用程式，透過 TCP 和 WSS 通訊協定連接。\]](http://docs.aws.amazon.com/zh_tw/iot/latest/developerguide/images/tcp-tunneling.png)


## 如何使用同時 TCP 連線
<a name="multiple-tcp-tutorial"></a>

下列程序將逐步引導您如何使用同時 TCP 連線來存取遠端裝置上的 Web 瀏覽器。當用戶端有多個請求時， AWS IoT 安全通道會自動設定同時 TCP 連線來處理請求，進而縮短載入時間。

1. 

**開啟通道**

   使用 `OpenTunnel` API 操作或 `open-tunnel` CLI 命令開啟通道。將 `HTTP` 指定為與遠端裝置對應的服務和 AWS IoT 物件名稱，以設定目的地。您的 Web 伺服器應用程式正在此遠端裝置上執行。您必須已在 AWS IoT 登錄檔中建立 IoT 物件。如需詳細資訊，請參閱[使用登錄檔管理物件](thing-registry.md)。

   ```
   aws iotsecuretunneling open-tunnel \
   	--destination-config thingName=RemoteDevice1,services=HTTP
   ```

   執行此命令會產生您將用來執行本機 Proxy 的來源和目的地存取字符。

   ```
   {
   	"tunnelId": "b2de92a3-b8ff-46c0-b0f2-afa28b00cecd",
   	"tunnelArn": "arn:aws:iot:us-west-2:431600097591:tunnel/b2de92a3-b8ff-46c0-b0f2-afa28b00cecd",
   	"sourceAccessToken": source_client_access_token,
   	"destinationAccessToken": destination_client_access_token
   }
   ```

1. 

**配置並啟動本機代理**

   您已從 [GitHub](https://github.com/aws-samples/aws-iot-securetunneling-localproxy) 下載了本機代理原始碼，並為您選擇的平台進行建置。然後，您可以啟動目的地和來源本機 Proxy，以連線到安全通道，並開始使用遠端 Web 伺服器應用程式。
**注意**  
若要讓 AWS IoT 安全通道使用同時 TCP 連線，您必須升級至最新版本的本機代理。如果您使用 AWS IoT 裝置用戶端設定本機 Proxy，則無法使用此功能。

   ```
   // Start the destination local proxy
   ./localproxy -r us-east-1 -d HTTP=80 -t destination_client_access_token
   
   // Start the source local proxy
   ./localproxy -r us-east-1 -s HTTP=5555 -t source_client_access_token
   ```

   如需設定和使用本機 Proxy 的詳細資訊，請參閱 [如何使用本機代理](how-use-local-proxy.md)。

您現在可以使用通道存取 Web 伺服器應用程式。當用戶端有多個請求時， AWS IoT 安全通道會自動設定和處理同時 TCP 連線。