SlideShare a Scribd company logo
2
Most read
3
Most read
5
Most read
게임 서버 프로그래밍
패킷핸들링, 패킷암호화
NHN NEXT
Packet Handling
• 패킷 직렬화/역직렬화
– 왜 하는가?
– 관련 라이브러리 없이 한다면 어떻게?
– 관련 라이브러리에는 어떤 것이 있는가?
• 각각의 장/단점
• Google Protobuf
– 패킷으로 활용하려면 어떻게?
• 패킷 헤더용 데이터를 삽입/추출 가능한가?
– MyPacket.proto 샘플 제공
– 게임 서버용으로 바로 쓰기에는 치명적인 단점이 있다던데!!
• 그 단점이 무엇이고 어떻게 해결 가능할까?
Diffie-Hellman 키 교환 프로토콜
• 이건 무엇이고, 게임 서버에서 어떻게 쓰이나?
• 동작 원리는?
Packet Cryptography
• 대칭키 방식의 암호화와 비대칭키 방식의 암호화
– 개념과 동작 원리
– 각각 게임 서버에서 어떻게 쓰일까?
• 스트림 방식의 암호화란?
– 개념은?
– 왜 사용?
– RC4, AES256의 경우 C++에서 사용 방법
끝
• 구현과제
– Google protobuf를 활용한 패킷 핸들링
• https://github.com/zeliard/GSP/tree/master/Homework7
– 암호화 구현 과제 (추가 보너스)
• DH로 서버-클라이언트간 키를 교환하고 RC4로 패킷 암호화
• 덤프분석 과제 #2
– https://github.com/zeliard/GSP/tree/master/CrashDumpFixHom
ework

More Related Content

PDF
NDC12_Lockless게임서버설계와구현
PDF
MMOG Server-Side 충돌 및 이동처리 설계와 구현
PPTX
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
PDF
Windows Registered I/O (RIO) vs IOCP
PDF
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
PDF
실시간 게임 서버 최적화 전략
PDF
임태현, MMO 서버 개발 포스트 모템, NDC2012
PDF
덤프 파일을 통한 사후 디버깅 실용 테크닉 NDC2012
NDC12_Lockless게임서버설계와구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
Windows Registered I/O (RIO) vs IOCP
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
실시간 게임 서버 최적화 전략
임태현, MMO 서버 개발 포스트 모템, NDC2012
덤프 파일을 통한 사후 디버깅 실용 테크닉 NDC2012

What's hot (20)

PDF
Multiplayer Game Sync Techniques through CAP theorem
PPTX
[C++ Korea] C++ 메모리 모델과 atomic 타입 연산들
PDF
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
PDF
Iocp 기본 구조 이해
PPTX
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
PDF
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
PDF
[NDC2016] TERA 서버의 Modern C++ 활용기
PDF
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
PDF
파이썬 생존 안내서 (자막)
PDF
UE4 Garbage Collection
PDF
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
PDF
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
PDF
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
PDF
C# Game Server
PDF
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
PDF
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
PDF
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
PDF
테라로 살펴본 MMORPG의 논타겟팅 시스템
PDF
중앙 서버 없는 게임 로직
PPTX
NDC 11 자이언트 서버의 비밀
Multiplayer Game Sync Techniques through CAP theorem
[C++ Korea] C++ 메모리 모델과 atomic 타입 연산들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
Iocp 기본 구조 이해
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
게임서버프로그래밍 #0 - TCP 및 이벤트 통지모델
[NDC2016] TERA 서버의 Modern C++ 활용기
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
파이썬 생존 안내서 (자막)
UE4 Garbage Collection
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
C# Game Server
이무림, Enum의 Boxing을 어찌할꼬? 편리하고 성능좋게 Enum 사용하기, NDC2019
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
테라로 살펴본 MMORPG의 논타겟팅 시스템
중앙 서버 없는 게임 로직
NDC 11 자이언트 서버의 비밀
Ad

More from Seungmo Koo (20)

PDF
Understanding Tech Debt
PDF
게임서버프로그래밍 #8 - 성능 평가
PDF
게임서버프로그래밍 #6 - 예외처리 및 로깅
PDF
게임서버프로그래밍 #5 - 데이터베이스 핸들링
PDF
게임서버프로그래밍 #4 - 멀티스레드 프로그래밍
PDF
게임서버프로그래밍 #3 - 메모리 및 오브젝트 풀링
PDF
게임서버프로그래밍 #2 - IOCP Adv
PDF
게임서버프로그래밍 #1 - IOCP
PDF
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
PDF
NHN NEXT 2014년도 게임트랙 소개
PDF
게임제작개론 : #0 과목소개
PDF
Windows IOCP vs Linux EPOLL Performance Comparison
PDF
게임제작개론 : #9 라이브 서비스
PDF
게임제작개론 : #8 게임 제작 프로세스
PDF
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
PDF
게임제작개론 : #6 게임 시스템 구조에 대한 이해
PDF
게임제작개론 : #5 플레이어에 대한 이해
PDF
게임제작개론 : #4 게임 밸런싱
PDF
게임제작개론: #3 간접통제와 게임 커뮤니티
PDF
게임제작개론: #2 세부 디자인 요소
Understanding Tech Debt
게임서버프로그래밍 #8 - 성능 평가
게임서버프로그래밍 #6 - 예외처리 및 로깅
게임서버프로그래밍 #5 - 데이터베이스 핸들링
게임서버프로그래밍 #4 - 멀티스레드 프로그래밍
게임서버프로그래밍 #3 - 메모리 및 오브젝트 풀링
게임서버프로그래밍 #2 - IOCP Adv
게임서버프로그래밍 #1 - IOCP
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
NHN NEXT 2014년도 게임트랙 소개
게임제작개론 : #0 과목소개
Windows IOCP vs Linux EPOLL Performance Comparison
게임제작개론 : #9 라이브 서비스
게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #5 플레이어에 대한 이해
게임제작개론 : #4 게임 밸런싱
게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #2 세부 디자인 요소
Ad

게임서버프로그래밍 #7 - 패킷핸들링 및 암호화

  • 2. Packet Handling • 패킷 직렬화/역직렬화 – 왜 하는가? – 관련 라이브러리 없이 한다면 어떻게? – 관련 라이브러리에는 어떤 것이 있는가? • 각각의 장/단점 • Google Protobuf – 패킷으로 활용하려면 어떻게? • 패킷 헤더용 데이터를 삽입/추출 가능한가? – MyPacket.proto 샘플 제공 – 게임 서버용으로 바로 쓰기에는 치명적인 단점이 있다던데!! • 그 단점이 무엇이고 어떻게 해결 가능할까?
  • 3. Diffie-Hellman 키 교환 프로토콜 • 이건 무엇이고, 게임 서버에서 어떻게 쓰이나? • 동작 원리는?
  • 4. Packet Cryptography • 대칭키 방식의 암호화와 비대칭키 방식의 암호화 – 개념과 동작 원리 – 각각 게임 서버에서 어떻게 쓰일까? • 스트림 방식의 암호화란? – 개념은? – 왜 사용? – RC4, AES256의 경우 C++에서 사용 방법
  • 5. 끝 • 구현과제 – Google protobuf를 활용한 패킷 핸들링 • https://github.com/zeliard/GSP/tree/master/Homework7 – 암호화 구현 과제 (추가 보너스) • DH로 서버-클라이언트간 키를 교환하고 RC4로 패킷 암호화 • 덤프분석 과제 #2 – https://github.com/zeliard/GSP/tree/master/CrashDumpFixHom ework