네트워크 서버 종류 및 특징 비교

네트워크 서버란 HTTP, FTP, 데이터베이스, DNS, 메일 전송과 같은 특정 기능을 인터넷을 통해  서비스를 제공하는 시스템을 말합니다. 이 문서에서는 다양한 네트워크 서버의 종류와 특징을 정리해보겠습니다.

네트워크 서버

개념

서버(Server)란 특정 서비스를 제공하는 컴퓨터를 말합니다. 흔히 접하는 개인용 PC보다 더 고사양의 CPU 및 GPU 그리고 대용량 램 등을 장착하여 동시에 수 많은 클라이언트에 대응할 수 있습니다.네트워크 서버의 구동환경은 일반적인 개인 PC 환경과는 사뭇 다릅니다. 데이터 처리를 주 목적으로 하는 서버는 온라인상으로 연결하여 다양한 서비스를 제공합니다.

구성도

아래 붉은 박스로 표시된 것이 서버입니다. 왼쪽은 로컬 네트워크 상에 위치한 서버로 주로 사내에서 업무용 파일서버, 메일서버 등에 해당합니다.

네트워크서버-구성도
네트워크서버-구성도

그리고 우측의 인터넷 망을 거쳐 접속하는 서버가 네트워크 서버이며, 아래 설명드릴 다양한 형태의 네트워크 서버 종류가 있습니다.

서버의 종류 및 특징

HTTP 서버

일반적으로 가장 친숙한 네트워크 서버의 하나로 웹서버로도 불리며 웹브라우저 (Client)를 통해 접속합니다. 현재 보시는 이 블로그 역시 클라우드 상의 웹서버를 통해 보고 계시는 것입니다.

웹서버를 구축하는 솔루션중에 많이 사용하는 기술은 아래의 4가지 종류가 있습니다. 22년 기준으로 가장 많이 사용하는 것은 nginx 솔루션 입니다. 웹서버 구축 방법에는 가장 저렴하지만 간단한 웹 호스팅을 비롯해 다양한 방법이 있습니다. 이와 관련해서는 다음의 정보를 참고 바랍니다.

종류제조업체점유율 (22년 기준)
아파치아파치약 21%
IIS마이크로소프트약 5%
nginxNGINX Inc.약 37%
GWSGoogle약 6%

10년전까지만 해도 아파치를 많이 사용했지만 최근에는 역전되어 nginx의 점유율이 약 37% 정도로 가장 높습니다. 참고로 nginx 웹서버는 아파치에 비해 동작이 단순하고 동시접속 처리에 특화되어있습니다.

DB 서버

데이터베이스는 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 데이터 저장고라고 할 수 있습니다. 이를 서버로 구축하는 경우는 이 데이터의 양이 방대하고, 네트워크 트래픽  또한 관리될 필요가 있는 경우 사용합니다.

네트워크-DB서버-구성도
네트워크-DB서버-구성도

위의 그림은 웹서버와 DB 서버가 분리되어 구성된 예입니다. 네트워크 서버는 많은 트래픽 환경에서도 중단없이 서비스되어야 하므로 앞단에 로드밸런서 및 CDN을 구성하기도 합니다.

데이터베이스의 경우 기업내 주요자산 및 개인정보와 같은 민감정보를 포함하고 있습니다. 이에 대한 악의적인 외부 공격의 대비를 위해 접근제어 등을 통한 보안솔루션 적용이 필수적입니다. DB 접근제어에 대한 정보는 이전의 다음글을 참고 바랍니다.

파일 서버 (FTP, SAMBA, NFS)

인터넷으로 파일을 송수신할 수 있는 서버입니다. 최근에는 클라우드 서비스가 범용화되면서 활용성이 조금 줄었지만, 기업 내부에서는 협업 목적으로 많이 활용됩니다.

1. FTP 방식

FTP(파일전송 프로토콜)을 사용하는 서버로 연결방식에 따라 Active, Passive 방식으로 구분할 수 없습니다. 

