80
PC 와 와와와와와와 P2P 와와 와와와와와 와와와 와와 와와와와와와 와와와 ([email protected] m) Inven Game Conference

PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

Embed Size (px)

Citation preview

Page 1: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교아이펀팩토리 문대경 (d-

[email protected])

Inven Game Confer-ence

Page 2: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

0 Overview

왕년에 CD/DVD 좀 구워 보셨습니까 ?

Page 3: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

0 Overview

그렇다면 이 프로그램들도 기억하시겠네욤

Page 4: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

0 Overview

Napster 이야기

Sean Fanning, Sean Parker 등으로부터 1999 년 서비스

시작

최대 8 천만 명의 등록 유저

미공개 음원 유통으로 Metallica 로부터 “너 고소”

Dr. Dre 의 저작물 삭제 요청 무시로 “너 고소”

유저들의 저작권 위반 방조 이유로 A&M Records 로부터

“너 고소”

… ( 연속 고소미 콤보 )

유저의 저작권 위반 행위를 적극적으로 방지하라는 법원

명령에

2001 년 서비스 종료

Page 5: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

0 Overview

Napster 동작 방식

냅스터의인덱싱 서버

① 보유한 MP3 파일명과 자신의 IP 주소 등록

② 노래 검색

③ 저장된 파일명 DB 를 이용해 검색 매칭 후 MP3 보유 컴퓨터 IP 반환

④ 파일 전송 요청

Page 6: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 Client-Server Model vs. Peer-to-Peer Model

기존 서비스 구성 방법의 특징

• Centralized: 모든 정보는 중앙에 집중됨

• Managed: 전담 관리자가 서비스를

관리함

Page 7: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 Napster 의 클라이언트 - 서버 통신 부분

냅스터의인덱싱 서버

클라이언트 - 서버 통신

Client-Server Model vs. Peer-to-Peer Model

Page 8: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 Napster 의 사용자간 통신 부분 (P2P)

냅스터의인덱싱 서버

사용자간 통신

Client-Server Model vs. Peer-to-Peer Model

Page 9: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 기존 서비스 아키텍처와의 차이점

Decentralized: 정보는 흩어져 있음

Unmanaged: 전담 관리자가 존재하지

않음

Client-Server Model vs. Peer-to-Peer Model

Page 10: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 기존 서비스 아키텍처와의 차이점

Decentralized: 정보는 흩어져 있음

Unmanaged: 전담 관리자가 존재하지

않음

변화의 동기

운영 비용 문제

Client-Server Model vs. Peer-to-Peer Model

Page 11: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 Client-Server ModelClient-Server Model vs. Peer-to-Peer Model

Page 12: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 Client-Server Model

Pros

Centralized: 서비스 변경이

쉬움

Managed: 안정적인 서비스

가능

Client-Server Model vs. Peer-to-Peer Model

Page 13: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 Client-Server Model

Pros

Centralized: 서비스 변경이

쉬움

Managed: 안정적인 서비스

가능

Cons

서버 과부하

네트워크 과부하

Client-Server Model vs. Peer-to-Peer Model

Page 14: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 Peer-to-Peer ModelClient-Server Model vs. Peer-to-Peer Model

Page 15: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 Peer-to-Peer Model

→ 참여자간 품앗이

Client-Server Model vs. Peer-to-Peer Model

Page 16: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 P2P 관련 잘못된 믿음 #1

P2P 는 사용자들끼리 통신하는 것이다 .

Client-Server Model vs. Peer-to-Peer Model

Page 17: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

1 P2P 관련 잘못된 믿음 #1

P2P 는 사용자들끼리 통신하는 것이다 .

클러스터링을 위해 서버간 P2P 망을 구성할 수도 있다 .

예 ) 로그인한 유저 정보를 REDIS 에 몰아서 저장하기 vs. 로그인한 유저 정보를 서버들 각각이 저장하기

P2P 는 중앙집중 요소를 없애는 범용 테크닉임

Client-Server Model vs. Peer-to-Peer Model

Page 18: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

2 Peer-to-Peer Application

P2P 응용의 확장

파일 공유

Page 19: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

2 Peer-to-Peer Application

P2P 응용의 확장

파일 공유 컴퓨팅 파워 공유( 분산 처리 )

Page 20: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

2 Peer-to-Peer Application

P2P 응용의 확장

파일 공유 컴퓨팅 파워 공유( 분산 처리 )

