C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[68076] Re: Router, 공유기. 사설 IP에서의 Client/Server 네트웍 통신
빌더(TWx) [builder] 2090 읽음    2012-09-01 06:27
한정된 공인 IP Pool을 갖고있는 조직에서... 그 보다 더 많은 IP(사설 Private IP)가 있는 것 처럼 네트웍을 환경을 구성하기 위해서
Router 장비에 NAT 매핑 테이블을 셋업해주게 되는데요.(네트웍 관리자가 할 일이죠)

일반 가정에서 사용하는 유/무선 공유기도 마찬가지 입니다.

Router 장비의 경우에는 물리적으로 다른 네트웍 환경인, 이를테면 Ethernet 과 Token Ring 과의 연계 등의 그런 기능도 갖고있지만
유/무선 공유기는 Router 장비의 다양한 기능 중에서 IP를 쪼개서 사용하기 위한 NAT 기능만 갖고있는 간이 디바이스인 셈입니다.
(쉽게, 유/무선 공유기를 일종의 Gateway 로 볼수도 있고요)

사설 IP로 외부 퍼블릭 네트웍과 통신할 수 있도록 하기 위해선 Port Forwarding 이 되도록 NAT 매핑 테이블을 셋업해줘야 하는데..
일일히 손으로 작업하는 게 번거로운 일이죠.

그래서 이런 번거로운 Port Fowarding 셋업 작업 없이 처리가 가능 하도록 UPnP(Universal Plug & Play)란 프로토콜이 만들어지게
되었습니다.

유/무선 공유기에서...
UPnP 프로토콜을 지원하지 않고 있다면 수동으로 공유기를 셋업해줘야 겠지만, 만약 공유기에서 프로토콜이 지원된다면 번거롭게
공유기 설정을 할 필요 없이, 애플리케이션에서 NAT 매핑 테이블을 직접 처리할 수 있게 됩니다.

MS 사에서는...
IUPnPNAT, IStaticPortMappingCollection  등의 관련 기능을 COM Inteface 형태로 제공하고 있는데...

COM Interface를 이용해서 현재 설정되어있는 매핑 엔트리의 갯수도 알아낼 수 있고... Port Forward 매핑 엔트리를 추가하거나 삭제
하는 것도 가능 합니다.

공유기가 대외적으로 사용하는 실제적인 퍼블릭 IP가, 공유기에 연결된 컴의 프로그램 자신의 Private IP/Port로 Forwarding 되도록
프로그램에서 코딩해 주면 되니까...

P2P, Client/Server 등의 네트웍 애플리케이션을 만들 때...UPnP 기능을 사용할 수 있게 프로그래밍 해서 배포하면 공유기를 이용해서
Private IP를 사용하는 엔드 유져들도 공유기 설정의 번거로움 없이 편리하게 프로그램을 사용할 수 있어서 좋겠죠.



...

+ -

관련 글 리스트
68073 ServerSocket / Client Socket 통신에서요? 손재용 1350 2012/08/31
68074     Re:ServerSocket / Client Socket 통신에서요? Lyn 1464 2012/08/31
68075         다시 질문들립니다. 손재용 1206 2012/08/31
68076             Re: Router, 공유기. 사설 IP에서의 Client/Server 네트웍 통신 빌더(TWx) 2090 2012/09/01
68077                 다시 한번 질문드립니다. 손재용 9833 2012/09/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.