살며 사랑하며/농부의 세상

도대체 서버는 뭐고 클라이언트는 뭐야?

금오귤림원 2005. 6. 12. 03:11
FTP(File Transfer Protocol)

파일트랜스퍼프로토콜이란 원격의 둘 또는 그 이상의 컴퓨터 사이에서 파일을 주고 받기 위한 일종의 통신규약중 하나이다. 이러한 규약을 지켜 제품을 만들고, 만들어진 제품이 컴퓨터에 장착(설치)됨으로써, 우리는 원하는 파일전송작업을 이룰 수 있다. 이러한 제품은 대개 소프트웨어 제품이 될 수 있으며(물론, 하드웨어적으로 제작될 수 있지만, 그러나 그런 경우는 극히 드물다), 용도에 따라 크게 서버제품과 클라이언트 제품으로 나눌 수 있다. 서버를 직접 운영할 수 있는 개인이나 또는 기업들은 단지 서버용 소프트웨어 제품을 컴퓨터에 장착(설치)하면 되지만, 그러나 대개의 일반인들은 서버를 운영하는 목적이 아니라 클라이언트로 사용함을 목적으로 하기 때문에, 클라이언트용 제품을 장착(설치)하여 사용하게 된다.


도대체 서버는 무엇이며, 클라이언트는 무엇인가?

의상디자인실이나 고급 의류 유통점등에서는 보통 "고객"이라는 말보다 "클라이언트"라는 말을 사용한다고 했던가? 희미하지만, 그런 말을 들었던 기억이 있다. 컴퓨터라해서 크게 다를게 있겠는가! 디자이너가 제품을 만들어 고객에게 제공하듯이, 서버 컴퓨터는 "고객(클라이언트)"컴퓨터가 요청하는 어떤 서비스(의류점을 생각하면 일종의 제품이라 생각할 수 있겠다.)를 제공하는 역할을 한다. 그러면, [의상디자이너 아무개 영업점]을 오픈하려면, 그저 마음만 가지고는 안되지 않는가! 우선은 그와 관련된 여러 가지 사항들을 준비해야 하고, 비용도 투자 해야한다. 마찬가지로, 내가 가지고 있는 컴퓨터를 서버 컴퓨터로 개조(?)하기 위해서는 준비해야 할 것도 많고, 비용 또한 만만찮게 준비해야 한다.

가만, 아무개 디자인 회사에서는 10년이구 20년이구 "동일한" 디자인의 모델만 생산하고 제공하던가? 아마 그런 디자인 회사라면, 1년도 못가 망하기 쉽상이렸다. 계속해서 다양한 디자인을 개발해야하고, 개량하고, 제공해야한다. 마찬가지로, 컴퓨터 역시 여러 가지 서비스를 제공할 수 있으면 좋으렷다. 물론, 컴퓨터 1대는 "이런" 목적의 전용서버로 설정하고, 다른 컴퓨터 1대는 "저런" 목적의 전용 서버로 설정한 다음, 통신망을 이용하여 하나로 묶어서 "나" 또는 "우리회사"를 대표하는 "다목적서버"로 운영할 수 도 있지만, 일반 개인으로서는 그럴 만한 이유가 없을 듯 싶다. 몰라 혹시라도 아주 큰 정보통신관련 업을 준비한다면 또 모를까!

따라서 여기서는 단지 1대의 컴퓨터를 사용해서, 전자우편과 관련된 서비스(전자우편 발송 서비스)를 제공 한다거나, 또는 우리가 흔히 말하는 홈페이지와 관련된 서비스(웹서비스라 말함)를 제공한다거나, 여기서 설명하고자 하는 파일 단위의 전송 서비스를 제공한다거나, 음악과 관련된 파일들을 보유한 후 그 음악을 들려줄 수 있는 서비스를 제공한다거나 하는 서버로 개조(? - 보통 서버를 구축한다고 말함)하는 예를 개념적으로 설명하고자 한다.

아구...그래도 아직 서버가 뭔지 감이 안잡힌다구? 그도 그럴 것이..일반적인 인식이..보통 "서버 컴퓨터"라고 하면, 아주 비싸게 돈을 주고 산 컴퓨터 자체로 이해하는 경우가 많기 때문이겠지만, 아주 틀린말은 아니렸다.
왜냐하면, 아주 비싼 컴퓨터는 대개 서버 역할을 하기 위해 필요한 각 목적별 소프트웨어가 이미 컴퓨터안에 설치가 된 상태로 판매가 되니 그렇게 생각해도 무리는 아니겠지만, 그러나 아주 정확히 표현을 해 보자면, 단순히 기계장치 하나만 가지고는 서버로서의 역할을 수행할 수 없다고 생각하는 것이 좋겠다. 결국..내가 원하는 목적의 서버용 소프트웨어만 있다면..비록 보잘 것 없는 내 컴퓨터라도 "서버 컴퓨터"가 될 수 있다는 말씀?

