GA»Æ½ð¼×

¡°¼«¼ò¡±»ÀР¡¤ È«ÓòÖÇÁª Ø­ GA»Æ½ð¼×м«¼òÁ캽ÏÂÒ»´úÐ£Ô°Íø½¨Éè×êÑлá
date
Ô¤Ô¼Ö±²¥
ÎÞ¸Ð×¼Èë ÈËÎïͳ¹Ü Ø­ RG-SAM+5.X ÐÂÒ»´ú¸ßУAIÈÏ֤ƽ̨°ä²¼
date
Ô¤Ô¼Ö±²¥
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
²úÆ·
< ·µ»ØÖ÷²Ëµ¥
²úÆ·ÖÐÐÄ
²úÆ·
½â¾ö¹æ»®
< ·µ»ØÖ÷²Ëµ¥
½â¾ö¹æ»®ÖÐÐÄ
ÐÐÒµ
ºÏ×÷ͬ°é
·µ»ØÖ÷²Ëµ¥
Ñ¡ÔñÇøÓò/˵»°
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾ GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

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

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

  • GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

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

  • GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

    µã»÷Á¿£º

  • GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

    µãÔÞ£º

·ÖÏíÖÁ

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾
GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

ÎÒÏëÆÀÂÛ

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

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

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

µ±Ï£¬»¥ÁªÍøÐÐÒµÒѾ­ÆÕ±éѡȡ DevOps µÄϵͳÁ÷³Ì¡£¿¿ÈËÁ¦È¥Ò»Ì¨É豸һ̨É豸µÄ¸ü¸ÄÅäÖã¬ÒѾ­²»ÔÙÊÇÕýÈ·µÄ˼Ï뷽ʽ¡£Ô­Òò²»½ö½öÊÇÀ˷ѹ¦·ò —— Ҫ֪·£¬ÈËÈôÊÇÒª³¤¹¦·òά³Ö°ÑÎÈÁ¦¼¯ÖУ¬´óÄÔ±ØÒªºÄ·Ñ´óÁ¿µÄÄÜÁ¿£¬ºÜÄѱ£Õϲ»³öÏÖÒÅ©»òÕßÃýÎó¡£¶ø»úеȴ²»»á¡£

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

Netmiko ¿âºÍ Ansible µÈÔËά¹¤¾ß¹ÌÈ»Äܹ»Í¨¹ý·¨Ê½»¯µÄ¾ç±¾¶ÔÍøÂçÉ豸ʵÏÖÅúÁ¿ÖÎÀí£¬µ«ÒÀÈ»±ØÒªÔËά¹¤³Ìʦ¶ÔÍøÂçÉ豸µÄ CLI ºÜÊìϤ£¬Ô¤ÏÈÔھ籾ÖгÉÁ¢±ØÒª±»Ö´ÐÐµÄ Command Áбí¡£

 

CLI

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

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

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

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

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

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

 

SNMP

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

¡ø 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£¬¾ÍÄܹ»ÊµÏÖÐÅÏ¢²É¼¯»òÕßÍøÂçÉ豸µÄÅäÖÃÅú¸Ä¡£

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

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

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

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

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

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

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

´ÓÉÏÃæÁ½¸öÅäÖÃʾÀýÄܹ»·¢ÏÖGA»Æ½ð¼×»¥»»»úºÍ H Æ·ÅÆ»¥»»»úµÄÅäÖýṹÓÐÏÔÖø²î¾à£¬ËùÒÔÎÞ·¨Ö±½ÓʹÓà XML »òÕß JSON Åú¸ÄËüÃǵÄÉ豸ÅäÖá£

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

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

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

Ìî¿ÕÌâµÄ´ð°¸»òÐíÊÇÕâÑù×ӵģº

 

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

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

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

¡ø ¶à½ÚÔìÆ÷¼Ü¹¹

 

ÉÏÎÄËùÌáµ½µÄÍøÂçÔËάÈËÔ±Ëù¹ØÇÐµÄ 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 µ½ÍøÂçÉ豸ÀïÃæ£¬ÒÔÅú¸ÄÉ豸µÄÅäÖÃÎļþ¡£

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

¡ø 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 µÄÍøÂ磬½ø¶øÊµÏÖÕæÕýµÄÍøÂç×Ô¶¯»¯¡£

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

¡ø OpenConfig & NAPALM

 

ʹÓà OpenConfig µÄÁíÒ»¸öÒæ´¦¾ÍÊÇÄܹ»¼ò»¯ SDN ÍøÂç¼Ü¹¹£¬Óû§Ê¹ÓÃÒ»¸ö½ÚÔìÆ÷¼¯Èº¾ÍÄܹ»Í¬¼¾½ÚÔì¶à¸ö³§É̵ÄÍøÂçÉ豸£¬²»ÔÙ±ØÒªÊ¹ÓÃÉ豸³§É̵ÄÉÌÓýÚÔìÆ÷×öÖмÌ¡£

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

¡ø µ¥½ÚÔìÆ÷¼Ü¹¹

 

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

 

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

GA»Æ½ð¼×ÍøÂ绥ÁªÍøÏµÍ³²¿ÐÐÒµÕ÷ѯ

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

 

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

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

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

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

ÈκαØÒª£¬ÇëÁªÏµGA»Æ½ð¼×

GA»Æ½ð¼×¡¤(Öйú¼¯ÍÅ)¹Ù·½ÍøÕ¾

·µ»Ø¶¥²¿

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