Nätverkstjänster

På internet identifieras nätverksenheter med numeriska IP-adresser, till exempel 201.32.45.89, för att kunna kommunicera med varandra. Dock använder vi människor namn istället. För att möjliggöra denna översättning från numeriska adresser till namn (name resolution) har ett namnsystem utvecklats, vilket kallas Domain Name System (DNS). DNS är en hierarkiskt distribuerad databas som använder ett nätverk av servrar över hela världen. Det finns totalt 13 logiska DNS-servrar, även om det faktiska antalet servrar är flera hundra.

Namnsystem – DNS

Bild 4: DNS – en distribuerade databas

Till skillnad från de flesta nätverkstjänster, som körs inom applikationsskiktet, körs DNS som en självständig nätverkstjänst. När en dator (värd) behöver översätta ett domännamn till en IP-adress, kontaktar den en eller flera lokala DNS-servrar. Dessa lokala servrar innehåller information om lokala resurser i en lokal databas. Exempel på dessa resurser (Resource Records) inkluderar:

  • SOA (Start of Authority) – Finns i varje auktoritativ zon.
  • NS (Name Server) – Auktoritativ (lokal) namnserver.
  • Host (A eller AAAA) – Kopplar DNS-namn till IP-adress.
  • Alias (CNAME, canonical name) – Tillåter flera namn att peka på samma resurs.
  • Mail Exchanger (MX) – Hanterar e-postserverlokalisering.
  • Service location (SRV) eller Service Records. Används för att mappa specifika servrar till DNS tjänster.
Bild 5: DNS Name Resolution

Om DNS-förfrågan gäller externa resurser eller om de lokala DNS-servrarna saknar informationen, kontaktar de Internet-DNS-servrar. De lokala DNS-servrarna sparar alla svar från Internet-DNS-servrarna i ett ”cacheminne” för att kunna svara direkt på framtida förfrågningar om externa resurser, utan att behöva vidarebefordra förfrågan till ”Root DNS-servrar”. I DNS-världen kan fel inträffa när som helst, och det är bra att förstå hur systemet fungerar och ha tillgång till felsökningsverktyg som NSLOOKUP eller DIG.

Webb server och HTTP

När du skriver in en webbadress (URL) i en webbläsare, etablerar webbläsaren en anslutning till en webbtjänst som körs på en server med hjälp av DNS-servern. Webbsidans innehåll skickas från servern till klienten i form av kommandon, som klienten sedan exekverar för att bygga upp webbsidans innehåll.

Bild 6: HTTP trafik

HTTP (Hypertext Transfer Protocol) är ett applikationsprotokoll som körs ovanpå TCP. Det definierar regler och format för hur webbklienter (till exempel webbläsare) kommunicerar med webbservrar för att begära och skicka webbsidor och andra resurser. HTTP använder sig av TCP för att säkerställa att dataöverföringen sker korrekt.

När en webbklient (till exempel en webbläsare) begär en webbsida från en server, etableras en TCP-anslutning mellan klienten och servern. Därefter skickar klienten en HTTP-förfrågan över den TCP-anslutningen till servern för att begära webbsidans innehåll. Servern svarar sedan med HTTP-svar som innehåller den begärda webbsidan och eventuella tillhörande resurser. Dessa HTTP-svar skickas också över den etablerade TCP-anslutningen.

De tre vanligaste meddelandetyperna som används vid kommunikation mellan en webbklient och en webbserver är följande:

  • GET: Används när klienten begär data från servern. När servern tar emot ett GET-meddelande svarar den med en statusrad och skickar tillbaka begärd data till klienten.
  • POST: Används för att skicka meddelanden som laddar upp data från klienten till webbservern. Det kan till exempel vara formulärsdata eller uppladdning av filer.
  • PUT: Används också för att skicka meddelanden som laddar upp data från klienten till webbservern. Skillnaden från POST är att PUT används för att skriva över eller uppdatera befintlig data på servern.

Det är genom användningen av dessa meddelandetyper i HTTP-protokollet som webbklienter och webbservrar interagerar och utbyter information över internet.

Det är viktigt att notera att HTTP är ett protokoll utan säkerhet och att data som skickas med det inte krypteras. För att säkra kommunikationen används oftast HTTPS (HTTP Secure), som använder kryptering för att skydda data under överföringen.

Sammanfattningsvis används HTTP för att begära och överföra hypertextdokument och andra resurser över webben mellan klienter och servrar.

E-post och SMTP/POP protokoll

Bild 7: SMTP – skicka och POP hämta e-post

E-postsystemet involverar flera applikationer och tjänster för att skicka och ta emot e-postmeddelanden. För att hämta e-postmeddelanden från en e-postserver använder e-postklienter protokollet POP som finns i olika versioner. För att skicka e-post från antingen en klient eller en server används SMTP-protokollet.