물론, 서버 컴퓨터가 되기 위해서는 서버용 소프트웨어가 정상적으로 동작할 수 있는 "성능"이 뒷 받침 되어야 함은 물론이겠지만, 요즘 보편적으로 보급되어있는 펜티엄III급 컴퓨터에, 메모리 128메가바이트 이상이면, 개인용 서버 컴퓨터로서는 충분하지 않겠는지..물론 보다 전문적인 서버로 운영을 하려면, 관련된 통신장비 및 대용량 저장장치 등 비싼 비용을 투입해야 하겠지만, 그러러면 아예 서버로 설계된 기계장치를 구입하는 것이 좋을 것이다.

그럼 클라이언트는 또 무엇인가? 어려울 것 없다. 서버 컴퓨터가, 그냥 그런 컴퓨터라는 기계장치에 어떤 특정 목적의 서버 역할을 하는 소프트웨어를 설치하여 만들어지는 것처럼, 그냥 그런 컴퓨터라는 기계장치에 어떤 특정 목적의 클라이언트 역할을 하는 소프트웨어를 설치하면 되는 것이다.

어? 난 그런 소프트웨어 설치해 본적이 없는데? 맞다. 그도 그럴 것이 우리가 일반적으로 구입하는 컴퓨터는 보통 윈도우즈 95 이상의 98이나 ME, 2000등의 운영체제가 설치된 상태로 구입이 된다.(물론 리눅스가 설치
된 컴퓨터를 구입하는 경우도 있겠지만, 이 경우 역시도 마찬가지이다.) 이 때, 내가 구입한 컴퓨터안에 설치된 운영체제라는 소프트웨어는(보통 시스템 소프트웨어라 부른다.) 컴퓨터라는 기계장치를 전반적으로 통제하고 관리하는 역할을 하는 핵심적인 부분과 일반 사용자들이 업무목적 등으로 사용할 수 있는 어플리케이션 소프트웨어(물론 성능엔 한계가 있는 것이 대부분이다.), 그리고 컴퓨터 전문가가 컴퓨터 장치를 보다 전문적으로 관리할 수 있도록 도움을 줄 수 있는 유틸리티 소프트웨어 등 크게 3부분으로
나뉘어 있지만, 대개는 그냥 한 묶음으로 설치되어 제공된다. 이 중, "어플리케이션 소프트웨어"나 또는 "유틸리티소프트웨어"의 한 부분으로 "클라이언트" 소프트웨어가 제공되기도 하기 때문에 우리는 특별히 "클라이언트"프로그램을 설치할 필요가 없었던 것일뿐, 원칙적으로는 반드시 설치를 해야만 해당 기능을 이용할 수 있다.

예를들어보자. 우리가 일반적으로 아무생각없이 사용하는 인터넷을 들여다 보면, 이 역시 "서버 소프트웨어"와 "클라이언트 소프트웨어"가 서로 [짝을 맞추어 동작]을 함으로써 우리가 원하는 자료을 얻을 수 있는 것이다. 즉, "서버 소프트웨어"는 인터넷상에서 각종 컨텐츠를 제공(서비스)해 주는 "서버 컴퓨터"에서 동작을 하고, 그 서비스를 얻고자 하는 내 컴퓨터상에서는 "Internet Explorer 5.5"나 "Netscape 6"과 같은 클라이언트 소프트웨어가 동작을 하여 상호간 통신을 통해 원하는 결과물을 얻을 수 있는 것이다.

결국 "서버 컴퓨터"에서 동작하는 "서버 소프트웨어"는 언급을 하지 않았지만, "클라이언트 소프트웨어"는 바탕화면에 있는 "Internet Explorer 5.5"라는 "바로가기 아이콘"이 지정하는 프로그램이거나 또는 "Netscape 6"과 같은 프로그램이라는 것을 알 수 있다. 즉, 우리가 그냥 무심코 인터넷에 연결하기 위해서 사용하는 "Internet Explorer"나 "Netscape" 프로그램이 바로 "클라이언트 소프트웨어"라고 하는 것이다. 앞에서 서버도 여러 가지 종류가 있다고 말한 바 있다. 마찬가지로 각 각의 서버에 대응하는 클라이언트 소프트웨어 역시 여러 가지가 있어야 말이 되지 않겠는지? 그렇다. 클라이언트 프로그램 역시 목적에 따라 여러 가지가 있다.

