Nyheter, Prylar, Android, Mobiler, Appnedladdningar, Android

Nybörjarguiden till RTP-portar

RTP står för realtidstransportprotokoll, vilket är användbart för att leverera live mediaströmmar över TCP/IP-nätverk. Dessa strömmar är vanligtvis inställda för att ses av många användare samtidigt, men inte alltid.

Förutom att användas i en-till-många och många-till-många (multicast)-kommunikation för att överföra data till flera destinationer, används RTP för en-till-en-samtal (unicast) i videokommunikation, telefoni och Voice over IP (VoIP) tjänster.

RTP används också med signaleringsprotokoll som SIP (Session Initiation Protocol), som skapar, modifierar och avslutar kommunikationssessioner av olika typer – inklusive videokonferenser, snabbmeddelanden och andra former av mediadistribution.

Som ett kommunikationsprotokoll använder RTP ett brett utbud av portar för att optimera leveransen av ljud- och videoströmmar. Standardvärdet för RTP-portintervall är mellan 16384 och 32767, med olika leverantörer som väljer olika portar.

Som referens är SIP-kommunikation vanligtvis i intervallet 5060 till 5082 UDP-portar, och porten som används för din SIP-trunk eller VoIP kommer att variera beroende på leverantör.

RTP är i alla fall inte ditt vanliga nybörjarämne, speciellt när det kommer till portar.

RTP-portar kommer alltid i par

RTP är ett kraftfullt protokoll som används i många applikationer som VoIP-telefontjänster, videokonferenser och simuleringsdata. För att tillhandahålla end-to-end-leverans av mediaströmmar i realtid krävs ett par öppna portar för dataleverans.

Detta beror på att RTP använder en port för att implementera ljud-/rösttrafik och en annan port för det som kallas RTP-kontrollprotokollet (RTCP). Med andra ord, medan RTP bär mediaströmmarna, bär RTCP den nödvändiga informationen för att RTP-sessionen ska fungera korrekt.

Som sådan fungerar RTCP tillsammans med RTP-dataströmmar för att åstadkomma många saker.

  • Den tillhandahåller kontrollinformation och out-of-band-statistik för RTP-sessionen.
  • Den övervakar servicekvaliteten (QoS) med avseende på datatrafik.
  • Den förmedlar information om deltagarna i den pågående sessionen, som avsändarens identitet, ifall en app vill visa den i ett användargränssnitt.
  • Den synkroniserar och korrelerar de olika mediaströmmarna från samma avsändare.

Vilka nummer är RTP-portar?

Portar är mjukvarubaserade anslutningsändpunkter som leder eller skickar data till en viss tjänst. Även om en port är en virtuell punkt, är den väsentlig för nätverkskommunikation och tilldelas ett unikt identifierbart portnummer. Portnumret är en specifik adress eller plats dit data eller meddelanden från internet eller andra nätverk vidarebefordras när de når servern.

RTP-specifikationer rekommenderar att man använder jämna portnummer för RTP, medan udda portar används för RTCP. I praktiken, medan RTP levereras till en jämn port, måste motsvarande RTCP vara den näst högre udda porten.

Till exempel, om en RTP-applikation sänder media på port 1024, bör RTCP-porten skicka data på port 1025. Kom ihåg att detta bara är en illustration eftersom vilken port som helst kan användas med RTP. Det är dock tillrådligt att använda portnummer av hög ordning mellan 1024 och 65535.

Datorns operativsystem hanterar portar, och portnummer delas normalt in i följande tre tre områden.

  • Välkända portar ligger mellan 0 och 1023 inklusive. Dessa är reserverade för specifika protokoll, till exempel HTTP-protokollet som använder port 80.
  • Systemportar eller registrerade portar sträcker sig från portar 1024 till portar 49151. Dessa är avsedda för användning med ett visst program eller protokoll och är för närvarande tilldelade av Internet Assigned Numbers Authority (IANA).
  • Dynamiska eller privata portar är i intervallet 49152 till 65535. Dessa portar är inte registrerade, tilldelade eller kontrollerade av någon enhet.

Samtidigt har IANA registrerat port 5004 för RTP och 5005 för RTCP.

