WO2023136494A1 - 네트워크 관리 시스템 및 네트워크 관리 시스템의 동작 방법 - Google Patents

네트워크 관리 시스템 및 네트워크 관리 시스템의 동작 방법 Download PDF

Info

Publication number
WO2023136494A1
WO2023136494A1 PCT/KR2022/020910 KR2022020910W WO2023136494A1 WO 2023136494 A1 WO2023136494 A1 WO 2023136494A1 KR 2022020910 W KR2022020910 W KR 2022020910W WO 2023136494 A1 WO2023136494 A1 WO 2023136494A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
network device
network
user
xpath
Prior art date
Application number
PCT/KR2022/020910
Other languages
English (en)
French (fr)
Inventor
양원종
이상현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220011473A external-priority patent/KR20230109517A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of WO2023136494A1 publication Critical patent/WO2023136494A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting

Definitions

  • the disclosure below relates to a network management system (NMS) and a method of operating the network management system.
  • NMS network management system
  • a protocol technology such as a command line interface (CLI) or simple network management protocol (SNMP) may be used.
  • CLI command line interface
  • SNMP simple network management protocol
  • NETCONF network configuration
  • the YANG model used in the NETCONF protocol is in the form of a tree and can include a list within a list to express a hierarchical structure. there is.
  • YANG model multiple list values can be collectively changed by putting them in one command. Therefore, in the YANG model, for example, if an error occurs in the middle while changing the settings of a network element (NE) with several commands to change the service state, it is impossible to continue and return to the original state. It may stop in an impossible state and affect the service.
  • NE network element
  • information or conditions corresponding to know-how acquired by various communication service providers while operating network devices are converted into standardized user-defined rules. can be created anew.
  • a standardized knowledge base system in which know-how possessed by a network operator is accumulated can be constructed.
  • a network management system using a NETCONF (network configuration) protocol for configuration management of network devices sets constraints applied to data for configuration of the network devices according to the NETCONF protocol.
  • a user-defined rule including at least one of a description xpath condition, a warning message to be provided to the operator of the network device, and privilege information required for setting the network device
  • a management server may be configured to determine whether the parameter satisfies the xpath condition by referring to settings of the network device.
  • a method of operating a network management system using a NETCONF (network configuration) protocol for configuration management of network devices includes constraints applied to data for configuration of the network device according to the NETCONF protocol (A user-defined rule including at least one of an xpath condition describing a constraint, a warning message to be provided to an operator of the network device, and privilege information required for setting the network device.
  • Editing (rule) validating the at least one user-defined rule by a command according to the NETCONF protocol, and returning the validation result, and in the command to the xpath condition Based on whether the corresponding parameter is included, an operation of determining whether the parameter satisfies the xpath condition by referring to the configuration of the network device may be included.
  • a network management system may provide a relaxed access control function that restricts users who can change network device settings to a specific group by enabling an operator to define an xpath condition through a rule editor.
  • the network management system displays a warning message when the setting value of a network device is changed to a value that is concerned about problems such as performance degradation due to an xpath condition, and to receive user confirmation of the change. By doing so, it is possible for the operator to directly define the relaxed access control function.
  • the network management system generates a standardized user-defined rule from know-how discovered by a communication service provider while operating a network device, builds a knowledge-based system by accumulating user-defined rules, and can create added value.
  • FIG. 1 is a diagram illustrating layers of a NETCONF model according to an embodiment.
  • FIG. 2 is a block diagram of a network management system according to one embodiment.
  • FIG. 3 is a diagram for explaining the operation of a network management system according to an embodiment.
  • FIG. 4 is a diagram illustrating coding for changing parameter values by a command to edit settings according to the NETCONF protocol according to an embodiment.
  • FIG. 5 is a diagram illustrating coding for inquiring a current value by a command for acquiring settings according to the NETCONF protocol according to an embodiment.
  • FIG. 6 is a diagram for explaining a method of checking whether a parameter satisfies an xpath condition by a command for editing settings according to the NETCONF protocol according to an embodiment.
  • FIG. 7A is a diagram illustrating an example of an error message according to an embodiment
  • FIG. 7B is a diagram illustrating an example of a warning message according to an embodiment.
  • FIG. 8 is a diagram for explaining an operation when a management server has a copy of setting data of a network device according to an embodiment.
  • FIG. 9 is a diagram illustrating coding for transmitting a command to change a parameter value by a command to edit settings according to the NETCONF protocol in the same situation as in FIG. 8 .
  • FIG. 10 is a flowchart illustrating an operating method of a network management system according to an embodiment.
  • first, second, or first or secondary may simply be used to distinguish that component from other corresponding components, and may refer to that component in other respects (eg, importance or order) is not limited.
  • a (eg, first) component is said to be “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively.”
  • the certain component may be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logical blocks, parts, or circuits.
  • a module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of this document may be implemented as software including one or more instructions stored in a storage medium readable by a machine.
  • the processor of the device may call at least one command among one or more commands stored from a storage medium and execute it. This enables the device to be operated to perform at least one function according to the at least one command invoked.
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary' only means that the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium. It does not discriminate when it is temporarily stored.
  • the method according to various embodiments disclosed in this document may be provided by being included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • a computer program product is distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (eg downloaded or uploaded) online, directly between smart phones.
  • a device-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play StoreTM
  • two user devices e.g. It can be distributed (eg downloaded or uploaded) online, directly between smart phones.
  • at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.
  • each component (eg, module or program) of the above-described components may include a single object or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. there is.
  • one or more components or operations among the aforementioned corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg modules or programs
  • the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. .
  • the actions performed by a module, program, or other component are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the actions are executed in a different order, or omitted. or one or more other actions may be added.
  • FIG. 1 is a diagram illustrating layers of a NETCONF model according to an embodiment.
  • NMS network management system
  • the NETCONF model used by the network management system 101 Let's take a look at (100).
  • the network device(s) 103 may include, for example, heterogeneous devices, virtual machines, network management programs, base stations, repeaters, routers, and access points, but are not necessarily limited thereto.
  • the NETCONF model 100 is designed so that the internet engineering task force (IETF), which studies Internet standards, can easily manage the settings of the network device 103 in various network environments, for example, extensible markup language (XML) , or a text-based standardized protocol model such as JSON (java script object notation).
  • the NETCONF model 100 is a session-based network management standard such as, for example, software defined networking (SDN), network management system (NMS), and environmental management system (EMS). may correspond to
  • the NETCONF model 100 defines data for transmitting and receiving configuration information of the network device 103 as, for example, four independent layers as shown in FIG. 1, thereby operating the NETCONF protocol between various heterogeneous systems. In addition, it is possible to exchange easily structured XML information data in the NETCONF protocol environment.
  • the NETCONF model 100 may be expressed as 'NETCONF protocol'.
  • the NETCONF model 100 can ensure interoperability between heterogeneous network devices through transmission and reception of standardized text-based data.
  • the network management system 101 may manage the network device(s) 103 using an XML-based remote procedure call (RPC) layer 130 and configuration data.
  • RPC refers to the management server of the network management system 100 (eg, the management server 250 of FIG. 2, the management server 303 of FIG. 3, and the management server 803 of FIG. 8) existing remotely in the network. It may correspond to a standard used to request a service by calling a subroutine located in the network device 103.
  • the program of the network device 103 requesting the service does not need to know the detailed status of the network.
  • a program requesting a service may be a 'client' and a program providing a service may be a 'server'.
  • the service name is described in an XML tag in an XML message transmitted by the network device 103, transmitted to the network management system 100, and the management server of the network management system 100 receiving the transmitted information.
  • Step 250 extracts the service name and necessary factor values, executes the requested command, inserts the resulting value into a transmission message, and responds to the network device 103.
  • the NETCONF model 100 includes a content layer 110 describing management configuration and operation information in XML form, and an operation layer defining operation of a network device 103 (operation layer) 120, an RPC layer (RPC layer) 130 that can execute a function or procedure in a different address space without coding for remote control, and transport that transmits packet data between heterogeneous devices It may include four layers of the transport layer 140.
  • the NETCONF model 100 it is assumed that all NETCONF protocol operations are performed within a session connected by the transport layer 140, and that the session represents a specific user with an administrator-assigned set of access rights. can do.
  • the NETCONF server can authenticate the entity requesting the session before processing the client's request.
  • the NETCONF message transmitted based on the NETCONF model 100 may be encoded in XML using, for example, a UTF-8 character set.
  • SSH secure shell
  • an Internet protocol used to connect to a remote host computer a special 6-character message termination sequence may be used to provide message framing.
  • the reason why the NETCONF model 100 uses sessions in the transport layer 140 is that some procedures require one or more protocol operators, and operations performed in the session can be deleted when the session is terminated or killed. am.
  • the characteristics of the NETCONF model 100 are identified by capability URIs, and one session can be initiated while exchanging capability views between a network manager and a management device.
  • the RPC operations of the NETCONF model 100 operate on a configuration data store, which means a conceptual place to store and access information, and can be implemented using a file or database.
  • the NETCONF model 100 may define, for example, three standard configuration data stores to support different processing and ongoing operations within the network device 103.
  • the content layer 110 of the NETCONF model 100 uses a namespace defined in the YANG model to be described later to select a namespace to be used for elements and/or validation attributes of an XML sub tree. It can be configured as an XML message.
  • the content layer 110 may use the identifier used in the YANG model as the local name of XML.
  • the message of the RPC layer 130 is a valid XML document, and all operators included in the corresponding XML document can use the RPC mechanism specialized for the NETCONF model 100.
  • the RPC mechanism may have a feature that returns an operation result.
  • the ⁇ rpc> element in a message necessarily includes message identification information (message-id), and all operators can be defined using the 'rpc' descriptor of the YANG model.
  • the 'input' descriptor included in the rpc definition in the message can indicate the argument value required for the protocol operator.
  • Each data type in the 'input' descriptor can be located in a child node of the corresponding function node. If the 'output' descriptor does not exist in the rpc definition, only the Ok element is returned. However, if the 'output' descriptor exists, the corresponding result value can be configured as a child node of the rpc-reply node.
  • the NETCONF model 100 may return '1' when an error occurs during operation processing, or may add a ⁇ rpc-error> child node to the ⁇ rpc-reply> node.
  • Protocol operators basically provided in the operation layer 120 may be defined in the YANG model, for example. Protocol operators may be defined as shown in [Table 1] below, for example.
  • a network management system (NMS) 200 (eg, the network management system 101 of FIG. 1 ) according to an embodiment is a network device (eg, the network device 103 of FIG. 1 ).
  • a network device eg, the network device 103 of FIG. 1 .
  • NETCONF network configuration protocol
  • it may include a rule editor 210 , a rule database 230 , and a management server 250 .
  • the management server 250 may include an xpath tester 255.
  • the rule editor 210 is an xpath condition describing constraints applied to data for configuration of the network device 103 according to the NETCONF protocol, an operator of the network device 103 (eg: At least one of a warning message to be provided to the operator 305 of FIG. 3 and the operator 805 of FIG. 8, and privilege information required for setting the network device 103.
  • One user defined rule eg, user defined rule 370 of FIG. 3 , and/or user defined rule 870 of FIG. 8
  • xpath is for processing a part of the XML document, and can operate on the abstract and logical structure of the XML document, not on the surface syntax.
  • An xpath can get its name using path notation, as in URLs for navigating the instrumentation structure of an XML document.
  • An xpath may correspond to an expression form for specifying a property value within an XLM document.
  • An xpath can also be called an 'xpath condition' in that it corresponds to a conditional statement consisting of a single string, for example.
  • 'xpath' and 'xpath condition' may be understood as the same meaning.
  • a path used to simply indicate a path separated by a slash (/) (eg, an absolute path) or to designate a path of a parameter to be changed may correspond to the path of the xpath condition.
  • the warning message may correspond to a message defined to be displayed when the authority of the operator 305 satisfies the authority required in advance.
  • the authority information may be used to compare the authority level of the operator 305 who issued the command by the network management system 200 to perform authority verification with the authority level required for configuration change of the network device 103 . For example, if the authority level of the operator 305 is lower than the 'administrator level', the network management system 200 may transmit a message indicating that higher authority is required, for example, as shown in FIG. 7A below. there is.
  • the rule editor 210 shows the YANG model provided by the network device 103 to the user, and provides a command (eg, ⁇ edit-config>) to edit settings according to the NETCONF protocol set or input by the user. can be done
  • the rule editor 210 may provide a screen for checking an xpath condition and text defined by a user or setting a required authority.
  • the 'YANG model' may correspond to defining how each network device 103 manages and expresses management information. Since the YANG model is defined by the must statement, it is impossible to set settings that do not meet the conditions, and even if a setting change command is issued, it may be treated as a failure.
  • the YANG model since the YANG model is defined by the must statement, for example, it is not generally used but needs to be set in special cases to require higher user privileges, or if the corresponding setting is performed, the network More relaxed rules such as prompting the user for confirmation by displaying a warning message indicating that the performance of the device 103 may be degraded cannot be used.
  • the network management system 200 uses the rule editor 210 to allow the user or operator 305 to edit more relaxed and varied rules based on experience, such as user-defined rules 370, so that the user It is possible to build a knowledge-based system that reflects the know-how of
  • the rule database 230 is a rule database defined by the user, and includes, for example, an xpath condition, privilege information required for setting the network device 103, and a warning message to be displayed to the user. may contain at least one.
  • the rule database 230 may receive a command according to the NETCONF protocol, perform rule-based verification, and return verification results to the management server 250 .
  • the rule database 230 may verify the validity of at least one user-defined rule 370 by a command according to the NETCONF protocol and return a validation result.
  • the rule database 230 may cumulatively store at least one user-defined rule 370 whose validity has been verified.
  • 'commands according to the NETCONF protocol' may be simplified and expressed as 'commands' or 'NETCONF commands'.
  • the network management system 200 uses the current value of the network device 103 to be used as an xpath condition in order to validate the user-defined rule 370 by using a command ⁇ get-config> to use the network device ( 103) may be queried in real time, or a copy of pre-stored setting data of the network device 103 may be used to verify the validity of the user-defined rule 370.
  • the management server 250 for example, when the command requested by the operator 305 includes a parameter corresponding to the xpath condition, sets the network device 103 (eg, corresponds to the xpath condition set in the network device 103). It is possible to determine whether the corresponding parameter satisfies the xpath condition by referring to the current value of the parameter.
  • the management server 250 may extract a boolean value representing whether a corresponding parameter satisfies an xpath condition, display a warning message according to the boolean value, or verify authority information.
  • the management server 250 sets the boolean value to true so that the rules database 230 can obtain authorization information and warnings without additional validation. At least one of the messages may be provided.
  • the management server 250 may include an xpath tester 255 .
  • the management server 250 may use the xpath tester 255 to determine whether a parameter corresponding to the xpath condition is included in the command.
  • the xpath tester 255 extracts a boolean value according to the verification result of the xpath condition by referring to the setting of the network device 103 when the command includes a parameter for which the xpath condition is applied, and based on the boolean value A warning message can be displayed or permission information can be verified.
  • the management server 250 uses the corresponding parameter instead of the current value of the network device 103 to configure the settings of the network device 103. can be changed
  • the management server 250 transmits a command to obtain the settings according to the NETCONF protocol to the network device 103 to obtain the xpath
  • the current value of the network device 103 used for the condition may be inquired.
  • the management server 250 for example, in response to a request of the operator 305 to change the settings of the network device 103, a command (eg, edit) to edit the settings of the network device 103 according to the NETCONF protocol : You can check whether at least one user-defined rule is defined in the node included in ⁇ edit-config>).
  • 'node' included in the ⁇ edit-config> command can be understood as a 'target xpath' to change settings.
  • the management server 250 may change the settings of the network device 103 using the user-defined rule.
  • the management server 250 transmits a command to obtain settings according to the NETCONF protocol to the network device 103 to The current value of the network device 103 used for the xpath condition can be inquired.
  • the management server 250 sends a command to obtain (get) settings according to the NETCONF protocol to the network device 103 (eg: ⁇
  • the current value of the network device 103 used for the xpath condition can be inquired by transmitting get-config> or ⁇ get>.
  • An example of a method in which the management server 250 queries the current value of the network device 103 used for the xpath condition in real time will be described in more detail with reference to FIG. 3 below.
  • the management server 250 may determine, for example, whether at least one of at least one user-defined rule included in a command to edit settings and a current value of the network device 103 that is inquired satisfies an xpath condition.
  • the rule database 230 transmits a command to edit the settings. It is possible to determine whether an authority level of one operator 305 satisfies authority information. When the level of the operator 305 that has transmitted the command does not satisfy the authority information, the rule database 230 may return an error message indicating that the operator 305 does not have authority to execute the command. When the rule database 230 returns an error message indicating that the operator 305 does not have permission to execute the command, the management server 250 may not execute the corresponding command.
  • the rule database 230 may request the operator 305 to confirm the change of the setting.
  • the rule database 230 may transmit a command for changing the setting to the network device 103 upon receiving the confirmation of the setting change.
  • the management server 250 may store a copy of the setting data of the network device 103 in a database and perform synchronization with the network device 103 .
  • An example of a method of querying the setting data of the network device 103 when the management server 250 has a copy of the setting data of the network device 103 will be described in more detail with reference to FIG. 8 below.
  • FIG. 3 is a diagram for explaining the operation of a network management system according to an embodiment.
  • the management server 303 of the network management system eg, the network management system 101 of FIG. 1 and/or the network management system 200 of FIG. 2
  • the current value of the network device (NE) 306 eg, network device 103 in FIG. 1 and/or network device 806 in FIG. 8 to be used as an xpath condition
  • a diagram 300 showing a process of querying in real time using the command ⁇ get-config> is shown.
  • the user may edit at least one user-defined rule 370 stored in the rule database 302 using the rule editor 301.
  • the user who edits the user-defined rule 370 may be the same as or different from the operator 305 .
  • the user-defined rule 370 may include, for example, a namespace field 371, a path field 373, an xpath field 375, an authorization field 377, and a warning message field 379. may be, but is not necessarily limited thereto.
  • the name space field 371 may include elements of a global XML subtree defined by many communication providers. For example, since many communication providers individually define the YANG model used in the NETCONF protocol, a namespace can be designated for each communication provider so that they can be distinguished even if they use the same name. The name space may be different for each device type of each communication service provider. In this case, the YANG model may be specified within the communication device module of each communication service provider, and each module may be globally bound to a unique XML name space.
  • a NETCONF client or NETCONF server can use namespaces during XML encoding of data.
  • the path field 373 is a path where the target parameter to be changed is located, for example, "/interface/ifMTU” or "managed-element/gnb-du-function/sctp-retransmission-timeout-max", that is, , can indicate paths of xpath separated by forward slashes (/).
  • the xpath field 375 may include an xpath condition describing constraints applied to data for configuration of the network device 306 .
  • the xpath condition is not a simple path, but may correspond to a conditional statement in which a boolean value such as true/false is output by substituting an actual value. For example, if true is output as a result of an xpath condition, it may indicate that the xpath condition is satisfied.
  • 'xpath condition is satisfied' can be understood as that the parameter included in the xpath condition of the user-defined rule 370 defined by the user matches the setting value (setting parameter) of the network device 306. .
  • the privilege field 377 may include user privilege information required for setting the network device 306 .
  • the authority may correspond to authority necessary for executing a command requested by the operator 305 to the management server 303 in operation 320 .
  • the authority information may include, for example, level values corresponding to authority, such as 1st level, 2nd level, 3rd level, .., 5th level, or security admin level, admin level, Authority levels such as manager level, operator level, and guest level may be included, but are not necessarily limited thereto.
  • a security administrator may have the highest authority level and a guest may have the lowest authority level.
  • the warning message field 379 may include a warning message phrase to be provided to the operator 305 of the network device 306 .
  • a warning message might be, for example, "If you change to locked or shutting-down, Call service would be off.” or "RTO min should not be less than SCTP SACK period.” It may be, but is not necessarily limited thereto.
  • the user-defined rule 370 sends a warning message to the operator 305 of the network device 306 when, for example, a constraint applied to data for setting the network device 306 satisfies a specific condition.
  • a constraint applied to data for setting the network device 306 satisfies a specific condition.
  • the warning message may include, for example, content warning of performance degradation of the network device 306 that may occur when the constraints meet specific conditions, but is not necessarily limited thereto.
  • the user-defined rule 370 verifies, for example, the privilege information of the operator 305 required for setting the network device 306, and sends an error message when the required privilege information is not satisfied.
  • Can contain rules defined to display. If the authority of the operator 305 who has issued the current command does not satisfy the authority level described in the authority field 377, the rule database 302 determines that the operator 305 does not have authority to execute the current command and executes the command. may return an error message indicating that higher privileges are required for For example, if an authority value is not specified in the command, the rules database 302 may not perform authority verification. In contrast, when a privilege value in a command is set as privilege "no one", the rules database 302 may prevent anyone from performing the corresponding command.
  • the rule database 302 always regards it as true, for example, when the xpath field 375 included in the user-defined rule 370 is not defined as blank, and always without verifying the condition for the corresponding path.
  • a warning message stored in the warning message field 379 may be provided by verifying the authority field 377 .
  • the rule database 302 may leave the authority field 377 or the warning message field 379 blank, or may include only a definition for one of these fields.
  • the operator 305 may send a command according to the NETCONF protocol to the management server 303.
  • the command may be, for example, a command to edit settings of the network device 306, such as ⁇ edit-config>.
  • the command transmitted to the management server 303 may include, for example, information about who the command was sent from and the authority level of the person who issued the command.
  • the operator 305 sends, for example, a "command to change the SCTP related parameter (sctp-retransmission-timeout-max) value to 600" or a "command to change the value of cell 1 to the third frequency" to the management server ( 303).
  • the "command for changing the SCTP-related parameter value to 600" may be performed, for example, through the coding shown in FIG. 4 below.
  • the management server 303 receiving the command from the operator 305 may check whether a user-defined rule is defined in a node (eg, xpath) included in the ⁇ edit-config> command. For example, if a parameter corresponding to the xpath condition (eg, sctp-sack-period value) is included in the ⁇ eidt-config> command, the management server 303 reads the current value set in the network device 306.
  • the user-defined rules 370 can be used to change the settings of the network device 306 without need.
  • the management server 303 may not know the parameter value used in the xpath condition. In this case, in operation 330, the management server 303 transmits a command (eg, a ⁇ get-config> command) to obtain a setting to the network device 306 to obtain the current value of the network device 306 used for the xpath condition. can be looked up. At this time, the current value of sctp-sack-period can be inquired through a ⁇ get-config> command, for example, as shown in FIG. 5 below.
  • a command eg, a ⁇ get-config> command
  • the xpath tester 304 performs a parameter value included in the ⁇ edit-config> command ("sctp-retransmission-timeout-max” value) and a value retrieved from the network device 306 ("sctp-sack-period"). current value”) satisfies the xpath condition.
  • a parameter value included in the ⁇ edit-config> command ("sctp-retransmission-timeout-max” value) and a value retrieved from the network device 306 ("sctp-sack-period"). current value"
  • a method for the xpath tester 304 to check the xpath condition will be described in more detail with reference to FIG. 6 below.
  • the management server 303 extracts a boolean value indicating whether the xpath tester 304 checks the xpath condition, that is, whether the parameter included in the command satisfies the xpath condition, and the boolean value Accordingly, the authority information may be verified, and/or a warning message may be displayed to receive confirmation from the user or operator 305 .
  • Management server 303 when the authority level of the operator 305 issuing the command is lower than the authority level required for setting the network device 306, for example, as shown in Figure 7a below, higher An error message indicating permission is required may appear and the command may not be executed.
  • the management server 303 when the authority level of the operator 305 who issued the command is equal to or higher than the authority level required for setting the network device 306, the management server 303, for example, as shown in FIG. 7B below As such, a warning message defined in the rule database 302 may be displayed corresponding to the corresponding rule.
  • FIG. 4 is a diagram illustrating coding for changing parameter values by a command to edit settings according to the NETCONF protocol according to an embodiment.
  • a diagram 400 illustrating coding including a command to set "sctp-retransmission-timeout-max value" among SCTP-related parameter values to '600' by ⁇ edit-config> is shown.
  • the management server (eg, the management server 250 of FIG. 2 , the management server 3 of FIG. 3 , and/or the management server 803 of FIG. 8 ) according to an embodiment is, for example, as in operation 320 of FIG. 3 .
  • a command according to the NETCONF protocol transmitted by the operator 305 may be received.
  • the command transmitted by the operator 305 may be a command to edit settings, such as ⁇ edit-config>.
  • ⁇ edit-config> transmitted by the operator 305 may include, for example, a command to set "sctp-retransmission-timeout-max value" among SCTP-related parameter values to '600'.
  • the command to set the "sctp-retransmission-timeout-max value" to '600' is the coding " ⁇ sctp-retransmission-timeout-max>600 ⁇ /sctp-retransmission-timeout-max>" included in the drawing 400. can be done through
  • FIG. 5 is a diagram illustrating coding for inquiring a current value of a network device by a command for obtaining a setting according to a NETCONF protocol according to an embodiment.
  • a management server eg, the management server 250 of FIG. 2, the management server 303 of FIG. 3, and/or the management server 803 of FIG. 8 according to an embodiment meets the xpath condition.
  • Indicates coding including a command to query the current value of the network device being used eg, network device 103 in FIG. 1 , network device 306 in FIG. 3 , and/or network device 806 in FIG. 8 )
  • Diagram 500 is shown.
  • the management server 303 if the xpath in the ⁇ eidt-config> command includes a user-defined rule (eg, "sctp-sack-period value"), the user-defined rule without the need to read the current value. (eg, the user-defined rule 370 of FIG. 3, the user-defined rule 600 of FIG. 6, and/or the user-defined rule 870 of FIG. 8) may be used. Unlike this, for example, as in operation 330 of FIG.
  • a user-defined rule eg, "sctp-sack-period value
  • the management server 303 when the user-defined rule 370 is not defined in the xpath condition included in the ⁇ eidt-config> command, the management server 303 returns ⁇ get-config The > command requests the current value of the network device (306) used in the xpath condition (eg, the current value of "sctp-sack-period"), and sends " ⁇ sctp-sack-period>800 as an rpc-reply response. ⁇ /sctp-sack-period> ⁇ get-config>", the current value of the network device 306 may be received.
  • the current value of the network device 306 may be received.
  • FIG. 6 is a diagram for explaining a method of checking whether a parameter satisfies an xpath condition by a command for editing settings according to the NETCONF protocol according to an embodiment.
  • the xpath condition is satisfied' means that the parameter included in the xpath condition of the user-defined rule 600 defined by the user is a network device (eg, the network device 103 in FIG. 1, the network device in FIG. 3 ( 306), and/or a set value (setting parameter) of the network device 806 of FIG. 8), or may correspond to a case in which the corresponding condition is satisfied. That is, since the current setting value ('800') of the network device 306 is greater than the value (600) of the parameter "sctp-retransmission-timeout-max", the xpath condition can be satisfied.
  • the management server (eg, the management server 250 of FIG. 2, the management server 303 of FIG. 3, and/or the management server 803 of FIG. 8) performs authority verification corresponding to the command,
  • a warning message may be displayed to receive confirmation from an operator (eg, the operator 305 of FIG. 3 and/or the operator 805 of FIG. 8 ).
  • the management server 303 may allow the network device 306 to execute a corresponding command upon receiving confirmation from the operator 305 .
  • FIG. 7A is a diagram illustrating an example of an error message according to an embodiment
  • FIG. 7B is a diagram illustrating an example of a warning message according to an embodiment.
  • a diagram 710 showing an example of an error message is shown
  • a diagram 730 showing an example of a warning message is shown.
  • a permission level required for setting a network device is a manager ( manager) level
  • a manager ( manager) level is a permission level required for setting a network device
  • the authority level of the operator who issued the command is lower than the manager level.
  • the management server (eg, the management server 250 of FIG. 2 , the management server 303 of FIG. 3 , and/or the management server 803 of FIG. 8 ) provides the operator 305 with the As such, it may display an error message indicating that higher privileges are required and not execute the command.
  • the management server 303 displays a warning message (“RTO min should not be less than SCTP SACK period”) defined in the rule database 302 of FIG. 3, and/or the rule database 802 of FIG. 8, and “I have A phrase such as "read, understand and agree to the service impact of the command(s)" may be displayed to receive confirmation from the operator 305 .
  • a warning message (“RTO min should not be less than SCTP SACK period”) defined in the rule database 302 of FIG. 3, and/or the rule database 802 of FIG. 8, and “I have A phrase such as "read, understand and agree to the service impact of the command(s)" may be displayed to receive confirmation from the operator 305 .
  • a management server 803 including an xpath tester 804 (eg, the xpath tester 255 of FIG. 2 and/or the xpath tester 304 of FIG. 3 ) according to an embodiment (eg, the xpath tester 255 of FIG. 2 ) : Management server 250 of FIG. 2, and/or management server 303 of FIG. 3) stored in configuration database 807, network device 806 (e.g., network device 103 of FIG. 1, and/or User-Defined Rules 870 (eg, User-Defined Rules 370 in FIG. 3 and/or User-Defined Rules 600 in FIG. 6) using a copy of configuration data from network device 306 in FIG.
  • a diagram 800 illustrating a process of verifying the validity of the
  • the management server 803 may store a copy of the configuration data of the network device 806 in the configuration database 807 and perform synchronization with the network device 806 .
  • the value read when the NETCONF session is first connected between the network device 806 and the network management system eg, the network management system 101 of FIG. 1 and / or the network management system 200 of FIG. 2 is configured. It may be stored as initial data of the database 807 .
  • the management server 803 queries the current value of the network device 806 by issuing, for example, a ⁇ get> command, or ⁇ copy>
  • the configuration data of the network device 806 can be inquired through sftp, and a copy of the configuration data can be stored in the configuration database 807.
  • the network device 806 may periodically store a copy of the configuration data in the configuration database 807.
  • the network device 806 may transmit an event related to the corresponding data to the management server 803 .
  • the management server 803 receiving the event may perform synchronization with the network device 806 in real time so that the same data as the data changed in the network device 806 is maintained in the configuration database 807 .
  • the management server 803 stores a copy of the configuration data of the network device 806 in the configuration database 807, for example, a NETCONF session connection between the network device 806 and the network management system (EMS) Even in this disconnected state, the management server can verify the validity of the user-defined rule using the copy stored in the configuration database 807 .
  • EMS network management system
  • the user uses the rule editor 801 (e.g., the rule editor 210 of FIG. 2 and/or the rule editor 301 of FIG. 3) to select at least one user-defined data stored in the rule database 802.
  • Rule 870 can be edited.
  • the user-defined rule 870 sends a warning message to the operator 805 of the network device 806 when, for example, a constraint applied to data for setting the network device 806 satisfies a specific condition. It may include rules defined to show and receive confirmation from the operator 805 on whether or not to perform.
  • the operator 805 may send a command according to the NETCONF protocol to the management server 803.
  • the command may be, for example, a command for changing SCTP-related parameter values in ⁇ edit-config>.
  • the command transmitted to the management server 803 may include, for example, information about who the command was sent from and the authority level of the operator 805 who issued the command.
  • the operator 805 may transmit, for example, a “command for changing the SCTP-related parameter (sctp-retransmission-timeout-max) value” to the management server 803 .
  • the "command for changing the SCTP-related parameter value” may be performed, for example, through coding shown in FIG. 9 below.
  • the xpath tester 804 of the management server 803 defines an xpath rule for the parameter (eg sctp-retransmission-timeout-max value) included in the ⁇ edit-config> command
  • the xpath tester 804 specified in the xpath You can check if a value (eg sctp-sack-period value) is included in the current ⁇ edit-config> command. If the sctp-sack-period value is not included in the ⁇ edit-config> command, the management server 803 stores the current value of the network device 806 in the configuration database (eg, similar to FIG. 6 described above). 807) to compare.
  • the value specified in xpath (if it is not included in the current ⁇ edit-config> command, the xpath tester 804 queries the current value from the configuration data of the network device 806 stored in the configuration database 807 to satisfy the xpath condition. You can check whether it does.
  • the management server 803 obtains a result of checking whether the xpath tester 804 satisfies the xpath condition, checks authority information according to the obtained result, and/or displays a warning message so that the user or operator A confirmation of 805 may be received.
  • the result of checking whether the xpath condition is satisfied may correspond to a boolean value indicating whether a parameter included in the command satisfies the xpath condition.
  • the management server 803 first looks for the value specified in the xpath condition in the current ⁇ edit-config> command, and if not found, obtains the current value from the configuration data of the network device 806 and checks whether the xpath condition is satisfied.
  • a warning message defined in the rule database 802 may be displayed corresponding to the corresponding rule.
  • the management server 803 may receive confirmation from the operator 805 whether to perform the command despite the displayed warning message. Upon receiving confirmation from the operator 805, the management server 803 may transmit a command so that the network device 806 executes the command.
  • FIG. 9 is a diagram illustrating coding including changed parameter values in a command to edit settings according to the NETCONF protocol in the same situation as in FIG. 8 .
  • a diagram 900 showing coding including "sctp-retransmission-timeout-max value” and "sctp-sack-period value” among SCTP-related parameter values in the ⁇ edit-config> command is shown. .
  • the management server (eg, the management server 250 of FIG. 2 , the management server 303 of FIG. 3 , and/or the management server 803 of FIG. 8 ) according to an embodiment is, for example, operation 830 of FIG. 8 .
  • a command according to the NETCONF protocol transmitted by the operator 805 eg, the operator 305 of FIG. 3 can be received.
  • the command transmitted by the operator 805 is set as ⁇ edit-config> It may be a command to edit .At this time, both the sctp-retransmission-timeout-max value and the sctp-sack-period value may be included in the ⁇ edit-config> command.
  • the management server 803 converts the value specified as the xpath condition in the current ⁇ edit-config> command. Search, and if the value specified as the xpath condition in the ⁇ edit-config> command is not found, the network device (e.g., network device 103 in FIG. 1, network device 306 in FIG. 3, and/or network device 306 in FIG. 8) It is possible to check whether the xpath condition is satisfied by querying the current value of the network device 806 in a configuration database (eg, the configuration database 807 of FIG. 8 ). If the sctp-sack-period value is not included in the ⁇ edit-config> command, the management server 803 may query and compare the current value of the network device 806 in the configuration database 807 .
  • a configuration database eg, the configuration database 807 of FIG. 8
  • each operation may be performed sequentially, but not necessarily sequentially.
  • the order of each operation may be changed, or at least two operations may be performed in parallel.
  • configuration management of network devices eg, network device 103 of FIG. 1 , network device 306 of FIG. 3 , and/or network device 806 of FIG. 8 ) according to an embodiment is performed.
  • a network management system eg, the network management system 101 of FIG. 1 and/or the network management system 200 of FIG. 2
  • NETCONF network configuration protocol for NETCONF
  • the network management system 200 sets at least one user-defined rule (e.g., user-defined rule 370 of FIG. 3, user-defined rule of FIG. 6) for configuration of a network device according to the NETCONF protocol. 600, and/or user-defined rules 870 of FIG. 8).
  • 'at least one user-defined rule' includes, for example, an xpath condition describing a constraint applied to data, a warning message to be provided to an operator of a network device, and a network device. It may include at least one of privilege information required for setting, but is not necessarily limited thereto.
  • the network management system 200 may validate the at least one user-defined rule 370 by a command according to the NETCONF protocol and return a validation result.
  • the network management system 200 determines whether the parameter satisfies the xpath condition by referring to the setting of the network device 103 based on whether the command according to the NETCONF protocol includes a parameter corresponding to the xpath condition. can decide The network management system 200 responds to a request of an operator (eg, the operator 305 of FIG. 3 and/or the operator 805 of FIG. 8) for changing the settings of the network device 103, according to the NETCONF protocol. It may be checked whether at least one user-defined rule 370 is defined in a node included in a command for editing settings.
  • an operator eg, the operator 305 of FIG. 3 and/or the operator 805 of FIG.
  • the network management system 200 uses the parameter instead of the current value of the network device when a parameter corresponding to the xpath condition is defined among at least one user-defined rule 370 included in the command to edit the settings.
  • the settings of the network device 103 can be changed. If at least one user-defined rule 370 is not defined in the node included in the command to edit the settings, the network management system 200 transmits a command to obtain the settings according to the NETCONF protocol to the network device 103 Thus, the current value of the network device 103 used in the xpath condition can be inquired.
  • the network management system 200 uses the user-defined rules 370 to network, for example, if at least one user-defined rule 370 is defined in a node included in the command to edit the settings.
  • the settings of the device 103 can be changed.
  • the network management system 200 may determine whether at least one of at least one user-defined rule 370 included in the command to edit settings and the current value of the searched network device 103 satisfies the xpath condition. .
  • the network management system 200 determines in operation 1010 whether the authority level of the operator 305 that has sent the command to edit the settings satisfies the authority information, , If it is determined that the authority level of the operator 305 does not satisfy the authority information, an error message indicating that a higher authority is required to execute the command may be returned to the operator 305 .
  • the network management system 200 may change the setting of the network device 103 by using the parameter instead of the current value of the network device 103.
  • the network management system using the NETCONF (network configuration) protocol for setting management of the network devices (103, 306, 806) according to the NETCONF protocol, the network devices (103, 306) , 806), an xpath condition describing constraints applied to data for configuration, a warning message to be provided to the operators 305 and 805 of the network devices 103, 306, and 806
  • a rule editor for editing a user-defined rule (370, 600, 870) including at least one of a warning message) and privilege information required for setting the network device (103, 306, 806) (Rule editor), a rule database (230, 302) that validates the at least one user-defined rule (370, 600, 870) by a command according to the NETCONF protocol and returns the validation result , 802) (User-defined rule database), and if the command includes a parameter corresponding to the xpath condition, the parameter satisfies the xpath condition by referring to the settings of the network devices 103,
  • the management server (250, 303, 803) responds to the request of the operator (305, 805) for changing the setting of the network device (103, 306, 806), according to the NETCONF protocol. It may be checked whether the at least one user-defined rule 370, 600, or 870 is defined in a node included in a setting editing command.
  • the management server (250, 303, 803), when the at least one user-defined rule (370, 600, 870) is defined in the node included in the command to edit the settings, the user Settings of the network devices 103 , 306 , and 806 may be changed using definition rules 370 , 600 , and 870 .
  • the management server (250, 303, 803) includes the at least one user-defined rule (370, 600, 870) included in the command to edit the setting and the network device (103, 306) that has been queried. , 806) may determine whether or not at least one of the current values satisfies the xpath condition.
  • the rule database 230, 302, 802 determines that the authority level of the operator 305, 805 that has transmitted the command to edit the setting is the same as the above. It can be determined whether or not the authority information is satisfied.
  • the rule database (230, 302, 802) when the authority level of the operator (305, 805) does not satisfy the authority information, the operator (305, 805) to execute the command In order to return an error message indicating that higher authority is required, the management server 250, 303, 803 may not execute the command.
  • the rule database (230, 302, 802) when the authority level of the operator (305, 805) satisfies the authority information, to the operator (305, 805) about the change of the setting Confirmation may be requested, and upon receipt of the confirmation, a command for changing the setting may be transmitted to the network device 103 , 306 , or 806 .
  • the management server 250, 303, 803 defines a parameter corresponding to the xpath condition among the at least one user-defined rule 370, 600, 870 included in the command to edit the setting.
  • the setting of the network device 103, 306, 806 may be changed using the parameter instead of the current value of the network device 103, 306, 806.
  • the management server (250, 303, 803), when the at least one user-defined rule (370, 600, 870) is not defined in the node included in the command to edit the setting, the A current value of the network device 103 , 306 , 806 used for the xpath condition may be inquired by sending a command to obtain settings according to the NETCONF protocol to the network device 103 , 306 , 806 .
  • the management server (250, 303, 803) sends the NETCONF to the network device (103, 306, 806) when a parameter corresponding to the xpath condition is not included in the command to edit the settings. It is possible to inquire the current values of the network devices 103, 306, and 806 used for the xpath condition by sending a command to obtain settings according to the protocol.
  • the management server 250, 303, 803 extracts a boolean value indicating whether the parameter satisfies the xpath condition, displays the warning message according to the boolean value, Alternatively, the authority information may be verified.
  • the management server 250, 303, 803 sets the boolean value to true, and thus the rule database 230, 302, 802 may provide at least one of the authority information and the warning message without additional validation.
  • the rule database 230, 302, 802 may include at least one of the xpath condition, the authority information, and the warning message.
  • the management server 250, 303, 803 may store a copy of the setting data of the network device 103, 306, 806 in a database and perform synchronization.
  • the operation of determining whether the parameter satisfies the xpath condition is in response to a request of the operator 305 or 805 for changing the setting of the network device 103, 306, or 806,
  • An operation of checking whether the at least one user-defined rule 370, 600, or 870 is defined in a node included in a command for editing settings according to the NETCONF protocol may be included.
  • the operation of checking whether the at least one user-defined rule 370, 600, or 870 is defined is performed by sending the at least one user-defined rule 370 to a node included in the setting editing command. , 600, 870) is defined, an operation of changing the settings of the network devices 103, 306, and 806 using the user-defined rules 370, 600, and 870 may be included.
  • the operation of checking whether the at least one user-defined rule (370, 600, 870) is defined is the at least one user-defined rule (370, 600) included in the command to edit the setting. , 870) and an operation of determining whether at least one of the current values of the network devices 103, 306, and 806 satisfies the xpath condition, and the user-defined rules 370, 600, and 870 ( rule) is an operation of determining whether the authority level of the operator (305, 805) who has transmitted the command to edit the settings satisfies the authority information, when it is determined that the at least one satisfies the xpath condition. , If it is determined that the authority level of the operator (305, 805) does not satisfy the authority information, returning an error message indicating that a higher authority is required for the execution of the command to the operator (305, 805) can do.
  • the operation of determining whether the parameter satisfies the xpath condition corresponds to the xpath condition among the at least one user-defined rule (370, 600, 870) included in the command to edit the setting.
  • a parameter is defined
  • the at least one user-defined rule (370, 600, 870) is not defined in a node included in the command
  • a command for obtaining settings according to the NETCONF protocol is transmitted to the network device (103, 306, 806) and querying the current value of the network device 103, 306, 806 used for the xpath condition.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

