1 / 50

Session Initiation Protocol

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

nissim-wall
Download Presentation

Session Initiation Protocol

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Session Initiation Protocol Gruppe 4

  2. SIP Oversikt • Introduksjon • SIP Protokollen • SIP Nettverkstjener • SIP og mobilitet • Sikkerhet og utfordringer

  3. 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

  4. Introduksjon (2) • SIP sine oppgaver er å: • Opprette presence • Finne brukere • Sette opp sesjoner • Vedlikeholde sesjoner • Nedkobling og terminering av sesjoner

  5. 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

  6. SIP Protokollen

  7. SIP protokollen • SIP protokoll-stack • Kva inneheld SIP • Kva inneheld SDP • MSCar

  8. SIP protokollstack Kjelde: Thomas Doumas,

  9. SIP • Request metodar • Response kodar

  10. 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

  11. 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

  12. 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

  13. 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

  14. Måtar å sette opp ein samtale på • Ved bruk av proxy server • Ved bruk av redirect server

  15. SIP Nettverkstjener

  16. 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

  17. Komponenter i SIP nettverkstjener • SIP Register • To typer SIP Tjenere: • Proxy Tjener • SIP Redirect Tjener

  18. Komponenter i SIP

  19. 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

  20. 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

  21. 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

  22. Tilstandsløs proxymodus • Husker ikke på noen tilstander • Kan repliseres raskere • Trenger mindre prosessering • Tilbyr anonymitet • Hybrid: Semi-tilstandsorienterte proxy

  23. 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

  24. Eksempel på signalering mellom komponentene

  25. SIP Mobilitet

  26. 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

  27. Mobilitetsstøtte (Proxy og Redir.)

  28. 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

  29. 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

  30. Terminalmobilitet, mid-call • SIP reINVITE, RTP • MH sender ny INVITE til CH med Contact og oppdatert SDP • Registrerer seg på nytt hos home registrar

  31. 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)

  32. Hierarkisk registrering • Ønsker ikke å oppdatere home registrar ved hver eneste forflytning

  33. Sesjonsmobilitet • Sesjonsmobilitet kan støttes på minst to forskjellige måter • Third-party call control

  34. Sesjonsmobilitet,forts • Call transfer: benytter REFER for å overføre sesjon til ny destinasjon

  35. SIP Sikkerhet og utfordringer

  36. Utfordringer • Sikkerhet • Brannmurer (Firewalls) • Network AddressTranslation

  37. 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.

  38. 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

  39. SIP sikkerhetsmekanismer

  40. 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.

  41. 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.

  42. Utfordringer (SIPbrannmur) • 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

  43. Utfordringer (SIPNAT/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!

  44. 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.

  45. 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.

  46. 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.

  47. ?!

More Related