理解SIP与检测VoIP流量:挑战与解决方案
一、SIP建模复杂度分析
SIP(会话发起协议)建模和模型检查是非常有价值的工作,虽然投入相对SIP相关文档的编写工时来说较小,但能揭示先前未发现的问题,并提供独特的文档资料。然而,模型的复杂度也相当显著。
- 复杂度的体现
- 每一行Promela代码都代表应用开发者需要考虑的情况。
- 状态转移图中的每个状态和转移都代表实际网络和软件中可能出现的行为。
- 若模型过于复杂,受时间和内存限制,将无法进行模型检查。
- 复杂度增长的类比
另一个类似SIP的协议研究项目显示,从仅检查端点到检查带有背对背用户代理的端点,状态转移数量、内存和时间分别增长了800倍、300倍和1000倍。若将此应用到当前的SIP模型,扩展后的基本模型将有6200亿个状态转移,模型检查需要6TB的RAM和1200小时。这表明模型复杂度的增长是指数级的。
二、降低SIP复杂度的建议
- 标准化修剪模型
将修剪模型标准化为邀请对话的定义,可显著降低SIP的整体复杂度,并消除一些问题,且不影响SIP的功能。 - FIFO信令问题
- 即使使用TCP进行信号传输,关于对话内TCP连接数量、消息发送方式等仍存在诸多问题,对性能和安全有重要影响。
- 常
超级会员免费看
订阅专栏 解锁全文
1296

被折叠的 条评论
为什么被折叠?