일 실시예에 따른 네트워크 장치의 설정 관리를 위한 NETCONF 프로토콜을 이용하는 네트워크 관리 시스템은 NETCONF 프로토콜에 따라, 네트워크 장치의 설정을 위해 데이터에 적용되는 제약을 기술하는 xpath 조건, 네트워크 장치의 운용자에게 제공할 경고 메시지, 및 네트워크 장치의 구성을 위해 요구되는 권한 정보 중 적어도 하나를 포함하는 사용자 정의 규칙을 편집하는 규칙 편집기, NETCONF 프로토콜에 따른 명령에 의해 적어도 하나의 사용자 정의 규칙에 대한 유효성을 검증하고, 유효성 검증 결과를 리턴하는 규칙 데이터베이스, 및 명령에 xpath 조건에 해당하는 파라미터가 포함된 경우, 네트워크 장치의 설정을 참조하여 파라미터가 xpath 조건을 만족하는지 여부를 결정하는 관리 서버를 포함한다.

Description

네트워크 관리 시스템 및 네트워크 관리 시스템의 동작 방법
아래의 개시는 네트워크 관리 시스템(NMS) 및 네트워크 관리 시스템의 동작 방법에 관한 것이다.
네트워크를 운용하기 위해서 통신 장치의 설정(configuration)을 변경하는 방법으로 예를 들어, 명령어 인터페이스(command line interface; CLI) 또는 간이 망 관리 프로토콜(simple network management protocol; SNMP)과 같은 프로토콜 기술이 사용될 수 있다. 하지만, 네트워크 장치가 고도화되고 복잡해짐에 따라 복잡한 네트워크를 한꺼번에 설정하고, 자동화할 수 있는 NETCONF(network configuration) 프로토콜의 사용이 증가하고 있다.
NETCONF 프로토콜에서 사용하는 YANG 모델은 간이 망 관리 프로토콜(SNMP)에서 사용하는 관리 정보 베이스(management information base; MIB)과는 다르게 트리(tree) 형태로서 리스트 내에 리스트가 포함될 수 있어 계층적인 구조를 표현할 수 있다.
YANG 모델은 여러 개의 리스트 값들을 하나의 명령에 담아서 일괄 변경할 수 있다. 때문에 YANG 모델은 예를 들어, 서비스 상태를 변경하기 위해서 여러 번의 명령으로 네트워크 장치(network element; NE)의 설정을 변경하다가 중간에 에러(error)가 발생했을 경우, 계속 진행도 불가능하고 원상 복귀도 불가능한 상태에서 멈춰서 서비스에 영향을 미칠 수 있다.
실시예들에 따르면, 네트워크 장치의 설정(configuration)을 변경하는 과정에서 에러가 발생하더라도 계속 진행이 가능하게 하거나, 또는 원상 복구가 가능하게 하는 한편, 사용자의 설정을 전체 적용하거나 아무것도 적용하지 않은 상태로 처리(transaction)가 수행되도록 할 수 있다.
실시예들에 따르면, YANG 모델에서 설정이 금지된 규칙(rule) 뿐만 아니라, 예를 들어, 특수한 경우에 예외적으로 허용되는 규칙, 더 높은 사용자 권한(user privilege)을 필요로 한다는 경고 메시지, 및/또는 해당 설정을 적용하면 성능이 저하될 수 있다는 경고 메시지를 띄우는 것과 같이 완화된 규칙을 제공할 수 있다.
실시예들에 따르면, 다양한 통신 사업자들이 네트워크 장치를 운용하면서 습득한 노하우에 해당하는 정보 또는 조건들(예: 특정 값들의 조합을 가지는 경우에 성능이 저하된다는 조건)을 정형화된 사용자 정의 규칙들로 새로이 생성할 수 있다.
실시예들에 따르면, 네트워크 운용자가 가진 노하우(knowhow)가 축적된 정형화된 형식의 지식 기반 시스템(knowledge base system)을 구축할 수 있다.
일 실시예에 따르면, 네트워크 장치의 설정 관리를 위한 NETCONF(network configuration) 프로토콜을 이용하는 네트워크 관리 시스템은 상기 NETCONF 프로토콜에 따라, 상기 네트워크 장치의 설정(configuration)을 위해 데이터에 적용되는 제약(constraint)을 기술하는 xpath 조건, 상기 네트워크 장치의 운용자(operator)에게 제공할 경고 메시지(warning message), 및 상기 네트워크 장치의 설정을 위해 요구되는 권한(privilege) 정보 중 적어도 하나를 포함하는 사용자 정의 규칙(rule)을 편집하는 규칙 편집기(Rule editor), 상기 NETCONF 프로토콜에 따른 명령에 의해 상기 적어도 하나의 사용자 정의 규칙에 대한 유효성을 검증하고, 상기 유효성 검증 결과를 리턴(return)하는 규칙 데이터베이스(Rule database), 및 상기 명령에 상기 xpath 조건에 해당하는 파라미터가 포함된 경우, 상기 네트워크 장치의 설정을 참조하여 상기 파라미터가 상기 xpath 조건을 만족하는지 여부를 결정하는 관리 서버를 포함할 수 있다.
일 실시예에 따르면, 네트워크 장치의 설정 관리를 위한 NETCONF(network configuration) 프로토콜을 이용하는 네트워크 관리 시스템의 동작 방법은 상기 NETCONF 프로토콜에 따라, 상기 네트워크 장치의 설정(configuration)을 위해 데이터에 적용되는 제약(constraint)을 기술하는 xpath 조건, 상기 네트워크 장치의 운용자(operator)에게 제공할 경고 메시지(warning message), 및 상기 네트워크 장치의 설정을 위해 요구되는 권한(privilege) 정보 중 적어도 하나를 포함하는 사용자 정의 규칙(rule)을 편집하는 동작, 상기 NETCONF 프로토콜에 따른 명령에 의해 상기 적어도 하나의 사용자 정의 규칙에 대한 유효성을 검증하고, 상기 유효성 검증 결과를 리턴(return)하는 동작, 및 상기 명령에 상기 xpath 조건에 해당하는 파라미터가 포함되어 있는지 여부를 기초로, 상기 네트워크 장치의 설정을 참조하여 상기 파라미터가 상기 xpath 조건을 만족하는지 여부를 결정하는 동작을 포함할 수 있다.
일 실시예에 따른 네트워크 관리 시스템은 운용자가 규칙 편집기를 통해 xpath 조건을 정의할 수 있도록 함으로써 네트워크 장치의 설정을 변경할 수 있는 사용자를 특정 그룹으로 제한하는 완화된 접근 제어 기능을 제공할 수 있다.
일 실시예에 따른 네트워크 관리 시스템은 xpath 조건에 의해 네트워크 장치의 설정 값이 성능 저하와 같은 문제가 우려되는 값으로 변경되는 경우에 경고 문구를 띄우고, 변경 여부에 대한 사용자의 확인(confirm)을 받도록 함으로써 완화된 접근 제어 기능을 운용자가 직접 정의하도록 할 수 있다.
일 실시예에 따른 네트워크 관리 시스템은 통신 사업자가 네트워크 장치를 운용하면서 발견한 노하우(know-how)를 정형화된 사용자 정의 규칙으로 생성하고, 사용자 정의 규칙들을 누적하여 지식 기반 시스템을 구축하는 한편, 높은 부가 가치를 창출할 수 있다.
도 1은 일 실시예에 따른 NETCONF 모델의 계층들을 도시한 도면이다.
도 2는 일 실시예에 따른 네트워크 관리 시스템의 블록도이다.
도 3은 일 실시예에 따른 네트워크 관리 시스템의 동작을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령에 의해 파라미터 값을 변경하는 코딩을 나타낸 도면이다.
도 5는 일 실시예에 따른 NETCONF 프로토콜에 따른 설정을 획득하는 명령에 의해 현재값을 조회하는 코딩을 나타낸 도면이다.
도 6은 일 실시예에 따른 NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령에 의해 파라미터가 xpath 조건을 만족하는지 여부를 확인하는 방법을 설명하기 위한 도면이다.
도 7a는 일 실시예에 따른 에러 메시지의 일 예시를 도시한 도면이고, 도 7b는 일 실시예에 따른 경고 메시지의 일 예시를 도시한 도면이다.
도 8은 일 실시예에 따른 관리 서버가 네트워크 장치의 설정 데이터의 복사본을 가지고 있는 경우의 동작을 설명하기 위한 도면이다.
도 9는 도 8와 같은 상황에서 NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령에 의해 파라미터 값을 변경하는 명령을 전송하는 코딩을 나타낸 도면이다.
도 10은 일 실시예에 따른 네트워크 관리 시스템의 동작 방법을 나타낸 흐름도이다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)에 의해 읽을 수 있는 저장 매체(storage medium)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기의 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운용되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 1은 일 실시예에 따른 NETCONF 모델의 계층들을 도시한 도면이다. 이하, 일 실시예에 따른 네트워크 관리 시스템(network management system; NMS)(101)(예: 도 2의 네트워크 관리 시스템(200))에 대해 살펴보기에 앞서, 네트워크 관리 시스템(101)이 이용하는 NETCONF 모델(100)에 대해 살펴보기로 한다.
스마트폰 기술의 비약적인 증가로 인하여 데이터 트래픽이 해마다 기하 급수적으로 증가하고 있으며, 데이터 트래픽을 수용하기 위해 다양한 네트워크 장치(들)(network elements; NEs)(103)(예: 도 3의 네트워크 장치(306), 및/또는 도 8의 네트워크 장치(806))로 구성된 대규모 네트워크가 형성될 수 있다. 네트워크 장치(들)(103)은 예를 들어, 이기종 장치, 가상 머신, 망 관리 프로그램, 기지국, 중계기, 라우터, 액세스 포인트를 포함할 수 있으며, 반드시 이에 한정되지는 않는다.
이러한 대규모 네트워크들은 예를 들어, 간이 망 관리 프로토콜(simple network management protocol; SNMP), 명령어 인터페이스(command line interface; CLI), 또는 관리 프로토콜인 거래 언어(transaction language 1; TL1)와 같은 전통적인 망 관리 프로토콜에 의해 제어될 수 있다. 하지만, 특정 장치에서 제한적인 구성 정보를 모델링하는 방법은 많은 관리 트래픽을 발생시킬 수 있다. 네트워크 장치(들)(103)를 관리하기 위해서는 구성 연산자와 설정 정보를 해당 네트워크 장치(103)에 전달하는 전송 기능과 같은 다양한 단계가 존재하는데, 이들 여러 단계들을 하나의 단계로 설계하거나, 여러 종류의 다양한 네트워크 장치(들)(103)을 관리하는 것은 용이하지 않을 수 있다.
NETCONF 모델(100)은 인터넷 표준 규격을 연구하는 IETF(internet engineering task force)가 다양한 네트워크 환경에서 네트워크 장치(103)의 설정 관리를 수월하게 수행할 수 있도록, 예를 들어, XML(extensible markup language), 또는 JSON(java script object notation)과 같은 텍스트 기반으로 표준화한 프로토콜 모델에 해당할 수 있다. NETCONF 모델(100)은 예를 들어, 소프트웨어 정의 네트워킹(software defined networking; SDN), 네트워크 관리 시스템(network management system; NMS) 및 환경 관리 시스템(environmental management system; EMS)과 같은 세션 기반의 망 관리 표준에 해당할 수 있다.
NETCONF 모델(100)은 네트워크 장치(103)의 구성 정보를 송수신하는 데이터를, 예를 들어, 도 1에 도시된 것과 같이 총 4개의 독립된 계층들로 정의함으로써, 다양한 이기종 시스템 사이에서 NETCONF 프로토콜의 운용 뿐만 아니라 NETCONF 프로토콜 환경에서 간단하게 구조화된 XML 정보 데이터의 교환 또한 가능하게 할 수 있다. 이하, 설명의 편의를 위하여, NETCONF 모델(100)은 'NETCONF 프로토콜'로 표현할 수 있다.
NETCONF 모델(100)은 정형화된 텍스트 기반 데이터의 송수신을 통해 이기종 네트워크 장치들 간의 상호 운용성을 보장할 수 있다. 네트워크 관리 시스템(101)은 XML 기반의 RPC(remote procedure call) 계층(130)과 구성 데이터를 사용하여 네트워크 장치(들)(103)를 관리할 수 있다. 이때, 네트워크 장치(103)가 정형화된 XML 메시지를 RPC를 통해 네트워크 관리 시스템(101)에게 전달함으로써 구성 관리 서비스가 구현될 수 있다. 여기서, RPC는 네트워크 관리 시스템(100)의 관리 서버(예: 도 2의 관리 서버(250), 도 3의 관리 서버(303), 도 8의 관리 서버(803))가 네트워크에서 원격에 존재하는 네트워크 장치(103) 내에 위치하고 있는 서브 루틴을 호출하여 서비스를 요청하는데 사용하는 표준에 해당할 수 있다. RPC를 사용하는 경우, 서비스를 요청하는 네트워크 장치(103)의 프로그램은 네트워크의 자세한 상태를 알 필요가 없다. 예를 들어, RPC를 기반으로 클라이언트/서버 모델을 사용하는 경우, 서비스를 요청하는 프로그램은 '클라이언트'가 되고, 서비스를 제공하는 프로그램은 '서버'가 될 수 있다. RPC 동작은 네트워크 장치(103)가 전송하는 XML 메시지 내에 서비스 이름을 XML 태그(tag)에 기술하여 네트워크 관리 시스템(100)에게 전송하고, 전송된 정보를 수신한 네트워크 관리 시스템(100)의 관리 서버(250)가 서비스 이름과 필요한 인자 값들을 추출하여 요청한 명령을 수행한 후 결과값을 전송 메시지에 삽입하여 네트워크 장치(103)에게 응답함으로써 수행될 수 있다.
도 1을 참조하면, 일 실시예에 따른 NETCONF 모델(100)은 XML 형태의 관리 구성 및 운용 정보를 기술하는 컨텐츠 계층(content layer)(110), 네트워크 장치(103)의 연산을 정의하는 운용 계층(operation layer)(120), 원격 제어를 위한 코딩(coding) 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있는 RPC 계층(RPC layer)(130), 및 이기종 장치들 간에 패킷 데이터를 전송하는 전송 계층(transport layer)(140)의 4개 계층들을 포함할 수 있다.
NETCONF 모델(100)에서의 동작을 살펴보면, 모든 NETCONF 프로토콜 작업은 전송 계층(140)에 의해 연결된 세션(session) 내에서 수행되고, 세션은 관리자가 할당한 액세스 권한 집합을 가진 특정 사용자를 대표한다고 가정할 수 있다. NETCONF 서버는 클라이언트의 요청을 처리하기 전에 세션을 요청하는 엔티티(entity)를 인증할 수 있다. 이때, NETCONF 모델(100)에 기초하여 전송되는 NETCONF 메시지는 예를 들어, UTF-8 문자 세트를 사용하여 XML로 인코딩될 수 있다. NETCONF 메시지가 원격지의 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜인 SSH(secure shell)로 인코딩되는 경우, 메시지 프레임을 제공하기 위해 6자의 특수 메시지 종료 시퀀스가 사용될 수 있다.
이와 같이 NETCONF모델(100)이 전송 계층(140)에서 세션을 사용하는 이유는 일부 프로시저들이 1개 이상의 프로토콜 연산자를 요구하며, 세션이 종료되거나 죽었을 경우 해당 세션에서 이루어진 작업들을 지울 수 있기 때문이다. NETCONF 모델(100)의 특징은 capability URIs로 식별되는데, 하나의 세션은 망 관리자와 관리 장치 사이에서 capability 열람을 교환하면서 시작될 수 있다. NETCONF 모델(100)의 RPC 작업은 구성 데이터 저장소에서 동작하는데, 구성 데이터 저장소는 정보를 저장하고 액세스하는 개념적인 장소를 의미하며, 파일 또는 데이터베이스를 사용하여 구현될 수 있다. NETCONF 모델(100)은 네트워크 장치(103) 내에서 서로 다른 처리 및 지속적인 동작을 지원하기 위해서 예를 들어, 3개의 표준 구성 데이터 저장소를 정의할 수 있다.
한편, NETCONF 모델(100)의 컨텐츠 계층(110)은 후술하는 YANG 모델 내에서 정의된 네임 스페이스(name space)를 사용하여 XML 서브 트리(sub tree)의 엘리먼트 및/또는 검증 속성에 사용될 네임 스페이스를 XML 메시지로 구성할 수 있다. 컨텐츠 계층(110)은 YANG 모델에서 사용된 구분자를 XML의 지역 이름으로 사용할 수 있다.
RPC 계층(130)의 메시지는 유효한 XML 문서이며, 해당 XML 문서 내에 포함된 모든 연산자들은 NETCONF 모델(100)에 특화된 RPC 메커니즘을 사용할 수 있다. RPC 메카니즘은 연산 결과를 되돌려주는 특징을 가질 수 있다.
메시지 내 <rpc> 엘리먼트는 필수적으로 메시지 식별 정보(message-id)를 포함하며, 모든 연산자들을 YANG 모델의 'rpc' 기술자를 사용하여 정의될 수 있다. 메시지 내 rpc 정의 내에 포함된 'input' 기술자는 프로토콜 연산자에 필요한 인자값을 표시할 수 있다. 'input' 기술자 내의 각 데이터 형식은 해당 함수 노드의 자식 노드(child node)에 위치할 수 있다. rpc 정의 내에 'output' 기술자가 존재하지 않으면 Ok 엘리먼트만 되돌려주지만, 'output' 기술자가 존재하면 해당 결과값은 rpc-reply 노드의 자식 노드로 구성될 수 있다.
또한, NETCONF 모델(100)은 연산 처리 중 에러가 발생하면, '1'을 리턴하거나, 또는 <rpc-error> 자식 노드를 <rpc-reply> 노드에 추가할 수 있다.
운용 계층(120)에서 기본적으로 제공되는 프로토콜 연산자들은 예를 들어, YANG 모델에 정의될 수 있다. 프로토콜 연산자들은 예를 들어, 아래의 [표 1]과 같이 정의될 수 있다.
Figure PCTKR2022020910-appb-img-000001
도 2는 일 실시예에 따른 네트워크 관리 시스템의 블록도이다. 도 2를 참조하면, 일 실시예에 따른 네트워크 관리 시스템(network management system; NMS)(200)(예: 도 1의 네트워크 관리 시스템(101))은 네트워크 장치(예: 도 1의 네트워크 장치(103), 도 3의 네트워크 장치(306), 및/또는 도 8의 네트워크 장치(806))의 설정 관리를 위한 NETCONF(network configuration) 프로토콜(예: 도 1의 NETCONF 모델(100))을 이용하며, 예를 들어, 규칙 편집기(rule editor)(210), 규칙 데이터 베이스(rule database)(230), 및 관리 서버(management server)(250)를 포함할 수 있다. 관리 서버(250)는 xpath 테스터(tester)(255)를 포함할 수 있다.
규칙 편집기(210)는 NETCONF 프로토콜에 따라, 네트워크 장치(103)의 설정(configuration)을 위해 데이터에 적용되는 제약(constraint)을 기술하는 xpath 조건, 네트워크 장치(103)의 운용자(operator)(예: 도 3의 운용자(305), 도 8의 운용자(805))에게 제공할 경고 메시지(warning message), 및 네트워크 장치(103)의 설정을 위해 요구되는 권한(privilege) 정보 중 적어도 하나를 포함하는 적어도 하나의 사용자 정의 규칙(user defined rule)(예: 도 3의 사용자 정의 규칙(370), 및/또는 도 8의 사용자 정의 규칙(870))을 편집할 수 있다.
여기서, xpath는 XML 문서의 일부를 처리하기 위한 것으로서, 표면 구문이 아닌 XML 문서의 추상적이고 논리적인 구조에서 작동할 수 있다. xpath는 XML 문서의 계측 구조를 탐색하기 위한 URL에서와 같이 경로 표기법을 사용하여 이름을 얻을 수 있다. xpath는 XLM 문서 내에서 특성 값을 지정하기 위한 표현 형태에 해당할 수 있다. xpath는 예를 들어, 한 줄의 문자열로 구성된 조건문에 해당한다는 점에서 'xpath 조건'이라고 불릴 수도 있다. 이하, 'xpath'와 'xpath 조건'은 서로 동일한 의미로 이해될 수 있다.
xpath 조건은 예를 들어, <>= 같은 연산자까지 포함하여 특정 경로를 지정할 수 있으며, 이 외에도, 참/거짓(true/false)과 같은 불린(Boolean) 조건식을 표현하는데도 사용될 수 있다. 예를 들어, 단순히 슬래시(/)로 구분된 경로(예: 절대 경로)를 나타내거나, 변경하려는 파라미터의 경로를 지정하기 위해 사용되는 path는 xpath조건의 경로에 해당할 수 있다.
경고 메시지는 예를 들어, 아래의 도 7b에 도시된 것과 같이, 운용자(305)의 권한이 미리 요구되는 권한을 만족할 경우에 나타내도록 정의된 메시지에 해당할 수 있다. 권한 정보는 네트워크 관리 시스템(200)이 권한 검증을 수행하여 명령을 내린 운용자(305)의 권한 등급을 네트워크 장치(103)의 구성 변경을 위해 요구되는 권한 등급과 비교하는데 이용될 수 있다. 예를 들어, 운용자(305)의 권한 등급이 '관리자 등급'보다 낮은 경우, 네트워크 관리 시스템(200)은 예를 들어, 아래의 도 7a에 도시된 것과 같이 더 높은 권한이 필요하다는 메시지를 전송할 수 있다.
규칙 편집기(210)는 네트워크 장치(103)에서 제공하는 YANG 모델을 사용자에게 보여주고, 사용자가 설정 또는 입력한 NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령(예: <edit-config>)을 수행할 수 있다. 또한, 규칙 편집기(210)는 xpath 조건 및 사용자가 정의한 텍스트를 확인하거나, 또는 요구되는 권한을 설정할 수 있는 화면을 제공할 수 있다. 여기서, 'YANG 모델'은 각 네트워크 장치(103)가 관리 정보를 어떻게 관리하고 표현할 지를 정의한 것에 해당할 수 있다. YANG 모델은 must 구문에 의해 정의되므로 조건에 맞지 않은 설정을 하는 것이 불가능하고, 설정 변경 명령을 내린다 해도 실패(fail)로 처리될 수 있다. 따라서 YANG 모델에서는 운용자(305)의 실수로 네트워크 장치(103)가 잘못 설정되는 경우가 발생할 수 없다. 또한, YANG 모델은 must 구문에 의해 정의되므로, 예를 들어, 일반적으로 사용되진 않지만 특수한 경우에 설정된 필요성이 있어서 더 높은 사용자 권한(user privilege)을 필요로 한다고 하거나, 해당 설정을 수행하는 경우에 네트워크 장치(103)의 성능이 저하될 수 있다는 경고 메시지를 띄워 사용자의 확인(confirm)을 받는 것과 같은 좀 더 완화된 규칙을 사용할 수 없다.
일 실시예에 따르면, 네트워크 관리 시스템(200)은 규칙 편집기(210)를 이용하여 사용자 또는 운용자(305)가 경험에 기반한 보다 완화되고 다양한 규칙, 예컨대 사용자 정의 규칙(370)을 편집 가능하게 함으로써 사용자의 노하우를 반영한 지식 기반 시스템을 구축할 수 있다.
규칙 데이터베이스(230)은 사용자에 의해 정의된 규칙 데이터베이스(rule database)로서, 예를 들어, xpath조건, 네트워크 장치(103)의 설정을 위해 요구되는 권한(privilege) 정보, 및 사용자에게 보여줄 경고 메시지 중 적어도 하나를 포함할 수 있다. 규칙 데이터베이스(230)는 NETCONF 프로토콜에 따른 명령을 전달받아 규칙에 기반한 검증을 수행하고, 검증 결과를 관리 서버(250)에게 리턴할 수 있다.
규칙 데이터베이스(230)는 NETCONF 프로토콜에 따른 명령에 의해 적어도 하나의 사용자 정의 규칙(370)에 대한 유효성을 검증하고, 유효성 검증 결과를 리턴(return)할 수 있다. 규칙 데이터베이스(230)는 유효성이 검증된 적어도 하나의 사용자 정의 규칙(370)을 누적적으로 저장할 수 있다. 이하, 설명의 편의를 위하여, 'NETCONF 프로토콜에 따른 명령'을 '명령' 또는 'NETCONF 명령'으로 간략화하여 표현할 수 있다.
일 실시예에 따른 네트워크 관리 시스템(200)은 사용자 정의 규칙(370)에 대한 유효성을 검증하기 위해 xpath 조건으로 사용할 네트워크 장치(103)의 현재 값을 명령 <get-config>을 사용하여 네트워크 장치(103)에 실시간으로 조회할 수도 있고, 또는 사용자 정의 규칙(370)에 대한 유효성을 검증하기 위해 미리 저장된 네트워크 장치(103)의 설정 데이터의 복사본을 사용할 수도 있다.
관리 서버(250)는 예를 들어, 운용자(305)가 요청한 명령에 xpath 조건에 해당하는 파라미터가 포함된 경우, 네트워크 장치(103)의 설정(예: 네트워크 장치(103)에 설정된 xpath 조건에 해당하는 파라미터의 현재 값)을 참조하여 해당 파라미터가 xpath 조건을 만족하는지 여부를 결정할 수 있다. 관리 서버(250)는 해당 파라미터가 xpath 조건을 만족하는지 여부를 나타내는 불린(boolean) 값을 추출하고, 불린 값에 따라 경고 메시지를 표시하거나, 또는 권한 정보를 검증할 수 있다.
관리 서버(250)는 예를 들어, 운용자(305)가 요청한 명령에 xpath 조건이 정의되지 않은 경우, 불린 값을 참(true)으로 설정함으로써 규칙 데이터베이스(230)가 추가적인 유효성 검증없이 권한 정보 및 경고 메시지 중 적어도 하나를 제공하도록 할 수 있다.
보다 구체적으로, 관리 서버(250)는 xpath 테스터(255)를 포함할 수 있다. 관리 서버(250)는 xpath 테스터(255)를 이용하여 명령에 xpath 조건에 해당하는 파라미터가 포함되었는지 여부를 결정할 수 있다. xpath 테스터(255)는 명령에 xpath조건이 걸린 파라미터가 포함되어 있는 경우, 네트워크 장치(103)의 설정을 참조하여 xpath조건의 검증 결과에 따른 불린(boolean) 값을 추출하고, 불린 값에 기초하여 경고 메시지(warning message)를 띄우거나 권한 정보를 검증할 수 있다.
예를 들어, 설정을 편집하는 명령에 xpath 조건에 해당하는 파라미터가 정의된 경우, 관리 서버(250)는 네트워크 장치(103)의 현재값 대신에 해당 파라미터를 사용하여 네트워크 장치(103)의 설정을 변경할 수 있다.
또는, 예를 들어, 설정을 편집하는 명령에 xpath 조건에 해당하는 파라미터가 정의되어 있지 않은 경우, 관리 서버(250)는 네트워크 장치(103)에게 NETCONF 프로토콜에 따른 설정을 획득하는 명령을 전송하여 xpath 조건에 사용되는 네트워크 장치(103)의 현재 값을 조회할 수 있다.
관리 서버(250)는 예를 들어, 네트워크 장치(103)의 설정 변경을 위한 운용자(305)의 요청에 응답하여, NETCONF 프로토콜에 따른 네트워크 장치(103)의 설정을 편집(edit)하는 명령(예: <edit-config>)에 포함된 노드에 적어도 하나의 사용자 정의 규칙이 정의되어 있는지 여부를 확인할 수 있다. 여기서, <edit-config> 명령에 포함된 '노드(node)'는 설정을 변경하고자 하는 '타겟 xpath'로 이해될 수 있다.
예를 들어, 설정을 편집하는 명령에 포함된 노드에 적어도 하나의 사용자 정의 규칙이 정의되어 있는 경우, 관리 서버(250)는 사용자 정의 규칙을 사용하여 네트워크 장치(103)의 설정을 변경할 수 있다. 이와 달리, 설정을 편집하는 명령에 포함된 노드에 적어도 하나의 사용자 정의 규칙이 정의되어 있지 않은 경우, 관리 서버(250)는 네트워크 장치(103)에게 NETCONF 프로토콜에 따른 설정을 획득하는 명령을 전송하여 xpath 조건에 사용되는 네트워크 장치(103)의 현재 값을 조회할 수 있다. 예를 들어, 설정을 편집하는 명령 내에 xpath 조건에 해당하는 파라미터가 포함되지 않은 경우, 관리 서버(250)는 네트워크 장치(103)에게 NETCONF 프로토콜에 따른 설정을 획득(get)하는 명령(예: <get-config> 또는 <get>)을 전송하여 xpath 조건에 사용되는 네트워크 장치(103)의 현재값을 조회할 수 있다. 관리 서버(250)가 xpath 조건에 사용되는 네트워크 장치(103)의 현재값을 실시간으로 조회하는 방법의 일 예시는 아래의 도 3를 참조하여 보다 구체적으로 설명한다.
관리 서버(250)는 예를 들어, 설정을 편집하는 명령에 포함된 적어도 하나의 사용자 정의 규칙과 조회한 네트워크 장치(103)의 현재 값 중 적어도 하나가 xpath 조건을 만족하는지 여부를 결정할 수 있다.
예를 들어, 명령에 포함된 적어도 하나의 사용자 정의 규칙과 조회한 네트워크 장치(103)의 현재 값 중 적어도 하나가 xpath 조건을 만족한다고 결정된 경우, 규칙 데이터베이스(230)는 설정을 편집하는 명령을 전송한 운용자(305)의 권한 등급이 권한 정보를 만족하는지 여부를 결정할 수 있다. 명령을 전송한 운용자(305)의 등급이 권한 정보를 만족하지 않는 경우, 규칙 데이터베이스(230)는 운용자(305)에게 명령의 수행을 위한 권한이 없다는 에러 메시지를 리턴할 수 있다. 규칙 데이터베이스가(230)가 운용자(305)에게 명령의 수행을 위한 권한이 없다는 에러 메시지를 리턴한 경우, 관리 서버(250)는 해당 명령을 수행하지 않을 수 있다.
이와 달리, 운용자(305)의 권한 등급이 권한 정보를 만족하는 경우, 규칙 데이터베이스가(230)는 운용자(305)에게 해당 설정의 변경에 대한 확인(confirm)을 요청할 수 있다. 규칙 데이터베이스(230)는 설정의 변경에 대한 확인을 수신함에 따라 네트워크 장치(103)에게 설정의 변경을 위한 명령을 전송할 수 있다.
실시예에 따라서, 관리 서버(250)는 네트워크 장치(103)의 설정 데이터의 복사본을 데이터베이스에 저장하고, 네트워크 장치(103)와의 동기화를 수행할 수도 있다. 관리 서버(250)가 네트워크 장치(103)의 설정 데이터의 복사본을 갖고 있는 경우에 네트워크 장치(103)의 설정 데이터를 조회하는 방법의 일 예시는 아래의 도 8를 참조하여 보다 구체적으로 설명한다.
도 3은 일 실시예에 따른 네트워크 관리 시스템의 동작을 설명하기 위한 도면이다. 도 3을 참조하면, 일 실시예에 따른 네트워크 관리 시스템(예: 도 1의 네트워크 관리 시스템(101), 및/또는 도 2의 네트워크 관리 시스템(200))의 관리 서버(303)가 사용자 정의 규칙(370)에 대한 유효성을 검증하기 위해 xpath조건으로 사용할 네트워크 장치(NE)(306)(예: 도 1의 네트워크 장치(103), 및/또는 도 8의 네트워크 장치(806))의 현재 값을 명령 <get-config>을 사용하여 실시간으로 조회하는 과정을 나타낸 도면(300)이 도시된다.
동작 310에서, 사용자는 규칙 편집기(301)를 이용하여 규칙 데이터베이스(302)에 저장된 적어도 하나의 사용자 정의 규칙(370)을 편집할 수 있다. 이때, 사용자 정의 규칙(370)을 편집하는 사용자는 운용자(305)와 동일할 수도 있고, 상이할 수도 있다.
사용자 정의 규칙(370)은 예를 들어, 네임 스페이스(name space) 필드(371), path 필드(373), xpath 필드(375), 권한 필드(377), 및 경고 메시지 필드(379)를 포함할 수 있으며, 반드시 이에 한정되지는 않는다.
네임 스페이스 필드(371)는 많은 통신 사업자들 별로 정의된 글로벌(global)한 XML 서브 트리의 엘리먼트들을 포함할 수 있다. 예를 들어, 많은 통신 사업자들은 NETCONF 프로토콜에서 사용되는 YANG모델을 개별적으로 정의하기 때문에, 서로 동일한 이름(name)을 사용하더라도 구분될 수 있도록 통신 사업자들 별로 네임 스페이스(namespace)를 지정할 수 있다. 네임 스페이스는 각 통신 사업자들의 장치 종류 별로 달라질 수 있다. 이때, YANG 모델은 각 통신 사업자들의 통신 장치 모듈 내에서 지정될 수 있으며, 각 모듈은 전역적으로 고유한 XML 네임 스페이스에 바인딩될 수 있다. NETCONF 클라이언트 또는 NETCONF 서버는 데이터의 XML 인코딩 중에 네임 스페이스를 사용할 수 있다.
path 필드(373)는 예를 들어, "/interface/ifMTU", 또는 "managed-element/gnb-du-function/sctp-retransmission-timeout-max"와 같이 변경하려는 타겟 파라미터가 위치하는 경로, 다시 말해, 슬래시(/)로 구분된 xpath의 경로를 나타낼 수 있다.
xpath 필드(375)는 네트워크 장치(306)의 설정(configuration)을 위해 데이터에 적용되는 제약(constraint)을 기술하는 xpath 조건(condition)을 포함할 수 있다. xpath 조건은 단순한 경로가 아니라, 실제 값을 대입하여 참/거짓(true/false)과 같은 불린 값이 결과물로 나오는 조건문에 해당할 수 있다. 예를 들어, xpath 조건에 대한 결과물로 참(true)이 나오면, xpath 조건이 만족되었다는 것을 나타낼 수 있다. 여기서, 'xpath 조건이 만족되었다'는 것은 사용자에 의해 정의된 사용자 정의 규칙(370)의 xpath 조건에 포함된 파라미터가 네트워크 장치(306)의 설정값(설정 파라미터)과 일치한다는 것으로 이해될 수 있다.
권한 필드(377)는 네트워크 장치(306)의 설정을 위해 요구되는 사용자의 권한(privilege) 정보를 포함할 수 있다. 이때, 권한은 동작 320에서 운용자(305)가 관리 서버(303)에 요청한 명령의 수행에 필요한 권한에 해당할 수 있다. 권한 정보는 예를 들어, 1 등급, 2 등급, 3 등급, .. , 5등급 과 같은 권한에 대응하는 등급 값을 포함할 수도 있고, 또는 보안 관리자(security admin) 등급, 관리자(admin) 등급, 매니저(manager) 등급, 운용자(operator) 등급, 및 게스트(guest) 등급과 같은 권한 등급을 포함할 수도 있으며, 반드시 이에 한정되지는 않는다. 예를 들어, 보안 관리자의 권한 등급이 가장 높고, 게스트의 권한 등급이 가장 낮을 수 있다.
경고 메시지 필드(379)는 네트워크 장치(306)의 운용자(305)에게 제공할 경고 메시지(warning message) 문구를 포함할 수 있다. 경고 메시지는 예를 들어, "If you change to locked or shutting-down, Call service would be off." 또는 "RTO min should not be less than SCTP SACK period." 일 수 있으며, 반드시 이에 한정되지는 않는다.
사용자 정의 규칙(370)은 예를 들어, 네트워크 장치(306)의 설정을 위해 데이터에 적용되는 제약이 특정한 조건을 만족하는 경우에 네트워크 장치(306)의 운용자(305)에게 경고 메시지(warning message)를 보여주고, 명령의 수행 여부에 대한 운용자(305)의 확인을 받도록 정의된 규칙을 포함할 수 있다. 이때, 경고 메시지는 예를 들어, 제약이 특정한 조건에 일치했을 때 발생할 수 있는 네트워크 장치(306)의 성능 저하를 경고하는 내용을 포함할 수 있으며, 반드시 이에 한정되지는 않는다.
또는, 사용자 정의 규칙(370)은 예를 들어, 네트워크 장치(306)의 설정을 위해 요구되는 운용자(305)의 권한(privilege) 정보를 검증하여 요구되는 권한 정보를 만족하지 않는 경우에 에러 메시지를 표시하도록 정의된 규칙을 포함할 수 있다. 현재 명령을 내린 운용자(305)의 권한이 권한 필드(377)에 기재된 권한 등급을 만족하지 않을 경우, 규칙 데이터베이스(302)는 해당 운용자(305)가 현재 명령 수행을 위한 권한이 없으며, 명령의 수행을 위해 더 높은 권한이 요구된다는 에러 메시지를 리턴할 수 있다. 예를 들어, 명령 내에 권한 값이 지정되어 있지 않을 경우, 규칙 데이터베이스(302)는 권한 검증을 수행하지 않을 수 있다. 이와 달리, 명령 내에 권한 값이 privilege = "no one"과 같이 설정된 경우, 규칙 데이터베이스(302)는 해당 명령을 아무도 수행할 수 없도록 할 수 있다.
규칙 데이터베이스(302)는 예를 들어, 사용자 정의 규칙(370)에 포함된 xpath 필드(375) 부분이 빈칸으로 정의되어 있지 않을 경우, 항상 참(true)으로 간주하여 해당 경로에 대한 조건 검증 없이 항상 권한 필드(377)를 검증하여 경고 메시지 필드(379)에 저장된 경고 메시지를 제공할 수 있다. 경우에 따라서, 규칙 데이터베이스(302)는 권한 필드(377) 또는 경고 메시지 필드(379)를 빈칸으로 비워두거나, 이들 중 하나의 필드에 대한 정의만을 포함할 수도 있다.
동작 320에서, 운용자(305)는 NETCONF 프로토콜에 따른 명령을 관리 서버(303)로 전송할 수 있다. 이때, 명령은 예를 들어, <edit-config>와 같이 네트워크 장치(306)의 설정을 편집(edit)하는 명령일 수 있다. 이때, 관리 서버(303)로 전송되는 명령에는 예를 들어, 해당 명령이 누구로부터 전달된 것이고, 해당 명령을 내린 사람의 권한 등급에 대한 정보가 함께 포함될 수 있다. 운용자(305)는 예를 들어, "SCTP 관련 파라미터(sctp-retransmission-timeout-max) 값을 600으로 변경하는 명령" 또는 "1번 셀의 값을 제3 주파수로 변경하는 명령"을 관리 서버(303)로 전송할 수 있다. 이때, "SCTP 관련 파라미터 값을 600으로 변경하는 명령"은 예를 들어, 아래의 도 4에 도시된 코딩을 통해 수행될 수 있다.
운용자(305)로부터 명령을 수신한 관리 서버(303)는 <edit-config> 명령에 포함된 노드(예컨대, xpath)에 사용자 정의 규칙이 정의되어 있는지 여부를 확인할 수 있다. 예를 들어, <eidt-config> 명령 내에 xpath 조건에 해당하는 파라미터(예: sctp-sack-period 값)가 포함되어 있다면, 관리 서버(303)는 네트워크 장치(306)에 설정된 현재값을 읽어올 필요없이 사용자 정의 규칙(370)을 사용하여 네트워크 장치(306)의 설정을 변경할 수 있다.
이와 달리, <eidt-config> 명령 내에 포함된 xpath에 사용자 정의 규칙(370)이 정의되어 있지 않다면, 관리 서버(303)는 xpath 조건에 사용된 파라미터 값을 모를 수 있다. 이 경우, 동작 330에서 관리 서버(303)는 네트워크 장치(306)로 설정을 획득하는 명령(예: <get-config> 명령)을 전송하여 xpath 조건에 사용되는 네트워크 장치(306)의 현재값을 조회할 수 있다. 이때, sctp-sack-period 현재값은 예를 들어, 아래의 도 5에 도시된 코딩과 같이 <get-config> 명령을 통해 조회될 수 있다.
동작 340에서, xpath 테스터(304)는 <edit-config> 명령에 포함된 파라미터 값("sctp-retransmission-timeout-max" 값)과 네트워크 장치(306)로부터 조회한 값("sctp-sack-period 현재값")이 xpath 조건을 만족하는지 확인할 수 있다. xpath 테스터(304)가 xpath 조건에 대한 확인을 수행하는 방법은 아래의 도 6을 참조하여 보다 구체적으로 설명한다.
동작 350에서, 관리 서버(303)는 xpath 테스터(304)가 xpath 조건에 대해 확인한 결과, 다시 말해 명령에 포함된 파라미터가 xpath 조건을 만족하는지 여부를 나타내는 불린(boolean) 값을 추출하고, 불린 값에 따라 권한 정보를 검증하고, 및/또는 경고 메시지를 표시하여 사용자 또는 운용자(305)의 확인(confirm)을 받을 수 있다.
관리 서버(303)는 명령을 내린 운용자(305)의 권한 등급이 네트워크 장치(306)의 설정을 위해 요구되는 권한 등급보다 낮은 경우, 예를 들어, 아래의 도 7a에 도시된 것과 같이, 더 높은 권한이 필요하다는 에러 메시지를 띄우고 명령을 수행하지 않을 수 있다.
이와 달리, 명령을 내린 운용자(305)의 권한 등급이 네트워크 장치(306)의 설정을 위해 요구되는 권한 등급보다 같거나 높은 경우, 관리 서버(303)는 예를 들어, 아래의 도 7b에 도시된 것과 같이, 해당 규칙에 대응하여 규칙 데이터베이스(302)에 정의된 경고 메시지를 표시할 수 있다.
관리 서버(303)는 표시된 경고 메시지에도 불구하고, 명령을 수행할 것인지에 대한 운용자(305)의 확인을 받을 수 있다. 운용자(305)의 확인을 받은 경우, 관리 서버(303)는 명령을 전송하여 네트워크 장치(306)가 해당 명령을 수행하도록 할 수 있다. 이때, 관리 서버(303)는 동작 320과 마찬가지로 명령을 전송하기는 하지만, 예를 들어, CONFIRM.NEEDED = false 라는 플래그(flag)를 표시하여, xpath 테스터(304)를 거치지 않고 바로 네트워크 장치(306)로 명령이 전송되도록 할 수 있다.
도 4는 일 실시예에 따른 NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령에 의해 파라미터 값을 변경하는 코딩을 나타낸 도면이다. 도 4를 참조하면, <edit-config> 에 의해 SCTP 관련 파라미터 값들 중 "sctp-retransmission-timeout-max 값"을 '600'으로 설정하는 명령을 포함하는 코딩을 나타낸 도면(400)이 도시된다.
일 실시예에 따른 관리 서버(예: 도 2의 관리 서버(250), 도 3의 관리 서버, 및/또는 도 8의 관리 서버(803))는 예를 들어, 도 3의 동작 320에서와 같이 운용자(305)가 전송한 NETCONF 프로토콜에 따른 명령을 수신할 수 있다. 이때, 운용자(305)가 전송한 명령은 <edit-config>와 같이 설정을 편집(edit)하는 명령일 수 있다.
운용자(305)가 전송한 <edit-config>는 예를 들어, SCTP 관련 파라미터 값들 중 "sctp-retransmission-timeout-max 값"을 '600'으로 설정하는 명령을 포함할 수 있다. "sctp-retransmission-timeout-max 값"을 '600'으로 설정하라는 명령은 도면(400)에 포함된 코딩 "<sctp-retransmission-timeout-max>600</sctp-retransmission-timeout-max>"을 통해 수행될 수 있다.
도 5는 일 실시예에 따른 NETCONF 프로토콜에 따른 설정을 획득하는 명령에 의해 네트워크 장치의 현재값을 조회하는 코딩을 나타낸 도면이다. 도 5을 참조하면, 일 실시예에 따른 관리 서버(예: 도 2의 관리 서버(250), 도 3의 관리 서버(303), 및/또는 도 8의 관리 서버(803))가 xpath 조건에 사용되는 네트워크 장치(예: 도 1의 네트워크 장치(103), 도 3의 네트워크 장치(306), 및/또는 도 8의 네트워크 장치(806))의 현재값을 조회하는 명령을 포함하는 코딩을 나타내 도면(500)이 도시된다.
일 실시예에 따른 관리 서버(303)는 <eidt-config> 명령 내의 xpath에 사용자 정의 규칙(예: "sctp-sack-period 값")이 포함되어 있으면, 현재값을 읽어올 필요없이 사용자 정의 규칙(예: 도 3의 사용자 정의 규칙(370), 도 6의 사용자 정의 규칙(600), 및/또는 도 8의 사용자 정의 규칙(870))을 사용할 수 있다. 이와 달리, 예를 들어, 도 3의 동작 330에서와 같이 <eidt-config> 명령 내에 포함된 xpath 조건에 사용자 정의 규칙(370)이 정의되어 있지 않은 경우, 관리 서버(303)는 <get-config> 명령을 통해 xpath 조건에 사용되는 네트워크 장치(306)의 현재값(예: "sctp-sack-period" 현재값)을 요청하고, 이에 대한 rpc-reply 응답으로 "<sctp-sack-period>800</sctp-sack-period><get-config>"와 같이 네트워크 장치(306)의 현재값을 수신할 수 있다.
도 6은 일 실시예에 따른 NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령에 의해 파라미터가 xpath 조건을 만족하는지 여부를 확인하는 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 일 실시예에 따른 사용자 정의 규칙(600)의 일 예시가 도시된다. 예를 들어, 사용자가 정의한 xpath 조건에 포함된 파라미터 "sctp-retransmission-timeout-max" = 600이고, 네트워크 장치의 현재 설정값이 "sctp-sack-period" = 800인 경우, 사용자 정의 규칙(600)에 정의된 xpath 조건이 만족될 수 있다.
여기서, 'xpath 조건이 만족된다'는 것은 사용자에 의해 정의된 사용자 정의 규칙(600)의 xpath 조건에 포함된 파라미터가 네트워크 장치(예: 도 1의 네트워크 장치(103), 도 3의 네트워크 장치(306), 및/또는 도 8의 네트워크 장치(806))의 설정값(설정 파라미터)과 일치하거나, 또는 해당 조건을 만족하는 경우에 해당할 수 있다. 즉 네트워크 장치(306)의 현재 설정값('800')이 파라미터 "sctp-retransmission-timeout-max"의 값(600)보다 크므로 xpath 조건이 만족될 수 있다.
이에 따라, 관리 서버(예: 도 2의 관리 서버(250), 도 3의 관리 서버(303), 및/또는 도 8의 관리 서버(803))는 해당 명령에 대응하는 권한 검증을 수행하고, 경고 메시지를 표시하여 운용자(예: 도 3의 운용자(305), 및/또는 도 8의 운용자(805))의 확인을 받을 수 있다. 관리 서버(303)는 운용자(305)의 확인을 받음에 따라 네트워크 장치(306)가 해당 명령을 수행하도록 할 수 있다.
도 7a는 일 실시예에 따른 에러 메시지의 일 예시를 도시한 도면이고, 도 7b는 일 실시예에 따른 경고 메시지의 일 예시를 도시한 도면이다. 도 7a를 참조하면, 에러 메시지의 일 예시를 나타낸 도면(710)이 도시되고, 도 7b를 참조하면, 경고 메시지의 일 예시를 나타낸 도면(730)이 도시된다.
예를 들어, 네트워크 장치(예: 도 1의 네트워크 장치(103), 도 3의 네트워크 장치(306), 및/또는 도 8의 네트워크 장치(806))의 설정을 위해 요구되는 권한 등급이 매니저(manager) 등급이고, 권한 정보를 검증한 결과, 명령을 내린 운용자(예: 도 3의 운용자(305), 및/또는 도 8의 운용자(805))의 권한 등급이 매니저 등급보다 낮다고 하자.
이 경우, 관리 서버(예: 도 2의 관리 서버(250), 도 3의 관리 서버(303), 및/또는 도 8의 관리 서버(803))는 운용자(305)에게, 도 7a에 도시된 것과 같이, 더 높은 권한이 필요하다는 에러 메시지를 띄우고 명령을 수행하지 않을 수 있다.
이와 달리, 명령을 내린 운용자(305)의 권한 등급이 매니저 등급보다 높다면, 관리 서버(303)는 도 7b에 도시된 것과 같이, 해당 규칙에 대응하여 규칙 데이터베이스(예: 도 2의 규칙 데이터베이스(230), 도 3의 규칙 데이터베이스(302), 및/또는 도 8의 규칙 데이터베이스(802))에 정의된 경고 메시지("RTO min should not be less than SCTP SACK period")를 표시하고, "I have read, understand and agree to the service impact of the command(s)"와 같은 문구를 표시하여 운용자(305)의 확인을 받을 수 있다.
도 8은 일 실시예에 따른 관리 서버가 네트워크 장치의 설정 데이터의 복사본을 가지고 있는 경우의 동작을 설명하기 위한 도면이다. 도 8을 참조하면, 일 실시예에 따른 xpath 테스터(804)(예: 도 2의 xpath 테스터(255), 및/또는 도 3의 xpath 테스터(304))를 포함하는 관리 서버(803)(예: 도 2의 관리 서버(250), 및/또는 도 3의 관리 서버(303))가 구성 데이터베이스(807)에 저장된 네트워크 장치(806)(예: 도 1의 네트워크 장치(103), 및/또는 도 3의 네트워크 장치(306))의 설정 데이터의 복사본을 사용하여 사용자 정의 규칙(870)(예: 도 3의 사용자 정의 규칙(370), 및/또는 도 6의 사용자 정의 규칙(600))에 대한 유효성을 검증하는 과정을 나타낸 도면(800)이 도시된다.
동작 810에서, 관리 서버(803)는 네트워크 장치(806)의 설정 데이터의 복사본을 구성 데이터베이스(807)에 저장하고, 네트워크 장치(806)와 동기화를 수행할 수 있다. 이때, 네트워크 장치(806)와 네트워크 관리 시스템(예: 도 1의 네트워크 관리 시스템(101), 및/또는 도 2의 네트워크 관리 시스템(200)) 간에 NETCONF 세션이 처음 연결되었을 때에 읽어온 값이 구성 데이터베이스(807)의 초기 데이터로 저장될 수 있다. 네트워크 장치(806)와 네트워크 관리 시스템(101) 간에 NETCONF 세션이 연결되면, 관리 서버(803)는 예를 들어, <get> 명령을 내려서 네트워크 장치(806)의 현재값을 조회하거나, 또는 <copy-config> 명령을 내려서 sftp로 네트워크 장치(806)의 설정 데이터를 조회하여 설정 데이터의 복사본을 구성 데이터베이스(807)에 저장할 수 있다. 실시예에 따라서, 네트워크 장치(806)는 설정 데이터의 복사본을 주기적으로 구성 데이터베이스(807)에 저장할 수도 있다.
이후, 데이터가 변경되는 이벤트가 발생하는 경우, 네트워크 장치(806)는 관리 서버(803)에게 해당 데이터와 관련된 이벤트(event)를 전달할 수 있다. 이벤트를 전달받은 관리 서버(803)는 네트워크 장치(806)와 실시간으로 동기화를 수행함으로써 네트워크 장치(806)에서 변경되는 데이터와 동일한 데이터가 구성 데이터베이스(807)에 유지되도록 할 수 있다.
이와 같이, 관리 서버(803)가 네트워크 장치(806)의 설정 데이터의 복사본을 구성 데이터베이스(807)에 저장하는 경우, 예를 들어, 네트워크 장치(806)와 네트워크 관리 시스템(EMS) 간의 NETCONF 세션 연결이 해제(disconnected) 된 상태에서도 관리 서버가 구성 데이터베이스(807)에 저장된 복사본을 이용하여 사용자 정의 규칙에 대한 유효성을 검증할 수 있다.
동작 820에서, 사용자는 규칙 편집기(801)(예: 도 2의 규칙 편집기(210), 및/또는 도 3의 규칙 편집기(301))를 이용하여 규칙 데이터베이스(802)에 저장된 적어도 하나의 사용자 정의 규칙(870)을 편집할 수 있다. 사용자 정의 규칙(870)은 예를 들어, 네트워크 장치(806)의 설정을 위해 데이터에 적용되는 제약이 특정한 조건을 만족하는 경우에 네트워크 장치(806)의 운용자(805)에게 경고 메시지(warning message)를 보여주고, 수행 여부에 대한 운용자(805)의 확인을 받도록 정의된 규칙을 포함할 수 있다.
동작 830에서, 운용자(805)는 NETCONF 프로토콜에 따른 명령을 관리 서버(803)로 전송할 수 있다. 이때, 명령은 예를 들어, <edit-config> 에서 SCTP 관련 파라미터 값을 변경하는 명령일 수 있다. 이때, 관리 서버(803)로 전송되는 명령에는 예를 들어, 해당 명령이 누구로부터 전달된 것이고, 해당 명령을 내린 운용자(805)의 권한 등급에 대한 정보가 함께 포함될 수 있다. 운용자(805)는 예를 들어, "SCTP 관련 파라미터(sctp-retransmission-timeout-max) 값을 변경하는 명령"을 관리 서버(803)로 전송할 수 있다. 이때, "SCTP 관련 파라미터 값을 변경하는 명령"은 예를 들어, 아래의 도 9에 도시된 코딩을 통해 수행될 수 있다.
동작 840에서, 관리 서버(803)의 xpath 테스터(804)는 <edit-config> 명령 내에 포함된 파라미터(예: sctp-retransmission-timeout-max 값)에 대해서 xpath 규칙이 정의되어 있으므로, xpath에 지정된 값(예: sctp-sack-period 값)이 현재 <edit-config> 명령에 포함되어 있는지를 확인할 수 있다. 만약, sctp-sack-period 값이 <edit-config> 명령에 포함되어 있지 않다면, 관리 서버(803)는 예를 들어, 전술한 도 6과 마찬가지로, 네트워크 장치(806)의 현재 값을 구성 데이터베이스(807)에서 조회하여 비교할 수 있다. xpath에 지정된 값(이 현재 <edit-config> 명령에 포함되지 않은 경우, xpath 테스터(804)는 구성 데이터베이스(807)에 저장된 네트워크 장치(806)의 설정 데이터에서 현재 값을 조회해서 xpath 조건을 만족하는지 여부를 확인할 수 있다.
동작 850에서, 관리 서버(803)는 xpath 테스터(804)가 xpath 조건의 만족 여부를 확인한 결과를 획득하고, 흭득한 결과에 따라 권한 정보를 체크하고, 및/또는 경고 메시지를 표시하여 사용자 또는 운용자(805)의 확인(confirm)을 받을 수 있다. 여기서, xpath 조건의 만족 여부를 확인한 결과는 명령에 포함된 파라미터가 xpath 조건을 만족하는지 여부를 나타내는 불린(boolean) 값에 해당할 수 있다.
관리 서버(803)는 예를 들어, 도 9에 도시된 것과 같이, "sctp-retransmission-timeout-max" = 600이고, "sctp-sack-period" = 800 인 경우, sctp-retransmission-timeout-max 값이 sctp-sack-period의 값보다 작다는 xpath 규칙을 만족하므로, 권한 정보를 체크하고, 경고 메시지를 표시하여 운용자(805)의 확인을 받을 수 있다.
관리 서버(803)는 xpath 조건에 지정된 값을 현재 <edit-config> 명령에서 먼저 찾아보고 발견되지 않을 경우, 네트워크 장치(806)의 설정 데이터로부터 현재 값을 얻어와 xpath 조건을 만족하는지 여부를 확인할 수 있다.
관리 서버(803)는 명령을 내린 운용자(805)의 권한 등급이 네트워크 장치(306)의 설정을 위해 요구되는 권한 등급보다 낮은 경우, 예를 들어, 전술한 도 7a에 도시된 것과 같이, 더 높은 권한이 필요하다는 에러 메시지를 띄우고 명령을 수행하지 않을 수 있다.
이와 달리, 명령을 내린 운용자(805)의 권한 등급이 네트워크 장치(806)의 설정을 위해 요구되는 권한 등급보다 같거나 높은 경우, 관리 서버(803)는 예를 들어, 전술한 도 7b에 도시된 것과 같이, 해당 규칙에 대응하여 규칙 데이터베이스(802)에 정의된 경고 메시지를 표시할 수 있다.
관리 서버(803)는 표시된 경고 메시지에도 불구하고, 명령을 수행할 것인지에 대한 운용자(805)의 확인을 받을 수 있다. 운용자(805)의 확인을 받은 경우, 관리 서버(803)는 명령을 전송하여 네트워크 장치(806)가 해당 명령을 수행하도록 할 수 있다.
도 9는 도 8과 같은 상황에서 NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령에 변경되는 파라미터 값들을 포함하는 코딩을 나타낸 도면이다. 도 9를 참조하면, <edit-config> 명령에 SCTP 관련 파라미터 값들 중 "sctp-retransmission-timeout-max 값"과 "sctp-sack-period 값"이 포함된 코딩을 나타낸 도면(900)이 도시된다.
일 실시예에 따른 관리 서버(예: 도 2의 관리 서버(250), 도 3의 관리 서버(303), 및/또는 도 8의 관리 서버(803))는 예를 들어, 도 8의 동작 830에서와 같이 운용자(805)(예: 도 3의 운용자(305)가 전송한 NETCONF 프로토콜에 따른 명령을 수신할 수 있다. 이때, 운용자(805)가 전송한 명령은 <edit-config>와 같이 설정을 편집(edit)하는 명령일 수 있다. 이때, <edit-config> 명령 내에 sctp-retransmission-timeout-max 값과 sctp-sack-period 값이 모두 포함될 수 있다.
이때, <edit-config> 명령에 포함된 "sctp-retransmission-timeout-max 값"에 대해서 xpath 규칙이 정의되어 있으므로, 관리 서버(803)는 xpath 조건으로 지정된 값을 현재 <edit-config> 명령에서 찾아보고, <edit-config> 명령에서 xpath 조건으로 지정된 값이 발견되지 않는 경우, 네트워크 장치(예: 도 1의 네트워크 장치(103), 도 3의 네트워크 장치(306), 및/또는 도 8의 네트워크 장치(806))의 현재 값을 구성 데이터베이스(예: 도 8의 구성 데이터베이스(807))에서 조회하여 xpath 조건을 만족하는지 여부를 확인할 수 있다. 만약, sctp-sack-period 값이 <edit-config> 명령에 포함되어 있지 않다면, 관리 서버(803)는 네트워크 장치(806)의 현재값을 구성 데이터베이스(807)에서 조회하여 비교할 수 있다.
도 10은 일 실시예에 따른 네트워크 관리 시스템의 동작 방법을 나타낸 흐름도이다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
도 10을 참조하면, 일 실시예에 따른 네트워크 장치(예: 도 1의 네트워크 장치(103), 도 3의 네트워크 장치(306), 및/또는 도 8의 네트워크 장치(806))의 설정 관리를 위한 NETCONF(network configuration) 프로토콜을 이용하는 네트워크 관리 시스템(예: 도 1의 네트워크 관리 시스템(101), 및/또는 도 2의 네트워크 관리 시스템(200))은 동작 1010 내지 동작 1040을 수행할 수 있다.
동작 1010에서, 네트워크 관리 시스템(200)은 NETCONF 프로토콜에 따라, 네트워크 장치의 설정(configuration)을 위한 적어도 하나의 사용자 정의 규칙(예: 도 3의 사용자 정의 규칙(370), 도 6의 사용자 정의 규칙(600), 및/또는 도 8의 사용자 정의 규칙(870))을 편집할 수 있다. 여기서, '적어도 하나의 사용자 정의 규칙'은 예를 들어, 데이터에 적용되는 제약(constraint)을 기술하는 xpath 조건, 네트워크 장치의 운용자(operator)에게 제공할 경고 메시지(warning message), 및 네트워크 장치의 설정을 위해 요구되는 권한(privilege) 정보 중 적어도 하나를 포함할 수 있으며, 반드시 이에 한정되지는 않는다.
동작 1020에서, 네트워크 관리 시스템(200)은 NETCONF 프로토콜에 따른 명령에 의해 적어도 하나의 사용자 정의 규칙(370)에 대한 유효성을 검증하고, 유효성 검증 결과를 리턴(return)할 수 있다.
동작 1030에서, 네트워크 관리 시스템(200)은 NETCONF 프로토콜에 따른 명령에 xpath 조건에 해당하는 파라미터가 포함되어 있는지 여부를 기초로, 네트워크 장치(103)의 설정을 참조하여 파라미터가 xpath 조건을 만족하는지 여부를 결정할 수 있다. 네트워크 관리 시스템(200)은 네트워크 장치(103)의 설정 변경을 위한 운용자(예: 도 3의 운용자(305), 및/또는 도 8의 운용자(805))의 요청에 응답하여, NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령에 포함된 노드에 적어도 하나의 사용자 정의 규칙(370)이 정의되어 있는지 여부를 확인할 수 있다.
동작 1030에서, 네트워크 관리 시스템(200)은 설정을 편집하는 명령에 포함된 적어도 하나의 사용자 정의 규칙(370) 중 xpath 조건에 해당하는 파라미터가 정의된 경우, 네트워크 장치의 현재값 대신에 파라미터를 사용하여 네트워크 장치(103)의 설정을 변경할 수 있다. 네트워크 관리 시스템(200)은 설정을 편집하는 명령에 포함된 노드에 적어도 하나의 사용자 정의 규칙(370)이 정의되어 있지 않은 경우, 네트워크 장치(103)에게 NETCONF 프로토콜에 따른 설정을 획득하는 명령을 전송하여 xpath 조건에 사용되는 네트워크 장치(103)의 현재 값을 조회할 수 있다.
동작 1030에서, 네트워크 관리 시스템(200)은 예를 들어, 설정을 편집하는 명령에 포함된 노드에 적어도 하나의 사용자 정의 규칙(370)이 정의되어 있는 경우, 사용자 정의 규칙(370)을 사용하여 네트워크 장치(103)의 설정을 변경할 수 있다. 또는 네트워크 관리 시스템(200)은 설정을 편집하는 명령에 포함된 적어도 하나의 사용자 정의 규칙(370)과 조회한 네트워크 장치(103)의 현재 값 중 적어도 하나가 xpath 조건을 만족하는지 여부를 결정할 수 있다. 예를 들어, 적어도 하나가 xpath 조건을 만족한다고 결정된 경우, 네트워크 관리 시스템(200)은 동작 1010에서 설정을 편집하는 명령을 전송한 운용자(305)의 권한 등급이 권한 정보를 만족하는지 여부를 결정하고, 운용자(305)의 권한 등급이 권한 정보를 만족하지 않다고 결정된 경우, 운용자(305)에게 명령의 수행을 위해 더 높은 권한이 요구된다는 에러 메시지를 리턴할 수 있다.
동작 1040에서, 네트워크 관리 시스템(200)은 파라미터가 xpath 조건을 만족한다고 결정된 경우, 네트워크 장치(103)의 현재값 대신에 파라미터를 사용하여 네트워크 장치(103)의 설정을 변경할 수 있다.
일 실시예에 따르면, 네트워크 장치(103, 306, 806)의 설정 관리를 위한 NETCONF(network configuration) 프로토콜을 이용하는 네트워크 관리 시스템(101, 200)은 상기 NETCONF 프로토콜에 따라, 상기 네트워크 장치(103, 306, 806)의 설정(configuration)을 위해 데이터에 적용되는 제약(constraint)을 기술하는 xpath 조건, 상기 네트워크 장치(103, 306, 806)의 운용자(305, 805)(operator)에게 제공할 경고 메시지(warning message), 및 상기 네트워크 장치(103, 306, 806)의 설정을 위해 요구되는 권한(privilege) 정보 중 적어도 하나를 포함하는 사용자 정의 규칙(370, 600, 870)(rule)을 편집하는 규칙 편집기(Rule editor), 상기 NETCONF 프로토콜에 따른 명령에 의해 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)에 대한 유효성을 검증하고, 상기 유효성 검증 결과를 리턴(return)하는 규칙 데이터베이스(230, 302, 802)(User-defined rule database), 및 상기 명령에 상기 xpath 조건에 해당하는 파라미터가 포함된 경우, 상기 네트워크 장치(103, 306, 806)의 설정을 참조하여 상기 파라미터가 상기 xpath 조건을 만족하는지 여부를 결정하는 관리 서버(250, 303, 803)를 포함할 수 있다.
일 실시예에 따르면, 상기 관리 서버(250, 303, 803)는 상기 네트워크 장치(103, 306, 806)의 설정 변경을 위한 상기 운용자(305, 805)의 요청에 응답하여, 상기 NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령에 포함된 노드에 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)이 정의되어 있는지 여부를 확인할 수 있다.
일 실시예에 따르면, 상기 관리 서버(250, 303, 803)는 상기 설정을 편집하는 명령에 포함된 노드에 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)이 정의되어 있는 경우, 상기 사용자 정의 규칙(370, 600, 870)을 사용하여 상기 네트워크 장치(103, 306, 806)의 설정을 변경할 수 있다.
일 실시예에 따르면, 상기 관리 서버(250, 303, 803)는 상기 설정을 편집하는 명령에 포함된 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)과 상기 조회한 네트워크 장치(103, 306, 806)의 현재 값 중 적어도 하나가 상기 xpath 조건을 만족하는지 여부를 결정할 수 있다.
일 실시예에 따르면, 상기 적어도 하나가 상기 xpath 조건을 만족한다고 결정된 경우, 상기 규칙 데이터베이스(230, 302, 802)는 상기 설정을 편집하는 명령을 전송한 운용자(305, 805)의 권한 등급이 상기 권한 정보를 만족하는지 여부를 결정할 수 있다.
일 실시예에 따르면, 상기 규칙 데이터베이스(230, 302, 802)는 상기 운용자(305, 805)의 권한 등급이 상기 권한 정보를 만족하지 않는 경우, 상기 운용자(305, 805)에게 상기 명령의 수행을 위해 더 높은 권한이 요구된다는 에러 메시지를 리턴하고, 상기 관리 서버(250, 303, 803)는 상기 명령을 수행하지 않을 수 있다.
일 실시예에 따르면, 상기 규칙 데이터베이스(230, 302, 802)는 상기 운용자(305, 805)의 권한 등급이 상기 권한 정보를 만족하는 경우, 상기 운용자(305, 805)에게 상기 설정의 변경에 대한 확인(confirm)을 요청하고, 상기 확인을 수신함에 따라 상기 네트워크 장치(103, 306, 806)에게 상기 설정의 변경을 위한 명령을 전송할 수 있다.
일 실시예에 따르면, 상기 관리 서버(250, 303, 803)는 상기 설정을 편집하는 명령에 포함된 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870) 중 상기 xpath 조건에 해당하는 파라미터가 정의된 경우, 상기 네트워크 장치(103, 306, 806)의 현재값 대신에 상기 파라미터를 사용하여 상기 네트워크 장치(103, 306, 806)의 설정을 변경할 수 있다.
일 실시예에 따르면, 상기 관리 서버(250, 303, 803)는 상기 설정을 편집하는 명령에 포함된 노드에 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)이 정의되어 있지 않은 경우, 상기 네트워크 장치(103, 306, 806)에게 상기 NETCONF 프로토콜에 따른 설정을 획득하는 명령을 전송하여 상기 xpath 조건에 사용되는 상기 네트워크 장치(103, 306, 806)의 현재 값을 조회할 수 있다.
일 실시예에 따르면, 상기 관리 서버(250, 303, 803)는 상기 설정을 편집하는 명령 내에 상기 xpath 조건에 해당하는 파라미터가 포함되지 않은 경우, 상기 네트워크 장치(103, 306, 806)에게 상기 NETCONF 프로토콜에 따른 설정을 획득(get)하는 명령을 전송하여 상기 xpath 조건에 사용되는 상기 네트워크 장치(103, 306, 806)의 현재값을 조회할 수 있다.
일 실시예에 따르면, 상기 관리 서버(250, 303, 803)는 상기 파라미터가 상기 xpath 조건을 만족하는지 여부를 나타내는 불린(boolean) 값을 추출하고, 상기 불린 값에 따라 상기 경고 메시지를 표시하거나, 또는 상기 권한 정보를 검증할 수 있다.
일 실시예에 따르면, 상기 관리 서버(250, 303, 803)는 상기 명령에 상기 xpath 조건이 정의되지 않은 경우, 상기 불린 값을 참(true)으로 설정함으로써 상기 규칙 데이터베이스(230, 302, 802)가 추가적인 유효성 검증없이 상기 권한 정보 및 상기 경고 메시지 중 적어도 하나를 제공하도록 할 수 있다.
일 실시예에 따르면, 상기 규칙 데이터베이스(230, 302, 802)는 상기 xpath 조건, 상기 권한 정보, 및 상기 경고 메시지 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 관리 서버(250, 303, 803)는 상기 네트워크 장치(103, 306, 806)의 설정 데이터의 복사본을 데이터베이스에 저장하고, 동기화를 수행할 수 있다.
일 실시예에 따르면, 네트워크 장치(103, 306, 806)의 설정 관리를 위한 NETCONF(network configuration) 프로토콜을 이용하는 네트워크 관리 시스템(101, 200)의 동작 방법은 상기 NETCONF 프로토콜에 따라, 상기 네트워크 장치(103, 306, 806)의 설정(configuration)을 위해 데이터에 적용되는 제약(constraint)을 기술하는 xpath 조건, 상기 네트워크 장치(103, 306, 806)의 운용자(305, 805)(operator)에게 제공할 경고 메시지(warning message), 및 상기 네트워크 장치(103, 306, 806)의 설정을 위해 요구되는 권한(privilege) 정보 중 적어도 하나를 포함하는 사용자 정의 규칙(370, 600, 870)(rule)을 편집하는 동작 1010, 상기 NETCONF 프로토콜에 따른 명령에 의해 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)에 대한 유효성을 검증하고, 상기 유효성 검증 결과를 리턴(return)하는 동작 1020, 및 상기 명령에 상기 xpath 조건에 해당하는 파라미터가 포함되어 있는지 여부를 기초로, 상기 네트워크 장치(103, 306, 806)의 설정을 참조하여 상기 파라미터가 상기 xpath 조건을 만족하는지 여부를 결정하는 동작 1030을 포함할 수 있다.
일 실시예에 따르면, 상기 파라미터가 상기 xpath 조건을 만족하는지 여부를 결정하는 동작은 상기 네트워크 장치(103, 306, 806)의 설정 변경을 위한 상기 운용자(305, 805)의 요청에 응답하여, 상기 NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령에 포함된 노드에 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)이 정의되어 있는지 여부를 확인하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)이 정의되어 있는지 여부를 확인하는 동작은 상기 설정을 편집하는 명령에 포함된 노드에 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)이 정의되어 있는 경우, 상기 사용자 정의 규칙(370, 600, 870)을 사용하여 상기 네트워크 장치(103, 306, 806)의 설정을 변경하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)이 정의되어 있는지 여부를 확인하는 동작은 상기 설정을 편집하는 명령에 포함된 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)과 상기 조회한 네트워크 장치(103, 306, 806)의 현재 값 중 적어도 하나가 상기 xpath 조건을 만족하는지 여부를 결정하는 동작을 포함하고, 상기 사용자 정의 규칙(370, 600, 870)(rule)을 편집하는 동작은 상기 적어도 하나가 상기 xpath 조건을 만족한다고 결정된 경우, 상기 설정을 편집하는 명령을 전송한 운용자(305, 805)의 권한 등급이 상기 권한 정보를 만족하는지 여부를 결정하는 동작, 상기 운용자(305, 805)의 권한 등급이 상기 권한 정보를 만족하지 않다고 결정된 경우, 상기 운용자(305, 805)에게 상기 명령의 수행을 위해 더 높은 권한이 요구된다는 에러 메시지를 리턴하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 파라미터가 상기 xpath 조건을 만족하는지 여부를 결정하는 동작은 상기 설정을 편집하는 명령에 포함된 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870) 중 상기 xpath 조건에 해당하는 파라미터가 정의된 경우, 상기 네트워크 장치(103, 306, 806)의 현재값 대신에 상기 파라미터를 사용하여 상기 네트워크 장치(103, 306, 806)의 설정을 변경하는 동작, 및 상기 설정을 편집하는 명령에 포함된 노드에 상기 적어도 하나의 사용자 정의 규칙(370, 600, 870)이 정의되어 있지 않은 경우, 상기 네트워크 장치(103, 306, 806)에게 상기 NETCONF 프로토콜에 따른 설정을 획득하는 명령을 전송하여 상기 xpath 조건에 사용되는 상기 네트워크 장치(103, 306, 806)의 현재 값을 조회하는 동작을 포함할 수 있다.

