NETCONFред рд╢реБрд░реБрдЖрдд

рдХреБрдЫ рдиреЗ рд╕реБрдирд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХрд┐ " рд╕рд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдВрдзрди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ " рд╣реИ, рдЬрд┐рд╕реЗ рдПрд╕рдПрдирдПрдордкреА (рд╕рд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдВрдзрди рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдореИрдВ рд▓рдЧрднрдЧ рдХрднреА рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ NETCONF рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рдереЗ, рдЬреЛ рдХрд┐ рдЗрд╕рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдХреЛ рдЙрдореНрдореАрдж рд╣реИ, SNMP рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдмрди рдЬрд╛рдПрдЧрд╛ред

рд╡рд╣ рдХреНрдпрд╛ рдкрд╕рдВрдж рд╣реИ? рдпрд╣ SNMP рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рдмрдВрдзрди рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╣реИ? рдпрд╛ рдпрд╣ рдПрдХ рдореГрдд рдЕрдВрдд рд╢рд╛рдЦрд╛ рд╣реИ?


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ NETCONF рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рддреЛ, NETCONF рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ (рд╣рд╛рдБ, рдХреЛрдИ рд╢рдмреНрдж "рд╕рд░рд▓" рдирд╣реАрдВ рд╣реИ, рдЬрд╛рд╣рд┐рд░ рд╣реИ рдпрд╣ рдЙрд╕рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ)ред рдЗрд╕реЗ IETF NETCONF рд╡рд░реНрдХрд┐рдВрдЧ рдЧреНрд░реБрдк рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЙрдирдХрд╛ "рдЬреАрд╡рди" RFC 4741 рдХреЗ рд╕рд╛рде рджрд┐рд╕рдВрдмрд░ 2006 рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖ, рдФрд░ рдЬреВрди 2011 рдореЗрдВ, RFC 6241 рдХреЛ рд░реЛрд▓рдЖрдЙрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдпрд╣ рдХрдВрдкрдиреА рдЬреБрдирд┐рдкрд░ рдХреЗ рдзрдиреБрд╖ рд╕реЗ рдЖрдпрд╛ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдПрдХ рдбрдм рдлрд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓ рдЬреВрдиреЛрд╕ рдПрдХреНрд╕рдПрдордПрд▓ рдПрдкреАрдЖрдИ рд╣реИред

рдПрд╕рдПрдирдПрдордкреА рдЦрд░рд╛рдм рдХреНрдпреЛрдВ рд╣реИ?


рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, NETCONF рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреНрдпреЛрдВ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдП? рдЖрдЦрд┐рд░рдХрд╛рд░, SNMP рдЕрднреА рднреА рдХрд╛рдлреА "рддрд╛рдЬрд╝рд╛" рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ, рдЬреЛ 80 рдХреЗ рджрд╢рдХ рдХреЗ рдЕрдВрдд рдореЗрдВ (1988 рдореЗрдВ SNMPv1) рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдерд╛ред рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП: рдЯреЗрд▓рдиреЗрдЯ рдХреЛ 1969 рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЕрдм рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реЗ рднреА SNMPv3 рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рд╛рде рдЖрдП рдереЗред

рдФрд░ рдлрд┐рд░ рднреА, 2002 рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдмреЛрд░реНрдб (IAB) рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдВрдзрди рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдХреА рдПрдХ рдмреИрдардХ рд╣реБрдИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк RFC 3535 рдерд╛ ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдВрдзрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ (рдкреИрд░рд╛рдЧреНрд░рд╛рдл 2) рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдПрд╕рдПрдирдПрдордкреА (рдЦрдВрдб 2.1)ред

рдореИрдВ рдЕрдкрдиреА рд░рд╛рдп рдореЗрдВ SNMP рдХреЗ рдиреБрдХрд╕рд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░реВрдВрдЧрд╛:


NETCONF рдХреА рддреИрдпрд╛рд░реА



рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдФрд░ RFC рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, NETCONF рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдХреА рддрд╕реНрд╡реАрд░ рд▓реАред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, 4 рд╡рд┐рдХрд▓реНрдк рдкрд░рд┐рд╡рд╣рди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ:


рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рджрд░реНрд╢рд╛рдП рдЧрдП рдЖрд░рдкреАрд╕реА рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди "рд▓рд┐рдкрдЯреЗ" рд╣реИрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

< get > , < get-config > , < edit-config > , < copy-config > , < delete-config > , < lock > , < unlock > , < close-session > , < kill-session > .


рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рддрдХ рдЖрдк рдЪрд╛рд╣реЗрдВ рддрдм рддрдХ рдПрдХ рд╕реНрдерд╛рдкрд┐рдд рд╕рддреНрд░ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рдЕрднреА рднреА рдЬреАрд╡рд┐рдд рд╣реИ)ред

