2012-10-29 5 views
2

나는이 주제에서 힙합을 봤지만 아직도 도움이 필요하다. stackoverflow에 대한 비슷한 질문이 있지만 정확히 일치하는 것도 없습니다 (좋은 답변도 없습니다).Windows adhoc mesh network

Windows 7 이상의 사용자가 단일 WiFi 어댑터를 사용하여 임의의 메쉬 네트워크를 구성하고 유사한 방식으로 연결을 허용하는 프로그램을 작성하고 싶습니다. 각 노드에 대한 정상적인 인터넷 연결. 보너스는 전화기와 같은 장치에 추가 소프트웨어가 필요하지 않지만 표준 액세스 포인트 인 것처럼 하나 이상의 메쉬 노드에 연결할 수 있다는 것입니다.

나는이 작업을 수행하는 방법을 모르겠지만, 내 생각 :

  1. 하나의 무선 카드 프로그래밍 윈도우 무선 애드혹 API를
  2. 임시 모드를 사용하여 애드혹 모드에서 작동하도록 구성 할 수 있습니다 일반적으로 어댑터의 드라이버가 지원하지 않는 한 인프라 모드를 제외하므로 노드에서 실제 인터넷으로 연결하려면 두 번째 어댑터가 필요합니다.
  3. 우리 프로그램은 WiFi 어댑터를 독점적으로 제어해야합니다.
  4. 메시 측면은 바벨과 같은 라우팅 프로토콜에 의한 임시 연결과는 독립적으로 달성됩니다.
  5. 우리 프로그램에서 만든 새로운 가상 어댑터를 통해 인터넷을 제공해야합니다. (이 새로운 어댑터는 네트워크 인식 프로그램이 인터넷 액세스를 위해 선택해야하는 어댑터가되는 역할을합니까?)
  6. 실제 인터넷 연결이 노드에서 사용 가능할 경우, 해당 노드는 다른 노드와 공유 할 수 있습니다 바벨 (Babel) 구현을 통한 메시상의 노드
  7. 인터넷이 모든 노드에서 사용 가능한지 여부에 관계없이 메시 자체에서 어떤 서비스를 호스팅 할 수 있는지 확실하지 않습니다. 리소스/도메인 이름 확인은 어떻게 제공됩니까?
  8. 현재 노드에 인터넷이있는 경우 인터넷 리소스에 대한 모든 요청이이를 통해 직접 전달되며 메쉬 내의 모든 리소스는 Babel을 통과합니다. 해당 노드가 직접 인터넷을 상실하면 모든 트래픽이 Babel을 통과합니다. 프로그램을 작성해야합니까, 아니면 Windows 네트워크 스택이이 문제를 어떻게 처리해야하는지 알고 있습니까? 프로그램이 올바르게 작성되었다고 가정하십시오.
  9. Windows 7 이상이므로 IPv6은 메쉬의 노드 주소 지정을위한 합법적 인 선택이지만 모든 인터넷 연결이 IPv6을 지원하지는 않습니다. 어떤 사람들. 메쉬 세그먼트에서 인터넷 세그먼트를 어떻게 정의 할 수 있습니까?
  10. 메쉬는 임의의 크기 일 수 있으며 Babel과 다른 구성 요소는 대역폭, 메모리 사용량 및 최적 경로 수렴을 통해 메시를 처리 할 수 ​​있습니다.

이 프로젝트를 실제로 완료 할 배경이 없지만 해결책의 개요를 알고 싶습니다. 윤곽선에 대해 옳은 점, 누락 된 점/잘못 된 점에 대해 의견을 말할 수 있습니까? 최신 기술의 출현으로 인해 어떤 개념이 불필요하거나 쓸모 없습니까?

노드가 얼마나 간단하게 작동 할 수 있습니까? 각 노드가 다른 노드의 공격으로부터 얼마나 안전 할 수 있습니까? 중독 네트워크 트래픽 & 라우팅?

