티스토리 뷰

Programming/기타

서버 종류!

국브 2016. 2. 5. 17:21

서버란? 그리고 서버 종류!





우선 사람들은 서버를 생각한다면 어마어마한 컴퓨터 공장을 생각한다. 하지만 서버는 우리가 사용하는 pc로 서버로 사용할수도 있다. 하지만 서버 pc가 고사양인 이유는 많은 사람들이 이용하기때문에 그에따라 많은 작업을 해야하고 그에 맞추어 서버의 pc의 가격은 비싼것이다. 또한 서버는 사용하는 목적에 따하 홉페이즈를 운영한다면 웹서버, 사설 내트워크를 구성한다면 프록시 서버라고 불리는것입니다. 또한 이외에도 많은 종류(기능별)의 서버가 존제합니다. 

그러면 이제 자주 불리는 서버의 이름을 기준으로 서버의 종류에 대해 알아보겠습니다. 



 

01) 웹 (Web Server)


역할 : 월드 와일드 웹 서비스
접속 프로그램 : 인터넷,익스플로러
HTML 태그로 작성된 문서를 현재의 웹브라우저를 통해서 볼수 있도록 접속 서비스를 하는것을 말하며 대표적인 웹서버는 아파치, IIS가 있습니다. 웹 페이지(HTML 파일)를 제공해 주는 서버를 말하는 것으로 HTTP를 사용하여 웹 페이지를 제공할 수 있는 웹 서버 프로그램이 설치되어 있고하나의 도메인 이름을 갖고 있다.예를 들어, 사용자가 웹 브라우저에서 URL로 'http://epic.kdi.re.kr'를 입력하면, 도메인 이름이 'epic.kdi.re.kr'인 서버에게 웹 페이지를요청하고 서버는 'index.html' 파일을 찾아서 브라우저에게 보낸다. 

따라서, 가장 일반적인 웹 서버로는 UNIX기반의 아파치, WINDOW NT의 IIS, 넷스케이프의 엔터프라이즈 서버가 있다. 
한마디로 웹 사이트를 구동시키기 위한 서버 입니다.

사용자들이 엠파스에 접속하면 보여지는 페이지들이 저장된 컴퓨터 자체적으로 서버컴.

 

02) DHCP (Dynamic Host Configuration Protocol)


DHCP는 네트웍 관리자들이 조직 내의 네트웍 상에서 IP 주소를 중앙에서 관리하고 할당해줄 수 있도록 해주는 프로토콜이다. 인터넷의    TCP/IP 프로토콜에서는, 각 컴퓨터들이 고유한 IP 주소를 가져야만 인터넷에 접속할 수 있다. 조직에서 컴퓨터 사용자들이 인터넷에 접
속할 때, IP 주소는 각 컴퓨터에 반드시 할당되어야만 한다. DHCP를 사용하지 않는 경우에는, 각 컴퓨터마다 IP 주소가 수작업으로 입력 되어야만 하며, 만약 컴퓨터들이 네트웍의 다른 부분에 속한 장소로 이동되면 새로운 IP 주소를 입력해야 한다. DHCP는 네트웍 관리자가 중앙에서 IP 주소를 관리하고 할당하며, 컴퓨터가 네트웍의 다른 장소에 접속되었을 때 자동으로 새로운 IP 주소를 보내줄 수 있게 해준다.


DHCP는 주어진 IP 주소가 일정한 시간동안만 그 컴퓨터에 유효하도록 하는 "임대" 개념을 사용한다. 임대시간은 사용자가 특정한 장소에서 얼마나 오랫동안 인터넷 접속이 필요할 것인지에 따라 달라질 수 있다. DHCP는 사용자들이 자주 바뀌는 학교와 같은 환경에서 특히 유용하다. DHCP는 사용 가능한 IP 주소의 개수보다 더 많은 컴퓨터가 있는 경우에도 IP 주소의 임대시간을 짧게 함으로써 네트웍을 동적으로 재구성할 수 있다. DHCP는 영구적인 IP 주소를 필요로 하는 웹서버에 대해서는 정적인 주소를 제공한다. 
DHCP는 네트웍 IP 관리 프로토콜인 BOOTP (Bootstrap Protocol)의 대안으로 사용된다. DHCP가 더욱 진보된 프로토콜이지만, 두 개의 프로토콜 모두 일반적으로 사용된다. 어떤 조직에서는 두 개의 프로토콜 모두를 사용하지만, 동일한 조직에서 그것을 언제, 어떻게 사용할 지를 이해하는 것이 무엇보다 중요하다. 윈도우NT와 같은 몇몇 운영체계에는 DHCP 서버가 딸려 나온다. DHCP 또는 BOOTP 클라이언트는 네트웍이 구성될 수 있도록 각 컴퓨터에 위치하는 프로그램이다.

 

