一种嵌入式网络设备中加速网络数据包处理的方法及系统

    公开(公告)号:CN111506541A

    公开(公告)日:2020-08-07

    申请号:CN202010606097.6

    申请日:2020-06-30

    摘要: 本申请公开了一种嵌入式网络设备中加速网络数据包处理的方法。步骤S10:采用p指针来指示TCP/IP数据包的真正的存储空间。步骤S20:拷贝该TCP/IP数据包的三个头部到片上缓存,采用q指针来指示三个头部在片上缓存的存储空间。步骤S30:重构pbuf链,修改pbuf数据结构q指针和p指针。步骤S40:使用新的pbuf链进行该TCP/IP数据包的处理。步骤S50:把位于片上缓存的的三个头部拷贝并覆盖到真正的存储空间中的三个头部的存储位置,并在q指针中删除指向p指针。步骤S60:删除pbuf数据结构q指针,释放片上缓存;重构pbuf数据结构p指针。步骤S70:删除pbuf数据结构p指针,释放该TCP/IP数据包的真正的存储空间。本申请利用片上缓存来缓存TCP/IP数据包的头部,加快了TCP/IP数据包的处理速度。

    一种嵌入式网络设备中加速网络数据包处理的方法及系统

    公开(公告)号:CN111506541B

    公开(公告)日:2020-09-22

    申请号:CN202010606097.6

    申请日:2020-06-30

    摘要: 本申请公开了一种嵌入式网络设备中加速网络数据包处理的方法。步骤S10:采用p指针来指示TCP/IP数据包的真正的存储空间。步骤S20:拷贝该TCP/IP数据包的三个头部到片上缓存,采用q指针来指示三个头部在片上缓存的存储空间。步骤S30:重构pbuf链,修改pbuf数据结构q指针和p指针。步骤S40:使用新的pbuf链进行该TCP/IP数据包的处理。步骤S50:把位于片上缓存的的三个头部拷贝并覆盖到真正的存储空间中的三个头部的存储位置,并在q指针中删除指向p指针。步骤S60:删除pbuf数据结构q指针,释放片上缓存;重构pbuf数据结构p指针。步骤S70:删除pbuf数据结构p指针,释放该TCP/IP数据包的真正的存储空间。本申请利用片上缓存来缓存TCP/IP数据包的头部,加快了TCP/IP数据包的处理速度。

    基于LwIP协议栈的网络设备快速转发的方法及系统

    公开(公告)号:CN111478855B

    公开(公告)日:2020-09-18

    申请号:CN202010577957.8

    申请日:2020-06-23

    摘要: 本申请公开了一种快速转发数据包的方法,对于上行转发数据包的处理包括如下步骤。步骤S10:从LAN接口接收上行转发数据包,根据端口计算索引查找是否存在有效NAT Hash表。步骤S20:比较该上行转发数据包和有效NAT Hash表的TCP/IP协议五元组信息是否完全一致。如果完全一致,则将该上行转发数据包从LAN口发送到WAN口。步骤S30:为该上行转发数据包设置pbuf数据来源比特标识位。步骤S40:该上行转发数据包依次经过路由判断的Hook位置点、FORWARD的Hook位置点、最终到达POSTROUTING的Hook位置点。步骤S50:检测该上行转发数据包中的pbuf数据来源比特标识位,根据是否需要做SNAT处理对上行转发数据包分别处理。本申请实现了上下行转发数据包的快速接口转发,跳过了中间的处理过程,节省了处理时间。

    基于LwIP协议栈的网络设备快速转发的方法及系统

    公开(公告)号:CN111478855A

    公开(公告)日:2020-07-31

    申请号:CN202010577957.8

    申请日:2020-06-23

    摘要: 本申请公开了一种快速转发数据包的方法,对于上行转发数据包的处理包括如下步骤。步骤S10:从LAN接口接收上行转发数据包,根据端口计算索引查找是否存在有效NAT Hash表。步骤S20:比较该上行转发数据包和有效NAT Hash表的TCP/IP协议五元组信息是否完全一致。如果完全一致,则将该上行转发数据包从LAN口发送到WAN口。步骤S30:为该上行转发数据包设置pbuf数据来源比特标识位。步骤S40:该上行转发数据包依次经过路由判断的Hook位置点、FORWARD的Hook位置点、最终到达POSTROUTING的Hook位置点。步骤S50:检测该上行转发数据包中的pbuf数据来源比特标识位,根据是否需要做SNAT处理对上行转发数据包分别处理。本申请实现了上下行转发数据包的快速接口转发,跳过了中间的处理过程,节省了处理时间。