네트워크 게임의 이해
본 자료는 6페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
해당 자료는 6페이지 까지만 미리보기를 제공합니다.
6페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

목 차

1. 네트워크 게임 시장의 현황

2. 네트워크 게임의 이론과 보안
2.1 네트워크 게임의 이론
2.2 네트워크 게임의 보안

3. 네트워크 게임의 미래

본문내용

패킷을 마구 잃거나 순서가 엉망이 되어도 무방하다는 얘기는 아니다. 신뢰성이 없는 규약인 UDP를 사용하는 만큼 문제가 생겼을 때 보정하는 코드는 반드시 필요하다. 하지만 UDP의 헤더는 매우 작아 이런 코드에 의한 부담을 고려하고도 TCP보다 효율적이다. 실례로 한 머그 게임은 플레이시 항상 한 클라이언트에 대해 두 개의 소켓을 여는 것으로 알려져 있다. 하나는 TCP 소켓으로 인증 데이터, 전달은 늦어도 괜찮지만 변형되거나 잃어버려서는 안 되는 자료를 주고받을 때 사용한다. 다른 하나는 UDP 소켓으로 열어서 앞서 언급한 동기화, 자주 전달되고 매번 오차가 보정되는 데이터를 위해서 존재한다.
. 호스트가 하는일
여기서 우선 MUG의 서버와 넷플에서 게임을 만든 컴퓨터 두 가지를 통칭해 호스트라고 부르겠다. 호스트의 종류와 성능에 따라 적용되는 기법은 여러 가지로 변하겠지만 하는 일은 대체로 비슷하다. 대개 다음과 같은 순서로 작업을 진행한다.
1 서버 소켓을 초기화한다(make socket)
2 클라이언트의 접속을 기다린다(listen)
3 클라이언트의 접속을 승인한다(accept)
4 지금 접속한 클라이언트를 위한 Daemon thread(혹은 process)를 만든다.
. Drop-In
업소에 가서 2인용 슈팅게임을 하면 요즘 게임들은 대개 플레이 도중에 난입하는 것도 가능하게 되어 있다. 그러나 스타크래프트와 같은 게임은 플레이 전에 반드시 로그인해서 같이 시작해야 하고, 일단 게임이 시작된 후에는 참가할 수 없다.
이렇게 플레이 중에 다른 플레이어를 참여시키는 형태를 Drop-In이라 한다. 넷플에서는 Drop-In을 허용하면 동기화나 클라이언트의 관리 등 여러 가지 문제가 생기기 때문에 다소 복잡해진다. 그러나 앞으로는 게임중에 참여해 플레이할 수 있는 형태의 게임도 만들어질 것이다.
2.2 네트워크 게임의 보안
네트워크게임이 증가하면서 해킹의 피해도 날로 늘어나고 있다. 따라서 보안기능의 발전도 매우 중요시 여겨지고 있다.
네트워크상에서 암호화 같은 것 도 해킹 등을 막을 수 있는 좋은 방법이다. 하지만, 그게 전부는 아니라고 봅니다.
보통의 게임 네트워크 프로토콜은 다음과 같은 계층으로 구별되어 있다.
1.게임 내용물에 대한 프로토콜
2.암호화 등 게임 보안에 대한 프로토콜
3.TCP 이하 인터넷 네트워크 계층..
1이 가장 높은 레벨이고 4가 가장 낮은 레벨이다. 게임 스펙에서의 암호화는 주로 2에 대한 보안 처리에 해당할텐데, 문제는 해커들은 2만 건드리는게 아니라 1,2,3 모두 건드린다는 데 있다.
3에 대한 보안책에 대해서는 얼마나 큰 여파가 있는지는 모르겠지만, 소문에 의하면 게임 서버가 돌아가는 운영체제 전체를 셧다운 시켜버릴수도 있다고 한다.
1에 대해 언급을 해보겠습니다.
1에 대한 보안은 어떻게 하느냐? 간단하게 말해서, "서버에서 게임을 주도하되, 클라이언트의 명령에 대해 정당성을 검토한다"입니다. 즉, 어떤 클라이언트에서 메시지를 보내면 그걸 무작정 수행하는게 아니라 그게 정당한 것인지를 검토한 다음 처리를 하는겁니다.
예를 들어보죠. 어떤 사람이 PK를 즐긴다고 칩시다. 보아하니 한국에 아주 재미있는 온라인 게임이 있는데, 거기서 최고의 PK가 되어보고 싶은 흉계를 저지르고 싶어졌습니다. 이놈은 우선 그 게임을 해보고, 프로토콜을 분석했습니다. 암호를 깨고.. 그런데, 이런 내용의 포맷을 발견했습니다.
클라이언트->서버 메시지. "상대방을 쳐서 그 자의 체력을 n으로 만들었다"
서버에서는 이 메시지에 대한 정당성을 검토하지 않는다.
서버->클라이언트 메시지. "상대방이 쳐서 자네의 체력을 n으로 만들었다"
어떨까요? 이놈은 흉계를 시작하고 얼마 못가서 그 게임은 많은 플레이어의 떼죽음으로 아비규환이 될겁니다.
단 몇분만에 모든 플레이어를 죽일 수도 있을겁니다.
그런데, 이렇게 되었다고 가정해보죠.
클라이언트->서버 메시지. "상대방을 내가 갖고 있는 칼 n로 쳤다."
서버에서는 이 메시지에 대한 정당성(1초에 몇번 친 것인가, 그 칼을 그 클라이언트가 갖고 있는가, 능력치의 증가율이 정상적인가 등)을 검토한 다음 맞으면 그 메시지에 대한 처리를 하고 그렇지 않으면 무시한다.
서버->클라이언트 메시지. "상대방이 갖고 있는 칼 n으로 날 쳤다."
그 PK는 자신의 명성을 날리기 위해서는 꽤나 고생을 할겁니다. 왜냐하면, 서버에서 뭔가 비정상적인 플레이를 발견했으테니, 그것에 대한 응징을 할테니까요.
그런데, 실제로는 PK가 그렇게 호락호락하지는 않습니다. 그 한개의 포맷 뿐만 아니라, 게임 전체에 쓰고 있는 포맷을 가능한 많이 알아낸 다음 그 '정당성을 검토하는 부분'의 헛점을 일단 발견하면, 그걸로 들쑤셔대기 때문이죠. 울티마 온라인 마저도 한때는 로드브리티쉬가 암살될 정도였다니까, 만만한게 아니겠죠?
이걸 만족하려면, 꼼꼼한 기획과 꼼꼼한 프로그래밍이 필요합니다. 그렇기에, 게임에서의 보안은, 어떤 특별한 기술이나 솔루션보다는 게임제작에 항상 물리기도 하는 문제라고 본다.
3. 네트워크 게임의 미래
끝으로 네트워크 게임의 개발 현황과 미래를 언급하자면,
우선 우리나라의 게임시장의 비중에 비해 온라인 게임의 규모는 그리 크지 않은 상황이며 아직 시장 형성이 완벽하게 이루어지지 않고 있으나, 벤쳐기업 등과 같은 게임개발 업체가 많이 생겨나고 있고 인터넷의 웹기술과 함께 이를 활용한 게임이 등장하고 있어 높은 발전 가능성을 보여주고 있다. 그리고 몇몇 신생 온라인 게임 업체들은 화려한 그래픽을 이용한 온라인 머그게임을 개발하여 곧 서비스할 예정이며 3차원 이미지를 바탕으로 온라인 게임을 개발하여 서비스를 준비하는 업체들도 생긴 만큼 곧 다양하고 수준 있는 온라인 게임을 기대해도 좋을 전망이다. 또한 네트워크 게임의 세계적인 추세를 살펴보면 점차 전략 시뮬레이션, 액션, 롤플레잉 등과 같은 게임의 구분이 사라져가며 여러 쟝르의 게임이 한 게임에 통합되어지고 3차원 입체 그래픽을 기반으로 한 가상현실 네트워크 게임의 방향으로 발전되어 가고 있으며 이로 인하여 보다 더 사실에 가까운 게임으로 발전될 전망이다.

키워드

추천자료

  • 가격2,300
  • 페이지수19페이지
  • 등록일2002.11.04
  • 저작시기2002.11
  • 파일형식한글(hwp)
  • 자료번호#210273
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니