03) DNS (domain name system)


DNS[디에네스]는 인터넷 도메인 이름들의 위치를 알아내기 위한 IP 주소로 바꾸어주는 시스템이다. 도메인 이름은 인터넷 주소로서 사람들이 기억하기 쉽고, 의미있게 붙인 이름이지만, 인터넷에서 어떤 컴퓨터를 실제로 찾기 위해서는 숫자 체계로 된 IP 주소가 필요하다. DNS 서버는 도메인 이름과 이에 대응하는 IP 주소에 관한 데이터베이스를 유지하고 있다가 원하는 컴퓨터에게 제공한다. 예를들어, 만약 www.terms.co.kr 이라는 도메인 이름을 DNS 서버에게 제공하면, 210.91.227.136 이라는 IP 주소를 알려주는 것이다. 그러나, 도메인이름과 IP 주소를 대응시키는 목록을 중앙에 1개 만을 유지하는 것은 비현실적이고 비효율적이기 때문에, 도메인 이름과 IP 주소 목록은 기관별 체계에 따라 인터넷 도처에 분산되어 있다. 
아마도 모든 사용자들이 각자 자신의 인터넷 서비스 공급자에게 문의하면, 지리적으로 가까운 곳 어딘가에 자신을 위한 DNS 서버가 존재하고 있다는 것을 확인할 수 있을 것이다.

 

04) 메일 서버 mail server, or MTA (mail transfer agent)
역할 : 메일 보관 전송서버컴퓨터
접속 프로그램 : 아웃룩,익스프레스
인터넷으로 서로간의 전자우편을 주고 받을수 있도록 하는 서비스이며 다음과 같은 단계를 거쳐 전자우편이 전달된다.
        예) (A)클라이언트 PC -> (B)서버 -> (C)서버 -> (D)클라이언트 PC
위의 방식은 POP 방식이며 이곳 네이버에서 메일을 작성해서 보내는 방식은 웹메일 방식이라고 한다.
많이 사용하느 메일서버는 sendmail, qmail 이 있다
메일서버는 때로 MTA라고도 불리며, 수신되는 전자우편을 받아주고 송신되는 전자우편을 배달하기 위해 전달해주는 역할을 하는 일종의 응용프로그램을 가리킨다. 하지만 이런 메일서버 프로그램만을 전담하여 운영하는 컴퓨터 하드웨어 역시 메일서버라는 같은 이름으로 불린다. 전형적인 메일서버 프로그램들로는 sendmail, qmail, Exim, 그리고 마이크로소프트의 익스체인지 등을 들 수 있다. 
메일서버는 자신이 갖추지 못한 일부 기능을 보충하기 위해 흔히 메시징 시스템이라고 불리는 또 다른 프로그램들과 함께 일을 한다. 
메시징 시스템은 전자우편 시스템이 지속적으로 운영되기 위해 필요한 모든 응용프로그램을 포함한다. 사용자가 전자우편 메시지를 보낼 때, 아웃룩이나 유도라와 같은 전자우편 프로그램이 메시지를 메일서버로 전달하면 메일서버는 그것을 또 다른 메일서버로 즉시 전달하거나 또는 나중에 전달하기 위해 메시지를 저장영역에 일시 보관한다. 이러한 시스템들은 전자우편의 송신을 위해서는 SMTP, ESMTP 등을, 수신을 위해서는 POP3나 IMAP 등과 같은 프로토콜을 사용하게 되는 것이 보통이다. 
메일을 주고 받을때도 서버가 필요합니다. 즉, 인터넷 상의 우체국 역할을 담당하는 서버입니다.

 

