openstackÍøÂçÌåϵÖУ¬ÍøÂç¼¼ÊõûÓд´Ð£¬µ«Óõ½µÄ¼¼ÊõµãºÜÅÓÔÓ£¬°üº¬bridge¡¢vlan¡¢gre¡¢vxlan¡¢ovs¡¢openflow¡¢sdn¡¢iptablesµÈ£¬µ±È»ÕâÀï²»»á×ö¾ßÌå¼¼Êõ½éÉÜ£¬¸ÅÊö¼¼Êõ£¬Ö÷Òª½«ÆäÓëopenstackµÄ½áºÏµã×ö¾ßÌå·ÖÎö¡£
nova-networkÍøÂç¼Ü¹¹
ÔÚnova-networkÖУ¬ÆäÍøÂçÄ£ÐͰüº¬flat¡¢dhcp flat¡¢vlan£¬Óõ½µÄ¼¼ÊõÖ÷ÒªÓÐbridge¡¢vlan£¬
dhcp flat¶àÍøÂç½Úµã¼Ü¹¹

³¤´¦£º½á¹¹¼òµ¥£¬Îȶ¨
ȱµã£ºÈ«²¿×â»§¶¼ÔÚÒ»¸öË®Æ½ÃæÉÏ£¬×â»§Ö®¼äûÓиôÀ룬ÒòΪȫ²¿×â»§¶¼ÔÚÒ»¸ö×ÓÍøÄÚ£¬µ±´ó¹æÄ£²¿Êðºó£¬Æä¹ã²¥·ç±©½«»áÊDz»Ð¡µÄ¸ºÃæÒòËØ£¬ÖÁÓÚÕâÑùµÄÄ£ÐÍÆävmµÄÉÏÏÞ£¬±ÊÕß»¹Ã»ÓÐÌõ¼þœyÊÔ¡£
vlan¼Ü¹¹

Ϊ×â»§´´½¨¶ÀÕ¼µÄbridge
´´½¨vlan½Ó¿Úvlan100£¬¸ù¾Ý802.1qÐÒé´òvlanid
Dnsmasq¼àÌýÍøÇÅÍø¹Ø£¬¸ºÔðfixedipµÄ·ÖÅä
switch portÉ趨Ϊchunk mode
eth0¸ºÔðvmÖ®¼äµÄÊý¾ÝͨÐÅ£¬eth1¸ºÔðÍâÍøÔLÎÊ
³¤´¦£º×â»§ÓиôÀë
ȱµã£ºÐëÒªÎïÀí½»»»»úchunk¿ÚµÄÖ§³Ö£¬Êµ¼Ê²¿Êðʱ±ÈÝ^¸´ÔÓ£¬vlan id¸öÊýΪ4094¸ö£¬Ò²¾ÍÊÇ×î¶à4094¸ö×ÓÍø×â»§£¬²»ÊÊÓÃÓÚ¹«ÓÐÔÆ¡£
½áÂÛ
Ïà±ÈÓÚneutronÍøÂ磬Ëä˵ûÓÐneutronÄÇô¶àµÄ¹¦Äܲå¼þ£¬½öÓÐbridge£¬¿ÉÊÇÆäÎȶ¨ÐÔÒѵõ½´ó¶àÊýÓû§µÄÑéÖ¤£¬¶ÔÓÚС¹æÄ£µÄ˽ÓÐÔÆ(1ǧ̨Ðé»úµÄ¹æÄ£)£¬nova-networkÊÇÄܹ»¿¼Âǵģ¬ÑÛÏÂÏßÉϲ¿ÊðµÄ»·¾³Ò²ÊÇnova-network¡£
neutronÍøÂç¼Ü¹¹
neutronÍøÂçÌåϵÏà±ÈÓÚnova-networkÒª¸´ÔӵĶ࣬Óõ½µÄ¼¼ÊõµãÒ²ºÜÅÓÔÓ£¬ÔÚ½éÉÜÍøÂç¼Ü¹¹Ö®Ç°£¬ÓбØÒª¸ÅÊöÏÂgre¡¢vxlan¡¢ovs¡¢openflow¡¢sdn¼¼Êõµã¡£
ÉÏÃæ²ûÊö¹ý£¬vlan¼¼Êõ´æÔÚvlan id¸öÊýÏÞÖÆ4094£¬¹«ÓÐÔÆ×â»§¿Ï¶¨²»Ö¹4094£¬¶þ²ã¼¼Êõ£¬½ö½öÄܲ¿ÊðÔÚÒ»¸ö¾ÖÓòÍøÄÚ£¬ÎÞ·¨ÊµÏÖ¿ç»ú·¿²¿Êð¡£ÎªÁËÍ»ÆÆÕâÁ©¸öÏÞÖÆ£¬Ìí¼ÓÁËgreºÍvxlanËíµÀ¼¼Êõ¡£
GRE£º
¿ç»ú·¿²¿Êð£º3²ãËíµÀ¼¼Êõ£¬ÔÚÔÀ´Ð¡ÍøipÍ·Ç°ÃæÔö¼Ó´óÍøipÍ·ºÍgreÍ·£¬´óÍøipÍ·ÀïÃæµÄipÊǹ«Íøip£»
segment id£º¶øgreÍ·ÀïÃæ×îÖØÒªµÄ×Ö¶ÎÓ¦¸ÃÊÇ4×Ö½ÚkeyÖµ£¨segment
id£©£¬³äµ±ÁËvlan¼¼ÊõÀïÃæµÄvlan id£¬¸ôÀë×â»§µÄ×÷Óã¬ÒòΪÊÇ4¸ö×Ö½Ú£¬ÒѾ²»ÊÜ4094 vlan
idÏÞÖÆ¡£ÏÂͼÊÇgreµäÐÍÓ¦ÓÃvpn¡£

