一种基于LINUX的无中断线速收包、发包方法及设备

    公开(公告)号:CN107066340B

    公开(公告)日:2020-05-12

    申请号:CN201710187894.3

    申请日:2017-03-27

    Abstract: 本发明公开了一种基于LINUX的无中断线速收包、发包方法及设备,属于LINUX系统中收发数据包技术领域。方法包括:应用程序携带至少一个空闲缓冲块的编号触发内核模块与网卡进行数据包交换;内核模块将至少一个空闲缓冲块的编号与网卡中收到的至少一个已存数据包缓冲块的编号交换,并将至少一个空闲缓冲块的物理地址配置到网卡;应用程序根据内核模块返回的编号处理数据。从而网卡在收包时将数据包存储到应用程序能够访问的缓冲块中,发包时通过应用程序填充的数据包缓冲块的物理地址发送数据包,从而收发包过程无需进行数据拷贝,提高了收发数据包性能,且采用无中断循环主动收发包,避免了中断收发包时对CPU资源的调用,进一步提高了收发包性能。

    一种基于LINUX的无中断线速收包、发包方法及设备

    公开(公告)号:CN107066340A

    公开(公告)日:2017-08-18

    申请号:CN201710187894.3

    申请日:2017-03-27

    Abstract: 本发明公开了一种基于LINUX的无中断线速收包、发包方法及设备,属于LINUX系统中收发数据包技术领域。方法包括:应用程序携带至少一个空闲缓冲块的编号触发内核模块与网卡进行数据包交换;内核模块将至少一个空闲缓冲块的编号与网卡中收到的至少一个已存数据包缓冲块的编号交换,并将至少一个空闲缓冲块的物理地址配置到网卡;应用程序根据内核模块返回的编号处理数据。从而网卡在收包时将数据包存储到应用程序能够访问的缓冲块中,发包时通过应用程序填充的数据包缓冲块的物理地址发送数据包,从而收发包过程无需进行数据拷贝,提高了收发数据包性能,且采用无中断循环主动收发包,避免了中断收发包时对CPU资源的调用,进一步提高了收发包性能。

Patent Agency Ranking