我正在設計一個應用程序,通過各種連接類型/傳輸機制與設備進行通信。例如,USB虛擬COM,串行端口和TCP連接。在每種情況下,我將使用通過底層傳輸傳遞的定製/設備特定應用協議(例如發送命令,接收數據等)。對於目前提到的情況,我似乎很清楚「應用協議」是專有的命令/響應,TCP連接(或串行端口或「不管神奇傳輸字節」)是傳輸協議。將一個協議「包裝」到另一個協議中時,正確的術語(應用層,傳輸層等)是什麼?
但是,談論中間協議的最好方法是什麼,例如,在將上述專有應用層協議封裝在另一個應用層協議(如SSH,HTTP或SSL/TLS)內時?
This answer to a different question表明:
- 這不是那麼重要的東西,你把它(與OSI層與其關聯)
- 像這樣的東西可能會被正確地描述爲恰好有一個應用層協議另一個建立在它上面的應用層協議。
底線:我該如何在GUI中標記這些細節?也許是下列之一?
✔ 「隧道」 或 「隧道協議」(由@EJP所建議的)
其它可能性包括:
- 「應用協議」(誤導,因爲實際上存在一個更高層的協議這個名字會更合適)
- 「傳輸協議」(可能會引起誤解,因爲會有像TCP這樣的底層協議,這通常是這個名字讓我想到的)
- 「封裝」或「封裝協議」
- 「包裝協議」(類似於上面)
- 「底層協議」(模糊/不明確的 - 有可能有更多的底層協議... TCP,IP,以太網,...)
- 「協議」(太普通?)
似乎沒有我,裝修跳出來。
更新:正如@EJP所指出的,SSL/TLS是一種應用層協議,不是傳輸協議;現在的問題反映了這一點。
我將更新問題以將SSL/TLS標記爲應用程序協議。我想我已經聽到人們隨便談論它作爲一種傳輸協議,但從功能上來說,這沒有任何意義。 「隧道」似乎是另一個合理的競爭者(它符合SSH的術語),儘管它可能誤導性地讓人們想到[IP隧道](https://en.wikipedia.org/wiki/IP_tunnel)/ VPN的東西。 – iX3
這不是誤導,它是另一個確切的例子。它只是在不同的層次上進行隧道。 – EJP
正確;我只是說它是不同的。這個應用程序的用戶可能是科學知識/技術人員,但不一定熟悉計算機和網絡系統的內部工作,所以我盡我所能避免任何可能使他們混淆的東西。雖然在這種情況下,也許我不應該試圖通過術語來實現這一點;默認情況下隱藏高級選項可能更有意義。感謝您的建議。代替其他人,我將把這標記爲公認的答案。 – iX3