µ±È»greÒ²ÓÐÆäȱµã£¬
1.greÊǵã¶Ôµã¼¼Êõ£¬Ã¿Á½¸öµãÖ®¼ä¶¼ÐëÒªÓÐÒ»¸öËíµÀ£¬¶ÔÓÚ4²ãµÄport×ÊÔ´ÊÇÒ»ÖÖÀË·Ñ£»
2.Ìí¼ÓipÍ·£¬ÊƱؽµµÍvmµÄmtuÖµ£¬Ïàͬ´óСµÄÊý¾Ý£¬ÐëÒªºÜ¶àÆäËüµÄip°üÀ´´«£¬´«ÊäЧÂÊÓÐÓ°Ïì¡£
VXLAN£º
Õë¶ÔvlanºÍgreµÄµÚÒ»¸öȱµã£¬Òµ½çÌá³öÁËvxlan¼¼Êõ£¬ÏÂͼ¸÷×ÔÊÇvxlanÍ·½á¹¹ºÍͨÐÅÁ÷³Ì¡£


1.24bitµÄVNID£ºvxlan¼¼ÊõÔÚÔÓÐmacÖ¡»ù´¡ÉÏÌí¼ÓÁËеÄmacÍ·¡¢ipÍ·¡¢vxlan
header£¬ÔÚvxlan headerÖУ¬VNIDÏ൱ÓÚvlan id£¬24bit£¬16MµÄ´óС£¬Ô¶´óÓÚ4094.
2.´ó¶þ²ãÍøÂ磬ʵÏÖ¿ç»ú·¿²¿Êð£ºÔÚͨÐÅÁ½¶ËÌí¼ÓÁËVTEPÉ豸£¬Äܹ»Ó²¼þÉ豸£¬Ò²Äܹ»Èí¼þʵÏÖ£¬µ±È»ÔÚneutronÍøÂçÖУ¬ÆäÊÇÓÉÈí¼þʵÏֵġ£¸ÃÉ豸¼Ç¼vlan
id¡¢vm mac¡¢vtep ipµÄÏàÓ¦¹ØÏµ£¬Õâ¸ö¹ØÏµÊÇÓÉvm·¢ÆðarpÇëÇó»ñÈ¡µ½µÄ¡£ÔÚvxlanÍøÂçÖÐÓиö×é²¥µØÖ·£¬È«²¿vtepÉ豸¶¼ÐëÒªÌí¼Ó¸Ã×é²¥µØÖ·£¬vtep½«arpµÄ¹ã²¥ÇëÇóÌí¼Ó×é²¥ipͷת±äΪ×é²¥ÇëÇó£¬Ò»µ©Ò»¸övm·¢ÆðarpÇëÇó£¬È«²¿vtep¶¼ÄÜÊÕµ½£¬vtepÔÚ½«×é²¥ipÍ·È¥µô£¬½«Ôʼ¹ã²¥°ü·¢¸øvm£¬ÕâÑù²»Í¬vmÖ®¼ä½«½¨Á¢Æðarp±í¡£vxlanÍøÂçΪȫ²¿vm½¨Á¢Ò»¸ö´ó2²ãÍøÂç¡£
3.ÄÜÈÃÒÅÁô×ÓÍø²»¸Ä±ä IP µØÖ·µÄÇé¿öÏÂÎÞ·ìµÄÇ¨ÒÆµ½ÔÆÉÏÀ´£»Ò²Äܹ»ÈÃÐé»ú¿çÊý¾ÝÖÐÐĽøÐÐÇ¨ÒÆ£¨Ôø¾¶¥¶à½ö½öÄÜÔÚͬһ¸ö
VLAN ÀïÇ¨ÒÆ£©
4.¹ØÓÚ¿ç»ú·¿vxlan»¥Í¨£ºÇ°Êöͨ¹ý×é²¥ÏûϢʵÏÖarpµÄ´«Ê䣬¿ÉÊÇÔÚ¹ãÓòÍøÉÏ£¬×é²¥°ü´«ÊäÊÇÊÜÏÞÖÆµÄ£¬ÑÛÏÂÒµ½çͨ³£µÄ½â¾ö·½Ê½ÊÇͨ¹ýSDN
controller£¬SDN controller¼æ×öarp´úÀí£¬²¢»ñÈ¡vmÄÚ²ãmacºÍÍâ²ãVTEP ipÏàÓ¦¹ØÏµ£¬²»Í¬controllerÖ®¼ä½»»»ÕâЩÐÅÏ¢¡£
½áÂÛ£º
1.gre¹¥¿ËÁËvlan id¸öÊýÏÞÖÆºÍ¿ç»ú·¿»¥Í¨ÎÊÌ⣻
2.vxlan¹¥¿ËÁËvlan id¸öÊýÏÞÖÆºÍ¿ç»ú·¿»¥Í¨ÎÊÌ⣬ͬһʱºò¹¥¿ËÁËgreµã¶ÔµãËíµÀ¸öÊý¹ý¶àÎÊÌ⣬ͬһʱºòʵÏÖÁË´ó2²ãÍøÂ磬¿ÉÓÃÓÚvmÔÚ»ú·¿Ö®¼äµÄµÄÎÞ·ìÇ¨ÒÆ¡£
openflow