Linux와 비슷한 목표를 시도하는 프로젝트에 대해서는 읽었지만 현재 Windows에서는 그렇지 않습니다. 차량 및 비상 사태 대응 자에 대한 일부 논의가 있지만 이는 다릅니다. 내 관심은 허리케인 샌디 (Hurricane Sandy)가 널리 퍼진 도시 연결 중단 상황에서 인기있는 주거용 운영 체제에 대한 연결성에 대한 고민입니다. 많은 사람들을위한 전력 및 통신 시스템을 사용할 수 없을 때 메쉬가 도움이 될 수 있습니다.

거의 모든 메쉬 참가자가 노드를 미리 구성하지 않습니다. 대신, 다른 사용자의 무선 네트워크가 다운되었을 때 SSID "Free Emergency Mesh WiFi"를 찾아 연결할 수 있습니다. 핫스팟과 마찬가지로 프로젝트에 대해 설명하고 참여하려는 경우 설치 링크를 제공하는 프록시 된 로그인 페이지가 제공됩니다. 그렇지 않은 경우에도 메쉬 "액세스 포인트"에 클라이언트로 연결할 수 있습니다.

답변

3

기본적으로 WiFi 라디오를 한 번에 세 가지 모드로 분리 해달라고 요청하는 것이 문제입니다. 노드가 다른 노드와 통신하려면 Ad-Hoc 모드 여야합니다. 인터넷 액세스를 위해 액세스 포인트 (AP)와 통신하려면 인프라 모드에 있어야합니다. 휴대 전화를 연결하려면 대부분 Ad-Hoc 네트워크를 지원하지 않으므로 노드를 마스터 모드로 설정해야합니다 (정상 액세스 포인트로 표시되도록 설정해야 함). 따라서 하나의 WiFi 카드에서 세 가지 작동 모드를 가볍게 사용하려고합니다. 이론적으로 카드 및 드라이버가 원시 프레임 주입을 지원한다면 응용 프로그램에서 WiFi 및 네트워킹 스택을 에뮬레이션하고 세 가지 모드를 모두 단일 카드에서 처리 할 수는 있지만 매우 높게 나타날 것이라고 생각합니다. 충돌 속도, 손실 된 프레임, 높은 지연 시간 및 모든 여분의 CPU주기가 랩톱에서 실행중인 경우 배터리로 소모됩니다.

가능합니까? 확실한. 실용적인 아이디어인가? 그렇지 않아. ASUS USB-N10과 같은 작고 저렴한 WiFi 어댑터로 노트북을 확장하는 것이 좋습니다. 여분의 어댑터는 여분의 모드를 처리하고, 펌웨어와 커널 공간에서 더 빠르고 효율적으로 처리 할 수 ​​있으며, 별도의 채널에서 각 계층의 네트워크를 실행할 수있어 처리량을 크게 높일 수 있습니다.

+0

(포인트 2는 인터넷 연결을 위해 두 번째, 가능하면 유선 어댑터 필요). –

+0

좋은 통찰력. 하지만 하나의 어댑터 만 사용할 수있는 경우 원시 모드에서 해당 모드를 지원하는 데 사용자 채택 가치가 있지만 "다음 번, 두 번째 및 세 번째 어댑터는 성능을 향상시킬 것"이라는 광고를 보시겠습니까? –

+1

나는 정말로 그렇게 생각하지 않는다. 메쉬 네트워킹은 이미 매우 약한 평판을 가지고 있기 때문에 느리고 까다로운 솔루션으로 사람들이 부정적인 고정 관념을 강화하고 다른 구성을 시험해 보지 않을 것입니다. 그들은 "메쉬 네트워킹이 작동하지 않는다는 것을 알았습니다."라고 말할 것입니다. 실용적인 해결책으로 신화와 싸우고 메쉬 네트워킹을 판매하려는 경험을 직접 경험 한 사람은 제게 충고를하는 것이 최선 이상의 것입니다. 비평가는 프로젝트를 검토하는 데 가장 걸리는 길을 택할 것이고 모든 단점을 결코 작동 할 수 없다는 증거로 선언 할 것입니다. – Sitwon