어디서 가져왔는지는 기억이 ㅡ.ㅡ;
잘된 문서가 있어서 올립니다.
이포트를 제외하고 서버를 만들면 되는거죠.~

얼른 만들고 있는게 오픈햇으면 좋겠네요. :)by ncanis(조성준)

=======================================================================================

※P2P 프로그램이 사용하는 네트워크 포트
Service Name Protocol Port Description
당나귀
TCP 4661 서버 접근 포트(변경가능)
4662 자료 전송 포트(변경가능)
4242  
UDP 4672  
4665  
iMash TCP 5000  
BitTorrent TCP 6881  
6889  
소리바다 v.2 UDP 22321 hello message, bye message 사용 포트
7674 mp3를 검색
7675 mp3파일을 보내는 사람
WINMX TCP 6699  
UDP 6257  
Direct-Connect TCP 411-412  
UDP 411-412  
KaZaA TCP 1214  
Guntella-Morpheus TCP 6346-6347  
UDP 6346-6347  
GuRuGuRu TCP 9292  
8282  
31200  
파일 구리 TCP 9493  
Madster-Aimster TCP 23172  
9922  
HotLine TCP 5497  
5498  
5500-5503  
UDP 5499  
V-Share TCP 8404  
Maniac TCP 2000  
UDP 2010  
TCP 2222  
MiRC TCP 6667 Default
6665-6670 변경
7000  
Shareshare TCP 6399  
UDP 6777  
Bluster UDP 41170  
GoToMyPc TCP 8200  
Napster TCP 6600-6699  
4444  
5555  
6666  
7777  
8888  
8875  
※ 메신저 프로그램 사용 포트
Service Name Server Port Description
MSN
64.4.130.0/24
207.46.104.0/24
207.46.106.0/24
207.46.107.0/24
207.46.108.0/24
207.46.110.0/24
TCP 1863 ,80 1863접속 시도 후 차단 되면 80 접속 시도
TCP 6891-6900 파일 전송
UDP 6901 음성채팅
UDP1863,5190 Microsoft Network Messenger
   
Yahoo 216.136.233.152/32
216.136.233.153/32
216.136.175.144/32
216.136.224.143/32
66.163.173.203/32
216.136.233.133/32
216.136.233.148/32
66.163.173.201/32
216.136.224.213/32
TCP 5050,5101 5050 접속 시도 후 차단 되어 있으면 Port 계속 변경
   
TCP 5000-5001 음성채팅
   
   
TCP 5100 화상채팅
   
   
Nate On 203.226.253.75/32
203.226.253.135/32
203.226.253.82/32
TCP 5004-5010 기본 포트 5004-5010 접속 시도후 차단되어 있으면 Port를 계속 변경
TCP80,83,7003 웹 컨텐츠 및 문자 보내기
Daum 211.233.29.78/32 TCP 8062  
SayClub 211.233.47.20/32    
AOL   TCP 5190 AOL Instant Messenger Also used by: ICQ
UDP 4000 ICQ_locator
Dreamwize 211.39.128.236/32
211.39.128.184/32
TCP 10000  
버디버디   TCP 810  
TCP 940  
TCP 950  
케이친구   TCP 7979  
천리안   TCP 1420  
TCP4949, 8989 파일 송수신
ICQ   TCP 4000,5190  
UIN   TCP 8080  
Genile   TCP 10000  
 
※windows 시스템에 있는 포트목록
c:₩winnt₩system32₩driversetcserviecs
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This file contains port numbers for well-known services defined by IANA
#
# Format:
#
# <service name> <port number>/<protocol> [aliases...] [#<comment>]
#
echo
7/tcp
-
-
echo
7/udp
-
-
discard
9/tcp
sink null
-
discard
9/udp
sink null
-
systat
11/tcp
users
#Active users
systat
11/tcp
users
#Active users
daytime
13/tcp
   
daytime
13/udp
   
qotd
17/tcp
quote
#Quote of the day
qotd
17/udp
quote
#Quote of the day
chargen
19/tcp
ttytst source
#Character generator
chargen
19/udp
ttytst source
#Character generator
ftp-data
20/tcp
 
#FTP, data
ftp
21/tcp
 
#FTP. control
telnet
23/tcp
   
smtp
25/tcp
mail
#Simple Mail Transfer Protocol
time
37/tcp
timserver
 
time
37/udp
timserver
 
rlp
39/udp
resource
#Resource Location Protocol
nameserver
42/tcp
name
#Host Name Server
nameserver
42/udp
name
#Host Name Server
nicname
43/tcp
whois
 