openflowÖ÷Òª·ÖΪcontrollerºÍflow table£¬¶øÇÒÆäͨÐÅ×ñÑopenflowÐÒé¡£Ìí¼ÓÁËcontrollerµã£¬openflow
switchÖ»ÒÀ¾Ýflow tableÉ趨ºÃµÄ¹æÔò¶ÔÊý¾Ý×ö·ÓÉ»ò¶ªÆúµÈ²Ù×÷£¬¶øÕû¸öϵͳµÄ´óÄÔ²¿·ÖÔÚcontroller£¬È«²¿flow
tableµÄ·ÓɹæÔò¡¢´¦Àí·½·¨¶¼ÊÇ´ÓcontrollerµÃµ½¡£
OpenflowµÄ³¤´¦£º
1.¿ØÖÆÂß¼ºÍÎïÀí½»»»ÍøÂçÏà·ÖÀ룻
2.ÎïÀíÍøÂçÇиî³ÉÏ໥¶ÀÁ¢µÄÂß¼ÍøÂç
OpenflowÎÊÌ⣺
1.ºÍÏÖÓÐÎïÀíÍøÂçÏà³åÍ»£¬·Ç³£ÄÑʵ¼ÊÓ¦ÓÃ
ʵÑéÊÒ½ØÈ¡µÄÁ÷±íʵÀý£º

OVS£º

