자격증/네트워크 관리사 2급

[네트워크 관리사 2급] [자격증 준비] 8일차 응용 프로토콜

펭잉 2025. 2. 12. 21:01

목표

OSI 7 계층 또는 TCP/IP 4 계층의 응용 계층(Application Layer)에 해당하는 프로토콜과 서비스들에 대해 정리하고 이해한다.

 

 

1. Telnet과 SSH(Secure Shell)

Telnet이란?

Telnet은 원격으로 서버에 로그인하여 작업을 할 때 많이 사용하는 프로그램이다.

구분 내용
개념 네트워크를 통해 원격 시스템에 접속하여 명령을 실행하는 프로토콜
포트 번호 23번
특징 - 보안 취약(데이터 평문 전송, 암호화 없음)
- 즉 스니핑(Sniffing)으로 패킷을 캡처하면 누구나 내용을 확인 가능
- 연결 시 사용자 ID와 패스워드 요구
- SSH 등장 이후 사용 감소
사용 사례 - 라우터, 스위치 등 네트워크 장비의 원격 관리(보안상 SSH 권장)
- 접속 명령 예시:  telnet 192.168.1.10 

 

 

SSH란?

SSH란 Telnet의 취약한 보안 요소를 강화된 원격 접속 프로토콜이다.

구분 내용
개념 보안이 강화된 원격 접속 프로토콜로 암호화된 통신을 제공
포트 번호 22번
특징 - Telnet과 달리 SSH 키 기반 인증 및 암호화 지원
- 비밀번호 인증 또는 공개키 인증 방식 사용
사용 사례 - 리눅스/유닉스 서버 원격 접속 및 관리
- 접속 명령 예시:  ssh user@192.168.1.10 

 

 


2. HTTP/HTTPS(Hypertext Transfer Protocol)

HTTP란?

우리가 사용하는 인터넷의 W3C 표준 프로토콜로, 웹 프라우저와 웹 서버 사이에 메시지를 송신하거나 수신하는 프로토콜이다.

 

HTTPS란?

보안이 강화된 HTTP로, SSL/TLS 암호화를 통해 암호화된 데이터를 전송하며, 기밀성, 무결성, 인증을 보장하고 디지털 인증서로 서버 인증 과정을 가진다.

구분 내용
프로토콜 HTTP HTTPS
개념 웹 브라우저와 웹 서버 간 데이터 교환 보안이 강화된 HTTP(SSL/TLS 암호화)
포트 번호 80번 443번
특징 - 비 보안, 평문 데이터 전송
- 데이터 변조 가능(무결성 X)
- 인증 없음(서버 확인 불가)
- 암호화된 데이터 전송, Man-in-the-Middle 공격 방지
- 데이터 무결성 보장
- 디지털 인증서로 서버 인증
사용 사례 - HTTP는 일반 웹사이트(비로그인)
- 요청 명령 예제:  GET /index.html HTTP/1.1
Host: www.example.com 
- HTTPS는 로그인, 금융 거래, 개인 정보 전송 시 필수
- 요청 명령 예제:  curl -k https://www.example.com 

* HTTP는 Header와 Body로 구분 되며 그 사이에는 개행문자(\r\n\r\n)로 구분된다.

 

 

HTTP Method

HTTP 요청 매서드는 클라이언트가 서버에 수행할 작업을 정의한다.

구분 내용 사용 예시
GET 서버에서 데이터를 조회 웹페이지 요청 또는 데이터 조회
POST 데이터를 서버에 전송하여 추가 로그인, 회원가입
PUT 기존 데이터 수정(업데이트, 덮어쓰기) 또는 생성 사용자 정보 업데이트
DELETE 데이터를 삭제 게시글 삭제
HEAD GET과 유사하나 Body없이 Header만 요청 페이지 존재 여부 확인
OPTIONS 서버가 지원하는 HTTP 메서드 조회 CORS 요청 검사
PATCH 일부 데이터 수정 프로필 일부 변경

*CORS(교차 출처 리소스 공유, Cross-Origin Resource Scharing)는 웹 페이지 상의 제한된 리소스를 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청할 수 있게 허용하는 구조이다.

 

 

HTTP 상태 코드

HTTP 응답에는 상태 코드(Status Code)가 포함되어 있어, Method 요청의 결과를 알 수 있다.

