Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
³©Ì¸Êý¾ÝÖÐÐÄÍøÂçÔËά×Ô¶¯»¯
 
  2030  次浏览      30
 2018-6-22 
 
±à¼­ÍƼö:
±¾ÎÄÀ´Ô´Î¢ÐÅ£¬½éÉÜÁËCLI £¬Netconf£¬°²È«´«Êä²ã£¬ÏûÏ¢²ã£¬²Ù×÷²ã£¬ÄÚÈݲ㠣¬NAPALMµÈ֪ʶ¡£

Êý¾ÝÖÐÐÄÍøÂçÔËά×Ô¶¯»¯¸ÃÔõô×ö£¿

Ê×ÏÈ£¬ÈÃÎÒÃǼÙÏëÒ»¸ö³¡¾°£º

ÓÉÓÚÒµÎñ·¢Éú±ä¸ü£¬ÐèҪΪһ¸ö POD ÀïÃæµÄ¼¸Ê®Ì¨½»»»»úÐÞ¸Ä QoS ÅäÖá£×÷ÎªÍøÂçÔËάÈËÔ±£¬Ó¦¸ÃÔõÑù´¦ÀíÕâÏ×÷ÄØ£¿

Èç¹ûÐèÒª±ä¸üµÄ¶ÔÏóÊÇÕû¸öÊý¾ÝÖÐÐŲ̀ÉõÖÁ¼¸Ç§Ì¨½»»»»ú£¬ÓÖ¸ÃÔõÑù´¦ÀíÕâÏ×÷ÄØ£¿

µ±Ï£¬»¥ÁªÍøÐÐÒµÒѾ­ÆÕ±é²ÉÓà DevOps µÄÌåϵÁ÷³Ì¡£¿¿ÈËÁ¦È¥Ò»Ì¨É豸һ̨É豸µÄ¸ü¸ÄÅäÖã¬ÒѾ­²»ÔÙÊÇÕýÈ·µÄ˼ά·½Ê½¡£Ô­Òò²»½ö½öÊÇÀË·Ñʱ¼ä ¡ª¡ª ÒªÖªµÀ£¬ÈËÈç¹ûÒª³¤Ê±¼ä±£³Ö×¢ÒâÁ¦¼¯ÖУ¬´óÄÔÐèÒªºÄ·Ñ´óÁ¿µÄÄÜÁ¿£¬ºÜÄѱ£Ö¤²»³öÏÖÒÅ©»òÕß´íÎó¡£¶ø»úÆ÷È´²»»á¡£

Òò´Ë£¬ÕýÈ·µÄ·½·¨ÊÇÀûÓà DevOps µÄÁ÷³Ì£¬ÈûúÆ÷À´Íê³ÉÕâÏ×÷¡£ÀýÈç²ÉÓûùÓÚ Python µÄ SSH ¿â Paramiko »ò Netmiko£¬ÒÔ¼° Ansible »ò SaltStack µÈ×Ô¶¯»¯¹¤¾ß±àдÔËά½Å±¾¡£

Netmiko ¿âºÍ Ansible µÈÔËά¹¤¾ßËäÈ»¿ÉÒÔͨ¹ý³ÌÐò»¯µÄ½Å±¾¶ÔÍøÂçÉ豸ʵÏÖÅúÁ¿¹ÜÀí£¬µ«ÈÔÈ»ÐèÒªÔËά¹¤³Ìʦ¶ÔÍøÂçÉ豸µÄ CLI ºÜÊìϤ£¬Ô¤ÏÈÔڽű¾Öн¨Á¢ÐèÒª±»Ö´ÐÐµÄ Command ÁÐ±í¡£

CLI

CLI ×î´óµÄÎÊÌâ¾ÍÊÇÔÚ²»Í¬³§É̵ÄÉ豸֮¼ä£¬ÉõÖÁÔÚ²»Í¬°æ±¾Ö®¼ä´æÔڽϴó²îÒì¡£±ÈÈçÔÚij C ³§É̽»»»»úÉÏÅäÖñßÔµ¶Ë¿Ú£¬²»Í¬µÄ OS °æ±¾ÃüÁî²¢²»Ïàͬ£º

¶ø¶ÔÓÚÁíһЩ³§ÉÌ£¬ÅäÖÃÃüÁîÔò²îÒì¸ü´ó¡£ÀýÈçÔÚij E Æ·ÅÆ ½»»»»úÉÏÅäÖñßÔµ¶Ë¿ÚµÄÃüÁîΪ£º

ÕâÒâζ×Å£ºÈç¹ûÉ豸°æ±¾Éý¼¶£¬¾Í¿ÉÄÜÐèÒª¸ü¸ÄÔËά½Å±¾µÄ´úÂ롣ΪÁ˱ÜÃâ³§Ḛ́󶨣¬ÍøÂçÄÚͨ³£Ò²»áͬʱ´æÔÚ¶à¸ö³§É̵ÄÉ豸£¬ÏàÓ¦µØ£¬Ò²¿ÉÄÜÐèҪ׼±¸¶àÖÖÔËά½Å±¾»òÕßÈÃÔËά½Å±¾±äµÃºÜ¸´ÔÓ ¡ª¡ª ÏÈÅжÏÉ豸ÐͺźͰ汾ºÅ£¬ÔÙÔËÐÐÏàÓ¦µÄ Command-list¡£

