רÀûÃû³Æ£ºWinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨
¼¼ÊõÁìÓò£º
±¾·¢Ã÷ÊôÓÚÀ×´ï¼¼ÊõÁìÓò£¬Éæ¼°Íâ·øÉäÔ´À×´ïÐźŴ¦ÀíϵͳÖÐÌìÏß½ÓÊÕ²¿·ÖÓëÐźŴ¦Àí²¿·ÖÖ®¼äµÄ´óÊý¾ÝÁ¿´«ÊäºÍ½ÓÊÕ·½·¨£¬¾ßÌåÀ´Ëµ¾ÍÊÇÒ»ÖÖWinPcap+ǧÕ×ÒÔÌ«ÍøÍ⸣ÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨£¬¿ÉÔÚWinPcap¿â+Visual studioÈí¼þ¼¯³É¿ª·¢Æ½Ì¨ÏÂ,ʵÏÖ¶ÔÍâ·øÉäÔ´À×´ïÐźÅÊý¾ÝµÄʵʱ´«ÊäºÍ½ÓÊÕ¡£
±³¾°¼¼Êõ£º
Ëæ×ÅÏÖ´ú¿Æ¼¼µÄ²»¶Ï·¢Õ¹£¬¸÷ÖÖ´«Í³ÌåÖÆÀ×´ïÃæÁÙ×ÅǰËùδÓеÄÌôÕ½¡£ÈçºÎ¿Ë·þÈÕÒæÔö¼ÓµÄµç×ÓÕì²ìÓëµç×Ó¸ÉÈÅ¡¢¸ßËÙ·´·øÉäµ¼µ¯¡¢³¬µÍ¿Õ·É»úºÍѲº½µ¼µ¯ÒÔ¼°ÒþÉí·ÉÐÐÆ÷µÄÍþв±ã³ÉÁËÀ×´ï¿Æ¼¼¹¤×÷ÕßÃDz»µÃ²»¿¼ÂǵÄÎÊÌâ¡£Íâ·øÉäÔ´À×´ïÊÇË«/¶à»ùµØÌåÖÆÀ×´ïµÄÒ»ÖÖ£¬ÕâÖÖÀ×´ï×ÔÉí²¢²»·¢Éäµç´Å²¨Ðźţ¬ËüÖ»½ÓÊÕ±»²âÄ¿±ê×ÔÉíËù·øÉäµÄµç´Å²¨£¬»òÕß½ÓÊÕµÚÈý·½ÕÕÉäÔ´·¢Éäºó¾¹ýÄ¿±ê·´É仨À´µÄµç´Å²¨»ñȡĿ±êÐÅÏ¢¡£¾ßÓÐÃ÷ÏԵĿ¹¸ÉÈÅ¡¢¿¹·´·øÉäµ¼µ¯¡¢·´ÒþÉí¡¢·´µÍ¿ÕͻϮµÄ¡°ËÄ¿¹¡±ÄÜÁ¦£¬ÕâЩÄêÀ´Ò»Ö±Êܵ½´ó¼ÒµÄ¹Ø×¢£¬Ò²ÊÇĿǰ¹ú¼ÊÀ×´ï½çÑо¿µÄÈȵãÖ®Ò»¡£»ùÓÚÍâ·øÉäÔ´À×´ï³ýÁ˱¾ÉíÕ½³¡ÉúÃüÁ¦Ç¿¡¢·´ÒþÉíÍ⣬»¹¾ßÓÐÈçÏÂÓŵã¢Ù¹¤×÷ƵµãµÍ£¬·Ö²¼·¶Î§¹ã£¬±ãÓÚ¶à·¢ÉäÕ¾ÁªºÏ¶¨Î»ÐźÅÐÎʽ¶àÑù£¬¿ÉÑ¡ÔñÐÔÇ¿£¬²»Ò×±»¸ÉÈÅ
ϵͳÉú´æÄÜÁ¦Ç¿£¬¿É¶àÕ¾¶àƵ¶Îе÷¹¤×÷£¬ÉõÖÁ×éÍø½øÐÐÊý¾ÝÈںϡ£È»¶øÓÉÓÚÍâ·øÉäÔ´¾ßÓзÇÐ×÷¡¢²»¿É¿Ø¡¢²»¿ÉÔ¤ÖªµÄÌØÐÔ£¬Íâ·øÉäÔ´À×´ïµÄ̽²âÐÔÄÜÊܵ½½Ï´óµÄÏÞÖÆ£¬¸ÃÖÖÀ×´ï½ÓÊÕµ½µÄÄ¿±êÐźÅÊ®·Ö΢Èõ£¬Òª´ïµ½Óë³£¹æÀ×´ïÏàͬµÄÐÔÄÜ£¬¾ÍÐèÒª¸ü¼Ó¾«È·µÄËã·¨ÒÔ¼°´¦Àí¸ü´óµÄÊý¾ÝÁ¿¡£Ä¿Ç°Íâ·øÉäÔ´À×´ïϵͳµÄʵʱÊý¾Ý´«ÊäÖ÷Ҫͨ¹ýÁ½ÖÖ·½Ê½À´ÊµÏÖÒ»Êǰ´ÕÕϵͳҪÇ󿪷¢×¨ÓõÄÊý¾Ý´«Êä´¦Àí°å£¬µ«ÊÇÆä¿ª·¢ÄѶȴ󡢿ª·¢ÖÜÆÚ³¤¡¢¿ª·¢³É±¾¸ß¡¢ÄÑÒÔά»¤¶øÇÒÕâÖÖרÓõĴ¦Àí°åÖ»ÊÇÕë¶ÔÌØ¶¨µÄϵͳҪÇ󿪷¢µÄ£¬ÒÆÖ²ÐÔºÍÀ©Õ¹ÐÔ¶¼ºÜ²î¡£¶þÊÇʹÓÃÐÔÄܱȽϺô«Ê俨£¬ÈçHBA¿¨¡¢·´ÉäÄڴ濨µÈ¡£µ«Ê¹ÓÃÕâЩ¿¨¶ÔϵͳÓÖÓÐÌØ¶¨µÄÒªÇó£¬Èç·´ÉäÄڴ濨£¬ÐèÒª·¢ËͶ˺ͽÓÊն˶¼ÓÐÏàÓ¦µÄ²Ù×÷ϵͳ֧³Ö²¢ÇÒÖ»ÊʺÏÍ»·¢Êý¾Ý´«Êä¡£ÔÚÏÖÓеÄÍâ·øÉäÔ´À×´ïϵͳÊý¾Ý´«Êä·½·¨ÖУ¬Ö÷ÒªµÄÎÊÌâÔÚÓڵײãÇý¶¯¿ª·¢¡¢¿ª·¢ÖÜÆÚ³¤¡¢¿ª·¢³É±¾¸ßÒÔ¼°²»ÊÊÓÃÓÚ´óÊý¾ÝÁ¿ÊµÊ±´«Êä¡£
·¢Ã÷ÄÚÈÝ
±¾·¢Ã÷µÄÄ¿µÄÔÚÓÚ¿Ë·þÉÏÊöÏÖÓм¼Êõ´æÔÚ¿ª·¢ÄѶȴ󡢿ª·¢³É±¾¸ß¡¢¿ª·¢ÖÜÆÚ³¤µÈ²»×㣬Ìá³öÁËÒ»ÖÖWinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨£¬ÒÔ¼ò»¯Íâ·øÉäÔ´À×´ïϵͳ½á¹¹£¬ÌáÉýϵͳÐÔÄÜ£¬½µµÍ¿ª·¢·ÑÓã¬ÊµÏÖ¶ÔÀ×´ïÐźŵÄʵʱÐÔ´«Êä¡£¶àƵµãÍâ·øÉäÔ´À×´ïÐźÅʵʱ´¦ÀíϵͳÊÇÒ»ÏÄܸ´Ôӵİüº¬¶àÏî·¢Ã÷´´ÐµÄÅÓ´óϵͳ£¬»ù±¾µÄ×é³ÉÒÔÐźŴ«Êä´¦Àí·½ÏòÓÐÌìÏß½ÓÊÕ²¿·Ö¡¢À×´ïÐźÅʵʱ´¦Àí²¿·Ö¡¢ÖÕ¶ËÏÔʾ²¿·Ö£¬±¾·¢Ã÷ÊÇ¶àÆµµãÍâ·øÉäÔ´À×´ïÐźÅʵʱ´¦ÀíϵͳÖеÄÌìÏß½ÓÊÕ²¿·ÖÏòÀ×´ïÐźÅʵʱ´¦Àí²¿·ÖµÄÊý¾Ý´«Ê䲿·Ö¡£±¾Íâ·øÉäÔ´À×´ïϵͳ´«ÊäµÄÊý¾ÝÁ¿´ó£¬±¾·¢Ã÷ÊÇΪÁ˽â¾ö´óÊý¾ÝÁ¿µÄʵʱ´«ÊäµÄÄÑÌâ¶ø×¨ÃÅÌá³öµÄ¼¼Êõ·½°¸¡£ÎªÊµÏÖÉÏÊöÄ¿µÄ£¬±¾·¢Ã÷·½·¨°üÀ¨Èçϲ½Öè(I)Íâ·øÉäÔ´À×´ïϵͳ×ÊÔ´ÅäÖÃ(Ia)Íâ·øÉäÔ´À×´ïϵͳ²ÉÓÃ8Ô²ÕóÌìÏߣ¬Ã¿Ò»ÕóԪͬʱ½ÓÊÕ8¸öµ÷Ƶ¹ã²¥Ðźţ¬Ã¿Ò»ÕóÔªÌìÏß½ÓÊÕµÄÐźŰüÀ¨Ä¿±ê»Ø²¨Ðźš¢Ö±´ï²¨Ðźš¢µØÔÓ²¨Ðźš¢¶à¾¶ÔÓ²¨ÐźÅÒÔ¼°ÔëÉùÐźţ¬ÔÚÌìÏß½ÓÊÕ»úÖн«Ã¿Ò»ÕóÔªÌìÏßÐźž¹ý´øÍ¨²ÉÑù£¬A/D±ä»»£¬Êý×ÖÏÂ±äÆµºóµÃµ½8¸öƵµãµÄ1¡¢QÐźţ¬×îºóͨ¹ýÊý×Ö»¯ÐŵÀ´¦Àí½«8¸öƵµãµÄÐźŷÖÀ뿪À´£¬¹²µÃµ½8X8 = 64·ÐźÅÊä³ö£¬¼ÙÉè²ÉÑùÂÊλ200KHZ£¬Ôò±¾Íâ·øÉäÔ´À×´ïϵͳ×ܵÄÊý¾ÝÁ¿Îª200KX3X2X8X8 + 1. 024 = 75MB(600Mbps)£¬¼´Ã¿ÃëÓÐ75MBµÄÊý¾ÝÐèÒª´«ÈëÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»ú£»(Ib)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÌìÏß½ÓÊÕ»úÖУ¬°ÑÍâ·øÉäÔ´À×´ïÐźž¹ýÊý×Ö»¯ÐŵÀ´¦ÀíºóµÄµÃµ½µÄ64·ÐźŷֳÉÁ½×飬·Ö±ð½»¸øºó¶ËµÄFPGA×ۺϴ¦Àí°å£¬Ã¿¿éFPGA×ۺϴ¦Àí°åͨ¹ýÒÔÌ«Íø½øÐÐÊý¾Ý´«Ê䣬ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÌìÏß½ÓÊÕ»úºÍÐźŴ¦Àí»úÖ®¼äÉèÖÃÁ½¸öÊý¾Ý´«ÊäͨµÀ£¬Ã¿¸ö´«ÊäͨµÀ¸ºÔð4¸öƵµãµÄÊý¾Ý´«Ê䣬¸÷¸ö´«ÊäͨµÀͨ¹ýÍøÏßÁ¬½Ó£»(Ic)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»úÄÚ²¿ÉèÖÃÓÐÁ½¿é´óСΪ75MBµÄÄڴ滺³åÇøbufl¡¢buf2£¬ÕâÁ½¸öÄڴ滺³åÇø¶ÔÓ¦µÄ±ê־λ·Ö±ðΪflagl¡¢flag2£¬Á½¿éÐͺÅÏàͬµÄǧÕ×ÒÔÌ«Íø¿¨²½µ÷Ò»ÖµĽ«½ÓÊÕµ½µÄÍâ·øÉäÔ´À×´ïÊý¾ÝÊä³öµ½Í¬Ò»Äڴ滺³åÇøÖУ»(2)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»úÖÐÉèÖÃÍø¿¨(2a)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÌìÏß½ÓÊÕ»úºÍÐźŴ¦Àí»úÖ®¼äµÄÁ½¸öÊý¾Ý´«ÊäͨµÀµÄ½ÓÊն˰²×°Á½¿éÐͺÅÏàͬµÄǧÕ×ÒÔÌ«Íø¿¨£¬ÓÃÓÚÊý¾Ý½ÓÊÕ£»(2b)ͨ¹ýWinPcap¿â»ñµÃÐźŴ¦Àí»úÉÏËùÓÐÍø¿¨µÄÏêϸÐÅÏ¢£¬Ñ¡ÔñÆäÖÐÁ½¿éÐͺÅÏàͬµÄǧÕ×Íø¿¨½ÓÊÕÊý¾Ý£¬È·±£Íø¿¨ÏêϸÐÅÏ¢Õý³£ºó½«Æä´ò¿ª£»(2c)ÉèÖÃÄں˻º³å£¬ÓÃÀ´ÁÙʱ´æ·ÅÍø¿¨½ÓÊÕµÄÍâ·øÉäÔ´À×´ïÊý¾Ý£»(2d)ÉèÖÃWinPcap¿â¹ýÂ˹æÔò£¬Ê¹Á½¿éÍø¿¨·Ö±ð½ÓÊÕÖ¸¶¨µÄÄ¿±êÊý¾Ý£»(3)Íâ·øÉäÔ´À×´ïÊý¾Ý·¢ËÍ(3a)½«8Ô²ÕóÌìÏß½ÓÊÕµÄÐźž¹ýÊý×Ö»¯ÐŵÀ½ÓÊÕ»ú£¬»ñµÃµÄ8¸öƵµã64·75MBÊý¾Ý£¬ÒÔ4¸öƵµãΪһ×飬·Ö±ð½»¸øÍâ·øÉäÔ´À×´ïϵͳ½ÓÊÕ»úÖеÄÁ½¿éFPGA×ۺϴ¦Àí°å£»(3b)ÿ¿éFPGA×ۺϴ¦Àí°å½«4¸öƵµãµÄÊý¾Ý·â×°³ÉÒ»¸ö¸ö´óСÏàͬµÄ¾ÞÐÍÊý¾ÝÖ¡£¬²¢Í¨¹ýÁ½¸ùÍøÏß²¢Ðд«ÊäÖÁÍâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí»úµÄÊý¾Ý½ÓÊÕ¶Ë£»(4)Íâ·øÉäÔ´À×´ïÊý¾Ý½ÓÊÕ(4a)Íâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí»úµÄÊý¾Ý½ÓÊÕ¶Ë¿ªÆôÁ½¸ö¶ÀÁ¢µÄÊý¾Ý½ÓÊÕỊ̈߳¬Ê¹µÃÁ½¸ö½ÓÊÕÏß³ÌÓëÁ½¿éÍø¿¨Ò»Ò»¶ÔÓ¦£¬ÓÃÀ´¶ÔÁ½¸öÍø¿¨µÄÍâ·øÉäÔ´À×´ïÊý¾Ý½øÐв¢ÐнÓÊÕ£»(4b)ͨ¹ýWindowsḬ̈߳󶨽«Á½¸öÊý¾Ý½ÓÊÕÏ̷ֱ߳ð°ó¶¨µ½²»Í¬µÄCPUºËÉÏ£¬ÒÔ±ÜÃâCPU×ÊÔ´²¢·¢Õ¼ÓöÔÊý¾Ý½ÓÊÕµÄÓ°Ï죻(4c)Á½¸öÊý¾Ý½ÓÊÕÏ̷ֱ߳ð²¢ÐеĶÔ4¸öƵµãµÄÊý¾Ý½øÐнÓÊÕ£¬Á½¸ö½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾ÝÔÚÐźŴ¦Àí»úÄڴ濪±ÙµÄ»º³åÇøÖÐÒÔÆ¹ÅÒµÄÐÎʽ´æ·Å£¬¿ª¹Økl´òµ½buflʱ£¬Á½¸öÊý¾Ý½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾Ý´æ·ÅÔÚbuflÖУ¬Kl´òµ½buf2ʱ£¬Á½¸öÊý¾Ý½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾Ý´æ·ÅÔÚbuf 2ÖС£
±¾·¢Ã÷µÄʵÏÖ»¹ÔÚÓÚ²½Öè(3b)ÖеÄFPGA×ۺϴ¦Àí°å½«Êý¾Ý·â×°³ÉÒ»¸ö¸ö´óСÏàͬµÄ¾ÞÐÍÊý¾ÝÖ¡£¬²¢Í¨¹ýÍøÏß´«ÊäÖÁÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»ú£¬°´Èçϲ½Öè½øÐÐ(3bl)FPGA×ۺϴ¦Àí°å½«½ÓÊÕµ½µÄ4¸öƵµãÊý¾Ý°´ÕÕÆä·¢ËÍ·½Ê½×ª»¯ÎªÔÚÍøÏßÀï´«ÊäµÄ×Ö½ÚÐÍÊý¾Ý£»(3b2)¶¨ÒåÊý¾ÝÖ¡´óСÒÔ¼°´«Êä¸ñʽ£»(3b3)½«Êý¾ÝÖ¡Í·¡¢Êý¾ÝÖ¡ºÅºÍ4kÊý¾Ý°´ÕÕÒÔÌ«ÍøÐÒéµÄÒªÇó£¬Ë³ÐòÌî³äµ½Ã¿Ò»¸ö¾ÞÐÍÊý¾ÝÖ¡À(3b4)ͨ¹ýÍøÏß½«Ìî³äÊý¾ÝµÄ¾ÞÐÍÊý¾ÝÖ¡´«Êäµ½Íâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»úÀï¡£°´ÕÕ´«Í³µÄÒÔÌ«ÍøÐÒ飬¼ÓÉÏÊý¾Ý֡ͷÿ֡Êý¾Ý×î´óµÄЯ´øÁ¿Îª1518¸ö×Ö½Ú£¬ÆäÖÐÓÐÓÃÊý¾Ý´óԼΪIk×Ö½Ú¡£ÔÚ±¾ÏµÍ³ÖУ¬·¢ËÍÊý¾ÝÁ¿Ò»¶¨µÄÇé¿öÏ£¬Ð¯´øIkÊý¾ÝµÄÊý¾ÝÖ¡»á´øÀ´¸ü´óµÄÈí¼þÑÓʱ£¬¶øÇÒ´«ÊäËٶȵÍÏ¡£Ò»°ãÇé¿öÏ£¬Ã¿Ö¡Êý¾ÝÁ¿Ô½´ó£¬ÐèÒª´«ÊäµÄ´ÎÊý¾ÍÔ½ÉÙ£¬´«Êäʱ¼ä¾ÍÔ½¶Ì£¬ÓÐÀûÓÚÌá¸ßÊý¾Ý´«ÊäµÄÕûÌåËÙ¶È¡£±¾·¢Ã÷²ÉÓÃÁËÖ§³Ö¾ÞÐÍÖ¡µÄǧÕ×ÒÔÌ«Íø¿¨£¬Êý¾ÝÖ¡×î´óµÄЯ´øÁ¿Îª9k£¬ÔÚ·¢ËÍÊý¾ÝÁ¿Ò»¶¨µÄÌõ¼þÏ£¬¿ÉÒÔÏÔÖøÌáÉý´«ÊäËÙ¶È¡£±¾·¢Ã÷µÄʵÏÖ»¹ÔÚÓÚ²½Öè(3b)ËùÊöµÄÁ½¸ùÍøÏß²¢Ðд«ÊäÖÁÍâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí»úµÄÊý¾Ý½ÓÊն˵ÄÊý¾ÝÐèÒªÁ½¿éǧÕ×ÒÔÌ«Íø¿¨¶ÔÊý¾Ý½øÐв¢ÐнÓÊÕ£¬²ÉÓÃWinpcap¿â½øÐÐÊý¾Ý·¢ËÍ£¬Îȶ¨µÄ´«ÊäËÙÂÊΪ400Mbps,Ñ¡ÓÃÁ½¿éǧÕ×ÒÔÌ«Íø¿¨½øÐÐ75MB(600Mbps)Êý¾ÝµÄ²¢ÐнÓÊÕ¡£Ä¿Ç°Ç§Õ×ÒÔÌ«ÍøµÄ·åÖµ´«ÊäÄÜÁ¦Îª1000Mbps£¬ÔÚÀíÂÛÉÏÍêÈ«¿ÉÒÔÂú×㱾ϵͳµÄ´«ÊäÒªÇ󣬾¹ý²âÊÔ·¢ÏÖǧÕ×ÒÔÌ«ÍøÊµ¼ÊµÄ´«ÊäÄÜÁ¦ÄÑÒÔ´ïµ½Æä·åÖµÐÔÄÜ£»ÔÚʵÑéÊÒÌõ¼þÏ£¬±È½ÏÎȶ¨µÄ´«ÊäÄÜÁ¦Îª400Mbps,ÓÉÓÚÍ⸣ÉäÔ´À×´ïϵͳµÄ´«ÊäÒªÇóΪ600Mbps,²ÉÓÃÁ½¿éǧÕ×ÒÔÌ«Íø¿¨½øÐÐÊý¾Ý½ÓÊձȽÏÇ¡µ±¡£4.±¾·¢Ã÷µÄʵÏÖ»¹ÔÚÓÚ²½Öè(4c)ËùÊöµÄÁ½¸ö½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾ÝÔÚÄÚ´æÒÔÆ¹ÅÒµÄÐÎʽ´æ·Å£¬Æä´æ·Å¹ý³ÌΪÁ½¸öÊý¾Ý½ÓÊÕÏß³Ìͬʱ²¢ÐеĶÔ4¸öƵµãµÄÍâ·øÉäÔ´À×´ïÊý¾Ý½øÐнÓÊÕ£¬²¢½«Á½¸öÏ߳̽ÓÊÕµ½µÄÊý¾Ý·ÅÔÚËù¿ª±ÙµÄͬһÄڴ滺³åÇøbuflÀµ±8¸öƵµã75MBµÄÊý¾Ý½ÓÊÕÂúʱ£¬Í¨¹ýÖÃbufl±ê־λflagl½«¿ª¹ØKl´òµ½buf2ÉÏ£¬Á½¸öÊý¾Ý½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾Ý·ÅÔÚbuf2ÖУ¬ÔÚKl´òµ½buf2ÉϵÄͬʱ£¬¿ª¹ØK2´òµ½buflÉÏ£¬ÐźŴ¦Àí»úÖеÄGPU¶Ô´«Êäµ½buflÖеÄ75MBÊý¾Ý½øÐÐÊý×Ö²¨ÊøÐγÉDBF¡¢ÔÓ²¨ÏàÏû¡¢¾àÀë-¶àÆÕÀÕÒÔ¼°ºãÐ龯´¦Àí¡£±¾·¢Ã÷ËùÓ¦ÓõÄÍâ·øÉäÔ´À×´ïϵͳҪÇóÊý¾Ýʵʱ´«Ê䡢ʵʱ´¦Àí¡¢ÊµÊ±ÏÔʾ£¬´¦ÀíʱÑÓΪls£¬ÌìÏß½ÓÊÕ»úÓëÐźŴ¦Àí»úÖ®¼äµÄÊý¾Ý´«ÊäºÍGPUʵʱ´¦Àí³ÌÐòÊÇͬʱ½øÐеģ¬ÔÚÐźŴ¦Àí»úÖпª±ÙÁ½¿éÄڴ滺³åÇø£¬Á½¸ö½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾ÝÔÚÐźŴ¦Àí»úÀïËù¿ª±ÙµÄÄڴ滺³åÇøÖÐÒÔÆ¹ÅÒµÄÐÎʽ´æ·Å£¬¿ÉÒÔ±ÜÃâGPUÕýÔÚ´¦ÀíµÄÊý¾Ý±»ÏÂÒ»ÅúÊý¾Ý¸²¸Ç£¬´Ó¶øÌá¸ßÍâ·øÉäÔ´À×´ïϵͳµÄÎȶ¨ÐÔ¡£±¾·¢Ã÷ÓëÏÖÓм¼ÊõÏà±È¾ßÓÐÒÔÏÂÓŵãI)±¾·¢Ã÷²ÉÓÃÆÕÍ¨ÍøÏß×÷Ϊ´«Êäý½é£¬´«Êä×ñÊØÒÔÌ«ÍøÐÒ飬Ó뿪·¢×¨ÒµµÄÊý¾Ý´«Êä°å¿¨Ïà±È£¬Ê¹Óñ¾·¢Ã÷ËùÊöµÄ·½·¨¾ßÓпª·¢³É±¾µÍ¡¢¿ª·¢ÖÜÆÚ¶Ì¡¢Ó²¼þƽ̨Ò×ÓڴµÄÓŵ㡣
2)±¾·¢Ã÷ÓÉÓÚ²ÉÓÃרÃŲ¶»ñÍøÂçÔʼÊý¾Ý°üµÄ¿ªÔ´¿âWinPcap£¬¿ÉÒÔ½«Íø¿¨½ÓÊÕµ½µÄʵʱÍâ·øÉäÔ´À×´ïÊý¾Ý·ÅÔÚÐźŴ¦Àí»úËù¿ª±ÙµÄÄڴ滺³åÇøÖУ¬Âú×ãÁËÍâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí²¿·ÖʵʱÐÔ´¦ÀíµÄÒªÇ󣬶øÇÒʹÓÃWinPcap¿ÉÒÔʡȥµ×²ãµÄÉ豸Çý¶¯¿ª·¢¹¤×÷¡£3)±¾·¢Ã÷ÔÚÊý¾Ý·¢ËÍʱ²ÉÓÃÁ˾ÞÐÍÊý¾ÝÖ¡£¬¼õÉÙÁËÊý¾ÝµÄ´«Êä´ÎÊý£¬½µµÍÁËÔÚÊý¾Ý´«Êä¹ý³ÌÖеijö´í·çÏÕ£¬¿ÉÒÔÌá¸ßÍâ·øÉäÔ´À×´ïϵͳÊý¾Ý´«ÊäµÄÎȶ¨ÐÔ¡£
ͼ1ÊÇ¶àÆµµãÍâ·øÉäÔ´À×´ïϵͳʾÒâͼ£»Í¼2ÊÇ¶àÆµµãÍâ·øÉäÔ´À×´ïµÄϵͳÁ÷³Ìͼ£»Í¼3ÊDZ¾·¢Ã÷µÄÐźŴ«Êä½ÓÊÕÁ÷³Ìͼ£»Í¼4ÊÇÓñ¾·¢Ã÷×÷ΪÐźŴ«Êä·½°¸Öն˺½¼£ÏÔʾPPIͼ£»Í¼5ÊÇÓñ¾·¢Ã÷×÷ΪÐźŴ«Êä·½°¸Ä¿±êλÖþßÌåʵʩÀý·½Ê½ÏÂÃæ½áºÏ¸½Í¼¶Ô±¾·¢Ã÷½øÐÐÏêϸ˵Ã÷ʵʩÀý1±¾·¢Ã÷ÊÇ¶àÆµµãÍâ·øÉäÔ´À×´ïÐźÅʵʱ´¦ÀíϵͳÖÐÌìÏß½ÓÊÕ²¿·ÖºÍÀ×´ïÐźÅʵʱ´¦Àí²¿·ÖÖ®¼äµÄWinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨¡£²Î¼ûͼ1£¬¶àƵµãÍâ·øÉäÔ´À×´ïÐźÅʵʱ´¦ÀíϵͳÊÇÒ»ÏÄܸ´Ôӵİüº¬¶àÏî·¢Ã÷´´ÐµĴóϵͳ£¬»ù±¾µÄ×é³ÉÒÀÐźŴ«Êä´¦Àí·½ÏòÓÐÌìÏß½ÓÊÕ²¿·Ö¡¢À×´ïÐźÅʵʱ´¦Àí²¿·Ö¡¢ÖÕ¶ËÏÔʾ²¿·Ö£¬±¾·¢Ã÷ÊÇ¶àÆµµãÍâ·øÉäÔ´À×´ïÐźÅʵʱ´¦ÀíϵͳÖеÄÌìÏß½ÓÊÕ²¿·ÖÏòÀ×´ïÐźÅʵʱ´¦Àí²¿·ÖµÄÊý¾Ý´«Ê䲿·Ö£¬²Î¼ûͼ2¡£±¾Íâ·øÉäÔ´À×´ïϵͳ´«ÊäµÄÊý¾ÝÁ¿´ó£¬ÎªÁËÌá¸ßÍâ·øÉäÔ´À×´ïϵͳµÄÄ¿±ê¶¨Î»¾«¶È¶ø²ÉÓÃÁË 8¸öƵµã£¬ÓëI¸öƵµãÏà±È£¬ÐèÒª´¦ÀíµÄÊý¾ÝÁ¿´ó·ùÌáÉý£¬ÎªÁ˽â¾ö´óÊý¾ÝÁ¿µÄʵʱ´«ÊäµÄÄÑÌ⣬±¾·¢Ã÷רÃÅÌá³öÁË WinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨µÄ¼¼Êõ·½°¸¡£²Î¼ûͼ3£¬ÊµÏÖÌìÏß½ÓÊÕ²¿·ÖÏòÀ×´ïÐźÅʵʱ´¦Àí²¿·ÖµÄÊý¾Ý´«Êä°üÀ¨Èçϲ½Öè(I)Íâ·øÉäÔ´À×´ïϵͳ×ÊÔ´ÅäÖã¬ÒòΪ±¾·¢Ã÷ÊÇÓ¦ÓÃÓÚÍâ·øÉäÔ´À×´ïϵͳÖУ¬Òò´ËÍâ·øÉäÔ´À×´ïϵͳ×ÊÔ´ÅäÖÃÓëÍâ·øÉäÔ´À×´ïϵͳÊÇÒ»Öµģ¬¼ûͼ1¡£(Ia)Íâ·øÉäÔ´À×´ïϵͳ²ÉÓÃ8Ô²ÕóÌìÏߣ¬Ã¿Ò»ÕóԪͬʱ½ÓÊÕ8¸öµ÷Ƶ¹ã²¥Ðźţ¬Ã¿Ò»ÕóÔªÌìÏß½ÓÊÕµÄÐźŰüÀ¨Ä¿±ê»Ø²¨Ðźţ¬Ö±´ï²¨Ðźţ¬¶à¾¶ÔÓ²¨ÐźÅÒÔ¼°ÔëÉùÐźţ¬ÔÚÌìÏß½ÓÊÕ»úÖн«Ã¿Ò»ÕóÔªÌìÏßÐźž¹ý´øÍ¨²ÉÑù£¬A/D±ä»»£¬Êý×ÖÏÂ±äÆµºóµÃµ½8¸öƵµãµÄ1¡¢QÐźţ¬×îºóͨ¹ýÊý×Ö»¯ÐŵÀ´¦Àí½«8¸öƵµãµÄÐźŷÖÀ뿪À´£¬¹²µÃµ½8X8 = 64·ÐźÅÊä³ö¡£¼ÙÉè²ÉÑùÂÊΪ200KHZ£¬Ôò±¾Íâ·øÉäÔ´À×´ïϵͳ×ܵÄÊý¾ÝÁ¿Îª200KX3X2X8X8 + 1. 024 = 75MB(600Mbps)£¬¼´Ã¿ÃëÓÐ75MBµÄÊý¾ÝÐèÒª´«ÈëÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»ú£¬Óëµ¥¸öƵµãÊý¾ÝÏà±È£¬8¸öƵµã75MBÊý¾ÝʹÓÃÏÖÓеļ¼Êõ·½·¨ºÜÄÑ´ïµ½±¾Íâ·øÉäÔ´À×´ïϵͳʵʱ´«ÊäµÄÒªÇó¡£
(Ib)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÌìÏß½ÓÊÕ»úÖУ¬°ÑÍâ·øÉäÔ´À×´ïÐźž¹ýÊý×Ö»¯ÐŵÀ´¦ÀíºóµÄµÃµ½µÄ64·ÐźŷֳÉÁ½×飬·Ö±ð½»¸øºó¶ËµÄFPGA×ۺϴ¦Àí°å£¬Ã¿¿éFPGA×ۺϴ¦Àí°åͨ¹ýÒÔÌ«Íø½øÐÐÊý¾Ý´«Ê䣬ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÌìÏß½ÓÊÕ»úºÍÐźŴ¦Àí»úÖ®¼äÉèÖÃÁ½¸öÊý¾Ý´«ÊäͨµÀ£¬Ã¿¸ö´«ÊäͨµÀ¸ºÔð4¸öƵµãµÄÊý¾Ý´«Ê䣬¸÷¸ö´«ÊäͨµÀͨ¹ýÍøÏßÁ¬½Ó£¬Á½¸ö´«ÊäͨµÀÕýºÃÂú×ã8¸öƵµãµÄÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä¡£±¾·¢Ã÷²ÉÓÃÆÕÍ¨ÍøÏß×÷Ϊ´«Êäý½é£¬´«Êä×ñÊØÒÔÌ«ÍøÐÒ飬Ó뿪·¢×¨ÒµµÄÊý¾Ý´«Êä°å¿¨Ïà±È£¬Ê¹Óñ¾·¢Ã÷ËùÊöµÄ·½·¨¾ßÓпª·¢³É±¾µÍ¡¢¿ª·¢ÖÜÆÚ¶Ì¡¢Ó²¼þƽ̨Ò×ÓڴµÄÓŵ㡣(Ic)ÔÚÍ⸣ÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»úÄÚ²¿ÉèÖÃÓÐÁ½¿é´óСΪ75MBµÄÄڴ滺³åÇøbuf1¡¢buf 2£¬ÕâÁ½¸öÄڴ滺³åÇø¶ÔÓ¦µÄ±ê־λ·Ö±ðΪflagl¡¢flag2£¬Á½¿éÐͺÅÏàͬµÄǧÕ×ÒÔÌ«Íø¿¨²½µ÷Ò»ÖµĽ«½ÓÊÕµ½µÄÊý¾ÝÊä³öµ½Í¬Ò»Äڴ滺³åÇøÖС£(2)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»úÖÐÉèÖÃÍø¿¨(2a)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÌìÏß½ÓÊÕ»úºÍÐźŴ¦Àí»úÖ®¼äµÄÁ½¸öÊý¾Ý´«ÊäͨµÀµÄ½ÓÊն˰²×°Á½¿éÐͺÅÏàͬµÄǧÕ×ÒÔÌ«Íø¿¨£¬ÓÃÓÚÍâ·øÉäÔ´À×´ïÊý¾Ý½ÓÊÕ¡£(2b)ͨ¹ýWinPcap¿â»ñµÃÍø¿¨ÏêϸÐÅÏ¢£¬Ñ¡ÔñÆäÖÐÁ½¿éÐͺÅÏàͬµÄǧÕ×Íø¿¨½ÓÊÕÊý¾Ý£¬È·±£Íø¿¨ÏêϸÐÅÏ¢Õý³£ºó½«Æä´ò¿ª¡£(2c)ÉèÖÃÄں˻º³å£¬ÓÃÀ´ÁÙʱ´æ·ÅÍø¿¨½ÓÊÕµÄÍâ·øÉäÔ´À×´ïÊý¾Ý¡£(2d)ÉèÖÃWinPcap¿â¹ýÂ˹æÔò£¬Ê¹Á½¿éÍø¿¨·Ö±ð½ÓÊÕÖ¸¶¨µÄÄ¿±êÊý¾Ý¡£(3)Íâ·øÉäÔ´À×´ïÊý¾Ý·¢ËÍ(3a)½«8Ô²ÕóÌìÏß½ÓÊÕµÄÐźž¹ýÊý×Ö»¯ÐŵÀ½ÓÊÕ»ú£¬»ñµÃµÄ8¸öƵµã64·75MBÊý¾Ý£¬ÒÔ4¸öƵµãΪһ×飬·Ö±ð½»¸øÍâ·øÉäÔ´À×´ïϵͳ½ÓÊÕ»úÖеÄÁ½¿éFPGA×ۺϴ¦Àí°å¡£(3b)ÿ¿éFPGA×ۺϴ¦Àí°å½«4¸öƵµãµÄÊý¾Ý·â×°³ÉÒ»¸ö¸ö´óСÏàͬµÄ¾ÞÐÍÊý¾ÝÖ¡£¬²¢Í¨¹ýÁ½¸ùÍøÏß²¢Ðд«ÊäÖÁÍâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí»úµÄÊý¾Ý½ÓÊÕ¶Ë¡£4¸öƵµãµÄÊý¾Ý·â×°³É´óСÏàͬµÄ¾ÞÐÍÊý¾ÝÖ¡£¬Í¨¹ýÁ½¸ùÍøÏß²¢Ðд«ÊäµÄ¹ý³Ì°üÀ¨(3bl)ÿ¿éFPGA×ۺϴ¦Àí°å½«½ÓÊÕµ½µÄ4¸öƵµãÍâ·øÉäÔ´À×´ïÊý¾Ýת»¯ÎªÔÚÍøÏßÀï´«ÊäµÄ×Ö½ÚÐÍÊý¾Ý£»(3b2)¶¨ÒåÊý¾ÝÖ¡´óСÒÔ¼°´«Êä¸ñʽ£»(3b3)½«Êý¾ÝÖ¡Í·¡¢Êý¾ÝÖ¡ºÅºÍ4kÊý¾Ý°´ÕÕÒÔÌ«ÍøÐÒéµÄÒªÇó£¬Ë³ÐòÌî³äµ½Ã¿Ò»¸ö¾ÞÐÍÊý¾ÝÖ¡À(3b4)ͨ¹ýÍøÏß½«Ìî³äÊý¾ÝµÄ¾ÞÐÍÊý¾ÝÖ¡´«Êäµ½Íâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»úÀï¡£±¾·¢Ã÷ÔÚÊý¾Ý·¢ËÍʱ²ÉÓÃÁ˾ÞÐÍÊý¾ÝÖ¡£¬¼õÉÙÁËÊý¾ÝµÄ´«Êä´ÎÊý£¬½µµÍÁËÔÚÊý¾Ý´«Êä¹ý³ÌÖеijö´í·çÏÕ£¬¿ÉÒÔÌá¸ßÍâ·øÉäÔ´À×´ïϵͳÊý¾Ý´«ÊäµÄÎȶ¨ÐÔ¡£ÔÚÍâ·øÉäÔ´À×´ïϵͳÌìÏß½ÓÊÕ»úµÄÿ¿éFPGAÖУ¬±¾·¢Ã÷²ÉÓÃWinPcap¿â½øÐÐÍâ·øÉäÔ´À×´ïÊý¾Ý·¢ËÍ£¬Îȶ¨µÄ´«ÊäËÙÂÊΪ400Mbps£¬Á½¿éǧÕ×ÒÔÌ«Íø¿¨½øÐÐ75MBÊý¾ÝµÄ²¢ÐнÓÊÕ¡£Ä¿Ç°Ç§Õ×ÒÔÌ«Íø±ê×¢µÄ·åÖµ´«ÊäÄÜÁ¦Îª1000Mbps£¬ÔÚÀíÂÛÉÏÍêÈ«¿ÉÒÔÂú×ãÍâ·øÉäÔ´À×´ïϵͳµÄ´«ÊäÒªÇ󣬵«ÊǾ¹ý²âÊÔ·¢ÏÖǧÕ×ÒÔÌ«ÍøÊµ¼ÊµÄ´«ÊäÄÜÁ¦ÄÑÒÔ´ïµ½Æä·åÖµÐÔÄÜ£»ÔÚʵÑéÊÒÌõ¼þÏ£¬±È½ÏÎȶ¨µÄ´«ÊäÄÜÁ¦Îª400Mbps£¬ÓÉÓÚÍâ·øÉäÔ´À×´ïϵͳ¶ÔÓÚÊý¾Ý´«ÊäÓиߵĿɿ¿ÐÔÒªÇó¡£ÔÚÍâ·øÉäÔ´À×´ïϵͳÖУ¬¶ÔÓÚÊý¾Ý´«ÊäµÄ´«ÊäÁ¿ÒªÇóΪ600Mbps£¬ÔÚ±¾·¢Ã÷µÄ¼¼Êõ·½°¸ÖУ¬²ÉÓÃÁ½¿éǧÕ×ÒÔÌ«Íø¿¨½øÐÐÊý¾Ý½ÓÊÕ¿ÉÒÔÂú×ã´ËÒªÇó¡£(4)Íâ·øÉäÔ´À×´ïÊý¾Ý½ÓÊÕ(4a)Íâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí»úµÄÊý¾Ý½ÓÊÕ¶Ë¿ªÆôÁ½¸ö¶ÀÁ¢µÄÊý¾Ý½ÓÊÕỊ̈߳¬Ê¹µÃÁ½¸ö½ÓÊÕÏß³ÌÓëÁ½¿éÍø¿¨Ò»Ò»¶ÔÓ¦£¬ÓÃÀ´¶ÔÁ½¸öÍø¿¨µÄÊý¾Ý½øÐв¢ÐнÓÊÕ¡£(4b)µ÷Óà Windows Ó¦ÓóÌÐò±à³Ì½Ó¿Ú API µÄ SetThreadAffinityMaskO ½«Á½¸öÊý¾Ý½ÓÊÕÏ̷ֱ߳ð°ó¶¨µ½²»Í¬µÄCPUºËÉÏ£¬ÒÔ±ÜÃâCPU×ÊÔ´²¢·¢Õ¼ÓöÔÊý¾Ý½ÓÊÕµÄÓ°Ïì¡£(4c)Á½¸öÊý¾Ý½ÓÊÕÏ̷ֱ߳ð²¢ÐеĶÔ4¸öƵµãµÄÍâ·øÉäÔ´À×´ïÊý¾Ý½øÐнÓÊÕ£¬Á½¸ö½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾ÝÔÚÄڴ濪±ÙµÄ»º³åÇøÖÐÒÔÆ¹ÅÒµÄÐÎʽ´æ·Å£¬¿ª¹ØKl´òµ½buflʱ£¬Á½¸öÊý¾Ý½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾Ý´æ·ÅÔÚbuflÖУ¬Kl´òµ½buf2ʱ£¬Á½¸öÊý¾Ý½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾Ý´æ·ÅÔÚbuf2ÖУ¬¼ûͼ3¡£±¾·¢Ã÷µÄÊý¾ÝÔÚÐźŴ¦Àí»úËù¿ª±ÙµÄÄڴ滺³åÇøÉÏÒÔÆ¹ÅÒµÄÐÎʽ´æ·Å£¬Æä´æ·Å¹ý³ÌΪÁ½¸öÊý¾Ý½ÓÊÕÏ̵߳÷ÓÃWinPcapµÄPcap_next_ex (),·Ö±ð²¢ÐеĶÔ4¸öƵµãµÄÍâ·øÉäÔ´À×´ïÊý¾Ý½øÐнÓÊÕ£¬²¢½«Á½¸öÏ߳̽ÓÊÕµ½µÄÍâ·øÉäÔ´À×´ïÊý¾Ý·ÅÔÚËù¿ª±ÙµÄͬһÄڴ滺³åÇøbuf 1£¬²Î¼ûͼ3£¬µ±8¸öƵµã75MBµÄÊý¾Ý½ÓÊÕÂúʱ£¬Í¨¹ýÖÃbufl±ê־λflagl½«¿ª¹ØKl´òµ½buf2ÉÏ£¬Á½¸öÊý¾Ý½ÓÊÕÏ߳̽ÓÊÕµÄÍâ·øÉäÔ´À×´ïÊý¾Ý·ÅÔÚbuf2ÖУ¬ÔÚKl´òµ½buf2ÉϵÄͬʱ£¬¿ª¹ØK2´òµ½buflÉÏ£¬ÐźŴ¦Àí»úµÄGPU¶Ô´«Êäµ½buflÖеÄ75MBÊý¾Ý½øÐÐÊý×Ö²¨ÊøÐγÉDBF¡¢ÔÓ²¨ÏàÏû¡¢¾àÀë-¶àÆÕÀÕÒÔ¼°ºãÐ龯¼ì²â´¦Àí£¬²Î¼ûͼ2¡£±¾·¢Ã÷ËùÓ¦ÓÃµÄ Íâ·øÉäÔ´À×´ïϵͳҪÇóÊý¾Ýʵʱ´«Ê䡢ʵʱ´¦Àí¡¢ÊµÊ±ÏÔʾ£¬´¦ÀíʱÑÓΪls£¬ÌìÏß½ÓÊÕ»úÓëÐźŴ¦Àí»úÖ®¼äµÄÊý¾Ý´«ÊäºÍGPUʵʱ´¦Àí³ÌÐòÊÇͬʱ½øÐеģ¬ÔÚÐźŴ¦Àí»úÖпª±ÙÁ½¿éÄڴ滺³åÇø£¬Á½¸ö½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾ÝÔÚÐźŴ¦Àí»úÀïËù¿ª±ÙµÄÄڴ滺³åÇøÖÐÒÔÆ¹ÅÒµÄÐÎʽ´æ·Å£¬¿ÉÒÔ±ÜÃâGPUÕýÔÚ´¦ÀíµÄÊý¾Ý±»ÏÂÒ»ÅúµÄÊý¾Ý¸²¸Ç£¬´Ó¶øÌá¸ßÍâ·øÉäÔ´À×´ïϵͳµÄÎȶ¨ÐÔ¡£ÊµÊ©Àý2WinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨Í¬ÊµÊ©Àý1¡£²ÎÕÕͼ1£¬±¾·¢Ã÷Ìá³öµÄÍâ·øÉäÔ´À×´ïÊý¾Ýʵʱ´«Êä·½·¨Ó¦ÓõÄÍâ·øÉäÔ´À×´ïϵͳ°üÀ¨8ÕóÔªÌìÏß¡¢Êý×Ö»¯ÐŵÀ½ÓÊÕ»ú¡¢ÐźŴ¦Àí»ú¡¢ÖÕ¶ËÏÔ¿ØÆ½Ì¨¡£ÆäÖÐ8ÕóÔªÌìÏß½ÓÊÕ8¸öµ÷Ƶ¹ã²¥µç̨Ðźţ¬½ÓÊÕµÄÐźÅÖ÷Òª°üÀ¨Ä¿±ê»Ø²¨Ðźš¢Ö±´ï²¨Ðźš¢µØÎïÔÓ²¨Ðźš¢¶à¾¶ÔÓ²¨ÐźÅÒÔ¼°ÔëÉùÐźš£8Ô²ÕóÌìÏß½ÓÊÕµÄÐźÅͨ¹ýÍøÏß´«ÊäÖÁÐźŴ¦Àí»ú½øÐÐʵʱ´¦Àí£¬²¢½«´¦ÀíµÄ½á¹û·¢Ë͸øÖÕ¶ËÏÔʾƽ̨£¬Öն˽øÐк½¼£ÏÔʾ´¦Àí¡£²ÎÕÕͼ2£¬ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÌìÏß½ÓÊÕ»úÖУ¬8Ô²ÕóÌìÏß½ÓÊÕµÄÐźž¹ý´øÍ¨²ÉÑù¡¢A\D±ä»»¡¢ÏÂ±äÆµºóÔÙͨ¹ýÊý×Ö»¯ÐŵÀÂ˲¨Æ÷Ñ¡³ö¶ÔÓ¦ÓÚ8¸öƵµãf\£¬f2£¬¡£¬f8µÄÐźţ¬Á½¿éFPGA×ۺϴ¦Àí°å½«8¸öƵµãµÄÍâ·øÉäÔ´À×´ïÊý¾Ý´ò°üºó¾ÓÉÁ½¸ùÍøÏß´«ÊäÖÁÐźŴ¦Àí»ú£¬ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»úÖУ¬GPU¸ºÔð¶ÔÐźŽøÐÐÊý×Ö²¨ÊøÐγÉDBF¡¢ÔÓ²¨ÏàÏû¡¢¾àÀë-¶àÆÕÀÕ¡¢ºãÐ龯¼ì²â´¦Àí£¬Ïû³ý»Ø²¨ÐźÅÖÐÖ±´ï²¨¡¢µØÎïÔÓ²¨¡¢¶à¾¶ÔÓ²¨ÒÔ¼°ÔëÉùÐźţ¬Ìá´¿Ä¿±êÐźţ¬²¢½«´¦ÀíµÄ½á¹û½øÐбȷù²â½Ç¡¢º½¼£¹ØÁª¡¢º½¼£ÏÔʾ£¬×îÖÕÍê³É¶àƵµãÍâ·øÉäÔ´À×´ïÐźŵÄʵʱ´«Ê䡢ʵʱ´¦Àí¡¢ÊµÊ±ÏÔʾ¡£²ÎÕÕͼ3£¬±¾·¢Ã÷µÄ²½Öè(2)ÊǶÔÍâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí»úÖеÄÍø¿¨½øÐÐÉèÖã¬ÆäÖв½Öè(2b)ͨ¹ýWinPcap¿â»ñµÃÍø¿¨ÏêϸÐÅÏ¢£¬Ñ¡ÔñÆäÖÐÁ½¿éÐͺÅÏàͬµÄǧÕ×Íø¿¨½ÓÊÕÍâ·øÉäÔ´À×´ïÊý¾Ý£¬È·±£Íø¿¨ÏêϸÐÅÏ¢Õý³£ºó½«Æä´ò¿ª£¬ÆäÖлñµÃÍø¿¨ÐÅÏ¢ºÍ´ò¿ªËùÑ¡ÔñµÄÍø¿¨ÊÇͨ¹ýµ÷ÓÃWinPcap¿â»ñµÃÍøÂçÉ豸º¯ÊýPcap_findalldevs_ex ()ºÍ´ò¿ªÍøÂçÉ豸º¯Êý Pcap_open_live ()À´ÊµÏֵġ£²½Öè(2c)ÉèÖÃÄں˻º³å£¬ÓÃÀ´ÁÙʱ´æ·ÅÍø¿¨½ÓÊÕµÄÍâ·øÉäÔ´À×´ïÊý¾Ý£¬ÊÇͨ¹ýµ÷ÓÃWinPcap¿âµÄÉèÖÃÄں˻º³åº¯ÊýPcap_setbuff ()ʵÏֵġ£²½Öè(2d)ÉèÖÃWinPcap¿â¹ýÂ˹æÔò£¬Ê¹Á½¿éÍø¿¨·Ö±ð½ÓÊÕÖ¸¶¨µÄÄ¿±êÊý¾Ý£¬ÊÇͨ¹ýµ÷ÓÃWinPcap¿âµÄ±àÒëÉèÖùýÂ˹æÔòº¯ÊýPcap_compile ()ºÍPcap_setfilter ()ʵÏֵġ£±¾·¢Ã÷ÓÉÓÚ²ÉÓÃרÃŲ¶»ñÍøÂçÔʼÊý¾Ý°üµÄ¿ªÔ´¿âWinPcap£¬¿ÉÒÔ½«Íø¿¨½ÓÊÕµ½µÄʵʱÍâ·øÉäÔ´À×´ïÊý¾Ý·ÅÔÚÐźŴ¦Àí»úËù¿ª±ÙµÄÄڴ滺³åÇøÖУ¬Âú×ãÁËÍâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí²¿·ÖʵʱÐÔ´¦ÀíµÄÒªÇ󣬶øÇÒʹÓÃWinPcap¿â¿ÉÒÔʡȥµ×²ãµÄÉ豸Çý¶¯¿ª·¢¹¤×÷¡£ÊµÊ©Àý3WinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨Í¬ÊµÊ©Àý1_2¡£±¾·¢Ã÷µÄЧ¹ûͨ¹ýÒÔÏ·ÂÕæËµÃ÷I)ʵÑéÌõ¼þʵÑéÖÐÈí¼þƽ̨ΪVisual Stdio 2008+ffinPcap+CUDA, WinPcap ¿âʹÓà 4.1. 2 °æ±¾£¬CUDA²ÉÓÃ4.0°æ±¾£¬GPUÏÔ¿¨ÐͺÅΪNVIDA Telsa C2075£¬ÐźŴ¦Àí»úÑ¡ÓÃAMAX¹¤×÷Õ¾£¬²Ù×÷ϵͳΪWin7ϵͳ£¬Ä£Äâ·¢ÉäÔ´Ñ¡ÓÃSugon (Êï¹â)·þÎñÆ÷£¬·ÂÕæËùʹÓõÄÍø¿¨¾ùΪͬÐͺŵÄIntelǧÕ×ÒÔÌ«Íø¿¨£¬²¢ÇÒ¾ùÖ§³Ö¾ÞÐÍÖ¡£¬´«Êäý½éΪÆÕÍ¨ÍøÏß¡£·ÂÕæÊý¾Ý²ÉÓÃ8¸öµ÷Ƶ̨IOOsµÄÐźÅÊý¾Ý£¬Ã¿¸öƵµã°üº¬I·²Î¿¼²¨ÊøÊý¾ÝºÍ17·Ŀ±ê»Ø²¨²¨ÊøÊý¾Ý£¬×ÜÊý¾ÝÁ¿Îª200000*18¸ö¸´Êý£¬·ÂÕæÊý¾ÝÖаüº¬3¸öÄ¿±ê£¬ÒÑ֪Ŀ±êIÑØÕý±±Æ«¶«38¡ãÖ±Ïß·ÉÐУ¬Ä¿±ê2ÑØÕýÄÏÆ«¶«20¡ãÖ±Ïß·ÉÐУ¬Ä¿±ê3ÑØÕý±±Æ«Î÷63¡ãÖ±Ïß·ÉÐС£2)ʵÑéÄÚÈݼ°½á¹ûʹÓñ¾·¢Ã÷µÄ·½·¨×÷Ϊ¶àƵµãÍâ·øÉäÔ´À×´ïµÄÊý¾Ý´«Êä·½°¸£¬ÔÚÕû¸ö¶àƵµãÍâ·øÉäÔ´À×´ïϵͳÖУ¬¹Û²ì¶ÔÐźŴ¦Àí»úÖÐÔÓ²¨ÏàÏû¡¢¾àÀë-¶àÆÕÀÕ¡¢ºãÐ龯¼ì²â¡¢±È·ù²â½Ç¡¢º½¼£¹ØÁª¡¢º½¼£ÏÔʾµÈʵʱÐźŴ¦ÀíµÄÓ°Ï죬ÒÔÑéÖ¤Êý¾Ý´«ÊäµÄÕýÈ·ÐÔºÍʵʱÐÔ¡£ÊµÑéÖУ¬Í¨¹ýÔËÐÐIOOsµÄÊý¾Ý£¬Ã¿ÃëµÄÊý¾Ý¾¹ýÔÓ²¨ÏàÏû¡¢¾àÀë-¶àÆÕÀÕ¡¢ºãÐ龯¼ì²â¡¢±È·ù²â½Ç¡¢º½¼£Ïà¹ØµÈʵʱ´¦Àíºó£¬ÔÚÖÕ¶ËÏÔʾƽ̨ÉÏʵʱµÃµ½Í¼4ËùʾµÄ3¸ö·ÂÕæÄ¿±êµÄº½¼££¬ÓëÒÑÖª3¸öÄ¿±êµÄ½Ç¶ÈÐÅÏ¢ÍêÈ«Ïàͬ£¬±¾·¢Ã÷µÄÊý¾Ý´«Êä·½·¨³É¹¦½øÐÐÁËIOOsµÄÊý¾Ý´«Ê䣬ʵÑé½á¹û˵Ã÷ÁËÔÓ²¨ÏàÏû¡¢¾àÀë-¶àÆÕÀÕ¡¢ºãÐ龯¼ì²â¡¢±È·ù²â½Ç¡¢º½¼£Ïà¹ØµÈʵʱ´¦Àí²¿·ÖÔËÐÐÕý³££¬Í¬Ê±Ò²ËµÃ÷Á˱¾·¢Ã÷µÄÊý¾Ý´«Êä·½·¨³É¹¦ºÍ¿ÉÐУ¬±¾·¢Ã÷ʵÏÖÁËÍâ·øÉäÔ´À×´ïÐźŵÄʵʱ´«Ê䣬ʵÏÖÁË¶àÆµµãÍâ·øÉäÔ´À×´ïÐźÅʵʱ´¦ÀíϵͳÖеÄÌìÏß½ÓÊÕ²¿·ÖÏòÀ×´ïÐźÅʵʱ´¦Àí²¿·Ö´óÊý¾ÝÁ¿µÄʵʱ´«Ê䣬Âú×ãÁË¶àÆµµãÍâ·øÉäÔ´À×´ïÊý¾ÝµÄʵʱ´«ÊäºÍ½ÓÊÕµÄÒªÇó¡£ÊµÊ©Àý4WinPcap+ǧÕ×ÒÔÌ«ÍøÍ⸣ÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨Í¬ÊµÊ©Àý1_3¡£±¾·¢Ã÷µÄЧ¹û»¹¿ÉÒÔͨ¹ýÒÔÏ·ÂÕæ½øÒ»²½ËµÃ÷I)ʵÑéÌõ¼þ
ʵÑéÖÐÈí¼þƽ̨ΪVisual Stdio 2008+ffinPcap+CUDA, WinPcap ¿âʹÓà 4.1. 2 °æ±¾£¬CUDA²ÉÓÃ4.0°æ±¾£¬GPUÏÔ¿¨ÐͺÅΪNVIDA Telsa C2075£¬ÐźŴ¦Àí»úÑ¡ÓÃAMAX¹¤×÷Õ¾£¬²Ù×÷ϵͳΪWin7ϵͳ£¬Ä£Äâ·¢ÉäÔ´Ñ¡ÓÃSugon (Êï¹â)·þÎñÆ÷£¬·ÂÕæËùʹÓõÄÍø¿¨¾ùΪͬÐͺŵÄIntelǧÕ×ÒÔÌ«Íø¿¨£¬²¢ÇÒ¾ùÖ§³Ö¾ÞÐÍÖ¡£¬´«Êäý½éΪÆÕÍ¨ÍøÏß¡£·ÂÕæÊý¾Ý²ÉÓÃ8¸öµ÷Ƶ̨IOOsµÄÐźÅÊý¾Ý£¬Ã¿¸öƵµã²ÉÓÃÏàͬµÄÊý¾Ý£¬°üº¬I·²Î¿¼²¨ÊøÊý¾ÝºÍ17·Ŀ±ê»Ø²¨²¨ÊøÊý¾Ý£¬×ÜÊý¾ÝÁ¿Îª200000*18¸ö¸´Êý£¬ÔÚ´ËʵÀýÖзÂÕæÊý¾ÝÖаüº¬I¸öÄ¿±ê£¬ÒÑ֪Ŀ±êλÓÚ²¨Êø7¡¢²¨Êø8¡¢²¨Êø9ÖУ¬¶àÆÕÀÕÆµÂÊΪ-400Hz£¬¾àÀ뵥ԪΪ251¡£2)ʵÑéÄÚÈݼ°½á¹û²ÉÓñ¾·¢Ã÷Ìá³öµÄ·½·¨×÷Ϊ¶àƵµãÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½°¸£¬½«½ÓÊÕµ½µÄÍâ·øÉäÔ´À×´ïÐźÅÊý¾ÝÔÚÐźŴ¦Àí»úÖо¹ýÔÓ²¨ÏàÏû¡¢¾àÀë-¶àÆÕÀÕ¡¢ºãÐ龯¼ì²â£¬Ïû³ýÆäÖжྶÔÓ²¨¡¢Ö±´ï²¨ÒÔ¼°ÔëÉùÐźţ¬ÌáÈ¡³öÄ¿±êÐÅÏ¢¡£½«ºãÐ龯¼ì²âºóµÄÄ¿±êÐÅÏ¢¼ÓÔØµ½ÖÕ¶ËÏÔ¿ØÆ½Ì¨ÉÏ»æÍ¼£¬µÃµ½Ä¿±êÐÅÏ¢µÄ»æÍ¼½á¹ûÓëʵ¼ÊÄ¿±êÏà±È£¬²ÎÕÕͼ5£¬´ÓͼÖпÉÒÔÃ÷ÏÔ¿´³ö£¬ÔÚ²¨Êø7¡¢²¨Êø8¡¢²¨Êø9ÖдæÔÚÄ¿±ê£¬Ä¿±êµÄ¶àÆÕÀÕÆµÂÊΪ-400Hz£¬¾àÀ뵥ԪΪ251¡£´ÓÒÔÉÏ»æÍ¼½á¹û¿ÉÒÔµÃÖª£¬²ÉÓñ¾·¢Ã÷µÄÊý¾Ý´«Êä·½·¨×÷Ϊ¶àƵµãÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½°¸£¬¿ÉÒÔʵʱµÄ½«8¸öƵµãÊý¾Ý´«Êäµ½ÐźŴ¦Àí»úÖнøÐд¦Àí£¬µÃµ½µÄ·ÂÕæ½á¹ûÓëʵ¼ÊÄ¿±êµÄλÖÃÐÅÏ¢ÍêÈ«ÎǺϣ¬ËµÃ÷±¾·¢Ã÷Ìá³öµÄ·½·¨Âú×ã¶àƵµãÍâ·øÉäÔ´À×´ïÊý¾ÝµÄʵʱ´«ÊäºÍ½ÓÊÕ¡£×ÛÉÏ£¬±¾·¢Ã÷Ìá³öµÄWinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨¡£Í¨¹ýϵͳ×ÊÔ´ÅäÖã¬8Ô²ÕóÌìÏß½ÓÊÕµ÷ƵÐźţ¬Á½¿éFPGA¶Ô8ƵµãÊý¾Ý´ò°ü£¬ÐźŴ¦Àí»úÄÚÉèÁ½¿éÄڴ滺³åÇø£»ÔÚÌìÏß½ÓÊÕ»úºÍÐźŴ¦Àí»ú¼äÉèÁ½¸öÊý¾ÝͨµÀ£¬Í¨µÀ½ÓÊն˰²×°Á½¿éÍø¿¨£»4¸öƵµãΪһ×飬ÓÉÁ½ÍøÏß²¢Ðд«Ê䣻½ÓÊն˵ÄÁ½¸öÊý¾Ý½ÓÊÕÏß³ÌÓëÁ½Íø¿¨¶ÔÓ¦£¬¶ÔÊý¾Ý²¢ÐнÓÊÕ¡£Êý¾ÝÒÔÆ¹ÅÒµÄÐÎʽ´«ÊäºÍ´æ·Å¡£±¾·¢Ã÷½â¾öÁËרÓÃÊý¾Ý´«Êä°åµÄÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êäϵͳ¿ª·¢ÖÜÆÚ³¤¡¢·ÑÓøߡ¢ÒÆÖ²ÐÔ²îÒÔ¼°´óÊý¾ÝÁ¿ÊµÊ±´«ÊäÀ§ÄѵÄÎÊÌ⡣ʵÏÖÍâ·øÉäÔ´À×´ïÐźŵÄʵʱ´«Êä¡£¿ª·¢³É±¾µÍ¡¢ÒÆÖ²ÐÔÇ¿¡¢Êý¾Ý¿ÉÖ±½Ó´æÓÚÄÚ´æÖС£¿ÉÓÃÓÚÍâ·øÉäÔ´À×´ïÊý¾Ýʵʱ´«ÊäÖС£
ȨÀûÒªÇó
1.Ò»ÖÖWinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨£¬ÆäÌØÕ÷ÔÚÓÚ°üÀ¨Èçϲ½Öè (1)Íâ·øÉäÔ´À×´ïϵͳ×ÊÔ´ÅäÖÃ(1a)Íâ·øÉäÔ´À×´ïϵͳ²ÉÓÃ8Ô²ÕóÌìÏߣ¬Ã¿Ò»ÕóԪͬʱ½ÓÊÕ8¸öµ÷Ƶ¹ã²¥Ðźţ¬ÌìÏß½ÓÊÕ»úÖн«Ã¿Ò»ÕóÔªÌìÏß½ÓÊÕµÄÐźž¹ý´øÍ¨²ÉÑù¡¢A/D±ä»»¡¢Êý×ÖÏÂ±äÆµºóµÃµ½8¸öƵµãµÄ1¡¢QÐźţ¬×îºóͨ¹ýÊý×Ö»¯ÐŵÀ´¦Àí½«8¸öƵµãµÄÐźŷÖÀ뿪À´£¬¹²µÃµ½8X8 = 64·ÐźÅÊä³ö£¬Ã¿ÃëÓÐ75MBµÄÊý¾ÝÐèÒª´«ÈëÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»ú£» (Ib)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÌìÏß½ÓÊÕ»úÖУ¬°ÑÍâ·øÉäÔ´À×´ïÐźž¹ýÊý×Ö»¯ÐŵÀ´¦ÀíºóµÄµÃµ½µÄ64·ÐźŷֳÉÁ½×飬·Ö±ð½»¸øºó¶ËµÄFPGA×ۺϴ¦Àí°å£¬Ã¿¿éFPGA×ۺϴ¦Àí°åͨ¹ýÒÔÌ«Íø½øÐÐÊý¾Ý´«Ê䣬ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÌìÏß½ÓÊÕ»úºÍÐźŴ¦Àí»úÖ®¼äÉèÖÃÁ½¸öÊý¾Ý´«ÊäͨµÀ£¬Ã¿¸ö´«ÊäͨµÀ¸ºÔð4¸öƵµãµÄÍâ·øÉäÔ´À×´ïÊý¾Ý´«Ê䣬¸÷¸ö´«ÊäͨµÀͨ¹ýÍøÏßÁ¬½Ó£» (Ic)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»úÄÚ²¿ÉèÖÃÓÐÁ½¿é´óСΪ75MBµÄÄڴ滺³åÇøbufl, buf2£¬ÕâÁ½¸öÄڴ滺³åÇø¶ÔÓ¦µÄ±ê־λ·Ö±ðΪflagl¡¢flag2£¬Á½¿éÐͺÅÏàͬµÄ¸ÉÕ×ÒÔÌ«Íø¿¨²½µ÷Ò»ÖµĽ«½ÓÊÕµ½µÄÍâ·øÉäÔ´À×´ïÊý¾ÝÊä³öµ½Í¬Ò»Äڴ滺³åÇøÖУ» (2)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»úÖÐÉèÖÃÍø¿¨ (2a)ÔÚÍâ·øÉäÔ´À×´ïϵͳµÄÌìÏß½ÓÊÕ»úºÍÐźŴ¦Àí»úÖ®¼äµÄÁ½¸öÊý¾Ý´«ÊäͨµÀµÄ½ÓÊն˰²×°Á½¿éÐͺÅÏàͬµÄǧÕ×ÒÔÌ«Íø¿¨£¬ÓÃÓÚÍâ·øÉäÔ´À×´ïÊý¾Ý½ÓÊÕ£» (2b)ͨ¹ýWinPcap¿â»ñµÃÍø¿¨ÏêϸÐÅÏ¢£¬Ñ¡ÔñÆäÖÐÁ½¿éÐͺÅÏàͬµÄǧÕ×Íø¿¨½ÓÊÕÊý¾Ý£¬È·±£Íø¿¨ÏêϸÐÅÏ¢Õý³£ºó½«Æä´ò¿ª£» (2c)ÉèÖÃÄں˻º³å£¬ÓÃÀ´ÁÙʱ´æ·ÅÍø¿¨½ÓÊÕµÄÍâ·øÉäÔ´À×´ïÊý¾Ý£» (2d)ÉèÖÃWinPcap¿â¹ýÂ˹æÔò£¬Ê¹Á½¿éÍø¿¨·Ö±ð½ÓÊÕÖ¸¶¨µÄÄ¿±êÊý¾Ý£» (3)Íâ·øÉäÔ´À×´ïÊý¾Ý·¢ËÍ (3a)½«8Ô²ÕóÌìÏß½ÓÊÕµÄÐźž¹ýÊý×Ö»¯ÐŵÀ½ÓÊÕ»ú£¬»ñµÃµÄ8¸öƵµã64·75MBÍâ·øÉäÔ´À×´ïÊý¾Ý£¬ÒÔ4¸öƵµãΪһ×飬·Ö±ð½»¸øÍâ·øÉäÔ´À×´ïϵͳ½ÓÊÕ»úÖеÄÁ½¿éFPGA×ۺϴ¦Àí°å£» (3b)ÿ¿éFPGA×ۺϴ¦Àí°å½«4¸öƵµãµÄÍâ·øÉäÔ´À×´ïÊý¾Ý·â×°³É´óСÏàͬµÄ¾ÞÐÍÊý¾ÝÖ¡£¬²¢Í¨¹ýÁ½¸ùÍøÏß²¢Ðд«ÊäÖÁÍâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí»úµÄÊý¾Ý½ÓÊÕ¶Ë£» (4)Íâ·øÉäÔ´À×´ïÊý¾Ý½ÓÊÕ(4a)Íâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí»úµÄÊý¾Ý½ÓÊÕ¶Ë¿ªÆôÁ½¸ö¶ÀÁ¢µÄÊý¾Ý½ÓÊÕỊ̈߳¬Ê¹µÃÁ½¸ö½ÓÊÕÏß³ÌÓëÁ½¿éÍø¿¨Ò»Ò»¶ÔÓ¦£¬ÓÃÀ´¶ÔÁ½¸öÍø¿¨µÄÍâ·øÉäÔ´À×´ïÊý¾Ý½øÐв¢ÐнÓÊÕ£» (4b)ͨ¹ýWindowsḬ̈߳󶨽«Á½¸öÊý¾Ý½ÓÊÕÏ̷ֱ߳ð°ó¶¨µ½²»Í¬µÄCPUºËÉÏ£» (4c)Á½¸öÊý¾Ý½ÓÊÕÏ̷ֱ߳ð²¢ÐеĶÔ4¸öƵµãµÄÊý¾Ý½øÐнÓÊÕ£¬Á½¸ö½ÓÊÕÏ߳̽ÓÊÕµÄÍâ·øÉäÔ´À×´ïÊý¾ÝÔÚÐźŴ¦Àí»úÄڴ濪±ÙµÄ»º³åÇøÖÐÒÔÆ¹ÅÒµÄÐÎʽ´æ·Å£¬¿ª¹ØKl´òµ½buflʱ£¬Á½¸öÊý¾Ý½ÓÊÕÏ߳̽ÓÊÕµÄÍâ·øÉäÔ´À×´ïÊý¾Ý´æ·ÅÔÚbuflÖУ¬Kl´òµ½buf2ʱ£¬Á½¸öÊý¾Ý½ÓÊÕÏ߳̽ÓÊÕµÄÍâ·øÉäÔ´À×´ïÊý¾Ý´æ·ÅÔÚbuf2ÖС£
2.¸ù¾ÝȨÀûÒªÇó1ËùÊöµÄWinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨£¬ÆäÌØÕ÷ÔÚÓÚ(3b)ËùÊöµÄFPGA×ۺϴ¦Àí°å½«Íâ·øÉäÔ´À×´ïÊý¾Ý·â×°³É´óСÏàͬµÄ¾ÞÐÍÊý¾ÝÖ¡£¬²¢Í¨¹ýÍøÏß´«ÊäÖÁÍâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»ú£¬°´Èçϲ½Öè½øÐÐ (3bl)FPGA×ۺϴ¦Àí°å½«½ÓÊÕµ½µÄÍâ·øÉäÔ´À×´ïÊý¾Ý°´ÕÕÆä·¢ËÍ·½Ê½×ª»¯ÎªÔÚÍøÏßÀï´«ÊäµÄ×Ö½ÚÐÍÊý¾Ý£» (3b2)¶¨ÒåÊý¾ÝÖ¡´óСÒÔ¼°´«Êä¸ñʽ£» (3b3)½«Êý¾ÝÖ¡Í·¡¢Êý¾ÝÖ¡ºÅºÍ4kÊý¾Ý°´ÕÕÒÔÌ«ÍøÐÒéµÄÒªÇó£¬Ë³ÐòÌî³äµ½Ã¿Ò»¸ö¾ÞÐÍÊý¾ÝÖ¡À (3b4)ͨ¹ýÍøÏß½«Ìî³äÊý¾ÝµÄ¾ÞÐÍÊý¾ÝÖ¡´«Êäµ½Íâ·øÉäÔ´À×´ïϵͳµÄÐźŴ¦Àí»úÀï¡£
3.¸ù¾ÝȨÀûÒªÇó1ËùÊöµÄWinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨£¬ÆäÌØÕ÷ÔÚÓÚ²½Öè(3b)ËùÊöµÄÁ½¸ùÍøÏß²¢Ðд«ÊäÖÁÍâ·øÉäÔ´À×´ïϵͳÐźŴ¦Àí»úµÄÊý¾Ý½ÓÊն˵ÄÊý¾ÝÐèÒªÁ½¿éǧÕ×ÒÔÌ«Íø¿¨¶ÔÍâ·øÉäÔ´À×´ïÊý¾Ý½øÐв¢ÐнÓÊÕ£¬²ÉÓÃWinpcap¿â½øÐÐÊý¾Ý·¢ËÍ£¬Îȶ¨µÄ´«ÊäËÙÂÊΪ400Mbps£¬Á½¿éǧÕ×ÒÔÌ«Íø¿¨½øÐÐ75MBÊý¾ÝµÄ²¢ÐнÓÊÕ¡£
4.¸ù¾ÝȨÀûÒªÇó1ËùÊöµÄWinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨£¬ÆäÌØÕ÷ÔÚÓÚ²½Öè(4c)ËùÊöµÄÁ½¸ö½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾ÝÔÚÄÚ´æÒÔÆ¹ÅÒµÄÐÎʽ´æ·Å£¬Æä´æ·Å¹ý³ÌΪ Á½¸öÊý¾Ý½ÓÊÕÏß³Ìͬʱ²¢ÐеĶÔ4¸öƵµãµÄÍâ·øÉäÔ´À×´ïÊý¾Ý½øÐнÓÊÕ£¬²¢½«Á½¸öÏ߳̽ÓÊÕµ½µÄÊý¾Ý·ÅÔÚËù¿ª±ÙµÄͬһÄڴ滺³åÇøbuflÀµ±8¸öƵµã75MBµÄÊý¾Ý½ÓÊÕÂúʱ£¬¿ª¹ØKl´òµ½buf2ÉÏ£¬Á½¸öÊý¾Ý½ÓÊÕÏ߳̽ÓÊÕµÄÊý¾Ý·ÅÔÚbuf2ÖУ¬ÔÚKl´òµ½buf2ÉϵÄͬʱ£¬¿ª¹ØK2´òµ½buflÉÏ£¬ÐźŴ¦Àí»úÖеÄGPU¶Ô´«Êäµ½buflÖеÄ75MBÊý¾Ý½øÐÐÊý×Ö²¨ÊøÐγÉDBF¡¢ÔÓ²¨ÏàÏû¡¢¾àÀë-¶àÆÕÀÕ¡¢ºãÐ龯¼ì²â´¦Àí¡£
È«ÎÄÕªÒª
±¾·¢Ã÷¹«¿ªÁËWinPcap+ǧÕ×ÒÔÌ«ÍøÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êä·½·¨¡£Í¨¹ýϵͳ×ÊÔ´ÅäÖã¬8Ô²ÕóÌìÏß½ÓÊÕµ÷ƵÐźţ¬Á½¿éFPGA¶Ô8ƵµãÊý¾Ý´ò°ü£¬ÐźŴ¦Àí»úÄÚÉèÁ½¿éÄڴ滺³åÇø£»ÔÚÌìÏß½ÓÊÕ»úºÍÐźŴ¦Àí»ú¼äÉèÁ½¸öÊý¾ÝͨµÀ£¬Í¨µÀ½ÓÊն˰²×°Á½¿éÍø¿¨£»ÒÔ4¸öƵµãΪһ×飬ÓÉÁ½ÍøÏß²¢Ðд«Ê䣻½ÓÊն˵ÄÁ½¸öÊý¾Ý½ÓÊÕÏß³ÌÓëÁ½Íø¿¨¶ÔÓ¦£¬¶ÔÊý¾Ý²¢ÐнÓÊÕ¡£Êý¾ÝÒÔÆ¹ÅÒµÄÐÎʽ´æ·Å¡£±¾·¢Ã÷½â¾öÁË»ùÓÚרÓÃÊý¾Ý´«Êä°åµÄÍâ·øÉäÔ´À×´ïÊý¾Ý´«Êäϵͳ¿ª·¢ÖÜÆÚ³¤¡¢·ÑÓøߡ¢ÒÆÖ²ÐÔ²îÒÔ¼°´óÊý¾ÝÁ¿ÊµÊ±´«ÊäÀ§ÄѵÄÎÊÌ⣬ʵÏÖÁËÍâ·øÉäÔ´À×´ïÐźŵÄʵʱ´«Êä¡£¿ª·¢³É±¾µÍ¡¢ÒÆÖ²ÐÔÇ¿¡¢Êý¾Ý¿ÉÖ±½Ó´æÓÚÄÚ´æÖС£¿ÉÓÃÓÚÍâ·øÉäÔ´À×´ïÊý¾Ýʵʱ´«ÊäÖС£
Îĵµ±àºÅG01S7/02GK103064064SQ20121032143
¹«¿ªÈÕ2013Äê4ÔÂ24ÈÕ ÉêÇëÈÕÆÚ2012Äê9ÔÂ3ÈÕ ÓÅÏÈȨÈÕ2012Äê9ÔÂ3ÈÕ
·¢Ã÷ÕßÍõ¿¡, ÎäÓÂ, Ïıó, ÁõÌï, ºÎ´º¾ê ÉêÇëÈË:Î÷°²µç×ӿƼ¼´óѧ