您当前的位置: 首页 > 

qianbo_insist

暂无认证

  • 0浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

协议圣经(一)

qianbo_insist 发布时间:2021-06-27 08:16:16 ,浏览量:0

1、网络七层协议

这里不讲解多余的东西,对于程序员来讲,最重要的就是传输层和应用层

物理层的概念是原始比特流也就是0和1. Ethernet V.2 和IEEE 802.2 电气特性

物理层设备:网卡,网线,集线器,中继器,调制解调器

数据链路层:网桥,交换机,实际上网桥也是一个交换机,只不过看起来是一进一出。当然交换机也有三层交换机,也就是带路由功能。交换机拥有一条很高带宽的背部总线和内部交换矩阵。记住这句话,存储转发。

网络层:路由器

EGP RSVP RIP2 IGRP OSPF MOSPF 协议等等

记一下以上几个协议,比较有用,可以这么说,真正搞懂了转发和路由,就搞懂了网络层,路由器是软件层面的,路由算法居多。

另外 网关工作在第四层传输层及其以上

会话层 Session Layer OSI模型的第5层,是用户应用程序和网络之间的接口,不多说,session就是他,协商层面,链接管理。

表示层 Presentation Layer OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等。

应用层 其他我们所能控制的都是应用层协议,像传输层的tcp和udp等等都是在操作系统内部实现的,无论是linux或者windows等操作系统,我们无法改变协议,改变就意味着不兼容,无法和网络中的其他交换,路由和主机协同工作,无论我们认为该协议有多少缺陷。

网络的本质:共享和链接,本质抓住了,很多产品也就能做了,想一想qq,微信,共享经济。

2、传输层

    使用最多的就是tcp和udp,传输控制协议tcp, 用户数据报协议udp。面向链接和面向非链接的概念,只有编了程序才能知道,仅仅是说几个字是没有用的。

3、应用层

    应用层协议有很多,我们主要是讲这些,如何让深入以下这些协议,注意有部分是容器,我们依然把他认作协议,然后融会贯通。 应用层协议     这些协议应用于视频、语音、文字,物联网数据以虚拟三维沉浸式来进行互动,行业来说针对政府、企业、媒体、医疗、教育等不同行业,可以开发相关产品:

1 、多用户沉浸式互动互通会议 2 、医疗远程诊断 3、网络教育 4、物联网设备数据多维描述 5、数据回放录制 6、分布式保护推送 7、网络安全协议层面保护

同时我们对媒体数据进行更多的应用: 1 、AI 识别 2、图像分类 尤其是rtp实时传输协议接收的内容,拿到后再进行图像解码,h264-h265 --> yuv 或者RGB,我们可以知道y分量就是灰度图,很多算法如果是检测灰度图,并不一定要把yuv再变成rgb,只要取到y分量就行,如果是使用神经网络cnn,dnn,卷积神经网络,一般来说RGB是必须的了。

视频接收进行识别

4、rtmp

adobe 公司出品的实时消息协议,后面我们会使用c++来实现。这个协议确实很丰富,可以学到很多。rtmp协议其实很容易理解,只是当年并非开放协议,所以有了开源的librtmp和nginx rmtp module以后,rtmp协议开始流行,中国尤其流行,因为大部分的直播协议都是rtmp。加上了html5 的 http flv之后,两者成为搭档,rtmp作为传输推送,flv作为web播放。

5 RTP RTCP

实时传输协议和实时传输控制协议。rtp多应用于视频和音频的传输,但是rtp并不是为视频和音频而生,而是为了实时传输而生,普通的rtp头部12个字节,一定要能背出来。但并非只能12字节,可以扩展。 监控视频叠加数据

该照片为叠加监控+数据在视频上,掌握原理之后,读者就可以对rtp数据进行解码,把物联网数据叠加到视频上,同时做到视频监控+数据监控。

6 rtsp sip

sip 回话初始协议,当年击败了h323协议,h323协议主要用于视频会议,由于是二进制协议,不如rtsp,sip,http协议等容易调试,所以慢慢使用就少了,人类喜欢简单直观。 rtsp和sip属于信令层,仅仅是协议,传输层依然要依靠rtp和rtcp协议。国内的视频监控标准GB28181 属于sip协议。

7 onvif

摄像头监控协议,自发现摄像头,然后可以通过rtsp协议再去获取摄像头数据。

8 upnp

upnp协议几多精彩,我们的dlna 大屏投送是属于这一范围的,更可以用于nas存储设备查找,点播和直播,点对点传输,因为他是属于多播,所以一定要掌握多播的原理和编程。

9 webrtc

webrtc严格来说已经成为w3c标准,并非一个简单的协议,是由多个协议合成来变成一个容器化标准,传输层使用rtp,srtp来传输数据。下图是webrtc在三维世界里面,可以做出一些特殊的效果。使用webrtc来显示图像,是要比flv 显示视频要优的,flv是http链接,目前来说还是tcp,对于浏览器的进程来说,是不同并发超过6个链接的,也就是说一个页面里面最多显示6个同ip地址的flv。webrtc是udp,属于点对点的链接,就没有这个限制了。 webrtc在三维里面

websocket http

该两类协议为基础协议,websocket作为长链接协议应用广泛,建立在http协议基础之上,只是里面用了一个sha1算法来加密数据,但是服务器端和客户端不同,服务端发送数据到客户端是解码过后的数据,后面我们也会使用c++协程来实现这个协议,http协议就不用说了,世界第一。

协议应用-网关服务

把各类协议打通,一个产品同时支持各类协议,如以上所说:RTSP、SIP、RTMP、WEBSOCKET、RTP、SRTP、webrtc,modbus,http,mqtt,等等,我们可以以此做出很多有趣和有用的功能: 转协议,让各类系统互通 如 1、 多个公司的产品进行互通 2、 视频会议中接入监控系统 3、 录制系统,录制点播系统 4、 各种不同协议互通 互转 5、 如多路p2p视频引入到sfu(Selective Forwarding Unit)选择转发单元服务器同时混合(mcu) 6、转其他如直播rtmp服务或者监控rtsp服务 7 、叠加物联网协议数据到视频数据 8、视频数据分析归类,安全生产检测

随时补充和修改该文章。

关注
打赏
1663161521
查看更多评论
立即登录/注册

微信扫码登录

0.0361s