ËùÒÔ CLI ²¢²»ÊʺÏÓÃÀ´×÷ΪһÖÖ API¡£ËäÈ»²ÉÓÃ×Ô¶¯»¯¹¤¾ß´¦Àí Commands ¿ÉÒÔ½ÚÊ¡ÍøÂçÔËάÈËÔ±µÄ¹¤×÷Á¿£¬µ«ÊǼ¼ÊõÃż÷ºÍά»¤³É±¾¶¼±È½Ï¸ß¡£SNMP ËÆºõÊÇÒ»ÖÖ¸üºÃµÄÑ¡Ôñ¡£

SNMP Overview

SNMP µÄÀúÊ·ºÜÓÆ¾Ã£¬µÚ 1 ¸öÓëÖ®Ïà¹ØµÄ RFC 1065 ·¢²¼ÓÚ 1988 Ä꣬¾à½ñÒÑÓÐ 30 Äê¡£ÔÚ SNMP ¼Ü¹¹ÖУ¬Ò»¸öÍøÂçÉ豸ÒÔÊØ»¤½ø³ÌµÄ·½Ê½ÔËÐÐ SNMP Agent£¬¶ø NMS£¨ÍøÂç¹ÜÀíϵͳ£©ºÍÍøÂçÔËάÈËÔ±ËùʹÓõĸ÷ÖÖ SNMP ¹ÜÀí¹¤¾ßÔò³ÆÎª SNMP Manager¡£SNMP Agent Äܹ»ÏìÓ¦À´×Ô SNMP Manager µÄ¸÷ÖÖÇëÇóÐÅÏ¢¡£

SNMP Agent »áά»¤Ò»¸ö MIB£¨¹ÜÀíÐÅÏ¢¿â£©£¬ÀïÃæ±£´æ×Å´óÁ¿µÄ OID £¨¶ÔÏó±êʶ·û£©¡£Ò»¸ö OID ÊÇÒ»¶ÔΨһµÄ Key-Value£¬SNMP Manager Ïò SNMP Agent ²éѯ»òÐÞ¸ÄÈô¸É KeyËù¶ÔÓ¦µÄ Value£¬¾Í¿ÉÒÔʵÏÖÐÅÏ¢²É¼¯»òÕßÍøÂçÉ豸µÄÅäÖÃÐ޸ġ£

MIB-Example

ÉÏͼÊÇÒ»¸ö MIB ʾÀý£¬Çë×¢Òâ±ê»ÆÉ«µÄ²¿·Ö¡£OID 1.3.6.1.2.1.2.2.1.5 ÓÃÀ´ÒÔ bps Ϊµ¥Î»ÆÀ¹À½Ó¿ÚÁ÷Á¿£¬ËüÊôÓÚ RFC 1213 ±ê×¼ MIB£¬Ãû³ÆÎª ifSpeed£¬Ö»¶Á¡£ÒòΪÕâ¸ö MIB ²¢²»ÊÇÎÒ´ÓÕýÔÚÔËÐеÄÉ豸ÉÏÈ¡ÏÂÀ´µÄ£¬ËùÒÔµ±Ç°µÄ Value Ϊ¿Õ¡£

ÐèҪעÒâµÄÊÇ£¬SNMP Manager ²àµÄ MIB ²¢²»ÊDZØÐèµÄ¡£Èç¹ûʹÓÃÊý×Ö OID 1.3.6.1.2.1.2.2.1.5£¬SNMP Manager ¿ÉÒÔÖ±½Ó´Ó SNMP Agent get½Ó¿ÚÁ÷Á¿´ø¿í£¬¶ø²»ÐèÒª°²×°ÍêÕûµÄ MIB¡£

ÏÖÔÚ SNMP ÔÚÍøÂç¼à¿ØÁìÓòÒѾ­±»¹ã·ºÊ¹Óã¬ÀûÓà Zabbix¡¢Nagios¡¢Cacti µÈ¿ªÔ´µÄ SNMP ¹ÜÀí¹¤¾ß²É¼¯ÍøÂçÉ豸½Ó¿ÚÁ÷Á¿´ø¿íºÍÆäËûÉ豸ÐÅÏ¢£¬Í¬Ê±Ò²ÓдóÁ¿µÄ»ùÓÚ Python µÄ SNMP ¿âÓÃÀ´ÊµÏÖÔËά¿ª·¢£¬ÀýÈç PySNMP¡¢ EasySNMP¡¢ Net-SNMPµÈµÈ£¬²¢ÇÒËüÃǶ¼¿ÉÒÔ¼¯³Éµ½ Ansible ºÍ SaltStack µÈ×Ô¶¯»¯ÔËά¹¤¾ßÉÏ¡£

