
컴퓨터 네트워크에서 응용 계층 프로토콜은 사용자의 요구를 처리하고 응용 프로그램 간 데이터 통신을 담당합니다.

이 중에서도 다음 프로토콜은 일상적으로 자주 사용되며, 기본적인 이해가 중요합니다.
HTTP/HTTPS (HyperText Transfer Protocol)
웹사이트의 정보를 주고받는 데 사용되는 프로토콜로, 인터넷 상에서 가장 많이 활용됩니다.
DNS (Domain Name System)
사용자가 입력한 도메인 이름을 IP 주소로 변환해주는 프로토콜로, 인터넷 통신에서 필수적인 역할을 합니다.
FTP (File Transfer Protocol)
파일을 업로드 및 다운로드하기 위한 표준 프로토콜입니다.
SMTP/POP3 (Simple Mail Transfer Protocol / Post Office Protocol)
이메일 송수신에 사용되며, SMTP는 메일 송신, POP3는 메일 수신 프로토콜입니다.
DNS는 도메인 이름을 IP 주소로 변환하거나 그 반대를 수행하기 위해 개발된 시스템입니다.
사용자는 복잡한 IP 주소 대신 기억하기 쉬운 도메인 이름을 사용할 수 있습니다.도메인 이름 → IP 주소 변환
사용자가 입력한 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 변환.www.google.com → 142.250.190.78IP 주소 → 도메인 이름 변환
사용자가 브라우저에 URL 입력: https://www.example.comDNS 클라이언트가 DNS 서버에 요청.DNS 서버가 요청한 도메인 이름에 해당하는 IP 주소를 반환.웹 서버와 통신.
DNS는 네트워크 계층에서 UDP를 주로 사용하며, 특정 상황에서 TCP를 사용하기도 합니다.
SMTP는 이메일을 송신하기 위한 프로토콜입니다.
클라이언트가 작성한 메일을 메일 서버로 전달.메일 서버가 수신자 서버로 메일을 전송.25587 (TLS 보안 적용 시)SMTP의 단점을 보완하기 위해 등장한 확장 프로토콜입니다.
첨부파일 등)를 전송 가능.SMTP 본문 데이터를 ASCII 코드로 변환한 후 전송.수신 클라이언트는 MIME 헤더를 확인하여 디코딩.MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----boundary1234"POP3는 이메일을 수신하기 위한 프로토콜입니다.
클라이언트에 저장 후, 서버에서 삭제(기본 동작).110IMAP은 POP3의 단점을 보완한 프로토콜로, 메일을 중앙 서버에 동기화합니다.
중앙 서버에 저장된 메일을 동기화하여, 모든 장치에서 동일한 메일함 확인 가능.클라이언트에서 메일을 다운로드하지 않아도 됨.중앙 서버의 저장 용량에 제한이 있을 수 있음.143| 구분 | SMTP | MIME | POP3 | IMAP |
|---|---|---|---|---|
| 역할 | 메일 송신 | SMTP의 확장, 다양한 데이터 전송 지원 | 메일 다운로드 및 서버에서 삭제 | 메일 동기화 및 서버 저장 유지 |
| 사용 포트 | 25, 587 | SMTP와 함께 사용 | 110 | 143 |
| 데이터 지원 | 텍스트(ASCII 코드)만 가능 | 첨부파일 등 다양한 포맷 전송 가능 | 텍스트 및 첨부파일 다운로드 | 텍스트 및 첨부파일 동기화 |
| 장점 | 메일 송신 전용, 빠른 전송 | 텍스트 외에도 이미지, 첨부파일 지원 | 로컬 저장 가능, 간단한 구조 | 모든 장치에서 동기화 지원 |
| 단점 | 텍스트 전송 제한 | MIME 디코딩 필요 | 서버와 동기화 불가능 | 서버 저장 공간 제한 가능 |
FTP는 서버와 클라이언트 사이에서 파일을 전달하기 위한 프로토콜로, 네트워크를 통해 대용량 파일을 전송하는 데 널리 사용됩니다.
21: 연결을 설정하고 명령어를 제어.20: 파일 데이터 전송.클라이언트가 서버에 요청을 보내 파일을 전송하거나 다운로드.FTP는 Active Mode와 Passive Mode라는 두 가지 동작 모드를 제공합니다.

