·ÖÏí

¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡7:µ½µ×ʲôÊÇOpen vSwitch

±¾Ìû×îºóÓÉ pig2 ÓÚ 2014-10-25 12:02 ±à¼­
ÎÊÌâµ¼¶Á
1.ÄãÊÇÈçºÎÀí½âÍøÇŵģ¿
2.ʲôÊÇOpen vSwitch£¿
3.Open vSwitchÓÐʲô×÷Óã¿




¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡6£¬½²ÁËÍøÇÅ£¬ÕâÀïÔٴβûÊö£¬µ±ÊǽøÒ»²½¼ÓÉîÀí½âÍøÇÅ¡£²»¹ý±¾ÎÄÖص㽲µÄÊÇOpen vSwitch
ÍøÇÅ
Bridge£¨ÇÅ£©ÊÇLinuxÉÏÓÃÀ´×öTCP/IP¶þ²ãЭÒé½»»»µÄÉ豸£¬ÓëÏÖʵÊÀ½çÖеĽ»»»»ú¹¦ÄÜÏàËÆ¡£BridgeÉ豸ʵÀý¿ÉÒÔºÍLinuxÉÏÆäËûÍøÂçÉ豸ʵÀýÁ¬½Ó£¬¼ÈattachÒ»¸ö´ÓÉ豸£¬ÀàËÆÓÚÔÚÏÖʵÊÀ½çÖеĽ»»»»úºÍÒ»¸öÓû§ÖÕ¶ËÖ®¼äÁ¬½ÓÒ»¸ùÍøÏß¡£µ±ÓÐÊý¾Ýµ½´ïʱ£¬Bridge»á¸ù¾Ý±¨ÎÄÖеÄMACÐÅÏ¢½øÐй㲥¡¢×ª·¢¡¢¶ªÆú´¦Àí¡£
wKioOVJweUnhuIfZAACkBhq7sMo506.jpg
ͼ1.BridgeÉ豸¹¤×÷¹ý³Ì
ÈçͼËùʾ£¬BridgeµÄ¹¦ÄÜÖ÷ÒªÔÚÄÚºËÀïʵÏÖ¡£µ±Ò»¸ö´ÓÉ豸±»attachµ½BridgeÉÏʱ£¬Ï൱ÓÚÏÖʵÊÀ½çÀï½»»»»úµÄ¶Ë¿Ú±»²åÈëÁËÒ»¸ùÁ¬ÓÐÖն˵ÄÍøÏß¡£


Open vSwitch

ʲôÊÇOpen vSwitch
Open vSwitchµÄÄ¿±ê£¬ÊÇ×öÒ»¸ö¾ßÓвúÆ·¼¶ÖÊÁ¿µÄ¶à²ãÐéÄâ½»»»»ú¡£Í¨¹ý¿É±à³ÌÀ©Õ¹£¬¿ÉÒÔʵÏÖ´ó¹æÄ£ÍøÂçµÄ×Ô¶¯»¯£¨ÅäÖᢹÜÀí¡¢Î¬»¤£©¡£ËüÖ§³ÖÏÖÓбê×¼¹ÜÀí½Ó¿ÚºÍЭÒ飨±ÈÈçnetFlow£¬sFlow£¬SPAN£¬RSPAN£¬CLI£¬LACP£¬802.1agµÈ£¬ÊìϤÎïÀíÍøÂçά»¤µÄ¹ÜÀíÔ±¿ÉÒÔºÁ²»·ÑÁ¦µØͨ¹ýOpen vSwitchתÏòÐéÄâÍøÂç¹ÜÀí£©¡£×ܵÄÀ´Ëµ£¬Ëü±»Éè¼ÆΪ֧³Ö·Ö²¼ÔÚ¶à¸öÎïÀí·þÎñÆ÷£¬ÀýÈçVMwareµÄvNetwork·Ö²¼Ê½vSwitch»ò˼¿ÆµÄNexus1000V¡£