Active FTPPassive FTP
서버에서 클라이언트의 특정 포트에 접속하는 방식으로 일반적으로 많이 사용.클라이언트에서 서버의 특정포트에 접속하는 방식으로 클라이언트 측의 보안환경에 따라 사용됨

2. SAMBA 방식

일반적으로 ‘공유폴더’로 지정하여 사용하는 방식이 이 SAMBA 기술을 기반으로 합니다. 특정 사용자나 그룹에 권한을 주고 일반 호스트에서 로컬 PC에 접근하는 것처럼 이용이 간편한 장점이 있습니다.

윈도-SAMBA-공유폴더-연결화면
윈도-SAMBA-공유폴더-연결화면

SAMBA는 표준 프로토콜이므로 Client에 관계없이 대부분의 운영체제(윈도, 리눅스, 안드로이드, iOS)를 지원합니다.

3. NFS 방식

Network File System의 이름에서도 알 수 있듯이 네트워크 기반 파일 시스템입니다. 다른 호스트의 file system을 마치 내 로컬 directory인 것처럼 사용할 수 있습니다.

SAMBA가 사용자나 Group 기반으로 접근제어가 가능한 것에 비해 NFS는 IP와 포트를 가지고 제어가 가능한 점에서 보안에 취약하다는 평가를 받는 편입니다.

메일서버 (SMTP)

SMTP 프로토콜을 이용해 메일을 전송하는 서버로 MS Exchange 서버, Sendmail, Qmail 등의 솔루션을 이용할 수 있습니다.

전송절차

메일서버-동작절차
메일서버-동작절차

위 그림은 SMTP 프로토콜을 이용하여 사용자가 메일서버를 통해 메일을 전송하는 절차를 나타낸 그림입니다. 

(1) 사용자가 메일서버에 송신하고자 하는 email을 전송

(2) 메일서버는 네임 서버에 수신주소의 IP 주소를 변환하여 전송

(3) 수신측 메일서버는 이를 다시 사용자 PC2에 전송

DNS 서버

인터넷 통신을 위해 도메인 이름과 IP 주소정보를 관리하고 매핑하는 네트워크 주소 시스템입니다. 빠른 변환을 위해 Local DNS, Root DNS 같은 계층적 구조를 가집니다.

변환절차

DNS서버-도메인-변환절차
DNS서버-도메인-변환절차

(1) 사람이 이해할 수 있는 www.google.com 과 같은 주소를 PC 브라우저에 입력

(2) DNS Resolver에 의해 Name 서버에 주소 변환을 요청

(3) 변환한 IP 주소를 사용자에게 전달

 이는 실제 네트워크 IP 주소로 변경되는데 이를 수행하는 것이 DNS 서버가 됩니다.

구성요소

Name 서버사용자가 입력한 문자열 주소를 숫자 IP 주소로 변환시켜주는 서버
DNS Resolver사용자의 DNS 요청을 Name 서버에 전달하고, 확인한 IP 정보를 다시 사용자에게 전달하는 시스템

기타 서버들

위에 설명해 드린 서버들은 많이 사용하는 네트워크 서버들입니다. 이 외에도 인터넷에 연결되고 고유의 기능을 수행한다면 역시 서버로 분류할 수 있습니다.

게임 서버

자체 프로토콜을 이용하여 온라인에 접속해 게임 플레이를 가능하도록 하는 게임호스팅 기능을 제공

컴퓨팅 서버

초고속 대용량 컴퓨팅 리소스를 인터넷을 통해 제공하는 시스템입니다. 예를 들어 구글의 Colab 서비스의 경우 머신러닝 알고리즘 연산을 돌릴 수 있는 텐서플로 기반 서버리소스를 제공합니다.

프록시 서버

클라이언트가 자신을 통해 다른 네트워크 서비스를 간접적으로 접속할 수 있도록 도와주는 중계자 역할을 하는 시스템


이상으로 다양한 네트워크 서버의 종류와 특징을 알아보았습니다. 

Leave a Comment