½ð²Ê»ã

µã»÷ÏÂÔØ¡¶ÍòÕ×Ô°ÇøÒÔÌ«²Ê¹â×êÑл㱨¡· £¬½âËøÍòÕ×Ô°ÇøÍøÂ罨ÉèÖ¸ÄÏ
Á¢¼´ÏÂÔØ
ÎÞ¸Ð×¼Èë ÈËÎïͳ¹Ü Ø­ RG-SAM+5.X ÐÂÒ»´ú¸ßУAIÈÏ֤ƽ̨°ä²¼
date
Ô¤Ô¼Ö±²¥
½ð²Ê»ã - Ê×Ò³
²úÆ·
< ·µ»ØÖ÷²Ëµ¥
²úÆ·ÖÐÐÄ
²úÆ·
½â¾ö¹æ»®
< ·µ»ØÖ÷²Ëµ¥
½â¾ö¹æ»®ÖÐÐÄ
ÐÐÒµ
ºÏ×÷ͬ°é
·µ»ØÖ÷²Ëµ¥
Ñ¡ÔñÇøÓò/˵»°
½ð²Ê»ã - Ê×Ò³
½ð²Ê»ã - Ê×Ò³ ½ð²Ê»ã - Ê×Ò³

³©Ì¸Êý¾ÝÖÐÐÄÍøÂçÔËά×Ô¶¯»¯

¡¾ÍøÂçÔËά×Ô¶¯»¯¡¿OpenConfigÏÖÒѳÉÎªÍøÂç×Ô¶¯»¯¼¼ÊõµÄ·¢Õ¹Ç÷Ïò £¬½ð²Ê»ãµÄÊý¾ÝÖÐÐÄ»¥»»»úÖ§³Ö Netconf YANG ºÍ OpenConfig YANG £¬¿ÉÔ®ÊÔìóҵʵÏÖÊý¾ÝÖÐÐÄÖÇÄÜÔËά¡£

  • ½ð²Ê»ã - Ê×Ò³

    °ä²¼¹¦·ò£º2018-04-19

  • ½ð²Ê»ã - Ê×Ò³

    µã»÷Á¿£º

  • ½ð²Ê»ã - Ê×Ò³

    µãÔÞ£º

·ÖÏíÖÁ

½ð²Ê»ã - Ê×Ò³
½ð²Ê»ã - Ê×Ò³
½ð²Ê»ã - Ê×Ò³

ÎÒÏëÆÀÂÛ

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

ÓÉÓÚÒµÎñ²úÉúµ÷»» £¬±ØÒªÎªÒ»¸ö POD ÀïÃæµÄ¼¸Ê®Ì¨»¥»»»úÅú¸Ä QoS ÅäÖá£×÷ÎªÍøÂçÔËάÈËÔ± £¬Ó¦¸ÃÔõô´¦ÖÃÕâÏ×÷ÄØ £¿

ÈôÊDZØÒªµ÷»»µÄ¶ÔÏóÊÇÕû¸öÊý¾ÝÖÐÐŲ̀ÉõÖÁ¼¸Ç§Ì¨»¥»»»ú £¬ÓÖ¸ÃÔõô´¦ÖÃÕâÏ×÷ÄØ £¿

µ±Ï £¬»¥ÁªÍøÐÐÒµÒѾ­ÆÕ±éѡȡ 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

½ð²Ê»ã - Ê×Ò³

¡ø 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¡£½ð²Ê»ã»¥»»»ú±ØÒªÔÚÎïÀí¶Ë¿ÚģʽÏÂÅäÖãº

 

½ð²Ê»ã - Ê×Ò³

 

¶øÄ³ H Æ·ÅÆ»¥»»»úÈ´±ØÒªÔÚ VLAN Âß¼­¶Ë¿ÚģʽÏÂÅäÖãº

 

½ð²Ê»ã - Ê×Ò³

 

´ÓÉÏÃæÁ½¸öÅäÖÃʾÀýÄܹ»·¢ÏÖ½ð²Ê»ã»¥»»»úºÍ 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 µÄ¿ª·¢¹¤×÷¡£½ð²Ê»ãµÄÊý¾ÝÖÐÐÄ»¥»»»úÖ§³Ö Netconf YANG ºÍ OpenConfig YANG £¬Ä¿Ç°ÔÚ¹úÄÚ¹²Í¬¹«ÓÐÔÆÌṩÉ̽øÐг߶Ȼ¯ SDN µÄ²âÊÔ¹¤×÷¡£

 

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

½ð²Ê»ãÍøÂ绥ÁªÍøÏµÍ³²¿ÐÐÒµÕ÷ѯ

½ð²Ê»ã - Ê×Ò³

 

ÍùÆÚ½Ü³ö»ØÊ× 

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

¡ñ¡¾µÚ¶þÆÚ¡¿ÈôºÎͨ¹ýÍøÂçÒ£²â£¨Network Telemetry£©¼¼ÊõʵÏÖ¾«ÃÜ»¯ÍøÂçÔËά £¿

¸ü¶à¼¼Êõ²©ÎÄ

ÈκαØÒª £¬ÇëÁªÏµ½ð²Ê»ã

½ð²Ê»ã - Ê×Ò³

·µ»Ø¶¥²¿

ÊÕÆð
½ð²Ê»ã - Ê×Ò³ ÎĵµAI¸±ÊÖ
½ð²Ê»ã - Ê×Ò³ ÎĵµÆÀ¼Û
ev-close ev-close-m
¸Ã×ÊÁÏÊÇ·ñ½â¾öÁËÄúµÄÎÊÌâ £¿
ev-close ev-close-m
Äú¶Ôµ±Ç°Ò³ÃæµÄÖÐÒâ¶ÈÈôºÎ £¿
²»Õ¦µÎ
¼«¶ÈºÃ
dark-star dark-star dark-star dark-star dark-star
ev-close ev-close-m
ÄúÖÐÒâµÄÔ­ÒòÊÇ£¨¶àÑ¡£© £¿
Äú¶ÔÎĵµÊÇ·ñ»¹ÓÐÆäËüµÄÎÊÌâ»ò½¨Òé £¿
Ϊ¾¡¿ì½â¾öÎÊÌâ £¬ÇëÄúÁôÏÂÁªÏµ·½Ê½Òﱋȯ¸´
ÓÊÏä
ÊÖ»úºÅ
ev-bg
¸Ð¼¤ÄúµÄ·´À¡£¡
½ð²Ê»ã - Ê×Ò³
½ð²Ê»ã - Ê×Ò³
½ð²Ê»ã - Ê×Ò³
ÇëÑ¡Ôñ·þÎñÏîÄ¿
¹Ø¹ØÕ÷ѯҳ
ÊÛǰÕ÷ѯ ÊÛǰÕ÷ѯ
ÊÛǰÕ÷ѯ
ÊÛºó·þÎñ ÊÛºó·þÎñ
ÊÛºó·þÎñ
¶¨¼û·´À¡ ¶¨¼û·´À¡
¶¨¼û·´À¡
¸ü¶àÁªÏµ·½Ê½
¡¾ÍøÕ¾µØÍ¼¡¿