도움말닫기
편집할 때 기술적인 문제가 발생했다면 보고해 주세요.
알림 2개닫기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

이 편집기가 공식적으로 지원하지 않는 브라우저를 사용하고 있습니다.

OpenFlow Controller

IT 위키

OpenFlow Controller is a central component in Software-Defined Networking (SDN) architectures. It provides centralized control and management of OpenFlow-enabled network devices, such as switches and routers, using the OpenFlow protocol. The controller enables dynamic and programmable network management by separating the control plane from the data plane.

1 Overview[편집 | 원본 편집]

An OpenFlow Controller serves as the "brain" of an SDN network, making decisions about how packets should flow through the network and sending instructions to the network devices for execution. This architecture offers:

  • Centralized network control.
  • Dynamic traffic management.
  • Enhanced flexibility and programmability.

2 Key Functions[편집 | 원본 편집]

  • Network Management: Centralized configuration and monitoring of OpenFlow-enabled devices.
  • Flow Rule Installation: Installs forwarding rules into OpenFlow switches based on policies or algorithms.
  • Path Calculation: Computes optimal paths for traffic flows and configures devices accordingly.
  • Real-Time Adaptation: Adjusts flow rules dynamically in response to network conditions, such as congestion or device failures.
  • Statistics Collection: Gathers network metrics (e.g., flow counters, port statistics) to monitor performance and make informed decisions.

3 Controller-Switch Communication[편집 | 원본 편집]

The OpenFlow protocol defines how the controller and switches communicate. This interaction is bidirectional, consisting of two main types of communication:

3.1 Controller-to-Switch[편집 | 원본 편집]

The controller sends messages to OpenFlow-enabled switches to manage and configure them. Common messages include:

  • Flow-Mod Messages: Used to add, modify, or delete flow entries in the switch's flow table.
  • Packet-Out Messages: Directs the switch to forward specific packets through specified ports.
  • Barrier Messages: Ensures the completion of previously issued commands before sending new ones.
  • Port-Mod Messages: Configures or modifies the properties of a switch port.
  • Group-Mod Messages: Manages groups of flow table entries for advanced forwarding scenarios.

3.2 Switch-to-Controller[편집 | 원본 편집]

Switches send messages to the controller to report network events, status, and statistics. Common messages include:

  • Packet-In Messages: Sent when a packet does not match any flow entry in the switch, allowing the controller to decide how to handle it.
  • Flow-Removed Messages: Inform the controller when a flow entry is removed, either due to expiration or manual deletion.
  • Port-Status Messages: Notify the controller of changes in port status, such as link failures or reconfigurations.
  • Stats-Request and Stats-Reply Messages: Facilitate the collection of network statistics from switches.

4 Architecture[편집 | 원본 편집]

An OpenFlow Controller typically interacts with two primary interfaces:

  • Northbound APIs: Allow communication with higher-level applications or orchestration systems for policy enforcement and configuration.
  • Southbound APIs: Primarily the OpenFlow protocol, used to manage and configure network devices by installing or updating flow rules.

5 Applications[편집 | 원본 편집]

OpenFlow Controllers are used in various domains, including:

  • Data Centers: For dynamic load balancing and virtualized network management.
  • Telecommunication Networks: Enabling efficient traffic engineering and service chaining.
  • Campus Networks: Providing centralized control for simplified management.
  • Research Networks: Facilitating experimental setups and new protocol development.

6 Advantages[편집 | 원본 편집]

  • Centralized management simplifies complex network configurations.
  • Allows for dynamic and automated traffic engineering.
  • Increases network programmability and flexibility.

7 Limitations[편집 | 원본 편집]

  • Dependency on a central controller introduces a single point of failure.
  • Scalability challenges in large-scale deployments.
  • Latency can increase due to centralized decision-making.

8 Popular OpenFlow Controllers[편집 | 원본 편집]

  • OpenDaylight
  • ONOS (Open Network Operating System)
  • Ryu
  • Floodlight
  • POX

9 See Also[편집 | 원본 편집]

OpenFlow Controller is a central component in Software-Defined Networking (SDN) architectures. It provides centralized control and management of OpenFlow-enabled network devices, such as switches and routers, using the OpenFlow protocol. The controller enables dynamic and programmable network management by separating the control plane from the data plane.

Overview

An OpenFlow Controller serves as the "brain" of an SDN network, making decisions about how packets should flow through the network and sending instructions to the network devices for execution. This architecture offers:

  • Centralized network control.

  • Dynamic traffic management.

  • Enhanced flexibility and programmability.

Key Functions

  • Network Management: Centralized configuration and monitoring of OpenFlow-enabled devices.

  • Flow Rule Installation: Installs forwarding rules into OpenFlow switches based on policies or algorithms.

  • Path Calculation: Computes optimal paths for traffic flows and configures devices accordingly.

  • Real-Time Adaptation: Adjusts flow rules dynamically in response to network conditions, such as congestion or device failures.

  • Statistics Collection: Gathers network metrics (e.g., flow counters, port statistics) to monitor performance and make informed decisions.

Controller-Switch Communication

The OpenFlow protocol defines how the controller and switches communicate. This interaction is bidirectional, consisting of two main types of communication:

Controller-to-Switch

The controller sends messages to OpenFlow-enabled switches to manage and configure them. Common messages include:

  • Flow-Mod Messages: Used to add, modify, or delete flow entries in the switch's flow table.

  • Packet-Out Messages: Directs the switch to forward specific packets through specified ports.

  • Barrier Messages: Ensures the completion of previously issued commands before sending new ones.

  • Port-Mod Messages: Configures or modifies the properties of a switch port.

  • Group-Mod Messages: Manages groups of flow table entries for advanced forwarding scenarios.

Switch-to-Controller

Switches send messages to the controller to report network events, status, and statistics. Common messages include:

  • Packet-In Messages: Sent when a packet does not match any flow entry in the switch, allowing the controller to decide how to handle it.

  • Flow-Removed Messages: Inform the controller when a flow entry is removed, either due to expiration or manual deletion.

  • Port-Status Messages: Notify the controller of changes in port status, such as link failures or reconfigurations.

  • Stats-Request and Stats-Reply Messages: Facilitate the collection of network statistics from switches.

Architecture

An OpenFlow Controller typically interacts with two primary interfaces:

  • Northbound APIs: Allow communication with higher-level applications or orchestration systems for policy enforcement and configuration.

  • Southbound APIs: Primarily the OpenFlow protocol, used to manage and configure network devices by installing or updating flow rules.

Applications

OpenFlow Controllers are used in various domains, including:

  • Data Centers: For dynamic load balancing and virtualized network management.

  • Telecommunication Networks: Enabling efficient traffic engineering and service chaining.

  • Campus Networks: Providing centralized control for simplified management.

  • Research Networks: Facilitating experimental setups and new protocol development.

Advantages

  • Centralized management simplifies complex network configurations.

  • Allows for dynamic and automated traffic engineering.

  • Increases network programmability and flexibility.

Limitations

  • Dependency on a central controller introduces a single point of failure.

  • Scalability challenges in large-scale deployments.

  • Latency can increase due to centralized decision-making.

  • OpenDaylight

  • ONOS (Open Network Operating System)

  • Ryu

  • Floodlight

  • POX

See Also