네트워크 공유( 라우팅 )

Page 21: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

3 Overlay Network by P2P

P2P 의 라우팅에서의 응용

인터넷 inter + net ( 망 사이의 연결 )

망 사이의 패킷 전달 규칙= 정책 기반 라우팅 (policy-based routing)

= 효율성과 관계없이 정책에 따라 패킷을 보냄 ( 특정 국가를 우회하거나 , 특정 망 사업자를 선호하거나 ..)

망사업자 A

망사업자 C

망사업자 B

망사업자 D

Page 22: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

3 Overlay Network by P2P

P2P 를 통한 정책 기반 라우팅 극복

A

서버

클라

쓰리쿠숀 클라( 라우터로 동작 )

B C

D

E

기본 라우팅 규칙에 따른 경로

P2P 로 다른 클라 에게패킷을 릴레이 하는 경우 경로

Page 23: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

3 Overlay Network by P2P

P2P 의 라우팅에서의 응용

A

CB

D

서버

클라

클라

클라들이 같은 망 사업자에 연결된 경우도 당연히 유용하다 .

서버까지 갔다 오는 경로

직접 클라로 가는 경로

Page 24: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

0 P2P 관련 잘못된 믿음 #2

P2P 가 더 빠르다 .

Overlay Network by P2P

Page 25: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

Topology 에 따라 그럴 수도 있고 아닐 수도 있다 .

0 P2P 관련 잘못된 믿음 #2

P2P 가 더 빠르다 .

CB

A

서버

클라 클라

Overlay Network by P2P

Page 26: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

3 Overlay Network by P2P

2000 년대 중반까지의 P2P 연구 전성기

라우팅 우회라는 네트워크적 효용성으로

2000 년대 중반까지 P2P 관련 수많은 연구가 쏟아짐(CAN, Pastry, Tapestry, Chord, Kademila, BitTorrent, …)

참고 : 물리 네트워크 위에 다시 논리 네트워크를 만든 것 같다 하여 오버레이 네트워크 (Overlay Network) 이라 함

Page 27: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 Issues Related to Peer-to-Peer Approach

P2P 연구의 난제들

P2P 프로토콜 설계 / 구현에서의 난제들

1. 통신할 상대방 찾기 (resource discovery)2. 참여자의 들락날락거림 처리 (churn handling)3. 품앗이에서 치팅 방지 (fairness enforcement)4. 통신 채널 보장하기 (NAT traversal)

Page 28: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #1 - 통신할 상대방 찾기

Q1. 전체 사용자 풀에서 어떻게 통신 대상을 찾아낼 것인가 ? Approach 1. Directory (e.g., Napster)

인덱싱 서버

① 보유한 MP3 파일명과 자신의 IP 주소 등록

② 노래 검색

③ 저장된 파일명 DB 를 이용해 검색 매칭 후 MP3 보유 컴퓨터 IP 반환

④ 파일 전송 요청

Issues Related to Peer-to-Peer Approach

Page 29: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #1 - 통신할 상대방 찾기

인덱싱 서버

① 보유한 MP3 파일명과 자신의 IP 주소 등록

② 노래 검색

③ 저장된 파일명 DB 를 이용해 검색 매칭 후 MP3 보유 컴퓨터 IP 반환

④ 파일 전송 요청

Approach 1. Directory (e.g., Napster)

Pros: Simplicity ( 통신 방식이 단순함 ) Cons: Single point of failure (디렉토리에 과부하나 오류 발생한다면 ?)

Issues Related to Peer-to-Peer Approach

Q1. 전체 사용자 풀에서 어떻게 통신 대상을 찾아낼 것인가 ?

Page 30: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #1 - 통신할 상대방 찾기

Approach 2. Broadcasting (e.g., Gnutella)

박효신

Issues Related to Peer-to-Peer Approach

Q1. 전체 사용자 풀에서 어떻게 통신 대상을 찾아낼 것인가 ?

Page 31: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #1 - 통신할 상대방 찾기

박효신

Approach 2. Broadcasting (e.g., Gnutella)

Issues Related to Peer-to-Peer Approach

Q1. 전체 사용자 풀에서 어떻게 통신 대상을 찾아낼 것인가 ?

Page 32: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #1 - 통신할 상대방 찾기

박효신

Approach 2. Broadcasting (e.g., Gnutella)

Issues Related to Peer-to-Peer Approach

Q1. 전체 사용자 풀에서 어떻게 통신 대상을 찾아낼 것인가 ?

