Each peer is only aware of its immediate successor; for instance, peer 5 knows the IP address and identifier for peer 8 but does not essentially know anything about any other peers that may be in the DHT. This circular arrangement of the peers is a particular case of an overlay network. In an overlay network, the peers form an abstract logical network which resides above the "underlay" computer network consisting of physical links, routers, and hosts. The links in an overlay network are not physical links, but are simply virtual liaisons between pairs of peers. In the overlay in Figure 1(a), there are eight peers and eight overlay links; in the overlay in figure 1(b) there are eight peers and 16 overlay links. A single overlay link normally uses many physical links and physical routers in the underlay network.
Using the circular overlay in Figure 1(a), now suppose that peer 3 wants to determine which peer in the DHT is responsible for key 11 [either for inserting or querying for a (key-value) pair]. Using the circular overlay, the origin peer (peer 3) creates a message saying "Who is responsible for key 11?" and sends this message to its successor, peer 4. Whenever a peer receives such a message, because it knows the identifier of its successor, it can determine whether it is responsible (that is, Closest to) the key in question. If a peer is not responsible for the key, it simply sends the message to its successor. So, for instance, when peer 4 receives the message asking about key 11, it determines that it is not responsible for the key (because its successor is closer to the key), so it just passes the message to its own successor, namely, peer 5. This process continues until the message arrives at peer 12, who determines that it is the closest peer to key 11. At this point, peer 12 can send a message back to the origin, peer 3, indicating that it is responsible for key 11.
The circular DHT provides a very elegant solution for reducing the amount of overlay information each peer must manage. Particularly, each peer is only aware of two peers, its immediate successor and its immediate predecessor. (By default, the peer is aware of its predecessor, since the predecessor is sending it messages.) But this solution introduces yet a new problem. Although each peer is only aware of two neighboring peers, to find the node responsible for a key (in the worst-case), all N nodes in the DHT will have to forward a message around the circle; NI2 messages are sent on average.
Therefore, in designing a DHT, there is tradeoff between the number of neighbors each peer has to track and the number of messages that the DHT needs to send to resolve a single query. On one hand, if each peer tracks all other peers (mesh overlay), then only one message is sent per query, but each peer has to keep track of N peers. On the other hand, with a circular DHT, each peer is only aware of two peers, but NI2 messages are sent on average for each query. Fortunately, we can refine our designs of DHTs so that the number of neighbors per peer as well as the number of messages per query is kept to an acceptable size. One such refinement is to use the circular overlay as a foundation, but add "shortcuts" so that each peer not only keeps track of its immediate successor, but also of a relatively small number of shortcut peers scattered about the circle. An instance of such a circular DHT with some shortcuts is shown in Figure 1(b). Shortcuts are used to facilitate the routing of query messages. Particularly, when a peer receives a message that is querying for a key, it forwards the message to the neighbor (successor neighbor or one of the shortcut neighbors) which is the closet to the key. Therefore, in Figure 1(b), when peer 4 receives the message asking about key 11, it determines that the closet peer to the key (among its neighbors) is its shortcut neighbor 10 and then forwards the message directly to peer 10. Clearly, shortcuts can considerably reduce the number of messages used to process a query.
The next natural question is "How many shortcut neighbors should each peer have, and which peers should be these shortcut neighbors"? This question has received significant attention in the research community [Stoica 2001; Rowstron 2001; Ratnasamy 2001; Zhao 2004; Maymounkov 2002; Garces-Erce 2003]. Importantly, it has been shown that the DHT can be designed so that both the number of neighbors per peer as well as the number of messages per query is O(log N), where N is the number of peers. Such designs strike a satisfactory compromise between the extreme solutions of using mesh and circular overlay topologies.
แต่ละเพียร์เป็นเพียงตระหนักถึงผู้สืบทอดในทันที เช่น เพื่อน 5 รู้ที่อยู่ IP และเครือข่ายเพื่อนแต่ไม่ได้เป็นหลักรู้อะไรเกี่ยวกับเพื่อนใด ๆอื่น ๆที่อาจจะมีใน DHT . การจัดเรียงนี้วงกลมของเพื่อนที่เป็นกรณีเฉพาะของซ้อนทับเครือข่าย ในข้อมูลเครือข่ายเพื่อน ๆ ในรูปแบบนามธรรมตรรกะเครือข่ายซึ่งอยู่ข้างบน " หนุน " ระบบเครือข่ายคอมพิวเตอร์ประกอบด้วยทางกายภาพการเชื่อมโยง , เราเตอร์ , และโฮสต์ การเชื่อมโยงในซ้อนทับเครือข่ายจะไม่เชื่อมโยงทางกายภาพ แต่เป็นเพียงเสมือนความสัมพันธ์ระหว่างคู่ของเพื่อน ในข้อมูล ในรูปที่ 1 ( a ) มี 8 กลุ่ม 8 ลิงก์ซ้อน ;ในข้อมูล ในรูปที่ 1 ( b ) มี 8 กลุ่ม 16 ลิงก์ซ้อน . การเชื่อมโยงการเชื่อมโยงทางกายภาพหลายซ้อนเดียวปกติใช้เราเตอร์ในเครือข่ายทางกายภาพและหนุน
ใช้ซ้อนทับวงกลมในรูป 1 ( a ) ตอนนี้คิดว่าเพื่อนต้องการหาเพื่อนซึ่ง DHT รับผิดชอบคีย์ 11 [ ทั้งการแทรกหรือค้นหา ( ค่าคีย์ ) คู่ ] ใช้ซ้อนทับวงกลมกำเนิดเพื่อน ( เพื่อน 3 ) สร้าง ข้อความว่า " ใครเป็นผู้รับผิดชอบหลัก 11 ? และส่งข้อความนี้เป็นผู้สืบทอดจาก 4 เมื่อใดก็ตามที่เพื่อนได้รับข้อความดังกล่าว เพราะมันรู้จักตัวของทายาทของมัน มันสามารถตรวจสอบว่า มันเป็นหน้าที่ ( ที่สำคัญที่สุด ) ในคำถาม ถ้าเพื่อนไม่รับผิดชอบสำหรับคีย์ มันเพียงแค่ส่งข้อความถึงผู้สืบทอดของดังนั้นตัวอย่างเช่นเมื่อเพื่อน 4 ได้รับข้อความถามเกี่ยวกับคีย์ 11 , ตัดสินว่ามันไม่ได้เป็นผู้รับผิดชอบหลัก ( เพราะผู้สืบทอดของมันอยู่ใกล้กับคีย์ ) , ดังนั้นมันก็ผ่านข้อความของตัวเองทายาท คือ เพื่อน 5 กระบวนการนี้อย่างต่อเนื่องจนมาถึงเพื่อน 12 ข้อความที่กำหนดว่ามันเป็นเพื่อนใกล้คีย์ 11 ณจุดนี้เพื่อน 12 สามารถส่งข้อความกลับไปจุดเริ่มต้นจาก 3 , ระบุว่าเป็นผู้รับผิดชอบหลัก 11 .
DHT เป็นวงกลมให้โซลูชั่นที่ฉลาดมากในการลดจำนวนข้อมูลที่ทับซ้อนกันเพื่อนที่ต้องจัดการ โดยเฉพาะ แต่ละ เพื่อนเป็นเพียงตระหนักถึงสองเพื่อนของทายาททันที และบรรพบุรุษของตนทันที ( โดยค่าเริ่มต้น , เพื่อนจะทราบของบรรพบุรุษ ,ตั้งแต่บรรพบุรุษ คือ ส่งข้อความ ) แต่วิธีนี้แนะนำ แต่ปัญหาใหม่ แม้ว่าแต่ละเพียร์เป็นเพียงตระหนักถึงสองเพื่อนบ้านเพื่อนร่วมงานเพื่อหาโหนดที่รับผิดชอบหลัก ( กรณี ) , N โหนดใน DHT จะต้องส่งต่อข้อความรอบวงกลม ; ni2 ข้อความจะถูกส่งโดยเฉลี่ย
ดังนั้นในการออกแบบ DHT ,มีข้อเสียระหว่างหมายเลขของแต่ละเพื่อนเพื่อนบ้านมีการติดตามและจำนวนของข้อความที่ DHT ต้องส่งแก้ไขแบบสอบถามเดียว หนึ่งในมือ ถ้าแต่ละเพื่อนเพลงเพื่อนอื่น ๆทั้งหมด ( หุ้มตาข่าย ) แล้วเพียงหนึ่งข้อความที่ถูกส่งต่อแบบสอบถาม แต่แต่ละเพื่อนได้ติดตาม คำว่า เพื่อน บนมืออื่น ๆที่มี DHT วงกลมแต่ละเพียร์เป็นเพียงตระหนักถึงสองเพื่อนแต่ ni2 ข้อความจะถูกส่งโดยเฉลี่ยสำหรับแต่ละแบบสอบถาม โชคดีที่เราสามารถปรับแต่งการออกแบบของเรา dhts เพื่อให้จำนวนของประเทศเพื่อนบ้านต่อเพื่อนที่เป็นหมายเลขของข้อความต่อแบบสอบถามเก็บเป็นขนาดที่ยอมรับได้ การปรับแต่งเช่นหนึ่งคือการใช้กร่เป็นรากฐาน แต่เพิ่ม " ทางลัด " เพื่อให้แต่ละกลุ่มไม่เพียง แต่ช่วยให้ติดตามของทายาทของมันทันทีแต่ยังเป็นจำนวนที่ค่อนข้างเล็กของทางลัดเพื่อนเกลื่อนกลาดวงกลม อินสแตนซ์ของเช่น DHT วงกลมกับทางลัดที่แสดงในรูปที่ 1 ( B ) เป็นทางลัดที่ใช้เพื่ออำนวยความสะดวกในเส้นทางของข้อความแบบสอบถาม โดยเฉพาะอย่างยิ่ง เมื่อเพื่อนได้รับข้อความที่ค้นหากุญแจจะส่งต่อข้อความไปยังเพื่อนบ้าน ( เพื่อนบ้าน หรือทายาทของทางลัดเพื่อนบ้าน ) ซึ่งเป็นตู้กุญแจ ดังนั้น ในรูปที่ 1 ( B ) เมื่อเพื่อน 4 ได้รับข้อความถามเกี่ยวกับคีย์ 11 ก็กำหนดว่าตู้เพื่อนให้กุญแจ ( ในหมู่บ้าน ) เป็นทางลัดเพื่อนบ้าน 10 แล้วส่งข้อความโดยตรงไปยังเพื่อน 10 อย่างชัดเจนทางลัดที่สามารถมากลดจำนวนของข้อความที่ใช้ในการประมวลผลแบบสอบถาม
คำถามต่อไปคือ " วิธีธรรมชาติหลายทางลัดเพื่อนบ้านควรละเพื่อน ซึ่งเพื่อนควรเพื่อนบ้านทางลัด " เหล่านี้ คำถามนี้ได้รับความสนใจในการวิจัยชุมชน [ stoica 2001 rowstron 2001 ratnasamy 2001 ; Zhao 2004 ; maymounkov 2002 ; กาเซส erce 2003 ] ที่สำคัญมันได้ถูกแสดงว่า DHT ถูกออกแบบมาเพื่อให้ทั้งเบอร์ของเพื่อนต่อเพื่อนที่เป็นหมายเลขของข้อความต่อแบบสอบถามเป็น O ( log n ) โดยที่ n คือจำนวนเพื่อน การออกแบบดังกล่าวทำให้ประนีประนอมน่าพอใจระหว่างโซลูชั่นมากของการใช้ตาข่ายและวงกลมซ้อนทับยี .
การแปล กรุณารอสักครู่..