ÄÇôʲôÊÇÐéÄâ½»»»£¿ÐéÄâ½»»»¾ÍÊÇÀûÓÃÐéÄâƽ̨£¬Í¨¹ýÈí¼þµÄ·½Ê½Ðγɽ»»»»ú²¿¼þ¡£¸ú´«Í³µÄÎïÀí½»»»»úÏà±È£¬ÐéÄâ½»»»»úͬÑù¾ß±¸ÖÚ¶àÓŵ㣬һÊÇÅäÖøü¼ÓÁé»î¡£Ò»Ì¨ÆÕͨµÄ·þÎñÆ÷¿ÉÒÔÅäÖóöÊýʮ̨ÉõÖÁÉÏ°Ų̀ÐéÄâ½»»»»ú£¬ÇҶ˿ÚÊýÄ¿¿ÉÒÔÁé»îÑ¡Ôñ¡£ÀýÈ磬VMwareµÄESXһ̨·þÎñÆ÷¿ÉÒÔ·ÂÕæ³ö248̨ÐéÄâ½»»»»ú£¬ÇÒÿ̨½»»»»úÔ¤ÉèÐéÄâ¶Ë¿Ú¼´¿É´ï56¸ö£»¶þÊdzɱ¾¸ü¼ÓµÍÁ®£¬Í¨¹ýÐéÄâ½»»»ÍùÍù¿ÉÒÔ»ñµÃ°º¹óµÄÆÕͨ½»»»»ú²ÅÄÜ´ïµ½µÄÐÔÄÜ£¬ÀýÈç΢ÈíµÄHyper-Vƽ̨£¬ÐéÄâ»úÓëÐéÄâ½»»»»úÖ®¼äµÄÁª»úËÙ¶ÈÇáÒ׿ɴï10Gbps

ͨË×À´½²£¬Open vSwitchÊÇÒ»¸öÓÉNicira NetworksÖ÷µ¼µÄ¿ªÔ´ÏîÄ¿£¬Í¨¹ýÔËÐÐÔÚÐéÄ⻯ƽ̨ÉϵÄÐéÄâ½»»»»ú£¬Îª±¾Ì¨ÎïÀí»úÉϵÄVMÌṩ¶þ²ãÍøÂç½ÓÈ룬 ¸úÔÆÖеÄÆäËüÎïÀí½»»»»úÒ»Ñù¹¤×÷ÔÚLayer 2²ã¡£Open vSwitch³ä·Ö¿¼ÂÇÁËÔÚ²»Í¬ÐéÄ⻯ƽ̨¼äµÄÒÆÖ²ÐÔ£¬²ÉÓÃƽ̨Î޹صÄCÓïÑÔ¿ª·¢¡£

Open vSwitchµÄ×÷ÓÃ

Äã¿ÉÄÜ»áÎÊ£¬ÎÒΪʲôÓбØÒªÔÚ×Ô¼ºµÄÔƼܹ¹ÖÐʹÓÃËüÄØ£¿ËüÄܸøÎÒµÄÔÆ´øÀ´Ê²Ã´£¿
OK¡£ÐèÇó¾ö¶¨Ò»ÇУ¬Èç¹ûÄãÖ»ÊÇ×Ô¼º¸ãһ̨Host£¬ÔÚÉÏÃæÐéÄ⼸̨VM×öʵÑé¡£»òÕßСÐÍ´´Òµ¹«Ë¾£¬Í¨¹ýÔÚÎą̊ʮ̨»úÆ÷ÉϵÄÐéÄ⻯£¬´´½¨Ò»Ð©VM¸ø¹«Ë¾ÄÚ²¿¿ª·¢²âÊÔÍŶÓʹÓá£ÄÇô¶ÔÄã¶øÑÔ£¬ÍøÂçÐéÄ⻯µÄÆÈÇÐÐÔ²¢²»Ç¿ÁÒ¡£Ò²ÐíÄã¸ü¶à¿¼Âǵģ¬ÊÇVMµÄ¿É¿¿½ÓÈ룺ºÍÎïÀí»úÒ»ÑùÓÐЧ»ñÈ¡ÍøÂçÁ¬½Ó£¬Äܹ»RDP·ÃÎÊ¡£Linux Kernel×Ô´øµÄÇŽÓÄ£¿é¾Í¿ÉÒԺܺõĽâ¾öÕâÒ»ÎÊÌâ¡£Ô­ÀíÉϽ²£¬ÕýÈ·ÅäÖÃÇŽӣ¬²¢°ÑVMµÄvirtual nicÁ¬½ÓÔÚÇŽÓÆ÷ÉϾÍOKÀ²¡£ºÜ¶àÐéÄ⻯ƽ̨µÄÔçÆÚ½â¾ö·½°¸Ò²ÊÇÈç´Ë£¬×Ô¶¯ÅäÖò¢ÒÔÏòÓû§Í¸Ã÷µÄ·½Ê½ÌṩÐéÄâ»ú½ÓÈë¡£Èç¹ûÄãÊÇOpenStackµÄfans£¬ÄÇNova¾Í¸üºÃµØ°ïÄãÍê³ÉÁËһϵÁÐÍøÂç½ÓÈëÉèÖá£Open vSwitchÔÚWHY-OVSÕâƪÎÄÕÂÖУ¬µÚÒ»¾ä»°¾Í¸ß¶ÈÔÞÑïÁËLinux bridge£º
¡°We love the existing network stack in Linux.  It is robust, flexible, and feature rich.  Linux already contains an in-kernel L2 switch (the Linux bridge) which can be used by VMs for inter-VM communication.  So, it is reasonable to ask why there is a need for a new network switch.¡±

