CS/네트워크

20240408 네트워크

싹난 감자 2024. 4. 8. 15:54

네트워크 계층

IPv4 (Internet Protocol Version 4) -> IPv6

IP 주소 (32bit, 8bit * 4)

ARP (Address Resolution Protocol, 주소 결정 프로토콜)

서브넷 마스크 (Subnet Mask)

게이트웨이(Gateway)

 

전송 계층(Transport Layer)

Port(16bit 부호없는 숫자)

사용자 포트 or 등록 포트, 시스템 포트 or 예약 포트, 동적포트

소켓(Socket)

전송제어 프로토콜 (TCP) 정밀, 느림 맞았는지 안맞았는지

6
사용자 데이터그램 프로토콜 (UDP) 빠름, 비교적 덜 정밀 실시간으로 계속 갱신되는 점수

17
데이터그램 혼잡 제어 프로토콜 (DCCP)     33
스트림 제어 전송 프로토콜 (SCTP)     132

 

응용 계층

DHCP

동적 호스트 설정 프로토콜

DNS (Domian Name System)

NAT

 

패킷

라우팅

오버플로우

레이턴시(TCP)

-응답을 받는데 걸리는 시간

타임 아웃

-일정 시간 이상 응답이 없을 경우

 

직렬화(Serialization), 역직렬화(Deserialization)

빅 엔디언: 하위 바이트를 먼저 기록

- IBM PowerPC, XBox 360, Playstation 3

리틀 엔디언: 상위 바이트를 먼저 기록

- x86, x64, iOS, XBox One, Playstation 4, Android

 

Scale Out : 서버 대수 증가

Scale Up : 서버 크기 증가

 

게임서버의 역할 분산

인증 서버

데이터베이스 서버

통계 서버

미들 웨어 서버, 방화벽 머신

로비 서버

Zone 서버

NPC 서버

채팅 서버

메신저 서버

운영 서버

중앙 서버 관리자

로그 서버

아이템 현금 구매 서버

 

실시간 온라인 게임 (FSP)

비동기 온라인 게임 (카드게임)

 

비동기 + 실시간 채팅

비동기 + 실시간 PVP 인스턴스 던전

 

실시간 + 토탈 랭킹 컨텐츠

실시간 + 로비, 캐릭터 꾸미기

실시간 + 느슨한 상호작용 컨텐츠

 

온라인 네트워크 구성

Network Topology

 

Client/Server

장점

- 서버 단족 처리

- 일관성 있는 결과 및 동기화

- 해킹이나 핵 사용에 강함

- 대규모 유저 상호작용 가능

단점

- 게임서버의 로직 부담

- 개발 기술 및 유지보수 비용

- 모든 클라이언트가 서버를 경유해야하므로 응답성 떨어짐

- 서버의 부하나 통신 지연 등으로 인해 정교한 액션 처리 어려움

 

리슨 서버 (Listen Server)

- Host Server

- 유저 한명이 서버

P2P (Peer to Peer)

- 모두가 호스트

장점

- 메세지를 직접 상대방에게 전달

- 네트워크 지연 최소화

- 클라이언트에서 로직을 처리하므로 정교하고 빠른 처리 가능

- 서버의 부담이 적음

단점

- 핵, 치트에 취약

- 개별적인 로직 처리로 동기화 어려움 (충돌 처리 등)

 

Host 기반 P2P (Super Peer)

-스플레툰. host가 튕기면 방이 터짐

전용 서버 (Dedicated Server)

-단일 서버

 

두 방식을 섞어서도 사용

 

네트워크 기법

전달 미보장 데이터

전달 보장 데이터

최신 상태 데이터

특급 전달 보장 데이터

 

결정론적 락스텝 (Deterministic Lockstep)

위치가 아닌 입력 값 넘기기

 

데드 레커닝 (Dead Reckoning)