Alla vanliga nätverksprotokoll förklaras

Nätverksprotokoll är en uppsättning regler som enheter använder för att kommunicera med varandra över ett nätverk.

Det liknar hur människor följer vissa beteenden och procedurer när de pratar med varandra.

De anger saker som hur datapaket ska struktureras, hur enheter ska identifiera sig och hur fel och konflikter ska hanteras.

Nätverksprotokoll kan kategoriseras i dessa tre huvudtyper: Kommunikation, Säkerhet och Management.

#1. Kommunikationsprotokoll

Dessa protokoll fokuserar på att möjliggöra utbyte av data och information mellan enheter i ett nätverk. De bestämmer hur data formateras, överförs och tas emot, vilket säkerställer effektiv kommunikation. Exempel är HTTP/HTTPS, FTP, TCP och UDP.

#2. Säkerhetsprotokoll

Säkerhetsprotokoll är utformade för att skydda konfidentialitet och äkthet för data när den korsar ett nätverk. De etablerar säkra kanaler för kommunikation och ser till att känslig information inte är sårbar för avlyssning eller manipulering.

Exempel inkluderar SSL/TLS för kryptering, SSH för säker fjärråtkomst och säkra varianter av e-postprotokoll som SMTPS och POP3S.

#3. Förvaltningsprotokoll

Hanteringsprotokoll används för administration, övervakning och kontroll av nätverksenheter/resurser. De hjälper nätverksadministratörer att konfigurera och felsöka nätverkskomponenter effektivt.

Några exempel är DHCP för dynamisk IP-adressallokering, SNMP för nätverksenhetshantering, ICMP för diagnostiska ändamål och BGP för routing- och nåbarhetsinformation.

Låt oss diskutera några vanliga protokoll från varje kategori.

Kommunikationsprotokoll

HTTP

HTTP står för Hypertext Transfer Protocol.

Det är ett grundläggande protokoll som används för kommunikation mellan en webbläsare och en server.

Det är ett applikationslagerprotokoll som fungerar ovanpå OSI-modellen.

När du anger en URL i din webbläsare och trycker på enter skickar den en HTTP-förfrågan till en webbserver som sedan behandlar förfrågan och skickar tillbaka ett HTTP-svar som innehåller den begärda informationen.

Detta kan vara en webbsida, en bild, en video eller någon annan resurs som finns på servern.

HTTP är ett tillståndslöst protokoll. Det innebär att varje begäran från en klient till en server behandlas som en oberoende och isolerad transaktion.

Servern upprätthåller ingen information om tidigare förfrågningar från samma klient. Denna enkelhet är en av anledningarna till att HTTP används så flitigt.

HTTP definierar flera begäransmetoder, inklusive GET (hämta data), POST (skicka data som ska bearbetas), PUT (uppdatera en resurs), DELETE (ta bort en resurs) och andra. Dessa metoder bestämmer vilken typ av operation klienten vill utföra på servern.

I allmänhet inkluderar HTTP-svar en statuskod som indikerar resultatet av begäran.

Till exempel – En statuskod på 200 indikerar en framgångsrik begäran, medan 404 indikerar att den begärda resursen inte hittades.

Och HTTP har sett flera versioner genom åren, där HTTP/1.1 är en av de mest använda versionerna på länge.

HTTP/2 och HTTP/3 (även känd som QUIC) utvecklades för att förbättra prestandan.

HTTPS

HTTPS står för Hypertext Transfer Protocol Secure.

Det är en förlängning av HTTP-protokollet som används för säker kommunikation över datornätverk.

Det lägger till ett lager av säkerhet till standard HTTP genom att kryptera data som utbyts mellan en webbläsare och webbserver med hjälp av kryptografiska protokoll som SSL/TLS. Även om någon fångar upp data som överförs kan de inte enkelt läsa eller dechiffrera den.

HTTPS inkluderar en form av serverautentisering.

När en webbläsare ansluter till en webbplats via HTTPS, presenterar webbplatsen ett digitalt certifikat som är utfärdat av en betrodd certifikatutfärdare (CA).