µ«ÊÇ£¬Èç¹ûÄãÊÇ´óÐÍÊý¾ÝÖÐÐĵÄÍøÂç¹ÜÀíÔ±£¬Ò»¶äûÓÐÍøÂçÐéÄ⻯֧³ÖµÄÔÆ£¬½«ÊÇÎÞ¾¡µÄجÃΡ£
ÔÚ´«Í³Êý¾ÝÖÐÐÄÖУ¬ÍøÂç¹ÜÀíԱϰ¹ßÁËÿ̨ÎïÀí»úµÄÍøÂç½ÓÈë¾ù¿É¼û²¢ÇÒ¿ÉÅäÖá£Í¨¹ýÔÚ½»»»»úij¶Ë¿ÚµÄ²ßÂÔÅäÖ㬿ÉÒԺܺÿØÖÆÖ¸¶¨ÎïÀí»úµÄÍøÂç½ÓÈ룬·ÃÎʲßÂÔ£¬ÍøÂç¸ôÀ룬Á÷Á¿¼à¿Ø£¬Êý¾Ý°ü·ÖÎö£¬QosÅäÖã¬Á÷Á¿ÓÅ»¯µÈ¡£

ÓÐÁËÔÆ£¬ÍøÂç¹ÜÀíÔ±ÈÔÈ»ÆÚÍûÄÜÒÔper OS/per portµÄ·½Ê½¹ÜÀí¡£Èç¹ûûÓÐÍøÂçÐéÄ⻯¼¼ÊõµÄÖ§³Ö£¬¹ÜÀíÔ±Ö»ÄÜ¿´µ½±»ÇŽӵÄÎïÀíÍø¿¨£¬ÆäÉÏ´¨Á÷²»Ï¢µØÅÜ×Ån̨VMµÄÊý¾Ý°ü¡£½öƾÎïÀí½»»»»úÖ§³Ö£¬¹ÜÀíÔ±ÎÞ·¨Çø·ÖÕâЩ°üÊôÓÚÄĸöOSÄĸöÓû§£¬Ö»ÄÜÍûÔÆÐË̾ºõ£¿¼òµ¥Áоٳ£¼ûµÄ¼¸ÖÖÐèÇó£¬Open vSwitchÏÖÓа汾ºÜºÃµØ½â¾öÁËÕâЩÐèÇó¡£

   ÐèÇóÒ»£ºÍøÂç¸ôÀë¡£ÎïÀíÍøÂç¹ÜÀíÔ±ÔçÒÑÏ°¹ßÁ˰Ѳ»Í¬µÄÓû§×é·ÅÔÚ²»Í¬µÄVLANÖУ¬ÀýÈçÑз¢²¿ÃÅ¡¢ÏúÊÛ²¿ÃÅ¡¢²ÆÎñ²¿ÃÅ£¬×öµ½¶þ²ãÍøÂç¸ôÀë¡£Open vSwitchͨ¹ýÔÚhostÉÏÐéÄâ³öÒ»¸öÈí¼þ½»»»»ú£¬µÈÓÚÔÚÎïÀí½»»»»úÉϼ¶ÁªÁËһ̨еĽ»»»»ú£¬ËùÓÐVMͨ¹ý¼¶Áª½»»»»ú½ÓÈ룬ÈùÜÀíÔ±Äܹ»ÏñÅäÖÃÎïÀí½»»»»úÒ»Ñù°Ñͬһ̨hostÉϵÄÖÚ¶àVM·ÖÅäµ½²»Í¬VLANÖÐÈ¥£»

   ÐèÇó¶þ£ºQoSÅäÖá£ÔÚ¹²Ïíͬһ¸öÎïÀíÍø¿¨µÄÖÚ¶àVMÖУ¬ÎÒÃÇÆÚÍû¸øÿ̨VMÅäÖò»Í¬µÄËٶȺʹø¿í£¬ÒÔ±£Ö¤ºËÐÄÒµÎñVMµÄÍøÂçÐÔÄÜ¡£Í¨¹ýÔÚOpen vSwitch¶Ë¿ÚÉÏ£¬¸ø¸÷¸öVMÅäÖÃQoS£¬¿ÉÒÔʵÏÖÎïÀí½»»»»úµÄtraffic queuingºÍtraffic shaping¹¦ÄÜ¡£

   ÐèÇóÈý£ºÁ÷Á¿¼à¿Ø£¬Netflow£¬sFlow¡£ÎïÀí½»»»»úͨ¹ýxxFlow¼¼Êõ¶ÔÊý¾Ý°ü²ÉÑù£¬¼Ç¼¹Ø¼üÓò£¬·¢ÍùAnalyzer´¦Àí¡£½ø¶øʵÏÖ°üÀ¨ÍøÂç¼à¿Ø¡¢Ó¦ÓÃÈí¼þ¼à¿Ø¡¢Óû§¼à¿Ø¡¢ÍøÂç¹æ»®¡¢°²È«·ÖÎö¡¢»á¼ÆºÍ½áËã¡¢ÒÔ¼°ÍøÂçÁ÷Á¿Êý¾Ý¿â·ÖÎöºÍÍÚ¾òÔÚÄڵĸ÷Ïî²Ù×÷¡£ÀýÈ磬NetFlowÁ÷Á¿Í³¼Æ¿ÉÒԲɼ¯µÄÊý¾Ý·Ç³£·á¸»£¬°üÀ¨£ºÊý¾ÝÁ÷ʱ´Á¡¢Ô´IPµØÖ·ºÍÄ¿µÄIPµØÖ·¡¢ Ô´¶Ë¿ÚºÅºÍÄ¿µÄ¶Ë¿ÚºÅ¡¢ÊäÈë½Ó¿ÚºÅºÍÊä³ö½Ó¿ÚºÅ¡¢ÏÂÒ»ÌøIPµØÖ·¡¢ÐÅÏ¢Á÷ÖеÄ×Ü×Ö½ÚÊý¡¢ÐÅÏ¢Á÷ÖеÄÊý¾Ý°üÊýÁ¿¡¢ÐÅÏ¢Á÷ÖеĵÚÒ»¸öºÍ×îºóÒ»¸öÊý¾Ý°üʱ´Á¡¢Ô´ASºÍÄ¿µÄAS£¬¼°Ç°ÖÃÑÚÂëÐòºÅµÈ¡£

