NAT 홀펀칭

2007.10.25 19:07

단장 조회 수:1293 추천:49

홀펀칭 질문입니다.  올려짐: 2007-10-15 18:51
  

--------------------------------------------------------------------------------

구글님과 gpg검색으로 홀펀칭을 만들어봤는데 제대로 되지 않아 질문드립니다.

1. 클라이언트들은 우선 서버에게 UDP로 핑메세지를 날립니다.(내부아이피를 전송)
2. 우선 서버는 공인IP로 각각 클라이언트의 내부/외부 아이피를 얻어옵니다.
3. 서버도 클라이언트들에게 퐁 메세지를 날립니다.
4. 주기적으로 핑퐁 메세지를 날려 NAT맵핑을 유지합니다.
5. 홀펀칭을 시도할때 각각 클라이언트들에게 상대방 내부/외부 아이피을 알려줍니다.
6. 각 클라이언트들의 상대방의 내부/외부 아이피로 핑 메세지를 날립니다.(0.2초 간격으로 10회)
7. 각 클라이언트들에게 퐁메세지가 오면 메세지 온 클라이언트를 홀펀칭 선공이라고 판단하고 list에 저장합니다.

이 상황에서 공인 IP에 있는 클라이언트와 NAT 클라이언트는 홀펀칭은 가능합니다.
지금 테스트는 같은 NAT안에 있는 두 클라이언트가 핑 메세지를 받지 못합니다.
NAT타입은 Port Restricted타입입니다.

예를 들어 A클라이언트는 내부아이피 192.168.0.10(포트: 1779) 외부아이피 121.141.76.130(포트 : 11550)
B클라이언트는 내부아이피 192.168.0.61(포트: 1764) 외부아이피 121.141.76.130(포트 : 1848)

이렇게 체크되고 있습니다.

현재 같은 NAT는 6번까지만 진행되고 퐁메세지를 오질 않습니다. 지금 제가 잘못이해하고 있는지 질문드립니다.

모두 즐프 되세요~

위로      


나디아



가입: 2004년 8월 7일
올린 글: 58

같은 네트워크....  올려짐: 2007-10-16 09:15
  

--------------------------------------------------------------------------------

두개의 클라이언트가 같은 비공인 네트워크 내부이고, 비공인쪽으로 서로 핑을 보냈는데
(비공인 바인드 아이피:비공인 바인드 포트)
정보를 받지 못한다면, 파이어월과 같은 문제가 아닐까요?
파이어월과 같은 외부 인자가 없다면 이론상으로 전혀 문제가 없어야 정상입니다.

그럼 꼭 성공하세요..
_________________
^___^

위로      


비회원
손님





같은 nat 내에서...  올려짐: 2007-10-16 15:13
  

--------------------------------------------------------------------------------

같은 Nat 에서 공인 ip/port 로 통신할때는 안되는 nat 가 있습니다.(예를 들면 iptime 시리즈)
이때는 Nat 내의 내부 ip 로 서로 핑을 날려 주면 됩니다.
예를 들어 A클라이언트는 내부아이피 192.168.0.10(포트: 1779) 외부아이피 121.141.76.130(포트 : 11550)
B클라이언트는 내부아이피 192.168.0.61(포트: 1764) 외부아이피 121.141.76.130(포트 : 1848)
일떄는 19.168.0.10(포트:1779) 와 192.168.0.61(포트: 1764) 를 가지고 서로 통신하면 됩니다.

위로    


SSys



가입: 2006년 2월 24일
올린 글: 6

   올려짐: 2007-10-19 16:06
  

--------------------------------------------------------------------------------

나디아님 비회원님 감사합니다. 로직문제가 아니라 소켓이 여러개인데 엄한 포트에다 보내고 있었습니다.(코딩은 맨정신이 최고~) 또 마침 공유기가 iptime꺼라서 좋은것도 알게되었습니다. 하나 물어볼께 있는데요. 보통 클라이언트에서 UDP 포트 사용할때 바인드 하셔서 포트 지정하시고 사용하시나요? 아니면 바인드 안하시고 자동으로 할당되는 포트를 사용하시는지 궁금합니다. 모두 즐프되세요~

위로      


아노아



가입: 2002년 2월 8일
올린 글: 214
소속: 모 회사 청소과.
   올려짐: 2007-10-24 23:16
  

--------------------------------------------------------------------------------

일단 바인드해보고 바인드안되면 그냥 할당되는 포트사용합니다. :$ 아무래도 바인드를 해야 공유기 등을 통해서 특정 포트만 멥핑해주는 작업등이 되니까요

댓글 0

파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
 
목록
번호 제목 글쓴이 날짜 조회 수
44 Nat기반 P2P 프로그래밍 단장 2007.11.21 1627
43 한국운전면허를 일본운전면허로 바꾸기 [2] 단장 2007.10.26 1351
» NAT 홀펀칭 단장 2007.10.25 1293
41 버텍스버퍼의 효율적인 사용 단장 2007.10.01 5100
40 효율적인 동기화를 위한 아이디어 하나 단장 2007.09.29 3279
39 윈도우에서 사용하는 포트들 단장 2007.09.06 1157
38 평 <-> 평방미터 도량형 환산. 단장 2007.08.24 1145
37 [C++]function objects 단장 2007.05.01 1341
36 [C++] extern C에 대해 단장 2007.05.01 1256
35 원진살 단장 2007.04.14 1092
34 서울 시내에서 '무료'로 주차하기 단장 2007.03.06 976
33 이해의 선물 단장 2007.03.02 909
32 술의 이력서 단장 2007.02.09 2270
31 이스람(Islam:회교:回敎)에서의 성 단장 2007.02.08 1379
30 유명 다이아몬드들 단장 2007.01.31 960
29 자동차 정비용어 정리 단장 2007.01.20 1660
28 Mercedes-Benz, BMW, Audi 단장 2007.01.20 1030
27 No Silver Bullet 단장 2007.01.04 911
26 네크로노미콘 단장 2006.10.27 1234
25 Guitar World선정 최고의 기타솔로곡 단장 2006.06.14 245280