500 likes | 600 Views
Session Initiation Protocol. Gruppe 4. SIP Oversikt. Introduksjon SIP Protokollen SIP Nettverkstjener SIP og mobilitet Sikkerhet og utfordringer. Introduksjon (1). SIP er en ende-til-ende, klient-server sesjonssignalerings- protokoll Definert i RFC 2543 Utviklet av IETF Bygger på HTTP
E N D
Session Initiation Protocol Gruppe 4
SIP Oversikt • Introduksjon • SIP Protokollen • SIP Nettverkstjener • SIP og mobilitet • Sikkerhet og utfordringer
Introduksjon (1) • SIP er en ende-til-ende, klient-server sesjonssignalerings- protokoll • Definert i RFC 2543 • Utviklet av IETF • Bygger på HTTP • Mindre og mer effektiv enn andre VoIP-protokoller som f.eks. H.323
Introduksjon (2) • SIP sine oppgaver er å: • Opprette presence • Finne brukere • Sette opp sesjoner • Vedlikeholde sesjoner • Nedkobling og terminering av sesjoner
Introduksjon (3) • SIP tilbyr de nødvendige mekanismene for at ende-systemene og proxy-tjeneren skal kunne tilby følgende tjenester: • Videresending av samtaler • Nummeridentifikasjon • Personmobilitet • Autentisering • Invitasjon til multicast-konferanse
SIP Protokollen
SIP protokollen • SIP protokoll-stack • Kva inneheld SIP • Kva inneheld SDP • MSCar
SIP protokollstack Kjelde: Thomas Doumas,
SIP • Request metodar • Response kodar
SIP RFC2543 metodar • INVITE initierar sessjonen • ACK konfirmerar sejsonens oppstart kan kun nyttast saman med INVITE • BYE avluttar sessjonen • CANCEL avbryt ein ventande INVITE • OPTIONS kommunikasjonstypar som er støtta • REGISTER registrerer ein klient med ein lokasjonsteneste
SIP Response Kodar Lånt frå HTTP: xyz forklarande tekst Mottakar må forstå x x80 og høgare kodar hindrar konfliktar med framtidige HTTP response kodar • 1yz Informational • 100 Trying • 180 Ringing (processed locally) • 181 Call is Being Forwarded • 2yz Success • 200 ok • 3yz Redirection • 300 Multiple Choices • 301 Moved Permanently • 302 Moved Temporarily • 4yz Client error • 400 Bad Request • 401 Unauthorized • 482 Loop Detected • 486 Busy Here • 5yz Server failure • 500 Server Internal Error • 6yz Global Failure • 600 Busy Everywhere
Session Description Protocol (SDP), RFC 2327 SDP header spesifiserer: • Sesjonsnavn og formål • Tiden sesjonen er aktiv • Sesjonens medieinnhold • Transport adresse og sesjonens medieformat • Båndbredde som skal brukes av sesjonen • Kontaktinformasjon for personen som er ansvarlig for sesjonen
Medie informasjon Ein nøkkelkomponent i SDP er å definere media for sesjonen: • Media type (audio, video) • Transport protocol (UDP, TCP, RTP, etc) • Media format (H.261, MPEG, etc) • Multicast address for IP multicast sessions • Transport port for IP multicast sessions • Remote address for IP unicast sessions • Transport port for IP unicast sessions • Session start and stop times
Måtar å sette opp ein samtale på • Ved bruk av proxy server • Ved bruk av redirect server
SIP Nettverkstjener
SIP Nettverkstjener • SIP trenger et IP-nett som tilbyr standard tjenester (som routing og DNS) • Nettet trenger i tillegg SIP komponenter: • Signalhåndtering • Oversikt over brukeres lokasjon • Navn/Adresse-oversetting
Komponenter i SIP nettverkstjener • SIP Register • To typer SIP Tjenere: • Proxy Tjener • SIP Redirect Tjener
SIP Registertjener • Mottar registreringsmeldinger fra endebruker om nåværende lokasjon • Mapper brukerens SIP-adresse til registrert lokasjon • Mappingen lagres på serveren, enten på samme maskin eller i en ekstern database
SIP Proxytjener • Videresender SIP meldinger til riktig proxyserver for å få call-meldinger frem til riktig destinasjon • Ved forking videresendes call-meldinger til flere proxier -> søketre • Slår opp adresse i Registertjener • Utfører Policy management • Kan operere i tilstandsløs eller tilstandsorientert modus
Tilstandsorientert proxymodus • Husker innkommende anropforespørsler • Kan brukes til billing • Tilstandene kan brukes til mer avanserte tjenester • Nødvendig for forking • Ulempe: Økt ressurskrav på tjeneren
Tilstandsløs proxymodus • Husker ikke på noen tilstander • Kan repliseres raskere • Trenger mindre prosessering • Tilbyr anonymitet • Hybrid: Semi-tilstandsorienterte proxy
SIP Redirect-tjener • Får forespørsler fra endepunktene om call-setup • Kontakter registeret og mapper adressen om til den riktige adressen • Sender ny adresse tilbake til klienten • Brukes dersom en bruker midlertidig har endret lokasjon
SIP Mobilitet
Personmobilitet • En bruker blir adressert ved hjelp av en unik URI • Kan bli funnet uavhengig av lokasjon og av hvilken terminal som benyttes • REGISTER knytter en person til en enhet • Proxy og redirect oversetter adresse til lokasjon og enhet
Tjenestemobilitet • REGISTER kan hente konfigurasjon for tjenester som speed dial, adressebok, buddy list • Tjenester må kunne fungere på alle enheter • CPL (Call Processing Language) kan brukes for å beskrive hvordan inngående samtaler skal håndteres
Terminalmobilitet, pre-call • Pre-call terminalmobilitet via SIP Proxy, redirect • Enkleste form for SIP mobilitet • MH får IP • MH kan finne SIP server via multicast REGISTER • MH oppdaterer home SIP server
Terminalmobilitet, mid-call • SIP reINVITE, RTP • MH sender ny INVITE til CH med Contact og oppdatert SDP • Registrerer seg på nytt hos home registrar
Terminalmobilitet og TCP • SIP støtter ikke terminalmobilitet for TCP-forbindelser • Kan benytte omstart på applikasjonslaget for å omgå dette • Evt. benytte SCTP (Stream Control Transmission Protocol)
Hierarkisk registrering • Ønsker ikke å oppdatere home registrar ved hver eneste forflytning
Sesjonsmobilitet • Sesjonsmobilitet kan støttes på minst to forskjellige måter • Third-party call control
Sesjonsmobilitet,forts • Call transfer: benytter REFER for å overføre sesjon til ny destinasjon
SIP Sikkerhet og utfordringer
Utfordringer • Sikkerhet • Brannmurer (Firewalls) • Network AddressTranslation
Trusler mot et SIP nettverk • Noen utgir seg for å være en annen SIP bruker. • Noen utgir seg for å være en SIP tjener. • Meldingstukling. • Avlytting. • Denial of Service.
SIP sikkerhetsmekanismer • Ende-til-ende mekanismer • Basic authentication • Utgått i ny SIP RFC • Digest authentication • S/MIME • Hopp-for-Hopp mekanismer • Transport Layer Security (TLS) • IP Security (IPSec) • SIPS URI
Brannmurer • Tilbyr beskyttelse av et nettverk vha restriktiv pakkefiltrering. • Mye brukt i bedriftsnettverk. • Brukes av flere og flere hjemmebrukere. • Vanlig policy er å stenge ute all trafikk unntatt den man eksplisitt ønsker at skal slippe gjennom.
Network Address Translation • Statisk eller dynamisk oversettelse mellom adresser i 2 forskjellige nettverk. • Mest vanlig er en spesiell form for dynamisk NAT hvor mange lokale ip-adresser deler en ekstern adresse (PAT). • Brukes som en løsning på mangelen av IPv4 adresser. • Mye brukt i bedriftsnettverk.
Utfordringer (SIPbrannmur) • SIP mediastrømmer er ikke statiske: • Adresser varierer fra samtale til samtale. • Portnummer velges dynamisk. • Statiske brannmurer tillater ikke dynamiske mediastrømmer. SIP signalering, OK: Åpne port 5060 Mediastrøm på dynamisk valgt portnummer: ”Ikke snakk om” Selv med globale ip-adresser internt
Utfordringer (SIPNAT/PAT) • Registrering • En maskin med lokal ip-adresse ønsker å registrere seg hos en SIP registrar. • Private IP-adresser som mottaker/avsender i SIP signalering. • Private IP-adresser og portnummer for mediastrømmen fraktes i SIP meldingene. • Forbindelse kan ikke opprettes!
Firewall m/NAT Firewall Control Protocol User Location SIP Proxy Løsninger for brannmur • Bruke en mindre restriktiv brannmurpolicy (uaktuelt). • Application Level Gateways. • SIP header rewriting • UDP/RTP proxy • SIP aware firewall. • Brannmur håndterer dynamisk åpning og lukking av porter for mediastrømmer. • SIP proxy og registrar integrert i brannmuren. • Firewall Control Protocol (FCP) • Brukes til kommunikasjon mellom for eksempel en SIP proxy og en firewall.
Løsninger for NAT signalering • Registrering av maskin bak NAT: • Registrar kan lagre den eksterne ip’en den ser som avsender, eller • Klienten vet om sin eksterne ip/port mapping og setter denne som mottaker i registreringsmeldingen. • Utgående signalering på fast port (5060) mulig med NAT. • Svar må sendes til samme port som meldingen mottas fra. • Feltene ”received” og ”rport” i SIP headeren kan brukes. • TCP kan benyttes til signalering.
Løsninger for NAT mediastrøm • Universal Plug'n Play (UPnP) [Microsoft] • Kommunikasjonsprotokoll mellom klienten og NAT-routeren. • Klienten kan ved forespørsel få tildelt en ekstern ip/port mapping. • Eksternt oppslag • Spør en server på internett hvilken ip/port den ser som avsender. • STUN (Simple Traversal of UDP Through NATs) • Protokoll for å utføre eksternt oppslag. • Finner også ut hva slags NAT router du er bak.