IAP-互联网应用协议

Internet应用协议(IAP)旨在成为Web 3.0的通用网络协议。 我们认为,在适当的Internet应用程序协议上进行标准化可能会对USB对PC和外围硬件所具有的应用程序和设备产生类似的影响,与Internet连接的应用程序和设备只需将它们连接到Internet即可进行交互。

IAP尚未完全指定,但是我们非常了解IAP的核心应该如何工作。 IAP规范的最新版本在此处提供 。

IAP解决了HTTP 1.1忽略的许多用例。 尽管HTTP2和WebSockets确实解决了HTTP 1.1不能解决的几个问题,但是我们认为仍然需要做更多的事情,正如我们在博客中所描述的: 为什么HTTP2和Websockets不够用 。

IAP是基于自由流消息的协议。 通信节点交换消息,就像HTTP请求和响应一样。 但是,IAP不需要每个消息都具有响应。 作为自由流协议,IAP仅指定节点交换消息。 消息可以在网络连接的两个方向上自由流动,因为通信节点认为适合进行通信。 在我们的教程IAP消息流中,我们已经详细描述了一些核心消息流 。

为了使IAP逐步完成,我们认为是时候向社区介绍有关替换HTTP的讨论,并提出建议的解决方案了。 实际上,本文将主要关注ION,即IAP中使用的二进制对象表示法。 我们选择此重点的原因有以下三个:

首先,ION规范比整个IAP规范更接近稳定。 因此,从ION开始讨论更加有意义。

其次,ION可以独立于IAP使用,这意味着您可以将ION与HTTP一起使用,以作为所有非浏览器通信的更紧凑,性能更好的替代HTTP / JSON的方法。 示例包括用例,例如与后端通信的移动应用程序,或后端到后端的通信。

最后,ION对IAP的用途有影响。 因此,即使在完成IAP规范之前,了解ION和基本的IAP消息结构也将使您对IAP最终的外观有一个相当好的认识。

IAP消息结构

IAP消息被编码为单个ION对象字段。 通过IAP通信的两个节点交换ION对象字段。 ION对象字段在其中包含嵌套的ION字段。 嵌套字段构成了邮件头和邮件正文。

因为IAP消息是ION对象字段,所以接收IAP消息的服务器最多知道消息的前16个字节(通常是前4到5个字节)内的完整消息的长度。 这使服务器很容易为小消息分配正确的内存量,从而使服务器可以接收大量小消息,从而更好地利用其内存。

每个IAP消息都是单个ION对象字段,这也使得跟踪接收到完整消息的时间变得容易。 一旦收到ION对象字段声明的字节数,便知道已收到完整消息。

我们当前的IAP服务器实现可以通过一个单线程服务器运行在一个内核上,而四个连接的客户端与IAP服务器运行在同一台物理服务器上,每秒回显(ping-pong)消息大约200K(36字节)。 该服务器是一种商用硬件盒,四核CPU,Haswell架构,DDR3 RAM。 客户端发送一条消息,服务器发送回同一条消息。 当客户端从服务器接收到回显时,它将发送下一条消息,服务器将回显等等。

随着客户端对消息进行流水线处理,并且服务器在所有四个内核上而不是一个内核上运行,我们应该能够每秒处理一百万条消息。

由于ION对象字段紧凑且易于解析,因此ION也非常适合CPU和内存资源有限的小型设备。 这使IAP不仅适合作为典型Web应用程序和后端服务的协议,而且还适合物联网。

IAP语义协议

如果不是不可能的话,尝试定义一个单一的网络协议来服务所有当前和将来的用例是困难的。 IAP并非尝试这样做,而是设计为由多个可以结合使用的较小协议组成。 这些协议分为一组核心协议和一组语义协议。

核心协议指定了诸如确认收到的消息,缓存等通用功能。 此功能在广泛的网络协议中很有用,可提供跨协议功能。

语义协议解决了诸如文件交换,流传输,聊天,VoIP等具体用例。IAP将定义一组标准语义协议,但也为您定义自己的自定义语义协议提供了灵活性。

所有核心和语义协议都将使用相同的基本消息结构。 许多语义协议还将使用类似的通信模式。 这意味着应该有可能实现一个面向消息的服务器平台,该服务器平台可用于服务大多数(如果不是全部)核心和语义协议。

核心IAP协议和语义协议尚未最终确定,但是已经做出了重大的设计决策,我们将在稳定核心和语义协议的同时宣布它们。

IAP传输协议

由于一种消息交换模式或一种协议不能满足所有用例,因此一种基础传输协议也不能适合所有情况。 因此,IAP被设计为能够在TCP或UDP之上运行。 确切的外观还没有最终确定,但是我们正在实现。