рдЬрдм рдХреЛрдИ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рд╕рдорд░реНрдерд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ (RPC рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдФрд░ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ NETCONF рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред

рдЬреБрдирд┐рдкрд░ рдкрд░ NETCONF рдЙрджрд╛рд╣рд░рдг



NETCONF рдЪрд╛рд▓реВ рдХрд░реЗрдВ:
рд╕рд┐рд╕реНрдЯрдо рд╕реЗрд╡рд╛рдПрдВ рд╕реЗрдЯ рдХрд░реЗрдВ netconf ssh


рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
ssh рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо @ рд╣реЛрд╕реНрдЯ -s netconf


рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ (рдпрд╛ рдХреБрдВрдЬреА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж) рд╣рдореЗрдВ "рд╕рд░реНрд╡рд░" рд╕реЗ рд╣реИрд▓реЛ рдорд┐рд▓рддрд╛ рд╣реИ:
<!-- No zombies were killed during the creation of this user interface -->
<!-- user test, class j-super-user -->
< hello >
< capabilities >
< capability > urn:ietf:params:xml:ns:netconf:base:1.0 </ capability >
< capability > urn:ietf:params:xml:ns:netconf:capability:candidate:1.0 </ capability >
< capability > urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0 </ capability >
< capability > urn:ietf:params:xml:ns:netconf:capability:validate:1.0 </ capability >
< capability > urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file </ capability >
< capability > xml.juniper.net/netconf/junos/1.0 </ capability >
< capability > xml.juniper.net/dmi/system/1.0 </ capability >
</ capabilities >
< session-id > 666 </ session-id >
</ hello >
]] > ]] >


* This source code was highlighted with Source Code Highlighter .


рд╕рд░реНрд╡рд░ рдиреЗ рд╣рдореЗрдВ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ред
рд▓рд╛рд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рдпрд╣ рдПрдХ рдордЬрд╛рдХ рд╣реИ, рдпрд╣ рдЬреВрдиреЛ рдореЗрдВ рдХрднреА-рдХрднреА рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд╛рдЗрдХреБ рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдЫрд┐рдкрд╛ рд╣реБрдЖ рдЖрджреЗрд╢ рднреА рд╣реИ:
рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╣рд╛рдЗрдХреВ рджрд┐рдЦрд╛рдПрдВ


рд╣реИрд▓реЛ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ, рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЕрдкрдиреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╣реИрд▓реЛ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╣реА:
< hello >
< capabilities >
< capability > urn:ietf:params:xml:ns:netconf:base:1.0 </ capability >
< capability > urn:ietf:params:xml:ns:netconf:capability:candidate:1.0 </ capability >
< capability > urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0 </ capability >
< capability > urn:ietf:params:xml:ns:netconf:capability:validate:1.0 </ capability >
< capability > urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file </ capability >
< capability > xml.juniper.net/netconf/junos/1.0 </ capability >
< capability > xml.juniper.net/dmi/system/1.0 </ capability >
</ capabilities >
</ hello >
]] > ]] >


* This source code was highlighted with Source Code Highlighter .


рд╡рд╣ рд╕рдм рд╣реИред рдЕрдм рдЖрдк рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдкреВрдЫреЗрдВ:
< rpc message-id ="100" xmlns ="urn:ietf:params:xml:ns:netconf:base:1.0" >
< get-config >
< source >
< running />
</ source >
< filter type ="subtree" >
< configuration >
< protocols />
</ configuration >
</ filter >
</ get-config >
</ rpc >


