정보/컴퓨터

API, SDK, Protocol, HSL, RTP/RTSP, SNMP, PING 네트워크 용어 정리 및 차이점

우주관리자 2025. 3. 31.

API, SDK, Protocol, HSL, RTP/RTSP, SNMP, PING 네트워크 용어 정리 및 차이점

 

1. API (Application Programming Interface) 란?

  • 정의: 응용 프로그램 프로그래밍 인터페이스. 프로그램들이 서로 상호작용하는 것을 도와주는 매개체이며, 특정 기능을 수행하기 위해 정해진 약속(규칙과 규격)의 집합입니다.
  • 쉬운 예시: 식당의 '메뉴판'과 같습니다.
    • 손님(하나의 프로그램)은 주방(다른 프로그램)의 복잡한 요리 과정을 알 필요 없이, 메뉴판(API)을 보고 원하는 음식(기능)을 주문합니다.
    • 웨이터(API의 역할)는 주문을 받아 주방에 전달하고, 완성된 음식을 손님에게 가져다줍니다.
    • 즉, API는 프로그램 간의 '주문 창구' 역할을 하여 정해진 방식으로 소통하게 해줍니다.

2. SDK (Software Development Kit) 란?

  • 정의: 소프트웨어 개발 키트. 특정 플랫폼(운영체제, 하드웨어 등)용 응용 프로그램을 개발하는 데 필요한 도구, 라이브러리, 문서, 코드 샘플 등을 모아놓은 집합입니다.
  • 쉬운 예시: '레고 조립 키트'와 같습니다.
    • 특정 모델(예: 자동차)을 만들기 위해 필요한 모든 부품(라이브러리, 도구), 조립 설명서(문서, 샘플 코드), 그리고 조립 도구까지 한 상자에 담겨 있습니다.
    • 개발자는 이 키트(SDK)만 있으면 해당 플랫폼에서 원하는 소프트웨어를 더 쉽고 빠르게 만들 수 있습니다.

3. API와 SDK의 차이점

  • API: 프로그램 간의 '소통 규칙' (식당의 메뉴판)
    • "이런 요청을 보내면, 이런 결과를 줄게" 라는 약속 자체에 초점.
  • SDK: 특정 환경에서 개발을 돕는 '도구 모음' (레고 조립 키트)
    • 개발에 필요한 재료(라이브러리), 설명서(문서), 도구 등을 포함.
    • SDK는 종종 특정 기능을 사용하기 위한 API를 포함하고 있습니다. 즉, 레고 키트 안에 특정 부품을 조립하는 방법(API)이 설명서에 포함된 것과 같습니다.
  • 핵심: API는 '약속', SDK는 그 약속을 포함하여 개발을 쉽게 하도록 돕는 '도구 상자'.

4. HLS (HTTP Live Streaming) 란?

  • 정의: Apple에서 개발한 적응형 비트레이트 스트리밍 프로토콜. 비디오를 작은 조각(Chunk)으로 나누어 HTTP를 통해 전송하며, 네트워크 상태에 따라 재생 품질을 자동으로 조절합니다.
  • 쉬운 예시: '뷔페 식당'에서 음식을 '작은 접시'에 나눠 담아 제공하는 것과 같습니다.
    • 큰 접시(전체 영상) 하나를 통째로 가져오는 대신, 작은 접시(영상 조각)에 음식을 계속 담아줍니다.
    • 주방(네트워크)이 바쁘면 작은 접시(저화질)를 빠르게 내어주고, 한가하면 큰 접시(고화질)를 내어주는 것처럼, 인터넷 속도에 맞춰 영상 품질을 조절하여 끊김 없이 볼 수 있게 합니다.

5. RTP / RTSP 란?

  • 정의:
    • RTP (Real-time Transport Protocol): 실시간 전송 프로토콜. IP 네트워크를 통해 오디오 및 비디오 데이터를 전송하기 위한 표준 패킷 형식을 정의합니다. 실제 미디어 데이터의 '배달'을 담당합니다.
    • RTSP (Real-time Streaming Protocol): 실시간 스트리밍 프로토콜. 미디어 서버를 제어하기 위한 네트워크 제어 프로토콜입니다. 스트리밍의 재생, 정지, 빨리 감기 등 '리모컨' 역할을 합니다.
  • 쉬운 예시: '라이브 TV 시청'과 같습니다.
    • RTP: TV 방송국에서 보내는 실제 영상과 음성 신호(데이터 패킷)입니다. 이 신호가 우리 집 TV까지 '배달'됩니다.
    • RTSP: TV 리모컨입니다. 리모컨으로 채널을 틀거나(재생), 잠시 멈추거나(일시정지) 하는 등 방송국(서버)에 명령을 보내 스트리밍을 제어합니다.
    • RTP는 내용을 전달하고, RTSP는 그 전달 과정을 제어합니다.

