1. 클라이언트/서버 이란?
ㅇ 클라이언트 (Client)
- 영어 뜻 자체로는 고객을 의미
. 클라이언트는 기본적으로 한 개 이상의 서버가 제공하는 서비스를 사용할 수
있는 소비자의 개념
- 클라이언트/서버 모델에서,
. 네트워크를 이용하여 서버(Server)측에 서비스 요청을 의뢰하는 주체
ㅇ 서버 (Server)
- 클라이언트들이 요구하는 각종 서비스를 제공하는 측
- 클라이언트/서버 모델에서,
. 네트워크상에서 하드웨어 또는 소프트웨어로써 서비스의 요청을 받는 측
2. 클라이언트/서버 출현배경
ㅇ 과거에는 동일 컴퓨터 내에서 호출 및 피호출 프로그램이 상호작용함으로써 이들을
분리할 필요가 없었음
ㅇ 그러나, 컴퓨터 및 네트워크 기술발전에 따라 많은 프로그램을 대신하여 서비스를
제공하거나 자원을 관리하는 전문화된 프로그램의 개념이 널리 확산되어,
- 이를 서버라 하고 서비스 또는 자원을 의뢰(요청)하는 측을 클라이언트라고 하게됨
3. 클라이언트/서버 모델의 특징
ㅇ 이 모델에서의 통신은 항상 요청-응답의 형태를 취함
- 클라이언트에 의해서만 시작되고 서버에 의해서는 결코 시작되지 않음
ㅇ 서버 종류
- 통상 프린트서버, 고속의 그래픽서버, 데이타베이스서버, 화일서버, 네임서버 등과
같은 것이 있으며 한 가지 작업을 전담함
- 일반적으로 서버란 많은 다른 클라이언트들의 동시적인 요구를 처리할 수 있도록
설계된 프로세스라고 말할 수 있음
ㅇ 클라이언트/서버 환경
- 최종 사용자에게는 많은 장점을 제공하는 반면에 망 운영자에게는 복잡하고 어려
운 문제를 끊임없이 제기하게됨
ㅇ 구성요소 : Client, Server, Network
ㅇ 소프트웨어 위치
- 변화가 적은 소프트웨어는 클라이언트측에 변화가 잦은 소트웨어는 서버측에 놓음
ㅇ 분산처리
- 클라이언트/서버 모델은 분산협동처리(distributed cooperative processing)
의 특별한 예라고 할 수 있음
- 지능형 동배간 처리에서 한 서버는 여유있는 서버에게 계산 부담을 분배함으로써
서버와 네트워크 특성을 기반으로 하는 분산을 최적화할 수 있음
4. 클라이언트/서버 TCP/IP 프로토콜
ㅇ 例) HTTP, FTP, 전자우편(SMTP,POP), TELNET, DNS 등
ㅇ 서버 포트(Port) 관리
- 서버는 클라이언트가 접근하는 초기 포트로써 잘알려진 포트를 사용하고,
- 일단 이 포트를 통해 클라이언트와의 연결이 이루어지면,
- 일반적으로, 서버는 임시 포트(Ephemeral Port)를 생성하여 연결하고,
- 이후에는 데이터 교환이 이렇게 유지되는 연결을 통해 이루어지짐