2016-12-15 74 views
1

我正在設計一個應用程序,通過各種連接類型/傳輸機制與設備進行通信。例如,USB虛擬COM,串行端口和TCP連接。在每種情況下,我將使用通過底層傳輸傳遞的定製/設備特定應用協議(例如發送命令,接收數據等)。對於目前提到的情況,我似乎很清楚「應用協議」是專有的命令/響應,TCP連接(或串行端口或「不管神奇傳輸字節」)是傳輸協議。將一個協議「包裝」到另一個協議中時,正確的術語(應用層,傳輸層等)是什麼?

但是,談論中間協議的最好方法是什麼,例如,在將上述專有應用層協議封裝在另一個應用層協議(如SSH,HTTP或SSL/TLS)內時?

This answer to a different question表明:

  1. 這不是那麼重要的東西,你把它(與OSI層與其關聯)
  2. 像這樣的東西可能會被正確地描述爲恰好有一個應用層協議另一個建立在它上面的應用層協議。

底線:我該如何在GUI中標記這些細節?也許是下列之一?

✔ 「隧道」 或 「隧道協議」(由@EJP所建議的)

其它可能性包括:

  • 「應用協議」(誤導,因爲實際上存在一個更高層的協議這個名字會更合適)
  • 「傳輸協議」(可能會引起誤解,因爲會有像TCP這樣的底層協議,這通常是這個名字讓我想到的)
  • 「封裝」或「封裝協議」
  • 「包裝協議」(類似於上面)
  • 「底層協議」(模糊/不明確的 - 有可能有更多的底層協議... TCP,IP,以太網,...)
  • 「協議」(太普通?)

似乎沒有我,裝修跳出來。

更新:正如@EJP所指出的,SSL/TLS是一種應用層協議,不是傳輸協議;現在的問題反映了這一點。

回答

1

但是,什麼是談中間協議的最佳方式中,例如,封裝上述的專用應用層協議時,另一應用層協議等SSH的內部或HTTP或甚至另一傳輸層協議如SSL/TLS ?

你在這裏提到的每個協議都是一個應用層協議。

您可能想使用「隧道」一詞。

你叫什麼這不是那麼重要(與OSI層與其關聯)

沒有理由將它與任何OSI層在所有的關聯。 OSI模型適用於OSI協議套件,該套件已不存在,ergo模型也是如此。不幸的是,一代又一代的教師已經把它教導成了一種自然的基本法則。事實並非如此。例如,如果您使用的是TCP/IP,則它有自己的層模型,甚至OSI人員也承認沒有人知道進入表示層的內容。

+0

我將更新問題以將SSL/TLS標記爲應用程序協議。我想我已經聽到人們隨便談論它作爲一種傳輸協議,但從功能上來說,這沒有任何意義。 「隧道」似乎是另一個合理的競爭者(它符合SSH的術語),儘管它可能誤導性地讓人們想到[IP隧道](https://en.wikipedia.org/wiki/IP_tunnel)/ VPN的東西。 – iX3

+0

這不是誤導,它是另一個確切的例子。它只是在不同的層次上進行隧道。 – EJP

+0

正確;我只是說它是不同的。這個應用程序的用戶可能是科學知識/技術人員,但不一定熟悉計算機和網絡系統的內部工作,所以我盡我所能避免任何可能使他們混淆的東西。雖然在這種情況下,也許我不應該試圖通過術語來實現這一點;默認情況下隱藏高級選項可能更有意義。感謝您的建議。代替其他人,我將把這標記爲公認的答案。 – iX3