클라이언트가 서버의 포트 21로 연결.서버가 클라이언트로 데이터 연결을 설정하기 위해 다시 클라이언트 포트로 접속.서버의 접속을 차단할 가능성이 있음.클라이언트가 서버에 연결 요청.서버는 자신의 포트를 열고, 클라이언트가 해당 포트로 접속.클라이언트의 방화벽 문제를 피할 수 있음.서버 측에서 관리해야 할 포트 범위가 늘어날 수 있음.| 구분 | Active Mode | Passive Mode |
|---|---|---|
| 데이터 연결 | 서버가 클라이언트로 접속 요청 | 클라이언트가 서버의 지정 포트로 접속 |
| 방화벽 문제 | 클라이언트 방화벽 문제로 연결 실패 가능 | 클라이언트 방화벽 문제를 피할 수 있음 |
| 구현 복잡도 | 비교적 단순 | 서버 측 포트 관리 필요 |
FTP는 데이터를 평문으로 전송하므로, 도청 및 중간자 공격에 취약.FTP는 암호화를 지원하지 않음.FTP에 SSL/TLS 기반 암호화 적용.SSH 프로토콜을 이용해 암호화된 파일 전송.웹 브라우저는 사용자가 입력한 URL을 해석하고, 웹 서버와 통신하여 HTML, CSS, JavaScript 등 웹 페이지를 렌더링합니다. 이 과정은 크게 4단계로 나눌 수 있습니다.
URL을 입력하면, 브라우저는 DNS 프로토콜을 사용해 URL을 IP 주소로 변환합니다.https://www.fun-coding.org13.209.140.30
URL을 기반으로 HTTP 요청을 생성합니다.메서드(GET, POST), 헤더 정보(User-Agent, Accept 등).HTTP Request는 운영 체제의 네트워크 스택을 따라 아래 순서로 처리됩니다:HTTP → TCP → IP → Ethernet네트워크를 통해 전송.
브라우저는 서버로부터 받은 HTML, CSS, JavaScript 파일을 처리하여 렌더링 과정을 시작합니다.
HTML 파일을 구조화된 데이터로 변환해 DOM Tree를 생성.DOM의 정의
- 문서를 객체 모델로 표현한 구조.
- HTML 예시:
<html> <body> <h1>Welcome!</h1> </body> </html>→ DOM Tree:
html └─ body └─ h1
CSS 파일의 스타일 정보를 파싱해 CSSOM Tree 생성.CSSOM은 DOM과 함께 렌더 트리(Render Tree) 생성을 지원.화면에 표시될 요소와 스타일 정보를 포함.
Render Tree를 기반으로 화면에 내용을 표시합니다.
Paint 결과를 합성하여 최종 화면을 출력.DOM Tree를 재구성하여 렌더링(비효율적).DOM의 가벼운 형태(JSON)를 메모리에 저장.DOM에 반영.React, Vue.js 등 프론트엔드 프레임워크.
| 단계 | 설명 |
|---|---|
| 1. URL 입력 | URL을 DNS 프로토콜로 IP 주소로 변환. |
| 2. HTTP Request 전송 | 네트워크 스택을 통해 데이터를 서버로 전송. |
| 3. DOM/CSSOM Tree 생성 | HTML/CSS 파일을 파싱하여 구조화된 Tree 생성. |
| 4. Rendering | Render Tree 기반으로 레이아웃 계산 후 화면 출력. |
이번 포스팅에서는 네트워크의 주요 프로토콜과 웹 브라우저의 동작 과정을 다뤘습니다.
DNS
도메인 이름과 IP 주소 간 변환을 담당하는 핵심 프로토콜로, 인터넷 통신에서 필수적인 역할을 합니다.
Mail Server
SMTP/MIME, POP3, IMAP을 중심으로 메일 송수신을 효율적으로 수행합니다.
FTP
파일 전송을 위한 프로토콜로 Active/Passive Mode의 차이와 한계를 살펴보았고, 보안 강화를 위해 FTPS/SFTP와 같은 대안도 간단하게 소개했습니다.
Web Browser
URL 입력 -> HTTP Request -> DOM/CSSOM Tree -> Rendering까지 브라우저의 세부 동작 과정을 단계별로 수행해서 웹 브라우저가 동작하게 됩니다.
추천 학습 자료
더 깊이 있는 학습을 원하신다면 다음 자료를 참고하세요!
- MDN Web Docs - DNS
- DNS 개념과 동작 방식에 대한 공식 문서입니다.
- SMTP와 이메일 송수신 과정
- 이메일 전송 프로토콜을 심층적으로 다룹니다.
- How Web Browsers Work
- 웹 브라우저의 동작 과정을 기술적으로 상세히 설명합니다.