Ïà±ÈÓÚLinux bridge£¬ovsÓÐÏÂÃæÓŵã
1.QosÅäÖã¬Äܹ»ÎªÃ¿Ì¨vmÅäÖò»Í¬µÄËٶȺʹø¿í
2.Á÷Á¿¼à¿Ø
3.Êý¾Ý°ü·ÖÎö
4.½«openflowÒýÈëµ½ovsÖУ¬ÊµÏÖ¿ØÖÆÂß¼ºÍÎïÀí½»»»ÍøÂç·ÖÀë¡£
µ½´ËΪֹ£¬¹ØÓÚgre¡¢vxlan¡¢openflow¡¢ovs»ù±¾Çé¿ö»ù±¾½éÉÜÍêÁË£¬ÒÔϽ«ÊÇÓ¦ÓÃÕâЩ¼¼Êõ½éÉÜneutronÍøÂç¼Ü¹¹Ìåϵ¡£
neutronÌåϵ½á¹¹×é³É
1.Neutron Server£º Õâ Ò»²¿·Ö°üÀ¨ÊØ»¤½ø³Ìneutron-serverºÍ¸÷ÖÖ²å¼þneutron-*-plugin£¬ËüÃǼÈÄܹ»°²×°ÔÚ¿ØÖƽڵãÒ²Äܹ»°²×°ÔÚÍøÂç½Úµã¡£
neutron-serverÌṩAPI½Ó¿Ú£¬²¢°Ñ¶ÔAPIµÄµ÷ÓÃÇëÇ󴫸øÒѾÅäÖúõIJå¼þ½øÐÐÐËÐí´¦Àí¡£²å¼þÐëÒªÔLÎÊÊý¾Ý¿âÀ´Î¬»¤¸÷ÖÖÅäÖÃÊý¾ÝºÍÏàÓ¦¹ØÏµ£¬±ÈÈç·ÓÉÆ÷¡¢ÍøÂç¡¢×ÓÍø¡¢port¡¢¸¡¶¯IP¡¢°²È«×éµÈµÈ¡£
2.²å¼þ´úÀí£¨Plugin Agent£©£ºÐéÄâÍøÂçÉϵÄÊý¾Ý°üµÄ´¦ÀíÔòÊÇÓÉÕâЩ²å¼þ´úÀíÀ´Íê±ÏµÄ¡£Ãû×ÖΪneutron-*-agent¡£ÔÚÿһ¸ö¼ÆËã½ÚµãºÍÍøÂç½ÚµãÉÏÖ´ÐС£Ò»°ãÀ´ËµÄãÑ¡ÔñÁËʲô²å¼þ£¬¾ÍÐëҪѡÔñ¶ÔÓ¦µÄ´úÀí¡£´úÀíÓëNeutron
Server¼°Æä²å¼þµÄ½»»¥¾Íͨ¹ýÏûÏ¢¶ÓÁÐÀ´Ö§³Ö¡£
3.DHCP´úÀí£¨DHCP Agent£©£º Ãû×ÖΪneutron-dhcp-agent£¬Îª¸÷¸ö×â»§ÍøÂçÌṩDHCP·þÎñ£¬²¿ÊðÔÚÍøÂç½ÚµãÉÏ£¬¸÷¸ö²å¼þÒ²ÊÇʹÓÃÕâÒ»¸ö´úÀí¡£
4.3²ã´úÀí £¨L3 Agent£©£º Ãû×ÖΪneutron-l3-agent£¬
Ϊ¿Í»§»úÔLÎÊÍâ²¿ÍøÂçÌṩ3²ãת·¢·þÎñ¡£Ò²²¿ÊðÔÚÍøÂç½ÚµãÉÏ¡£
Control node£ºneutronserver(api/neutron-*-plugin)
Network node£ºneutron-*-plugin-agent/l3-agent/dhcp-agent
Computer node£ºneutron-*-plugin-agent |
ÔÚneutronÌåϵÖУ¬Ó¦ÓÃ×î¶àµÄÁ½¸ö²å¼þ¾ÍÊÇLinux bridgeºÍovs£¬±ÊÕßÔÚʵÑéÊÒ·Ö±ð´î½¨¹ýLinux
bridge+vxlanºÍovs+vxlan¡£ÒÔϸ÷×ÔÊÇ´Ó¹ÙÍøÉϽØÈ¡µÄÍøÂç½á¹¹Í¼£¬¹ÙÍø¸ø³öµÄÊÇvlanµÄÇé¿ö£¬ÊÂʵÉϺÍvxlan²î±ð²»´ó¡£
ovs+vxlan computer node and network
node