¿´ÉÏÈ¥»¹²»´í£¬µ«Êµ¼ÊÉÏ SNMP ÈÔÈ»²»ÊÇÒ»¸öºÏÊ浀 API£¬ÒòΪËü´æÔÚ¼¸¸öÎÊÌ⣺

Ì«¹ÅÀÏ£¬²¢·¢ÐÔÄܲ»ºÃ ;

»ùÓÚ UDP ЭÒé´«Ê䣬±È½Ï²»¿É¿¿¡£ËäÈ»ÔÚÓ¦ÓòãÓÐ Response »úÖÆ±£Ö¤¶ª°üÖ®ºóµÄÖØ¸´ get/ set£¬µ«´ú¼Û¾ÍÊÇÐÔÄܺÍÔËÐÐʱ¼ä¶¼Êܵ½Ó°Ï죻

×îÖÂÃüµÄÎÊÌâÊÇ£¬¸÷³§É̶¼´óÁ¿µÄʹÓÃ˽ÓÐ MIB£¬È´²»´æÔÚÒ»¸ö¿ÉÒÔ×Ô¶¯·¢ÏÖÍøÂçÉ豸µ±Ç°Ëù²ÉÓÃµÄ MIB µÄ»úÖÆ¡£ÍøÂçÔËάÈËÔ±±ØÐë·Ö±ðÏòÉ豸³§ÉÌË÷È¡ÍøÂçÉ豸µÄ MIB£¬ºÄ·Ñ´óÁ¿µÄʱ¼äÕûÀí×Ô¼ºÐèÒªµÄ OID£¬ÔÙÊÖ¹¤µ¼Èëµ½×Ô¶¯»¯ÔËάƽ̨»òÕ߽ű¾µ±ÖС£

ËùÒÔ SNMP ÈÔȻֻÊʺÏÓÃÀ´×öÐÅÏ¢²É¼¯£¬Ìṩ¸æ¾¯ºÍ¿ÉÊÓ»¯±¨±í£¬µ«×Ô¶¯»¯ÔËάµÄ API ÔòÐèÒª¿¼ÂÇÆäËûµÄÑ¡Ïî¡£Õ¾ÔÚÍøÂçÔËάÈËÔ±µÄ½Ç¶È£¬Õâ¸ö API Ó¦¸ÃÂú×ãÒÔÏÂÒªÇó£º

ÈÝÒ×ʹÓà ¡ª¡ª Usability ÊÇËùÓвúÆ·µÄºËÐļÛÖµ£»

ÐèÒªÄܹ»ÇåÎúµØÇø·Ö¡°ÅäÖÃÊý¾Ý¡±£¬¡°É豸ÔËÐÐ״̬Êý¾Ý¡±ºÍ¡°Í³¼ÆÊý¾Ý¡±£»

ÐèÒªÄܹ»·Ö±ð´Ó¸÷¸öÍøÂçÉ豸»ñÈ¡ÉÏÊö 3 ÖÖÊý¾Ý£¬²¢ÇÒ¿ÉÒÔ·½±ãµØ¶Ô±È²»Í¬É豸µÄÊý¾Ý£»

¿ÉÒÔÈÃÍøÂçÔËάÈËÔ± ͳһµØ ¹ÜÀíÕû¸öÍøÂçµÄËùÓÐÉ豸£¬¶ø²»ÊÇһ̨һ̨µÄµ¥¶À¹ÜÀí£»

¶Ô²»Í¬³§É̵ÄÉ豸¶¼Äܹ»Ê¹ÓÃͬһÖÖÅäÖ÷½·¨£»

ÅäÖñä¸ü¶ÔÍøÂçÒµÎñµÄÓ°ÏìÒª¾¡¿ÉÄܵÄС£»

Äܹ»Ìṩһ¸ö±ê×¼»¯µÄ£¬¶ÔÉ豸 Pulling ºÍ Pushing ÅäÖÃÎļþµÄÁ÷³Ì£¬ÒÔÂú×ã¶ÔÉ豸ÅäÖõı¸·ÝºÍ»Ö¸´µÄÒµÎñÐèÇó£»

Äܹ»ºÜ·½±ãµØ£¬³ÖÐøµØ£¬¼ì²éÉ豸ÅäÖÃÎļþµÄÒ»ÖÂÐÔ£»

Äܹ»Ìṩ»ùÓÚÎı¾µÄÅäÖ÷½Ê½£¬²¢ÇÒ²»»áµ¼ÖÂÅäÖõÄÂÒÐò£¬ÀýÈç²»ÄܽÁÂÒ ACL ¹æÔòµÄ˳Ðò¡£

Äܹ»Âú×ãÕâЩҪÇóµÄÍøÂçÉ豸µÄ±±Ïò API ½Ó¿Ú¾ÍÊÇ Netconf¡£

Netconf

