97¹ú¼Ê

Àë±ðÔËάÄÚÚ§ È«ÓòЭͬÌáЧ Ø­ 97¹ú¼ÊÍøÂçÔËά°ü¹ÜÂÄÀú·ÖÏí»á
Ô¤Ô¼Ö±²¥
ÎÞ¸Ð×¼Èë ÈËÎïͳ¹Ü Ø­ RG-SAM+5.X ÐÂÒ»´ú¸ßУAIÈÏ֤ƽ̨Ðû²¼
Ô¤Ô¼Ö±²¥
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¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾ ÎĵµAIÖúÊÖ
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾ ÎĵµÆÀ¼Û
¸Ã×ÊÁÏÊÇ·ñ½â¾öÁËÄúµÄÎÊÌâ £¿
Äú¶ÔÄ¿½ñÒ³ÃæµÄÖª×ã¶ÈÔõÑù £¿
²»Õ¦µÎ
ºÜÊǺÃ
ÄúÖª×ãµÄÔµ¹ÊÔ­ÓÉÊÇ£¨¶àÑ ¡£© £¿
Äú²»Öª×ãµÄÔµ¹ÊÔ­ÓÉÊÇ£¨¶àÑ ¡£© £¿
ÄúÊÇ·ñÉÐÓÐÆäËûÎÊÌâ»ò½¨Òé £¿
ΪÁË¿ìËÙ½â¾ö²¢»Ø¸´ÄúµÄÎÊÌâ £¬Äú¿ÉÒÔÁôÏÂÁªÏµ·½·¨
ÓÊÏä
ÊÖ»úºÅ
ллÄúµÄ·´À ¡£¡
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
ÇëÑ¡Ôñ·þÎñÏîÄ¿
¹Ø±Õ×Éѯҳ
ÊÛǰ×Éѯ ÊÛǰ×Éѯ
ÊÛǰ×Éѯ
ÊÛºó·þÎñ ÊÛºó·þÎñ
ÊÛºó·þÎñ
Òâ¼û·´Ïì Òâ¼û·´Ïì
Òâ¼û·´Ïì
¸ü¶àÁªÏµ·½·¨
ÍøÕ¾µØÍ¼