97¹ú¼Ê

¹¤³§ÑÐѧ Ø­ 97¹ú¼ÊÍøÂçÊý×Ö»¯ÖÇÄܹ¤³§¡°ºÚ¿Æ¼¼¡±´ó½ÒÃØ
Ô¤Ô¼Ö±²¥
ÀÖÏíÓªÒµ°ü¹Ü·þÎñ Ø­ ÊØ»¤Ò½ÁÆÓªÒµÒ»Á¬ÎȹÌ
Ô¤Ô¼Ö±²¥
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
²úÆ·
< ·µ»ØÖ÷²Ëµ¥
²úÆ·ÖÐÐÄ
²úÆ·
½â¾ö¼Æ»®
< ·µ»ØÖ÷²Ëµ¥
½â¾ö¼Æ»®ÖÐÐÄ
ÐÐÒµ
ºÏ×÷»ï°é
·µ»ØÖ÷²Ëµ¥
Ñ¡ÔñÇøÓò/ÓïÑÔ
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾ 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

·ºÂÛÊý¾ÝÖÐÐÄÍøÂçÔËά×Ô¶¯»¯

¡¾ÍøÂçÔËά×Ô¶¯»¯¡¿OpenConfigÏÖÒѳÉÎªÍøÂç×Ô¶¯»¯ÊÖÒÕµÄÉú³¤Ç÷ÊÆ£¬97¹ú¼ÊµÄÊý¾ÝÖÐÐĽ»Á÷»úÖ§³Ö Netconf YANG ºÍ OpenConfig YANG£¬¿É×ÊÖúÆóҵʵÏÖÊý¾ÝÖÐÐÄÖÇÄÜÔËά ¡£

  • 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

    Ðû²¼Ê±¼ä£º2018-04-19

  • 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

    µã»÷Á¿£º

  • 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

    µãÔÞ£º

·ÖÏíÖÁ

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

ÎÒÏë̸ÂÛ

Ê×ÏÈ£¬ÈÃÎÒÃÇÉèÏëÒ»¸ö³¡¾°£º

ÓÉÓÚÓªÒµ±¬·¢±ä»»£¬ÐèҪΪһ¸ö POD ÄÚÀïµÄ¼¸Ê®Ì¨½»Á÷»úÐÞ¸Ä QoS ÉèÖà ¡£×÷ÎªÍøÂçÔËάְԱ£¬Ó¦¸ÃÔõÑù´¦Öóͷ£ÕâÏîÊÂÇéÄØ£¿

ÈôÊÇÐèÒª±ä»»µÄ¹¤¾ßÊÇÕû¸öÊý¾ÝÖÐÐŲ̀ÉõÖÁ¼¸Ç§Ì¨½»Á÷»ú£¬ÓÖ¸ÃÔõÑù´¦Öóͷ£ÕâÏîÊÂÇéÄØ£¿

µ±Ï£¬»¥ÁªÍøÐÐÒµÒѾ­ÆÕ±é½ÓÄÉ DevOps µÄÏÏû³Á÷³Ì ¡£¿¿ÈËÁ¦È¥Ò»Ì¨×°±¸Ò»Ì¨×°±¸µÄ¸ü¸ÄÉèÖã¬ÒѾ­²»ÔÙÊÇ׼ȷµÄÍ·ÄÔ·½·¨ ¡£Ôµ¹ÊÔ­Óɲ»µ«½öÊÇÆÌÕÅʱ¼ä —— ÒªÖªµÀ£¬ÈËÈôÊÇÒª³¤Ê±¼ä¼á³Ö×¢ÖØÁ¦¼¯ÖУ¬´óÄÔÐèÒªãýÃð´ó×ÚµÄÄÜÁ¿£¬ºÜÄѰü¹Ü²»·ºÆðÒÅ©»òÕß¹ýʧ ¡£¶ø»úеȴ²»»á ¡£

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

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

 

CLI

CLI ×î´óµÄÎÊÌâ¾ÍÊÇÔÚ²î±ð³§É̵Ä×°±¸Ö®¼ä£¬ÉõÖÁÔÚ²î±ð°æ±¾Ö®¼ä±£´æ½Ï´ó²î±ð ¡£ºÃ±ÈÔÚij C ³§É̽»Á÷»úÉÏÉèÖñßÑØ¶Ë¿Ú£¬²î±ðµÄ OS °æ±¾ÏÂÁî²¢²»Ïàͬ£º

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

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

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

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

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

 

SNMP

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

¡ø 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£¬¾Í¿ÉÒÔʵÏÖÐÅÏ¢ÊÕÂÞ»òÕßÍøÂç×°±¸µÄÉèÖÃÐÞ¸Ä ¡£

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

¡ø 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 Ò²ÊÇ·Ö²ã½á¹¹ ¡£

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

¡ø 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 ¡£97¹ú¼Ê½»Á÷»úÐèÒªÔÚÎïÀí¶Ë¿ÚģʽÏÂÉèÖãº

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

¶øÄ³ H Æ·ÅÆ½»Á÷»úÈ´ÐèÒªÔÚ VLAN Âß¼­¶Ë¿ÚģʽÏÂÉèÖãº

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

