±¾ÎÄÊ×ÏÈÌÖÂÛÁËÔÆ¼ÆËã»·¾³µÄ°²È«ÎÊÌâµÄÌôÕ½Ïà¹ØµÄ±³¾°¡£È»ºóͨ¹ýÃèÊöÎÒÃÇËùÐèµÄËùÓмܹ¹×é¼þ£¬Ìá³öÁËÒ»¸ö»ùÓÚSDNµÄ±£Ö¤ÍøÂ簲ȫºÍÔÚ¹¥»÷ʱµÄ·´Ó¦Ñ¡Ôñ;¾¶¡£

¼ò½é
IaaSµÄ·þÎñģʽÔÊÐíÔÚ²»¹Ø×¢µ×²ãÎïÀí»ù´¡ÉèÊ©µÄÇé¿öÏ£¬ÅäÖúÍÔËÐÐÒì¹¹Ó¦ÓóÌÐò¡£ÔƼÆËã¼¼Êõ´´½¨³öÒ»¸ö¿ÉÒÔÖØÏÖÕæÊµ²Ù×÷»·¾³µÄÐéÄ⻯ÊÔÑé´²£¬°üº¬ÒÔÏÂÓÅÊÆ£º
1.Ò»¸öÔÚÄÚ²¿ÖØÏÖÕæÊµÊÀ½ç³¡¾°½øÐвâÊԻµÄ»ú»á;
2.×Ô¶¯´¦ÀíÕû¸öƽ̨µÄ±¸·ÝºÍ¹ÊÕϻָ´µÄ¿ÉÐÐÐÔ;
3.×Ô¶¯ÅäÖú͹ÜÀíÊÔÑéÆ½Ì¨µÄ×é¼þºÍ°æ±¾»¯;
»ùÓÚѧÊõÑо¿·ÖÎö,ÔÆ¼ÆËãµÄ°²È«ÎÊÌâÉæ¼°ºÜ¶à²»Í¬µÄÁìÓò¡£ÈÏÖ¤¡¢ÊÚȨºÍ¼Æ·ÑµÄ´¦Àí·½Ê½Ò²½«Êܵ½ºÜ´óµÄÓ°Ï죺°²È«ÍþвÍùÍùÆðÔ´ÓÚÄÚ²¿Óû§£¬ËùÒÔÍùÍù°´ÕÕÃ÷È·µÄÈ«¾Ö²ßÂÔ£¬Ö»ÔÊÐíÓÐÈÏÖ¤µÄÓû§²ÅÄÜ·ÃÎÊÖ¸¶¨×ÊÔ´¡£ÓëÆ½Ì¨×ÊÔ´Ïà¹ØµÄÓû§ÐÐΪӦ¸Ã±»¼à¹ÜÒÔ±ã½øÒ»²½·ÖÎö´¦ÀíÎ¥·´²ßÂÔµÄÐÐΪ¡£ÁíÒ»¸öÖØÒªµÄ¹¤×÷¾ÍÊǹÜÀí°²È«²ßÂÔ£¬À´±£Ö¤Õû¸öÔÆÊý¾Ý´æ´¢µÄ¿ÉÓÃÐÔ¡¢ÍêÕûÐԺͱ£ÃÜÐÔ¡£ÔÚÕâÖÖÇé¿öÏ£¬ÏȽøµÄ¼ÓÃÜ·½°¸¿ÉÒÔÓÃÀ´±£Ö¤Ö»ÓÐÖ¸¶¨µÄÈÏÖ¤Óû§²ÅÄÜÔÚÔÆÊý¾Ý´æ´¢ÖзÃÎÊ¡¢Ð޸ĺÍɾ³ýÐÅÏ¢¡£
ÐéÄ⻯¼¼ÊõÊÇIaaSÄ£Ð͵ĺËÐÄ£¬ËüÕýѸËٵĸıäÍøÂ簲ȫµÄÐèÇó¡£´«Í³µÄ°²È«ÊֶΣ¬ÈçÄÚ²¿°²È«É豸ºÍ·ÃÎÊ¿ØÖÆÃûµ¥ÔÚ´¦ÀíÐéÄâ·þÎñÆ÷ºÍ×ÊԴʱ£¬ÓÉÓÚÒªÓ¦±äÍØÆËµÄ¿ìËٱ仯¶øÐèÒª¸üУ¬ÕâÊDz»¿É³ÖÐøµÄ£¬Ö»Óо¹ýÊÚȨµÄÖ÷»úºÍÉ豸²ÅÄܹ»ÔÚÐéÄâÍøÂçÀïͨÐÅ£¬¶ø¶ñÒâ·ÃÎÊÔò»áÒÔijÖÖ·½Ê½±»ÏÞÖÆ¡£ÐéÄâ²ãÒ²´øÀ´ÁËÐµİ²È«ÌôÕ½£¬ÒòΪÐéÄâ¿Í»§¶ËºÜÈÝÒ×±»ÈëÇÖ²¢ÇÒËð»µÆäËûÐéÄâ»ú¡£ËùÒÔÆäÖÐÒ»¸ö¿ÉÄܵIJ¹¾È´ëÊ©¾ÍÊǼì²éÐéÄâ»úµÄÐÐΪ£¬Í¬Ê±£¬¼ì²éÐéÄâ»úµÄ¾µÏñÀ´ºËʵËûÃǵÄÍêÕûÐÔ¡£
ΪÁËÓÐЧ´¦ÀíÔÆ°²È«Ê¼þ£¬ ÎÒÃÇÌá³ö»ùÓÚOpenFlow¼Ü¹¹µÄʶ±ð¹¥»÷ģʽ£¬²¢ÇÒʵÏÖ»º½â¡¢»Ö¸´²ßÂÔÒÔ¶Ô°²È«Ê¼þ×ö³ö·´Ó¦£¬ÕâÖֽṹµÄÉè¼ÆÒѾÔÚIaaSÔÆÆ½Ì¨
OpenNebulaÖв¿Êðʵʩ £¬Ëü´ú±íÁËÒ»¸öÕæÊµµÄÇøÓò¹ÜÖÆÖÐÐÄ(ACC)¡£ÔÚÊÔÑéÆ½Ì¨ÔËÐеÄÓ¦ÓóÌÐòÇ¿µ÷Á˰²È«½â¾ö·½°¸×Ô¶¯´¦ÀíÔÖÄѺ͹¥»÷µÄ»Ö¸´ÐèÇó¡£ÕâÀïÌá³öΪÁËÉè¼Æ½á¹¹½øÐеijõ´ÎʵÑé»î¶¯£º
²»Í¬µÄ¿ªÔ´OpenFlow¿ØÖÆÆ÷Ö®¼äµÄÐÔÄܶԱÈ;
1.ÔÚ¹©Ó¦Ê±¼ä¶ÈÁ¿µÄ»ù´¡ÉÏÈýÖÖ²»Í¬µÄ¿ª·ÅÔ´ÂëµÄIaaSƽ̨µÄÌØÕ÷;
2.ΪÁËÌṩL2 VLAN·â×°/½â·â×°£¬ÔÚËùÑ¡ÔñµÄ¿ØÖÆÆ÷ÉÏÖ´ÐÐй¦ÄÜ¡£
OpenFlowºÍSDNģʽ
»ùÓÚÈí¼þ¶¨ÒåÍøÂç(SDN)ʵÏÖÐéÄ⻯ʵÑéÆ½Ì¨ÍøÂç´¦ÀíºÍÅäÖõķ½Ê½£¬ÊÇÒ»ÖÖ¶ÔÍøÂçеÄÈÏÖª·½Ê½¡£ÓëÍøÂçÉ豸Ïà¹ØµÄÊý¾ÝÆ½Ãæ¼°¼¯ÖÐÍⲿÂß¼µÄ¿ØÖÆÆ½ÃæÓë´«Í³ÍøÂçÉ豸ÓÐÃ÷ÏÔ²»Í¬¡£²ÉÓÃSDNÊÕ»ñµÄ×î´óÒæ´¦ÊǶÔÓ¦ÓòãµÄÍêÈ«¸ôÀëºÍÈ«¾ÖÊÓͼ¡£µÚÒ»ÖÖÇé¿öÏÂÑо¿ÈËÔ±¿ÉÒÔÔÚ¿ØÖƲãÖ®ÉÏ´´½¨×Ô¼ºµÄÓ¦Óã¬ÓëÍøÂçÉ豸ÍêÈ«¸ôÀ뿪À´¡£Òò´Ë¿ÉÒÔдÈëеÄÐÒé»òÓ¦ÓóÌÐò£¬¶ø²»»áÓ°ÏìÉ豸µÄÄÚ²¿½á¹¹¡£µÚ¶þ¸öÓŵãÉæ¼°ÍøÂç±¾ÉíµÄÈ«¾ÖÊÓͼ¿ÉÓÃÐÔ£¬ËùÒÔºÜÈÝÒ×¶Ôʼþ×÷³ö·´Ó¦£¬²¢ÇҸıäÍØÆË¡£OpenFlowÊÇÕâÖÖ;¾¶µÄÒ»¸öʵÏÖ·½Ê½£¬°üº¬ÁË¿ØÖƲãºÍÊý¾Ý²ãÖ®¼äµÄ½Ó¿Ú£¬¶¨ÒåÁËËùÓÐͨ¹ý½¨Á¢ÔÚÍøÂç½»»»»úºÍÍⲿ¿ØÖÆÆ÷Ö®¼äµÄ°²È«Í¨µÀÐÅÏ¢£¬´Ó¶ø°´ÕÕÐÅÏ¢Á÷À´¾ö¶¨Â߼˳Ðò¡£Èç½ñSDN¶ÔÔÆ¼ÆËãÍøÂç·þÎñÊ®·ÖÓÐÎüÒýÁ¦£¬ÒòΪËü´ú±íÁËÒ»ÖÖÁé»îµÄ¶¯Ì¬´´½¨ÐéÄâÍøÂçµÄ·½Ê½£¬²¢ÇÒ±£Ö¤¶à×â»§µÄ¶þ²ã¸ôÀë¡£ÁíÍ⣬´Ó֮ǰµÄ·ÖÎöºÍʵÑéµÃµ½µÄ½á¹ûÖпÉÒÔÈ·ÈÏOpenFlow¿ÉÒÔÊ¹ÍøÂçµÃµ½¼«´óµØÁé»îÐÔ£¬È·±£¶¯Ì¬°²È«²ßÂÔµÄʵʩ£¬¶ø²»ÐèÒª¸Ä±äÍøÂç×é¼þµÄÄÚ²¿½á¹¹¡£Õâ¾ÍÊÇΪʲôOpenFlow±»ÈÏΪÊÇÒ»ÖÖÃæ¶Ô©¶´µÄÓÐЧËãÊֶΣ¬¼´Ê¹ÊÇÔÚÒ»¸öÏñÔÆ¼ÆËãIaaSÕâÑùµÄ¶¯Ì¬»·¾³ÏÂÒ²ÄÜÔÚÃæÁÙ°²È«ÎÊÌâʱ×Ô¶¯Ö´ÐмõÔֺͻָ´µÄ²ßÂÔ¡£
ºÏÊʼܹ¹
¼Ü¹¹Ö÷Òª´ÓÈý¸ö²»Í¬µÄ²ãÀ´·ÖÎö£¬ÔƲãչʾÁËÁ½¸öÊý¾ÝÖÐÐÄ£¬Î»ÖÃÉÏͨ¹ýÒ»¸ö˽ÓÐÆóÒµµÄ¹Ç¸ÉÍøÁ¬½Ó£¬ÎªÁ˽øÒ»²½Ìá¸ßÊý¾ÝÖÐÐĵݲȫµÈ¼¶£¬¿ÉÒÔÀûÓÃÒ»¸ö»ùÓÚMPLS(¶àÐÒé±êÇ©½»»»ÐÒé)µÄ²ð·Ö»úÖÆ£¬°ÑÊý¾Ý°ü·Ö¸î³É¼¸²¿·Ö£¬²¢Öض¨Ïòµ½·ÖÀë·¾¶£¬ÕâÑù½Ø»ñµÄ¶ñÒâÓû§¾Í²»ÄÜÖØÐ¹¹½¨ÏûÏ¢ÁË¡£Ã¿¸öÊý¾ÝÖÐÐͼÓÐ×Ô¼ºµÄIaaS¼¯Èº²¢ÓÐÒ»¸öÖ÷½ÚµãÓÃÓÚ¸ºÔð¹ÜÀíËùÓлù´¡ÉèÊ©¡£ÔÚÐéÄ⻯²ã£¬ÊÓͼÊǶÀÁ¢ÓÚÒ»¸ö²¿ÊðÔÚÊý¾ÝÖÐÐĵÄÌØ¶¨Æ½Ì¨£¬¹ØÓÚ×éÖ¯¼Ü¹¹£¬Ã¿Ò»¸öÎïÀí»ú£¬¼´
¡°¼ÆË㡱½Úµã£¬´´½¨Ò»¸öÐéÄâ½»»»»ú¹ÒÔØËùÓеĿͻ§»úÍøÂç½Ó¿Ú¡£ÔÚÐéÄâ½»»»²ã£¬Ê¹ÓÃOpenvSwitch¼¼Êõ£¬ÌṩÁËÒ»¸öÌ×¹¦ÄÜ£¬ÆäÖеÄOpenFlow
ÐÒé¿ÉÒÔʵÏÖ¡£½»»»»úµÄÁ÷±íͨ¹ýOpenFlowµÄ¿ØÖÆÆ÷±à³Ì£ºµ±ÓÉÐéÄâ¿Í»§»úËù²úÉúµÄÊý¾Ý°üµ½´ïµÄ½»»»»ú£¬²¢ÇÒûÓÐÆ¥Åä¿ÉÓõĹæÔò£¬Ëü±»·¢Ë͵½¿ØÖÆÆ÷£¬Ëü¿ÉÒÔ¾ö¶¨ÔÚ½»»»»úÏ·¢ÐµĹæÔòÒÔת·¢»ò¶ªÆú·½Ê½´¦ÀíÊý¾Ý°ü¡£ËùÓÐÐéÄâ»ú²úÉúµÄÁ÷Á¿¶¼»á±»¿ØÖÆ£¬²¢ÇÒ»á¸ù¾ÝһЩÓÐÃûµÄ¶ñÒâ¹¥»÷ģʽ½øÐмì²é£¬ÒÔÕÒ³ö¿ÉÄÜ´æÔڵĹ¥»÷¡£µ±¼ì²âµ½Òì³£ÍøÂç»î¶¯Ê±£¬ÓÉSnort²úÉú¾¯±¨²¢Í¨¹ýTLS(´«Êä²ã°²È«)²å¼þµ½´ï±¨¾¯¹ØÁªÆ÷£¬´Ó¶øÖ´ÐÐÒÔϲÙ×÷£º
ʼþ´æ´¢
¶ÔÐèҪȷ¶¨¹¥»÷µÄÑÏÖØÐÔ¼¶±ðÐÅÏ¢ÌáÈ¡ºó½øÐÐ֪ͨ
ÔÚÉÏÊöÑÏÖØ¼¶±ðµÄ»ù´¡ÉÏʶ±ð»º½â²ßÂÔʵʩ¡£
²ßÂÔ½«ÓÉÓëIaaSµÄ¹ÜÀíÆ÷ºÍOpenFlow¿ØÖÆÆ÷½»»¥´¥·¢¡£µ±Ò»¸öÐéÄâÊÔÑéÆ½Ì¨Ôâµ½¹¥»÷±»¼ì²â³öÀ´ºó£¬ÎÒÃÇ´òËãʵʩµÄ²ßÂÔÖ÷ÒªÊǰѱ»¹¥»÷µÄ
VMÇ¨ÒÆµ½Ïàͬ»ù´¡ÉèÊ©µ«²»Í¬µÄÊý¾ÝÖÐÐÄÀï£¬Ç¨ÒÆÍê³Éºó£¬¹ØÁªÆ÷¿ÉÒÔָʾ¿ØÖÆÆ÷¸Ä±ä¿Í»§Ö®Ç°ÍйܵÄÎïÀí½ÚµãÖÐÐéÄâ½»»»»úµÄÐÅÏ¢Á÷£¬ÒÔ±£Ö¤Î»ÖõÄ͸Ã÷¶È¡£