xxFlowÒòÆä·½±ã¡¢¿ì½Ý¡¢¶¯Ì¬¡¢¸ßЧµÄÌص㣬ΪԽÀ´Ô½¶àµÄÍø¹ÜÈËÔ±Ëù½ÓÊÜ£¬³ÉΪ»¥ÁªÍø°²È«¹ÜÀíµÄÖØÒªÊֶΣ¬ÌرðÊÇÔڽϴóÍøÂçµÄ¹ÜÀíÖУ¬¸üÄÜÌåÏÖ³öÆä¶ÀÌØÓÅÊÆ¡£
û´í£¬ÓÐÁËOpen vSwitch£¬×÷ΪÍø¹ÜµÄÄ㣬¿ÉÒÔ°ÑxxFlowµÄÇ¿´óÁÜÀ쾡ÖµØÓ¦ÓÃÔÚVMÉÏ£¡

   ÐèÇóËÄ£ºÊý¾Ý°ü·ÖÎö£¬Packet Mirror¡£ÎïÀí½»»»»úµÄÒ»´óÂôµã£¬µ±¶Ôijһ¶Ë¿ÚµÄÊý¾Ý°ü¸ÐÐËȤʱ£¨for trouble shooting , etc£©£¬¿ÉÒÔÅäÖø÷ÖÖspan£¨SPAN, RSPAN, ERSPAN£©£¬°Ñ¸Ã¶Ë¿ÚµÄÊý¾Ý°ü¸´ÖÆת·¢µ½Ö¸¶¨¶Ë¿Ú£¬Í¨¹ý×¥°ü¹¤¾ß½øÐзÖÎö¡£Open vSwitch¹ÙÍøÁгöÁ˶ÔSPAN, RSPAN, and GRE-tunneled mirrorsµÄÖ§³Ö¡£

