일단 말씀하신 부분이 맞긴 합니다.
그런데 조금 잘못 이해를 하시는건지 제가 글을 이해 못한건지 모르겠는데
일반적으로 게임에서 사용하는 DB에 클라이언트가 직접 접속해서는 안됩니다.
즉 DB의 데이터는 클라이언트를 위한것들이지만 이의 직접적인 사용은
같은 네트웍의 다른 게임 서버들이지요.
그래서 공유기 밖에서 공인IP로 접속해올경우 특정IP/특정포트의 게임서버로
포워딩하도록 해야 하겠죠. 그리고 만약 DB에 담겨진 Data가 필요하다면
클라이언트가 게임서버에게 요청 -> 게임서버가 요청을 받아 DB서버로부터 Data를 읽어
게임서버가 다시 요청한 클라이언트에게 패킷을 날려주는 식입니다.
즉, 공유기를 방화벽이라 생각하고 클라이언트에게 직접 접속을 받는 서버 외에는
사설IP만 사용함으로서 외부로부터의 접근을 통제할수 있겠죠. 실질적으로 셋팅해줄
부분도 공유기에서 직접 접속을 받는 게임서버로 IP/포트 포워딩정도만 하시면 될겁니다.
그리고 4개의 파트로 각각 프로그램을 나누셨다고 했는데 프로그램을 나누면
전체 리소스는 더 차지 합니다. 하다못해 서버 프로그램을 1개로 만들었을때는
필요없을 통신처리 / 서버간 동기화/ 컨텍스트 스위칭등이 4개로 나누면 그 4개의
서버들이 수시로 통신을 해야하고 Data 동기화도 해야하는등 이 4개를 다 합친후
점유하는 자원이 하나로 합쳐진 서버프로그램보다 많습니다.
즉 서버프로그램 하나가 4라면 이걸 분산시켜서 4개로 나누는경우는
1.1+1.1+1.1+1.1 해서 4.4가 되는거죠.
서버를 나누는 이유는 리소스를 줄이는게 아니라 하드웨어 1대는 한계가 있으니 이의
부하 분산이 가장 큰 목적입니다.
실질적으로 코딩의 양도 늘어나고 골머리 아픈일들이 많죠.
그렇기 때문에 공부차원에서 하시는거라면 이렇게 나눠서 하시는게 좋겠지만 실제
서비스를 하시는거고 (비록 공짜로 서비스 한다 하더라도) 구비한 하드웨어 수량/스펙이 제한되어 있고 서버도 처음 만들어보시는거라면 게임서버/DB서버 정도로만 나누는게
좋을것 같습니다.
>아래에 질의에 답변 감사합니다.
>운영체제는 윈엑스피 와 위이천서버 입니다.
>각각의 피시에 운영합니다. 즉 디비는 엑스피쪽에서 게임서버(실행프로그램)는
>윈도우이천입니다. 그렇다면 제가 궁금한것은 외부의 유저가 게임서버로 접근할때
>윈도우이천으로 접속을 하는것인지요? 그렇다면 윈도우이천에서는 엑스피의
>디비만을 불러들여 운여한다는 것인지요?.. 이유인즉 각각의 아이피가 없다보니
>한개의 아이피로 내부 공유기를 사용하여 디엠제트(DMZ)를 설정하여 갑(엑스피)
>을(윈서버이천)으로 구분하여 갑에는 192.168.1.10 그리고 을에는 192.168.1.20
>을 주었습니다. 즉 192.168.1.10에는 디비를 운영(MSSQL)하고 192.168.1.20에서는
>게임실행프로그램을 사용합니다. 그렇다면 외부유저가 게임서버에 접근을하면
>공인아이피접근 하면 192.168.1.20으로 연결이될것이고 이에 다시 192.168.1.20서버는
>디비서버 192.168.1.10으로 접근하여 디비확인후 데이터값을 유저에게 전해주는
>것인가요?.. 그럼 다시정리하면 공인아이피가 111.111.111.111이면 외부유저는
>클라이언트 파일로 111.111.111.111에 접근하면 이에 192.168.1.20(게임서버)가
>작동하여 192.168.1.10(디비서버)로 신호를 보내고 확인후 다시 디비서버는 192.168.1.20
>(게임서버)에게 데이터를 보내는 것인지요?.. 이에 궁금해서 문의드립니다.
>현재 디비는 분할하여 운영하려 합니다. 그럼 (자동아이피포워딩은 =DMZ)는
>게임서버에 공유기에서 세팅해주고 게임서버는 디비서버로 아이피를 포워딩해주고
>다시 디비서버는 게임서버로 아이피를 포워딩해주는 것인지요?.. 앞전에는
>둘다 공인아이피로 111.111.111.111로 해주니까 접속이 안되고 해서 문의드립니다.
>실패한후 다시 둘다 내부 아이피를 이용해 한쪽에 디비+게임서버를 하고 한쪽은
>내부아이피를 이용한 클라이언트 파일로 접속을 하니 게임이 되길래 그렇다면
>공인아이피와 공유기내아이피(사설아이피) 포워딩은 게임서버에(공유기에서설정)서
>하고 게임서버(사설아이피)는 다시 디비서버쪽으로 설정을 해주고 디비서버는
>다시 게임서버로 해주면 되는것이겠지요?
>
> 그림 설명
> 유저
> ㅣ공인아이피
> ㅣ
> ㅣ
> (공유기설정)
> ㅣ 111.111.111.111
> ㅣ(아이피포워딩 외부공인아이피 <->공유기내사설아이피)
> ㅣ 192.168.1.20
> 게임서버 <-----> 디비서버
> 192.168.1.20 192.168.1.10
>
>
> 아렇게 해볼려고 합니다. 그래서 해보기전에 다시한번 문의드립니다.
>아참, 그리고 게임서버 실행프로그램은 총 4개로 파트를 나누어두었습니다.
>그렇다면 4개의 파트를(맵, 음악, 아이템, 통신) 각각의 피시로 해놓으면
>
>씨퓨또는 램쪽의 리소스가 많이줄어들런지요?.. 감사합니다.
짧은글 일수록 신중하게.