Detta certifikat verifierar webbplatsens identitet, vilket säkerställer att klienten ansluter till den avsedda servern och inte en skadlig server.

Webbplatser som använder HTTPS identifieras med ”https://” i början av sina webbadresser. Användningen av detta prefix indikerar att webbplatsen använder en säker anslutning.

HTTPS använder vanligtvis port 443 för kommunikation – medan HTTP använder port 80. Webbservrar kan enkelt skilja mellan säkra och osäkra anslutningar med denna distinktion.

Sökmotorer som Google prioriterar webbplatser som använder HTTPS i sin sökrankning.

Webbläsare kan också varna användare när en säker HTTPS-webbsida innehåller element (bilder eller skript) som serveras via en osäkrad HTTP-anslutning. Detta är känt som ”blandat innehåll” och kan äventyra säkerheten.

Här är en detaljerad artikel om hur man får ett SSL-certifikat för en webbplats. Besök gärna denna sida.

FTP

File Transfer Protocol (FTP) är ett standardnätverksprotokoll som används för att överföra filer mellan en klient och en server på ett datornätverk.

FTP fungerar på klient-servermodellen. Det betyder att klienten initierar en anslutning till en annan dator (servern) för att begära och överföra filer.

FTP använder två portar för kommunikation och kan fungera i två lägen: aktivt läge och passivt läge.

Port 21 används för kontrollanslutningen där kommandon & svar skickas mellan klienten och servern.

Aktivt läge är det traditionella läget som fungerar enligt principen om klient-server-modellen. En extra port (vanligtvis i intervallet 1024-65535) öppnas för dataöverföring här.

Å andra sidan används passivt läge ofta när klienten är bakom en brandvägg eller NAT-enhet och servern öppnar en slumpmässig högnumrerad port för dataöverföring.

FTP kräver i allmänhet autentisering för att komma åt filer på servern. Användare måste ange ett användarnamn och lösenord för att logga in.

Vissa FTP-servrar stöder även anonym åtkomst. Så användare kan logga in med ett generiskt användarnamn som ”anonym” eller ”FTP” och använda sin e-postadress som lösenord.

FTP stöder två dataöverföringslägen: ASCII-läge och binärt läge.

ASCII-läge används för textfiler och binärt läge används för icke-textfiler som bilder och körbara filer. Läget ställs in baserat på typen av fil som överförs.

Traditionell FTP är inte ett säkert protokoll eftersom det överför data inklusive användarnamn och lösenord i vanlig text.

Säker FTP (SFTP) och FTP över SSL/TLS (FTPS) är säkrare alternativ som krypterar dataöverföringen för att skydda känslig information.

Här är en detaljerad artikel om SFTP vs FTPS och vilket protokoll som ska användas.

TCP

Transmission Control Protocol (TCP) är ett av de viktigaste transportskiktsprotokollen i IP-sviten.

Det spelar en viktig roll för att tillhandahålla tillförlitlig och ordnad dataöverföring mellan enheter över IP-nätverk.

TCP upprättar en anslutning mellan avsändaren och mottagaren innan någon dataöverföring påbörjas. Denna anslutningsinstallation involverar en trevägshandskakning (SYN, SYN-ACK, ACK) och en anslutningsavslutningsprocess när datautbytet är klart.

Den stöder också full-duplex kommunikation som gör att data kan skickas och tas emot samtidigt i båda riktningarna inom den etablerade anslutningen.

I allmänhet övervakar TCP nätverksförhållanden och justerar dess överföringshastighet för att undvika överbelastning i nätverket.

Detta protokoll inkluderar felkontrollmekanismer för att upptäcka och korrigera datakorruption under överföring. Om ett datasegment visar sig vara skadat, begär mottagaren återsändning.

TCP använder portnummer för att identifiera specifika tjänster eller applikationer på en enhet. Portnummer hjälper till att dirigera inkommande data till rätt applikation.

Mottagaren i en TCP-anslutning skickar bekräftelser (ACK) för att bekräfta mottagandet av datasegment. Om avsändaren inte får ett ACK inom en viss tid – återsänder den datasegmentet.

