您当前的位置: 首页 > 

qianbo_insist

暂无认证

  • 0浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

协议圣经-谈端口和四元组

qianbo_insist 发布时间:2022-07-23 20:03:51 ,浏览量:0

先聊一些库和开源软件

服务器软件制作的一些库,很多库有如下问题:

1、 坚持使用四元组来做一个会话session

像老牌的rtp lib库 jrtplib是使用这样的元组来标识session的,udp 传入和tcp传入不同,假定使用代理,除了二层协议代理,如果使用四层代理,你得到的源端口和源IP是一样的,这样会产生一个错误,就是即使是rtp协议中的ssrc 不一样,他也缓存为一个ssrc,使用getssrc 函数发生错误,这是他的bug

2、 不识别ssrc

这个和上面的问题是一个,但又不是一个,识别ssrc是一个元组中的多个通道的正常做法,当然可以使用payload来识别不同的源,比如音频和视频,但这不够。比如zlMediaServer,也是不识别的,发现同样元组的数据,ssrc和以前不一样,直接丢弃,这是不对的。

3、做法

不应该把四元组作为铜带,应该把ssrc 和payload 分离出来,比如在做代理的时候。

tcp代理没有问题,session会话变了,端口变了。

udp 代理,若使用同样的IP,同样的端口,很多软件都发生错误。 我的做法是udp 在传输层使用不同的端口,只要分辨出不同的IP来源,就为其分配不同的端口,这样像那些server 还是可以用的。

4 总结

就这么几句话,如果我们能理解,说明我们是个实干家,在实践中懂得了这些理论。后期增加代码来说明。

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

微信扫码登录

0.0369s