Page 33: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #1 - 통신할 상대방 찾기

박효신

저요 !Approach 2. Broadcasting (e.g., Gnutella)

Issues Related to Peer-to-Peer Approach

Q1. 전체 사용자 풀에서 어떻게 통신 대상을 찾아낼 것인가 ?

Page 34: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #1 - 통신할 상대방 찾기

박효신

저요 !Approach 2. Broadcasting (e.g., Gnutella)

Issues Related to Peer-to-Peer Approach

Q1. 전체 사용자 풀에서 어떻게 통신 대상을 찾아낼 것인가 ?

Page 35: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #1 - 통신할 상대방 찾기

Approach 2. Broadcasting (e.g., Gnutella)

Issues Related to Peer-to-Peer Approach

Q1. 전체 사용자 풀에서 어떻게 통신 대상을 찾아낼 것인가 ?

Page 36: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #1 - 통신할 상대방 찾기

박효신

Approach 2. Broadcasting

Pros: Simplicity (별도의 state 관리가 필요없음 ) Cons: Query storms ( 사용자는 모든 쿼리를 다 받는다 )

Issues Related to Peer-to-Peer Approach

Q1. 전체 사용자 풀에서 어떻게 통신 대상을 찾아낼 것인가 ?

Page 37: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #1 - 통신할 상대방 찾기

Approach 3. Cascaded directory

Approach 4. Distributed Hash Table (DHT)

Issues Related to Peer-to-Peer Approach

Q1. 전체 사용자 풀에서 어떻게 통신 대상을 찾아낼 것인가 ?

Page 38: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #2 – Churn 처리

Q2. 사용자 풀 변화에도 어떻게 계속 통신할 것인가 ? Case 1: 중간 노드가 죽었다면 ?

박효신

저요 !

?

Issues Related to Peer-to-Peer Approach

Page 39: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #2 – Churn 처리

Case 2: 새 노드가 들어왔다면 ?

문대경

저요 ! ?

Issues Related to Peer-to-Peer Approach

Q2. 사용자 풀 변화에도 어떻게 계속 통신할 것인가 ?

Page 40: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #2 – Churn 처리

문대경

저요 ! ?

Churn 처리는 결국 state 관리를 의미한다 .

Churn 의 영향을 줄이기 위해서는 가급적 적은 state 만 관리해야 된다 .

그러나 discovery 속도를 올리기 위해서는 가급적 많은 state 가 유리하다 .

따라서 churn 처리와 discovery 성능 둘을 동시에 만족시키는 것은 매우 어렵다 .

Issues Related to Peer-to-Peer Approach

Q2. 사용자 풀 변화에도 어떻게 계속 통신할 것인가 ?

Page 41: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #3 – 치팅 방지하기

Q3. 이기적인 사용자가 있는 경우 어떻게 할까 ?

Issues Related to Peer-to-Peer Approach

Page 42: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #3 – 치팅 방지하기

P2P 는 품앗이 방식으로 동작한다 . 따라서 모든 사용자가 이기적으로 행동할 경우

service collapse 가 발생한다 . 이기적인 행동을 제재하거나

정당하게 행동하도록 동기부여가 필요하다 .

그런데 어떻게 ? -_-

Issues Related to Peer-to-Peer Approach

Q3. 이기적인 사용자가 있는 경우 어떻게 할까 ?

Page 43: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #3 – 치팅 방지하기

P2P 는 품앗이 방식으로 동작한다 . 따라서 모든 사용자가 이기적으로 행동할 경우

service collapse 가 발생한다 . 이기적인 행동을 제재하거나

정당하게 행동하도록 동기부여가 필요하다 .

그런데 어떻게 ? -_-

Issues Related to Peer-to-Peer Approach

Q3. 이기적인 사용자가 있는 경우 어떻게 할까 ?

Page 44: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #3 – 치팅 방지하기

P2P 는 품앗이 방식으로 동작한다 . 따라서 모든 사용자가 이기적으로 행동할 경우

service collapse 가 발생한다 . 이기적인 행동을 제재하거나

정당하게 행동하도록 동기부여가 필요하다 .

그런데 어떻게 ? -_-

Issues Related to Peer-to-Peer Approach

Q3. 이기적인 사용자가 있는 경우 어떻게 할까 ?

Page 45: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Q4. 사용자간 연결은 어떻게 보장하나 ?

