CS, OS에 이어 진행하게 된 Network 스터디
본격적인 TCP/IP 4계층 학습에 앞서 기본적인 네트워킹 개념, 클라이언트, 서버 개념에 대해 살펴보고자 한다.
IT 계열에서 네트워킹의 개념은 두 대 이상의 컴퓨터를 케이블로 연결해 네트워크를 구성하는 것을 의미한다. 현재는 전 세계적으로 네트워크가 구축되었다고 해도 무방할 정도로 수많은 컴퓨터, 스마트기기가 연결되어 있어 방대한 양의 데이터를 공유할 수 있게 되었다.
이러한 네트워킹에 따라 메신저, 온라인 게임과 같은 인터넷을 이용해 다양한 네트워크 Application이 생겨났다.
✔️ Server : 서비스를 제공하는 컴퓨터 (Service Provider)
- 다수의 클라이언트에게 서비스를 제공하기에 고사양의 하드웨어를 갖춘 컴퓨터
- 그러나 하드웨어 사양만으로 서버와 클라이언트를 구분하는 것은 절대 아니고 사양의 상관없이 서비스를 제공하는 SW가 실행되는 컴퓨터를 서버라고 한다.
✔️ Client : 서비스를 사용하는 컴퓨터 (Serive User)
- 서버와 이어진 모든 기기(wifi, 모바일 네트워크)와 단말기에서 이용하는 웹에 접근하는 SW
- 주로 서버에 요청을 보내고 응답을 받는 역할을 한다.
✔️ Service
- 위 그림처럼 서버는 클라이언트로부터 요청을 받아 응답을 내려주고 클라이언트는 서버에 데이터를 요청하고 응답을 받는다. 재화와 서비스의 개념에서 가져와 서비스라고 일컫는다.
- 서비스 종류에 따라 파일 서버/메일 서버/어플리케이션 서버 등으로 나뉜다.
- 서버가 서비스를 제공하기 위해선 서버 프로그램이 있어야 하고, 클라이언트가 서비스를 제공받기 위해서는 서버 프로그램과 연결할 수 있는 클라이언트 프로그램이 존재해야 한다.
✔️ 연결하는 방식
- 서버기반 모델 (server-based model) : 전용 서버를 두는 것
- 안정적인 서비스 제공 가능
- 공유 데이터의 관리와 보안이 용이
- 서버구축 비용과 관리 비용 발생
- P2P 모델 (peer-to-peer model) : 각 클라이언트가 서버역할 동시 수행 (전용 서버 없이)
- 서버 구축 및 운용비용 절약 가능
- 자원 활용 극대화 가능
- 자원 관리 어려움
- 보안 취약