【发布时间】:2017-05-01 13:20:41
【问题描述】:
我正在设计一个通过各种连接类型/传输机制与设备通信的应用程序。例如,USB 虚拟 COM、串行端口和 TCP 连接。在每种情况下,我都将使用通过底层传输传递的自定义/特定于设备的应用程序协议(例如,发送命令、接收数据等)。对于到目前为止提到的情况,我似乎很清楚“应用程序协议”是专有命令/响应之一,而 TCP 连接(或串行端口或“任何神奇地传输字节”)是传输协议。
但是,谈论中间协议的最佳方式是什么,例如,将上述专有应用层协议封装在另一个应用层协议(如 SSH、HTTP 或 SSL/TLS)中时?
This answer to a different question 建议:
- 你怎么称呼它并不重要(它与哪个 OSI 层相关联)
- 这样的事情可能被正确地描述为一个应用层协议,它恰好在其之上构建了另一个应用层协议。
底线:我应该如何在 GUI 中标记这个细节?也许是以下之一?
✔“隧道”或“隧道协议”(@EJP 建议)
其他可能性包括:
- “应用程序协议”(具有误导性,因为实际上有更高级别的协议更适合使用此名称)
- “传输协议”(可能会产生误导,因为下面会有像 TCP 这样的较低级别的协议,这通常是我想到的这个名称)
- “封装”或“封装协议”
- “包装协议”(类似于上面)
- “底层协议”(含糊/模棱两可——可能还有更多底层协议……TCP、IP、以太网……)
- “协议”(太笼统?)
似乎没有什么适合我。
更新:正如@EJP 指出的,SSL/TLS 是应用层协议而不是传输协议;现在的问题反映了这一点。
【问题讨论】:
标签: network-programming terminology network-protocols