Serverprogramvara ( server , engelsk server från att tjäna - att tjäna; plural servrar, servrar används också i vardagsspråk) - inom informationsteknologi - en mjukvarukomponent i ett datorsystem som utför service (service) funktioner på klientens begäran , ge honom tillgång till vissa resurser eller tjänster.
Begreppen server och klient och de roller som tilldelats dem bildar mjukvarukonceptet " klient -server ".
För att interagera med klienten (eller klienter, om samtidigt arbete med flera klienter stöds), allokerar servern de nödvändiga kommunikationsresurserna mellan processerna ( delat minne , pipe , socket , etc.) och väntar på förfrågningar om att öppna en anslutning (eller, i faktiskt, förfrågningar om den tillhandahållna tjänsten). Beroende på typen av sådan resurs kan servern betjäna processer inom samma datorsystem eller processer på andra maskiner via datakanaler (t.ex. COM-port ) eller nätverksanslutningar.
Formatet för klientförfrågningar och serversvar definieras av protokollet . Öppna protokollspecifikationer beskrivs av öppna standarder, till exempel definieras Internetprotokoll i RFC- dokument .
Beroende på vilka uppgifter som utförs kan vissa servrar, i avsaknad av serviceförfrågningar, vara inaktiva och väntar. Andra kan göra en del arbete (till exempel samla in information), för sådana servrar kan arbetet med klienter vara en sekundär uppgift.
Ordet "server" har en annan betydelse - en dator som utför serveruppgifter, eller en dator (eller annan hårdvara) specialiserad (efter formfaktor och/eller resurser) för användning som hårdvarubas för tjänsteservrar (ibland - tjänster av en viss riktning), dela datorresurser med program som körs av användaren. Detta driftsätt kallas "icke-dedikerat", i motsats till "dedicerat" ( eng. dedicated ), när datorn endast utför servicefunktioner. Strängt taget körs alltid flera servrar på en arbetsstation (till exempel under Windows XP) - en fjärråtkomstserver (terminalserver), en fjärråtkomstserver för filsystemet och utskriftssystemet och andra fjärr- och interna servrar.
Som regel betjänar varje server ett eller flera liknande protokoll. Servrar kan klassificeras efter vilken typ av tjänst de tillhandahåller. [ett]
Universella servrar är en speciell typ av serverprogram som inte tillhandahåller några tjänster på egen hand. Generiska servrar tillhandahåller istället tjänsteservrar med ett förenklat gränssnitt till IPC-resurser och/eller enhetlig klientåtkomst till olika tjänster. Det finns flera typer av sådana servrar:
Generiska servrar används ofta för att skriva alla typer av informationsservrar - servrar som inte behöver specifikt nätverk och inte har någon annan uppgift än att betjäna klienter. Till exempel kan vanliga konsolprogram och skript fungera som servrar för inetd .
De flesta av de interna och nätverksspecifika Windows-servrarna körs via generiska servrar (RPC, (D-)COM).
Strängt taget är en routingserver inte en server i klassisk mening, utan är en grundläggande nätverksstödfunktion i operativsystemet.
För TCP/IP är routing en grundläggande funktion för IP-stacken (TCP/IP-stödkod). Alla system på nätverket dirigerar sina egna paket till sin destination, men endast routrar (även kända som routrar eller gateways) utför vidarebefordran av andras paket. Routerns uppgifter vid vidarebefordran av paketet:
Dynamiska routinglösningar är utformade för att samla in information om det aktuella tillståndet för ett komplext nätverk och underhålla en rutttabell genom detta nätverk för att säkerställa att ett paket levereras längs den kortaste och mest effektiva vägen.
Av dessa lösningar är det bara BGP ( B order G ateway P rotocol - Border Gateway Protocol), som används för global routing, som använder klient-servermodellen . Lokala lösningar ( RIP OSPF ) använder broadcast och multicast -utskick i sitt arbete.
Nättjänster tillhandahåller nätverkets funktionalitet; till exempel tillhandahåller DHCP- och BOOTP- servrar initialisering av servrar och arbetsstationer, DNS - översättning av namn till adresser och vice versa.
Tunnelservrar (till exempel olika VPN-servrar) och proxyservrar tillhandahåller kommunikation med ett nätverk som inte är tillgängligt via routing.
AAA- och Radius-servrar tillhandahåller en enda nätverksautentisering, auktorisering och åtkomstloggning.
Informationstjänster inkluderar både de enklaste servrarna som rapporterar information om värden (tid, dagtid, motd) och användare (finger, ident ), såväl som övervakningsservrar, såsom SNMP . De flesta informationstjänster fungerar via universella servrar.
En speciell typ av informationstjänster är tidssynkroniseringsservrar - NTP . Förutom att informera klienten om den exakta tiden, frågar NTP-servern regelbundet flera andra servrar för att korrigera sin egen tid. Utöver tiden analyseras och korrigeras hastigheten på systemklockan. Tidskorrigeringen utförs genom att snabba upp eller sakta ner systemklockan (beroende på korrigeringens riktning) för att undvika de problem som kan uppstå med en enkel permutation av tiden.
Filservrar är servrar för att ge åtkomst till filer på en serverdisk.
Först och främst är dessa filöverföringsservrar på beställning, via FTP , TFTP , SFTP och HTTP-protokoll . HTTP-protokollet är fokuserat på överföring av textfiler, men servrar kan också ge godtyckliga data som begärda filer, såsom dynamiskt skapade webbsidor, bilder, musik, etc.
Andra servrar låter dig montera serverdiskpartitioner på klientens diskutrymme och fullt ut arbeta med filer på dem. NFS - och SMB - protokollservrar tillåter detta . NFS- och SMB-servrar fungerar via RPC -gränssnittet .
Nackdelar med ett filserversystem:
Dataåtkomstservrar underhåller databasen och returnerar data på begäran. En av de enklaste tjänsterna av denna typ är LDAP ( Lightweight Directory Access Protocol ) .
Det finns inget enskilt protokoll för åtkomst till databasservrar , men ett antal databaser förenas genom användningen av enhetliga frågegenereringsregler - SQL- språket ( Structured Query Language ) . Tillsammans med dem finns det andra - NoSQL- databaser.
Mediaservrar ger nätverket tillgång till multimediakällor, från on-demand audio/video (som för medieservrar närmare filservrar) till realtidsljud/videoströmning.
VoIP / IP-telefoniIP-telefoni (VoIP) servrar - mjukvaruväxlar (softswitches) , IP PBX , virtuella PBX och videokonferensservrar , såväl som specialiserade servrar för Internettjänster (som Skype ) ger användare röst- och videokommunikationsmöjligheter i realtid via en dator nätverk. Förutom själva överföringen av strömmande mediadata (ljud och video) implementerar IP-telefoniservern, liksom en klassisk telefonväxel , möjligheten att registrera en slutterminal, samtalsdirigering och korrekt anslutningsetablering mellan användare, och ofta även ytterligare typer av tjänster .
I vissa fall, beroende på den implementerade tekniken och administrativa inställningar, kan VoIP-servern endast ge kontroll - användarregistrering i nätverket och byte av inkommande samtal, utan direkt deltagande i överföringen av mediadata mellan klientterminaler. I det här fallet överförs strömmande nyttolastdata direkt mellan slutanvändare ( peer-to-peer ) och/eller vissa mellanliggande enheter, applikationer. Det är känt att detta alternativ för direkt kommunikation med kontroll via servern används i Skype , Viber , Telegram och WhatsApp . Det här läget används också ofta i företags IP-PBX:er.
Som klientterminaler till VoIP-servern kan VoIP-telefoner , videotelefoner , softphones (softphones) samt konventionella analoga telefoner anslutna via en VoIP-gateway fungera . IP-telefoniservern kan fungera som en fristående enhet för att tillhandahålla kommunikation mellan interna användare eller vara ansluten till tredje parts nätverk , inklusive det allmänna telefonnätet , via Internet eller via telefonoperatörens nätverk .
Meddelandetjänster tillåter användaren att skicka och ta emot meddelanden (vanligtvis textmeddelanden).
Först och främst är dessa e- postservrar som arbetar under SMTP-protokollet . SMTP-servern tar emot meddelandet och levererar det till användarens lokala brevlåda eller till en annan SMTP-server (destination eller mellanserver). På fleranvändardatorer arbetar användare med e-post direkt på terminalen (eller i webbgränssnittet). För att arbeta med e-post på en persondator samlas e-post in från brevlådan via servrar som använder POP3- eller IMAP-protokollen .
För att organisera konferenser finns det nyhetsservrar som arbetar över NNTP-protokollet .
Chattservrar finns för meddelanden i realtid . Det finns ett stort antal chattprotokoll som IRC , Jabber och OSCAR .
Fjärråtkomstservrar, genom lämpligt klientprogram, förser användaren med en analog till en lokal terminal (text eller grafik) för att arbeta på ett fjärrsystem.
Telnet- , RSH- och SSH- servrarna ger åtkomst till kommandoraden .
Det grafiska gränssnittet för Unix-system - X Window System - har en inbyggd fjärråtkomstserver, eftersom den ursprungligen utvecklades med denna funktion. Ibland kallas möjligheten att fjärråtkomst till X-Window-gränssnittet felaktigt "X-Server" (denna term i X-Window kallas en videodrivrutin).
Standardservern för fjärråtkomst till Microsoft Windows GUI kallas en terminalserver .
Någon form av hantering (mer exakt, övervakning och konfiguration) tillhandahålls också av SNMP-protokollet. Datorn eller hårdvaruenheten måste ha en SNMP-server för detta.
Servrar som tillhandahåller tillämpade tjänster till nätverket (inklusive datoranvändning).
SpelservrarSpelservrar tjänar till att spela flera användare samtidigt i en enda spelsituation. Vissa spel har en server i huvuddistributionen och låter dig köra den i ett icke-dedikerat läge (det vill säga de låter dig spela på den maskin som servern körs på).
Utskriftsservrar tillåter nätverksanvändare att dela en delad skrivare.
Faxserver tillåter nätverksanvändare att skicka faxmeddelanden .
Serverlösningar är operativsystem och/eller mjukvarupaket optimerade för prestanda av serverfunktioner av en dator och/eller innehåller en uppsättning program för att implementera en typisk uppsättning tjänster.
Som exempel på serverlösningar kan vi nämna Unix-system som ursprungligen designades för att implementera en serverinfrastruktur.
Det är också nödvändigt att separera paket med servrar och relaterade program (till exempel en webbserver / PHP / MySQL-kit för att snabbt distribuera hosting) för installation under Windows (Unix kännetecknas av modulär eller "paketerad" installation av varje komponent, så sådana lösningar är sällsynta , men de existerar (den mest kända är LAMP).
I integrerade serverlösningar installeras alla komponenter samtidigt, alla komponenter är mer eller mindre tätt integrerade och förkonfigurerade med varandra. Men i det här fallet kan det vara ett problem att ersätta en av servrarna eller sekundära applikationer (om deras kapacitet inte uppfyller behoven).
Serverlösningar tjänar till att förenkla organisationen av företagens grundläggande IT-infrastruktur, det vill säga att snabbt bygga ett fullfjädrat nätverk i ett företag, inklusive från grunden. Att kompilera individuella serverapplikationer till en lösning innebär att lösningen är designad för att utföra de vanligaste uppgifterna; samtidigt minskar komplexiteten i utbyggnaden och den totala ägandekostnaden för en IT-infrastruktur som bygger på sådana lösningar avsevärt.