Claims (15)

  1. 네트워크 장치의 설정 관리를 위한 NETCONF(network configuration) 프로토콜을 이용하는 네트워크 관리 시스템에 있어서,
    상기 NETCONF 프로토콜에 따라, 상기 네트워크 장치의 설정(configuration)을 위해 데이터에 적용되는 제약(constraint)을 기술하는 xpath 조건, 상기 네트워크 장치의 운용자(operator)에게 제공할 경고 메시지(warning message), 및 상기 네트워크 장치의 설정을 위해 요구되는 권한(privilege) 정보 중 적어도 하나를 포함하는 사용자 정의 규칙(rule)을 편집하는 규칙 편집기(Rule editor);
    상기 NETCONF 프로토콜에 따른 명령에 의해 상기 적어도 하나의 사용자 정의 규칙에 대한 유효성을 검증하고, 상기 유효성 검증 결과를 리턴(return)하는 규칙 데이터베이스(User-defined rule database); 및
    상기 명령에 상기 xpath 조건에 해당하는 파라미터가 포함된 경우, 상기 네트워크 장치의 설정을 참조하여 상기 파라미터가 상기 xpath 조건을 만족하는지 여부를 결정하는 관리 서버
    를 포함하는, 네트워크 관리 시스템.
  2. 제1항에 있어서,
    상기 관리 서버는
    상기 네트워크 장치의 설정 변경을 위한 상기 운용자의 요청에 응답하여, 상기 NETCONF 프로토콜에 따른 설정을 편집(edit)하는 명령에 포함된 노드에 상기 적어도 하나의 사용자 정의 규칙이 정의되어 있는지 여부를 확인하는, 네트워크 관리 시스템.
  3. 제2항에 있어서,
    상기 관리 서버는
    상기 설정을 편집하는 명령에 포함된 노드에 상기 적어도 하나의 사용자 정의 규칙이 정의되어 있는 경우, 상기 사용자 정의 규칙을 사용하여 상기 네트워크 장치의 설정을 변경하는, 네트워크 관리 시스템.
  4. 제3항에 있어서,
    상기 관리 서버는
    상기 설정을 편집하는 명령에 포함된 상기 적어도 하나의 사용자 정의 규칙과 상기 네트워크 장치의 현재 값 중 적어도 하나가 상기 xpath 조건을 만족하는지 여부를 결정하는, 네트워크 관리 시스템.
  5. 제4항에 있어서,
    상기 적어도 하나가 상기 xpath 조건을 만족한다고 결정된 경우,
    상기 규칙 데이터베이스는
    상기 설정을 편집하는 명령을 전송한 운용자의 권한 등급이 상기 권한 정보를 만족하는지 여부를 결정하는, 네트워크 관리 시스템.
  6. 제5항에 있어서,
    상기 규칙 데이터베이스는
    상기 운용자의 권한 등급이 상기 권한 정보를 만족하지 않는 경우, 상기 운용자에게 상기 명령의 수행을 위해 상기 운용자의 권한 등급보다 더 높은 등급의 권한이 요구된다는 에러 메시지를 리턴하고,
    상기 관리 서버는
    상기 명령을 수행하지 않는, 네트워크 관리 시스템.
  7. 제5항에 있어서,
    상기 규칙 데이터베이스는
    상기 운용자의 권한 등급이 상기 권한 정보를 만족하는 경우, 상기 운용자에게 상기 설정의 변경에 대한 확인(confirm)을 요청하고,
    상기 확인을 수신함에 따라 상기 네트워크 장치에게 상기 설정의 변경을 위한 명령을 전송하는, 네트워크 관리 시스템.
  8. 제2항에 있어서,
    상기 관리 서버는
    상기 설정을 편집하는 명령에 포함된 상기 적어도 하나의 사용자 정의 규칙 중 상기 xpath 조건에 해당하는 파라미터가 정의된 경우,
    상기 네트워크 장치의 현재값 대신에 상기 파라미터를 사용하여 상기 네트워크 장치의 설정을 변경하는, 네트워크 관리 시스템.
  9. 제2항에 있어서,
    상기 관리 서버는
    상기 설정을 편집하는 명령에 포함된 노드에 상기 적어도 하나의 사용자 정의 규칙이 정의되어 있지 않은 경우,
    상기 네트워크 장치에게 상기 NETCONF 프로토콜에 따른 설정을 획득하는 명령을 전송하여 상기 xpath 조건에 사용되는 상기 네트워크 장치의 현재 값을 조회하는, 네트워크 관리 시스템.
  10. 제2항에 있어서,
    상기 관리 서버는
    상기 설정을 편집하는 명령 내에 상기 xpath 조건에 해당하는 파라미터가 포함되지 않은 경우,
    상기 네트워크 장치에게 상기 NETCONF 프로토콜에 따른 설정을 획득(get)하는 명령을 전송하여 상기 xpath 조건에 사용되는 상기 네트워크 장치의 현재값을 조회하는, 네트워크 관리 시스템.
  11. 제1항에 있어서,
    상기 관리 서버는
    상기 파라미터가 상기 xpath 조건을 만족하는지 여부를 나타내는 불린(boolean) 값을 추출하고,
    상기 불린 값에 따라 상기 경고 메시지를 표시하거나, 또는 상기 권한 정보를 검증하는, 네트워크 관리 시스템.
  12. 제11항에 있어서,
    상기 관리 서버는
    상기 명령에 상기 xpath 조건이 정의되지 않은 경우, 상기 불린 값을 참(true)으로 설정함으로써 상기 규칙 데이터베이스가 추가적인 유효성 검증없이 상기 권한 정보 및 상기 경고 메시지 중 적어도 하나를 제공하도록 하는, 네트워크 관리 시스템.
  13. 제1항에 있어서,
    상기 규칙 데이터베이스는
    상기 xpath 조건, 상기 권한 정보, 및 상기 경고 메시지 중 적어도 하나를 포함하는, 네트워크 관리 시스템.
  14. 제1항에 있어서,
    상기 관리 서버는
    상기 네트워크 장치의 설정 데이터의 복사본을 데이터베이스에 저장하고, 동기화를 수행하는, 네트워크 관리 시스템.
  15. 네트워크 장치의 설정 관리를 위한 NETCONF(network configuration) 프로토콜을 이용하는 네트워크 관리 시스템의 동작 방법에 있어서,
    상기 NETCONF 프로토콜에 따라, 상기 네트워크 장치의 설정(configuration)을 위해 데이터에 적용되는 제약(constraint)을 기술하는 xpath 조건, 상기 네트워크 장치의 운용자(operator)에게 제공할 경고 메시지(warning message), 및 상기 네트워크 장치의 설정을 위해 요구되는 권한(privilege) 정보 중 적어도 하나를 포함하는 사용자 정의 규칙(rule)을 편집하는 동작;
    상기 NETCONF 프로토콜에 따른 명령에 의해 상기 적어도 하나의 사용자 정의 규칙에 대한 유효성을 검증하고, 상기 유효성 검증 결과를 리턴(return)하는 동작; 및
    상기 명령에 상기 xpath 조건에 해당하는 파라미터가 포함되어 있는지 여부를 기초로, 상기 네트워크 장치의 설정을 참조하여 상기 파라미터가 상기 xpath 조건을 만족하는지 여부를 결정하는 동작
    를 포함하는, 네트워크 관리 시스템의 동작 방법.
