hole punching 2

[기타]P2P 연결을 위한 기술들..(Hole Punching)

>네트워크 응용 수업의 최종과제가 홀펀칭(Hole Punching) 기술로 구현한 에코 클라이언트의 구현이라,게임프로그래밍이나 여러 P2P 프로그래밍에서 폭넓게 사용되는 기술이라고 한다.일단은 프로그래밍을 해야 하는데 생소한 정보들이여서 몇몇 관련문서를 보고 이해를 하려고 노력해 보았다. >NAT(Network Address Translator)가 뭔지 알지? 공유기같은거 말하는데,hole punching은 NAT traversal 알고리즘 중에 하나거든. 이런 traversal 알고리즘 중에현재 가장 간단하고 강력해서 hole punching을 사용한덴다.p2p를 이용하려면 이 NAT traversal은 꼭 필요한 기술이야. 유저들의 네트워크 상황은매우 다양하고 요즈음은 공유기 안에 물려있는 유저들도 ..

기본카테고리 2011.04.27

[기타]홀펀칭(Hole punching)

1. 랑데뷰 서버홀펀칭은 클라이언트 A와 B가 이미 랑데뷰 서버 S와 active UDP 세션을 가지고 있다고 가정하고 시작한다.클라이언트가 서버 S에 등록되면, 서버는 클라이언트의 2개의 endpoint를 기록한다.(one : private ip/port, two : public ip/port)클라이언트는 서버에게 자신의 private ip/port를 포함한 등록 패킷을 보내면, 서버는 패킷에 포함된 private ip/port와 실제 UDP 통신상에서 알아낸 public ip/port 2개의 endpoint를 모두 획득하게 된다.만약, 클라이언트가 NAT 밑에 있지 않은, 즉 공인 IP를 쓴다면 private ip/port는 public ip/port와 일치하게 된다.  2. P2P 세션 연결 시나리..

기본카테고리 2011.04.27