TCP upprätthåller information om anslutningstillstånd på både sändar- och mottagarsidan. Denna information hjälper till att hålla reda på sekvensen av datasegment och hantera anslutningen.

IP

IP står för Internet Protocol.

Det är ett kärnprotokoll som möjliggör kommunikation och datautbyte i datornätverk, inklusive det globala nätverk vi känner som Internet.

IP använder ett numeriskt adresseringssystem för att identifiera enheter i ett nätverk. Dessa numeriska adresser kallas IP-adresser, och de kan vara antingen IPv4 eller IPv6.

IPv4-adresser är vanligtvis i form av fyra uppsättningar decimaltal (t.ex. 192.168.1.1), medan IPv6-adresser är längre och använder hexadecimal notation.

IP dirigerar datapaketen mellan enheter i olika nätverk.

Routrar och switchar spelar en viktig roll för att dirigera dessa paket till sina avsedda destinationer baserat på deras IP-adresser.

I allmänhet använder IP en paketväxlingsmetod. Det betyder att data delas upp i mindre paket för överföring över nätverket. Varje paket innehåller en käll- och destinations-IP-adress som gör att routrar kan fatta beslut om vidarebefordran.

IP anses vara ett anslutningslöst protokoll. Den upprättar inte en dedikerad anslutning mellan sändaren och mottagaren innan data överförs.

Varje paket behandlas oberoende och kan ta olika vägar för att nå sin destination.

UDP

UDP står för User Datagram Protocol.

Det är ett anslutningslöst och lätt protokoll som ger ett sätt att skicka data över ett nätverk utan att upprätta en formell anslutning.

Till skillnad från TCP-protokollet upprättar inte UDP en anslutning innan data skickas. Den paketerar helt enkelt data till datagram och skickar dem till destinationen.

Den garanterar inte leveransen av data och den implementerar inte mekanismer för att upptäcka och korrigera fel. Om ett paket tappas bort eller kommer ur funktion är det upp till applikationslagret att hantera detta.

UDP har mindre omkostnader än TCP eftersom det inte inkluderar funktioner som flödeskontroll, felkorrigering eller bekräftelser. Detta gör den snabbare men mindre pålitlig.

Den har inte heller inbyggda trängselkontrollmekanismer, så det är möjligt att översvämma ett nätverk med UDP-trafik som potentiellt orsakar trängsel.

UDP används ofta i situationer där låg latens och höghastighetsdataöverföring är viktigare än garanterad leverans. Några vanliga exempel är ljud- och videoströmning i realtid, onlinespel, DNS och vissa IoT-applikationer.

Det bästa med UDP är dess multiplexeringsfunktion. Det tillåter flera applikationer på samma enhet att använda samma UDP-port vilket skiljer dataströmmarna med portnummer.

låt oss förstå UDP med ett enkelt exempel.

Föreställ dig att du vill skicka ett meddelande till din vän över en bullrig lekplats med hjälp av en studsboll. Du bestämmer dig för att använda UDP, vilket är som att kasta bollen utan någon formell konversation. Så här fungerar det:

  • Du skriver ditt meddelande på ett papper och lindar det runt bollen.
  • Du kastar bollen i riktning mot din vän. Du väntar inte på att din vän ska fånga den eller erkänna att de fått den; du bara kastar den och hoppas att de fångar den.
  • Bollen studsar och når din vän, som försöker fånga den. Men ibland, på grund av ljudet, kan det studsa av händerna eller komma ur funktion.
  • Din vän läser meddelandet på pappret, och om de lyckades fånga bollen – de får meddelandet. Om inte, kan de missa det, och du kommer inte att veta eftersom du inte hade ett sätt att kontrollera.

Så i det här exemplet:

Bollen representerar UDP-protokollet som skickar data utan att upprätta en formell anslutning.

Att skicka bollen utan att vänta på ett svar är som att UDP är anslutningslös och inte säkerställer leverans.

Möjligheten att bollen studsar eller går vilse symboliserar bristen på tillförlitlighet i UDP.

