5.5 The SDN Control plane
SDN (Software defined networking)
NW control apps (routing + 다양한 middle box 기능들. NAT, load balancing, Firewall, accounting,...) is programmed as sophisticated SW using high-level API at servers which are distinct and remote from simple & fast NW devices(pkt switch) where the contents users' traffics go through.
no control board in router → packet switch, control board in remote controller
SDN: motivation
- monolithic router contains switching hardware, runs proprietary implementation of Internet standard protocols (IP, RIP, IS-IS, OSPF, BGP) in proprietary router OS (e.g., Cisco IOS)
- different “middleboxes” for different network layer functions: firewalls, load balancers, NAT boxes, ..
SDN: definition
SDN is a framework
- to allow network administrators to automatically and dynamically manage and control
- a large number of network devices, services, topology, traffic paths and packet handling (QoS) policies
- using high-level languages and APIs
- Management includes provisioning, operation, monitoring, optimizing, and managing FCAPS
(Faults, Configuration, Accounting, Performance, and Security) in a multi-tenant environment.
SDN: how?
The physical separation of the network control plane from the forwarding plane, and where a logically centralized control plane (server) controls several routers.
- Why a logically centralized control plane?
- Easier network management
- avoid router misconfigurations, greater flexibility of traffic
flows
- avoid router misconfigurations, greater flexibility of traffic
- Programmable router
- centralized “programming” easier: compute flow tables centrally and distribute
- open (non-proprietary) implementation of control plane
- Easier network management
SDN logical structure
SDN 컨트롤러의 상단을 north bound, 하단을 south bound라고 한다.
SDN contorl plane은 network-control applications과, SDN controller로 나뉜다.
OpenFlow protocol
SDN 컨트롤러에게 네트워크 상태에 대한 최신의 정보를 제공한다. 컨트롤러와 라우터들(SDN으로 제어받는 장치들)간의 통신은 south-bound 인터페이스를 넘나든다. 이 통신 기능을 제공하는 프로토콜이 OpenFlow이다.
features: controller queries switch features, switch replies
컨트롤러가 스위치의 설정 상태를 문의할 수 있다.
configure: controller queries/sets switch configuration parameters
컨트롤러가 스위치의 설정 파라미터들을 문의하거나 설정할 수 있다.
modify-state: add, delete, modify flow entries in the OpenFlow tables
컨트롤러가 스위치 flow table의 엔트리를 추가, 제가 또는 수정, 설정하기 위해 사용한다.
packet-out: controller can send this packet out of specific switch port
컨트롤러가 제어하는 스위치의 지정된 port에서 특정 패킷을 내보내기 위해 사용한다.
packet-in: transfer packet (and its control) to controller.
See packet-out message from controller
패킷을 컨트롤러에게 보내기 위해 사용한다.
flow-removed: flow table entry deleted at switch
스위치가 컨트롤러에게 어떤 플로우 테이블 엔트리가 시간이 만료되었거나 modify-state 를 수신했을 때 삭제 되었음을 알린다.
port status: inform controller of a change in port status.
스위치가 컨트롤러에게 port의 상태 변화를 알리기 위해 사용된다.
⇒ Fortunately, network operators(SDN controller) don’t program switches by creating/sending OpenFlow messages directly. Instead use higher-level abstraction (northbound API) at controller.
flow table은 SDN controller가 아닌 network-control applications가 programming. controller는 전달
SDN: selected challenges
- internet-scailing
- mission-specific requirements에게 유용
SDN vs NFV
- SDN: Separation of control plane & data plane
- NFV: Separation of HW and function (가상화). 여전히 dest-IP based forwarding
5.6 ICMP: Internet Control Message Protocol
ICMP는 호스트와 라우터가 서로 간에 네트워크 계층 정보를 주고 받기 위해 사용된다. 가장 전형적인 사용 형태는 오류 보고이다.
IP Datagram의 payload안에 TCP/ UDP segment, OSPF, ICMP msg가 들어갈 수 있다. IP 계층에 있음.
ICMP report의 수신자: 문제가 발생한 패킷을 처음 생성해 보낸 IP에게
TTL=1로 보내 one hop delivery time을 측정할 수도 있고, destination까지의 hop 수도 측정 가능하다.
5.7 Network management: SNMP
네트워크 관리의 핵심 요소
managing server
관리서버는 네트워크 동작을 제어. 관리자는 네트워크 장치들과 상호작용.
managed devices
관리 대상 네트워크에 존재하는 장비들.
host, router, switch, middle boxes 등.
MIB (Management Information Base)
managed device에 agent를 띄워 manabed devices에 관련된 정보들을 MIB에 저장. 이 값은 managing server에서 이용할 수 있다.
Managing server와 Agent간에 MIB data를 주고 받는데에 사용하는 프로토콜이 SNMP(UDP로 동작).
'컴퓨터 네트워크' 카테고리의 다른 글
1.2 Access network & Core network (0) | 2021.06.12 |
---|---|
6.1 MAC & ARP (0) | 2021.06.12 |
5.4 BGP (0) | 2021.06.12 |
5.3 AS & RIP & OSPF (0) | 2021.06.12 |
5.2 DV algorithm & AS (0) | 2021.06.12 |