용어
Ethernet : Ether (빛의 매질)
MAC 주소(Media Access Control Address) : 48 bit로 이루어진 숫자
네트워크 계층(Network Layer)
IPv4 (Internet Protocol Version 4) -> IPv6
IP 주소 (32bit, 8bit * 4)
ARP (Address Resolution Protocol, 주소 결정 프로토콜)
바꿔주는 프로토콜(형변환?)
- IP -> MAC
서브넷 마스크 (Subnet Mask)
같은곳에서 왔는지 알수있는거 AND 비트 연산
Ex )
255.255.255.0 와 IP를 비교해서
A : 18.17.100.1 -> 18.17.100.0
B : 18.17.100.2 -> 18.17.100.0
C : 18.17.200.1 -> 18.17.200.0
앞쪽 숫자가 같으면 같은곳에 나온것으로 판단
게이트웨이 (Gateway)
문
전송 계측 (Transport Layer)
Port (16bit 부호없는 숫자) ex) 8000
사용자 포트 or 등록 포트, 시스템 포트 or 예약 포트, 동적포트
소켓 (Socket)
전송 제어 프로토콜 TCP - 갔는지 안갔는지 검사 해줌
사용자 데이터그램 프로토콜 UDP - 검사안함 대신 빠름
응용 계층 (Application Layer)
DHCP(Dynamic Host Configuration Protocol)
아이피 변경 시에도 보내줌
동적 호스트 설정 프로토콜
DNS (Domain Name System)
도메인 - > 아이피 주소 상호바꿔주는 역활
NAT (Network Address Translation, 네트워크 주소 변환)
용어정리
패킷(Packet) - 네트워크로 보낼 수 있는 최소단위
라우팅 (Routing) - 네비게이션
오버플로우 (Overflow) - 용량 넘음
레이턴시 (Latency) - 반응속도
타임 아웃 (Time Out)
직렬화 재 정렬, 역직렬화 재 정렬한걸 풀어줌
빅 엔디언(Big-Endian) 바이트를 오름차순 정렬
리틀 엔디언 바이트를(Little_Endian) 내림차순 정렬
Scale Out : 서버 대수 증가
Scale Up : 서버 크기 증가
게임서버의 역할 분산
사용자 인증만을 담당하는 '인증 서버'
사용자가 먹는 아이템이나 키운 캐릭터 정보를 저장하는 '데이터베이스 서버'
랭킹을 보여주기 위한 '통계 서버'
해킹 차단을 하기 위한 '미들웨어 서버'와 ' 방화벽 머신'
인던이나 방 만들기를 담당하는 '로비 서버'
게임을 플레이하면서 사람들과 같이하는것 'Zone 서버'
'NPC 서버' 등등
을 관리하는 ' 중앙 서버 관리자'
'로그 서버'
조용어
Ethernet : Ether (빛의 매질)
MAC 주소(Media Access Control Address) : 48 bit로 이루어진 숫자
네트워크 계층(Network Layer)
IPv4 (Internet Protocol Version 4) -> IPv6
IP 주소 (32bit, 8bit * 4)
ARP (Address Resolution Protocol, 주소 결정 프로토콜)
바꿔주는 프로토콜(형변환?)
- IP -> MAC
서브넷 마스크 (Subnet Mask)
같은곳에서 왔는지 알수있는거 AND 비트 연산
Ex )
255.255.255.0 와 IP를 비교해서
A : 18.17.100.1 -> 18.17.100.0
B : 18.17.100.2 -> 18.17.100.0
C : 18.17.200.1 -> 18.17.200.0
앞쪽 숫자가 같으면 같은곳에 나온것으로 판단
게이트웨이 (Gateway)
문
전송 계측 (Transport Layer)
Port (16bit 부호없는 숫자) ex) 8000
사용자 포트 or 등록 포트, 시스템 포트 or 예약 포트, 동적포트
소켓 (Socket)
전송 제어 프로토콜 TCP - 갔는지 안갔는지 검사 해줌
사용자 데이터그램 프로토콜 UDP - 검사안함 대신 빠름