ÍøÂç¼Ü¹¹Í¼
ÊDz»ÊÇ¿´µ½Õâ2ÕÅͼ¾ÍÓÐЩÔÎÁË£¬Õâô¶à¸öbridge¡¢tapÉ豸¶¼ÊÇ×öʲôÓõģ¬Àí½âÕâЩÉ豸ÊÂʵÉϲ¢²»ÄÑ£¬redhatÓÐÆªÎÄÕÂдµÄºÜ¾ßÌ壬´ó¼Ò¿´¿´¾ÍºÜÃ÷È·ÁË£¬https://openstack.redhat.com/Networking_in_too_much_detail£¬¹Ù·½¸ø³öµÄͼÊÇvlanÍØÆË£¬ÊÂʵÉϽö½öÒª½«Í¼ÖеÄvlan
device¸Ä³Évxlan device¾ÍÄܹ»£¬×îºÃ»¹Êǰ±íÊö½á¹¹¡£
ÔÚovs½á¹¹ÖУ¬¼ÙÉèÍøÂçÍØÆËÊÇvxlan»ògre£¬ÔòÓÐÁ½¸öbridge£¬¸÷×ÔÊÇbr-intºÍbr-tun(ÉÏͼÒòΪÊÇvlan»·¾³£¬Ã»ÓÐbr-tun£¬¶øÊÇbr-eth1)£¬br-int½Ð¼¯³ÉÍøÇÅ£¬ÓÃÓÚÁ¬½ÓÆðÉÏ·½µÄ¸÷¸öÉ豸£¨°üº¬vm¡¢dhcp-agent¡¢l3-agent£©£¬br-tun½ÐËíµÀÍøÇÅ£¬ËíµÀ¼ÈÄܹ»ÊÇgre£¬Ò²Äܹ»ÊÇvxlan£¬br-tun¸ºÔðÔÚÔʼ±¨ÎÄÖÐÔö¼Ógre»òvxlan±¨ÎÄÍ·¡£Ï൱ÓÚÈí¼þʵÏÖÁËvtepÉ豸(¶ÔÓÚvxlan¶øÑÔ)£¬
flow table
ÕâÀïÖµµÃÒ»ÌáµÄÊÇnetwork node br-tunÖеÄflow table£¬ÀýÈçÒÔÏÂͼËù¿´µ½µÄ£¬¶ÔÓÚflow
tableµÄ¸÷¸ö±íÏî´ó¼ÒÄܹ»…¢¿¼ÎÄÕÂhttp://mytrix.me/2014/04/dive-into-openstack-neutron-on-compute-node/£¬ÕâÀï²»×ö¹ý¶à²ûÊö¡£
×÷ÕßʵÑéÊҴÁË1¸önetwork nodeºÍ2¸öcomputer node£¬port
1ÏàÓ¦ÍøÂç½ÚµãµÄbr-int£¬port 2¡¢3ÏàÓ¦2¸öcomputer node£¬Äܹ»¿´³ö£¬µ±ÓÉcomputer
nodeÀ´µÄÊý¾Ý°ü£¨port 2¡¢3£©£¬¸ÄÍêvlan±êǩ֮ºó£¬ÒªÏÈͨ¹ý×ÔѧϰµÄ¹ý³Ì£¨ÏàÓ¦table 10£©£¬È»ºóÊä³ö¸øport
1£¬Ñ§Ï°µÄ½á¹û¾ÍÊÇtable 20£¬table 20½«vlan idºÍÄ¿±êvmµÄmacµØÖ·×÷ΪƥÅäÏƥÅäÉÏÖ®ºó¡£Êä³ö¸øport
2¡¢3¡£

ͨÐÅÁ÷³Ì
ͬһ×â»§²»Í¬host vm fixed ipͨÐÅÁ÷³ÌÀýÈçÒÔÏÂͼËù¿´µ½µÄ£¬¼ÙÉèͨ¹ýfixed
ipͨÐÅ£¬²»ÐëÒª¾¹ýnetwork node£¬Í¨¹ýbr-tun¼ÓÉÏvxlan±êÇ©ÔòÄܹ»ÊµÏÖ²»Í¬hostÉϵÄvmͨÐÅ¡£

