C/S   Client/Server, Client, Server   클라이언트/서버, 클라이언트, 서버

(2023-07-08)

Client Server Model, 클라이언트 서버 모델, 클라이언트 서버


1. 클라이언트/서버 이란?

  ㅇ 클라이언트 (Client)
     - 영어 뜻 자체로는 고객을 의미
        . 클라이언트는 1 이상의 서버들이 제공하는 서비스를 사용하는 소비자의 개념
     - 클라이언트/서버 모델에서, 
        . 네트워크를 이용하여 서버(Server)측에 서비스 요청을 의뢰하는 측
     - 例) 웹 브라우저, 데스크톱 프로그램, 모바일 , 다른 서버에 요청을 보내는 서버 등

  ㅇ 서버 (Server)
     - 클라이언트들이 요구하는 각종 서비스를 제공하는 측
        . 특정 역할에 특화된 것
     - 클라이언트/서버 모델에서,
        . 네트워크 상에 구현된 하드웨어 또는 소프트웨어로써, 
        . 네트워크를 이용하여 클라이언트(Client)측으로부터 서비스의 요청을 받는 측
     - 例) 웹서버, 네임서버, 메일서버, 인증서버2. 클라이언트/서버 출현배경

  ㅇ 과거에는, 동일 컴퓨터 내에서 호출 및 피호출 프로그램이 상호작용함으로써,
     - 이 둘을 굳이 분리할 필요가 없었음
 
  ㅇ 그러나, 컴퓨터네트워크 기술발전에 따라,
     - 많은 프로그램을 대신하여, 서비스 제공 또는 자원 관리하는 전문화된 프로그램이 널리 확산되어,
     - 이를 서버라 하고 서비스 또는 자원을 의뢰(요청)하는 측을 클라이언트라고 하게됨


3. 클라이언트/서버 모델의 특징

  ㅇ 요청-응답의 형태
     - 이 모델에서의 통신은 항상 요청-응답의 형태를 취함
     - 즉, 클라이언트에 의해서만 시작되고 서버에 의해서는 결코 시작되지 않음

  ㅇ 통상, 한 가지 작업을 전담함 
     - 프린트 서버,고속의 그래픽 서버,데이타베이스 서버,화일 서버,네임 서버,웹 서버 등

  ㅇ 동시 요구 처리 필요함
     - 서버란 많은 다른 클라이언트들의 동시적인 요구를 처리할 수 있도록 설계프로세스 임

  ㅇ 클라이언트/서버 환경
     - 최종 사용자에게는 많은 장점을 제공하는 반면에,
     - 망 운영자에게는 복잡하고 어려운 문제를 끊임없이 제기하게됨

  ㅇ 구성 요소 셋
     - Client,  Server,  Network소프트웨어의 위치
     - 변화가 적은 소프트웨어는, 클라이언트측에,
     - 변화가 잦은 소프트웨어는, 서버측에 놓음

  ㅇ 분산처리
     - 클라이언트/서버 모델은 분산협동처리(distributed cooperative processing)
       의 특별한 예라고 할 수 있음
     - 지능형 동배간 처리에서 한 서버는  여유있는 서버에게 계산 부담을 분배함으로써
       서버와 네트워크 특성을 기반으로 하는 분산을 최적화할 수 있음

  ㅇ 서버 이중화
     - 통상, 안정성을 위해 서버 이중화가 요구됨


4. [소프트웨어]  클라이언트/서버의 TCP/IP 프로토콜

  ㅇ 서버용 소프트웨어 例)
     - HTTP, FTP, 전자우편(SMTP,POP), TELNET, DNS 등

  ㅇ 서버 포트(Port) 관리
     - 서버는 클라이언트가 접근하는 초기 포트로써 잘알려진 포트를 사용하고,
     - 일단 이 포트를 통해 클라이언트와의 연결이 이루어지면,
     - 일반적으로, 서버는 임시 포트(Ephemeral Port)를 생성하여 연결하고, 
     - 이후에는 데이터 교환이 이렇게 유지되는 연결을 통해 이루어지짐


5. [하드웨어]  서버 형태 구분

  ㅇ 서버 형태 구분 : 랙 마운트형 서버, 타워형 서버
  ㅇ 서버 등급 구분 : 엔트리 서버, 미들레인지 서버, 하이엔드 서버
  ㅇ 서버 아키텍처 구분 : IA 서버 (Intel Architecture,인텔의 x86 계열) 등

소프트웨어 기타일반
   1. CTI   2. eAI/EAI   3. SI (시스템통합)   4. 그룹웨어   5. 미들웨어   6. 워크플로우 관리   7. 자료흐름도   8. 클라이언트/서버   9. 협업   10. 다운사이징   11. 오픈소스SW   12. 프레임워크   13. CASE,CAD   14. 역공학  
분산컴퓨팅
   1. 분산 컴퓨팅   2. 클라이언트/서버   3. 2/3/n-Tier 구조   4. 분산 콤포넌트   5. 그리드   6. 웹 서비스   7. SOAP   8. RPC  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"