TCP Header - 정보를 전송할때 그 값에 대한 정보
응용 계층 (Application Layer)
DHCP(Dynamic Host Configuration Protocol)
아이피 변경 시에도 보내줌
동적 호스트 설정 프로토콜
DNS (Domain Name System)
도메인 - > 아이피 주소 상호바꿔주는 역활
NAT (Network Address Translation, 네트워크 주소 변환)
용어정리
패킷(Packet) - 네트워크로 보낼 수 있는 최소단위
라우팅 (Routing) - 네비게이션
오버플로우 (Overflow) - 용량 넘음
레이턴시 (Latency) - 반응속도
타임 아웃 (Time Out)
직렬화 재 정렬, 역직렬화 재 정렬한걸 풀어줌
빅 엔디언(Big-Endian) 바이트를 오름차순 정렬
리틀 엔디언 바이트를(Little_Endian) 내림차순 정렬
Scale Out : 서버 대수 증가
Scale Up : 서버 크기 증가
게임서버의 역할 분산
사용자 인증만을 담당하는 '인증 서버'
사용자가 먹는 아이템이나 키운 캐릭터 정보를 저장하는 '데이터베이스 서버'
랭킹을 보여주기 위한 '통계 서버'
해킹 차단을 하기 위한 '미들웨어 서버'와 ' 방화벽 머신'
인던이나 방 만들기를 담당하는 '로비 서버'
게임을 플레이하면서 사람들과 같이하는것 'Zone 서버'
'NPC 서버' 등등
을 관리하는 ' 중앙 서버 관리자'
'로그 서버'
비동기, 동기 온라인 방식이 있고 섞어서 주로 사용
Network Topology
Client / Server 방식
P2P (Peer to Peer) 방식 - 유저 전체 서버
Host 기반 P2P (Super Peer) 유저 한명이 서버
두 방식을 섞어서도 사용
Clinet / Server 방식
전용 서버 (Dedicatsed Server)
단일 서버
장점
서버 단독 처리
일관성 있는 결과 및 동기화
해킹이나 핵 사용에 강함
대규모 유저 상호작용 가능
단점
게임서버 로직의 부담
개발 기술 및 유지보수 비용
모든 클라이언트가 서버를 경유해야하므로 응답성 떨어짐
서버의 부하나 통신 지연 등으로 인해 정교한 액션 처리 어려움
P2P
리슨 서버 (Listen Server)
Host Server
유저 한명이 서버
P2P
모두가 호스트
장점
메시지를 직접 상대방에게 전달
네트워크 지연 최소화
클라이언트에서 로직을 처리하므로 정교하고 빠른 처리 가능
서버의 부담이 적음
단점
핵, 치트 등에 취약
개별적인 로직 처리로 동기화 어려움 (충돌 처리 등)
네트워크 기법
전달 미보장 데이터
전달 보장 데이터
최신 상태 데이터
특급 전달 보장 데이터
결정론적 락스텝 (Deterministic Lockstep)
위치가 아닌 입력 값 넘기기
데드 레커닝 (Dead Reckoning)
네트워크가 다음 동작을 예측해서 입력해줌(인터넷이 끊겨도)
플레이어의 다음 행동을 예측해서 적의 동작을 예측
네트워크 엔진 (섞어서도 사용)
로그인, 데이터베이스 - Firebase(모바일), PlayFab
엔진 - photon, ProudNet(철권, 스트리트파이터)
'수업 일기장' 카테고리의 다른 글
Unity 3D Dark Souls 따라하기 (0) | 2021.03.30 |
---|---|
Untiy.7 Move, add, sound (0) | 2021.02.26 |
Unity.6 uv, 텍스쳐 Wrap mode (0) | 2021.02.26 |
Unity.5 uv, normals, triangles (0) | 2021.02.26 |
Unity.4 Collider, Rigidbody (0) | 2021.02.24 |