본문 바로가기

카테고리 없음

서버의 정의란?

서버의 정의란?

서버라고 하면 어떤 이미지가 떠오르시나요? 어떤 사람은 배구의 서버를, 어떤 사람은 사무실에 있는 커피 서버가 떠오를지 모릅니다. 한마디로 서버라고 해도 여러 가지 개념이 있으므로 무엇이 가장 먼저 떠오를지는 사람마다 제각각 다를 것입니다. 그래서 여기서는 먼저 이 책에서 설명하는 서버란 도대체 어떤 것인지를 사전적인 관점에서 설명하겠습니다. 서버에 대한 사전적인 의미를 찾아보면 다음과 같습니다. 
서버 [server] 
@ 테니스 - 탁구 · 배구 등에서 서브를 하는 쪽. 또는 그 사람 
@ 음식물을 제공하기 위해 사용하는 도구. 접시에 요리를 덜어내는 큰 포크 · 스푼이나 커피를 붓는 포트 등 
@ 네트워크에서 다른 컴퓨터나 소프트웨어와 같은 클라이언트에게 서비스를 제공하는 컴퓨터

컴퓨터에서 서버는 클라이언트에게 서비스를 제공한다. 

서버는 즉 네트워크의 클라이언트에게 여러 가지 서비스를 제공하는 컴퓨터입니다. 아직도 감이 잘 오지 않는 사람들을 위해 간단한 예를 들어 설명해 보겠습니다. 여러분은 평소에 웹 브라우저를 사용하여 웹 사이트에 액세스하고 있을 것 입니다. 이때 웹 브라우저가 클라이언트이며 웹 사이트의 콘텐츠가 있는 컴퓨터가 서버입니다. 

서버의 처리는 클라이언트의 요청으로 시작된다.  

서버는 단독으로 움직이는 것이 아니며 불특정 다수의 컴퓨터에 대해 일방적으로 서비스를 제공하는 것도 아닙니다. 서버는 클라이언트로부터 리퀘스트(요청)를 받아야 비로소 처리를 시작하여 서비스를 제공합니다. 서버가 클라이언트에 대 해 서비스를 제공할 때는 서버와 클라이언트 사이에 다음과 같은 처리가 일어납니다. 
① 클라이언트가 서버에게 어떤 서비스를 요청한다.

서버는 요청에 응답하여 처리를 수행한다.

서버는 처리 결과를 클라이언트에게 반환한다.

클라이언트는 처리 결과를 받는다. 

웹 서비스에 적용

이미지를 좀 더 쉽게 잡을 수 있도록 여러분에게 익숙한 웹 서비스를 예로 들어 위 처 리를 적용시켜 보겠습니다. 웹 서비스에서 클라이언트는 Intemet Explorer  등과 같은 웹 브라우저입니다. 이에 반해 서버는 웹 사이트(를 구성하 는파일)가 저장되어 있는 컴퓨터(웹 서버)입니다. 
웹 브라우저가 웹 서버에게 00 사이트의 데이터를 달라고 요청한다

웹 서버는 00 사이트의 파일을 찾는다

웹 서버는 00 사이트의 파일을 웹 브라우저에게 반환한다.

웹 브라우저는 00 사이트의 파일을 받아 화면에 표시한다.

이와 같이 서버와 클라이언트로 구성되어 있는 시스템을 클라이언트/서버 시스템이라고 합니다. 클라이언트/서버 시스템은 서버에서 데이터를 일원적으로 쉽게 관리할 수 있기 때문에 대부분의 컴퓨터 시스템에서 채택하고 있습니다.  서버의 역할은 서비스에 의해 정해진다 커피를 제공하는 용기를 커피 서버 맥주를 제공하는 기구를 맥주 서버라고 하듯이 컴퓨터의 서버에도 여러 가지 역할을 갖고 있는 서버가 있는데, 그러 한 서버의 역할은 서비스로 정해집니다. 서버의 서비스라고 하면 좀 어렵게 생각하는 사람도 있을지도 모르지만 그렇게 어렵게 생각할 필요는 없습니다. 여러분 자신이 인터넷에서 주고받고 있는 정보가 모두 서비스입니다. 매일 사용하고 있는 웹 사이트나 메일이 바로 서비스로, 지금 유행하고 있는 KakaoTalk, Twitter, Facebook도 모두 서 비스입니다. 여러분은 특별히 의식하고 있지 않지만 이미 클라이언트가 되어 서버의 서비스를 받고 있는 것입니다. 
다양한 서버 컴퓨터 세계에는 셀 수 없을 정도로 많은 서비스가 있으며 또 그 수많은 서버의 역할이 있습니다. 하지만 지금 그 모두를 이해할 필요는 없습니다. 일단은 자신과 관련이 있을 것 같은 것만 이해해 두도록 합시다. 서버의 역할에 대 해 이야기할 때는 00 서버와 같이 서비스 이름을 그대로 서버 앞에 붙여보기 바랍니다. 그러면 그 서버의 역할을 나타내는 말이 됩니다. 예를 들어 정 보 발신이나 온라인 쇼핑 등과 같은 여러 가지 웹 서비스를 웹 클라이언트에 게 제공하는 컴퓨터는 웹 서버가 됩니다. 또한 메일을 송수신하는 서비스를 메일 클라이언트에게 제공하는 컴퓨터는 메일 서버가 됩니다. 참고로 사람에 따라서는 웹 서버를 HTTP 서버나 HTTPS 서버라고 부르거 나 메일 서버를 SMTP 서버나 POP 서버라고 부르는 경우도 있으므로 좀 혼란스러울 수 있지만, 이것은 사람에 따라 서비스를 부르는 호칭이나 개념이 다소 디를 뿐이지 본질적으로 크게 다른 것은 아닙니다. 자기만의 이름으로 잘 바꿔서 불러보기 바랍니다. 