우리가 흔히 아무생각없이 사용하는 Internet Explorer 프로그램은 바로 "Internet Information Server - 마이크로소프트사의 제품 -
홈페이지라고 불리우는 웹(WWW;World Wide Web)서비스를 제공해 줄 수 있는 서버용 프로그램 - 줄여서 IIS라고 부름" 나 또는 마찬가지로 마이크로소프트사에서 제공하는 제품인 Personal Web Server(줄여서 PWS라고 표현함), 또는 전세계적으로 가장(?) 많은 사용자층을 확보하고 있는 "Apache Web Server" 등의 [웹서버]프로그램과 대응하여 동작하는 [웹 클라이언트]프로그램이 그 하나일 수 있을 것이고(이 프로그램을 사용하는 목적 등은 설명이 필요 없을 것 같다. 이미 너무도 많이 사용하고 있으니까..),

전자우편을 사용할 때 역시, 전자우편서비스를 제공하는 서버측 프로그램과 이를 이용하는 클라이언트측 프로그램이 있어야겠지?
이때 서버측에서는 마이크로소프트사의 제품인 "Exchange Server"라는 소프트웨어 제품이 사용이 되고, 그에 대응하는 클라이언트측에서는 바로 "Outlook Express"라는(역시 마이크로소프트사의 제품) 소프트웨어 제품이 또 하나의 클라이언트 프로그램으로, [이메일 클라이언트 프로그램]이 될 수 있을 것이다.

대충 정리를 해 보자.


서비스 서버측 컴퓨터에 설치된 프로그램(서버 소프트웨어) 클라이언트측 컴퓨터에 설치된 프로그램(클라이언트 소프트웨어)
Web IIS, PWS, Apache, Samba 등.... IE5.5, Netscape Opera 등..
Mail Exchange Server 등... Outlook Express, Eudora 등..
FTP FTP Serv-U, WFTPD 등... SunnyFTP, 알FTP, LeechFtp, CuteFPT 등..
Chatting ? MSN Messenger Service, 지니 등..
Telnet ? 하이퍼터미널 등...



위에 정리된 내용중, 웹서비스 및 메일 서비스를 받기 위한 클라이언트 프로그램으로 [인터넷 익스플로러]나 [아웃룩 익스프레스], 텔넷 서비스를
이용할 때 사용하는 [하이퍼터미널] 및 Chat 서비스를 이용할 때 사용하는 [MSN Messenger Service]와 같은 프로그램은 [Windows 98]이나 [Windows 2000]등의 운영체제를 탑재한 컴퓨터상에 기본적으로 함께 설치가 되어 있어 별다른 설치 작업 없이도 이용할 수 있지만, FTP등의 서비스를 이용하기 위해서는 해당 클라이언트 프로그램을 사용자가 직접 설치를 해야한다. 이는 윈도우즈 계열의 운영체제에 FTP 등과 관련된 클라이언트 프로그램이 포함되어 있지 않기 때문이다. 물론, [인터넷 익스플로러]를 이용하여 약간 불편하기는 하지만, 그런대로 FTP기능을 사용할 수 있다. 이에 대한 내용은 이미 오래전에 소개한 바 있다. 이 기능을 사용하고자 하면, 저자의 홈페이지(http://tobe4u.koreaip.net)를 방문하여 살펴보면된다.

이 정도면, 적어도 클라이언트와 서버에 대한 개념이 대충 정리가 되었으리라.

자 이제 문제는 실제로 사용하는 방법이 남았는데..내가 너무 지쳤습니다.(엄살은...) 잠시 쉬는동안, FTP클라이언트 프로그램을 다운로드 받아서
설치해 봅시다. 웬만한 포털 사이트(한미르, 심마니, 한메일 등)의 [자료실]에서 [인터넷]관련 항목을 찾고 그 안에서 [FTP]관련 메뉴를 찾으면,
무료 클라이언트 프로그램들이 많이 나와 있으니, 한 번 찾아 보시구.. 그 중에서..[LeechFTP]라는 FTP클라이언트 프로그램을 가지고 설명을 할 예정입니다. 찾아서 설치해 놓기 바랍니다.

가능한 한 빠른 시일안으로...[LeechFTP]프로그램을 사용하는 방법을 설명하겠습니다.

오늘은 이만..안녕!

2001.4.18. 제주도 골방에서 강창룡.

^_^*