Netconf ÊÇ IETF ·¢²¼µÄ±ê׼ЭÒ飬ËüµÄÈ«³ÆÊÇ Network Configuration Protocal¡£´ÓÃû×־ͿÉÒÔ¿´³öÀ´£¬Netconf µÄ×÷ÓÃÊÇ»ùÓÚÍøÂçÀ´°²×°¡¢²Ù×÷ºÍɾ³ýÉ豸µÄÅäÖá£ÔÚ Netconf µÄ¼Ü¹¹ÖУ¬ÍøÂçÉ豸³äµ± Netconf Server µÄ½ÇÉ«£¬¶øÔËάÈËÔ±µÄÕâÒ»²àÔòÊÇ Netconf Client¡£´ËÍ⣬ºÍ OSI ±ê׼ģÐÍÒ»Ñù£¬Netconf Ò²ÊÇ·Ö²ã½á¹¹¡£

Netconf 4 Layers

ËüÓÐ 4 ¸ö²ã´Î£¬´Óϵ½ÉÏÒÀ´ÎΪ£º

°²È«´«Êä²ã

°²È«´«Êä²ãÔÚ Netconf Client ºÍ Netconf Server Ö®¼äÌṩ°²È«µÄ¶Ëµ½¶ËÁ¬½Ó¡£Óë SNMP ²ÉÓ÷ÇÃæÏòÁ¬½ÓµÄ UDP ЭÒ鲻ͬ£¬Netconf ²ÉÓÃÃæÏòÁ¬½ÓµÄ TCP ЭÒ飬ͨ³£ÊÇ SSH ЭÒ飬±£Ö¤Á¬½ÓµÄ¿É¿¿ÐԺͰ²È«ÐÔ¡£

ÏûÏ¢²ã

ÏûÏ¢²ãÒ²³ÆÎª RPC£¨Ô¶³Ì¹ý³Ìµ÷Ó㩲㡣Netconf Server£¨ÍøÂçÉ豸£©ÉÏÃæ²¿ÊðÁË Netconf Ó¦Óã¬Netconf Client ÐèÒªµ÷Óà Server ÉϵÄÓ¦ÓÃËùÌṩµÄº¯Êý / ·½·¨£¬µ«ÓÉÓÚ Client ºÍ Server ²»ÔÚͬһ¸öÄÚ´æ¿Õ¼ä£¬ÎÞ·¨Ö±½Óµ÷Óã¬ËùÒÔÐèҪͨ¹ýÍøÂçÀ´±í´ïµ÷ÓõÄÓïÒ壬²¢´«´ïµ÷ÓõÄÊý¾Ý¡£Õâ¸ö¹ý³Ì£¬³ÆÎª RPC¡£ËüÌṩÁËÒ»¸ö¼òµ¥µÄ£¬Ó밲ȫ´«Êä²ãÎ޹صĻúÖÆÀ´·â×°²Ù×÷²ãºÍÄÚÈݲãµÄÊý¾Ý£º

RPC µ÷Óãº<rpc>ÔªËØËù·â×°µÄÏûÏ¢£»

RPC ½á¹û£º<rpc-reply>ÔªËØËù·â×°µÄÏûÏ¢£»

ʼþ֪ͨ£º<notification>ÔªËØËù·â×°µÄÏûÏ¢¡£

²Ù×÷²ã

²Ù×÷²ã¶¨ÒåÁËÈçͼËùʾµÄ 9 ÖÖ»ù´¡²Ù×÷¼¯£¬ÆäÖУº

<get>¡¢ <get-config>ÓÃÀ´¶ÔÉ豸½øÐÐȡֵ²Ù×÷£»

<edit-config>¡¢ <copy-config>¡¢ <delete-config> ÓÃÓÚÅäÖÃÉ豸²ÎÊý£»

<lock> ºÍ <unlock> ÊÇÔÚ¶ÔÉ豸½øÐвÙ×÷ʱ£¬Îª·ÀÖ¹²¢·¢²úÉú»ìÂÒµÄËøÐÐΪ£»

<close-session>ºÍ <kill-session>ÓÃÓÚ½áÊøÒ»¸ö»á»°²Ù×÷¡£

ÄÚÈݲã

¹ËÃû˼Ò壬ÄÚÈݲã¾ÍÊÇÓÃÀ´±í´ïÅäÖÃÊý¾ÝºÍ״̬Êý¾Ý£¬ÍøÂçÔËάÈËÔ±Ö»ÐèÒª¹Ø×¢Êý¾Ý±¾Éí£¬¶ø²»ÐèҪȥ¹Ø×¢É豸µÄÏà¹ØÃüÁî¡£»ù´¡ÍøÂçÉ豸ÔÚÄÚÈݲãËù²ÉÓõÄÊý¾Ý¸ñʽͨ³£ÊÇ XML£¬µ«Ò²Óг§É̵ÄÊý¾Ý¸ñʽ²ÉÓÃÁË JSON¡£

