응용 계층 프로토콜

네트워크/OS
읽는데 7분 소요
처음 쓰여진 날: 2025-09-10
마지막 수정일: 2025-09-10

요약

응용 계층 프로토콜을 체계적으로 정리했어요. SSH, HTTP, FTP, SMTP 등 프로토콜 키워드와 오류제어(CRC)를 상세히 다루고 있는 글이에요.

응용 계층 프로토콜 포트번호 + 키워드

프로토콜포트번호키워드
SSH22인증/암호화 제공, Telnet 보다 강력한 보안, 원격 접속
Telnet23원격 접속
HTTP80요청/응답 처리, GET/POST/PUT
HTTPS443HTTP + 보안 통신, SSL/TLS 사용
FTP21파일 전송
SMTP25메일 전송
POP3110메일 수신(다운로드)
IMAP143메일 수신(동기화)
DNS53도메인 이름 서비스

SSH (Secure Shell)

SSH는 22번 포트를 사용하는 원격 접속 프로토콜으로, Telnet보다 강력한 보안을 제공합니다. 주요 특징은 다음과 같습니다.

  • 인증/암호화: 사용자와 서버 간의 모든 통신을 암호화하여 제3자가 데이터를 가로채더라도 내용을 알 수 없게 합니다.
  • 키 인증 방식: 비밀번호를 이용한 인증 외에, 공개키-개인키 쌍을 이용한 인증을 지원합니다. 이 방식을 사용하려면, 클라이언트에서 생성한 공개키를 서버의 ~/.ssh/authorized_keys 파일에 미리 등록해야 합니다. 이를 통해 비밀번호 입력 없이 안전하게 서버에 접속할 수 있습니다.

Telnet

Telnet은 23번 포트를 사용하는 원격 접속 프로토콜입니다. 네트워크를 통해 다른 컴퓨터에 접속하여 명령을 실행할 수 있지만, 모든 데이터를 평문으로 전송하여 보안에 취약합니다. 이로 인해 사용자 이름, 비밀번호 등 민감한 정보가 네트워크 상에서 쉽게 노출될 수 있습니다.

  • 보안 취약점: 데이터 암호화가 적용되지 않아 중간자 공격(Man-In-The-Middle)에 취약합니다.
  • SSH와의 비교: Telnet의 보안 문제를 해결하기 위해 SSH(Secure Shell) 프로토콜이 개발되었습니다. SSH는 모든 통신 내용을 암호화하여 Telnet보다 훨씬 안전합니다. 따라서 현재 원격 접속 및 관리에는 Telnet보다 SSH의 사용이 권장됩니다.

HTTP (HyperText Transfer Protocol)

HTTP(HyperText Transfer Protocol)는 웹에서 하이퍼미디어 문서를 전송하는 네트워크 프로토콜입니다. 주로 웹 브라우저와 서버 간에 하이퍼미디어 문서를 주고받는 데 사용됩니다.

HTTP는 텍스트 기반이며, 상태를 유지하지 않는(stateless) 프로토콜입니다. 이러한 특성 덕분에 웹 상에서 문서를 효율적으로 전송하고, RESTful 웹 서비스나 AJAX 요청과 같은 동적 웹 애플리케이션의 기반으로 활용됩니다.

URI의 일부로서, http://example.com/에서 http는 스킴(scheme)을 나타냅니다. http 스킴을 사용하는 리소스는 일반적으로 암호화되지 않은 연결을 통해 전송됩니다. 반면, https 스킴(https://developer.mozilla.org와 같이)은 리소스가 HTTP 프로토콜을 사용하여 전송되지만, 안전한 TLS 채널을 통해 암호화되어 전송됨을 의미합니다.

스킴(Scheme)이란?

URL의 첫 부분에 위치하며, 리소스에 접근하기 위한 프로토콜을 지정합니다. 예를 들어 http는 하이퍼텍스트 전송 프로토콜을, https는 보안이 강화된 프로토콜을 의미합니다. 스킴을 통해 브라우저는 해당 리소스에 어떤 방식으로 접근해야 하는지 알 수 있습니다.


HTTPS (HyperText Transfer Protocol Secure)

