[ Unreal Engine ] TIL 📖 ( 14 )
Unreal Engine은 기본적으로 서버-클라이언트 모델을 사용 함.
멀티플레이를 지원하는 게임을 개발하기 위해서는 네트워크에 대한 기초 개념을 알아야 함.
네트워크란?
-> 서로 다른 장치들이 데이터를 주고받을 수 있도록 연결 된 시스템.
서버 & 클라이언트
-> 서버 : 데이터를 저장하고 관리하며 클라이언트의 요청을 처리하는 컴퓨터
-> 클라이언트 : 서버에 요청을 보내고 데이터를 받아서 사용하는 컴퓨터
Ex) 멀티플레이 게임에서 각각의 플레이어들은 클라이언트가 됨. (서버와 데이터 송수신)
네트워크 기본 구성 요소
1. 노드
- 네트워크의 기본 단위
- 엔드 노드와 중간 노드
- 통신, 라우팅, 데이터 처리, 네트워크 관리
2. 링크
- 노드 간에 데이터를 전송하는 연결(유선 : 이더넷, 광섬유, 케이블 / 무선 : Wifi, 블루투스)
3. 프로토콜
- 데이터의 전송 규칙
1) TCP : 전송 계층에서 작동, 데이터 보낸 후 수신 확인 ( 연결 )
2) UDP : 전송 계층에서 작동, 데이터 송신만 가능 ( 비연결 )
3) IP : 네트워크 계층에서 작동, IP주소를 이용해서 패킷을 옮김. 모든 인터넷의 기반인 기술
네트워크의 배치 형태
1) P2P : 1대1 통신
2) Bus : 하나의 BNC 케이블에 여러 대의 컴퓨터를 연결 ( 한 곳에서 문제 -> 전체 네트워크 영향)
3) Ring : 하나의 BNC 케이블을 원형으로 만들어서 여러 대의 컴퓨터 연결 (한 곳에서 문제 -> 전체 네트워크 영향)
(Ring형이 Bus형과 다른 점 : 데이터 충돌 없이 순차적으로 데이터 전달 가능)
4) Star : 중앙 허브나 스위치에 여러 장치가 개별 연결( 중앙 장치 문제 -> 네트워크 다운 )
5) Mesh : 1대N으로 모든 노드가 서로 연결된 네트워크( 하나 고장나도 이상 X , 복잡하고 비용이 비쌈)
6) Tree : 여러개의 Star형 네트워크를 계층적으로 연결 ( 확장성이 좋음 / 중앙(상위)노드 고장 -> 하위노드 다운, 복잡하고 비쌈)