发明名称 基于收发平衡的TCP网络流量回放测试方法
摘要 本发明公开了一种基于收发平衡的TCP网络流量回放测试方法,用于对计算机网络设备进行测试,其特征在于,发送TCP网络数据包之前需按序进行以下判断:1)判断收发平衡条件是否满足,如果满足,发送TCP网络数据包;2)如果收发平衡条件不满足,判断TCP协议通讯条件是否满足,如果满足,发送TCP网络数据包;3)如果收发平衡和TCP协议通讯条件都不满足,将TCP网络数据包放入等待队列中,等上述两个条件至少一个满足后再发送。本发明所公开的流量回放方法实现简单,可以通过收发平衡将绝大多数的TCP数据包发送出去,有效提高回放效率;同时,能够回放状态残缺的不完整会话,适用于大规模真实流量的回放。
申请公布号 CN101304341B 申请公布日期 2010.09.15
申请号 CN200810018385.9 申请日期 2008.06.05
申请人 西安交通大学 发明人 蔡忠闽;褚伟波;管晓宏;朱茂林
分类号 H04L12/26(2006.01)I 主分类号 H04L12/26(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 朱海临
主权项 一种基于收发平衡的TCP网络流量回放测试方法,通过在测试网络中依次发送并接收TCP网络数据包仿真真实TCP通讯过程,对网络设备进行测试,其特征在于,包括下述步骤:第一步,回放控制器打开回放流量源;第二步,回放过程中,回放控制器的第一测试端用于模拟流量采集点一侧的通讯方:第二测试端用于模拟流量采集点另一侧的通讯方;回放流量源中从流量采集点左侧流入的流量,由第一测试端负责发送,第二测试端负责接收;回放流量源中从流量采集点右侧流入的流量,由第二测试端负责发送,第一测试端负责接收;第三步,回放控制器从回放流量源中按从前到后的次序读出一个数据包P;第四步,将四元组“源IP地址、源端口、目的IP地址、目的端口”相同或源IP地址、目的IP地址相反且源端口、目的端口也相反的网络数据包认定为属于同一个TCP会话,以数据包P的四元组作为数据包P所属TCP会话SP的标识,并查看该TCP会话SP是否已经存在于当前正在被系统回放的TCP会话的队列中:如果该TCP会话SP已经存在于当前正在被系统回放的TCP会话的队列中,读出该TCP会话SP当前的收发平衡状态和TCP协议状态;如果当前正在被系统回放的TCP会话的队列中没有该TCP会话SP,将该TCP会话SP加入当前正在被系统回放的TCP会话的队列,并将该TCP会话SP的收发平衡状态和TCP协议状态设为初始状态;所述的TCP会话SP当前的收发平衡状态为四个数据包收发计数器Cs,12,Cr,12,Cs,21,Cr,21的值;所述的初始状态为四个数据包收发计数器值均为0;第五步,根据数据包P的四元组确定发送数据包P的测试端;如果数据包P属于回放流量源中从流量采集点左侧方向流入的流量,则设定数据包P将由第一测试端发送;反之设定数据包P将由第二测试端发送;第六步,查看数据包P所属TCP会话SP的收发平衡条件是否成立,如果收发平衡条件成立,则由相应测试端发送数据包P并更新所属TCP会话SP的收发平衡状态和TCP协议状态,跳到第九步;第七步,查看数据包P所属TCP会话SP的TCP协议状态,根据TCP协议规范,如果数据包P在当前TCP协议状态下可以被发送,则由相应测试端发送数据包P并更新所属TCP会话SP的收发平衡状态和TCP协议状态,跳到第九步;第八步,将该数据包P放入所属TCP会话SP的等待数据包队列的尾端等待发送;第九步,回放控制器分别查看其两个测试端是否接收到数据包M,对两个测试端接收到的每个数据包M,更新数据包M所属TCP会话SM的收发平衡状态和TCP协议状态,并按照先进行会话的收发平衡条件判定后进行会话状态判定的次序,重新判断所属TCP会话SM的等待数据包队列中的网络数据包P是否可以发送,此时,数据包M所属TCP会话SM即为网络数据包P所属会话SP,如果可以发送则将该数据包P交由对应测试端发送,更新数据包P所属TCP会话SP的收发平衡状态和TCP协议状态并从该TCP会话SM的等待队列中将该数据包P删除;第十步,回到第三步,直到回放流量源中的数据包均处理完毕。
地址 710049 陕西省西安市咸宁路28号