Page 46: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Q4. 사용자간 연결은 어떻게 보장하나 ?

IPv4 주소는 32bit 를 사용하므로 2^32 = 약 40 억개만 사용 가능하다 .

Page 47: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Q4. 사용자간 연결은 어떻게 보장하나 ? 128bit 주소 체계인 IPv6 도입이 지지부진한 틈을 타 NAT 장비를 통한 “사설 IP” 가 일반화됨

그리고 NAT 는 외부에서의 선진입을 허용하지 않는다 .

이미지 출처 : iptime

Page 48: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Q4. 사용자간 연결은 어떻게 보장하나 ? 128bit 주소 체계인 IPv6 도입이 지지부진한 틈을 타 NAT 장비를 통한 “사설 IP” 가 일반화됨

그리고 NAT 는 외부에서의 선진입을 허용하지 않음

이미지 출처 : iptime

Page 49: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Hole Punching: NAT 에 구멍 뚫기

이미지 출처 : iconfinder.com

클라 A 클라 BNAT ( 공유기 )

Page 50: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Hole Punching: NAT 에 구멍 뚫기

이미지 출처 : iconfinder.com

클라 A 클라 BNAT ( 공유기 )

NAT traversal server(E.g., STUN)

Page 51: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Hole Punching: NAT 에 구멍 뚫기

이미지 출처 : iconfinder.com

클라 A 클라 B사설 IP

공인 IP

NAT ( 공유기 )

NAT traversal server(E.g., STUN)

Page 52: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Hole Punching: NAT 에 구멍 뚫기

이미지 출처 : iconfinder.com

클라 A 클라 B사설 IP

공인 IP

NAT ( 공유기 )

NAT traversal server(E.g., STUN)

Page 53: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Hole Punching: NAT 에 구멍 뚫기

이미지 출처 : iconfinder.com

클라 A 클라 B사설 IP

공인 IP

NAT ( 공유기 )

NAT traversal server(E.g., STUN)

① 외부로 나갈 때 사설 IP, port 가 공인 IP, port 로 변환됨

Page 54: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Hole Punching: NAT 에 구멍 뚫기

이미지 출처 : iconfinder.com

클라 A 클라 B사설 IP

공인 IP

NAT ( 공유기 )

NAT traversal server(E.g., STUN) A 공인 IP, port 기록

② 디렉토리 서버는 패킷으로부터 A 의 공인 IP, port 기록

Page 55: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Hole Punching: NAT 에 구멍 뚫기

이미지 출처 : iconfinder.com

클라 A 클라 B사설 IP

공인 IP

NAT ( 공유기 )

NAT traversal server(E.g., STUN) A 공인 IP, port 기록

③ B 는 디렉토리 서버에서 A 의 공인 IP, port 파악

Page 56: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Hole Punching: NAT 에 구멍 뚫기

이미지 출처 : iconfinder.com

클라 A 클라 B사설 IP

공인 IP

NAT ( 공유기 )

NAT traversal server(E.g., STUN) A 공인 IP, port 기록

④ B 는 A 의 공인 IP, port 로 접속

Page 57: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

NAT 의 문제 : 표준이 없음

Page 58: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

이미지 출처 : iconfinder.com

클라 A 클라 B사설 IP

공인 IP

NAT ( 공유기 )

NAT traversal server(E.g., STUN)

① 외부로 나갈 때 사설 IP, port 가 공인 IP, port 로 변환됨

NAT 의 문제 : 표준이 없음

Page 59: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Full cone NAT

Address-restricted conn NAT

Port-restricted conn NAT

Symmetric NAT

NAT 의 문제 : 표준이 없음

Page 60: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 P2P 연구의 난제 #4 – 연결 보장하기Issues Related to Peer-to-Peer Approach

Full cone NAT

Address-restricted conn NAT

Port-restricted conn NAT

Symmetric NAT모두 각각의 NAT 뒤에있을 때 P2P 통신 불가

NAT 의 문제 : 표준이 없음

Page 61: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 Issues Related to Peer-to-Peer Approach

둘 다 NAT 뒤에 있으면 랑데부 방식의 릴레이 서버를 이용한다

클라 A 클라 B

NAT ( 공유기 )

릴레이 서버 (e.g., TURN)

NAT ( 공유기 )

P2P 관련 잘못된 믿음 #3

Page 62: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 Issues Related to Peer-to-Peer Approach

둘 다 NAT 뒤에 있으면 랑데부 방식의 릴레이 서버를 이용한다

