요약
동료와 교환하기 위해 추적 자나 웜 구성원 중 적어도 한 명에 대한 지식없이 새로운 클라이언트가 어떻게 웜에 가입 할 수 있습니까?
당신은 할 수 없습니다. 불가능하다.*
* ( 근거리 통신망 의 노드가 이미 DHT의 노드 인 경우가 아니라면 이 경우 Avahi와 같은 브로드 캐스트 메커니즘을 사용하여이 피어를 "발견"하고 부트 스트랩에서 부트 스트랩 할 수 있습니다. 그들은 당신이 공용 인터넷에 연결하기 위해 필요로하는 곳에 당신이 상황을 칠 것이다, 결국? 자신을 부트 스트랩. 그리고 공용 인터넷은 유니 캐스트 아니라,하지 멀티 캐스트, 왜 이렇게있는 거 동료의 미리 정해진 목록을 사용하여 갇혔.)
참고 문헌
Bittorrent DHT 는 Kademlia 라는 프로토콜을 통해 구현 되는데, 이는 이론적으로 분산 해시 테이블 개념의 경우입니다 .
박람회
Kademlia 프로토콜을 사용하면 네트워크에 가입 할 때 부트 스트랩 절차를 거치게 되는데,이를 위해서는 DHT 네트워크에 이미 참여하고있는 하나 이상의 노드의 IP 주소와 포트를 미리 알아야 합니다. 예를 들어, 연결 한 추적기는 그 자체가 DHT 노드 일 수 있습니다. 하나의 DHT 노드에 연결되면 DHT에서 정보를 계속 다운로드하여 더 많은 노드에 대한 연결 정보를 제공 한 다음 "그래프"구조를 탐색하여 더 많은 노드에 대한 연결을 얻을 수 있습니다. 다른 노드와의 연결 및 페이로드 데이터 (다운로드 청크)
나는 굵은 글씨로 실제 질문을 생각한다 - 모른 채 Kademlia DHT 네트워크에 연결하는 방법의 어떤 다른 회원 - 잘못된 가정에 근거한다.
굵게 표시된 질문에 대한 간단한 대답은 그렇지 않습니다 . DHT 메타 데이터를 포함 할 수있는 하나의 호스트에 대한 모든 정보를 전혀 모른다면 멈출 수 없으며 시작할 수도 없습니다. 내 말은, 공개 포트에서 공개 포트에서 DHT 정보를 브로드 캐스트하는 IP를 발견하려고하는 무차별적인 시도 일 수 있습니다. 그러나 BT 클라이언트는 특정 고정 IP 또는 DNS로 하드 코딩되어 DHT 메타 데이터 만 제공하는 안정적인 DHT 노드로 해석됩니다.
기본적으로 DHT는 가입 메커니즘만큼 분산되어 있으며 가입 메커니즘이 상당히 취약하기 때문에 (전체 인터넷을 "브로드 캐스트"할 수있는 방법이 없습니다!) DHT를 받으려면 미리 지정된 개별 호스트로 유니 캐스트 해야합니다. Kademlia DHT는 실제로 분산 되어 있지 않습니다 . 단어의 엄밀한 의미가 아닙니다.
이 시나리오를 상상해보십시오. P2P를 중지하려는 사람이 나가서 부트 스트랩에 사용되는 일반적으로 사용되는 모든 안정적인 DHT 노드 에 대한 공격을 준비합니다 . 일단 공격을 시작하면 모든 노드에서 한 번 에 공격이 시작 됩니다. 왬 ; 모든 단일 부트 스트랩 DHT 노드가 한 번에 작동하지 않습니다. 이제 뭐? 중앙 추적 장치 에 연결하여 기존 피어 목록을 다운로드 할 수 있습니다. 그들이 트래커도 공격하면 정말 정말개울. 다시 말해, Kademlia와 전체 BT 네트워크는 인터넷 자체의 한계로 인해 제약을받습니다. 즉, 90 % 이상을 방지하기 위해 성공적으로 공격하거나 오프라인 상태로 만들어야하는 유한 한 (그리고 상대적으로 적은) 수의 컴퓨터가 있다는 것입니다 네트워크에 연결하는 사용자 수
"의사 중심의"부트 스트랩 노드가 모두 사라지면 DHT 외부의 내부 노드에 대해 아무도 모르기 때문에 부트 스트랩되지 않는 DHT의 내부 노드 는 쓸모가 없습니다. 그들은 새로운 노드를 DHT로 가져올 수 없습니다. 따라서 사람들이 컴퓨터를 종료하거나 업데이트를 위해 다시 부팅하는 등의 이유로 인해 각 내부 노드가 DHT와 연결이 끊어지면 네트워크가 무너집니다.
물론,이 문제를 해결하기 위해 누군가 미리 결정된 안정적인 DHT 노드 또는 DNS 주소 목록으로 패치 된 BitTorrent 클라이언트를 배포하고이 새로운 목록을 대신 사용하도록 P2P 커뮤니티에 큰 소리로 광고 할 수 있습니다. 그러나 이것은 공격자 (노드 이터)가 점진적으로이 목록을 다운로드하고 용감한 새 부트 스트랩 노드를 대상으로 한 다음 오프라인 상태로 만드는 "몰리 락"상황이 될 것입니다.