6. 프로토콜 (Protocol) 이란?

  • 정의: 컴퓨터나 네트워크 장비 사이에서 데이터를 주고받기 위해 정해진 통신 규칙 및 약속입니다. 데이터 형식, 통신 순서, 오류 처리 방법 등을 정의합니다.
  • 쉬운 예시: 사람들이 대화할 때 사용하는 '언어와 대화 예절'과 같습니다.
    • 두 사람이 만나면 어떤 언어(예: 한국어)로 말할지, 누가 먼저 말할지, 대화를 어떻게 시작하고 끝낼지, 상대방의 말을 이해했는지 어떻게 표현할지 등에 대한 암묵적인 규칙이 있습니다.
    • 컴퓨터들도 마찬가지로, 서로 원활하게 정보를 교환하기 위해 미리 정해진 규칙(프로토콜)을 따라야 합니다. HTTP, FTP, TCP/IP 등이 모두 프로토콜의 종류입니다.

7. API와 프로토콜의 차이점

  • 프로토콜: 컴퓨터 간의 기본적인 '데이터 교환 규칙' (언어의 문법, 알파벳)
    • 데이터를 '어떻게' 주고받을지에 대한 낮은 수준의 약속. (예: HTTP, TCP/IP)
    • 데이터 전송 자체의 성공과 효율성에 초점.
  • API: 특정 프로그램의 '기능 사용 설명서' (식당 메뉴판, 특정 상황별 회화책)
    • 해당 기능을 사용하기 위해 '무엇을', '어떻게' 요청해야 하는지에 대한 높은 수준의 약속.
    • 프로그램 간의 상호작용 및 기능 활용에 초점.
  • 관계: API는 특정 기능을 제공하기 위해 프로토콜이라는 기반 위에서 작동합니다. 즉, 프로토콜이라는 '언어 규칙'을 사용해서 API라는 '구체적인 주문(요청)'을 하는 것입니다.

8. SNMP (Simple Network Management Protocol) 란?

  • 정의: 간단한 네트워크 관리 프로토콜. IP 네트워크상의 장치(라우터, 스위치, 서버 등)로부터 정보를 수집하고 관리하기 위한 표준 프로토콜입니다. 주로 네트워크 모니터링에 사용됩니다.
  • 쉬운 예시: '건물 관리인'이 정기적으로 건물의 여러 시스템 상태를 '점검 목록'을 사용해 확인하는 것과 같습니다.
    • 관리인(네트워크 관리 시스템)은 각 방(네트워크 장비)을 돌며 점검 목록(SNMP)에 따라 "현재 온도(CPU 사용률)는?", "전력 사용량(네트워크 트래픽)은?" 등을 묻습니다.
    • 각 방의 시스템(장비)은 정해진 양식(SNMP)에 맞춰 상태를 보고합니다. 이를 통해 관리인은 건물 전체(네트워크)의 상태를 파악하고 문제를 미리 발견할 수 있습니다.

9. PING (Packet Internet Groper) 이란?

  • 정의: 특정 대상 컴퓨터(호스트)가 네트워크상에서 응답하는지 확인하기 위한 네트워크 진단 도구입니다. 요청 메시지를 보내고 응답이 돌아오는 시간(Round-trip time)을 측정하여 연결 상태와 속도를 확인합니다.
  • 쉬운 예시: 산 정상에서 "야호!" 하고 외치고 '메아리'를 기다리는 것과 같습니다.
    • 내가 "야호!"(Ping 요청)라고 외쳤을 때, 건너편 산(대상 컴퓨터)에서 "야호!"(Ping 응답)라는 메아리가 돌아오면 '아, 저기 사람이 있구나(연결되어 있구나)'를 알 수 있습니다.
    • 메아리가 얼마나 빨리 돌아오는지(응답 시간)를 통해 거리가 얼마나 먼지(네트워크 지연 시간)도 가늠할 수 있습니다. 메아리가 돌아오지 않으면 상대방이 없거나(연결 안 됨) 너무 멀리 있는 것입니다.
반응형