카테고리 없음

스탠다드반 발제 자료조사 (1)

jaeoun0238 2024. 11. 25. 10:31

 

서버와 클라이언트의 개념


서버는 클라이언트의 요청을 처리하고, 데이터를 제공하는 컴퓨터 시스템입니다. 서버는 일반적으로 강력한 하드웨어와 소프트웨어를 갖추고 있으며, 여러 클라이언트의 요청을 동시에 처리할 수 있는 능력을 가지고 있습니다. 서버의 예로는 웹 서버, 데이터베이스 서버, 파일 서버 등이 있습니다.

 

  • 특징:
    • 항상 작동 중이어야 함 (24/7)
    • 클라이언트의 요청에 대해 데이터를 제공하거나, 작업을 수행
    • 네트워크를 통해 여러 클라이언트와 상호작용
  • 예:
    • 웹 서버 (웹사이트 호스팅)
    • 데이터베이스 서버 (데이터 저장 및 관리)
    • 파일 서버 (파일 공유)

클라이언트는 서버에 요청을 보내고, 서버로부터 데이터를 받아 사용하는 컴퓨터 프로그램 또는 장치입니다. 클라이언트는 사용자 인터페이스를 통해 사용자가 서버와 상호작용할 수 있도록 도와줍니다. 웹 브라우저, 모바일 애플리케이션 등이 클라이언트의 예입니다.

 

  • 특징:
    • 서버에 특정 작업이나 데이터를 요청
    • 일반적으로 사용자 인터페이스(UI)를 통해 작동
    • 서버와의 네트워크 연결 필요
  • 예:
    • 웹 브라우저 (크롬, 사파리)
    • 모바일 애플리케이션
    • 데스크톱 프로그램

 


서버-클라이언트 구조

 


서버-클라이언트 구조는 네트워크 통신에서 일반적으로 사용되는 아키텍처입니다. 클라이언트는 서버에 요청을 보내고, 서버는 해당 요청을 처리한 후 응답을 반환합니다.

1. 분산 처리: 클라이언트와 서버가 각자의 역할을 분담하여 처리할 수 있습니다.


2. 확장성: 서버를 추가하여 더 많은 클라이언트를 지원할 수 있습니다.


3. 유지 관리: 서버 측에서 소프트웨어 업데이트나 유지 관리를 쉽게 할 수 있습니다.

 

  • 작동 방식:
    1. 클라이언트가 요청(Request)을 보냄.
    2. 서버가 이를 처리하고 응답(Response)을 보냄.
  • 장점:
    • 데이터와 리소스를 중앙에서 관리 가능
    • 확장성 (서버를 추가하여 부하 분산 가능)
  • 단점:
    • 서버에 과부하가 걸릴 수 있음
    • 서버 장애 시 모든 서비스 중단 가능

웹 어플리케이션 서버와 게임 서버의 공통점과 차이점


공통점

  • 클라이언트와 서버 간 통신:
    • HTTP, TCP/IP 등의 네트워크 프로토콜 사용.
    • 요청과 응답 기반 구조.
  • 다중 사용자 처리:
    • 여러 클라이언트의 동시 요청 처리.
    • 부하 분산 시스템 (Load Balancer) 사용 가능.
  • 보안:
    • 인증(Authentication) 및 권한 관리(Authorization) 필요.
    • 데이터 암호화와 전송 보호.

차이점

 

웹 애플리케이션 서버 게임 서버
정적/동적 콘텐츠 제공 (HTML, JSON 등) 실시간 데이터 처리 (게임 상태, 위치 동기화 등)
요청-응답 방식으로 작동 (Stateless 가능) 지속적 연결(Real-time, Stateful 필요)
처리 속도가 상대적으로 덜 중요 매우 낮은 지연 시간(Latency)이 필수적
데이터베이스 연동 중심 물리 엔진, 게임 로직 처리 중심


1. 목적

  • 웹 어플리케이션 서버는 주로 웹 페이지를 생성하고 데이터를 처리하는 데 중점을 둡니다.
  • 게임 서버는 실시간으로 사용자 간의 상호작용을 지원하고, 게임 상태를 관리하는 데 중점을 둡니다.

2. 성능 요구사항

  • 웹 서버는 일반적으로 요청-응답 사이클이 상대적으로 느리더라도 큰 문제는 없습니다.
  • 게임 서버는 낮은 지연 시간과 높은 동시 접속 수를 요구합니다.


게임 서버에서 중요하게 다루어야 하는 내용


지연 시간: 빠른 반응성을 위해 최적화되어야 합니다.


동시 접속 처리: 많은 플레이어가 동시에 접속할 수 있도록 설계되어야 합니다.


상태 동기화: 모든 클라이언트가 동일한 게임 상태를 유지하도록 하기 위해 서버가 이를 관리해야 합니다.


보안: 해킹이나 치팅을 방지하기 위한 보안 조치가 필요합니다.


OSI 7계층


OSI 7 계층은 네트워크 통신을 표준화하기 위한 모델로, 각 계층은 특정한 기능을 수행합니다. 다음은 각 계층의 간단한 개념입니다:

1. 물리 계층 (Physical Layer): 전송 매체를 통해 데이터를 전송하는 기능을 담당합니다. 비트 전송, 전기 신호 등을 포함합니다.

2. 데이터 링크 계층 (Data Link Layer): 물리 계층에서 전송된 데이터의 오류를 검출하고 수정합니다. MAC 주소를 사용하여 장치 간의 통신을 관리합니다.

3. 네트워크 계층 (Network Layer): 데이터 패킷을 목적지로 전송하기 위한 경로를 설정합니다. IP 주소를 사용하여 패킷을 라우팅 합니다.

4. 전송 계층 (Transport Layer): 송신자와 수신자 간의 데이터 전송을 보장합니다. TCP와 UDP 프로토콜이 포함됩니다.

5. 세션 계층 (Session Layer): 통신 세션의 생성, 유지 및 종료를 관리합니다. 세션을 식별하고 관리합니다.

6. 표현 계층 (Presentation Layer): 데이터의 형식을 변환합니다. 데이터 압축, 암호화 등도 포함됩니다.

7. 응용 계층 (Application Layer): 사용자와 직접 상호작용하는 응용 프로그램을 지원합니다. 웹 브라우저, 이메일 클라이언트 등이 여기에 해당합니다.

요약

  • 서버와 클라이언트는 네트워크 통신의 핵심 역할을 수행.
  • 서버-클라이언트 구조는 데이터와 서비스를 효율적으로 관리.
  • 게임 서버는 지연 시간, 동기화, 확장성 등 실시간 처리가 중요.
  • OSI 7계층은 네트워크 통신을 체계적으로 이해하는 데 도움을 줌.