TCP och UDP och RTP, oh my!

Transmission Control Protocol (TCP) och UDP (User Datagram Protocol) är transportlagerprotokoll som är grundläggande för internetkommunikation. Förutom att inte uppmärksamma mannen bakom ridån, gör dessa protokoll dina onlineaktiviteter möjliga helt enkelt genom att underlätta dataöverföring från en nätverkskälla till dess destination.

TCP är säkrare och pålitligare, medan UDP offrar dessa funktioner för hastighet. Medan TCP är anslutningsorienterat är UDP ett anslutningslöst protokoll som inte kan sekvensera data och som inte garanterar dataleverans.

Eftersom UDP inte stör sig på fullständig dataleverans, utför den ingen dataåteröverföring och har minimal felkontroll för att fixa buggar. Även om dessa egenskaper kan verka ogynnsamma för dataöverföringar, är de idealiska för realtidskommunikation.

UDP är dock bättre lämpad för RTP:s live-, multicast-natur eftersom den är byggd för snabbare dataöverföring på grund av att den inte behöver säkerställa dataleverans.

Även om IP-nätverk har gett oss många fördelar, har de några betydande nackdelar. Till exempel är IP-nätverk inte supertillförlitliga eftersom de plågas av leveransproblem som inte är i ordning, vilket innebär att tidsavvikelser och förseningar i desekvensering orsakar “jitters” vid leverans av paket.

Med andra ord är TCP/IP inte designad för datamiljöer med låg latens.

Lyckligtvis kompenserar eller motverkar RTP dessa brister genom att tillhandahålla följande:

  • Ett sekvensnummer (för att upptäcka förlorade paket)
  • Tidsstämpling
  • Ramindikation (markerar början och slutet av en IP-ram)
  • Identifiering av nyttolasttyp
  • Leveransövervakning

Genom att lägga högre tonvikt på snabbare leverans av paketströmmar snarare än att se till att all data tas emot, är RTP bättre på att hålla videoströmmar igång istället för att irriterande buffra eller pausa för att förbereda ytterligare uppspelning.

Även om de saknade datapaketen kan göra att ljudet förlorar en bråkdel av en sekund eller videon en bild eller två, är det ofta för kort för att märkas för användaren.

Medan RTP-applikationer kan använda TCP, kör de vanligtvis på UDP eftersom de utför snabbare dataleverans. Som ett resultat föredrar många företag RTP för livestreaming, onlinespel och videochattapplikationer.

Å andra sidan är TCP mer pålitligt och säkert eftersom det har en inbyggd paketleveransgaranti. Därför är TCP lämpad för webbsurfning, filöverföringar, e-postmeddelanden och SMS, som kräver tillförlitlig dataöverföring.

RTP-portintervall beror på din leverantör

Som nämnts tilldelas RTP-portar i UDP-intervallet 16384 och 32767. Olika leverantörer tenderar att använda olika portar inom detta intervall. Cisco Unified Communications Manager (CUCM) använder till exempel UDP-portar i intervallet 24576 och 32767.

Inom cybersäkerhet är oskyddade portar välkända attackvektorer som kriminella använder för att äventyra data. RTP är sårbart främst på grund av dess kontaktlösa funktion, eftersom det inte kräver att man upprättar en anslutning mellan två punkter för dataöverföring. Detta gör det något mottagligt för hackare som kan starta man-in-the-middle (MITM)-attacker.

Dessutom, eftersom RTP saknar inbyggd kryptering, är dess data också känsliga för sniffning och snoopattacker för att avlyssna dess data. Dessutom, på grund av den porösa karaktären hos dess kontaktlösa och okrypterade anslutning, kan hackare till och med injicera skadlig kod eller utnyttja den för att starta överbelastningsattacker (DoS).

Naturligtvis finns det alltid åtgärder för att åtgärda RTP:s säkerhetsbrister, såsom en brandvägg eller intrångsdetekteringssystem som kan upptäcka och blockera skändlig trafik.

På liknande sätt kommer organisationer som använder RTP-applikationer för videokonferenser ofta att använda VoIP-säkerhet och krypteringar för att skydda sina möten.