ËäÈ»ÍøÂçÔËάÈËÔ±²»ÔÙÐèÒª¹Ø×¢É豸µÄÏà¹ØÃüÁîÁË£¬µ«ÈÔÈ»ÎÞ·¨Ö±½ÓʹÓà Netconf ÅäÖÃÉ豸£¬»¹ÐèÒª¿¼ÂÇ ÅäÖýṹ¡£

ʲô½Ð¡°ÅäÖýṹ¡±ÄØ£¿

¼ÙÈçÎÒÃÇÏÖÔÚÒª½«½»»»»úµÄ 10# ¶Ë¿Ú»®Èë VLAN 20¡£R ³§µÄ½»»»»úÐèÒªÔÚÎïÀí¶Ë¿ÚģʽÏÂÅäÖãº

¶ø H ³§½»»»»úÈ´ÐèÒªÔÚ VLAN Âß¼­¶Ë¿ÚģʽÏÂÅäÖãº

´ÓÉÏÃæÁ½¸öÅäÖÃʾÀý¿ÉÒÔ·¢ÏÖ R ³§½»»»»úºÍ H ³§½»»»»úµÄÅäÖýṹÓÐÃ÷ÏÔ²îÒ죬ËùÒÔÎÞ·¨Ö±½ÓʹÓà XML »òÕß JSON ÐÞ¸ÄËüÃǵÄÉ豸ÅäÖá£

ΪÁ˽â¾öÅäÖýṹµÄÎÊÌ⣬ÐèÒª½« XML ºÍ JSON Êý¾Ý¸ñʽ³éÏó³ÉÒ»¸öͳһµÄ±ê×¼µÄÄ£ÐÍ£¬Õâ¾ÍÊÇ YANG¡£YANG µÄÈ«³ÆÊÇ Yet Another Next Generation£¬Ã»ÓÐÇ¡µ±µÄÖÐÎÄÀ´·­ÒëËü¡£Í¨Ë׵Ľ²£¬YANG ÊDZí´ï Netconf Ëù²Ù×÷µÄÅäÖÃÊý¾ÝºÍ״̬Êý¾ÝµÄÄ£°å£¬ËüÃèÊöʲô²ÅÊÇ·ûºÏÉ豸ÆÚÍûµÄÊý¾Ý¡£ÓÐÁË YANG Model£¬ÅäÖýṹ¾Í½»¸øËüÈ¥´¦Àí£¬ÍøÂçÔËάÈËÔ±¾ÍÖ»ÐèÒª×öÒ»¸öÍêÐÎÌî¿Õ¼´¿É¡£

Ìî¿ÕµÄÌâÄ¿´ó¸ÅÊÇÕâÑù×ӵģº

Ìî¿ÕÌâµÄ´ð°¸´ó¸ÅÊÇÕâÑù×ӵģº

Õâ¸ö¹ý³ÌÔÚÂß¼­ÉÏ£¬ÓëÏò SNMP µÄ OID Ìî³ä / ¶ÁÈ¡ Value ²î²»¶à¡£

Netconf ºÍ YANG Model µÄ³öÏÖ£¬ÎªÍøÂç×Ô¶¯»¯´øÀ´Á˼«´óµÄ±ãÀû¡£ÅäºÏ×Ô¶¯»¯µÄ³ÌÐò£¬¿ÉÒÔʵÏÖ¶¯Ì¬ÏòÍøÂçÉ豸Ï·¢ÅäÖ㬽«Êý¾ÝÃæºÍ¿ØÖÆÃæ·ÖÀ룬×é³ÉÈí¼þ¶¨ÒåµÄÍøÂç¡£ÊÂʵÉÏ£¬Netconf Ò²ÊÇ OpenDayLight µÈ¿ªÔ´ SDN Controller Ëù¹ã·ºÊ¹ÓõÄÄÏÏò½Ó¿ÚÖ®Ò»¡£ ´ËÍ⣬Ansible Ò²¼¯³ÉÁË Netconf µÄ Module£¬²¢ÇÒ¿ÉÒÔͨ¹ý Python À´À©Õ¹ ncclientºÍ nxpyµÈ¿â£¬ÊµÏÖ¹¦ÄÜÀ©Õ¹¡£

µ« Netconf ¾ÍÊÇÎÒÃÇÔÚѰÕÒµÄÀíÏëµÄ API Âð£¿

Õ¾ÔÚÍøÂçÔËάÕߵĽǶȣ¬´ð°¸È´ÊÇ·ñ¶¨µÄ¡£