¹ØÓÚ¾ßÌ幦ÄÜ£¬¾Í²»Ò»Ò»×¸ÊöÁË£¬¸ÐÐËȤµÄͯЬ¿ÉÒԲο¼¹ÙÍø¹¦ÄÜÁÐ±í£ºhttp://openvswitch.org/features/

Ö»ÊÇÔÚOpen vSwitchÉÏʵÏÖÎïÀí½»»»»úµÄÏÖÓй¦ÄÜ£¿ÄǾø¶Ô²»ÊÇNiciraµÄ·ç¸ñ¡£

ÔÆÖеÄÍøÂ磬¾ø²»½ö½öÐèÒª´«Í³ÎïÀí½»»»»úÒÑÓеŦÄÜ¡£ÔƶÔÍøÂçµÄÐèÇó£¬Íƶ¯ÁËSoftware Defined NetworkÔ½À´Ô½»ð¡£¶øÔÚ¸÷ÖÖSDN½â¾ö·½°¸ÖУ¬OpenFlowÎÞÒÉÊÇ×îÒýÈËÖõÄ¿µÄ¡£Flow Table + ControllerµÄ¼Ü¹¹£¬ÎªÐ·þÎñÐÂЭÒéÌṩÁ˾ø¼ÑµÄ¿ª·ÅÐÔƽ̨¡£Nicira°Ñ¶ÔOpenflowµÄÖ§³ÖÒýÈëÁËOpen vSwitch¡£ÒýÈëÒÔÏÂÄ£¿é£º

¡¤         ovs-openflowd  ---  OpenFlow½»»»»ú£»
¡¤         ovs-controller  --- OpenFlow¿ØÖÆÆ÷£»
¡¤         ovs-ofctl  --- Open Flow µÄÃüÁîÐÐÅäÖýӿڣ»
¡¤         ovs-pki  --- ´´½¨ºÍ¹ÜÀí¹«Ô¿¿ò¼Ü£»
¡¤         tcpdumpµÄ²¹¶¡ --- ½âÎöOpenFlowµÄÏûÏ¢£»

