Magnetlänk

Från Wiki.linux.se
Version från den 16 november 2025 kl. 08.13 av Admin (diskussion | bidrag) (→‎Magnetlänkar vs .torrent-filer)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

Magnetlänk

En magnetlänk (eng. Magnet URI) är ett innehållsidentifierande URL-format som används för att referera till data i distribuerade system, framför allt inom BitTorrent-protokollet. Till skillnad från traditionella URL:er, som pekar på en specifik plats eller server, pekar en magnetlänk på ett kryptografiskt hashvärde som representerar innehållets identitet. Detta gör magnetlänkar oberoende av centraliserade resurser och bättre anpassade för decentraliserade P2P-miljöer.

Magnetlänkar definieras i Magnet URI-schemat och har stöd i de flesta moderna BitTorrent-klienter, distribuerade hash-tabeller (DHT) samt andra innehållsbaserade adresseringssystem.

Teknik och designprincip

Magnetlänkar bygger på konceptet Content-Based Addressing, där innehållet identifieras med ett hashvärde i stället för en filbana eller nätverksadress. Det innebär att:

  • samma data ger samma hash, oavsett var den lagras.
  • klienter kan verifiera innehållet med hashkontroll.
  • distribuerade system kan lokalisera innehåll genom DHT eller andra sökalgoritmer.

Det vanligaste identifieringsschemat är:

  • urn:btih: – BitTorrent InfoHash (SHA-1 eller SHA-256)

Nyare bittorrent-implementationer använder ofta SHA-256 enligt BEP 52.

Struktur och URI-format

En magnetlänk består av en URI enligt schemat:

magnet:?xt=urn:btih:<infohash>&dn=<filnamn>&tr=<tracker-URL>&xl=<storlek>

De vanligaste parametrarna:

xt (Exact Topic)
Unik identifierare för innehållet. Exempel: xt=urn:btih:0123456789ABCDEF0123456789ABCDEF01234567
dn (Display Name)
Förslag på filnamn som klienten kan visa.
tr (Tracker)
En valfri tracker-URL för att effektivisera peer-upptäckt utanför DHT.
ws (Web Seed)
HTTP- eller HTTPS-URL där innehållet kan hämtas direkt.
xl (Exact Length)
Filens storlek i byte.

Magnetlänkar kan innehålla flera xt-värden, vilket används i Multi-Hash och Multi-Protocol-scenarier.

InfoHash och hashfunktioner

I BitTorrent är InfoHash en hash av torrentens metainfo-struktur. Ursprungligen användes:

  • SHA-1 – 160-bitars hash (BEP 3, klassisk BitTorrent)

På grund av säkerhetsproblem med SHA-1 används nu:

  • SHA-256 – 256-bitars hash (BEP 52, V2-torrents)

Magnetlänkar stödjer båda formaten. En klient som arbetar med V2-torrents kan behöva omvandla eller jämföra hashvärden för kompatibilitet.

Peer-upptäckt via DHT

Magnetlänkar fungerar utan torrentfil tack vare Distributed Hash Table (DHT). När en klient öppnar en magnetlänk:

  1. Klienten extraherar InfoHash.
  1. Klienten gör en DHT-query (typiskt Kademlia-variant enligt BEP 5).
  1. Andra noder i nätverket som känner till InfoHash returnerar listor över peers.
  1. Klienten etablerar BitTorrent-anslutningar mot dessa peers.

Det innebär att torrentfiler endast behövs för metadata; själva peer-upptäckten kräver inte en centraliserad tracker.

Magnetlänkar vs .torrent-filer

Jämförelse mellan magnetlänkar och .torrent-filer
Egenskap Magnetlänk Torrentfil (.torrent)
Lagring Textbaserad URI Bencoded metadatafil
Central server krävs Nej Nej (men används ofta)
Identifiering Hash direkt i länken (Content-based) InfoHash lagrad i filen
Metadata Hämtas senare via peers/DHT Inbyggt i filen
Storlek Mycket liten (några bytes) Några kilobytes
Robusthet Mycket hög (ingen central punkt) Medium (beroende på filens tillgänglighet)

Multihash och multiprotokoll

Magnetlänkar kan även innehålla flera xt-fält för att ange olika identifierare:

magnet:?xt=urn:btih:...&xt=urn:sha256:...&xt=urn:tree:tiger:...

Detta gör det möjligt att:

  • identifiera samma innehåll i olika P2P-protokoll,
  • övergå mellan hashfunktioner (t.ex. SHA-1 → SHA-256),
  • använda distribuerade lagringssystem parallellt.

Säkerhet och integritet

Magnetlänkar har flera säkerhetsrelaterade egenskaper:

  • Innehållsverifiering – klienten verifierar varje delbit mot hashlistor.
  • Ingen central server – minskad attackyta mot webbsidor som distribuerar länkar.
  • Öppen peer-information – P2P-nätverk exponerar IP-adresser för alla peers.

Sårbarheter och risker:

  • DHT-förgiftning (malicious nodes injicerar falska peers).
  • Kollisionsattacker mot SHA-1 i äldre torrents.
  • Metadata-spoofing innan första bitarna är verifierade.

Säkerhetsåtgärder:

  • Migrering till SHA-256-baserade V2-torrents.
  • Autentiserade trackerprotokoll.
  • Begränsning av inkommande anslutningar.
  • Användning av VPN eller Tor (begränsad kompatibilitet).

Implementering i olika protokoll och system

Magnetlänkar används i:

  • BitTorrent (standard)
  • I2P-Bittorrent (krypterat)
  • Freenet
  • IPFS (i modifierad form via CID och multihash)
  • GNUnet

De är särskilt användbara i system som förespråkar:

  • decentralisering
  • dataintegritet
  • replikerad lagring
  • bandbreddsdelning

Fördelar

  • Centraliseringsfri identifiering av innehåll
  • Kompatibel med DHT-baserad peer-upptäckt
  • Effektiv vid driftsättning av stora filarkiv
  • Minimal overhead: en magnetlänk kan distribueras via textmedia
  • Robusthet vid censur eller nedstängning av resurser

Nackdelar

  • Kräver DHT eller tracker för att hitta peers
  • Ingen medföljande metadata utan peer-kontakt
  • Kan starta långsamt i glest distribuerade svärmar
  • Begränsade verifieringsmöjligheter innan nedladdning startar

Exempel

Exempel på magnetlänk med flera parametrar:

magnet:?xt=urn:btih:0123456789ABCDEF0123456789ABCDEF01234567&dn=exempel.iso&tr=udp://tracker.example.org:80&ws=https://example.org/files/exempel.iso

Se även

Sidslut

https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.