Ô­ÒòÔÚÓںܶ೧ÉÌËäȻ֧³Ö Netconf£¬µ«ÓÐһЩ Key-Value È´´æÔÚ²îÒì¡£±ÈÈçΪÁ˱í´ï¡°¶Ë¿Ú¡±£¬ÓÐЩ³§ÉÌÓÃintf×÷Ϊ Key£¬µ«ÁíÍâһЩ³§ÉÌÈ´Óà interface×÷Ϊ Key¡£ÁíÒ»¸öÀý×Ó¾ÍÊÇ Uptime£¬É豸ÔËÐÐʱ¼ä£¬¸÷¼Ò³§É̵ÄÉ豸·µ»ØµÄʱ¼ä¸ñʽ¸üÊÇÎ廨°ËÃÅ¡£ÕâÎªÍøÂçÔËάÈËÔ±´¦ÀíÊý¾ÝµÄ¹¤×÷Ôì³ÉÁ˺ܴóµÄÂé·³£¬²»µÃ²»ºÄ·Ñ´óÁ¿µÄʱ¼äºÍ¾«Á¦È¥ÔĶÁÉ豸³§ÉÌµÄ Netconf Îĵµ£¬È¥±àд´óÁ¿µÄÕýÔò±í´ïʽ¡£

»¹ÓУ¬ËäÈ»Ö÷Á÷µÄ SDN Controller µÄÄÏÏò½Ó¿Ú¶¼Ö§³Ö Netconf£¬µ«ÊÇÔÚʵ¼Ê²¿Êðʱ£¬ºÜÉÙÄÜÓõ¥Ò»µÄ Controller È¥¿ØÖƶ೧É̵ÄÍøÂçÉ豸¡£Í¨³£¶¼ÊǸ÷¸ö³§ÉÌʹÓÃ×Ô¼ºµÄ SDN Controller ¿ØÖÆ×Ô¼ºµÄÉ豸£¬È»ºóÔÙÓà REST API ÓëÓû§µÄ SDN Controller ¶Ô½Ó¡£

¶à¿ØÖÆÆ÷¼Ü¹¹

ÉÏÎÄËùÌáµ½µÄÍøÂçÔËάÈËÔ±Ëù¹ØÐÄµÄ 9 ´óÎÊÌ⣬Netconf ¼¸ºõ¶¼ÄÜÂú×㣬µ«¾àÀë ÍêÈ« Âú×㻹ÓÐһЩ²î¾à¡£

ÓÐÒ»¸ö½â¾ö°ì·¨£¬¾ÍÊÇÀûÓà NAPALM¡£

NAPALM

NAPALM ÊÇÒ»¸ö Python ¿â£¬ËüµÄÈ«³ÆÊÇ Network Automation and Programmability Abstraction Layer with Multivendor support£¬¶à³§ÉÌÖ§³ÖµÄÍøÂç×Ô¶¯»¯ºÍ¿É±à³Ì³éÏó²ã¡£

Ŀǰ Ansible ¼¯³ÉÁË 3 ¸ö NAPALM Ä£¿é£¬·Ö±ðÊÇ£º

napalm_parse_yang£ºÓÃÓÚ´ÓÉ豸»òÎļþÖнâÎöÅäÖà / ״̬Êý¾Ý£»

napalm_diff_yang£ºÓÃÓÚ±È½Ï 2 ¸ö YANG ¶ÔÏóµÄ²îÒ죻

napalm_translate_yang£ºÓÃÓÚ½« YANG ¶ÔÏóתÒë³ÉÉ豸ԭʼµÄÅäÖá£

´ÓÉ豸ȡ³öԭʼÅäÖÃÊý¾Ý / ״̬Êý¾ÝÖ®ºó£¬¿ÉÒÔʹÓà NAPALM ½«Æä·­Òë³É±ê×¼¸ñʽµÄ NAPALM Êý¾Ý¡£·´Ö®£¬Ò²¿ÉÒÔ½«±ê×¼¸ñʽµÄ NAPALM Êý¾Ý·­Òë³ÉÉ豸ԭʼÅäÖÃÊý¾Ý£¬²¢ Push µ½ÍøÂçÉ豸ÀïÃæ£¬ÒÔÐÞ¸ÄÉ豸µÄÅäÖÃÎļþ¡£

Netconf & NAPALM

¶Áµ½ÕâÀҲÐíÄúÒѾ­²Âµ½ÎÒ½«ÒªËµÊ²Ã´ÁË¡­¡­

Êǵģ¬NAPALM »¹ÊDz»Äܳ¹µ×½â¾öÍøÂç×Ô¶¯»¯ËùÃæÁÙµÄÎÊÌâ¡£

ÒòΪ¸÷³§ÉÌ Netconf µÄÊý¾Ý±í´ï´æÔںܶà²îÒ죬ËùÒÔ NAPALM ±ØÐëÒªÒÀÀµµÚÈý·½µÄ Module À´Íê³ÉԭʼÊý¾ÝµÄ½âÎöºÍ·­Òë¡£Èç¹ûÒª½âÎö³§ÉÌ A µÄij¸ö OS ϵͳµÄÅäÖ㬾ÍÐèÒªÒ»¸ö OSA_Module£»Èç¹ûÒª½âÎö³§ÉÌ B µÄij¸ö OS ϵͳµÄÅäÖã¬ÔòÐèÒª OSB_Module¡£ËùÒÔĿǰ NAPALM Ö§³ÖµÄ OS ÀàÐÍ»¹±È½ÏÉÙ£¬½öÏÞÓÚij¼¸¸ö¹úÍâÆ·ÅÆ³§ÉÌµÄ OS ϵͳ¡£