서버 소프트웨어  

그래, 서버를 구축해 보자!라고 생각했을 때 어떻게 하면 좋을까요? 대답은 아주 간단합니다. 컴퓨터에 소프트웨어를 인스톨하고 실행시키기만 하면 됩니다. 결국 서버란 서비스를 제공하기 위한 소프트웨어인 서버 소프트웨어가 갖고 있는 기능 자체를 가릴 겁니다. 클라이언트는 그 기능을 이용함으로써 서비스를 받을 수 있습니다. 컴퓨터나 스마트폰에 인스톨하는 애플리케이션 소프트웨어와 마찬가지로 서버 소프트웨어를 인스톨하여 실행시키기만 하면 바로 서버로 바뀝니다. 

여러 가지 서버 소프트웨어 

서버 소프트웨어는 서비스를 제공하기 위한 기능을 갖고 있는 소프트웨어이므로 서비스별로 서버 소프트웨어가 있다고 생각하면 좋을 것입니다. 예를 들 어 웹 서비스를 제공하는 소프트웨어는 웹 서버 소프트웨어이며, 그것이 작 동하고 있는 컴퓨터가 웹 서버입니다. 또한 메일 서비스를 제공하는 소프트 웨어는 메일 서버 소프트웨어로 그것이 작동하고 있는 컴퓨터가 메일 서버입니다. 

여러 개의 서버를 한 대로 모으기 서버는 말하자면 서버 소프트웨어가 제공하는 기능입니다. 따라서 컴퓨터나 스마트폰에서 작동하는 애플리케이션 소프트웨어와 마찬가지로 한 대의 컴퓨 터에 여러 개의 서버 소프트웨어를 작동시킬 수도 있습니다. 이상하게도 서버라고 하면 서버 하나에 컴퓨터 한 대라고 착각하는 분들이 많은 것 같은데, 만일 그렇다면 아무리 돈이 많아도 모든 서버를 구축하기에는 부족할 것입니 다. 그러므로 예를 들면 웹 서버와 웹 애플리케이션 서버를 하나의 컴퓨터에 같이 두거나, 메일 서버와 DNS 서버를 같이 두는 등 역할이 다른 서버를 하 나의 컴퓨터에서 공존시켜 한정된 리소스를 잘 활용하도록 하기 바랍니다.

기업에 있어서의 서버 

어떤 서버를 구축할 것인가 실제로 네트워크 시스템을 구축할 때는 수많은 서버 중에서 어떤 서버를 선택하면 좋을까요? 이 질문을 해결하기 위한 가장 간단한 방법은 사용자와 시스템의 목소리에 귀를 기울여라는 것입니다. 모든 해답은 사용자와 시스템의 목소리, 즉 요구 안에 들어 있습니다. 예를 들어 인터넷에 연결하고 싶다는 요구가 있는 경우 도메인명을 IP 주소로 변환하는(이름 해결) 서비스를 제공하는 캐시 DNS 서버가 필요합니다. 그리고 모든 사람과 데이터를 공유하고 싶다는 요구가 있는 경우는 데이터를 일원 관리할 파일 서버가 필요합니다. 사용한 사용자와 시스템의 요구 사항들을 들어서 잘 정의해 가면 어떤 서버를 마련해야 할지 답이 저절로 보일 것입니다. 

어떤 서버 소프트웨어를 인스톨할 것인가? 

마련해야 할 서버가 정해지면 어떤 서버 소프트웨어를 인스톨해야 할지 를 생각합니다. 지원하는 OS나 프로그랩 환경, 비용, 요구되는 환경 등 여 러 가지 요소를 바탕으로 다각적으로 고려하여 결정해 갑니다. 서버 소프트 웨어는 일반적으로 사용하는 것이 미리 정해져 있어서 대부분 그중에서 골라 사용합니다. 예를 들어 웹 서버 소프트웨어의 경우는 오픈소스 소프트웨어인 Apache(아파치)나 마이크로소프트의 Windows Server에 들어 있는 IIS(Internet Information Services) 중 하나를 사용하는 경우가 대부분 입니다. 또한 DNS 서버 소프트웨어의 경우는 오픈소스인 BIND(바인드)나 Windows Server가 기능으로 갖고 있는 DNS 서버를 사용하는 경우가 많습니다. 콘텐츠 DNS 서버로는 BIND를 사용하고 캐시 DNS 서 버로는 Active Directory 환경을 고려하여 Windows Server를 사용하는 등 DNS 서버의 역할에 맞춰 서버 소프트웨어를 정합니다.