05) FTP (FILE TRANSFER PROTOCOL) ; 파일 전송 프로토콜


역할 : 파일 up,down 전송이용
접속 프로그램 : WS_FTP le
파일을 서버로 올리거나, 서버에서 파일을 내려 받을때 필요한 것이며 FTP 서버에 연결할 수 있도록 클라이언트 PC에도 FTP 프로그램을 설치해야 한다. 물론 텍스트 위주의 FTP 프로그램은 기본적으로 설치되어 있지만 FTP 전문 프로그램을 사용하길 권장합니다.

FTP[에프 티 피]는 인터넷상의 컴퓨터들간에 파일을 교환하기 위한 표준 프로토콜로서 가장 간단한 방법이기도 하다. 화면에 표시할 수 있는 웹 페이지와 관련 파일들을 전송하는 HTTP (Hypertext Transfer Protocol), 전자우편을 전송하는 SMTP (Simple Mail Transfer Protocol)등과 같이, FTP도 역시 인터넷의 TCP/IP 응용 프로토콜 중의 하나이다. FTP는 웹 페이지 파일들을 인터넷상에서 모든 사람이 볼 수 있도록 하기 위해 저작자의 컴퓨터로부터 서버로 옮기는 과정에서 사용된다. 또한, 다른 서버들로부터 자신의 컴퓨터로 프로그램이나 파일들을 다운로드 하는 데에도 많이 사용된다. 
사용자 입장에서는 간단한 명령어를 통하여 FTP를 쓰거나, 또는 그래픽 사용자 인터페이스를 제공하는 상용 프로그램을 쓸 수도 있다.
보통은 웹 브라우저도 웹 페이지로부터 선택한 프로그램을 다운로드 하는데 FTP를 사용한다. FTP를 사용하여 서버에 있는 파일을 지우거나 이름을 바꾸거나 옮기거나 복사하는 등 갱신작업을 할 수도 있다. FTP 서버에는 로그온을 해야하지만, 익명의 FTP를 사용하여 모든 사람들에게 공개된 파일들을 쉽게 접근할 수 있도록 하고 있다. FTP는 보통 TCP/IP에 함께 딸려오는 일련의 프로그램 속에 포함되어 있다. 파일의 업로드 / 다운로드를 위한 서버 입니다.

 

06) TELNET 서버


역할 : 원격 컴퓨터 제어
접속 프로그램 : 세롬데이타맨 98
일명 터미널 서버라고 칭하며 텍스트 위주의 어떠한 명령을 실행하기위해 필요한것입니다. 파일을 복사하거나, 폴더를 생성하고, 삭제 할 때 사용하면 주로 서버 프로그램의 설치, 수정, 삭제시 사용합니다.

텔넷서버는 비밀번호를 문자형식으로 보내어져 보안상의 문제가 있어 현재는 보안쉘(SSH)을 많이 사용합니다.

 

07) 네임서버


보통 서버 관리자가 많이 설정하지만 인터넷을 사용하는 우리는 별로 인식하지 못하고 있는것이 실정입니다. 우리가 어떠한 웹사이트를 접속하기위해 www.naver.com 이라고 입력을 하면 먼저 클라이언트 PC에 설정된 네임서버에 naver.com 의 네임서버가 어딘지 질의를 하여 해당 네임서버에서 www 호스트가 어딘지 질의를 하여 최종적으로 클라이언트 에게 전달되는 것입니다.
기본적으로 위 5가지 정도의 서버만 이해를 하신다면 홈페이지를 제작해서 운영하는데는 별 문제가 없을 것 같습니다.

 

08) 아파치 (APACHE)


