XMPP (Jabber) — XML-baseret åben standard for instant messaging

XMPP (Jabber) — XML-baseret, åben standard for instant messaging: decentraliseret, open source, privat og skalerbar kommunikation med millioner af brugere.

Forfatter: Leandro Alegsa

Extensible Messaging and Presence Protocol (XMPP) (tidligere kaldet Jabber) er en protokol til instant messaging. Den er inspireret af XML og er designet til at sende små XML-beskeder i nærmest realtid mellem klienter og servere.

Den adskiller sig fra de fleste proprietære protokoller, fordi det er en åben standard. Det betyder, at alle, der har et domænenavn og en internetforbindelse, kan køre deres egen server, og servere kan kommunikere indbyrdes på tværs af netværket (federation) på samme måde som e‑mail. Det meste af softwaren og klienterne er open source, hvilket har bidraget til bred adoption og mange forskellige implementeringer.

Hvordan virker XMPP?

XMPP bruger en adresseform kaldet JID (Jabber ID), typisk i formatet bruger@domæne/resource. Kommunikation foregår som XML-stykker («stanzas») der repræsenterer beskeder, tilstedeværelse (presence) og forespørgsler til serveren. Nogle centrale principper og funktioner:

  • Presence: Brugere annoncerer status (online, optaget, væk) og kan se andres tilstedeværelse.
  • Roaster: Kontaktlisten håndteres af serveren og synkroniseres mellem klienter.
  • One‑to‑one messaging og gruppechat (MUC — Multi‑User Chat).
  • Udvidelser: Funktionalitet som filoverførsel, voice/video‑signalisering (Jingle), og publicering/abonnement (PubSub) leveres gennem tilføjelser til protokollen.
  • Federation: Servere kan udveksle beskeder på tværs af domæner, hvilket giver et decentraliseret netværk.

Sikkerhed og kryptering

XMPP benytter i praksis transportkryptering (TLS) for sikre forbindelser mellem klient og server samt server‑til‑server. Autentifikation foregår typisk via SASL. For end‑to‑end‑kryptering (E2EE) findes der flere valgmuligheder, fx OTR, OpenPGP og moderne protokoller som OMEMO, som giver kryptering mellem klienterne og beskytter indholdet selvom trafikken går gennem servere. Det er vigtigt at forstå, at grundprotokollen ikke automatisk giver E2EE — det afhænger af klient og konfiguration.

Udvidelser (XEPs) og standarder

XMPP er modulært: kerneprotokollen definerer basale mekanismer, mens mange funktioner beskrives i separate XEPs (XMPP Extension Protocols). XEP'erne dækker alt fra filoverførsel og emojis til avancerede funktioner som stream management, vCard‑håndtering og push‑notifikationer til mobile enheder.

Servere, klienter og anvendelser

XMPP er udbredt i både slutbruger‑chat og i bagvedliggende systemer til realtidskommunikation. Historisk har tjenester som Google Talk og Gizmo5 brugt XMPP, og protokollen er blevet installeret på tusindvis af servere over hele internettet. Der findes rapporter om over fem hundrede millioner brugere af software baseret på protokollen. Blandt kendte klienter findes fx Pidgin og iChat, og der findes mange andre moderne klienter til desktop og mobil, samt serverimplementeringer til forskellige behov (fra letvægtsservere til skalerbare løsninger til store installationer).

Fordele og ulemper

  • Fordele: Åben og decentral model, godt understøttet i open source‑miljøet, fleksibel gennem XEP‑udvidelser, stærke muligheder for presence/roster og realtids‑funktioner.
  • Ulemper: Kræver opsætning og vedligehold af server/konfiguration hvis man vil køre selvstændigt; standarden er meget fleksibel, hvilket kan føre til inkompatibiliteter mellem forskellige udvidelser eller implementeringer; end‑to‑end‑kryptering er ikke altid standard.

Eksempler på anvendelser

  • Klassisk instant messaging mellem brugere.
  • Gruppesamtaler og samarbejdsrum (MUC).
  • Signalisering til VoIP/Video (Jingle).
  • Publisering/abonnement (PubSub) til realtidsopdateringer og IoT‑scenarier.
  • Integrationer i virksomheder til intern chat og notifikationer.

Sammenfattende er XMPP en moden, fleksibel og åben protokol til realtidskommunikation med et stort økosystem af klienter, servere og udvidelser. Valget af XMPP giver frihed til at køre egne tjenester og tilpasse funktionalitet, men kræver opmærksomhed på sikkerhed og kompatibilitet mellem udvidelser.

Historie

Jeremie Miller startede Jabber-projektet i 1998. Den første store offentlige udgivelse blev udsendt i maj 2000. Denne tidlige software var grundlaget for XMPP. Det var en konkurrent til SIMPLE, som var baseret på SIP-protokollen.

I august 2001 blev Jabber Software Foundation (JSF) oprettet. JSF's hovedopgave var at administrere XML-protokollerne for XMPP ved at dokumentere dem. Desuden skulle organisationen koordinere de mange virksomheder, der anvendte XMPP-teknologien.

I 2002 oprettede Internet Engineering Task Force en arbejdsgruppe til at formalisere protokollen. Gruppen fik navnet Extensible Messaging and Presence Protocol Working Group, eller XMPP WG.

I 2007 blev Jabber Software Foundation (JSF) til XMPP Standards Foundation (XSF).

XMPP og HTTP

XMPP kan bruge HTTP til at sende data til serverne. Dette er nyttigt, når der er strenge firewalls, fordi data kan sendes via internettet i stedet for via en anden port (port 5222 og 5223).

Der findes også åbne offentlige servere, som bruger standardporte (port 80 og 443), så brugerne kan oprette forbindelse fra bag de fleste firewalls.

Spørgsmål og svar

Q: Hvad er XMPP?


A: XMPP står for Extensible Messaging and Presence Protocol. Det er en protokol til instant messaging, der er inspireret af XML og er en åben standard.

Q: Hvordan adskiller XMPP sig fra andre protokoller?


A: XMPP adskiller sig fra andre protokoller, fordi det er en åben standard. Det betyder, at alle, der har et domænenavn og en internetforbindelse, kan køre deres egen server.

Q: Hvad er det for noget software, der bruger XMPP-protokollen?


A: Google Talk og Gizmo5 er eksempler på software, der bruger XMPP-protokollen. Det meste af softwaren og klienterne er open source.

Q: Hvor mange servere på tværs af internettet har installeret XMPP?


A: XMPP er installeret på tusindvis af servere på tværs af internettet.

Q: Hvor mange brugere anvender software baseret på XMPP-protokollen?


A: Der er over fem hundrede millioner brugere, der bruger software baseret på XMPP-protokollen.

Q: Hvad er nogle af de klienter, der bruger XMPP?


A: Nogle af de klienter, der bruger XMPP, er Pidgin og iChat.

Q: Hvad er den største fordel ved, at XMPP er en åben standard?


A: Den største fordel ved, at XMPP er en åben standard, er, at alle, der har et domænenavn og en internetforbindelse, kan køre deres egen server.


Søge
AlegsaOnline.com - 2020 / 2025 - License CC3