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

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

쉽게 풀면

외국에 편지를 보낸다고 생각해 봅시다. 봉투 앞면에는 받는 사람의 주소를, 뒷면에는 보내는 사람의 주소를 정해진 형식으로 적어야 우체국이 편지를 제대로 배달할 수 있습니다. 이런 "정해진 형식과 절차"가 바로 프로토콜입니다. 컴퓨터 네트워크에서도 마찬가지로, 한 컴퓨터가 다른 컴퓨터에 데이터를 보낼 때는 상대방의 주소(IP 주소)를 어떻게 적을지, 데이터를 어떤 순서로 쪼개서 보낼지, 오류가 나면 어떻게 다시 요청할지 등을 미리 약속해 둡니다. 예를 들어 웹페이지를 볼 때 쓰는 HTTP, 파일을 안전하게 전송하는 HTTPS, 인터넷의 기본 배달 규칙인 TCP/IP가 모두 프로토콜입니다. 이렇게 약속된 규칙(프로토콜) 덕분에 제조사가 다른 컴퓨터, 스마트폰, 서버끼리도 서로 데이터를 주고받을 수 있는 것이 네트워크입니다.

왜 중요한가

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

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

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

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

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

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

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

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

조금 더 깊게 보면

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

주의할 점

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

관련 용어