我正在设计一个通过各种连接类型/传输机制与设备通信的应用程序。例如,USB Virtual COM,串行端口和TCP连接。在每种情况下,我将使用通过底层传输传递的自定义/设备特定的应用程序协议(例如,发送命令,接收数据等)。对于到目前为止提到的情况,我似乎很清楚“应用程序协议”是专有命令/响应,TCP连接(或串行端口或“无论神奇地传输字节”)是传输协议。
然而,讨论中间协议的最佳方式是什么,例如,在将上述专有应用层协议封装在另一个应用层协议(如SSH,HTTP或SSL / TLS)中时?
This answer to a different question表明:
底线:我应该如何在GUI中标记此详细信息?可能是下列之一?
✔“隧道”或“隧道协议”(由@EJP建议)
其他可能性包括:
似乎没有什么能适合我。
更新:正如@EJP指出的那样,SSL / TLS是一种应用层协议,而不是传输协议;这个问题现在反映了这一点。
答案 0 :(得分:1)
但是,谈论中间协议的最佳方式是什么,例如,将上述专有应用层协议封装在另一个应用层协议(如SSH或HTTP)或其他传输层协议(如SSL / TLS)中时?
此处提到的每个协议都是应用层协议。
您可能希望使用“隧道”这个词。
你所谓的它并不那么重要(它与哪个OSI层相关)
根本没有理由将它与任何OSI层相关联。 OSI模型适用于OSI协议套件,它已经不存在, ergo 模型也是如此。遗憾的是,几代教师已将其教导为好像它是一种基本的自然法则。它不是。例如,如果您正在使用TCP / IP,它就有自己的图层模型,甚至OSI的人都承认没有人知道进入表示层的内容。