Grundläggande Nätverksprotokoll: En Omfattande Guide
Nätverksprotokoll fungerar som ett regelverk som enheter följer för att kommunicera med varandra via ett nätverk. Tänk på dem som de oskrivna lagar som styr interaktioner mellan datorer, liknande de sociala normer vi använder när vi samtalar.
Dessa protokoll specificerar bland annat hur datapaket struktureras, hur enheter identifierar sig och hur fel och krockar hanteras. De säkerställer en enhetlig och pålitlig kommunikation över nätverk.
Nätverksprotokoll kan huvudsakligen indelas i tre kategorier: Kommunikationsprotokoll, Säkerhetsprotokoll och Hanteringsprotokoll.
1. Kommunikationsprotokoll
Dessa protokoll är navet för data- och informationsutbyte mellan enheter. De dikterar hur data formateras, överförs och tas emot, vilket möjliggör en sömlös kommunikation. Exempel inkluderar HTTP/HTTPS, FTP, TCP och UDP.
2. Säkerhetsprotokoll
Säkerhetsprotokoll är designade för att värna om datans konfidentialitet och autenticitet. De skapar säkra kanaler för kommunikation och skyddar information från avlyssning och manipulation.
Exempel på detta är 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. Hanteringsprotokoll
Hanteringsprotokoll används för administration, övervakning och kontroll av nätverksenheter och resurser. De underlättar konfiguration och felsökning av nätverkskomponenter för nätverksadministratörer.
Några vanliga exempel är DHCP för dynamisk IP-adressallokering, SNMP för enhetshantering, ICMP för diagnostik och BGP för routing och nåbarhetsinformation.
Låt oss utforska några vanliga protokoll i varje kategori.
Kommunikationsprotokoll i Detalj
HTTP
HTTP, eller Hypertext Transfer Protocol, är ett grundläggande protokoll för kommunikation mellan webbläsare och servrar. Det fungerar som ett applikationslager ovanpå OSI-modellen.
När du anger en URL i din webbläsare och trycker på enter, skickas en HTTP-förfrågan till en webbserver. Servern behandlar förfrågan och skickar tillbaka ett HTTP-svar, som innehåller den begärda informationen, som kan vara en webbsida, en bild eller en video.
HTTP är ett tillståndslöst protokoll, vilket innebär att varje förfrågan från en klient hanteras som en fristående transaktion, utan att servern sparar information om tidigare förfrågningar. Denna enkelhet är en av anledningarna till dess breda användning.
Protokollet definierar olika begäransmetoder, såsom GET (för att hämta data), POST (för att skicka data för bearbetning), PUT (för att uppdatera en resurs) och DELETE (för att ta bort en resurs). HTTP-svar inkluderar en statuskod, t.ex. 200 för en framgångsrik begäran och 404 för en resurs som inte hittades.
Flera versioner av HTTP har utvecklats, där HTTP/1.1 länge var standarden. Nyare versioner som HTTP/2 och HTTP/3 (QUIC) har tillkommit för att öka prestandan.
HTTPS
HTTPS (Hypertext Transfer Protocol Secure) är en utvidgning av HTTP som ger säker kommunikation över datornätverk.
Genom att kryptera data med protokoll som SSL/TLS, lägger HTTPS till ett lager av säkerhet till standard HTTP-kommunikation. Detta förhindrar att information avlyssnas eller manipuleras.
HTTPS inkluderar serverautentisering. När en webbläsare ansluter till en webbplats via HTTPS presenterar webbplatsen ett digitalt certifikat från en betrodd certifikatutfärdare (CA). Detta certifikat verifierar webbplatsens identitet och garanterar att klienten ansluter till rätt server.
Webbplatser som använder HTTPS identifieras med ”https://” i början av sina webbadresser. HTTPS använder vanligtvis port 443, medan HTTP använder port 80, vilket gör det enkelt för webbservrar att skilja mellan säkra och osäkra anslutningar.
Sökmotorer som Google prioriterar webbplatser som använder HTTPS i sina sökresultat. Webbläsare kan också varna användare om en säker HTTPS-sida innehåller osäkra element (blandat innehåll). Mer information om hur man får ett SSL-certifikat finns här.
FTP
File Transfer Protocol (FTP) är ett standardprotokoll för filöverföring mellan en klient och en server över ett nätverk. FTP fungerar enligt klient-servermodellen, där klienten initierar en anslutning till servern för att begära och överföra filer.
FTP använder två portar för kommunikation och kan arbeta i aktivt eller passivt läge. Port 21 används för kontrollanslutningen, där kommandon och svar skickas. I aktivt läge öppnas en extra port för dataöverföring. Passivt läge används när klienten är bakom en brandvägg, och servern öppnar en slumpmässig port för dataöverföring.
FTP kräver vanligtvis autentisering med användarnamn och lösenord, även om anonym åtkomst också är möjlig. FTP stöder två dataöverföringslägen: ASCII för textfiler och binärt för icke-textfiler. Traditionell FTP är inte säkert, eftersom data, inklusive autentiseringsuppgifter, skickas i klartext. Säker FTP (SFTP) och FTP över SSL/TLS (FTPS) är säkrare alternativ. En detaljerad jämförelse mellan SFTP och FTPS finns här.
TCP
Transmission Control Protocol (TCP) är ett viktigt transportlagerprotokoll i IP-sviten. Det tillhandahåller tillförlitlig och ordnad dataöverföring mellan enheter i IP-nätverk.
TCP upprättar en anslutning mellan avsändaren och mottagaren genom en trevägshandskakning (SYN, SYN-ACK, ACK) innan data överförs. Det stöder även full-duplex kommunikation, vilket innebär att data kan skickas och tas emot samtidigt i båda riktningarna.
TCP övervakar nätverksförhållanden och justerar överföringshastigheten för att undvika överbelastning. Det inkluderar också felkontrollmekanismer som upptäcker och korrigerar datakorruption. Mottagaren skickar bekräftelser (ACK) för mottagna segment, och segment som inte bekräftas skickas om.
TCP använder portnummer för att identifiera specifika tjänster eller applikationer på en enhet och håller reda på anslutningstillståndet på både sändar- och mottagarsidan.
IP
Internet Protocol (IP) är ett kärnprotokoll för kommunikation och datautbyte i datornätverk, inklusive Internet. IP använder ett numeriskt adresseringssystem (IP-adresser) för att identifiera enheter i ett nätverk. Dessa adresser kan vara IPv4 eller IPv6.
IPv4-adresser är vanligtvis i form av fyra uppsättningar decimaltal, medan IPv6-adresser använder hexadecimal notation. IP dirigerar datapaket mellan enheter i olika nätverk med hjälp av routrar och switchar, som fattar vidarebefordringsbeslut baserat på paketens IP-adresser.
IP är ett anslutningslöst protokoll som behandlar varje paket oberoende utan att upprätta en dedikerad anslutning. Paketen kan ta olika vägar för att nå destinationen.
UDP
User Datagram Protocol (UDP) är ett anslutningslöst och lätt protokoll som skickar data över ett nätverk utan att upprätta en formell anslutning. UDP packar helt enkelt data i datagram och skickar dem till destinationen utan att garantera leverans eller ordning. Det inkluderar inte mekanismer för feldetektering och korrigering.
UDP har mindre omkostnader än TCP och är därmed snabbare men mindre tillförlitligt. Det saknar också inbyggd trängselkontroll. UDP används ofta för realtidsapplikationer som ljud- och videoströmning, onlinespel, DNS och vissa IoT-applikationer.
En fördel med UDP är dess multiplexeringsfunktion, som gör det möjligt för flera applikationer på samma enhet att använda samma UDP-port genom att skilja dataströmmar med portnummer.
Föreställ dig att du skickar ett meddelande med en studsboll på en bullrig lekplats, där du inte förväntar dig bekräftelse på mottagandet. Bollen representerar UDP-protokollet. I den här analogin garanterar UDP inte att meddelandet (bollen) kommer fram till mottagaren.
Säkerhetsprotokoll
SSH
Secure Shell (SSH) är ett nätverksprotokoll för säker kommunikation mellan en klient och en server över ett osäkert nätverk. Det ger säker fjärråtkomst och hantering av enheter via ett kommandoradsgränssnitt. SSH använder kryptering för att autentisera klienten och servern, och all data som överförs krypteras.
Bildkälla: Stackoverflow
SSH använder ett nyckelpar för autentisering: en offentlig nyckel (delad med servern) och en privat nyckel (hålls hemlig). När du ansluter till en SSH-server, använder din klient din privata nyckel för att bevisa din identitet. Även om traditionell autentisering med användarnamn och lösenord stöds, rekommenderas det inte, särskilt för internetservrar. Mer information om SSH lösenordsfri inloggning finns här.
SSH använder standardport 22, men detta kan ändras av säkerhetsskäl. SSH används för fjärrserveradministration, filöverföring (med SCP och SFTP) och säker åtkomst till fjärrstyrda kommandoradsgränssnitt. Det är vanligt inom administration av Unix-liknande operativsystem och finns även på Windows.
SMTP
Simple Mail Transfer Protocol (SMTP) är standardprotokollet för att skicka utgående e-postmeddelanden från en klient eller e-postserver till mottagarens e-postserver. Det samverkar med andra protokoll som IMAP/POP3 för hela e-postlivscykeln.
När du skickar ett e-postmeddelande, använder din e-postklient SMTP för att vidarebefordra meddelandet till din e-postleverantörs server.
SMTP 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, men är mindre vanlig. Många SMTP-servrar kräver autentisering för att skicka e-post, med metoder som användarnamn och lösenord eller OAuth. SMTP-servrar fungerar som reläer, vidarebefordrar meddelanden över Internet. Kryptering via TLS eller SSL rekommenderas för att skydda konfidentiell information.
Hanteringsprotokoll
POP3
Post Office Protocol version 3 (POP3) är ett vanligt protokoll för att hämta e-postmeddelanden från en server till en e-postklientapplikation. POP3 fungerar enligt principen ”lagra och vidarebefordra”, vilket innebär att e-postmeddelanden hämtas från servern och sedan oftast raderas, efter att en kopia lagrats på klientenheten.
Port 110 används för okrypterad kommunikation, medan port 995 används för säker POP3-kommunikation med TLS/SSL. POP3 är tillståndslöst, vilket innebär att det inte håller reda på vilka meddelanden som redan hämtats. Varje gång du ansluter till servern hämtar den alla olästa meddelanden, vilket kan leda till synkroniseringsproblem vid användning av flera enheter.
POP3 är främst avsett för att hämta e-post från inkorgen och kanske inte stöder hämtning av e-post från andra mappar. Åtgärder som vidtas på en enhet synkroniseras inte mellan olika enheter. Den säkra versionen av POP3 (POP3S) rekommenderas. POP3 är mindre vanligt idag jämfört med IMAP, som ger mer avancerad funktionalitet.
BGP
Border Gateway Protocol (BGP) är ett externt gateway-protokoll för utbyte av routing- och nåbarhetsinformation mellan autonoma system (AS). Ett autonomt system är en samling IP-nätverk under kontroll av en enda organisation. BGP är ett vägvektorprotokoll som håller reda på vägen datapaket tar. BGP-routrar fattar routingbeslut baserat på policyer och sökvägsattribut.
BGP används för att fastställa den bästa vägen för data över flera nätverk som drivs av olika organisationer eller internetleverantörer. Det stöder också ruttaggregering och använder olika mekanismer för att förhindra routingslingor. BGP används i både det offentliga Internet och privata nätverk.
Mer information om BGP split-horizon-regeln finns här.
DHCP
Dynamic Host Configuration Protocol (DHCP) används för att automatiskt tilldela IP-adresser och andra nätverkskonfigurationsinställningar till enheter i ett TCP/IP-nätverk. DHCP-processen innefattar fyra huvudsteg: DHCP Discover, DHCP Offer, DHCP Request och DHCP Acknowledgment.
När en enhet ansluter till ett nätverk, skickar den ett DHCP Discover-meddelande för att hitta DHCP-servrar. DHCP-servrar svarar med ett DHCP Offer som innehåller en IP-adress och relaterade konfigurationsalternativ. Enheten väljer ett erbjudande och skickar ett DHCP Request till den valda servern. Servern bekräftar förfrågan med ett DHCP Acknowledgment, som slutför tilldelningen.
Om en smartphone ansluter till ett Wi-Fi-nätverk hemma, skickar telefonen en förfrågan om en IP-adress. Wi-Fi-routern (fungerande som DHCP-server) svarar med en tillgänglig IP-adress och andra nätverksinställningar. Telefonen tar emot och konfigurerar sig automatiskt, vilket gör att den kan kommunicera med andra enheter.
ICMP
Internet Control Message Protocol (ICMP) är ett nätverkslagerprotokoll för kommunikation och återkoppling om nätverksoperationer. ICMP används huvudsakligen för felrapportering och diagnostisk information relaterad till IP-paketbearbetning. Vanliga ICMP-felmeddelanden inkluderar ”Destination Unreachable”, ”Time Exceeded” och ”Parameter Problem”.
En vanlig användning av ICMP är kommandot ”ping” för att kontrollera tillgängligheten av en värd. Detta ping-kommando skickar ICMP Echo Request-meddelanden, och om värden är nåbar ska den svara med ett ICMP Echo Reply-meddelande. ICMP används även för Path Maximum Transmission Unit (PMTU)-upptäckt för att fastställa maximal storlek på IP-paket.
ICMP används också för att spåra tiden det tar för paket att färdas från källa till destination.
SNMP
Simple Network Management Protocol (SNMP) är ett applikationslagerprotokoll för hantering och övervakning av nätverksenheter och system. SNMP fungerar med en manager-agent-modell. SNMP-hanteraren ansvarar för att göra förfrågningar och samla information från SNMP-agenter. SNMP-agenten lagrar information om enhetens konfiguration och prestanda och svarar på förfrågningar.
Management Information Base (MIB) är en hierarkisk databas som definierar strukturen och organisationen av hanterade objekt. Den fungerar som en referens för både hanterare och agenter.
Det finns tre versioner av SNMP: SNMPv1 (den ursprungliga versionen), SNMPv2c (en förbättring med stöd för fler datatyper), och SNMPv3 (den säkraste versionen med kryptering, autentisering och åtkomstkontroll). SNMP används för olika nätverkshanteringsuppgifter, som att övervaka bandbredd, spåra enhetens drifttid, konfigurera nätverksenheter på distans och ta emot varningar.
Slutsats ✍️
Jag hoppas att denna artikel har gett en bra överblick över olika nätverksprotokoll. Du kan också vara intresserad av att lära dig om nätverkssegmentering och hur man implementerar den.