Din vän som läser meddelandet är som applikationslagret som hanterar data som tas emot via UDP, som möjligen hanterar eventuell saknad data.

Säkerhetsprotokoll

SSH

SSH står för Secure Shell.

Det är ett nätverksprotokoll som används för säker kommunikation mellan en klient och en server över ett osäkrat nätverk. Det ger ett sätt att fjärråtkomst och hantera enheter via ett kommandoradsgränssnitt med en hög säkerhetsnivå.

SSH använder kryptografiska tekniker för att autentisera både klienten och servern. Detta säkerställer att du ansluter till rätt server och att servern kan verifiera din identitet innan du tillåter åtkomst.

All data som överförs över en SSH-anslutning är krypterad, vilket gör det svårt för någon som avlyssnar kommunikationen att avlyssna den data som utbyts.

Bildkälla: Stackoverflow

SSH använder ett nyckelpar för autentisering. Nyckelparet består av en publik nyckel (som delas med servern) och en privat nyckel (som du håller hemlig).

Här är en artikel om hur det fungerar – SSH Passwordless Login

När du ansluter till en SSH-server använder din klient din privata nyckel för att bevisa din identitet.

Tillsammans med detta stöder den också traditionell autentisering av användarnamn och lösenord. Detta är dock mindre säkert och avråds ofta, särskilt för internetservrar.

SSH använder port 22 för kommunikation som standard – men detta kan ändras av säkerhetsskäl. Att ändra portnumret kan bidra till att minska automatiserade attacker.

SSH används ofta för fjärrserveradministration, filöverföring (med verktyg som SCP och SFTP) och säker åtkomst till fjärrstyrda kommandoradsgränssnitt.

Det används ofta i administrationen av Unix-liknande operativsystem och är även tillgängligt på Windows genom olika mjukvarulösningar.

SMTP

SMTP står för Simple Mail Transfer Protocol.

Det är ett standardprotokoll som ansvarar för att skicka utgående e-postmeddelanden från en klient eller e-postserver till en e-postserver i mottagarens ände.

SMTP är en grundläggande del av e-postkommunikation, och det fungerar tillsammans med andra e-postprotokoll som IMAP/POP3 för att möjliggöra hela e-postlivscykeln, inklusive att skicka, ta emot och lagra e-postmeddelanden.

När du skriver ett e-postmeddelande och klickar på ”skicka” i din e-postklient, använder den SMTP för att vidarebefordra meddelandet till din e-postleverantörs server.

Den använder port 25 för okrypterad kommunikation och port 587 för krypterad kommunikation (med STARTTLS). Port 465 användes också för krypterad SMTP-kommunikation men är mindre vanlig.

Många SMTP-servrar kräver autentisering för att skicka e-post för att förhindra obehörig användning. Autentiseringsmetoder som användarnamn och lösenord eller säkrare metoder som OAuth används.

Dessa SMTP-servrar används ofta som reläer, vilket innebär att de accepterar utgående e-postmeddelanden från klienter (t.ex. din e-postapp) och vidarebefordrar dem till mottagarens e-postserver. Detta hjälper till att dirigera e-postmeddelanden över Internet.

Kommunikation kan säkras med kryptering via TLS eller SSL – speciellt när du skickar känslig eller konfidentiell information via e-post.

Förvaltningsprotokoll

POP3

POP3 står för Post Office Protocol version 3.

Det är ett av de vanligaste protokollen för hämtning av e-post som används för att hämta e-postmeddelanden från en e-postserver till en e-postklientapplikation.

POP3 är designat för att fungera på ett ”store-and-forward” sätt. Den hämtar e-postmeddelanden från servern och tar sedan vanligtvis bort dem från servern efter att ha lagrat en kopia på klientens enhet.

Vissa e-postklienter erbjuder ett alternativ att lämna en kopia av e-postmeddelandet på servern – men detta är inte standardbeteendet.

Den använder port 110 för okrypterad kommunikation. Port 995 används vanligtvis för säker POP3-kommunikation med TLS/SSL.

