大家好,又见面了,我是你们的朋友全栈君。
网络协议是连接不同设备的信息交互手段。根据网络连接范围的大小,可以分为5类:个人域网络(PAN),局域网(LAN),城市网(MAN),广域网(WAN),互联网。
普通网络协议
大家熟知的网络协议主要是指局域网的连接协议,抽象的模型有OSI模型的7层协议和TCP/IP模型的4层协议。
TCP/IP模型的具体实现如下:
可以看到TCP/IP模型主要是在连接层之上的一种实现方式——在网络层用IP协议,在传输层用TCP协议。 在连接层也有一些协议,其中802.11协议(WiFi)和蓝牙类似,都是无线连接协议。
蓝牙
蓝牙协议是个人域网络中的一个具体实现。
虽然上图的蓝牙协议结构和802.11协议的结构图类似,都包括最下的物理层和中间的数据链路层,但是蓝牙协议还包括了一个中间层协议和最后的应用层协议。而且,从图中可以看出,某些控制数据和音频数据完全不经过中间层,是直接从Baseband到达应用层,甚至也跨过了部分数据链路层的结构。
从TCP/IP模型的设计思路比照蓝牙
考虑TCP/IP模型中的网络层,主要是为了解决在一个单一网络上传输数据包的问题。而蓝牙协议就不需要考虑这样的问题。蓝牙连接是简单的点对点连接,中间不经过任何其他节点。
再考虑TCP/IP模型中的传输层,其目的是解决诸如端到端可靠性(“数据是否已经到达目的地?”)和保证数据按照正确的顺序到达这样的问题,TCP连接是点对点的有效连接,能够保证数据的可靠性和有序性,而UDP是点对点的无效连接,不保证数据的可靠性和有序性。在蓝牙数据中,最需要保证数据顺序的声音数据都不经过中间层,是直接到达应用层的。其他信息的处理方式采用了ACL的连接方式,反而更类似UDP的传输模式。
总结
协议类型 | 网络层 | 传输层 |
---|---|---|
TCP/IP模型 | 复杂网络的点对点传输 | 可靠性和数据顺序控制(TCP有,UDP无) |
蓝牙协议 | 由于是简单的点对点传输,中间无其他节点,所以无专门网络层 | 无传输层。声音数据直接从Baseband到应用层,其他数据传输方式类似UDP |
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127714.html原文链接:https://javaforall.cn