本文原地址: http://www.feitianzhi.com/boke/index.php/archives/43/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


背景

      端口共享主要是为在一些受限环境(如防火墙限制只有http的80可被外网访问)中让自己的业务正常运行(rtsp,hls,gb28181等业务正常运行);
      端口共享技术并不是新技术,如sslh可让ssh和https共用一个端口,haproxy可让ssh,http,https等多种协议共享一个端口;
      小雉系统的主要应用为视频应用,需要同时支持webrtc,rtsp,hls,rtmp,gb28181,sip,rtp,http等协议的端口共享技术并能承载万兆流量方案才能满足小雉系统的需要;
      常见的端口共享方案(如haproxy)采用代理方式,承载万兆流量需要显著增加硬件配置,同时也无法完成视频端口共享的需要;

方案设计要求

  • 配置层支持为每个端口分配不同的协议,实现简易的权限控制(如连A端口的用户只有rtsp和hls视频权限,连B端口的用户有rtsp,rtmp,GB28181的权限);
  • 模块只提供数据匹配的模式,匹配的数据由具体的协议开发者后期添加(模块如内置直接识别各种协议,则此模块的开发者需要了解rtsp,hls,rtmp,webrtc,gb28181,rtp,http等多种协议,难度高;同时即使识别为http协议后可能还需要进行url和其他参数进行分类后传给不同的业务模块);
  • 模块匹配应根据各业务提供的识别码(rtsp,hls,rtmp,webrtc,gb28181,rtp,http各协议的开发者向本模块注册识别码)进行匹配,匹配后把socket直接交于对应的业务模块,而不通过代理中转(不中转则不需要承担各业务的大流量数据,本模块消耗的资源相较视频应用可忽略,同时中转方式需要根据内容(如sip内容识别rtp数据)也是本模块无法完成的);

端口共享模块应用

      小雉系统的端口共享技术已应用于《使用cloudflare免费cdn为小雉系统的http,rtsp,rtmp,gb28181,hls,webrtc,ftp,ssh等服务加速》,"小雉私有接口","GB28181"等应用;
      小雉今后开发的新模块都将支持"小雉的端口共享模块",但仍支持传统的模式,如《小雉视频系统GB28181-2016配置》文章描述的按传统方式使用小雉的gb28181依然有效;
      本处以把端口1111配置为同时支持"小雉私有接口","GB28181 sip","GB28181 rtp"为例说明"端口共享模块"的使用方法如下图:
端口共享模块
      附上添加"GB28181 sip"识别码的代码(就是识别连接的第一个字节是否为"R")

const char * key[] = {"R"}; // 只有一个识别码为"R"
unsigned short keyLen[] = {1}; // 每个识别码的长度
unsigned char caseInsensitive[] = {0}; // 每个识别码是否大小写敏感,0-敏感,1-不敏感
unsigned char protocol[] = {FsBindClassify_P_Match_protocol_1_sip}; // 识别码的抓取方式
fs_bindClassify_add_protocol(pBindClassify, 1, protocol, caseInsensitive
    , keyLen, key, cb, externP1, externP2, mask);

猜您可能喜欢

小雉系统安装:http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/
GB28181 级联 CDN 回放:http://www.feitianzhi.com/boke/index.php/archives/37/
小雉视频系统负载均衡之GB28181多线负载均衡:http://www.feitianzhi.com/boke/index.php/archives/28/
小雉视频系统GB28181-2016配置:http://www.feitianzhi.com/boke/index.php/archives/41/

标签: none

评论已关闭