ͼ1 ÕûÌå¼Ü¹¹
ʵÑé»î¶¯
Õ¹¿ªµÄµÚÒ»¸öʵÑ鹤×÷£¬Ä¿±êÊÇ´Ó¼¸¸öOpenFlow¿ØÖÆÆ÷ÖÐÑ¡ÔñÒ»¸ö¿ªÔ´µÄ½â¾ö·½·¨¡£OFlops(OpenFlow
Operations Per Second)Íê³ÉÁ˶ԿØÖÆÆ÷ÐÔÄܵıȽϣ¬ËüÊÇÓÉÁ½¸öÈí¼þ°ü¹¹³ÉµÄ¡£
OFlops£¬Ò»¸öÔÊÐí»ù×¼½»»»»úÐí¶à¹¦ÄܵÄÌØ¶¨¿ØÖÆÆ÷;
Cbench(Controller benchmarker)£¬Í¨¹ýÄ£Äâ½»»»»úµÄÁ¬½ÓΪ¿ØÖÆÆ÷²úÉúÊý¾Ý°ü´«Èë;
ÕâÑù¿ÉÒÔ¼ÆËã³öÊý¾Ý°ü´«ÈëÂʵÄ×î´óÖµ£¬Êý¾Ý°üµ½´ïºÍ´«ÈëµÄÑÓ³ÙÒÔ¼°´¦ÀíÑÓ³Ù¡£
±í1 Flow-modÿÃëµÄÏûÏ¢Êý