HTTPS(HyperText Transfer Protocol Secure)는 HTTP에 보안 기능이 추가된 프로토콜입니다. SSL(Secure Socket Layer) 또는 TLS(Transport Layer Security) 프로토콜을 통해 데이터를 암호화하여, 중간에서 데이터가 도청되거나 변조되는 것을 방지합니다.

주요 특징은 다음과 같습니다.

  • 데이터 암호화: 클라이언트와 서버 간의 모든 통신을 암호화하여 민감한 정보(예: 신용 카드 정보, 로그인 정보)를 안전하게 전송합니다.
  • 신뢰성 향상: 웹사이트의 신뢰도를 높여주며, 검색 엔진 최적화(SEO)에도 긍정적인 영향을 줍니다.

FTP (File Transfer Protocol)

FTP(File Transfer Protocol)는 네트워크를 통해 클라이언트와 서버 간에 파일을 전송하기 위한 표준 프로토콜입니다. 주로 21번 포트를 사용하며, 파일을 업로드하거나 다운로드하는 데 사용됩니다.

FTP는 제어 연결(Control Connection)과 데이터 연결(Data Connection)이라는 두 개의 별도 연결을 사용합니다.

  • 제어 연결 (21번 포트) : 사용자의 인증, 명령어 전송 등 제어 정보를 교환합니다.
  • 데이터 연결 (20번 포트) : 실제 파일 데이터 전송에 사용됩니다.

일반 FTP는 데이터를 암호화하지 않기 때문에 보안에 취약할 수 있습니다. 따라서 중요한 파일을 전송할 때는 데이터 암호화 기능이 추가된 FTPS(FTP over SSL/TLS)SFTP(SSH File Transfer Protocol) 를 사용하는 것이 안전합니다.


이메일 프로토콜: SMTP, POP3, IMAP

이메일을 주고받을 때는 여러 프로토콜이 함께 사용됩니다. SMTP는 메일을 보낼 때, POP3IMAP은 메일을 받을 때 사용됩니다.

  • SMTP (Simple Mail Transfer Protocol) : 이메일을 전송하기 위한 프로토콜입니다. 클라이언트가 작성한 메일을 서버로 전송하고, 서버 간에 메일을 교환하는 역할을 합니다. (포트 25)

  • POP3 (Post Office Protocol 3) : 메일 서버에서 클라이언트로 이메일을 다운로드하는 프로토콜입니다. 메일을 가져오면 보통 서버에서 해당 이메일이 삭제되므로, 여러 장치에서 동일한 메일 계정을 관리하기 어렵습니다. (포트 110)

  • IMAP (Internet Message Access Protocol) : POP3와 달리 서버에서 이메일을 동기화하는 방식입니다. 클라이언트에서 메일을 읽거나 삭제하면 서버에도 반영되어, 여러 장치에서 일관된 상태로 메일을 관리할 수 있습니다. (포트 143)

POP3와 IMAP의 주요 차이점
  • 저장 위치: POP3는 이메일을 로컬 기기로 다운로드 후 서버에서 삭제하지만, IMAP은 서버에 이메일을 계속 저장합니다.
  • 동기화: IMAP은 여러 기기에서 메일 상태(읽음/안읽음 등)가 동기화되지만, POP3는 동기화 기능이 없습니다.

DNS (Domain Name System)

DNS는 www.google.com과 같은 사람이 읽기 쉬운 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소(예: 172.217.175.68)로 변환해주는 시스템입니다. 인터넷의 전화번호부와 같은 역할을 합니다.

사용자가 브라우저에 도메인 이름을 입력하면, DNS는 여러 서버(Recursive Resolver, Root Server, TLD Server, Authoritative Name Server)를 거쳐 해당 도메인에 매핑된 IP 주소를 찾아 반환합니다. 이 과정을 DNS 쿼리라고 합니다.

DNS는 주로 53번 포트를 사용하며, UDP 프로토콜을 기반으로 동작하여 빠른 응답 속도를 제공합니다.

정보처리기사 실기 기출문제

기출
문제
포트번호로 22번을 사용하며 인증, 암호화를 제공하고 Telnet보다 강력한 보안을 제공하는 프로토콜은?
답변
정답정답 보기