יש להשלים ערך זה: בערך זה חסר תוכן מהותי. ייתכן שתמצאו פירוט בדף השיחה.
| ||
יש להשלים ערך זה: בערך זה חסר תוכן מהותי. ייתכן שתמצאו פירוט בדף השיחה. | |
קדמליה (מלועזית: Kademlia, ובקיצור: Kad) היא טבלת גיבוב מבוזרת (Distributed hash table, DHT) מדור שלישי, המשמשת ברשתות P2P שהומצאה על ידי פטר מיימאונקוב (Petar Maymounkov) ודייוויד מזיארס (David Mazières).[1]
בקדמליה ממופים כל הערכים המאוחסנים בעזרת פונקציית הגיבוב SHA-1, הנותנת לכל ערך מפתח בן 160 בתים. פונקציית המרחק בין שני מפתחות היא פונקציית XOR, כך נוצר מרחב חיפוש בו ניתן למקם את כל הערכים ולתאר את המרחקים ביניהם לפי מרחקי המפתחות.
בנוסף, ממופים כל הצמתים ברשת לפי אותן פונקציות גיבוב ומרחק ואותו מרחב בן 160 הבתים מכיל הן את הערכים והן את המשתתפים ברשת.
משך החיפוש בקדמליה יחסי ל-, כאשר n הוא מספר החברים ברשת.
השימוש הנפוץ ביותר ברשת הוא לצורך שיתוף קבצים, בדוגמה הבאה מודגם חיפוש אחר קובץ ברשת:
הניתוב בקדמליה הוא הדרגתי, כל צומת (node) ברשת מעביר למחפש את הכתובת אל הצומת הבא. מפני שכל צומת מחזיק מידע מאוד מפורט על המתחם הקרוב אליו במרחב החיפוש ומידע דליל יותר על החלקים המרוחקים יותר, ה"קפיצות" אותן מבצע המחפש הן בצעדים שהולכים ומתקצרים (מבחינת המרחק בין ערכי פונקציית הגיבוב) וכך מובטח החיפוש בן שלבים לכל היותר.
את הפרוטוקול מממשת התוכנה הפופולרית eMule, שהיא המחליפה של eDonkey ותוכנות P2P נוספות משתמשות בו.