아파치는 "open source" 라이선스에 따라 배포되어 마음대로 쓸 수 있는 웹서버이다. 버전 1.3은 리눅스, Solaris, Digital UNIX, AIX와 같은 대부분의 유닉스 기반 운영체계, Rhapsody, BeOS, BS2000/OSD 등과 같이 유닉스/포직스에서 파생된 시스템들, 그리고 AmigaOS 및 윈도우NT/95/98 등에서 실행된다. Netcraft에서 1998년 9월에 실시한 웹서버 실태조사에 따르면, 전세계 인터넷 서버의 50% 이상이 아파치에서 운영되고 있다고 한다. 마이크로소프트에서 나온 윈도우기반의 웹서버, 넷스케이프, 그리고 다른 회사들이 수적인 면에서 보면 늘어가고 있지만, 아파치는 아마도 유닉스 기반의 시스템이 널리 퍼져 있는 기업이나 대학에서 대중적 인기를 계속 유지할 것으로 보인다. 아파치는 HTTP의 최신판인 버전 1.1을 따른다. 몇몇 유즈넷 뉴스그룹과 버그 보고시스템을 통한 무료지원이 제공된다.

몇몇 회사들은 비용을 받고 지원해주기도 한다.  메일서버는 때로 MTA라고도 불리며, 수신되는 전자우편을 받아주고 송신되는 전자우편을 배달하기 위해 전달해주는 역할을 하는 일종의 응용프로그램을 가리킨다. 하지만 이런 메일서버 프로그램만을 전담하여 운영하는 컴퓨터 하드웨어 역시 메일서버라는 같은 이름으로 불린다. 전형적인 메일서버 프로그램들로는 sendmail, qmail, Exim, 그리고 마이크로소프트의 익스체인지 등을 들 수 있다. UNIX에서 주로 사용되며 전세계 50%이상의 서버가 사용할 정도로 보편적이고 안정적 입니다. 성능이 우수하며, WWW서비스를 제공하기 위해 사용됩니다.

 

09) DB 서버


데이터가 저장된 서버 입니다. 회원 목록, 게시판 게시물, 자료 등을 저장, 관리하는 서버 입니다.

 

10) DNS 서버


도메인 네임을 관리하는 서버 입니다.

 

11) Netscape Enterprise


Netscape에서 게발한 것으로 GUI 환경을 제공해 쉬운 설치 및 작업환경이 우수합니다.

 

12) IIS(Internet Information Server)


Windows NT/2000에서 사용하며 Apache 다음으로 많이 사용됩니다.
ISS/MS-SQL/ASP 솔루션을 선택하고 있으며, HTTP로 작동하는 Apache와 달리 일종의 Back Office로 운용됩니다.

 

13) 뉴스 서버


역할 : 글을 등록,정보교환
접속 프로그램 : 아웃룩,익스프레스

 

14) IRC 서버


역할 : 대화,글자, 음성,화상,전송가능
접속 프로그램 : Microsoft Chat, Netmeeting

 

프록시란?


프록시(Proxy)란 '대리'라는 의미로,네트워크 기술에서는 프로토콜에 있어서 대리 응답 등에서 친숙한 개념이다. 보안 분야에서는 주로 보안상의 이유로 직접 통신할 수 없는 두 점 사이에서 통신을 할 경우 그 상이에 있어서 중계기로서 대리로 통신을 수행하는 기능을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부른다.

 

프록시 서버의 특징


프록시 서버는 클라이언트 입장과 서버의 입장에서 볼 때 서로 상반되는 역할을 하는 것처럼 인식된다. 다시 말해서, 클라이언트 호스트에서의 입장에서 본다면 프록시 서버는 마치 원격 서버처럼 동작하는 것이고, 원격 서버에서의 입장에서 본다면 마치 클라이언트처럼 동작한다는 것이다. 프록시 서버는 단순히 보안상의 이유만으로 설치하는 것은 아니다. 물론 보안상의 목적으로 설치하는 경우가 많겠지만, 그렇다고 그렇게 단순하게 볼 수만은 없을 것이다. 우선 프록시 서버는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장해 둔다.

이렇게 캐시를 해 두고 난 후에, 캐시 안에 있는 정보를 요구하는 요청에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게됨으로써 전송 시간을 절약할 수 있게 됨과 동시에 불필요하게 외부와의 연결을 하지 않아도 된다는 장점을 갖게 된다.

또한 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목 현상을 방지하는 효과도 얻을 수 있게 된다.

 

프록시 서버의 종류


