(스탠다드) OSI 7계층
서버와 클라이언트 개념, 구조
- 서버
- 서버는 네트워크를 통해 클라이언트에게 서비스를 제공하는 시스템. 어떤 서비스를 제공하느냐에 따라 웹, 게임, DB 서버 등 다양한 종류로 구분 지을 수 있다.
- 클라이언트
- 클라이언트는 서버에게 서비스를 요청하고 받아 사용하는 장치 또는 프로그램. 주로 사용자 인터페이스를 갖추고 있으며, 사용자와 상호작용한다. 우리가 사용하는 스마트폰, pc, 태블릿 등 서버와 통신할 수 있는 IT 기기면, 모두 클라이언트가 될 수 있다.
- 구조

네트워크로 연결된 컴퓨터 중 서비스를 제공하는 쪽을 서버라 부르고 그 서비스를 요청하고 받는 쪽을 클라이언트 라고 한다.
웹 어플리케이션 서버와 게임 서버의 차이
- 웹 어플리케이션
- 다양한 서버 내 알고리즘, 비즈니스 로직, DB 조회 등 클라이언트 요청에 따라 동적인 컨텐츠를 제공하는 서버, 프로그램. HTTP 프로토콜을 기반으로 하여 클라이언트의 요청에 따라 구현된 비즈니스 로직을 통해 동적으로 만들어진 컨텐츠를 반환한다.
- 게임 서버
- !(Wiki)인터넷 상에서 여러 플레이어가 같이 게임을 할 수 있게 하기 위한 프로그램이나 해당 프로그램을 기동중인 컴퓨터를 말한다. 호스트가 누가 되느냐를 기준으로 분류하면 데디케이티드 서버와 리슨 서버, Peer to peer로 나눌 수 있다.
- 차이점
- 게임 서버는 웹클라 서버 보다 보통 높은 계산 능력과 대역폭이 필요하다. MMORPG게임들의 경우 많은 플레이어와 대규모로 상호작용을 동시에 처리한다. 대전 게임의 서버는 여러 플레이어 간의 동기화된 상호 작용을 처리해야 하므로 상태 동기화와 네트워크 대역폭 관리가 중요하다. 반면 웹 애플리케이션 서버는 주로 DB 액세스, 사용자 인증 등 비교적 간단한 작업을 수행하기에 성능이 크게 요구되지 않는다. 웹 애플리케이션 서버는 단일 사용자 또는 요청에 의해 독립적으로 작동할 수 있기에 동기화의 필요성은 적다. 물론 웹 서버도 서비스에 따라 게임 서버 처럼 대역폭 관리, 동기화 등 요구 되는 경우가 있다.
This post is licensed under CC BY 4.0 by the author.