domain
53/tcp
 
#Domain Name Server
domain
53/udp
 
#Domain Name Server
bootps
67/udp
dhcps
#Bootstrap Protocol Server
bootpc
68/udp
dhcpc
#Bootstrap Protocol Client
tftp
69/udp
 
#Trivial File Transfer
gopher
70/tcp
   
finger
79/tcp
   
http
80/tcp
www www-http
#World Wide Web
kerberos
88/tcp
krb5 kerberos-sec
#Kerberos
kerberos
88/udp
krb5 kerberos-sec
#Kerberos
hostname
101/tcp
hostnames
#NIC Host Name Server
iso-tsap
102/tcp
 
#ISO-TSAP Class 0
rtelnet
107/tcp
 
#Remote Telnet Service
pop2
109/tcp
postoffice
#Post Office Protocol - Version 2
pop3
110/tcp
 
#Post Office Protocol - Version 3
sunrpc
111/tcp
rpcbind portmap
#SUN Remote Procedure Call
sunrpc
111/udp
rpcbind portmap
#SUN Remote Procedure Call
auth
113/tcp
ident tap
#Identification Protocol
uucp-path
117/tcp
   
nntp
119/tcp
usenet
#Network News Transfer Protocol
ntp
123/udp
 
#Network Time Protocol
epmap
135/tcp
loc-srv
#DCE endpoint resolution
epmap
135/udp
loc-srv
#DCE endpoint resolution
netbios-ns
137/tcp
nbname
#NETBIOS Name Service
netbios-ns
137/udp
nbname
#NETBIOS Name Service
netbios-dgm
138/udp
nbdatagram
#NETBIOS Datagram Service
netbios-ssn
139/tcp
nbsession
#NETBIOS Session Service
imap
143/tcp
imap4
#Internet Message Access Protocol
pcmail-srv
158/tcp
 
#PCMail Server
snmp
161/udp
 
#SNMP
snmptrap
162/udp
snmp-trap
#SNMP trap
print-srv
170/tcp
 
#Network PostScript
bgp
179/tcp
 
#Border Gateway Protocol
irc
194/tcp
 
#Internet Relay Chat Protocol
ipx
213/udp
 
#IPX over IP
ldap
389/tcp
 
#Lightweight Directory Access Protocol
https
443/tcp
MCom
 
https
443/udp
MCom
 
microsoft-ds
445/tcp
   
microsoft-ds
445/udp
   
kpasswd
464/tcp
 
# Kerberos (v5)
kpasswd
464/udp
 
# Kerberos (v5)
isakmp
500/udp
like
#Internet Key Exchange
exec
512/tcp
 
#Remote Process Execution
biff
512/udp
comsat
 
login
513/tcp
 
#Remote Login
who
513/udp
whod
 
cmd
514/tcp
shell
 
syslog
514/udp
   
printer
515/tcp
spooler
 
talk
517/udp
   
ntalk
518/udp
   
efs
520/tcp
 
#Extended File Name Server
router
520/udp
route routed
 
timed
525/udp
timeserver
 
tempo
526/tcp
newdate
 
courier
530/tcp
rpc
 
conference
531/tcp
chat
 
netnews
532/tcp
readnews
 
netwall
533/udp
 
#For emergency broadcasts
uucp
540/tcp
uucpd
 
klogin
543/tcp
 
#Kerberos login
kshell
544/tcp
krcmd
#Kerberos remote shell
new-rwho
550/udp
new-who
 
remotefs
556/tcp
rfs rfs_server
 
rmonitor
560/udp
rmonitord
 
monitor
561/udp
   
ldaps
636/tcp
sldap
#LDAP over TLS/SSL
doom
666/tcp
 
#Doom Id Software
doom
666/udp
 
#Doom Id Software
kerberos-adm
749/tcp
 
#Kerberos administration
kerberos-adm
749/udp
 
#Kerberos administration
kerberos-iv
750/udp
 
#Kerberos version IV
kpop
1109/tcp
 
#Kerberos POP
phone
1167/udp
 
#Conference calling
ms-sql-s
1433/tcp
 
#Microsoft-SQL-Server
ms-sql-s
1433/udp
 
#Microsoft-SQL-Server
ms-sql-m
1434/tcp
 
#Microsoft-SQL-Monitor
ms-sql-m
1434/udp
 
#Microsoft-SQL-Monitor
wins
1512/tcp
 
#Microsoft Windows Internet Name Service
wins
1512/udp
 
#Microsoft Windows Internet Name Service
ingreslock
1524/tcp
ingres
 
l2tp
1701/udp
 