Hantering av e-post nätverkstjänster

För att hantera e-post (skicka/hämta) används en Mail User Agent (MUA) eller e-postklient, exempelvis Microsoft Outlook, Pine eller Thunderbird.

E-postklienter kommunicerar med e-postservrar, som kan vara antingen Mail Transfer Agent (MTA) eller Mail Delivery Agent (MDA). MTA tar emot e-post från MUA och kontrollerar om det finns en registrerad postlåda för klienten. Om postlådan finns, fungerar MTA också som MDA och levererar e-posten. Annars vidarebefordrar MTA e-posten till andra MTA-servrar.

Förutom e-postleverans kan en MDA-server också skanna e-posten efter virus eller filtrera skräppost. En klient kan använda alternativa metoder för att komma åt e-posten, till exempel via en webbläsare eller ett klient e-postprogram.

POP och POP3 samt SMTP är typiska klient/server-protokoll som används för kommunikation mellan MUA, MTA och MDA. SMTP använder specifika meddelandeformat:

  • HELO används för att identifiera SMTP-klienten.
  • EHLO är en nyare version.
  • MAIL FROM används för att identifiera avsändaren
  • RCP TO används för att identifiera mottagare.
  • DATA identifierar meddelandets innehåll.

FTP

File Transfer Protocol (FTP) är ett annat vanligt förekommande protokoll i applikationsskiktet, FTP används för att föra filer fram och tillbaka mellan klienter och servrar.

FTP (File Transfer Protocol) är ett vanligt protokoll inom applikationsskiktet som används för att överföra filer mellan klienter och servrar. FTP kräver två anslutningar: en för trafikstyrning på TCP-port 21 och en för filöverföring på TCP-port 20. Filöverföring kan ske i båda riktningarna, där klienten antingen laddar ner (pull) en fil från servern eller laddar upp (push) en fil till servern.

Bild 10: FTP process

DHCP

DHCP (Dynamic Host Configuration Protocol) automatiserar tilldelningen av IP-adresser och andra nätverksparametrar. När en dator ansluts till ett nätverk skickar den som DHCP-klient en DHCP DISCOVER-paket för att identifiera tillgängliga DHCP-servrar i nätverket. En DHCP-server kan svara med ett DHCP OFFER-paket som innehåller en leasingerbjudande och andra IP-parametrar. Klienten väljer en server genom att acceptera leasingerbjudandet och skickar en DHCP REQUEST-paket med godkännande av erbjudandet. Om IP-adressen fortfarande är giltig skickar servern ett DHCP ACK-meddelande som bekräftelse. Om adressen inte längre anses giltig skickar servern en DHCP NACK, och klienten måste starta om leasingprocessen.

Så här går det till när en dator lånar en IP adress:

Bild 11: IP adress leasing

SMB (Server Message Block)

SMB är ett nätverksprotokoll som används för att dela filer, skrivare och andra resurser mellan datorer i ett nätverk. Här är några av de huvudsakliga användningsområdena för SMB-protokollet:

  • Fildelning: SMB används för att dela filer och mappar mellan datorer i ett nätverk. Det gör det möjligt för användare att få åtkomst till och dela filer från olika enheter, som datorer, servrar, NAS-enheter (Network Attached Storage) och filservrar.
  • Skrivardelning: SMB används också för att dela skrivare över nätverket. Det gör att flera användare kan skriva ut dokument till en gemensam skrivare utan att behöva ha en fysisk anslutning till skrivaren.
  • Nätverksautentisering: SMB används för att verifiera och autentisera användare som försöker få åtkomst till resurser i nätverket. Detta gör det möjligt att styra behörigheter och säkerhetsåtgärder för fil- och skrivaråtkomst.
  • Filåtkomstkontroll: SMB-protokollet möjliggör hantering av filåtkomsträttigheter och säkerhetsinställningar. Det gör det möjligt att ange behörigheter för användare och grupper, vilket styr vilka åtgärder som får utföras på filer och mappar, till exempel läsning, skrivning och radering.
  • Kommunikation mellan klient och server: SMB används för att möjliggöra kommunikation och datautbyte mellan klienter (som datorer eller mobila enheter) och servrar i nätverket. Detta kan innefatta överföring av filer, anrop av fjärrtjänster och andra interaktioner mellan klient och server.

Det är värt att notera att SMB är ett äldre protokoll som har utvecklats över tiden. Den senaste versionen, SMBv3, introducerade förbättringar i prestanda, säkerhet och funktionalitet jämfört med äldre versioner.

Bild 12: SMB protokoll