²»ÔÙÕ¹¿ª£¬´ó¼Ò¸ÐÐËȤµÄ»°¿ÉÒÔGoogleÖ®¡£
213438993.jpg
ͼ2 £ºOpen FlowʾÒâͼ -- Õª×ÔOpen Flow°×ƤÊé
ÐèÇó¾ö¶¨²úÆ·£¬ÕýÊÇÓÉÓÚÔÚÆóÒµ¼¶ÔÆÖУ¬ÐèÒª¸÷ÖַḻµÄÍøÂ繦ÄÜ£¬VMware²ÅÓÚnÄêÇ°¾ÍÍƳöÁËvSwitch¡¢vDSµÈÐéÄâ½»»»»ú¡£ÕýÊÇ¿´µ½ÁËÔÆÖеÄÍøÂçÊÇÒ»¿é´óÊг¡£¬Cisco²ÅÓëVMware½ôÃܺÏ×÷£¬ÒÔpartnerµÄÐÎʽ»ùÓÚVMware kernel API¿ª·¢³öÁË×Ô¼ºµÄ·Ö²¼Ê½ÐéÄâ½»»»»úNexus 1000V£¨¹¦ÄܶÔÓ¦ÓÚVMwareµÄvDS£©¡£¿ÉϧµÄÊÇ£¬ÕâÁ½¿î²úÆ·¶¼ÊÇÊշѵġ£Citrixµ¹ÊÇ»ùÓÚOpen vSwitch¿ìËÙ×·¸Ï£¬ÍƳöÁË×Ô¼ºµÄDistributed Virtual Switch½â¾ö·½°¸¡£µ«ÊDz»ºÃÒâ˼£¬Ò²ÊÇÊշѵġ£¿ªÔ´ÔƵıê¸ËOpenStackÈ¥ÄêÏ°ëÄêÍƳöÁËÒ»Ïîºê´óµÄ¼Æ»®£¬Æô¶¯ÁËQuantumÏîÄ¿£¬Ö¾ÔÚͨ¹ýÒýÈëOpen vSwitch£¬ÎªOpen Stack NetworkÄ£¿é¹´ÀÕ³ö¡°Connectivity as a service¡±µÄ¶¯ÈËÇ°¾°¡£ÓÐʱ¼äµÄ»°£¬»áÔÙµ¥¶À¿ªÒ»ÆªÎÄÕÂÌÖÂÛ¡£
¸Ðл¿ªÔ´£¬Open vSwitchÊÇ×ø¹«½»³µµÄ³É±¾£¬½ø¿ÚÅܳµµÄÌåÑ飡»¹µÈʲô£¬ÔÚÄãµÄ´óÐÍ¿ªÔ´ÔƼܹ¹ÖУ¬Ê¹ÓÃOpen vSwitch°É£¡


Ïà¹ØÌû×Ó£º

¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡1:ʲôÊÇL2¡¢L3

¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡2:½»»»»ú¡¢Â·ÓÉÆ÷¡¢DHCP


¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡3: iptablesÏê½â


¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡4:Dnsmasq¡¢ÍøÂç»ìÔÓģʽ


¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡5:ÍøÂçµþ¼ÓģʽVLAN¡¢VxLAN¡¢GRE


¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡6:ʲôÊÇTap/Tun¡¢ÍøÇÅ



ÒÑÓÐ(6)ÈËÆÀÂÛ

Ìøתµ½Ö¸¶¨Â¥²ã
stevew ·¢±íÓÚ 2015-1-5 16:20:22
¶àл·ÖÏí£¬Ñ§Ï°
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

jywan ·¢±íÓÚ 2015-8-7 16:55:13

¶àл·ÖÏí£¬Ñ§Ï°
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

chistpest ·¢±íÓÚ 2015-11-23 11:22:16
лл§ס£¬Ñ§Ï°ÁË
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

leirenyuan ·¢±íÓÚ 2015-12-6 15:01:58
ÓиöÎÊÌâÏëÇë½ÌÂ¥Ö÷£¬
ÔÚL°æ¹Ù·½openstack°²×°ÎĵµÖУ¬ÎªÊ²Ã´Ê¹ÓõÄÊÇlinuxbridge£¿ÒÔÇ°°æ±¾¶¼ÊÇÓÃovs×öʾ·¶¡£Õâ¸ö±ä»¯ÊÇ·ñÓÐijÖÖÒâÒåÔÚÀïÃ棿
ovsºÍlinuxbridge·Ö±ðÊʺÏʲôÑùµÄ³¡ºÏ£¿
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ÄúÐèÒªµÇ¼ºó²Å¿ÉÒÔ»ØÌû µÇ¼ | Á¢¼´×¢²á

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

ÍƼöÉÏÒ»Ìõ /2 ÏÂÒ»Ìõ