PCT/KR2022/020910 2022-01-13 2022-12-21 네트워크 관리 시스템 및 네트워크 관리 시스템의 동작 방법 WO2023136494A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0005403 2022-01-13
KR20220005403 2022-01-13
KR10-2022-0011473 2022-01-26
KR1020220011473A KR20230109517A (ko) 2022-01-13 2022-01-26 네트워크 관리 시스템 및 네트워크 관리 시스템의 동작 방법

Publications (1)

Publication Number Publication Date
WO2023136494A1 true WO2023136494A1 (ko) 2023-07-20

Family

ID=87279382

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/020910 WO2023136494A1 (ko) 2022-01-13 2022-12-21 네트워크 관리 시스템 및 네트워크 관리 시스템의 동작 방법

Country Status (1)

Country Link
WO (1) WO2023136494A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101674543B1 (ko) * 2015-09-24 2016-11-09 동아대학교 산학협력단 Netconf 프로토콜의 콘텐츠 계층 개선을 위한 장치 및 방법
KR20190048364A (ko) * 2017-10-31 2019-05-09 한국전자통신연구원 Netconf 기반의 네트워크 시스템 명령어를 yang 언어로 모델링하는 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101674543B1 (ko) * 2015-09-24 2016-11-09 동아대학교 산학협력단 Netconf 프로토콜의 콘텐츠 계층 개선을 위한 장치 및 방법
KR20190048364A (ko) * 2017-10-31 2019-05-09 한국전자통신연구원 Netconf 기반의 네트워크 시스템 명령어를 yang 언어로 모델링하는 방법 및 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Utility Computing", vol. 3278, 1 January 2004, SPRINGER BERLIN HEIDELBERG, Berlin, Heidelberg, ISBN: 978-3-540-30184-4, ISSN: 0302-9743, article HALLÉ SYLVAIN, DECA RUDY, CHERKAOUI OMAR, VILLEMAIRE ROGER, PUCHE DANIEL: "A Formal Validation Model for the Netconf Protocol", pages: 147 - 158, XP093081301, DOI: 10.1007/978-3-540-30184-4_13 *
E. NATAF ; O. FESTOR: "End-to-end YANG-based configuration management", NETWORK OPERATIONS AND MANAGEMENT SYMPOSIUM (NOMS), 2010 IEEE, IEEE, PISCATAWAY, NJ, USA, 19 April 2010 (2010-04-19), Piscataway, NJ, USA , pages 674 - 684, XP031691899, ISBN: 978-1-4244-5366-5 *
VINCENT CRIDLIG ; RADU STATE ; OLIVIER FESTOR: "A model for checking consistency in access control policies for network management", INTEGRATED NETWORK MANAGEMENT, 2007. IM '07. 10TH IFIP/IEEE INTER NATIONAL SYMPOSIUM ON, IEEE, PI, 1 May 2007 (2007-05-01), Pi , pages 11 - 19, XP031182674, ISBN: 978-1-4244-0798-9 *

