출처 : http://blog.naver.com/newcbs/40003099792
1 관련 서적 #
- Network Programming for Microsoft Windows 2판 - Win32 소켓 프로그래밍을 하실려면 꼭 가지고 있어야할 바이블입니다. 좀 비쌉니다. T_T;
- TCP/IP 소켓 프로그래밍 (C버전) - 소켓 프로그래밍을 처음 시작하시는 분들은 필독서입니다. UNIX/Win32겸용예제입니다만 다소 UNIX쪽에 치중한 면이 있습니다.
2 helper 툴 #
- tcpview - 현재 시스템이 떠있는 모든 TCP/UDP 포트와 그 포트를 연 프로그램 목록을 실시간으로 보여줍니다. win32 전용. 공짜.
- tdimon - 현재 시스템의 모든 TCP/UDP 입출력 상황을 실시간으로 보여줍니다. win32전용. 공짜.
2.1 웹부하 특정용 #
- http://www.joedog.org/siege/index.php - http 프로토콜 기반의 반복 부하테스트 툴.
- http://builder.com.com/5100-6371-5171727.html - zdnet 소개기사
- http://builder.com.com/5100-6371-5171727.html - zdnet 소개기사
3 라이브러리 #
- libnet 이야기 - 멀티플렛폼 패킷 조립용 라이브러리. 오픈소스.
- libpcap 이야기 - 패킷 캡쳐 라이브러리. 오픈소스. libnet과 같이 쓰면 꽤 저급수준의 툴제작가능.
4 링크 #
- http://www.ietf.org/internet-drafts/ - 인터넷 draft(초안)들의 모든 최신 문서들을 받을 수 있습니다. (txt 포멧) http://www.ietf.org/internet-drafts/1id-abstracts.txt과 http://www.ietf.org/internet-drafts/1id-index.txt을 다운받아 자신이 원하는 부분에 대한 문서가 어느 초안에 들어있는지를 찾아볼 수 있습니다.
- http://www.kegel.com/c10k.html - 유명한 곳이죠. 10000명 동접에 관한 글.
- http://www.private.org.il/tcpip_rl.html - TCP/IP 리소스 목록. Uri Raz라는 사람이 모아놓은 링크모음.
- http://www.pnk.co.kr/ - ICN이라는 국내 사이트입니다. 네트워크 개념 및 용어에 대한 정보와 자료, 링크 다수 존재.
- http://tt.co.kr/~antihong/ - 네트워크 서버관련 주인장 자작 논문이 있습니다. 서버관리측면에서는 괜찮은 글들입니다.
- http://tunelinux.pe.kr - 리눅스 서버 관리에 대한 막대한 링크, 자료들.
- http://dsonline.computer.org/middleware/ - 미들웨어 관련 아티클 자료들.
- http://carol.science.uva.nl/~delaat/ - Cees de Laat이라는 사람의 개인 사이트. 네트워크 및 그리드 컴퓨팅에 대한 다수 논문 존재.
5 개인 아티클 #
- BeeJ's Guide to Network Programming - 소켓 기초에 대한 간단한 개요. 번역이 잘되어있습니다. kldp에서 링크.
- Overlapped I/O 이야기 - WSARecv(), WSASend()의 사용법에 대한 이야기입니다.
- Socket Overlapped I/O Versus Blocking/Non-blocking Mode - 오버랩드 입출력과 블럭킹/넌블럭킹 모드의 차이점에 대한 아티클. MSDN에서 인용했습니다.
- CompletionPort 이야기 - CompletionPort 관련 함수들을 Winsock2와 함께 쓰는 방법을 나열했습니다.
- Writing scalable server applications using IOCP(번역) - 괜찮은 아티클입니다. 원문포함했으니 꼭 읽어보시길...
- Design Issue When Using IOCP in a Winsock Server - http://www.synczone.net에서 퍼온 글입니다.
- winsock2/WriteScalableWinsockAppsUsingCompletionPorts - MSDN 메거진에 실린글입니다. MSDN에서 퍼왔습니다.
- UDP패킷손실의특징/TCP트래픽효과
- 고성능서버디자인 - kegel.com에서 구한 링크 글 번역
6 POSIX 쓰레드에 대한 것들 #
- http://sources.redhat.com/pthreads-win32/ - Win32 상에서의 POSIX Threads 구현.
- http://www.humanfactor.com/pthreads/ - pThread에 대한 사이트.
7 state thread #
- http://state-threads.sourceforge.net/ - state thread 프로젝트 홈페이지. 아파치 서버 가속 프로젝트에 사용되었음. 상용화수준의 안정성을 가진 C 언어용 쓰레드 라이브러리.
- http://www.freebsd.org/cgi/url.cgi?ports/devel/st/pkg-descr - State thread의 ?FreeBSD Port 정보.
- State Threads Library FAQ 번역 - 이 라이브러리가 뭐지? 하는 것에 대한 대답.
8 데드레커닝 #
- 3차 베지어 곡선을 사용하여 랙 제거하기 - gamedev.net 아티클 번역.
- VariationOfDeadReckoning - T_T 애니Gif까지 들어간 감동의 아티클. 보시면 압니다. 정말 잘 만들었음.
- 데드레커닝/네트워크게임에서지연을숨기기 - gamastra 아티클 번역.
9 multiplexer #
9.1 epoll #
- 어떤 분이 UNIX 기반에서 대용량 서버구성에 좋다는 얘기를 해주셔서 정리해둡니다. (symlink_at_naver.com님께 감사~) 리눅스와 같은 UNIX계열에서는 쓸만한 multiplexer죠. api도 간단.
- 리눅스에서는 커널 2.6부터 사용하는 것이 좋다고 되어있습니다. man page에는 2.5.22이후부터 인터페이스를 확정했다고 되어있네요.
- ACE에서는 ACE_Dev_Poll_Reactor 구현을 통해서 사용할 수 있습니다. -> 버그가 있는지 동작하지 않습니다. 아무래도 /dev/epoll이 된이후 해당 코드의 업데이트가 없었던 모양입니다.
- http://www.xmailserver.org/linux-patches/nio-improve.html - /dev/epoll 홈페이지.
- http://epoll.hackerdojo.com/ - 또다른 /dev/epoll 페이지. 사용법이 더 간략하게 요약되어있다.
- 최신 man page : http://www.xmailserver.org/linux-patches/epoll.txt http://www.xmailserver.org/linux-patches/epoll_create.txt http://www.xmailserver.org/linux-patches/epoll_ctl.txt http://www.xmailserver.org/linux-patches/epoll_wait.txt
- http://lse.sourceforge.net/epoll/index.html - /dev/epoll, /dev/poll, sys_epoll 간의 성능비교.
- 한컴리눅스가 커널 2.6을 탑재하고 있군요! 물론 epoll도 설치되어있습니다. 하지만 /dev에 추가되어있지 않으므로 다음과 같이 해서 추가해주면 사용가능합니다.
$ mknod /dev/epoll c 10 124
- http://www.joinc.co.kr/modules/moniwiki/wiki.php/epoll - epoll에 대한 간단한 번역 및 한글 설명.
9.2 kpoll #
- 커널 2.4부터 패치된 멀티플렉서. 커널수준 poll 장치.
- 홈페이지 : http://www.synapse.se/kpoll/
9.3 라이브러리 #
- libevent 이야기 - 이식가능한 멀티플렉서 C 라이브러리. 알게모르게 많이 사용되는 듯 보이며, kqueue를 지원하므로 freebsd에서도 괜찮은 성능을 보일거라 생각됨. /dev/epoll 지원.
- http://liboop.org/ - liboop. POSIX기반의 운영체계를 위한 하위 수준의 이벤트 루프 관리용 C 라이브러리.
10 기타등등 #
- http://www.gamedev.net/reference/list.asp?categoryid=30 - GameDev닷넷에서 MultiPlayer & Networking에 관련된 아티클 목록
- Unreal Networking Architecture - 언리얼 엔진에서 사용된 서버-클라이언트 구조에 대한 글입니다.
- GDC 2001: 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond
- Half-Life and TeamFortress Networking: Closing the Loop on Scalable Network Gaming Backend Services
- http://www.gamasutra.com/resource_guide/20020916/hallenberg_pfv.htm - Of Internet Servers and SQL Databases: Designing the Backend for Power and Performance
- http://www.gamasutra.com/features/20000621/aronson_pfv.htm - Using Groupings for Networked Gaming.
- http://www.gamasutra.com/features/19970905/ng_01.htm - Designing Fast-Action Games For The Internet
- http://www.gamedev.net/reference/articles/article712.asp - 랙에 대한 이야기
- http://www.gamasutra.com/features/20000724/pritchard_pfv.htm - How to Hurt the Hackers: The Scoop on Internet Cheating and How You Can Combat It
- http://www.gamasutra.com/resource_guide/20020916/hallenberg_pfv.htm - Of Internet Servers and SQL Databases : Designing the Backend for Power and Performance
- 온라인게임 개론 - www.gameis.org에서 퍼온 글입니다. 원래 이런 내용은 아니지만 약간 각색해봅니다.
- 멀티플레이어 게임개발자 FAQ <- 짬짬히 손보고 있는중...-_-a
- 네트워크상에서 플레이어가 같은 데이터를 얻는 방법 - 윈도우즈 전략시뮬만들기 책에서 퍼온 글. 약간 각색중.
- 인터넷에서의 빠른 액션 게임 디자인하기 - imays라는 아이디를 가지신 분의 홈페이지 링크입니다. 무단입니다. -_-a 읽으시고 그분 홈피에 번역에 대한 감사글이라도 적어주시길...
- http://www.cubicmetercrystal.com/alpine/ - ALPINE이라는 LGPL기반의 공개 P2P 프로토콜. DTCP라는 고유의 기반 프로토콜 사용.
- http://opennap.sourceforge.net/ - 오픈소스 냅스터 프로젝트.
- http://edu.hackerslab.com/home/html/temp/movie.htm - "패킷의 여행"이라는 영화. 네트워크 개념을 익히는데 정말 좋은 내용을 담고 있음. ^^;
- http://www.lcscanada.com/muscle/ - MUSCLE 이라는 공개 클라이언트/서버기반의 메세징 시스템. 약간의 C++ 클래스 상속으로 냅스터나 P2P 스타일의 게임을 만들수 있는 놀라운 엔진.
- http://www.kegel.com/c10k.html - 10000명 접속에 대한 문제를 논의한 사이트. 유명한 곳.
- http://tangentsoft.net/wskfaq/ - Winsock Programming FAQ
- http://www.gnucleus.net/ - Win32기반의 오픈소스 napster-like 컴퍼넌트 및 클라이언트. 프로토콜을 맘대로 조정할 수 있다는 점이 특징.
- http://lgdc.sunsite.dk/articles/22.html - CPU 속도와 상관없는 게임 월드 만들기. 타이머 이야기입니다.
- http://imays.pe.kr:41414/moin/iwiki/moin.cgi/DistributedGameServers - 배현직님의 네트워크개발위키에서 분산게임서버에 대한 경험을 적은 글입니다.
11 broadcast #
- spread 이야기 - 패킷 브로드캐스팅 환경을 제공하는 공개 데몬 프로그램. 아주 사용하기 쉬운 C API 제공. 같은 LAN상의 게임서버간 데이타 동기화에 어울릴만한 솔루션.
12 multicast #
- 게이트웨이나 라우터의 지원이 필요하다는 것을 제외하고는 계속 지켜봐야하는 분야.
- MCL 라이브러리 - MBONE 기반의 오픈소스 멀티캐스트 라이브러리. API 구조가 매우 간결하다.
- http://www.merit.edu/~mbone/index/titles.html - MBONE 기반의 소프트웨어 링크 모음.
- http://andrew.triumf.ca/pub/linux/multicast-FAQ - 리눅스 멀티케스트 FAQ.
12.1 프로토콜 #
- http://www1.bell-labs.com/project/rmtp/ - Reliable Multicast Transport Protocol.
- http://www.nard.org/~tmont/rm-links.html - Reliable Multicast 링크.
- http://www.icir.org/floyd/srm.html - Scalable Reliable Multicast.
13 VPN #
- http://www.pnk.co.kr/tech/network/vpn/1.html - VPN이 뭘까?
- http://www.netbsd.org/Documentation/network/ipsec/ - netbsd의 ipsec FAQ
- http://www.openbsd.org/faq/faq13.html - openbsd의 ipsec 설명.
14 Grid computing #
- http://www.gridforum.org/ - Global Grid Forum. Grid 컴퓨팅에 대한 자료가 많이 올라오는 곳.
- http://www.globus.org/ - globus project. Grid 서비스 구조를 오픈소스로 진행하고자하는 프로젝트.
- http://www.casa-sotomayor.net/gt3-tutorial/index.html - Globus Toolkit 3 프로그래머's 튜토리얼. (레이옷님 홈피에서 슬쩍~)
- http://www.casa-sotomayor.net/gt3-tutorial/index.html - Globus Toolkit 3 프로그래머's 튜토리얼. (레이옷님 홈피에서 슬쩍~)
15 QoS #
- Quality of service의 약어로 사용자 또는 어플리케이션에 대해 중요도에 따라 서비스 수준을 차등화하여 한정된 WAN 대역폭에서 트래픽과 대역폭을 정책적으로 관리하는 제반 기술 및 개념을 말합니다. ACE에 관련 클래스를 제공하고 있는데 이에 대한 내용을 찾아보다가 관련링크를 올립니다.
- 보통 고가의 라우터, 게이트웨이 솔루션도 많지만 ACE에서는 소프트웨어적으로 서버에 qos 기능을 첨가할 수 있는 AQOSA라는 API를 제공하더군요. ACE를 사용한 서버제작시 대역폭 제어에 활용할 수 있을 듯...
- http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/qos.htm - 시스코에 있는 QoS에 대한 설명글.
- http://www.taskqos.com/kor/technology/qos.html - 한글로된 qos에 대한 설명.
- http://msdn.microsoft.com/msdnmag/issues/01/04/qos/default.aspx - GQOS(Generic Quality Of Service)에 대한 설명.
16 codewhore 번역물 #
- 괜찮은 네트워크 및 게임 제작에 대한 아티클이 모여있는 곳입니다.
- codewhoreHOWTO/네트워크시간을동기화하기
17 P2P와 NAT #
- http://www.junglemonkey.net/emcast/ - emcast. 멀티케스트 통신을 원하는 분산?/P2P 어플리케이션을 위한 툴킷. API가 상당히 간결하다.
- http://www.junglemonkey.net/ - 공개 화일 공유 프로그램.
- http://www.infoanarchy.org/wiki/ - P2P 프로토콜에 대한 방대한 자료를 담고 있는 위키. (본래 infoanarchy자체가 뉴스전달을 위한 P2P시스템이군요)
- http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/winxppro/maintain/Teredo.asp - teredo라고 하는 P2P 릴레이 서버에 대한 글. unicast UDP 기반임.
17.1 NAT 관련 #
- NAT뒤에 있는 클라이언트들끼리 UDP 통신을 가능하게 하는 방법에 대한 글들입니다.
- http://www.xbox.com/ko-kr/live/connect/connectivitycompatibility - Xbox live NAT 관련정책.
- NAT와 P2P - 우연히 얻은 글 번역.
- http://www.pdos.lcs.mit.edu/~baford/nat/ - P2P 통신을 위한 NAT 검사 프로그램 소스 공개. 논문 다수 있음. (http://www.extremendl.net 게시물에서 발견한 사이트입니다)
- middlebox를 경유하는 피어투피어 (P2P) 통신 - 관련 논문 번역 (http://www.extremendl.net 게시물에서 발견한 사이트입니다)
18 ipv6 #
- http://network.hanbitbook.co.kr/view_news_print.htm?serial=548 - 한빛넷의 괜찮은 아티클.
- http://www.viagenie.qc.ca/en/ipv6/quake/ipv6-quake.shtml - 공개된 퀘이크1소스를 고쳐서 ipv6에서 가능하도록 만든 소스 사이트. 2일 걸렸다네요.
19 SCTP(Stream Control Transmission Protocol) #
- 2000년도에 표준으로 지정되기 시작한 프로토콜 규약. 다중 사용자에 대한 신뢰성있는 송신을 보장하는 것이 특징. 현재 활발히 연구진행중.
- 리눅스 2.6커널에 추가되었죠. 점점 실용화되는 듯.
- http://www.tta.or.kr/Home2003/library/weeklyNewsView.jsp?news_id=308 - 정보통신부 관련 뉴스링크.
- http://www.sctp.de/sctp.html - SCTP에 대한 RFC 문서 링크등 다수의 정보모음.
20 프로토콜 문서 #
20.1 MSN 메신저 #
20.2 ICQ #
- http://www.algonet.se/~henisak/icq/icqv5.html - 버전 5
- http://www.stud.uni-karlsruhe.de/~uck4/ICQ/ - 버전 8
- http://www.d.kth.se/~d95-mih/icq/ - ICQ 프로토콜 관련 자료 모음.
20.3 gnutella #
- http://www9.limewire.com/developer/gnutella_protocol_0.4.pdf - 공식 프로토콜 스팩.
- http://capnbry.net/gnutella/protocol.php - 조금 상세한 설명.
20.4 퀘이크(비공식) #
- http://www.csse.monash.edu.au/~timf/quake.html - 퀘이크 동영상 및 네트워크 스팩에 대한 몇가지 링크가 있다.
- http://www.csse.monash.edu.au/~timf/bottim/qwspec221.txt - quakeworld 2.21 네트워크 프로토콜 스팩.
- http://www.csse.monash.edu.au/~timf/bottim/q2net/q2network-0.03.html - 퀘이크 2 프로토콜 스팩.
- http://www.richardsharpe.com/richard/ethereal/user-guide/sidquakenetworkprotocol.html http://www.ethereal.com/docs/user-guide/sidquakeiinetworkprotocol.html - ethereal 분석자료.
- http://www.gamers.org/dEngine/quake/spec/quake-spec34/qkspec_8.htm#NETP0 - 퀘이크 1 프로토콜 스팩.
- http://www.gamers.org/dEngine/quake/QDP/qnp.html - 또다른 퀘이크1 프로토콜 스팩.
20.5 unreal #
- http://unreal.epicgames.com/IpServer.htm - 공식 프로토콜 설명.
- http://unreal.student.utwente.nl/UT2003-queryspec.html - unreal 토너먼트 2003 패킷 분석자료. 일부분만 있음.
21 recording #
- 네트워크와는 조금 거리가 멀지만.. 일반적으로 패킷설계와 관련있어 넣어둡니다.
- http://www.planetquake.com/demospecs/ - 퀘이크를 비롯한 몇몇 게임의 recording 스팩들.
22 라이브러리 #
- http://www.hawksoft.com/ - HawkVoice™, HawkNL™이라는 막강 LGPL 라이센스의 네트워크 라이브러리를 베포하는 사이트.
- http://mune.will.jennings.name/ - MUNE 이라는 다중 사용자 네트워크 엔진. LGPL.
- http://www.joedog.org/libping/ - ping 측정기능 C 라이브러리.
'게임 개발' 카테고리의 다른 글
VC++ 6 에 STLport 4.6.2과 boost 1.31를 설치한 과정 (0) | 2004.07.10 |
---|---|
네트워크 프로그래밍 관련 서적 (0) | 2004.07.07 |
Win32 Portable Excutable File Format - PE File Loader v1.0.1 (0) | 2004.05.13 |
Win32 Portable Excutable File Format - PE File Loader v1.0.0 (0) | 2004.05.11 |
PE File Format (0) | 2004.04.22 |