²»Í¬×â»§²»Í¬host vm floating ipͨÐÅÁ÷³ÌÀýÈçÒÔÏÂͼËù¿´µ½µÄ£¬¼ÙÉèÊÇͨ¹ýfloating
ip½øÐÐͨÐÅ£¬ÐëÒª¾¹ýnetwork node×ödnat¡¢snat¡¢Â·ÓÉ£¬ÎªÊ²Ã´ÒªÍ¨¹ýnetwork nodeÄØ£¿ÔÒòÊÇÄ¿±êipµØÖ·ÊÇfloating
ip£¬ºÍvm2 fixed ip²»ÔÚÒ»¸öÍø¶Î£¬ËùÒÔÆä¶Ôip°üµÄ´¦ÀíÐëÒª½«°ü´«µÝ¸ø×â»§2µÄĬÈÏÍø¹Ømac4/ip4£¬´«¸ø¸øÄ¬ÈÏÍø¹ØºóÐëÒª×ödnatת»»£¬È»ºó·Óɸø×â»§1µÄĬÈÏÍø¹Ømac3/ip3£¬ÔÙ×ösnatת»»£¬×îºó½«°ü´«µÝ¸øvm1£¬×¢Òâ°ü´«µÝ¹ý³ÌÖУ¬ÆäÄÚÍâ²ãmacµØÖ·ºÍipµØÖ·µÄת»»¡£

Linux bridge + vxlan computer node
and network node


