봄날 보다 따뜻한 오후.. 알아보는 토픽.. 어디까지 봐야하나..
PE 출제 범위.. 분석, 설계, 통신 시스템
4. 컴퓨터 시스템 및 정보통신 | 1. 컴퓨터 시스템 가. 운영체제 나. 시스템 프로그래밍 다. 수치해석 라. 알고리즘 마. 가상화 바. 인프라 아키텍처 2. 정보통신 가. 네트워크 나. 네트워크 설계 - 다. 통신시스템 |
NFV Network Functions Virtualization
NFV는 네트워크 기능 가상화를 의미합니다.
전통적으로 전용 하드웨어를 사용하여 구현된 네트워크 기능의 가상화를 포함하는 네트워크 아키텍처 개념입니다.
NFV는 특수 하드웨어를 상용 하드웨어에서 실행되는 소프트웨어 기반 솔루션으로 교체하여 네트워크 인프라의 유연성, 확장성 및 효율성을 높이는 것을 목표로 합니다.
NFV의 핵심 기술 요소:
- 가상화 네트워크 기능(VNF): NFV에서는 네트워크 기능이 전용 하드웨어 어플라이언스에서 분리되어 소프트웨어 기반 VNF로 구현됩니다. 이러한 VNF는 범용 서버에서 실행될 수 있으므로 네트워크를 더욱 민첩하고 관리하기 쉽게 만듭니다.
- NFVI(NFV 인프라): VNF를 호스팅하는 기본 하드웨어 및 소프트웨어 플랫폼입니다. NFVI에는 가상화된 네트워크 기능을 지원하는 데 필요한 컴퓨팅, 스토리지 및 네트워킹 리소스가 포함되어 있습니다. 서버, 저장장치, 네트워크 장비 등으로 구성될 수 있습니다.
- 가상화 계층(하이퍼바이저): 종종 하이퍼바이저를 사용하여 구현되는 가상화 계층은 물리적 하드웨어 리소스의 추상화를 가능하게 하여 여러 VNF가 동일한 물리적 인프라에서 실행될 수 있도록 합니다. 이 계층은 리소스를 효율적으로 관리하고 할당하는 데 도움이 됩니다.
- NFV MANO(NFV 관리 및 오케스트레이션): NFV MANO는 VNF의 관리 및 오케스트레이션을 담당합니다. 여기에는 세 가지 주요 구성 요소가 포함됩니다.
- VIM(가상 인프라 관리자): NFVI 리소스를 관리하여 리소스 할당, 모니터링, 확장과 같은 작업을 처리합니다.
- 가상 네트워크 기능 관리자(VNFM): 인스턴스화, 확장, 종료를 포함하여 개별 VNF의 수명주기를 관리합니다.
- NFVO(NFV 오케스트레이터): 여러 VNF의 배포 및 관리를 조정하여 원활하게 협력하여 특정 서비스를 제공하도록 합니다.
- NFV OSS(운영 지원 시스템) 및 BSS(비즈니스 지원 시스템): NFV 네트워크의 일상적인 운영 및 비즈니스 측면을 지원하는 시스템입니다. OSS에는 네트워크 모니터링 및 유지 관리와 같은 기능이 포함되어 있고 BSS는 청구 및 고객 지원과 같은 비즈니스 관련 기능을 처리합니다.
NFV는 보다 동적이고 효율적인 네트워크 관리를 가능하게 하고, 자본 및 운영 비용을 절감하며, 새로운 서비스 배포를 가속화합니다.
SDN(소프트웨어 정의 네트워킹)과 OpenFlow 비교
서로 관련된 개념이지만 네트워크 아키텍처 영역 내에서 서로 다른 용도로 사용됩니다.
SDN과 OpenFlow를 비교해 보겠습니다.
- 정의:
- SDN(소프트웨어 정의 네트워킹): SDN은 데이터 플레인에서 네트워크 제어 플레인을 분리하는 것을 의미하는 더 넓은 개념입니다. 소프트웨어 기반 컨트롤러를 통해 프로그래밍 가능성과 네트워크의 중앙 집중식 제어가 가능합니다.
- OpenFlow: OpenFlow는 SDN 컨트롤러와 네트워킹 장치(예: 스위치 및 라우터) 간의 통신을 용이하게 하는 SDN 아키텍처 내의 특정 프로토콜입니다. OpenFlow는 데이터 플레인에서 흐름 제어를 관리하는 데 사용되는 통신 프로토콜을 정의합니다.
- 범위:
- SDN: 네트워크 아키텍처에 대한 포괄적인 접근 방식을 포괄하고 제어 영역과 데이터 영역의 분리를 강조하며 프로그래밍 가능한 네트워크 관리를 위한 프레임워크를 제공합니다.
- OpenFlow: 특히 외부 컨트롤러가 네트워크 장치의 동작을 지시할 수 있도록 하는 통신 프로토콜에 중점을 둡니다.
- 아키텍처:
- SDN: SDN 컨트롤러, 사우스바운드 API(컨트롤러와 네트워크 장치 간 인터페이스), 노스바운드 API(컨트롤러와 애플리케이션 간 인터페이스)를 포함한 여러 구성 요소와 관련됩니다.
- OpenFlow: 주로 사우스바운드 API를 다루며 표준화된 프로토콜을 사용하여 SDN 컨트롤러와 네트워크 스위치 간의 통신을 정의합니다.
- 컨트롤 플레인과 데이터 플레인 분리:
- SDN: 제어 평면(의사결정)과 데이터 평면(패킷 전달)의 분리를 강조합니다.
- OpenFlow: SDN 컨트롤러(제어 평면)와 네트워크 장치(데이터 평면) 간의 통신을 구체적으로 다루어 흐름 테이블을 기반으로 전달 결정을 내립니다.
- 적용 범위:
- SDN: OpenFlow에 국한되지 않고 다양한 프로토콜과 기술을 사용하여 구현할 수 있습니다. SDN을 사용하면 특정 사용 사례에 가장 적합한 기술을 유연하게 선택할 수 있습니다.
- OpenFlow: 주로 SDN과 관련하여 사용되지만 SDN 아키텍처에 사용할 수 있는 프로토콜 중 하나일 뿐입니다.
요약하면 SDN은 네트워킹에서 제어 영역과 데이터 영역의 분리를 촉진하는 보다 광범위한 아키텍처 개념입니다.
반면 OpenFlow는 SDN 컨트롤러와 네트워크 장치 간의 통신을 활성화하기 위해 SDN 내에서 사용되는 특정 프로토콜입니다.
OpenFlow는 많은 SDN 구현의 핵심 구성 요소이지만 SDN 자체는 OpenFlow에만 국한되지 않습니다.
HTTP Keep-Alive
단일 TCP(Transmission Control Protocol) 연결을 통해 여러 요청과 응답을 보낼 수 있도록 HTTP(Hypertext Transfer Protocol)에서 사용되는 메커니즘입니다.
기존 모델에서는 일반적으로 각 HTTP 요청과 응답에 별도의 TCP 연결을 설정하고 닫아야 하므로 추가 대기 시간과 오버헤드가 발생합니다.
HTTP Keep-Alive는 단일 영구 연결을 통해 여러 요청과 응답을 보낼 수 있도록 하여 이러한 오버헤드를 줄이는 데 도움이 됩니다.
HTTP 연결 유지 작동 방식은 다음과 같습니다.
- 연결 헤더: HTTP 연결 유지 기능은 HTTP 요청 또는 응답의 Connection 헤더를 사용하여 촉진됩니다.
- 지속적 연결: 클라이언트가 Connection: keep-alive 헤더와 함께 HTTP 요청을 보낼 때 여러 요청에 대해 연결을 열어두고 싶다는 것을 서버에 나타냅니다.
- 서버 응답: 서버가 연결 유지를 지원하는 경우(응답의 Connection: keep-alive 헤더로 표시됨) 연결을 열린 상태로 유지하는 데 동의합니다.
- 다중 요청: 클라이언트의 후속 HTTP 요청은 각 요청에 대해 새 TCP 연결을 설정할 필요 없이 동일한 연결을 통해 전송될 수 있습니다.
- 연결 시간 초과: 지정된 시간 초과까지 또는 클라이언트나 서버가 명시적으로 연결을 닫을 때까지 연결은 열린 상태로 유지됩니다.
HTTP 연결 유지의 이점:
- 감소된 대기 시간: 연결을 열어두면 각 요청에 대해 새 TCP 연결을 설정하는 오버헤드가 방지되어 대기 시간이 줄어듭니다.
- 리소스 효율성: 기존 연결을 재사용하는 것이 반복적으로 연결을 열고 닫는 것보다 리소스 효율적입니다.
- 향상된 성능: 동일한 연결을 통해 여러 HTTP 요청이 이루어질 수 있는 여러 리소스(이미지, 스타일시트, 스크립트)가 있는 웹 페이지에 특히 유용합니다.
HTTP Keep-Alive는 널리 지원되지만 일부 오래되었거나 특정 환경에서는 이를 완전히 지원하지 않을 수 있다는 점에 유의하는 것이 중요합니다.
또한 HTTP/1.1의 후속 버전인 HTTP/2는 본질적으로 멀티플렉싱을 지원합니다.
이를 통해 명시적인 Keep-Alive 헤더 없이도 단일 연결을 통해 여러 데이터 스트림을 전송할 수 있습니다.
많은 최신 웹 서버와 클라이언트는 더 나은 성능을 위해 기본적으로 HTTP 연결 유지를 사용합니다.
"TTL" = "Time to Live"
TTL(Time to Live)은 인터넷 프로토콜(IP) 패킷 헤더에 있는 필드이며, 주요 목적은 패킷이 네트워크 내에서 유지되거나 존재할 수 있는 최대 시간을 지정하는 것입니다.
네트워크의 각 홉(패킷이 라우터나 게이트웨이를 통과할 때마다)마다 1씩 감소하며, 0에 도달하면 일반적으로 패킷이 삭제됩니다.
"TTL 연결 유지"라는 맥락에서 이는 네트워크 장치나 애플리케이션 간의 열린 연결이나 세션을 유지하는 데 사용되는 메커니즘을 의미할 수 있습니다.
연결 유지의 개념은 연결이 활성 상태로 유지되고 조기에 종료되지 않도록 하기 위해 종종 사용됩니다.
예를 들어, TCP(전송 제어 프로토콜)에서 연결 유지 메커니즘에는 연결의 양쪽 끝이 여전히 연결 가능하고 응답할 수 있도록 하기 위해 작고 일반적으로 비어 있는 패킷을 주기적으로 보내는 작업이 포함됩니다.
이러한 패킷의 TTL(Time to Live) 값은 만료되지 않고 예상 네트워크 경로를 통과할 수 있을 만큼 높은 값으로 설정될 수 있습니다.
다음은 TTL 연결 유지 메커니즘의 작동 방식에 대한 간략한 개요입니다.
- 정기적 확인: 장치나 애플리케이션은 연결 상태를 확인하기 위해 정기적으로 작은 패킷을 보냅니다.
- TTL 설정: 이러한 패킷의 TTL(Time to Live) 값은 일반적으로 패킷이 삭제되지 않고 네트워크 경로를 통과할 수 있는 값으로 설정됩니다.
- 응답: 수신자는 연결 유지 패킷을 확인하여 연결이 여전히 활성 상태임을 나타냅니다.
- 조기 연결 종료 방지: 연결 유지 메커니즘은 방화벽, 라우터 또는 기타 네트워크 장치가 비활성으로 인해 연결을 조기에 종료하는 것을 방지하는 데 도움이 됩니다.
TTL 연결 유지 메커니즘의 구현 세부 사항은 다양할 수 있으며 사용 중인 특정 프로토콜이나 애플리케이션에 따라 이러한 메커니즘이 사용되는 방식이 정의된다는 점에 유의하는 것이 중요합니다.
목표는 네트워크 세션의 연결을 유지하고 네트워크 오류나 유휴 연결과 같은 문제를 감지하고 해결하는 것입니다.
'도전기 > PE' 카테고리의 다른 글
6w_SECU_02 (0) | 2024.03.31 |
---|---|
6주차_SECU_01 (0) | 2024.03.31 |
[D+50, D-54] PE 학습하기, 조금 더하기 (1) | 2023.12.05 |
[D+51, D-60] PE 하자, 조금 더 (0) | 2023.12.04 |
[D+42] 정보관리기술사(PE) 중간 점검 (0) | 2023.11.21 |