P2P 관련 잘못된 믿음 #3

① 동작

② 판정

③ 결과전송③ 결과전송

클라이언트 클라이언트

게임 서버

① 동작

② 판정

③ 결과전송

클라이언트 클라이언트 ( 리슨 서버 )

게임 서버

① 동작 ② 전달 ( 동작 )

③ 판정③ 전달 ( 결과 )④ 결과 전송

클라이언트 클라이언트 ( 리슨 서버 )

릴레이 서버

1. 클라이언트 - 서버 모델 2. 직접 통신 가능한 P2P 모델 3. 릴레이를 통하는 P2P 모델

Page 63: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 Peer-to-Peer 요약

→ 참여자간 품앗이

Issues Related to Peer-to-Peer Approach

Page 64: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 Peer-to-Peer 요약

→ 참여자간 품앗이

Pros

서버 부하 감소라는 확실한

이점

라우팅 우회라는 잠재적 이점

Issues Related to Peer-to-Peer Approach

Page 65: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

4 Peer-to-Peer 요약

→ 참여자간 품앗이

Pros

서버 부하 감소라는 확실한

이점

라우팅 우회라는 잠재적 이점

Cons

Discovery, Churn, Fairness

어려움

NAT traversal 표준의 부재

Issues Related to Peer-to-Peer Approach

Page 66: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

게임에 P2P 의 도입

상업적으로 성공한 첫 P2P 게임

Page 67: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

게임에 P2P 의 도입

BnB 클라 BnB 클라

BnB 서버

① P2P 가능 시 이동 패킷 전송

① 검증용으로 서버에도 전송

② 검증

③ 위치 보정에 참고

Page 68: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

PC 온라인 게임과 모바일 게임의 네트워크적 가정의 차이

PC 온라인 게임 모바일 게임

동작 환경 유선 초고속 인터넷 3G/LTE 모바일 망WiFi

연결 안정성 끊김 드묾망 간 이동에 따른끊김 빈번

대역폭 xDSL, FTTH, Giga lan 3G, LTE

딜레이 < 100 msec RTT 왔다갔다하는 RTT (jit -ter)

NAT 제약 저가 가정용 공유기 고가 이통사 장비

Page 69: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

PC 온라인 게임 모바일 게임

동작 환경 유선 초고속 인터넷 3G/LTE 모바일 망WiFi

연결 안정성 끊김 드묾망 간 이동에 따른끊김 빈번

대역폭 xDSL, FTTH, Giga lan 3G, LTE

딜레이 < 100 msec RTT 왔다갔다하는 RTT (jit -ter)

NAT 제약 저가 가정용 공유기 고가 이통사 장비

5 Peer-to-Peer in Gaming

PC 온라인 게임과 모바일 게임의 네트워크적 가정의 차이

네트워크적 가정의 차이로 모바일에서의 P2P 게임 개발은 PC 온라인과는 크게 다름 !!보다 정확히는 모바일 망에서의 P2P 개발은 유선망과 다름을 의미

Page 70: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

PC 온라인 게임 모바일 게임

동작 환경 유선 초고속 인터넷 3G/LTE 모바일 망WiFi

연결 안정성 끊김 드묾망 간 이동에 따른끊김 빈번

대역폭 xDSL, FTTH, Giga lan 3G, LTE

딜레이 < 100 msec RTT 왔다갔다하는 RTT (jit -ter)

NAT 제약 저가 가정용 공유기 고가 이통사 장비

5 Peer-to-Peer in Gaming

PC 온라인 게임과 모바일 게임의 네트워크적 가정의 차이

네트워크적 가정의 차이로 모바일에서의 P2P 게임 개발은 PC 온라인과는 크게 다름 !!보다 정확히는 모바일 망에서의 P2P 개발은 유선망과 다름을 의미

Page 71: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

유선 환경에서의 P2P 대응

룸 - 로비 방식의 게임에 주로 사용됨따라서 discovery 는 결국 matchmaking 과 동일함이 부분만 directory service 를 이용하는 client-server 모델을 주로 활용

Discovery

Page 72: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

유선 환경에서의 P2P 대응

룸 - 로비 방식의 게임에 주로 사용됨따라서 discovery 는 결국 matchmaking 과 동일함이 부분만 directory service 를 이용하는 client-server 모델을 주로 활용