구분 내용 대표 코드
1xx
(정보응답)
요청이 수락됐으며 처리 중임 - 100 Continue (요청을 계속 진행)
- 101 Switching Protocols (프로토콜 변경 요청 승인)
- 103 Early Hints (사전 응답)
2xx
(성공)
요청이 정상적으로 처리됨 - 200 OK (정상 처리 완료)
- 201 Created (새로운 리소스 생성됨, 즉 POST 요청 완료)
- 202 Accepted (요청이 승인되었으나 처리중)
- 204 No Content (응답 본문이 없음)
3xx
(리디렉션)
클라이언트를 다른 위치로 안내 - 301 Moved Permanently (영구 이동, 요청한 리소스가 새로운 URL로 이동)
- 302 Found (임시 이동, 요청한 리소스가 임시적으로 다른 위치에  있음)
- 303 See Other (다른 URL을 참조하라는 응답, GET 요청으로 리디렉션 수행)
- 304 Not Modified (캐시 사용 권장, 클라이언트 캐시된 버전을 사용해야함)
4xx
(클라이언트 오류)
요청이 잘못 됨 - 400 Bad Request (잘못된 요청, 요청 구문 오류)
- 401 Unauthorized (인증 필요, 로그인 필요)
- 403 Forbidden (접근 금지, 요청 권한 없음)
- 404 Not Found (리소스 없음, 요청 페이지 없음)
- 405 Method Not Allowed (허용되지 않은 메서드)
5xx
(서버 오류)
서버에서 요청을 처리할 수 없음 - 500 Internal Server Error (내부 서버 오류)
- 501 Not Implemented (지원되지 않는 메서드)
- 502 Bad Gateway (게이트웨이 오류, 서버가 다른 서버로부터 잘못된 응답을 받음)
- 503 Service Unavailable (서버가 과부하 상태이거나 유지보수 중으로 이용 불가)
- 504 Gateway Timeout (게이트웨이 시간 초과, 즉 서버가 응답을 받지 못함)
- 505 HTTP Version Not Supported (지원되지 않는 HTTP 버전)

 

 


3. FTP(FIle Transfer Protocol)

FTP란?

서버에 파일을 올리거나 다운로드 하는 인터넷 표준 프로토콜로 내부적으로 TCP를 사용한다.

구분 내용
개념 서버와 클라이언트 간 파일 전송을 위한 프로토콜
포트 번호 21번(제어 채널), 20번(데이터 전송 채널)
특징 - 명령어 기반 파일 업로드/다운로드 지원
- Active Mode(서버가 클라이언트의 포트로 데이터 전송 연결) 
- Passive Mode(클라이언트가 서버의 포트로 데이터 전송 연결) 
- FTP 클라이언트의 데이터 포트는 FTP 클라이언트 자신이 결정
- 명령 채널과 데이터 전송 채널은 독립적으로 동작
사용 사례 - 서버에서 대용량 파일 공유, 웹 호스팅 파일 업로드 시 사용
- 사용 명령어 예시 :  ftp ftp.example.com 
종류 - FTP: ID 및 PW 인증을 수행하고 TCP를 사용하여 사용자의 데이터를 송수신
- TFTP: 인증과정 없이 UDP 기반으로 데이터를 빠르게 송수신(Port 69 사용)
- SFTP: 전송 구간에 암호화 기반을 사용하여 기밀성을 제공

 

 


4. DNS(Domain Name Server)

DNS란?

인터넷 네트워크상에서 컴퓨터의 이름을 IP 주소로 변환하거나 해석하는 데 사용되는 분산 네이밍 시스템이다.

구분 내용
개념 도메인 네임을 IP 주소로 변환하는 프로토콜
포트 번호 53번(UDP, 일부 TCP)
특징 - SOA(Start of Authority), A(IPv4), AAAA(IPv6), MX(메일), CNAME(Alias, 별칭), TXT 레코드 지원 
DNS 해석 과정 - DNS는 먼저 DNS Cache 테이블(클라이언트)에서 이름을 해석
- DNS Cache 테이블에 정보가 없으면 클라이언트의 hosts 파일로 이름을 해석
- hosts 파일에도 정보가 없으면 DNS 서버에서 이름 해석을 의뢰(이름→IP, 순환쿼리)
- DNS 서버의 Cache 테이블에서 조회 후 정보 있을 시 IP 주소를 Response 메시지로 전달
- DNS 서버에도 없을 시 Top Level 도메인부터 Second Level로 이름 해석을 의뢰(반복쿼리)
사용 사례 - 웹사이트 접속 시 도메인 → IP 변환
- 명령어 예시:  nslookup http://www.google.com 

 

 

DNS 구조

DNS의 구조는 아래와 같은 구조를 가진다.

CloudFaler 출처

- Root Domain(.): 모든 도메인의 근본이 되는 최상 Root level Domain

- Top Level Domain: .com, .org, .kr 등의 국가, 지역을 나타냄

- Second Level: 사용자가 도메인 명을 신청해서 등록할 수 있는 영역

 

 

DNS 레코드