´ÓÉÏÃæÁ½¸öÉèÖÃʾÀý¿ÉÒÔ·¢Ã÷97¹ú¼Ê½»Á÷»úºÍ H Æ·ÅÆ½»Á÷»úµÄÉèÖýṹÓÐÏÔ×Ųî±ð£¬ÒÔÊÇÎÞ·¨Ö±½ÓʹÓà XML »òÕß JSON ÐÞ¸ÄËüÃǵÄ×°±¸ÉèÖà ¡£

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

Ìî¿ÕµÄÎÊÌâ»òÐíÊÇÕâÑù×ӵģº

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

Ìî¿ÕÌâµÄÃÕµ×»òÐíÊÇÕâÑù×ӵģº

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

Õâ¸öÀú³ÌÔÚÂß¼­ÉÏ£¬ÓëÏò 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 ¶Ô½Ó ¡£

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

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

 

ÉÏÎÄËùÌáµ½µÄÍøÂçÔËάְԱËùÌåÌùµÄ 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 µ½ÍøÂç×°±¸ÄÚÀÒÔÐÞ¸Ä×°±¸µÄÉèÖÃÎļþ ¡£

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

¡ø Netconf & NAPALM

 

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

ÊǵÄ£¬NAPALM Õվɲ»¿É³¹µ×½â¾öÍøÂç×Ô¶¯»¯ËùÃæÁÙµÄÎÊÌâ ¡£

ÓÉÓÚ¸÷³§ÉÌ 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 ×ö½ç˵£¬ÒÔÊDz»»á·ºÆð²»¼æÈݵÄÇéÐÎ ¡£

µ«·´¹ýÀ´½²£¬OpenConfig Ò²²»»áΪÁ˼æÈÝijЩװ±¸³§É̶øÈà YANG Model ¹ýÓÚ¼òÆÓ£¬ÒÔÊÇ×°±¸³§ÉÌÐèÒªÈÃ×Ô¼ºµÄ¹¦Ð§Öª×ã OpenConfig YANG Model µÄÒªÇ󣬾߱¸ Model Ëù½ç˵µÄËùÓÐµÄ Key£¬²¢ÇÒÄܹ»ÎªËùÓÐµÄ Key Ìṩ¶ÔÓ¦µÄ Value ¡£

ÔÚ Key-Value ÃûÌÃÀο¿Ö®ºó£¬ÍøÂçÔËάְԱ¶ÔÊý¾ÝµÄÆÊÎöÊÂÇé¾ÍºÜÊÇÀû±ãÁË ¡£Ö»ÒªÍøÂç×°±¸Ö§³Ö±ê×¼µÄ OpenConfig YANG£¬NAPALM ¾Í¿ÉÒÔ¶ÔԭʼÊý¾Ý¾ÙÐÐÆÊÎö£¬²»ÔÙÒÀÀµµÚÈý·½ Module ¾Í¿ÉÒÔ¹ÜÀí¶à³§É̶à OS µÄÍøÂ磬½ø¶øÊµÏÖÕæÕýµÄÍøÂç×Ô¶¯»¯ ¡£

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

¡ø OpenConfig & NAPALM

 

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

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

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

 

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

 

±¾ÆÚ×÷Õߣº³Â³Ì

97¹ú¼ÊÍøÂ绥ÁªÍøÏµÍ³²¿ÐÐÒµ×Éѯ

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

ÍùÆÚ¾«²Ê»ØÊ× 

¡ñ¡¾µÚÒ»ÆÚ¡¿Ç³Ì¸ÎïÁªÍøÊÖÒÕ֮ͨѶЭÒéµÄ·×Õù

¡ñ¡¾µÚ¶þÆÚ¡¿ÔõÑùͨ¹ýÍøÂçÒ£²â£¨Network Telemetry£©ÊÖÒÕʵÏÖϸÄå»¯ÍøÂçÔËά£¿

¸ü¶àÊÖÒÕ²©ÎÄ

ÈκÎÐèÒª£¬ÇëÁªÏµ97¹ú¼Ê

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾ 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

·µ»Ø¶¥²¿

ÊÕÆð
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
ÎĵµÆÀ¼Û
¸Ã×ÊÁÏÊÇ·ñ½â¾öÁËÄúµÄÎÊÌ⣿
Äú¶ÔÄ¿½ñÒ³ÃæµÄÖª×ã¶ÈÔõÑù£¿
²»Õ¦µÎ
ºÜÊǺÃ
ÄúÖª×ãµÄÔµ¹ÊÔ­ÓÉÊÇ£¨¶àÑ ¡£©£¿
Äú²»Öª×ãµÄÔµ¹ÊÔ­ÓÉÊÇ£¨¶àÑ ¡£©£¿
ÄúÊÇ·ñÉÐÓÐÆäËûÎÊÌâ»ò½¨Ò飿
ΪÁË¿ìËÙ½â¾ö²¢»Ø¸´ÄúµÄÎÊÌ⣬Äú¿ÉÒÔÁôÏÂÁªÏµ·½·¨
ÓÊÏä
ÊÖ»úºÅ
ллÄúµÄ·´À ¡£¡
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
ÇëÑ¡Ôñ·þÎñÏîÄ¿
¹Ø±Õ×Éѯҳ
ÊÛǰ×Éѯ ÊÛǰ×Éѯ
ÊÛǰ×Éѯ
ÊÛºó·þÎñ ÊÛºó·þÎñ
ÊÛºó·þÎñ
Òâ¼û·´Ïì Òâ¼û·´Ïì
Òâ¼û·´Ïì
¸ü¶àÁªÏµ·½·¨
ÍøÕ¾µØÍ¼