¼´Ê¹ÊÇÕ⼸¸ö¹úÍâÆ·ÅÆ³§ÉÌ£¬NAPALM ĿǰҲÎÞ·¨ÊµÏÖÍêÕûµÄ¹¦Äܼ¯¡£ËùÒÔ Google µÈÍøÂçÉ豸µÄ´óÓû§Ò»Ö±ÔÚÖÂÁ¦ÓÚÍÆ¹ãÒ»¸öÄܹ»Ìæ´ú Netconf µÄ±ê×¼»¯½Ó¿Ú£º OpenConfig¡£

OpenConfig

IETF ÒѾ­Îª Netconf ºÍ YANG Model ·¢²¼Á˺ܶà RFC£¬´Ó 2006 ÄêµÄ Netconf RFC 4741£¬2010 ÄêµÄ YANG Model RFC 6020£¬µ½ÏÖÔÚÒѾ­³¬¹ý 10 Äê¡£¶ø×îеÄÒ»¸ö RFC ÔÚʲôʱºòÄØ£¿¾ÍÔÚ¼¸Ìì֮ǰµÄ 2018 Äê 4 Ô 3 ÈÕ£¬3 ¼ÒÉ豸³§ÉÌÁªºÏÌá½»ÁËÒ»¸ö OSPF YANG Model µÄ²Ý°¸ ¡ª¡ª ±ê×¼»¯µÄ½øÕ¹Ì«ÂýÁË¡£

Ò²Ðí£¬Õâ¾ÍÊÇÎÊÌâËùÔÚ ¡ª¡ª Netconf ±ê×¼ÊÇÓÉÍøÂçÉ豸³§ÉÌÍÆ¶¯µÄ£¬ÄÚºÄÌ«´ó¡£¸÷¸öÉ豸³§É̶¼Ï£ÍûÔÚÈí¼þ¶¨ÒåÍøÂçµÄʱ´ú¼ÌÐø±£³ÖÓ²¼þÉ豸µÄÖØÒªÐÔ£¬²¢ÇÒÄܹ»ÌåÏÖ×Ô¼º¹«Ë¾²úÆ·µÄ²îÒ컯ÓÅÊÆ¡£

µ«ÊÇ´ÓÍøÂçÔËάÕߵĽǶȿ¼ÂÇ£¬ÕâÏÔÈ»²»ºÏÀí£¬ÒòΪÉ豸³§ÉÌËùÍÆ¶¯µÄ Netconf ±ê×¼²¢²»ÊÇËûÃÇÕæÕýÏëÒªµÄ¡£ËùÒÔ Google£¬AT&T£¬British Telecom£¬Facebook£¬Apple£¬Microsoft µÈ»¥ÁªÍø·þÎñÌṩÉ̳ÉÁ¢ÁË OpenConfig ¹¤×÷×飬ϣÍûÌṩһ¸ö ÖÐÁ¢ÓÚÉ豸³§ÉÌ µÄ±ê×¼ API¡£Ä¿Ç°¹úÄÚµÄÌÚѶ¡¢°Ù¶ÈºÍ°¢ÀïµÈ»¥ÁªÍø·þÎñÌṩÉÌÒ²ÒѾ­¼ÓÈëÁË OpenConfig ¹¤×÷×é¡£

OpenConfig ÑØÓÃÁË Netconf µÄЭÒé¿ò¼Ü£¬µ«ÊÇËü²»Ì«¹Ø×¢µ×²ãµÄÊý¾Ý´«Ê䣬¶øÊǸü¹Ø×¢ÉϲãµÄÊý¾Ý±í´ïºÍÊý¾Ý½¨Ä£¡£ÕâÒâζ×Å£º²»¹ÜÊÇ A ³§»¹ÊÇ B ³§£¬ËùÓеÄÊý¾Ý¶¼±ØÐë·ûºÏ OpenConfig YANG Model£¬²¢ÇÒ Key-Value ¶¼±ØÐëÊÇ OpenConfig Ëù¹æ¶¨µÄ ±ê×¼¸ñʽ£¡

