
컴퓨터가 두 대 있어요. 그 중 하나에는 실행 중인 서버가 있고 다른 하나에는 해당 서버와 통신하는 애플리케이션이 있습니다. 이러한 컴퓨터는 다양한 사이트에 배포됩니다. 때로는 이러한 컴퓨터를 직접 유선으로 연결할 수도 있고, 내가 제어할 수 없는 무선 연결을 통해서만 연결될 수도 있습니다. 추가 요구 사항으로, 연결이 가능한 경우 서버는 dhcp를 사용하여 인터넷에 액세스할 수 있어야 합니다. 목표는 이러한 컴퓨터를 사무실에 설치한 다음 현장 구성이 거의 없는 사이트에 배포하는 것입니다.
응용 프로그램을 실행하는 컴퓨터가 항상(또는 가능한 한 많은 경우) 서버를 찾아 통신(포트 80을 통한 HTTP)할 수 있도록 하려면 어떻게 해야 합니까?
내 생각은 여러 IP로 서버를 설정하는 것입니다. 하나의 DHCP를 사용하여 인터넷에 액세스할 수 있습니다. 다른 하나는 고정 IP로 설정됩니다. 애플리케이션 컴퓨터는 이 고정 IP 주소를 미리 알고 요청하도록 구성됩니다. 그러나 이를 수행하는 방법을 보여주는 자습서에서는 게이트웨이와 서브넷 마스크를 입력해야 합니다. 그리고 내가 가입한 네트워크에 따라 이러한 내용이 변경되지 않나요?
제가 매우 분명한 것을 놓치고 있거나 다른 요소들을 간과하고 있다면 양해해 주시기 바랍니다. 나는 네트워킹에 대해 전혀 모른다.
도움이 될 수 있는 하드웨어가 있다면 괜찮습니다.
비스타와 XP 입니다.
답변1
어떤 고정 IP 주소가 충돌하지 않을지 추측하는 것은 문제를 야기합니다. Derobert가 제안한 것처럼 멀티캐스트 DNS + DNS-SD가 적합합니다. Windows용 유일한 스택은 다음과 같습니다.애플의 봉쥬르추가 구성을 통해 로컬 네트워크에서 서비스를 등록 및 확인하고 방화벽을 뚫고(라우터가 NAT-PMP 또는 uPnP를 지원하는 경우) DNS 영역을 적절한 DNS로 업데이트할 수 있는 기능을 제공하는 구현 -SD 기록.
Bonjour를 애플리케이션 구성에 연결하려면 일부 스크립팅을 수행해야 할 수 있지만 애플리케이션이 무엇인지 모르면 무엇이 적합한지 말하기가 어렵습니다. 즉, 간단한 배치 또는 WSH 스크립트로 자동화된 dns-sd.exe 명령줄 유틸리티는 덜 사소한 구성을 위해 Python, Perl 또는 Ruby에 대한 다양한 바인딩과 마찬가지로 작업을 수행할 수 있습니다.
답변2
이 문제는 일반적으로 이미 사용 가능한 여러 서비스 검색 프로토콜 중 하나를 사용하여 해결됩니다. 예를 들어 다음을 참조하세요.Wikipedia의 Zeroconf 기사. 멀티캐스트 DNS + DNS-SD는 다른 방법도 있지만(그리고 Wiki에서 가장 많이 언급함) 현재 인기 있고 널리 지원되는 방법인 것 같습니다.
예를 들어, Apache가 Avahi를 사용하여 멀티캐스트 DNS를 통해 자신을 알릴 수 있게 해주는 apache2용 mod-dnssd가 있습니다.
답변3
거의 항상 동일한 네트워크에 있을 것 같으므로 "서버" 컴퓨터에서 WINS를 실행하고 NetBIOS 이름으로 연결할 수는 없습니까?
이렇게 하면 IP 주소에 대해 전혀 걱정할 필요가 없습니다.
사실 지금 생각해보면 WINS가 필요하지 않을 수도 있지만 NetBIOS가 이를 처리할 수 있어야 합니다.