ÉÏͼÏÔʾ³öFlow-modÿÃëµÄÏûÏ¢Êý£¬Í¨¹ýÕâ¸öÏûÏ¢£¬¿ØÖÆÆ÷Äܹ»°²×°¡¢Ð޸Ļòɾ³ý½»»»»úÁбíµÄÁ÷¹æÔò¡£ÔڱȽÏÖУ¬Ò²½«¿¼ÂÇÆäËû²ÎÊý£¬ÈçÀ©Õ¹ÐÔºÍÒ×ÐÞ¸ÄÐÔ£¬
RESTful APIsµÄ¿ÉÓÃÐÔºÍÏîÄ¿¿ª·¢±³ºóµÄÖ§³Ö¡£ÎÒÃǵÄÑ¡ÔñÂäÔÚFloodlight£¬ÕâÊÇÒ»¸öÔÚApacheÐí¿É֤Ϸ¢²¼µÄ»ùÓÚjavaʼþµÄ¿ØÖÆÆ÷£¬ÓÉÒ»¸ö¿ª·ÅÉçÇø¿ª·¢¡£
ΪÁËÌṩL2¸ôÀ빦ÄÜ£¬Ê¹ÓÃVLAN¼¼ÊõÔÚÐéÄâ»úÖ®¼äͨÐÅ£¬ÐÞ¸ÄFloodlightµÄ¡°×ª·¢¡±Ä£¿é£¬Ê¹ÓÃOpenFlow¼¼ÊõÒÔʵÏÖVLAN
±êÇ©µÄ·â×°/½â·â×°¡£VLAN±êǩֻÄܱ»ÔÆÆ½Ì¨±¾ÉíÖ±½Ó¼ìË÷£¬¿ÉÒÔʶ±ðµ½ÊôÓÚÐéÄâÍøÂçµÄÐéÄâ»ú´øÓÐÌØ±ðµÄVLAN±êÇ©¡£ÆäËûµÄÐÞ¸ÄÔòÅäºÏ¿ØÖÆÆ÷Óë
OpenvSwitchÖ®¼äͨµÀµÄ±£»¤´ëÊ©¡£ºóÒ»ÖÖ±¾ÉíÖ§³ÖSSLÐźŽ»»»£¬ËùÒÔÎÒÃÇÓÃ˽Կ»òÕß¹«Ô¿(ÓÉJAVAÃÜÔ¿¹¤¾ßÉú³É)´¦ÀíʵÏÖ
FloodlightÁ¬½ÓÄ£¿éÖеÄͨÐŰ²È«¡£
×÷Ϊ±¾´ÎʵÑé×îºóÒ»²½£¬ÎÒÃÇÆÀ¹ÀÁËÈý¸ö²»Í¬µÄIaaSƽ̨µÄ¡°Öñ¸Ê±¼ä¡±£ºÕâ¸ö¶ÈÁ¿Ö¸µÄÊÇ´Ó²úÉúеÄÐéÄâ»ú(ͨ¹ýAPI)µÄÇëÇó¿ªÊ¼Ö±µ½Æ½Ì¨»ñµÃ¡°ready¡±µÄ״̬ÖмäµÄÕâ¶Îʱ¼ä¡£ÎÒÃÇÈÏΪÕâ»á²úÉú16ÖÖ×éºÏ£¬ËûÃÇÓÉ4¸ö²ÎÊý×éºÏ³öÀ´£¬·Ö±ðÊÇ£º
·þÎñÌṩ£ºÐµÄÐéÄâ»úµÄÐèÇóÆ«ºÃ£¬¼´ÐéÄâCPUµÄÊýÁ¿ºÍRAMµÄ´óС;
Êý¾Ý´æ´¢(¶þ½øÖÆ)£ºÐéÄâ»úµÄ¶þ¼¶´ÅÅÌ´æ´¢;
ÎïÀí½ÚµãѹÁ¦£ºÒѾ³ÐÔØÔÚ½ÚµãÉϵÄÐéÄâ»úµÄÊýÁ¿(0-5);
×Ô¶¯µ÷¶È(¶þ½øÖÆ)£º¸ºÔðÌôÑ¡ÐÂÐéÄâ»ú·ÖÅä³ÐÔØÎ»ÖõÄÉèÊ©¡£
±í2 ÅäÖÃʱ¼ä±í