ÓÐÁËovsµÄ»ù´¡£¬Àí½âbridgeµÄ½á¹¹¾Í¼òµ¥¶àÁË£¬¿ÉÊÇ×÷ÕßÔÚÓÃrdo´î½¨bridge
+ vxlanµÄ»·¾³Ê±£¬Óöµ½·Ç³£¶àÎÊÌ⣺
1.rdo°²×°linuxbridge£¬Ðè¸Ä¶¯neutron_350.py
create_l3_manifestsº¯Êý£»
2.ÅäÖÃLinuxbridge + vxlan»·¾³£¬computer node
network node£¬Æälinuxbridge_conf.iniÅäÖÃÏîenable_vxlan¡¢vxlan_group¡¢local_ipÒ»¶¨Òª¼ÓÒÔÅäÖ㬷ñÔòbridge¡¢vxlanÉ豸Ôò²»ÄÜÕýÈ·´´½¨£¬ÐéÄâ»úÒ²ÎÞ·¨´´½¨£»
3.¶ÔÓÚLinuxbridge + vxlan»·¾³£¬network nodeÐëÒª2¿éÍø¿¨£¬Ò»¸öÄÚÍø¡¢Ò»¸öÍâÍø£¬Ò»¸öÓÃÓÚdhcp£¬Ò»¸öÓÃÓÚfloating
ipÍâÍøÔLÎÊ£¬Õâ¸öÊDZØÐëµÄ£¬·ñÔò¶þÕß¹¦Äܽö½öÄÜÈ¡ÆäÒ»£¬¿ÉÊÇÔڴovs»·¾³Ê±£¬È´Ã»ÓÐÕâ¸öÎÊÌ⣬·Ç³£Ææ¹Ö£»
4.network nodeÐëÒªÊÖ¹¤´´½¨Ò»¸öbr-ex£¬ÓÃÓÚÍâÍøÔLÎÊ£»
5.×î¹îÒìµÄÊÇ£¬»·¾³´î½¨Íê±Ï³õʼ״̬£¬network nodeÉÏ£¬¸÷tapÉ豸°ó¶¨µÄbridgeÈ«ÊÇ´íÎóµÄ£¬ÐëÒªÊÖ¶¯¸Ä¶¯£»
6.ÐëÒª¸Ä¶¯vm mtuÖµ£¬·ñÔòvmÖ®¼äͨÐÅЧÂʺܲ
×éÍø·½Ê½
µäÐ͵Ä×éÍø·½Ê½°üº¬nova-networkµÄdhcpflat¡¢vlan£¬neutronµÄbridge
+ vlan¡¢bridge + vxlan¡¢ovs + vlan¡¢ovs + vxlan£¬ÆäÑ¡ÔñÉÏÄܹ»´Ó3¸öά¶ÈÀ´¿´£¬nova-networkºÍneutronµÄÑ¡Ôñ¡¢ÍøÂçÍØÆËflat¡¢vlan¡¢gre¡¢vxlanµÄÑ¡Ôñ¡¢²å¼þLinux
bridgeºÍovsµÄÑ¡Ôñ¡£
nova-networkºÍneutronµÄÑ¡Ôñ£º
1.nova-network£ºÎȶ¨£¬½á¹¹¼òµ¥£¬µ«ÑÛϽöÖ§³Ölinux bridgeÒ»ÖÖ²å¼þ£»
2.neutron£ºÄܹ»Ö§³Öbridge¡¢ovsµÈÖÚ¶à²å¼þ£¬²¢ÇÒͨ¹ýml2¼¼ÊõÄܹ»ÊµÏÖÖÚ¶à²å¼þ»ìºÏʹÓã¬ÒýÈëopenflowµÈsdn¼¼Êõ£¬ÊÇ¿ØÖÆÂß¼ºÍÎïÀíÍøÂçÏà¸ôÀë¡£µ«neutronÑÛÏÂ×î´óµÄÎÊÌâÊÇÎȶ¨ÐÔ£¨±ÈÈç´´½¨¹ý¶àµÄvm£¬host»áÎÞ¹ÊÖØÐÂÆô¶¯£¬neutron·þÎñ»áÎÞ¹Êdownµô£¬floating
ipÎÞ·¨Õý³£Êͷŵȣ¬ÕâЩÎÊÌâÑÛ϶¼ÔÚ²éÕÒÔÒò£¬ÉÐδ½â¾ö£©£¬²¢ÇÒiec house°æ±¾ºÅ²»Ö§³Önetwork
muti-host²¿Ê𣨾Ý˵juno°æ±¾ºÅÖ§³Ö£¬½ÓÏÂÀ´´î½¨¸ö»·¾³Ñо¿Ò»Ï£©
½áÂÛ£ºÎ´À´µÄopenstack£¬neutron×é¼þ»áÊÇÆäÇ÷ÊÆ£¬nova-network»á½¥½¥±»Ìæ»»µô£¬¿ÉÊÇÔÚδ½â¾öÆäÎȶ¨ÐÔºÍnetwork
node haÎÊÌâ֮ǰ»¹²»ÊÊÓÃÓÚÏßÉÏ»·¾³¡£
ÍøÂçÍØÆËflat¡¢vlan¡¢gre¡¢vxlanµÄÑ¡Ôñ£º
1.flat£º ģʽ¼òµ¥£¬µ«Óй㲥·ç±©µÄ·çÏÕ£¬²»ÊÊÓÚ´ó¹æÄ£²¿Êð£¨Ò»Ç§Ì¨vm£¿£©£»
2.vlan£ºÄܹ»¸ôÀë¹ã²¥·ç±©£¬µ«ÐëÒªÅäÖÃÎïÀí½»»»»úchunk¿Ú£»
3.gre£ºÄܹ»¸ôÀë¹ã²¥·ç±©£¬²»ÐëÒª½»»»»úÅäÖÃchunk¿Ú£¬ ¹¥¿ËÁËvlan
id¸öÊýÏÞÖÆ£¬3²ãËíµÀ¼¼ÊõÄܹ»ÊµÏÖ¿ç»ú·¿²¿Êð¡£µ«greÊǵã¶Ôµã¼¼Êõ£¬Ã¿Á½¸öµãÖ®¼ä¶¼ÐëÒªÓÐÒ»¸öËíµÀ£¬¶ÔÓÚ4²ãµÄport×ÊÔ´ÊÇÒ»ÖÖÀË·Ñ£»
4.vxlan£ºÄܹ»¸ôÀë¹ã²¥·ç±©£¬²»ÐëÒª½»»»»úÅäÖÃchunk¿Ú£¬ ¹¥¿ËÁËvlan
id¸öÊýÏÞÖÆ£¬¹¥¿ËÁËgreµã¶ÔµãËíµÀ¸öÊý¹ý¶àÎÊÌ⣬ʵÏÖÁË´ó2²ãÍøÂ磬¿ÉÓÃÓÚvmÔÚ»ú·¿Ö®¼äµÄµÄÎÞ·ìÇ¨ÒÆ£¬±ãÓÚ¿ç»ú·¿²¿Êð¡£Î¨Ò»µÄȱµã¾ÍÊÇvxlanÌí¼ÓÁËipÍ·²¿´óС£¬ÐëÒª¼õÉÙvmµÄmtuÖµ£¬´«ÊäЧÂÊÉÏ»áÂÔÓÐϽµ¡£
½áÂÛ£º¼ÙÉè²»ÐëҪͨ¹ý´ó¶þ²ãÍøÂçʵÏÖ¿ç»ú·¿²¿Êð£¬Äܹ»Ñ¡Ôñvlan£¬¼ÙÉèÉæ¼°µ½¿ç»ú·¿²¿Êð£¬ÐëÒª´ó¶þ²ãµÄͨÐÅ·½Ê½£¬Ñ¡Ôñvxlan¡£
Linux bridgeºÍovsµÄÑ¡Ôñ£º
ÕâÁ½ÖÖ²å¼þÊÇÑÛÏÂÒµ½çʹÓÃ×î¶àµÄ£¬·Ç¹Ù·½Í³¼Æ£¨Õª×Ôhttp://wenku.it168.com/d_001350820.shtml£©
¶þÕßÔÚÖÚ¶à²å¼þʹÓ÷ݶîÊÇ£¬Linux bridge31%¡¢ovs 39%
1.Linux bridge£ºÀúÊ·ÓÆ¾Ã£¬Îȶ¨ÐÔÖµµÃÐÅÀµ£¬¿ÉÊǵ±vm¸öÊý¹ý¶à£¬¶þ²ã½»»»³öÏÖ¹ÊÕÏʱ£¬ÑÛÏÂûÓÐÌØ±ðºÃµÄ¶¨Î»ÊֶΡ£
2.ovs£ºÄܹ»Õë¶Ôÿһ¸övm×öÁ÷Á¿ÏÞÖÆ¡¢Á÷Á¿¼à¿Ø¡¢Êý¾Ý°ü·ÖÎö£¬Í¬Ò»Ê±ºòÄܹ»ÒýÈëopenflow£¬ÒýÈësdn
controller£¬Ê¹¿ØÖÆÂß¼ºÍÎïÀí½»»»Ïà·ÖÀ룬¶øÇÒsdn controllerÄܹ»ÊµÏÖvxlanµÄ¿ç»ú·¿´ó¶þ²ãͨÐÅ£¬¿ÉÊÇÒµ½çÆÕ±é¾õµÃÆäÐÔÄÜÊǸö´óÎÊÌâ¡£
½áÂÛ£º¹ØÓÚovsµÄÐÔÄÜÎÊÌ⣬»¹ÐëÒª´óÁ¿ÏßÉÏœyÊÔ£¨Õⲿ·Ö¹¤×÷£¬×÷ÕßÕýÔÚ×ö£¬Ï£Íû¾¡¿ì¸ø³öÁ¿»¯Ö¸±ê£©£¬ËùÒÔÔÚδȷ¶¨ovsÐÔÄÜÊÇ·ñ´ïµ½ÎÒÃÇÒªÇó֮ǰ£¬½¨ÒéʹÓÃLinux
bridge¡£
¹Ù·½ÍƼöµÄ×éÍø·½Ê½£º
ͨ¹ý²éÔÄopenstack¹Ù·½Îĵµ£¬Æä¸üÇãÏòÓÚbridge+vlanºÍovs+vlan
˽ÓÐÔÆºÍ¹«ÓÐÔÆµÄ×éÍø²îÒ죺
¹«ÓÐÔÆÆävm¸öÊý¾Þ´ó£¬¼¸Ê®Íò¡¢¼¸°ÙÍòµÄÊýÁ¿¼¶£¬Éæ¼°¿ç»ú·¿²¿Êð£¬ÐëÒª´ó¶þ²ãͨÐÅ»úÖÆ¡£Ë½ÓÐÔÆÆävm¸öÊýÏà¶ÔÓÐÏÞ£¬¼¸Ç§¡¢¼¸ÍòµÄÊýÁ¿¼¶£¬Äܹ»ÔÚÿһ¸ö»ú·¿µ¥¶À²¿ÊðÒ»Ì×openstack»·¾³£¬´ó¶þ²ãͨÐŵÄÐèÇóÏà¶ÔÈõһЩ¡£
|