네트워크와 프로토콜 기초 (Network Protocol Basics)

컴퓨터과학·AI
한 줄 정의: 네트워크는 여러 컴퓨터가 서로 연결된 통신망이고, 프로토콜은 그 컴퓨터들이 데이터를 주고받을 때 지켜야 하는 약속된 규칙입니다.

쉽게 풀면

외국에 편지를 보낸다고 생각해 봅시다. 봉투 앞면에는 받는 사람의 주소를, 뒷면에는 보내는 사람의 주소를 정해진 형식으로 적어야 우체국이 편지를 제대로 배달할 수 있습니다. 이런 "정해진 형식과 절차"가 바로 프로토콜입니다.

컴퓨터 네트워크에서도 마찬가지로, 한 컴퓨터가 다른 컴퓨터에 데이터를 보낼 때는 상대방의 주소(IP 주소)를 어떻게 적을지, 데이터를 어떤 순서로 쪼개서 보낼지, 오류가 나면 어떻게 다시 요청할지 등을 미리 약속해 둡니다.

예를 들어 웹페이지를 볼 때 쓰는 HTTP, 웹 통신을 암호화해 안전하게 주고받는 HTTPS, 인터넷의 기본 배달 규칙인 TCP/IP가 모두 프로토콜입니다. 이렇게 약속된 규칙(프로토콜) 덕분에 제조사가 다른 컴퓨터, 스마트폰, 서버끼리도 서로 데이터를 주고받을 수 있는 것이 네트워크입니다.

왜 중요한가

어떤 프로토콜을 선택하느냐에 따라 시스템의 속도, 안정성, 보안성, 전력 소모가 크게 달라지기 때문에, 네트워크·분산시스템·사물인터넷 연구에서 프로토콜 설계나 선택은 성능을 좌우하는 근본적인 설계 결정으로 다뤄집니다. 특히 새로운 통신 환경(저전력 IoT, 초저지연 무선망 등)이 등장할 때마다 기존 프로토콜의 한계를 극복하기 위한 새로운 프로토콜 제안이 활발한 연구 주제가 됩니다.

핵심 정리

네트워크는 컴퓨터 같은 장치(노드)가 선로나 무선 링크로 연결되어 데이터를 주고받는 구조이고, 프로토콜은 그 교환에서 지켜야 할 규칙의 묶음입니다. 프로토콜 명세는 보통 세 가지를 정합니다.

실제 통신은 한 프로토콜이 아니라 계층화된 여러 프로토콜이 맡습니다. 각 계층은 아래 계층이 제공하는 서비스를 이용해 위 계층에 서비스를 제공하고, 보내는 쪽에서는 계층마다 자기 헤더를 덧붙이며(캡슐화) 받는 쪽에서는 이를 거꾸로 벗겨 냅니다.

TCP/IP 계층맡은 일대표 프로토콜
응용프로그램끼리의 요청·응답 규칙HTTP, DNS, MQTT
전송프로그램(포트) 단위 전달, 신뢰성·흐름 제어TCP, UDP
인터넷주소 지정과 경로 선택IP
링크같은 망 안에서의 프레임 전달이더넷, Wi-Fi

OSI 7계층은 이를 물리·데이터링크·네트워크·전송·세션·표현·응용으로 더 잘게 나눈 참조 모형이며, 실제 인터넷은 TCP/IP 구조를 따릅니다.

예시로 보기

브라우저로 웹 페이지 한 장을 받아 오는 과정을 계층별로 풀면 다음과 같습니다(구현에 따라 세부는 다릅니다).

  1. 이름 풀이: DNS(응용 계층)로 도메인 이름에 해당하는 IP 주소를 찾습니다.
  2. 연결 수립: TCP(전송 계층)가 상대와 연결을 맺고, 이후 데이터를 순서대로 빠짐없이 전달하도록 번호 확인과 재전송을 합니다.
  3. 암호화: HTTPS라면 그 위에서 TLS가 암호화 통신을 준비합니다.
  4. 요청·응답: HTTP(응용 계층)가 “이 주소의 문서를 달라”는 요청과 문서를 담은 응답을 주고받습니다.
  5. 전달: 각 조각은 IP가 주소를 보고 라우터를 거쳐 목적지까지 보내고, 마지막 구간은 이더넷이나 Wi-Fi가 나릅니다.

