发明名称 |
在实时通信系统中实现快速转发的方法 |
摘要 |
本发明涉及一种在实时通信系统中实现快速转发的方法,是通过以下步骤实现的:网卡收到由其他设备发送过来的数据包,进入中断处理程序;中断处理程序收到发送过来的“流”的第一个数据包,进行流程转发;同时在高速缓冲中建立一个hash索引,将该流的具体信息和需要转发的端口记录下来;当“流”的随后包达到时,中断处理程序去查找高速缓冲,根据高速缓冲中的信息将数据包转发到相应的端口;本发明的有益效果是:使得“流”的非第一个包的转发都可以通过高速缓冲的查找来实现,而免去了对CPU比较耗时的任务调度处理;转发包的数量可以达到50 000PPS,比原来的系统提高了接近9倍,在包长为1280字节的时候达到单向线速。 |
申请公布号 |
CN1848796A |
申请公布日期 |
2006.10.18 |
申请号 |
CN200510025134.X |
申请日期 |
2005.04.15 |
申请人 |
上海艾泰科技有限公司 |
发明人 |
张洪忠 |
分类号 |
H04L12/56(2006.01) |
主分类号 |
H04L12/56(2006.01) |
代理机构 |
上海智信专利代理有限公司 |
代理人 |
薛琦 |
主权项 |
1.一种在实时通信系统中实现快速转发的方法,是通过以下步骤实现的:网卡收到由其他设备发送过来的数据包,进入中断处理程序;中断处理程序收到发送过来的“流”的第一个数据包,进行流程转发;所述的“流”是指具有相同的源地址,目的地址,源端口,目的端口和协议的数据包;所述的流程转发包括:将数据包从网卡缓存中拷贝到内存中,再进行下一步处理,如需要经过防火墙处理,或者经过NAT处理等,同时在高速缓冲中建立一个hash索引,将该流的具体信息和需要转发的端口记录下来;当“流”的随后包达到时,中断处理程序去查找高速缓冲,根据高速缓冲中的信息找到数据包到相应的端口,然后将要修改以后的要转发的数据包拷贝到相应端口的发送缓冲区,等待完成转发。 |
地址 |
200122上海市世纪大道1500号东方大厦1429室 |