13주차 컴퓨터 네트워크

민주·2024년 1월 7일
0

전통적인 라우팅 방식의 특징

1. 라우터별 제어 플레인

- 제어 플레인 : 네트워크에서 데이터를 어디로 보낼지, 트래픽이 어떻게 전달될지 결정하는 두뇌
- 각 라우터는 자신만의 제어 플레인을 가짐 => 라우터별로 독립적인 경로 계산 및 결정이 가능
- 결론적으로, 네트워크의 각 부분이 서로 다른 운영 체제와 설정을 가질 수 있고, 중앙집중식 관리가 없는 분산된 환경에서 작동.
- ex) IP, RIP, IS-IS, OSPF, BGP
- 라우터의 독립성이 네트워크 전체의 통합된 관리와 최적화를 어렵게 함.

2. 트래픽 엔지니어링

- 트래픽을 특정 경로로 유도하는 것.
- 전통적인 라우팅에서는 트래픽 엔지니어링이 어렵다.
- 매번 특정 경로를 위해 링크 가중치를 재정의하거나 새로운 라우팅 알고리즘을 개발해야 할 수 있다.

=> 전통적인 라우팅 방식은 네트워크의 다양한 요구와 유연성을 충족시키기 어렵다.
=> 네트워크가 계속 발전하고 복잡해지면서, 이러한 제한 사항들이 더욱 두드러지게 되었고
=> SDN이 등장하였다.

SDN(Software Defined Networking)

네트워크 제어 플레인과 포워딩 플레인을 분리하고, 제어 플레인을 중앙집중화하여 유연성과 효율성을 높인다.

1. 네트워크 제어 플레인과 포워딩 플레인의 분리

- 네트워크의 제어 기능을 구현하고, SDN 컨트롤러가 제공하는 북바운드 API를 사용하여 작동

2. 메인프레임에서 PC로의 진화 비유

- SDN의 개념은 메인프레임 컴퓨터에서 개인용 컴퓨터(PC)로의 진화와 비교될 수 있다.

3. SDN 제어 플레인의 역할

- SDN에서 제어 플레인은 원격 위치의 컨트롤러에 의해 수행.
- 컨트롤러는 네트워크의 전체 상황을 파악하고, 라우터나 스위치 등의 네트워크 장치에 포워딩 테이블을 계산하여 설치

4. SDN의 구조

- SDN 컨트롤러, 네트워크 제어 애플리케이션, 남북방 API, 그리고 SDN 제어 스위치로 구성
- 컨트롤러는 네트워크 제어 애플리케이션과 통신하며, 남북방 API를 통해 제어 명령을 전달하고 정보를 수집. SDN 제어 스위치는 이러한 명령에 따라 데이터 플레인을 조정.

5. 데이터 플레인 스위치

- 데이터 플레인 스위치는 네트워크에서 데이터 패킷을 전달하는 역할을 하는 장치
- "물리적 통로"와 같은 역할을 하며, 네트워크에서 데이터가 이동하는 경로를 결정.
- SDN에서 데이터 플레인 스위치는 단순하고 빠른 상품 스위치로 구성

6. SDN 컨트롤러의 역할

- SDN 컨트롤러는 네트워크 운영 체제
- 전체 네트워크 상태 정보를 유지하고 네트워크 제어 애플리케이션과 상호 작용
- 네트워크의 성능과 확장성을 고려하여 분산 시스템으로 구현

OpenFlow

- SDN 환경에서 컨트롤러와 스위치 간의 통신에 사용되는 프로토콜
-  TCP를 사용하여 메시지를 교환하며, 필요에 따라 선택적인 암호화를 제공
=>  컨트롤러가 네트워크 스위치를 효율적으로 제어 및 관리 가능

OpenFlow 메시지

[메세지 유형]
1. 스위치 기능에 대한 컨트롤러의 쿼리 : 컨트롤러는 스위치의 기능 및 능력을 파악하기 위해 쿼리를 보냄
2. 스위치 설정 매개변수의 쿼리 및 설정 : 컨트롤러는 스위치의 구성을 확인하고 필요에 따라 설정을 변경
3. 플로우 엔트리의 추가, 삭제, 수정 : 컨트롤러는 네트워크 트래픽을 제어하기 위해 플로우 테이블에 엔트리를 추가, 삭제 또는 수정 (특정 트래픽 패턴을 인식하고 그에 따라 적절한 액션을 취하는 규칙)

제어 플레인과 데이터 플레인 간의 상호작용

1. 링크 실패 시 :

- 네트워크 내의 링크에 실패가 발생하면, 데이터 플레인(스위치)는 OpenFlow 프로토콜을 사용하여 컨트롤러에게 이 상황을 알림

2. 컨트롤러 :

- 컨트롤러는 이 정보를 받고, Dijkstra 알고리즘과 같은 라우팅 알고리즘을 사용하여 새로운 라우팅 경로를 계산

=> 네트워크의 효율성을 유지하고, 장애에 신속하게 대응

Network ManageMent

네트워크 관리 프로토콜 : 네트워크 장비 및 서비스를 모니터링, 관리, 유지하는 데 사용되는 일련의 규약이나 표준

=> 이를 통해 트워크 장치의 상태를 파악하고, 문제를 진단하며, 네트워크 구성을 변경하고, 성능을 최적화하는 데 필요한 데이터와 명령을 전송함

Main Goal : 네트워크의 효율성과 안정성을 유지하고, 잠재적 문제를 신속하게 해결하여 네트워크의 지속적인 운영을 보장하는 것

1. SNMP (Simple Network Management Protocol)

- 네트워크 장비를 모니터링하고 관리하는 데 사용되는 인터넷 표준 프로토콜
- 세 가지 주요 구성 요소: 관리 대상 장치(네트워크 장비), 에이전트(장치에 설치된 소프트웨어), 네트워크 관리 시스템(NMS)
- 에이전트는 장치의 상태 정보를 수집하고, NMS에게 SNMP 메시지를 통해 이를 보고. NMS는 네트워크의 전반적인 상태를 모니터링하고 필요한 경우 설정을 조정
- 현재 보안과 데이터 형식의 개선이 이루어진 SNMP v2가 나온 상태.

2. NETCONF (Network Configuration Protocol)

- 네트워크 장비의 구성을 관리하기 위한 프로토콜
- XML(언어)을 기반으로 하며, 네트워크 장비의 구성을 검색하고, 수정하고, 업데이트하는 기능을 제공
- SSH(Secure Shell)을 통해 안전한 연결을 지원하며, 더 나은 보안과 무결성을 제공

3. YANG (A Data Modeling Language for NETCONF)

- NETCONF를 위한 데이터 모델링 언어로, 네트워크 장비의 구성과 상태를 모델링하는 데 사용
- 네트워크 장비의 구성을 표준화하고, 구성 데이터의 구조와 제약 조건을 명확하게 정의
- 복잡한 네트워크 장비의 구성을 단순하고 이해하기 쉬운 방식으로 표현할 수 있어, 네트워크 관리자가 보다 효과적으로 장비를 관리할 수 있음

SNMP는 주로 모니터링과 관리에 초점을 맞춘 반면, NETCONF와 YANG은 네트워크 장비의 구성을 보다 정밀하게 관리하고, 네트워크의 상태와 구성을 보다 효율적으로 모델링할 수 있는 기능을 제공

profile
일단 가보면 뭐든 있겠지

0개의 댓글