OpenConfig µÄÁíÍâÒ»¸öºËÐÄÒªµãÊÇ£ºËäÈ»ÍøÂçÉ豸¿ÉÄÜÖ§³Ö·á¸»µÄ¹¦ÄÜÌØÐÔ£¬ÉõÖÁÊÇÉ豸³§ÉÌ˽ÓеŦÄÜÌØÐÔ£¬µ«ÊÇ OpenConfig Ö»¹ØÐÄÓ뻥ÁªÍøÐÐÒµÓû§Í¨ÓõÄÔËά¹¤×÷ºÍÍøÂçÉè¼Æ¹¤×÷Ïà¹ØµÄ¹¦ÄÜ£¬ÀýÈç BGP¡¢OpenFlow¡¢Telemetry µÈµÈ¡£OpenConfig ²»»áΪÉ豸³§É̵Ä˽ÓÐÌØÐÔ¶¨Òå YANG Model£¬Ò²²»»áΪÉ豸³§ÉÌËùÌØÓÐµÄ Key-Value ×ö¶¨Ò壬ËùÒÔ²»»á³öÏÖ²»¼æÈݵÄÇé¿ö¡£µ«·´¹ýÀ´½²£¬OpenConfig Ò²²»»áΪÁ˼æÈÝijЩÉ豸³§É̶øÈà YANG Model ¹ýÓÚ¼òµ¥£¬ËùÒÔÉ豸³§ÉÌÐèÒªÈÃ×Ô¼ºµÄ¹¦ÄÜÂú×ã OpenConfig YANG Model µÄÒªÇ󣬾߱¸ Model Ëù¶¨ÒåµÄËùÓÐµÄ Key£¬²¢ÇÒÄܹ»ÎªËùÓÐµÄ Key Ìṩ¶ÔÓ¦µÄ Value¡£

ÔÚ Key-Value ¸ñʽ¹Ì¶¨Ö®ºó£¬ÍøÂçÔËάÈËÔ±¶ÔÊý¾ÝµÄ½âÎö¹¤×÷¾Í·Ç³£·½±ãÁË¡£Ö»ÒªÍøÂçÉ豸֧³Ö±ê×¼µÄ OpenConfig YANG£¬NAPALM ¾Í¿ÉÒÔ¶ÔԭʼÊý¾Ý½øÐнâÎö£¬²»ÔÙÒÀÀµµÚÈý·½ Module ¾Í¿ÉÒÔ¹ÜÀí¶à³§É̶à OS µÄÍøÂ磬½ø¶øÊµÏÖÕæÕýµÄÍøÂç×Ô¶¯»¯¡£

OpenConfig & NAPALM

ʹÓà OpenConfig µÄÁíÒ»¸öºÃ´¦¾ÍÊÇ¿ÉÒÔ¼ò»¯ SDN ÍøÂç¼Ü¹¹£¬Óû§Ê¹ÓÃÒ»¸ö¿ØÖÆÆ÷¼¯Èº¾Í¿ÉÒÔͬʱ¿ØÖƶà¸ö³§É̵ÄÍøÂçÉ豸£¬²»ÔÙÐèҪʹÓÃÉ豸³§É̵ÄÉÌÓÿØÖÆÆ÷×öÖм̡£

µ¥¿ØÖÆÆ÷¼Ü¹¹

OpenConfig ¹¤×÷×éÔÚ 2015 ÄêÒѾ­Ïò IETF Ìá½»ÁË 2 ¸ö YANG ±ê×¼²Ý°¸£¬ËäȻĿǰ»¹Ã»Óбê×¼µÄ RFC ·¢²¼£¬µ«ÊÇËüÏÖÒѳÉÎªÍøÂç×Ô¶¯»¯¼¼ÊõµÄ·¢Õ¹Ç÷ÊÆ£¬Òò´Ë¸÷´óÍøÂçÉ豸³§É̶¼¿ªÊ¼ÁË OpenConfig µÄ¿ª·¢¹¤×÷¡£Ïñ¹úÄÚij R Æ·ÅÆµÄÊý¾ÝÖÐÐĽ»»»»úÖ§³Ö Netconf YANG ºÍ OpenConfig YANG£¬Ä¿Ç°ÕýÔÚ¹úÄÚÅäºÏ¹«ÓÐÔÆÌṩÉ̽øÐбê×¼»¯ SDN µÄ²âÊÔ¹¤×÷¡£

   
2030 ´Îä¯ÀÀ       30
Ïà¹ØÎÄÕÂ

DevOpsתÐÍÈÚÈëµ½ÆóÒµÎÄ»¯
DevOps ÄÜÁ¦Ä£ÐÍ¡¢Ñݽø¼°°¸ÀýÆÊÎö
»ùÓÚ DevOps ÀíÄîµÄ˽ÓÐ PaaS ƽ̨ʵ¼ù
΢Èí¿ª·¢ÍŶӵÄDevOpsʵ¼ùÆôʾ
Ïà¹ØÎĵµ

DevOpsÇý¶¯Ó¦ÓÃÔËά±ä¸ïÓë´´ÐÂ
ÔËά¹ÜÀí¹æ»®
ÈçºÎʵÏÖÆóÒµÓ¦Óò¿Êð×Ô¶¯»¯
ÔËά×Ô¶¯»¯Êµ¼ù֮·
Ïà¹Ø¿Î³Ì

×Ô¶¯»¯ÔËά¹¤¾ß£¨»ùÓÚDevOps£©
»¥ÁªÍøÔËάÓëDevOps
MySQLÐÔÄÜÓÅ»¯¼°ÔËάÅàѵ
ITϵͳÔËά¹ÜÀí