协议是显示网络上哪些设备或对象支持通讯。良好定义和实现的协议可以连接万物,排除人为问题或规划新网络是一个有用的工具。
1 如何创建网络协议
要创建网络协议矩阵,您需要识别网络上的所有设备,并确定它们支持哪些协议。您可以通过使用网络扫描仪或查阅每个设备的文档来完成此操作。
一旦你有了设备及其支持协议的列表,你就可以创建一个包含以下列的表:
makefile
Device:设备的名称
IP地址:设备的IP地址
MAC地址:设备的MAC地址
协议:设备支持的协议列表
一旦创建了网络协议,就可以使用它来排除网络问题或规划新网络。例如,如果您在连接聊天房间或设备如打印机时遇到问题,您可以检查网络协议,看看和您的计算机是否支持相同的协议。如果没有,则需要配置一个或两个设备以支持公共协议。
您也可以使用网络协议矩阵来规划新的网络。例如,如果您计划部署新的VoIP系统,您可以检查网络协议矩阵,以确保网络上的所有设备都支持VoIP协议。
下面是一个网络协议矩阵的例子:
设备ip地址mac地址协议
ruby
打印机192.168.1.100 00:11:22:33:44:55 tcp /IP, HTTP
计算机192.168.1.101 aa:BB:CC:DD:EE: ff tcp /IP、HTTP、FTP
路由器192.168.1.1 01:02:03:04:05:06 tcp /IP, DHCP, DNS
如您所见,这个矩阵显示打印机、计算机和路由器都支持TCP/IP。打印机也支持HTTP,电脑也支持HTTP和FTP,路由器也支持DHCP和DNS。
2 通讯协议简介 matrix
Matrix是一种用于实时通信的开放协议。它允许使用一个通信服务提供商帐户的用户与使用不同服务提供商的用户进行网络聊天,IP语音和视频通话。
Matrix项目在WebRTC 2014年大会暨博览会上赢得了创新奖,并随后在WebRTC 2015年大会暨博览会获得了最佳展示奖。
也就是说,它旨在使不同服务提供商之间的实时通信无缝工作,就像使用电子邮件一样。采用该协议的软件有Element.io等。Matrix是联邦宇宙的一部分。
2015年6月22日,Matrix项目负责人马修·霍奇森(Matthew Hodgson)宣布Matrix和IRC网络Freenode完成互联,Freenode中的每一个IRC频道都会有相对应的Matrix聊天室。
3 实现原理
Matrix协议主要为VoIP,IoT,以及即时通讯(包含群组聊天)等目的而设计,并有着想要成为通用的消息传递和数据同步系统的长期目标。
此协议含有安全传输,跨服务器消息复制,完整的聊天消息记录等功能,因为其实现了联邦式的结构,所以并不需要一个单一的,中心化的控制实体。
在一个服务器已经与其他服务器互联的状态下,也不会因为单一服务器出现故障而导致所有会话出现问题或全局的数据损坏。现有的通讯程序也能通过插件的形式融入Matrix的生态系统之中。
客户端软件可用于联邦式即时通讯软件(IM)、IP 通话(VoIP)与物联网(IoT)通讯。
4 协议架构和优点
Matrix是一种使用客户机-服务器架构的分散通信协议。这意味着用户通过服务器网络(称为家庭服务器)相互通信。每个家庭服务器负责为其用户存储和管理数据。
Matrix架构被设计为安全、可扩展和可互操作的。它使用端到端加密来保护用户数据,并且它的设计能够处理大量用户。Matrix还可以与其他通信协议互操作,例如IRC和XMPP。
矩阵协议分为几个层:
应用层:
这一层负责提供面向用户的功能,如即时消息、语音聊天和视频聊天。
传输层:
这一层负责在客户端和服务器之间传输消息。它可以使用各种传输协议,如HTTP和WebSocket。
网络层:
这一层负责在主服务器之间路由消息。它可以使用多种网络协议,如TCP和UDP。
数据层:
这一层负责存储和管理用户数据。数据层可以使用各种数据存储技术,例如关系数据库和键值存储。
- 客户机-服务器体系结构:
在客户机-服务器体系结构中,客户机负责与用户交互并显示消息。
客户端将消息发送到它们的主服务器,然后主服务器存储消息并将其转发到其他主服务器。家庭服务器还处理用户数据的同步,例如在线状态信息和房间成员资格。
- 互通联盟:
互通联盟是矩阵体系结构的一个关键特性。它允许服务器彼此连接并交换消息。这意味着不同服务器上的用户可以相互通信,而不需要中央权限。
- 端到端加密:
端到端加密(E2EE)是一种保护用户数据不被未授权方截获的安全特性。E2EE使用公钥加密技术对消息进行加密,以便只有预期的接收者才能读取它们。
4.1 矩阵架构的优势:
以下是使用Matrix的一些好处:
- 安全性:
Matrix的设计是安全的,具有端到端加密和支持多设备身份验证。
- 去中心化:
Matrix是一个去中心化协议,这意味着不存在单点故障。这使得它更能适应审查和监视。
- 可伸缩性:
矩阵体系结构被设计为可伸缩的,因此它可以处理大量用户。这是通过使用分散的模型和使用高效的数据存储和网络技术来实现的。
- 互操作性:
Matrix是一个开源协议,矩阵可与其他通信协议互操作,而且有各种各样的客户端和服务器可用。这使得它很容易使用矩阵与您现有的设备和服务。
它可以与其他通信协议互操作,例如IRC和XMPP。这意味着Matrix上的用户可以与其他协议上的用户进行通信,而不需要额外的软件。
- 开源:
Matrix是一个开源协议,这意味着它是由开发人员社区开发和维护的。
需要一种安全的、可扩展的和可互操作的通信协议时,那么Matrix是一个很好的选择。它是一种功能强大且用途广泛的协议,可用于各种目的,包括即时消息传递、语音聊天和视频聊天。
常规协议很难了解哪些联系人使用哪些聊天系统,他们各自独立。
这是2017年创建矩阵的解决的主要问题,其中包括对sms,slack,email,skype,telegram,aim等工具的支持。
小结
下一节,我们描述该协议的实现和并与其他协议如slave,XMPP做对比。