DNS에는 아래와 같은 레코드들이 존재한다.

   
A
(Address)
- 단일 호스트 이름에 해당하는 IP 주소가 여러 개 있을 수 있으며 각의 동일한 IP 주소에 해당되는 여러 개의 호스트 이름이 있을 수 있음
- 이때 사용되는 레코드가 A(Address, 호스트 이름을 IPv4 주소로 매핑)
AAAA
(IPv6 Address)
- 호스트 이름을 IPv6 주소로 매핑
PTR
(Pointer)
- 특수 이름이 도메인의 일부 다른 위치를 가리킬 수 있음
- 인터넷 주소의 PTR 레코드는 정확히 한 개만 있어야 함
- 역방향 조회(IP → 이름) 때 사용
NS
(Name Server) 
- 도메인에는 해당 이름 서비스 레코드가 적어도 한 개 이상 있어야 하며 DNS 서버를 가리킴
MX
(Mail Exchanger) 
- 도메인 이름으로 보낸 메일을 받도록 구성되는 호스트 목록을 지정
CNAME
(Canonical Name) 
- 호스트의 다른 이름을 정의하는 데 사용
SOA
(Start of Authority) 
- 도메인에 대한 권한을 갖는 서버를 표시함
- 도메인에서 가장 큰 권한을 부여 받은 호스트를 선언
Any(ALL)  - 위의 모든 레코드를 표시

 

 


5. SMTP와 IMAP, POP3

SMTP란?

RFC 821에 명시 되어있는 인터넷 전자 우편 표준 프로토콜이다.

구분 내용
개념 이메일을 서버로 전송하는 프로토콜
포트 번호 25번(기본), 587번(TLS), 456번(SSL)
특징 - 메일 클라이언트가 메일을 발송할 때 사용
- 메일 서버는 수신자의 이메일 주소를 분석하고 최단 경로를 찾아 근접한 메일 서버에게 편지를 전달
- 최종 수신자 측 메일 서버에 도착하기까지 연속적으로 전달하는 중계 작업을 수행
- 즉, 메일 서버 간 전달 가능
구성 요소 - MTA(Mail Transfer Agent): 메일을 전송하는 서버
- MDA(Mail Delivery Agent): 수신 측에 고용된 우체부의 역할, MTA에게 받은 메일을 사용에게 전달
- MUA(Mail User Agent): 사용자들이 사용하는 클라이언트 애플리케이션
사용 사례 - Gmail, Outlook, 네이버 메일 등에서 메일 발송

 

 

POP3란?

메일 서버에 접속하여 저장된 메일을 내려받는 MDA프로그램으로, 이메일 수신-다운로드 프로토콜이다.

구분 내용
개념 이메일을 다운로드하여 로컬 저장(서버에서 삭제)
포트 번호 110번(기본), 995번(SSL)
특징 - 다운로드 후 서버에서 삭제됨
사용 사례 - 메일 클라이언트(Outlook, Thunderbird 등)

 

 

IMAP란?

POP와 달리 메일을 내려 받아도 메일 서버에 원본을 계속 저장하는 형식으로, 이메일 수신-서버저장의 프로토콜이다.

구분 내용
개념 이메일을 서버에서 관리하며 여러 기기에서 동기화
포트 번호 143번(기본), 993번(SSL)
특징 - 여러 기기에서 동기화 가능
사용 사례 - Gmail, Outlook에서 서버에 메일 저장

 

 


6. SNMP(Simple Network Management Protocol)

SNMP란?

운영되는 네트워크의 안정성, 효율성을 높이기 위해서 구성, 장애, 통계, 상태 정보를 실시간으로 수집 및 분석하는 네트워크 관리 시스템이다.

구분 내용
개념 네트워크 장비(라우터, 스위치, 서버 등)를 모니터링 및 관리
포트 번호 161번(데이터 수집), 162번(트랩 메시지)
특징 - MIB(Management Information Base) 기반 장비 정보 관리
사용 사례 - 네트워크 장비 상태 모니터링 (Zabbix, Nagios 등)
주요 명령어 - Get: 장비의 상태 및 기동 시간 등의 관리 정보를 조회
- Get-Next: 정보가 계층적 구조를 가지므로 관리자가 장비에 조회를 해서 해당 트리보다 하위 층 정보 읽기
- Set: 장비 MIB를 조작하여 장비 제어, 관리자는 요청을 보내 초기화 혹은 장비 재구성
- Trap: 관리자에게 보고하는 Event, Agent는 경고, 고장 통지 등 미리 설정된 유형의 보고서를 작성

 

 


7. DHCP

DHCP란?

IP 주소와 서브넷 마스크, 게이트 웨이 주소 등을 고정하기 않고 네트워크에 처음 연결될 때 동적으로 할당하는 프로토콜이다.

구분 내용
개념 IP 주소를 자동으로 할당하는 프로토콜
포트 번호 67번(서버), 68번(클라이언트)
특징 - 정적 IP 할당 없이 동적 IP주소 제공 (DHCP 서버 있을 시 IPv4에서도 디바이스가 Plug & Play 가능)
사용 사례 - 가정 및 기업 네트워크에서 자동 IP 할당

 

 


 

참고

이기적 네트워크 관리사 1/2급 필기 준비 서적, 정보통신기술용어해석, 위키백과, 한국인터넷정보센터 참고.

 

응용 계층의 각 프로토콜은 현재 사용하는 다양한 서비스의 기반이다.