Similar Documents

Publication Publication Date Title
US8010952B2 (en) Method and apparatus for configuration syntax and semantic validation
US7475126B2 (en) Method and apparatus for system lineup and testing
US7739367B2 (en) Managing network-enabled devices
US20050025071A1 (en) Network management system having a network including virtual networks
CN100382508C (zh) 用于配置网络结构的网络特征的装置、系统和方法
WO2012026777A2 (en) Method and apparatus for establishing communication
WO2019109957A1 (zh) 基于esb的服务提供方法、装置、设备及可读存储介质
US20060230060A1 (en) Extendable discovery of network device information
CN106357457A (zh) 一种告警测试方法、装置以及系统
US11240095B2 (en) Techniques for interfacing between web services and interface description language (IDL)-based remote procedure call (RPC) services and an optical communication system implementing same
EP3764596A1 (en) Data configuration method and apparatus
WO2018194222A1 (ko) Cim 및 opc-ua 기반 데이터 상호 호환 방법
US20050135269A1 (en) Automatic configuration of a virtual private network
CN115086176A (zh) 基于SpringCloud微服务技术实现服务治理策略动态下发的系统
WO2023136494A1 (ko) 네트워크 관리 시스템 및 네트워크 관리 시스템의 동작 방법
US20100318644A1 (en) Verifying information stored on a managed network device
JP5458977B2 (ja) 中継処理方法、プログラム及び装置
CN101283540A (zh) 在数字权限管理中共享权限对象的方法及其装置和系统
US20060200548A1 (en) Automation engine and method for providing an abstraction layer
CN111182066A (zh) 基于token认证的日志级别动态调整方法
Waher Mastering Internet of Things: Design and create your own IoT applications using Raspberry Pi 3
US10020990B2 (en) Network stability reconnaisance tool
KR20230109517A (ko) 네트워크 관리 시스템 및 네트워크 관리 시스템의 동작 방법
US7007094B1 (en) Object oriented communications system over the internet
KR100725783B1 (ko) Snmp를 이용한 망 관리 에이전트로 구성된홈게이트웨이 시스템 및 홈게이트웨이 시스템에서snmp를 이용한 망 관리 에이전트 구성 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22920823

Country of ref document: EP

Kind code of ref document: A1