Carlife Iphone IAP2连接与认证过程相关推荐

  1. iPhone手机连接WAPI调试方法和经验总结

    近日一个朋友新入手一部iPhone 7,却一脸苦恼地跑来找我,说他的iPhone手机无法连接上家里的WAPI网络,他老婆的iPhone 6S也发生同样的问题,请我帮忙给看看.于是我这个半桶水专家就有模 ...

  2. 详解Wi-Fi连接上网认证接入的原理和过程

    引言 在正式看文章之前,我们需要了解的知识是:WiFi的STA和AP模式指什么? 1.AP,也就是无线接入点,是一个无线网络的创建者,是网络的中心节点.一般家庭或办公室使用的无线路由器就一个AP. 2 ...

  3. iPhone手机连接wifi网络时的portal认证

    iPhone手机连接open模式(二层不认证)的wifi网络的web认证(三次基于IP的认证)流程与问题. 正规流程 iPhone手机在连接到wifi网路之后,会自动访问苹果自己的captive po ...

  4. aka鉴权 ims_ims 注册鉴权认证过程

    移动通信的安全问题正越来越多地受到关注.2G网络主要传输语音业务,采用的是单向的用户认证方案,即网络能够验证用户身份是否合法,而用户无法确认其所连接的网络服务是否可靠.然而,3G网络将会演变成一个覆盖 ...

  5. iphone天行连接不上服务器未响应,天行连接不上 - 卡饭网

    串行连接 SCSI 常见问题解答 串行连接 SCSI 常见问题解答 1.串行连接 SCSI 和并行 SCSI 之间有哪些差别? 串行连接 SCSI (SAS) 是在并行 SCSI 的基础上发展起来的, ...

  6. Android wifi carlife,carlife可以无线连接吗?carlife蓝牙连接流程

    Carlife可以无线连接.目前无线连接支持iPhone手机使用,而安卓手机只有少部分可以使用.连接方法如下: 1.打开手机设置启用蜂窝移动数据,再打开手机WiFi,并且开一个无线热点. 2.找到车机 ...

  7. wifi认证过程wpa/wpa2

    今天总结一下前段看协议,关于PSK(pre-shared key)方式下wpa/wpa2的认证过程. 1.RSNE 首先,在beacon或probe response帧中,带有RSNE字段,内容如下: ...

  8. android 除了webview 浏览器控件,android开发我的新浪微博客户端-OAuth认证过程中用WebView代替原来的系统自带浏览器...

    前面的文章的OAuth认证过程在获取oauth_verifier码是是通过调用android系统带的浏览器进行用户授权认证的, 具体见:android开发我的新浪微博客户端-用户授权页面功能篇(3.2 ...

  9. 揭秘IPHONE X刷脸认证的技术奥秘

    苹果最新发布的Iphone X具有一个全新的功能叫做刷脸认证,背后的技术其实是生物密码的更新,通过人脸识别取代了传统的指纹识别,大家肯定对这种新技术非常感兴趣,下面我们通过这篇文章为大家介绍人脸识别的 ...

  10. iTunes无法与iPhone正常连接的解决办法

    itunes 无法与iphone 正常连接,出现如下提示:"iTunes不能读取iPhone的内容,请前往iPhone偏好设置的摘要选项卡,然后点击'恢复'以将此iPhone恢复为出厂设置& ...

最新文章

  1. LabVIEW图像模式匹配(基础篇—11)
  2. npm ERR! cb.apply is not a function npm ERR! A complete log of this run can be found in: npm ERR!
  3. Android7.0 PowerManagerService亮灭屏分析(一)
  4. 国产数据库建模工具,看到界面第一眼,良心了! ​
  5. 简单了解Vue的自定义组件与生命周期
  6. AtomicInteger使用非阻塞算法,实现并发控制多线程实现售票
  7. [原]Threads vs Processes in Linux 分析
  8. gnu screen的用法
  9. 想用 Python3 破冰人工智能?首先你得懂这些数学方法!
  10. python for循环 内存_Python for循环中的内存错误
  11. Android自定义样式
  12. python基本代码教学_如何真正零基础入门Python?(第一节)
  13. latex里图片大小如何调整_如何使Latex中的图片放大依然清晰
  14. 计算机系统与配置要求,电脑系统以及Adobe Audition的版本配置要求-喜马拉雅
  15. Unity 打包IOS平台错误
  16. css 设置行内元素顶部对齐
  17. MySQL 的主从复制(高级篇)
  18. Redis学习之缓存数据类型
  19. 基于安卓平台,客户端视频监控的实现(三)
  20. 笔记整理之 寒门难出贵子5 宝宝在魔都陨落

热门文章

  1. INA230测量电压电流功率
  2. C语言实现:输出明天的日期
  3. 程序猿段子_程序猿的24个段子,笑着笑着眼泪就出来了
  4. pat 1026C语言
  5. obs推流视频比特率_我如何使用OBS和WebSockets流视频
  6. SAP ABAP ALV 的一些总结:Custom container 和 Splitter container
  7. PMBOK指南——第一部分
  8. html闪屏代码,JS闪屏代码,闪瞎你的眼睛
  9. linux局域网即时通讯,基于身份的Linux下局域网即时通讯系统的研究与实现
  10. git入门-----远程操作相关命令(remote 、push、fetch 、pull)