POP3 är ett tillståndslöst protokoll. Det betyder att den inte håller reda på de e-postmeddelanden du redan har laddat ner. Varje gång du ansluter till servern hämtar den alla olästa meddelanden. Detta kan leda till synkroniseringsproblem om du kommer åt din e-post från flera enheter.

POP3 är i första hand utformad för att hämta e-postmeddelanden från inkorgen. Det kanske inte stöder hämtning av e-postmeddelanden från andra mappar på servern, till exempel skickade objekt eller utkast.

Eftersom POP3 inte synkroniserar e-postmappar mellan servern och klienten – kommer åtgärder som vidtas på en enhet (t.ex. att ta bort ett e-postmeddelande) inte att återspeglas på andra enheter.

Det rekommenderas att använda den säkra versionen av POP3 (POP3S eller POP3 över SSL/TLS), som krypterar kommunikationen mellan e-postklienten och servern för att förbättra säkerheten.

POP3 är mindre vanligt idag jämfört med IMAP (Internet Message Access Protocol). Det ger mer avancerade funktioner som mappsynkronisering och låter flera enheter hantera samma brevlåda mer effektivt.

BGP

BGP står för Border Gateway Protocol.

Det är ett standardiserat extern gateway-protokoll som används i nätverk för att utbyta information om routing och nåbarhet mellan autonoma system (ASer).

Ett autonomt system är en samling IP-nätverk och routrar under kontroll av en enda organisation som presenterar en gemensam routingpolicy för Internet.

BGP är ett vägvektorprotokoll. Det betyder att den håller reda på vägen (listan över autonoma system) som datapaket tar för att nå sin destination. Denna information hjälper BGP-routrar att fatta routingbeslut baserat på policyer och sökvägsattribut.

Den används främst för att bestämma den bästa vägen för data att passera när man korsar flera nätverk som drivs av olika organisationer eller ISP:er.

Stöder även ruttaggregation som hjälper till att minska storleken på den globala routingtabellen genom att sammanfatta flera IP-prefix i ett enda ruttmeddelande.

BGP-protokollet använder olika mekanismer för att förhindra routingslingor, inklusive användningen av AS-sökvägsattributet och delad horisont regel.

Det används i både det offentliga internet och privata nätverk.

På det offentliga internet används det för att utbyta routinginformation mellan ISP:er och stora nätverk. I privata nätverk används den för intern routing och anslutning till internet via en gränsrouter.

DHCP

DHCP står för Dynamic Host Configuration Protocol.

Den används för att automatiskt tilldela IP-adresser och andra nätverkskonfigurationsinställningar till enheter på ett TCP/IP-nätverk.

DHCP-processen innefattar i allmänhet fyra huvudsteg:

DHCP Discover

När en enhet ansluter sig till ett nätverk – skickar den ut ett DHCP Discover-sändningsmeddelande för att hitta tillgängliga DHCP-servrar.

DHCP-erbjudande

DHCP-servrar i nätverket svarar på DHCP Discover-meddelandet med ett DHCP-erbjudande. Varje server tillhandahåller en IP-adress och relaterade konfigurationsalternativ.

DHCP-förfrågan

Enheten väljer ett av DHCP-erbjudandena och skickar ett DHCP-begäranmeddelande till den valda servern som begär den erbjudna IP-adressen.

DHCP-bekräftelse

DHCP-servern bekräftar begäran genom att skicka ett DHCP-bekräftelsemeddelande som bekräftar IP-adresstilldelningen.

Låt oss förstå DHCP-arbetsprincipen med ett enkelt exempel.

Föreställ dig att du har ett Wi-Fi-hemnätverk och du vill att dina enheter (som telefoner och bärbara datorer) ska ansluta till det utan att manuellt ställa in varje enhets nätverksinställningar. Det är där DHCP kommer in:

  • Låt oss säga att din smartphone precis har anslutit till ditt Wi-Fi-hemnätverk.
  • Smarttelefonen skickar ut ett meddelande som säger: ”Hej, jag är ny här. Kan någon ge mig en IP-adress och andra nätverksdetaljer?”
  • Din Wi-Fi-router som fungerar som en DHCP-server hör förfrågan. Det står, ”Visst, jag har en tillgänglig IP-adress, och här är de andra nätverksinställningarna du behöver – som nätmasken, standardgatewayen och DNS-servern.”
  • Smarttelefonen tar emot denna information och ställer in sig automatiskt med den angivna IP-adressen och nätverksinställningarna.