* This source code was highlighted with Source Code Highlighter .


рд╣рдореЗрдВ рдХреНрдпрд╛ рдЬрд╡рд╛рдм рдорд┐рд▓реЗрдЧрд╛:
< rpc-reply message-id ="100" xmlns:junos ="http://xml.juniper.net/junos/11.2R5/junos" >
< configuration junos:commit-seconds ="1311003260" junos:commit-localtime ="2012-06-06 11:21:40 UTC" junos:commit-user ="test" >
< protocols >
SKIPPED
</ protocols >
</ configuration >
</ rpc-reply >

* This source code was highlighted with Source Code Highlighter .


рд╕рдВрджреЗрд╢-рдЖрдИрдбреА = "100" рдЕрдиреБрд░реЛрдз рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдЙрддреНрддрд░реЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЕрд▓рдЧ рдХреНрд░рдо рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрд░рдкреАрд╕реА-рд░рд┐рдкреНрд▓рд╛рдИ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рдЖрдк рдЖрд░рдкреАрд╕реА-рдПрд░рд░ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред RFC рд╕реЗ рдЙрджрд╛рд╣рд░рдг:
< rpc-reply message-id ="110" xmlns ="urn:ietf:params:xml:ns:netconf:base:1.0" >
< rpc-error >
< error-type > rpc </ error-type >
< error-tag > missing-attribute </ error-tag >
< error-severity > error </ error-severity >
< error-info >
< bad-attribute > message-id </ bad-attribute >
< bad-element > rpc </ bad-element >
</ error-info >
</ rpc-error >
</ rpc-reply >


* This source code was highlighted with Source Code Highlighter .


рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХрдорд╛рдВрдб), рд╕рд░реНрд╡рд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдУрдХреЗ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ:
< rpc-reply message-id ="201" xmlns ="urn:ietf:params:xml:ns:netconf:base:1.0" >
< ok />
</ rpc-reply >


* This source code was highlighted with Source Code Highlighter .


рдХрд╛рдо рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рддреНрд░ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
< rpc message-id ="100500" xmlns ="urn:ietf:params:xml:ns:netconf:base:1.0" >
< close-session />
</ rpc >


* This source code was highlighted with Source Code Highlighter .


NETCONF рдХрд╣рд╛рдБ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


рдпрд╣ рдЕрдлрд╡рд╛рд╣ рд╣реИ рдХрд┐ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЬреБрдирд┐рдкрд░, рдмреНрд░реЛрдХреЗрдб, рд╕рд┐рд╕реНрдХреЛ, рд╣реБрдЖрд╡реЗрдИ рдФрд░ рдХреБрдЫ рдЕрдиреНрдпред

... рд▓реЗрдХрд┐рди


рдЗрддрдирд╛ рдареАрдХ рдирд╣реАрдВ рд╣реИред NETCONF рджреНрд╡рд╛рд░рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдФрд░ рдЕрдиреБрд░рдХреНрд╖рд┐рдд рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЬреБрдирд┐рдкрд░ рдкрд░ рджреЗрдЦрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣реБрдЖрд╡реЗрдИ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рдереА, рдФрд░ рдмреНрд░реЛрдХреЗрдб рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдИ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╡рд┐рд╖рдп рдирд╣реАрдВ рдереЗред рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдХреЛ ...

рдХрдо рд╕реЗ рдХрдо iOS рд╕рдВрд╕реНрдХрд░рдг 15 рддрдХ рдЙрддреНрдкреНрд░реЗрд░рдХ рд▓рд╛рдЗрди рдкрд░ NETCONF рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рд┐рд╕реНрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рдо рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ NETCONF рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣реЛрдмреЗ рдкрд░ рднреА рдЙрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬреАрд╡рди рдЬреАрдиреЗ рдФрд░ рд▓рд╛рдн рджреЗрдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдХреНрд╖рдо рд╣реИред
рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдиреНрдп рд░рд╛рдп рднреА рд╕реБрдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рджрд░реНрд╢рдиред

Source: https://habr.com/ru/post/In135259/


All Articles