서버의 위치에 따라 분류하면 크게 두 가지로 나눌 수 있다.

 

1) Forward 프록시


이것은 프록시 서버를 '클라이언트 호스트들과 접근하고자 하는 원격 리소스의 사이'에 위치시키는 것이다 .이 프록시 서버는 원격 서버로부터 요청된 리소스를 가져와서 요청한 사용자에게 돌려주는 역할을 수행하며, 만일 캐시에 데이터가 남아 있다면 다음 요청시 캐시된 데이터로부터 제공해 주게 된다. 이 서버는 전형적으로 로컬 디스크에 데이터를 저장하며, 클라이언트 호스트들은 사용중인 웹 브라우저를 이용하여 프록시 서버 사용 설정을 해야 하므로 프록시 서버를 사용하고 있다는 것을 인식할 수 있을 것이다. 이 방식은 대역폭 사용을 감소시킬 수 있다는 것과 접근 정책 구현에 있어 다루기 쉬우면서도 비용이 저렴하다는 장점을 갖는다.

 

2) Reverse 프록시


이것은 프록시 서버를 '인터넷 리소스 또는 인트라넷 리소스 앞'에 위치시키는 방식이다. 이 방식을 사용하면 클라이언트들이 프록시 서버에 연결되었다는 것을 알지 못하게 되며, 마치 최종 사용자가 요청 리소스에 직접 접근하는 것과 같이 느끼게 된다. 이 방식은 각 요청에 대한 데이터가 캐시되기 때문에 프록시 서버는 실제 서버들을 위한 부하조절 기능을 가질 수 있다.

transparent, anonymous, high anonymity, 3가지 종류가 되는데 차이점은

 

1. Transparent


이 종류의 프록시는 웹 요청 시도시 서비스요청 헤더 부분에 client의 IP를 함께 포함합니다.
이 때문에 서버에서는 서비스요청을 시도하는 클라이언트가 보내는 패킷의 헤더를 검사하면, 충분히 client의 IP를 추적할 수 있습니다.
헤더 포함 내용: 프록시 서버 종류, client 실제 IP 분석된 헤더를 살펴보면, "Via:" 부분이 바로 프록시 서버의 종류를 뜻하는 것이고, "X-Forwarded-For:" 부분 다음 부터가 client의 실제 IP를 뜻합니다. 이와 같이 Transparent type proxy는 추적하기가 쉽다는 장점이 있습니다. 참고로, 기존에 존재하고 있는 대부분의 프록시 추적 프로그램이 바로 이 Transparent 역추적 위주의 소프트웨어 입니다.

 

2. Anonymous


이 종류의 프록시는 client의 IP를 완벽하게 숨기지만, 프록시를 사용 중이라는 표시를 헤더에 포함합니다. 예를 들면, 프록시 서버의 종류만 나타나고, 실제 client의 IP는 헤더에 포함하지 않습니다. 바로 이 anonymous type proxy 부터, 역추적에 많은 어려움을 겪습니다.

헤더 포함 내용: 프록시 서버 종류

헤더 포함 내용: 프록시 서버 종류
위와 같이 요청 헤더에 Via 코드만 포함됩니다. 이 때문에 서버에서 요청 패킷을 캡쳐한다해도, 역추적이 불가능합니다.

 

3. High anonymous


이 종류의 프록시는 client의 IP 뿐만아니라, 프록시를 사용 중이라는 표시 조차되지 않습니다.
헤더는 일반 client 접속과 동일하게 작성되며, 서버에서 요청 패킷을 캡쳐해도 일반 client 패킷과 전혀 구별되지 않습니다.
이 때문에 현재 기술력으로 서버는 high anonymous type proxy 사용자와 일반 client 사용자를 전혀 구별해낼 수 없습니다.
헤더 포함 내용: 없음

요청 헤더에는 일반 client 접속과 구별할만한 포함 내용이 존재하지 않으므로 역추적이 불가능합니다.

프록시서버로 하면 추적 안된다고 뻘짓(?)하는일이 없기를 바랍니다. 추적이 다 가능하도록 만든 솔루션들도 많이 있습니다..조심하세요

댓글