유선 네트워크는 연결이 끊기는 일이 거의 없음따라서 갑자기 나가는 경우에 대한 처리는 방폭 형태로 처리만들어진 방에 난입하는 기획이 아닌 한 갑자기 들어올 수도 없음

Discovery

Churn

Page 73: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

유선 환경에서의 P2P 대응

룸 - 로비 방식의 게임에 주로 사용됨따라서 discovery 는 결국 matchmaking 과 동일함이 부분만 directory service 를 이용하는 client-server 모델을 주로 활용

유선 네트워크는 연결이 끊기는 일이 거의 없음따라서 갑자기 나가는 경우에 대한 처리는 방폭 형태로 처리만들어진 방에 난입하는 기획이 아닌 한 갑자기 들어올 수도 없음

사용자가 치팅을 하지 않도록 유도하는 것은 불가능함그러나 안정적인 유선 네트워크 특성상 작은 이상 행동도 확인 가능

Discovery

Churn

Fairness

Page 74: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

유선 환경에서의 P2P 대응

룸 - 로비 방식의 게임에 주로 사용됨따라서 discovery 는 결국 matchmaking 과 동일함이 부분만 directory service 를 이용하는 client-server 모델을 주로 활용

유선 네트워크는 연결이 끊기는 일이 거의 없음따라서 갑자기 나가는 경우에 대한 처리는 방폭 형태로 처리만들어진 방에 난입하는 기획이 아닌 한 갑자기 들어올 수도 없음

사용자가 치팅을 하지 않도록 유도하는 것은 불가능함그러나 안정적인 유선 네트워크 특성상 작은 이상 행동도 확인 가능

가정용 공유기의 NAT 구현은 복잡도가 크지 않음

Discovery

Churn

Fairness

NAT Traversal

Page 75: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

모바일 망 환경에서의 P2P 대응

유선 환경과 마찬가지로 , 룸 - 로비 방식의 게임에 주로 사용됨Discovery

Page 76: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

모바일 망 환경에서의 P2P 대응

유선 환경과 마찬가지로 , 룸 - 로비 방식의 게임에 주로 사용됨

수시로 네트워크 단절 가능따라서 유선처럼 방폭 형태로 처리할 경우 게임 진행 불가서버 역할의 클라 단절에 대비한 state replication 필요그러나 게임처럼 딜레이에 민감한 응용에서 이는 어려움

Discovery

Churn

Page 77: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

모바일 망 환경에서의 P2P 대응

유선 환경과 마찬가지로 , 룸 - 로비 방식의 게임에 주로 사용됨

수시로 네트워크 단절 가능따라서 유선처럼 방폭 형태로 처리할 경우 게임 진행 불가서버 역할의 클라 단절에 대비한 state replication 필요그러나 게임처럼 딜레이에 민감한 응용에서 이는 어려움

모바일 망은 딜레이나 단절에 더 관대한 처리를 해야 되는데 ,이 틈을 이용해 치팅이 가능해짐

Discovery

Churn

Fairness

Page 78: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

5 Peer-to-Peer in Gaming

모바일 망 환경에서의 P2P 대응

유선 환경과 마찬가지로 , 룸 - 로비 방식의 게임에 주로 사용됨

수시로 네트워크 단절 가능따라서 유선처럼 방폭 형태로 처리할 경우 게임 진행 불가서버 역할의 클라 단절에 대비한 state replication 필요그러나 게임처럼 딜레이에 민감한 응용에서 이는 어려움

모바일 망은 딜레이나 단절에 더 관대한 처리를 해야 되는데 ,이 틈을 이용해 치팅이 가능해짐

이통사는 주파수 자원의 효율적 운용을 위해 더욱 복잡한 NAT 를 사용기존의 홀펀칭으로는 NAT 극복 불가능랑데부 방식의 릴레이 사용은 추가적인 딜레이를 유발

Discovery

Churn

Fairness

NAT Traversal

Page 79: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

6 Summary

결론

P2P 는 파일 공유에서 일반적으로 활용된 기법

부하 분산이라는 강력한 특성을 가지고 있음

라우팅 우회라는 특성 덕분에 overlay 등의 네트워크 응용에 활용

게임에서도 이런 네트워크적 특성때문에 도입

그러나 P2P 가 반드시 빠른 연결을 보장하지는 않음

또한 모바일 망 환경에서 P2P 게임 구현은 힘듦

Page 80: PC 와 모바일에서의 P2P 게임 구현에서의 차이점 비교

감사합니다아이펀팩토리

문대경