Smartphone är nu redo att använda internet och kommunicera med andra enheter i ditt hemnätverk.

ICMP

Internet Control Message Protocol (ICMP) är ett nätverkslagerprotokoll som används i IP-sviten för att möjliggöra kommunikation och ge feedback om status för nätverksoperationer.

ICMP används huvudsakligen för att rapportera fel och tillhandahålla diagnostisk information relaterad till IP-paketbearbetning.

Om en router till exempel stöter på ett problem när ett IP-paket vidarebefordras – genererar den ett ICMP-felmeddelande och skickar tillbaka det till paketets källa.

Vanliga ICMP-felmeddelanden inkluderar ”Destination Unreachable”, ”Time Exceeded” och ”Parameter Problem.”

En av de mest välkända användningarna av ICMP är kommandot ”ping” (används för att kontrollera tillgängligheten för en värd).

Detta ping-kommando skickar ICMP Echo Request-meddelanden till en destinationsvärd, och om värden är nåbar bör den svara med ett ICMP Echo Reply-meddelande. Detta är ett enkelt sätt att testa nätverksanslutning.

ICMP används också för Path Maximum Transmission Unit (PMTU) upptäckt. PMTU är den maximala storleken på ett IP-paket som kan överföras utan fragmentering längs en väg.

ICMP-meddelanden som ”Fragmentation Needed” och ”Packet Too Big” används för att bestämma lämplig MTU för en given väg, vilket hjälper till att undvika fragmentering och optimera dataöverföringen.

Dessa meddelanden kan också användas för att spåra den tid det tar för paket att resa från källan till destinationen och tillbaka. Meddelandet ”Time Exceeded” används för detta ändamål.

SNMP

SNMP står för Simple Network Management Protocol.

Det är ett applikationslagerprotokoll för hantering och övervakning av nätverksenheter/system.

SNMP arbetar med en manager-agent-modell. Det finns två huvudkomponenter.

SNMP Manager

Chefen ansvarar för att göra förfrågningar och samla in information från SNMP-agenter. Den kan också ställa in konfigurationsparametrar på agenter.

SNMP-agent

Agenten är en mjukvarumodul eller process som körs på nätverksenheter. Den lagrar information om enhetens konfiguration och prestanda. Agenten svarar på förfrågningar från SNMP-hanterare.

MIB (Management Information Base) är en hierarkisk databas som definierar strukturen och organisationen av hanterade objekt på en nätverksenhet. Den fungerar som en referens för både SNMP-hanterare och agenter, vilket ser till att de förstår varandras data.

Det finns tre versioner av SNMP som används flitigt.

SNMPv1: Den ursprungliga versionen av SNMP som använder community-strängar för autentisering. Den saknar säkerhetsfunktioner och anses vara mindre säker.

SNMPv2c: En förbättring jämfört med SNMPv1 med stöd för ytterligare datatyper och förbättrad felhantering.

SNMPv3: Den säkraste versionen av SNMP, som erbjuder kryptering, autentisering och åtkomstkontroll. Den tar upp många av säkerhetsproblemen i tidigare versioner.

SNMP används för olika nätverkshanteringsuppgifter som att övervaka bandbreddsutnyttjande, spåra enhetens drifttid, konfigurera nätverksenheter på distans och ta emot varningar när specifika händelser inträffar (t.ex. systemfel eller tröskelöverträdelser).

Slutsats✍️

Jag hoppas att du tyckte att den här artikeln var mycket användbar för att lära dig om de olika nätverksprotokollen. Du kanske också är intresserad av att lära dig om nätverkssegmentering och hur man implementerar det.