#Layer Two Tunneling Protocol
pptp
1723/tcp
 
#Point-to-point tunnelling protocol
radius
1812/udp
 
#RADIUS authentication protocol
radacct
1813/udp
 
#RADIUS accounting protocol
nfsd
2049/udp
nfs
#NFS server
knetd
2053/tcp
 
#Kerberos de-multiplexor
man
9535/tcp
 
#Remote Man Server
신고
Posted by -TED-
지금 온라인 게임에서 p2p를 구현하는 중이다.
과연 어떤 방식이 좋을까 생각중이다.

조사한 통신방식들이다. 

1. 중앙집중 방식
    이건 p2p가 아니다. 중앙에 서버가 있고 각 클라이언트들은 서버에 연결되어 있다.
    아주 기본적인 방식이지 ㅋㅋ, 서버가 모든 권한및 정보를 가지고 있기때문에
    클라이언트는 서버에 정보를 요청하고 데이터도 서버로부터 받는다.
    => 많은 서비스가 이렇게 하지만 돈은 무쟈게 깨질꺼다. 부하도 엄청나다.
         단, 사용자 인증및 정보관리가 쉽다.

사용자 삽입 이미지

2. 하이브리드 방식(브로커드란 중개를말한다.)
    즉 말그대로 브로커드란 클라이언트를 중개해주는 방식이다. 서버는 각 클라이언트의 위치나 정보를 검색하기 쉽게 인덱싱하고, 클라이언트가 물어오면 위치를 알려준다.
    그럼 클라이언트는 해당 데이터가 있는 클라이언트와 통신을 해 데이터를 수신받는다.
    => 중앙집중 + p2p 방식인데. 훔. 역시 유저가 많으면 서버 부하도 심해질꺼다.
         단 중앙집중보다는 엄청나게 효율적,
온라인 게임 P2P가 대부분 이렇게 될것으로 추정된다.
사용자 삽입 이미지

3. Pure p2p (Decentralized 방식)
    어떻게 보면 중앙집중과는 정 반대다. ㅎㅎ 말그대로 pure 오 순수.~ 서버는 필요없다. 각 클라이언트가 서버 역활도 한다. 하지만 해당 데이터를 위치를 찾으려면 계속 찾으러 다녀야한다. 검색시간이 무지 느릴꺼다.
사용자 삽입 이미지

4. Super peer
    말그대로 슈퍼다. 위의 pure p2p와 서버는 필요없다. 흠. 단지 여러 peer들중 아주 상태 좋은 놈들이 서버 역활을 하는거다. 다른 peer들은 그 super peer에 접속해서 검색을 하고 데이터 위치를 찾아내 해당 클라이언트와 p2p를 한다. 어떻게보면 pure peer의 보완책이라 할수 있다.
super peer가 한개가 아니라 여러개가 될수 있으니 하나가 다운되면 다른 super peer에 접속해서 하면 되는것이다. ㅎㅎ 좋긴 좋다. 흠. ㅡ.ㅡ; 어떤것이 super peer가 되어야하는지도.. 구현하기 힘들것다.

사용자 삽입 이미지

과연.. 어느것이 온라인 게임 FPS p2p에 맞는 것일까. 어떤것이 =0=

생각한 방식은 이렇다.
S(서버에) A,B,C,D 가 연결되어 있다고 하면

1. 클라이언트 들은 S 에 TCP와 UDP로 연결되어 있다.
2. A 클라이언트는 S로부터 B,C,D의 위치를 가져와 UDP 접속한다.
3. B 클라이언트는 S로부터 A,C,D의 위치를 가져와 UDP 접속한다.
4. C 클라이언트는 S로부터 A,B,D의 위치를 가져와 UDP 접속한다.
5. D 클라이언트는 S로부터 A,B,C의 위치를 가져와 UDP 접속한다.

* 즉 하나의 클라이언트는 같은 장소에 접속한 클라이언트와의 연결세션을 모두 가지고 있는다.
* 연결이 안되는 클라이언트는 S를 통해서 대신 데이터를 전송한다.
* 일정시간동안(1초)연결이 되지 않으면 중계서버를 통해 통신한다.
* 공유기를 사용하는 클라이언트는 UDP 홀펀칭을 사용해 port를 맵핑한다.




내용은 http://www.bsdg.org/Jim/Peer2Peer/Paper/3214-architectures.html 여기에서 참고 했네요. ^^
후. 그나저나 어떻게 할지 고민이네요. 하이브리드 방식이 될것 같긴한데. 흠.

by ncanis(조성준)
신고
Posted by -TED-


티스토리 툴바