논문에서 프로토콜을 ‘고른다’는 것은 이런 트레이드오프를 고른다는 뜻입니다. 예컨대 TCP는 신뢰성을 주는 대신 연결 설정과 재전송으로 지연이 늘 수 있고, UDP는 보증이 없는 대신 가볍습니다. MQTT는 발행·구독 방식의 경량 메시징 프로토콜로, 제한된 장치와 불안정한 망을 염두에 둔 설계로 소개됩니다(Banks & Gupta, 2014).

자주 하는 오해

논문에서는 이렇게 쓰입니다

실제 논문에서

이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"제안한 IoT 센서 시스템은 저전력 환경에서 안정적인 데이터 전송을 위해 MQTT 프로토콜을 기반으로 네트워크 통신을 구현하였다."

이 문장은 연구에서 만든 시스템이 기기 간 데이터를 주고받을 때 어떤 통신 규칙(프로토콜)을 사용했는지 밝히고 있다는 뜻입니다. 정보통신·컴퓨터공학 논문에서는 시스템이 어떤 프로토콜을 채택했는지가 성능과 신뢰성을 좌우하는 중요한 설계 요소로 자주 언급됩니다.

"분산 합의 알고리즘의 성능을 비교하기 위해, 동일한 네트워크 환경에서 서로 다른 합의 프로토콜의 처리량과 지연 시간을 측정하였다."

분산시스템 연구에서 여러 노드가 하나의 결정에 동의하도록 만드는 합의 프로토콜의 성능을 비교 분석한 사례입니다.

"기존 TCP 기반 전송 방식 대비, 제안한 프로토콜은 손실이 잦은 무선 환경에서도 낮은 재전송률을 유지하였다."

무선 네트워크 연구에서 특정 통신 환경에 맞춰 프로토콜을 개선한 결과를 보고하는 문장입니다.

조금 더 깊게 보면

실제 네트워크 통신은 흔히 여러 계층으로 나누어 설계되며, 대표적으로 OSI 7계층 모델이나 이를 단순화한 TCP/IP 4계층 모델이 참조 틀로 쓰입니다. 각 계층은 물리적 신호 전달, 목적지까지의 경로 탐색(라우팅), 신뢰성 있는 데이터 전달, 애플리케이션 간 요청·응답 처리 등 서로 다른 역할을 맡으며, 논문에서 특정 프로토콜을 언급할 때는 그것이 어느 계층에서 동작하는지를 함께 파악하면 그 프로토콜이 해결하려는 문제를 더 정확히 이해할 수 있습니다.

주의할 점

네트워크와 프로토콜은 하나가 아니라 여러 층으로 나뉘어 각자 다른 역할을 담당합니다. 예를 들어 데이터를 어떻게 목적지까지 찾아갈지 정하는 규칙과, 애플리케이션이 어떤 형식으로 요청을 주고받을지 정하는 규칙은 서로 다른 계층에 속합니다. 웹 브라우저와 서버가 요청·응답을 주고받는 대표적인 방식은 API (응용 프로그래밍 인터페이스)를 통해서도 확인할 수 있습니다.

헷갈리기 쉬운 용어

프로토콜은 규칙이고, 아래 용어는 그 규칙을 설명하는 틀이거나 규칙을 이용하는 접점입니다.

용어무엇인가프로토콜과의 관계
OSI 7계층 모델통신 기능을 7개 계층으로 나눈 참조 모형프로토콜을 계층별로 분류해 설명하는 틀
TCP/IP인터넷이 쓰는 프로토콜 묶음프로토콜의 구체적 예이자 실제 인터넷의 계층 구조
API프로그램이 다른 프로그램의 기능을 부르는 접점의 규약웹 API는 HTTP 같은 프로토콜 위에서 요청·응답 형식을 정하는 경우가 많음

참고 문헌

  1. Cerf, V. G., & Kahn, R. E. (1974). A protocol for packet network intercommunication. IEEE Transactions on Communications, 22(5), 637–648.
  2. Zimmermann, H. (1980). OSI reference model: The ISO model of architecture for open systems interconnection. IEEE Transactions on Communications, 28(4), 425–432.
  3. Postel, J. (1981). Transmission Control Protocol (RFC 793). Information Sciences Institute.
  4. Banks, A., & Gupta, R. (Eds.). (2014). MQTT Version 3.1.1. OASIS Standard.
  5. Tanenbaum, A. S., & Wetherall, D. J. (2011). Computer Networks (5th ed.). Pearson.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

관련 용어