ÎÒÃǼÆËã³ö´´½¨10¸öÇëÇó²»Í¬µ«½á¹¹ÏàͬµÄÐéÄâ»úµÄËãÊõƽ¾ùÖµ£¬ÒÔÏÂÊÇÓëÎÒÃǹ۵ãÏà¹ØµÄÌØ¶¨×éºÏ£º(1)Ò»¸öÖмä·þÎñÆ÷ÇëÇó(1¸öÐéÄâCPU£¬2GB
RAM)(2)Êý¾Ý´æ´¢ÇëÇó(3)ÎïÀí½ÚµãÉÏÒѳÐÔØµÄ5¸öÐéÄâ»ú(4)µ÷¶ÈÄ£¿é¼¤»î¡£
×ܽá
ÔÚÕâ´Î¹¤×÷ÖÐÎÒÃÇÏÈÌÖÂÛÁËÔÆ¼ÆËã»·¾³µÄ°²È«ÎÊÌâµÄÌôÕ½Ïà¹ØµÄ±³¾°¡£È»ºóͨ¹ýÃèÊöÎÒÃÇËùÐèµÄËùÓмܹ¹×é¼þ£¬Ìá³öÁËÒ»¸ö»ùÓÚSDNµÄ±£Ö¤ÍøÂ簲ȫºÍÔÚ¹¥»÷ʱµÄ·´Ó¦Ñ¡Ôñ;¾¶¡£Î´À´ÎÒÃǵŤ×÷Ä¿±êÊÇʹÓøü¸´ÔÓµÄÈëÇÖ¼ì²â»úÖÆ£¬ÒÔ±ãÄܹ»¼ì²âδ֪µÄºÍ²»Ñ°³£µÄÁ÷Á¿Ä£Ê½¡£´ËÍ⣬ÎÒÃÇ´òËãͨ¹ý½øÐÐÔÆ¼ÆËãµÄ
IaaSƽ̨֮¼ä¸ü׼ȷµÄ±È½ÏÀ´À©´óʵÑé»î¶¯£¬Ö÷ÒªÊÇ»ùÓÚÆäËûһЩ²ÎÊý£¬È磺µ¯ÐÔ¡¢Ãô½Ý¶È¡¢ÍøÂçѹÁ¦ºÍCPU/´æ´¢Æ÷µÄʹÓÃÂÊ¡£
|