Seriella kommunikationsprotokoll SLIP och CSLIP.


Huvudskillnaden mellan protokollen SLIP och PPP från protokollen som diskuteras ovan är att de stöder punkt-till-punkt-kommunikation, när en nätverkskabel används för att bara överföra information mellan två datorer (eller annan nätverksutrustning) som är anslutna med denna kabel. En sådan anslutning är typisk när man ansluter till Internet via en telefonlinje, när man ansluter lokala nätverk till varandra via hyrda eller uppringda linjer, liksom i X.25, Frame Relay och ATM-nätverk (se senare i föreläsningarna) . Existerar Ett stort antal protokoll länklager för en punkt-till-punkt-anslutning, men här begränsar vi oss till att bara överväga SLIP och PPP.

SLIP (Serial Line IP) är ett datalänkprotokoll som låter dig använda en seriell datalinje (telefonlinje) för att kommunicera med andra datorer via IP (protokoll) nätverkslager). SLIP har funnits länge för att kommunicera mellan Unix-datorer via telefonlinjer och är nu föråldrat. tillåter inte användning av andra nätverksskiktprotokoll än IP, tillåter inte förhandlingar om parternas IP-adresser och har ett svagt autentiseringsschema (bevis på identitet) för användaren, vilket består i att skicka användarnamn och lösenord över nätverk. Således kan namnet och lösenordet (även krypterat) fångas upp och återanvändas av en angripare, eller så kan han helt enkelt vänta på att användaren ska autentiseras och sedan koppla bort det och ansluta sig själv för användarens räkning. Därför använder de flesta Internetleverantörer PPP för att ansluta till sina maskiner.

Länklagerprotokollet PPP (Point to Point Protocol) låter dig använda inte bara IP utan även andra nätverkslagerprotokoll (IPX, AppleTalk, etc.). Detta uppnås på grund av att varje meddelanderam inte bara lagrar en 16-bitars kontrollsumma utan också ett fält som anger typen av nätverksprotokoll. PPP stöder också Van Jacobson (VJ) -komprimering av IP-paketrubriker och möjliggör förhandlingar om den maximala storleken på överförda datagram, parternas IP-adresser etc. Autentisering i PPP är dubbelriktad, dvs. varje sida kan kräva autentisering av den andra. Autentiseringsförfarandet följer ett av två scheman:

a) PAP (Password Authentication Protocol) - i början av anslutningen skickas användarnamnet till servern och

(eventuellt krypterat) lösenord.

b) CHAP (Challenge Handshake Authentication Protocol) - i början av anslutningen skickar servern en slumpmässig utmaning till klienten. Klienten krypterar sitt lösenord med en envägs hash-funktion (en funktion vars Y-värde inte kan bestämma X) och en begäran som krypteringsnyckel. Det krypterade svaret skickas till servern, som har klientens lösenord i sin databas och utför samma operationer, och om svaret som mottas från klienten matchar det som beräknats av servern, anses autentiseringen vara framgångsrik. Således överförs inte lösenordet över kommunikationslinjerna. Även om klientens svar fångas upp är det inte möjligt att använda det nästa gång, för serverförfrågan kommer att vara annorlunda. Det är omöjligt att bestämma lösenordet baserat på svaret, för hash-funktionen krypterar bara data på ett sätt. För att förhindra manipulering av anslutningen efter att klienten har godkänt autentisering, i CHAP-schemat, skickar servern regelbundet testförfrågningar med jämna mellanrum. Om det inte finns något svar eller ett ogiltigt svar avslutas anslutningen.

OSI-modell... Övre nivåer

Internetanvändare som arbetar via Internetleverantörer utgör ett mycket viktigt segment av nätverket. Mottagning och överföring av data utförs med hjälp av ett modem anslutet via en seriell port på en dator till en vanlig telefonlinje. För att arbeta med ett nätverk via ett modem används ett av de två befintliga protokollen för att arbeta på seriella linjer anslutning: PPP eller SLIP. För att kunna skriva nätverksapplikationer måste du ha en god förståelse för nyckelord och skillnaderna mellan dem. Du måste också känna till ett SLIP-härledt protokoll som heter Compressed SLIP. Den här artikeln diskuterar frågor relaterade till det första protokollet - SLIP och dess modifiering CSLIP (beskrivet i RFC 1055 och RFC 1144).

För att upprätta en SLIP-anslutning används vanligtvis ett modem över en telefonlinje och kopplas till en asynkron seriell port. Två datorer som skapar en sådan anslutning utbyter data med pauser med variabel längd. Tyvärr finns det alltid störningar (brus) på telefonlinjen, så enheter anslutna till telefonnät, särskilja data från potentiell störning med hjälp av olika kommunikationsparametrar.

SLIP-anslutning

Under de första åren av Internet var SLIP det mest populära protokollet för internetåtkomst för nybörjare från sina hem- eller arbetsdatorer. För att kunna använda SLIP måste du ha rätt programvara som kan skapa en SLIP-anslutning mellan din dator och en internetvärd. Denna typ av programvara (det kallas ofta TCP-manager) utför funktionerna för att hantera en nätverksenhet, det vill säga det är en drivrutin nätverksenhet som ett modem. Du laddar ner och tar bort SLIP-programvaran efter behov.

SLIP är det mest ekonomiska och enklaste sättet att ansluta din dator till Internet. SLIP kan användas om ditt lokala nätverk inte har det direkt tillgång till Internet, eller om du vill ansluta en separat dator. För att SLIP ska fungera måste din ISP också tillhandahålla SLIP på sin värddator (Internet-värd).

Det är känt att varje lager i TCP / IP-protokollstaket inkapslar (infogar) data i det format i vilket det krävs för överföring till de omgivande lagren. När data färdas genom TCP / IP-stacken omges den sekventiellt av ytterligare information (inkapslad) för nästa lager på banan. För att skicka ett IP-datagram genom nätverkslagret, måste det övre lagret i anslutningen inkapsla data på lämpligt sätt, rama in det, enligt TCP / IP-nätverkslagernorm. Till exempel inkapslar anslutningsskiktet för Ethernet data i en Ethernet-ram. För token-ring-nätverket blir dessa följaktligen ramar av token-ring-standarden.

Seriekommunikationsstandarder, SLIP och CSLIP definierar helt enkelt en annan inkapslingsmetod. SLIP och CSLIP förbereder data för överföring via en seriell länk (vanligtvis ett RS-232-gränssnitt) till Internet. PPP inkapslar också data för samma ändamål. PPP använder dock mer komplex metod inkapsling och gränssnitt till Internet snarare än SLIP. Överföringskanalen för dem alla är dock fortfarande seriell och punkt-till-punkt. Logiskt sett är SLIP och PPP mellan datorns seriella port och dess TCP / IP-programvarustack.

Vad är SLIP?

Protokollen för TCP / IP-familjen kan fungera med en mängd olika nätverksteknik... De flesta nätverkstekniker kräver en väldefinierad dataramstruktur. Institute of Electrical and Electronic Engineering (IEEE), grundat 1963 och med mer än 300 000 medlemmar, har beskrivit en uppsättning olika standarder för att göra det lättare för mjukvaru- och hårdvarutillverkare att utveckla och tillämpa interoperabla datakommunikationsstandarder, inklusive lokala datornät. . Liksom de flesta standardiseringsorganisationer numrerar IEEE utgående dokument. IEEE 802-standardgruppen är dedikerad till lokala datanätverk. IEEE 802.1-standarden handlar till exempel om nätverkshanteringsmetoder, IEEE 802.3 och IEEE 802.5 beskriver fysiska nivåer för Ethernet- och tokenring-nätverk innehåller IEEE 802.2 en specifikation för anslutningsnivå för nätverk som Ehternet, tokenring och ett antal andra tekniker.

Transformationen (inkapsling) av data för överföring via seriella kommunikationslänkar beskrivs i ett dokument som heter RFC 1055, "A Nonstandard for Transmission of IP Datagrams Over Serial Lines: SLIP", Rornkey, 1988. RFC 1055 är inte en officiell internetstandard. Den beskriver de facto-standarden. Detta betyder att även om internetgemenskapen inte anser RFC 1055 som en standard, kan alla som vill att deras programvara redan är kompatibel med befintliga metoderöverföring, måste använda rekommendationerna i dokumentet i sitt arbete.

SLIP är ett protokoll för inkapsling av IP-paket i ramar som är lämpliga för överföring via en seriell länk. SLIP tillhandahåller inte möjligheten att adressera data, utse ramtyper, korrigera eller upptäcka dataskada eller komprimera paket. Bristen på dessa funktioner gör protokollet extremt enkelt att implementera och därför populärt. Trots sin popularitet använder företag och programvaruleverantörer sällan SLIP som en standardprotokoll eftersom det inte är en officiell internetstandard. I allmänhet används PPP som en sådan standard. PPP är verkligen en internetstandard med samma punkt-till-punkt seriella kommunikationsegenskaper som SLIP.

Inkapslar SLIP-data

Varje protokoll har egenskapen att inkapsla data. SLIP är inget undantag här. Den använder specialtecken för att begränsa dataramen på den seriella länken. SLIP definierar följande två tecken för detta ändamål: Avsluta och Esc. Slutsymbolen är ASCII 192 (OxCO), Esc är 219 (OxDB). En SLIP-dator överför ett slutkaraktär i slutet av varje datapaket. Esc används för att beteckna data som har samma nummer som Esc och End i ett datapaket. Det finns ingen speciell dold mening i det faktum att de angivna koder valdes för Esc och End. De valdes bara, och det är det. Därför är det nästan säkert att både Esc och End kommer att visas i användardataströmmen. När detta händer använder SLIP Esc för att berätta för mottagaren att nästa slutkaraktär inte är slutet på ramen. Till exempel, när en byte med numret OxCO (teckenkod Slut) hittas i ett datapaket, ersätter SLIP Esc-sekvensen med två byte Esc OxDC. Om byten är kodad med själva Esc-karaktären infogar SLIP en Esc-sekvens med två byte, Esc OxDD.

SLIP-implementeringen i den mottagande änden gör det motsatta för att korrekt analysera det inkommande datapaketet. Om en Esc-karaktär påträffas i sekvensen, tittar SLIP omedelbart på karaktären som följer Esc och, beroende på dess antal, tolkar den mottagna sekvensen på ett eller annat sätt. Till exempel, om tecknet som följer Esc är OxDC, ersätter SLIP två tecken med ett med OxCO. Om Esc OxDD accepteras ersätts den med en byte med OxDB-koden. När SLIP ser att den inkommande byten har slutkoden och det inte finns någon byte med Esc-koden framför betyder det att slutet på ramen har nåtts. Vidare överför SLIP all tidigare mottagen data till det övre nätverksskiktet som ett IP-paket.

De flesta SLIP-implementeringar skickar slutbyte också framför dataramen. Strängt taget kräver SLIP inte detta. Genom att göra detta tillåter SLIP emellertid mottagningsänden att effektivt kasta bort allt sopor som mottas före överföringen av en giltig ram och behandlas som en ram. En SLIP-implementering som verkar på detta sätt tillåter att en dataram med nollängd släpps när den mottagande änden får två på varandra följande slutsymboler.

Som vi nämnde ovan kan infogning av en End-symbol före början av ramen göra det möjligt för den mottagande änden att bli av med eventuellt brus på kommunikationslinjen. Sådana åtgärder uttömmer dock all SLIP: s förmåga att identifiera och ännu mer för att korrigera datafel. SLIP tilldelar uppgiften att identifiera och korrigera datapaket och meddelanden helt till protokollen på högre nivå, det vill säga till TCP / IP-nätverket och transportlagren. IP-protokollet kräver närvaro och verifiering av kontrollsumman i pakethuvudet, så SLIP kan mycket väl ignorera eventuell dataskada - detta arbete för det kommer att göras av IP, vilket kommer att kontrollera paketet och kasta det i händelse av skada. TCP-protokollet kommer också att kontrollera kontrollsumman för dess rubrik och datasegment på samma sätt, och i händelse av skada kommer det att hantera paketet ordentligt. Så vi ser att eftersom högre protokoll redan kontrollerar datatillståndet och integriteten finns det inget behov av att införa ytterligare datakontroll på SLIP-protokollnivån.

I föregående stycke vi upprepade det faktum att IP och TCP upptäcker och korrigerar fel som kan uppstå när data överförs till dem från nedre lager, till exempel från SLIP-protokollet, vilket i sig inte upptäcker fel. Eftersom UDP inte gäller kontrollsummor, ingen kan garantera att ett UDP-paket når sin destination över SLIP intakt, så länge som SLIP inte heller upptäcker ett fel. Tänk dig att du skickar UDP-paket över en bullrig telefonlinje med SLIP. Inget av dessa protokoll kommer att ta hänsyn till eventuella fel och dataskador. En dator som har fått ett skadat paket kommer med gott samvete att betrakta det som normalt, och detta beteende kan leda till oförutsägbara konsekvenser. Därför kan du inte skicka UDP-datagram över SLIP, såvida du inte använder UDP med kontrollsumma.

Nackdelar med SLIP

Förutom bristen på felavkänning och korrigering saknar SLIP-protokollet några viktigare funktioner för professionella nätverksprogrammerare. Till exempel kan SLIP inte adressera paket, märka paket av olika typer eller komprimera data i ett paket. RFC 1055 säger uttryckligen att skaparna av SLIP utvecklade det när tillgången på sådana funktioner inte var nödvändig.

Varje gång en SLIP-anslutning upprättas blir datorn en fullfjädrad internetvärd med sin egen IP-adress. Således blir det möjligt att betjäna andra Internetanvändare också. Eftersom din ISP kan använda dynamisk adresstilldelning (från sitt intervall) kommer din dator att få en ny IP-adress med varje ny anslutning. Följaktligen kommer andra datorer i nätverket att tvingas leta efter dig varje gång under en okänd adress.

Förutom alla irritationer finns det ingen metod att direkt ange din nya IP-adress när du skapar en SLIP-anslutning. Varje gång måste du ange den ändrade adressen manuellt i datorn, eftersom en dator inte automatiskt kan överföra IP-adressen till en annan med SLIP. Det finns bara en väg ut ur denna situation: att få en tjänstens IP-adress från tjänsteleverantören som bara tillhör dig. Vanligtvis kostar det att ha en sådan adress mer än att ha en dynamiskt tilldelad adress.

Det finns många datorer i världen där samtidigt flera olika nätverksprotokoll... Till exempel kan DEC-datorer kombinera TCP / IP och DECnet. Naturligtvis, när du arbetar med två protokoll samtidigt, vill du att de ska leva tillsammans på samma tråd som ansluter dig till omvärlden. Den här uppgiften är enkel så länge du använder Ethernet som nätverksmedium. Ethernet-ramar har motsvarande fält som indikerar typen av det överförda paketet, men så snart du försöker gå till SLIP kommer du att upptäcka att SLIP-ramen inte har ett sådant fält, och därför kan den överföra data för bara ett IP-protokoll.

Ethernet-nätverk överför information med hastigheter upp till 10 miljoner bitar per sekund. En SLIP-anslutning kan köras på ett höghastighetsmodem, men ändå bara vid 19 200 bps. Med andra ord är Ethernet mer än fem hundra gånger snabbare än SLIP. För att öka prestanda för din SLIP-anslutning kan du komprimera data som överförs via modemet, vilket minskar den nödvändiga nätverkstrafiken och låter dig överföra mer information på kortare tid. Antag att du vill överföra en fil på 100 kB (100x1024 byte) via ett modem med 1200 baud. Det tar cirka 14 minuter:
100 x 1024 = 102400 byte
102400 byte / 120 byte per sekund = 853 sekunder 853 sekunder / 60 sekunder per minut = 14 minuter

Om de överförda data förkomprimeras i förhållandet 1: 4 kommer storleken att minskas till 25 kB. Sändningstiden minskas till fyra minuter. Nyare modem använder inbyggd datakomprimeringsteknik. Vissa programvaruprotokoll använder också datakomprimering vid körning. Information i TCP- och IP-paketrubriker, som sällan ändras, kan effektivt elimineras med de enklaste datakomprimeringsalgoritmerna, när endast de ändrade delarna av rubrikerna överförs. RFC 1055, som beskriver SLIP-protokollet, beskriver dock ingen komprimeringsalgoritm. I nästa avsnitt lär du dig om en CSLIP-implementering som har förmågan att komprimera TCP / IP-rubriker för att förbättra prestanda.

Komprimerad SLIP (CSLIP)

SLIP-huvudkomprimeringsalgoritmen som förbättrar nätverksprestanda diskuteras i RFC 1144, "TCP / IP Header Compression on Low Speed seriella anslutningar"(Komprimering av TCP / IP-rubriker för seriella länkar med låg hastighet, Jacobson, 1990).

CSLIP komprimerar endast paketrubriker. Själva paketdata förblir oförändrad. Mer exakt komprimerar CSLIP endast TCP- och IP-rubrikerna för TCP-datasegment. CSLIP påverkar inte UDP-paketrubriker eller IP-rubriker för dem. Det finns en hel del olika implementeringar av CSLIP-protokollet utvecklat, så du behöver nog inte uppfinna en ny.

Förutsättningar för framväxten av CSLIP

För att förstå varför komprimering av paketrubriker är så effektiv, låt oss titta på några vanliga nätverksuppgifter;

Interaktiv inloggning på en fjärrdator (Telnet);

Online filöverföring (FTP);

E-post med Simple Mail Transfer Protocol (SMTP);

Läsa och sända nyheter med Network News Transfer Protocol (NNTP).

Liksom alla andra kommunikationslinjer har en seriell linje rubriker för användardatapaket. För ökning bandbredd linjen skulle inte skada att komprimera paketrubrikerna. Metoderna för överföring av paket över ett nätverk faller i två breda kategorier: interaktiva och icke-interaktiva. Vi visar senare att kommunikationskanalens effektivitet beror på typen av paketöverföring.

Utmärkta exempel är det inte interaktiv överföring paket är två protokoll: FTP och NNTP. Naturligtvis inkluderar det inledande steget i båda processerna manuell konfiguration och parameteröverföring. Allt som händer senare är dock överföring av information från en nätverksvärd till en annan, vilket inte kräver ditt ingripande. När du startar ftp från din dator anger du namnet på filen som ska överföras och sitter sedan och väntar på att byteflödet som utgör den här filen skickas från en annan värd till din egen. På samma sätt väljer du en nyhetsgrupp i NNTP-applikationen och väntar på att alla nyheter från servern ska överföras till din dator. Dessa är exempel på icke-interaktiv paketöverföring.

Telnet är ett typiskt exempel på interaktiv kommunikation. Varje tryck på användarens tangentbord skickar vanligtvis ett paket som innehåller koden för det inmatade tecknet till fjärrnätverksvärden. Trots det faktum att många Telnet-implementeringar kan överföra hela den angivna teckensträngen samtidigt, används den här funktionen vanligtvis inte, eftersom användaren vill få ett omedelbart svar från fjärrdatorn till det inmatade tecknet. Dessutom skickar fjärrdatorn tillbaka ett bekräftelsepaket med en kopia av det inmatade tecknet till användaren. Generellt skapar Telnet en dubbelriktad dataström som består av små paket.

Vanligtvis är IP-rubriker 20 byte långa och TCP-rubriken är också 20 byte lång. Härav följer att Telnet-sessionen skapar 40 byte-datapaket av en bytehuvud för varje sändtecken. För att förstå hur CSLIP fungerar måste du förstå två olika men nära relaterade begrepp: effektivitet och interaktivt systemrespons. Linjeeffektivitet är en faktor som är lika med längden på TCP / IP-rubriken dividerat med huvudlängden plus längden på användardata i det paketet. Vi kommer nu att beräkna linjens effektivitet för Telnet-sessionen.

Antag att Telnet-programmet sänder ett paket per tangenttryckning, som i sin tur består av ett byte-långt tecken. Ett datapaket som innehåller ett byte-långt tecken med TCP / IP-rubriker (40 byte till) kommer att vara 41 byte långt. Mottagaren av paketet måste skicka tillbaka en leveransbekräftelse, och detta kommer att vara ett paket med 41 byte. Låt oss nu beräkna linjens effektivitet. Det kommer att vara mindre än tre procent (processen för överföring över TCP / IP är duplex, eftersom datapaket följer oberoende av varandra i båda riktningarna, så linjens effektivitet betraktas oberoende för båda riktningarna. Men i vårt fall är resultatet är samma för båda riktningarna. annan riktning).

För att öka linjens effektivitet, antingen öka mängden data i paketet eller minska storleken på rubrikerna. CSLIP-algoritmen fokuserar på att minska storleken på paketrubriker. Dessutom uppfyller CSLIP systemets interaktiva svarskrav. Interaktiviteten i systemets svar är helt enkelt dess egendom för att övertyga användaren om att allt fungerar. Till exempel när en användare trycker på en tangent vill han förståeligt se hur det inmatade tecknet visas på sin bildskärm. Om nätverket orsakar betydande förseningar i överföringen av paketet kommer användaren att uppfatta nätverkets interaktivitet som otillfredsställande.

RFC 1144 diskuterar hur överföringen av nätverksdatapaketets rubriker kan påverka användarens uppfattning om situationen. Om vi ​​antar att varje tecken som matas in resulterar i två 41-byte-paket, finner vi att en baudhastighet på minst 4000 bitar per sekund krävs för att ge ekolatens på högst 200 millisekunder. Med andra ord får en långsam seriell linje användaren att tro att programmets hastighet är långsam, även om programmet faktiskt är ganska effektivt.

Icke-interaktiv paketöverföring kan också påverka systemets interaktiva respons. För att till exempel icke-interaktiva paket ska vara mer än 90 procent effektiva med 40-byte TCP / IP-rubriker måste du hålla den maximala paketlängden (MTU) mellan 500 och 1000 byte. Antag vidare att din SLIP-anslutning har en MTU på 1024 byte med en modemhastighet på 9600 baud. I detta fall kommer ett paket i en riktning att sändas på ungefär en sekund. Varje interaktiv session väntar på slutet av överföringen av det icke-interaktiva paketet.

Effekt av hårdvara

Förutom den mänskliga faktorn som vi har beaktat påverkar vissa hårdvarufunktioner också utformningen av protokollet. Modemtillverkare använder olika metoder för att förbättra effektiviteten hos dessa enheter. När du programmerar applikationer behöver du inte veta exakt vad som händer inne i modemet, men du måste vara uppmärksam på några saker.

Kommunikationsteorin anger den faktiska bandbredden mellan två enheter. Den effektiva bandbredden, beroende på vilken teknik som används, låter dig öka (och överstiga) den faktiska bandbredden när du komprimerar de överförda data. Genom att komprimera data kan du överföra mer av det samtidigt. I vissa fall överstiger den uppnådda överföringshastigheten den teoretiska gränsen för kommunikationskanalhastigheten.

I ett modemspecifikt duplexprotokoll flyter data i båda riktningarna samtidigt. Samma bandbredd används dock sällan i båda riktningarna, eftersom ena sidan av anslutningen sannolikt kommer att överföra mer data än den andra. Det är för det som en stor bandbredd tilldelas på grund av motsatt sida. Tilldelning av bandbredd är transparent för användaren och styrs av modemet själv.

För att avgöra vilken sida av en anslutning som kräver mest bandbredd antar modemtillverkare att ena sidan alltid är en människa, och det är denna part som behöver mest bandbredd. Modemet måste dock räkna ut det på egen hand. Startpunkten tas med 300 bitar per sekund. De flesta kan inte skriva snabbare än den angivna hastigheten. Tyvärr ändras situationen så snart vi börjar sända TCP / IP-paket med rubriker på fyrtio byte för varje tecken som anges. Hastigheten ökar i förhållandet 40: 1 och får modemet att ofta byta band in motsatta riktningar... Ett IP-paket med 41 byte består av 328 bitar, vilket ligger utanför de gränser som föreskrivs för att känna igen en person av ett modem. När du köper ett modem bör du vara uppmärksam på subtiliteter som de typer som stöds av datakomprimering och andra dataöverföringsfunktioner. Att köpa ett bra modem i dessa avseenden kommer att öka prestandan för din nätverksanslutning avsevärt.

Designmål

Modern modemarkitektur kan minska behovet av tangenttryckningsöverföringshastigheter till 300 bps eller mindre. Om vi ​​betraktar en tio-bitarsekvens per tecken (åtta databitar plus start- och stoppbitar), motsvarar 300 bitar per sekund en bandbredd på 30 byte data per sekund. Typisk tangentbordshastighetshastighet är 5 tecken per sekund. Detta lämnar 25 byte (30 - 5) för överföring av rubriker, förutsatt att den valda maximala bandbredden på 300 bitar per sekund bibehålls. Med andra ord är det också tillåtet att sända en rubrik med fem byte per en sänd karaktär. Dessutom upprätthåller en sådan överföring en god interaktivitet hos systemet, eftersom pausen mellan att trycka och ta emot ett eko inte kommer att överstiga 200 millisekunder med en hastighet av 4096 bitar per sekund.

SLIP-implementering

RFC 1144 diskuterar tekniker för att minska den erforderliga längden på de sända rubrikerna från 40 byte per paket till så lite som tre till fem. Jacobson visar att ungefär hälften av rubrikinformationen förblir oförändrad under en TCP-anslutning. CSLIP-protokollet kräver att efter att värdarna har upprättat en TCP-anslutning, behåller de kopior av de senast mottagna och överförda paketen, och i framtiden, när de lagrar numret på den aktuella anslutningen, helt enkelt överför ändringarna i rubrikerna, så att de kan samla riktig rubrik baserat på den oförändrade delen och den accepterade ändringen.

Så snart ett nytt CSLIP-paket visas använder nätverksprogramvaran identifieraren för att bestämma vilken anslutning den tillhör och återställer den till normal form... Som du kan se sänds inte riktiga paketrubriker via CSLIP, vilket minskar paketstorleken med 20 byte samtidigt.

Vidare överför inte CSLIP fältet Total IP-rubrik, utan tar emot det istället från nätverksskiktet för anslutningen och minskar längden med minst två byte till. Endast rubrikens kontrollsumfält finns kvar i IP-paketets rubrik, men det finns inget behov av att överföra kontrollsumman för de saknade uppgifterna. Istället för att sända rubrikens kontrollsumma beräknar CSLIP den på plats, till skillnad från SLIP, som fortfarande måste överföra kontrollsumman över länken. Vi tar bort kontrollsumman för rubriken - och vi får ytterligare två sparande byte.

Detta lämnar 16 byte i pakethuvudet, vilket kan ändras under en TCP / IP-session. Naturligtvis förändras de inte ständigt utan bara ibland. RFC 1144 konstaterar att, säg, FTP-protokolländrar endast paketidentifierare (ID), sekvensnummer och kontrollsumma i riktningen från sändaren till mottagaren. Paket-ID, bekräftelsepaket, kontrollsumma och möjligen sändningsfönstret är det som vanligtvis ändras från mottagare till sändare. CSLIP-sändaren behåller alltid en kopia av det senast skickade paketet. Således vet han exakt vilka förändringar som har inträffat i nästa överföringspaket. Om sändaren bara skickar de bytte byten blir den genomsnittliga pakethuvudstorleken cirka tio byte. Genom att veta hur fälten i rubriken ändras kan du uppnå ytterligare minskning av huvudstorleken.

Paketidentifieraren ändras som regel med en varje gång ett nytt paket sänds. Vad betyder det? Att skillnaden mellan de två identifierarna kan kodas med ett litet positivt heltal mindre än 256 (en byte). Vanligtvis är detta antal lika med ett. Vidare, för sändaren, kommer sekvensnumret för det aktuella paketet att vara det nummer som erhålls från tillägget av detta nummer från det tidigare paketet med längden på det tidigare paketet. Den maximala längden på ett IP-paket är 64000 byte, vilket innebär att sekvensnummerändringen mellan två paket aldrig kommer att överstiga två byte. I det här skedet sparar CSLIP oss ytterligare tre till fyra byte extra genom att bara skicka ändringar istället för riktiga fält.

Så vi kunde minska TCP / IP-rubriken från 40 byte till fem, vilket var målet. Implementeringsdetaljer är i allmänhet inte nödvändiga, såvida du inte vill skriva din egen CSLIP-implementering ...

Intresset för dessa två protokoll beror på att de används på både uppringda och dedikerade telefonlinjer. De flesta enskilda användare, liksom små lokala nätverk, ansluter till nätverket med dessa kanaler. Sådana kommunikationslinjer kan ge dataöverföringshastigheter upp till 115200 bitar per sekund.

SLIP-protokoll(Serial Line Internet Protocol). TCP / IP-teknik gör det möjligt att organisera samtrafik med olika fysiska protokoll och datautbytesprotokoll (IEEE 802.3 - ethernet, IEEE 802.5 - token ring, X.25, etc.). Samtidigt utan utbyte av data via telefon-telefonkommunikationslinjer med konventionella modem populariteten på Internet skulle vara mycket lägre. De flesta Internetanvändare använder sin hemtelefon som ett fönster in i datornätverkens värld och ansluter datorn via ett modem till modempoolen hos ett IP-tjänsteföretag eller till deras arbetsdator. Det enklaste sättet att tillhandahålla fullständig IP-tjänst är genom en seriell port på en persondator med SLIP-protokollet. Enligt RFC-1055 inkluderades SLIP för första gången som ett medel för åtkomst till ett IP-nätverk i 3COMs UNET-paket. 1984 implementerade Rick Adams SLIP för BSD 4.2, och därmed blev SLIP hela IP-communityns egendom. Normalt används detta protokoll på både dedikerade och uppringda kommunikationslinjer med hastigheter från 1200 till 19200 bitar per sekund. Om modem tillåter mer kan hastigheten "höjas", tk. moderna persondatorer tillåter dataöverföring till porten med en hastighet på 115200 bitar per sekund. Samtidigt, när man bestämmer utbyteshastigheten, bör man ta hänsyn till att när data överförs över en fysisk linje, genomgår data omvandlingar: komprimering och skydd mot fel på linjen. Denna omvandling tvingar dig att definiera en lägre linjehastighet än porthastigheten. Det bör noteras att bland de shareware IP-programvarustackarna (FreeWare) måste Trumpet Winsock till exempel innehålla stöd för SLIP-kommunikation. Sådan OS som FreeBSD, Linux, NetBSD, som du fritt kan kopiera och installera på din persondator, eller HP-UX, som levereras med Hewlett Packard-arbetsstationer, har i sin arsenal programvara som sliplogin (FreeBSD) eller slp (HP-UX), som får datorn att fungera som en SLIP-server för fjärranvändare som ansluter till IP-nätverket via en telefon. SLIP definierar inte SLIP-server, men verkliga livet gör justeringar av standarderna. Inom ramen för vår presentation är en "SLIP-klient" en dator som initierar en fysisk anslutning, och en "SLIP-server" är en maskin som är permanent ansluten till ett IP-nätverk. Kapitlet om IP-nätverk och anslutning fjärrdatorer, kommer att diskuteras i detalj om olika sätt anslutning via SLIP-protokollet, i detta avseende, utan att dröja vid detaljerna i en sådan anslutning, låt oss gå vidare till att diskutera SLIP-protokollet själv. Till skillnad från Ethernet "slår" SLIP inte ett IP-paket i sitt eget omslag, utan "skär" det i "bitar". Samtidigt gör han det primitivt. Ett SLIP-paket börjar med ESC (oktal 333 eller decimal 219) och slutar med SLUT (oktalt 300 eller decimal 192). Om dessa tecken finns i paketet ersätts de med tvåbytesekvenserna ESC-END (333 334) och ESC-ESC (333 335). Standarden definierar inte storleken på SLIP-paketet͵, därför har alla SLIP-gränssnitt ett särskilt fält där användaren måste ange denna längd. Samtidigt innehåller standarden en indikation på att BSD SLIP-drivrutinen stöder paket med en längd på 1006 byte, därför måste "moderna" implementeringar av SLIP-program stödja denna paketlängd. SLIP-modulen analyserar inte dataflödet och markerar inte någon information i denna ström... Den "skivar" den helt enkelt i "bitar", var och en börjar med ett ESC och slutar med ett END. Från ovanstående beskrivning är det tydligt att SLIP inte tillåter dig att utföra några åtgärder relaterade till adresser, eftersom paketstrukturen tillhandahåller inte adressfältet och dess speciella bearbetning. Datorer som kommunicerar via SLIP måste känna till sina IP-adresser i förväg. SLIP tillåter dig inte att särskilja paket efter protokolltyp, t.ex. IP eller DECnet. Generellt sett, när man arbetar över SLIP, ska det endast använda IP (Serial Line IP trots allt), men enkelheten i paketet bör också vara frestande för andra protokoll. Det finns ingen information i SLIP för att korrigera länkfel. Felkorrigering tilldelas transportlagerprotokollen - TCP, UDP. Standard SLIP tillhandahåller inte datakomprimering, men det finns protokollalternativ med sådan komprimering. När det gäller komprimering bör följande noteras: de flesta moderna modem som stöder V.42bis- och MNP5-standarderna implementerar hårdvarukomprimering. Samtidigt visar praxis att arbeta på våra vanliga telefonkanaler att det är bättre att överge denna komprimering och bara arbeta med automatisk felkorrigering, till exempel MNP4 eller V.42. Generellt sett måste alla välja det läge som är mest stabilt under de specifika driftsförhållandena i telefonnätet (fram till årstiden och frekvensen av olyckor i värmenätet).

Punkt-till-punkt-anslutningar - PPP (Point to Point Protocol)... PPP är ett yngre protokoll än SLIP. Samtidigt är dess syfte samma - kontroll av dataöverföring via dedikerade eller uppringda kommunikationslinjer. Enligt RFC-1661 tillhandahåller PPP en standardmetod för kommunikation mellan två noder i ett nätverk. Det antas att dubbelriktad samtidig dataöverföring tillhandahålls. Som med SLIP "skivas" data i bitar som kallas paket. Paket överförs från nod till nod på ett ordnat sätt. Till skillnad från SLIP låter PPP dig samtidigt sända paket över kommunikationslinjen olika protokoll... Samtidigt antar PPP en process för automatisk konfiguration av båda kommunicerande parterna. I grund och botten har PPP tre delar: en inkapslingsmekanism, ett länkkontrollprotokoll och en familj av nätverkskontrollprotokoll. Inkapsling används ofta när man diskuterar sätt att transportera data i internetbearbetning, till exempel IP-inkapsling i X.25. Vi har redan mött inkapsling av TCP i IP. Inkapsling möjliggör multiplexering av olika nätverksprotokoll (Internetkommunikationsprotokoll såsom IP) över en enda datalänk. PPP-inkapsling är ganska effektivt, till exempel kräver en HDLC-ram endast 8 extra byte (8 oktetter i PPP-terminologi) för att sända. Med andra metoder för att dela information i ramar bör antalet ytterligare byte minskas till 4 eller till och med 2. För att säkerställa snabb bearbetning information måste paketets PPP-gräns vara en multipel på 32 bitar. När det är extremt viktigt läggs "ballast" till i slutet av paketet för inriktning vid 32-bitarsgränsen. Generellt sett är begreppet inkapsling i PPP-termer inte bara att lägga till tjänsteinformation i den transporterade informationen, utan, om det är extremt viktigt, och att bryta denna information i mindre fragment. I PPP förstås ett datagram som en informationsenhet för nätverkslagret, i förhållande till IP - ett IP-paket. En ram förstås som en informationsenhet för länklagret (enligt OSI-modellen). En ram består av en rubrik och en svans͵ mellan vilken innehåller data. Datagrammet måste vara inkapslat i en eller flera ramar. Ett paket är en informationsenhet för utbyte mellan nätverks- och datalänkmoduler. Vanligtvis tilldelas varje paket en ram, förutom i de fall då länklagret kräver ännu mer datafragmentering eller tvärtom kombinerar paket för mer effektiv överföring.

SLIP och PPP - koncept och typer. Klassificering och funktioner i kategorin "Protokoll SLIP och PPP" 2017, 2018.

  • - Internetprotokoll

    När det gäller protokoll använder Internet flera typer av protokoll som har dykt upp över tid och utveckling av datorteknik. Dessa inkluderar TCP / IT-protokollet (1974) o TCP (Transmission Control Protocol). Filen är uppdelad i paket om högst 1,5 kB. Paket överförs ....


  • - Grundläggande internetprotokoll

  • - Grundläggande internetprotokoll

    Internetadressering Varje dator på Internet tilldelas två unika adresser: en digital IP-adress och en domänadress. Båda dessa adresser kan användas lika. En digital adress är bekväm för bearbetning på en dator, och en domänadress är för ....


  • - Utnämning av COP. Globala och lokala COP. Definitioner och funktioner på Internet, protokoll och tjänster på Internet.

    Det lokala nätverket- ett nätverk som förenar datorer i ett begränsat område och arbetar på enhetliga programvaruprinciper. Framväxten av ett LAN gjorde det möjligt att avsevärt öka användningen av VT: er på grund av mer rationell användning av hårdvara, ...

  • Vi har tidigare tittat på att logga in på nätverket via det lokala Ethernet-gränssnittet. Överväg användningen av en telefonlinje i nätverket. Det finns motsvarande programvara.

    Datorn ansluts till telefonlinjen via ett modem eller annan liknande enhet.

    Som standardprogram för styrning av överföring telefonlinjer använder två protokoll SLIP och PPP.

    SLIP-protokoll

    SLIP (Serial Line IP) är ett seriellt dataöverföringsprotokoll. SLIP tillåter en dator att använda IP för att kommunicera via ett nätverk via telefonlinjer och modem och direkt via RS-232-gränssnittet.

    Programvaran som implementerar SLIP-protokollet accepterar IP-paket från processen som skickar dem från nätverkslagerprogrammet, lägger till dess serviceinformation och överför den till den seriella dataenheten (modem, COM-port etc., byteorienterad) ... I den andra änden av den seriella linjen accepterar ett liknande program tecken från den seriella enheten, frigör dem från tjänstinformation, återställer IP-paket och överför dem till lämpligt nätverkslagerprogram.

    Följande används som servicetecken för att skilja överförda datagram:

    SLIP END-symbolen - motsvarande decimalbyte 192, vilket markerar slutet på datagrammet. När SLIP-mottagaren tar emot en byte med den här koden upptäcker den att detta är slutet på datagrammet och skickar det till IP-lagret.

    SLIP ESC-tecken - motsvarande decimalbyte 219. Detta tecken är avsett att utesluta SLIP-kontrolltecken från sekvensen. Om den sändande SLIP-enheten känner igen en byte med ett värde som motsvarar SLIP END i utgången, konverterar den denna karaktär till en byte-sekvens av byte. Dessa är två bytesekvenser, det konverterar dem tillbaka till 1 bytevärden.

    SLIP är väldigt enkelt. Den organiserar inte kontroller av överföringens riktighet, vet inte hur man hanterar anslutningsparametrar etc., vilket i hög grad begränsar dess tillämplighet.

    PPP-protokoll

    Med tanke på SLIP-bristerna utvecklades punkt-till-punkt-protokollet, PPP. Detta protokoll utvecklades av Internet Engineering Task Force (IETF) som en del av TCP / IP-stacken för överföring av informationsramar över seriella breda länkar. PPP har blivit de facto-standarden för globala kommunikationslinjer när man ansluter fjärrklienter till servrar och för att skapa anslutningar mellan routrar i företagsnätverk... PPP utvecklades med målet att överföra data för ett brett spektrum av nätverksprotokoll. PPP är mer pålitlig än SLIP, men också mer tidskrävande att implementera.

    När man utvecklade PPP-protokollet togs HDLC-ramformatet som grund och kompletterades med egna fält. PPP-fält är inbäddade i HDLC-ramens datafält. Senare standarder utvecklades med PPP-raminbäddning i ramar ramrelä och andra WAN-protokoll.

    PPP-protokollet är ett protokoll med tre lager som inkluderar:

    Protokoll för datalänklager- dataöverföringsskiktet använder en enkel modifiering av HDLC-protokollversionen (High-level Data Link Control). HDLC är en internationell standard för pålitlig överföring data via en synkron, seriell kommunikationslinje, dvs. PPP kan garantera pålitlig leverans av meddelanden över olika typer av seriella linjer.

    Protokoll för länkstyrning- kommunikationskontrollprotokoll. Producerar kontrollinformation för en seriell linje. Den används för att upprätta en anslutning, konfigurera anslutningsparametrarna, kontrollera anslutningens kvalitet och för att stänga anslutningen.

    Protokoll för nätverkskontroll- nätverkskontrollprotokoll - producerar konfigurations- och kontrollinformation för nätverkslagerprotokoll.

    Huvudskillnaden mellan PPP och andra länklagerprotokoll är att det uppnår den samordnade driften av olika enheter med hjälp av en förhandlingsprocedur, under vilken olika parametrar sänds, såsom linjekvalitet, autentiseringsprotokoll och inkapslade nätverkslagerprotokoll.

    Förhandlingsförfarandet äger rum under anslutningsetableringen. PPP-protokollet bygger på fyra principer: förhandlat godkännande av anslutningsparametrar, stöd för flera protokoll, protokolls utbyggbarhet, oberoende från globala tjänster.

    Förhandlingsaccept av anslutningsparametrar... I ett företagsnätverk skiljer sig slutsystemen ofta åt i storlek på buffertar för tillfällig lagring av paket, begränsningar av paketets storlek och listan över protokoll som stöds av nätverkslager. Fysisk linje länkande slutenheter kan sträcka sig från en låghastighets analog linje till en höghastighets digital linje med varierande servicekvalitet. För att klara alla möjliga situationer har PPP-protokollet en uppsättning standardinställningar, agerar som standard och tar hänsyn till alla standardkonfigurationer... När en anslutning upprättas försöker två interagerande enheter först använda dessa inställningar för att hitta en förståelse. Varje slutpunkt beskriver dess kapacitet och krav. Baserat på denna information mottas sedan anslutningsparametrar som passar båda parter, vilket inkluderar datakapslingsformat, paketstorlekar, linjekvalitet och autentiseringsprocedur. Protokollet enligt vilket anslutningsparametrarna tas emot anropas Link Control Protocol (LCP)... Ett protokoll som gör det möjligt för slutnoder att komma överens om vilka nätverksprotokoll som ska överföras till etablerad anslutning kallas Network Control Protocol (NCP)... Inom en PPP-anslutning kan dataströmmar från olika nätverksprotokoll överföras. En av viktiga parametrar PPP - anslutning är autentiseringsläget. För autentiseringsändamål erbjuder PPP som standard protokollet PAP (Password Authentication Protocol), som överför lösenordet över kommunikationslinjen i klartext, eller CHAP-protokollet (Challenge Handshake Authentication Protocol), som inte överför lösenordet över kommunikationslinjen och ger därför större nätverkssäkerhet. Användare får också lägga till nya autentiseringsalgoritmer. Disciplinen för att välja sid- och datakomprimeringsalgoritmer är liknande.

    DNS-protokoll

    7.6.1 Beskrivning DNS-protokoll

    Under de första åren hade Internet ett litet antal webbplatser. Före 1980 bestod ARPANET av flera hundra datorer. Korrespondensen mellan deras namn och IP-adresser lagrades i textfilen hosts.txt, men den lagrades på datorn Informationscenter nätverk i Stanford forskningsinstitut Mailo Park i Kalifornien (SRI-NIC - Stanford Research Institute's Network Inform Center).

    Andra datorer anslutna till ARPANET kopierade den här filen från SRI-NIC efter behov. Uppdateringen ägde rum en eller två gånger i veckan. Med ökningen av antalet bilar började problem uppstå:

    Hosts.txt-filen har blivit för stor;

    Uppdateringen måste utföras flera gånger om dagen;

    All nätverkstrafik relaterad till namnupplösning gick genom SRI-NIC och underhållet av filen hosts.txt blev en flaskhals för hela nätverket.

    Hosts.txt-filen använde ett linjärt namnområde.

    Dessa och andra problem har fått ARPANET-ledningen att söka en mekanism för att ersätta filen hosts.txt. Som ett resultat skapades domännamnssystemet - DNS.

    DNS är en metod för att tilldela namn genom att skicka nätverksgrupper ansvar för deras delmängd av namn.

    Varje nivå i detta system kallas en domän. Domäner i namn är åtskilda från varandra med perioder.

    Exempel: admin.isp.nsc.ru. eller cyber.neic.nsk.ru.

    Den första i namnet är namnet på arbetsmaskinen - en riktig dator med en IP-adress.

    Sedan innehåller namnet gruppens namn (till exempel: neic - institutionens namn eller namnet på en grupp som stöder många maskinnamn).

    Gruppen är en del av en större förening (till exempel: nsc - Sibirisk gren, nsk - Novosibirsk).

    Facket är en del av ett nationellt nätverk (till exempel: ru, su - Ryssland, de - Tyskland, pl - Polen, etc.).

    För USA utelämnas namnet på landet, där de största föreningarna är nätverk av utbildnings (.edu), kommersiellt (.com), regering (.gov), militär (.mil), annat (.org) och nätverksresurser (.net).

    Det borde inte finnas samma namn inom samma domän. Om gruppen själv är engagerad i distribution och igenkänning av dess namn, ska den tilldelas i en separat DNS-zon och ha DNS-servrar (primära och sekundära) som upprätthåller en infobas över datorns namn för hela gruppen.

    DNS är ett hierarkiskt distribuerat databashanteringssystem baserat på en klient-serverarkitektur. Syftet med DNS-databasen är att översätta datornamn till IP-adresser. DNS-klienter kallas kvalificerare och servrar är namnservrar.

    Information om dessa servrar måste lagras på DNS-servrarna i den högre nivåzonen som inkluderar domänen för den zonen.

    Namnservrar är indelade i primär och backup.

    Huvudserver namn får data för zonen från lokala filer... Zonändring - att lägga till (ta bort) domäner eller noder - utförs på huvudservernivån.

    Redundanta servrar namn får data om zoner från huvudservern. Överföring av information om en zon kallas överföring av en zon.

    Servern definieras som primär och backup på zonnivå. Därför kan varje server vara både primär och backup.

    När du begär en adress skickar den lokala datorn begäran till den lokala namnservern, den DNS-server som ansvarar för landet. Han skickar nedan och så vidare tills någon lokal DNS-server avgör att namnet finns i dess databas. Målmaskinens IP-adress skickas tillbaka.

    IP-adressen levereras till den lokala datorn som försökte skicka meddelandet. Den mottagna IP-adressen placeras i IP-rubriken för det skickade meddelandet och skickas.

    DNS-servern har två filer som innehåller namnbasen:

    direktzonfil;

    omvänd zonfil.

    Den främre zonfilen med namnet.hosts används för att översätta värdnamn till IP-adresser.

    En rad från den filen innehåller maskinens namn och dess IP-adress:

    admin.isp.nsc.ru IN A 194.226.178.182

    Den namngivna.rev omvända zonfilen (* .rev) konverterar IP-adressen till värdnamnet. Raden i filen omvänd zon innehåller maskinens IP-adress och dess namn:

    194.226.178.182 IN PTR admin.isp.nsc.ru

    7.7 RIP - Routing

    Routningsinformationsprotokoll. RIP (routing information protocol) - hänvisar till en välkänd klass av routingsprotokoll baserat på Bellman-Ford-algoritmen. Detta protokoll är baserat på så kallade vektoravståndsalgoritmer.

    Routing är ett sätt att bestämma den optimala vägen mellan två noder på Internet. Utan routing skulle trafiken vara begränsad till ett enkelt fysiskt nätverk.

    Det finns tre vanligaste routingkonfigurationer:

    minimal routing- används när nätverket är helt isolerat från andra TCP / IP-nätverk. Minimaltabellen skapas manuellt av administratören under nätverkskonfigurationsprocessen.

    statisk konfiguration- används när nätverket har ett begränsat antal gateways till andra TCP / IP-nätverk. Den statiska routingtabellen skapas manuellt av systemadministratören med hjälp av ruttkommandot. Den statiska routingtabellen används om det inte finns några förändringar i nätverksstrukturen.

    dynamisk routing- används när nätverket har mer än en rutt till någon annan maskin.

    Den dynamiska routingtabellen är uppbyggd från utbytesinformationen för routing-protokollen. Ruttprotokoll ger information över nätverket som speglar förändringar i nätverkstrafiken. Ruttprotokollet är mycket snabbare och mer exakt när det gäller att upptäcka förändringar i nätverksdirigeringssituationer än en systemadministratör. De avgör vilken rutt som är bäst baserat på den så kallade ”kostnaden” för överföring (antal noder längs rutten, totala förseningar etc.).

    Information om rutter mellan värdar, oavsett hur den bestämdes av administratören manuellt eller av routningsprotokollet, lagras i ruttabellen.

    Algoritmen som implementerar RIP-protokollet är baserat på utbytet mellan routrar endast information om avstånden mellan dem i motsvarande mått.

    Det anses att själva nätverken är punktobjekt, det vill säga avståndet mellan två noder i samma nätverk är lika med noll, varför avståndet mellan routrarna i två olika nätverk är lika med avståndet mellan dessa nätverk.

    Varje router har en tabell med alla andra nätverk i domänen. Tabellen visar också namnen på de grannar genom vilka sökvägen till andra nätverk passerar och motsvarande mätvärden - avstånden till dessa nätverk från routernätverket.

    Varje router sänder sin egen distansbord till alla rutter - sina närmaste grannar. Närliggande routrar uppdaterar sina tabeller, förutsatt att sökvägen från grannen är kortare:

    längden är = (banlängd rapporterad av granne A) + (banlängd till granne A).

    Låt oss överväga principen att bilda ruttabeller. Låt nätverket som visas i figur 7.7 ges.

    Figur 7.7. Ett exempel på en nätverksstruktur

    Låt oss fylla i ruttabellerna för varje nätverk. Avståndet mellan grannar och måttet måste uppenbarligen vara känt i förväg. Okända parametrar ställs in godtyckligt. Exempel på initialtillstånden för varje routers ruttabeller visas i figur 7.8:

    Router A.

    Router B.

    Router C.

    Figur 7.8. Ruttabeller

    Utbyten utförs på stat för stat-basis, och efter ett visst antal får vi resultatet.

    Så efter den första iterationen av utbyten kommer router A att ta emot data från router B och justera mätvärdet till nätverk D. Router C kommer att ta emot data från router D och justera mätvärdet till nätverk T.

    Frånvaron av begränsningar för avståndsvektorernas initialtillstånd, förutom att alla avstånd måste vara icke-negativa, innebär att om nätverkstopologin ändras kommer processen fortfarande att konvergera, men till en ny avståndsvektor. Processen konvergerar på en begränsad tid om det inte finns några förändringar i nätverkstopologin. Om förändringar sker ständigt kommer processen ständigt att konvergera.

    Bellman-Ford-algoritmen tillhandahåller diagnostik för radbrytning. Om en granne inte svarar på en granne under lång tid tilldelas raden ett mått lika med oändligheten - ∞.

    RIP har följande nackdelar:

    användning av fasta mått;

    svårigheter att använda i stora nätverk, eftersom antalet nätverksändringar med utbyggnaden av nätverket ökar, vilket kräver frekvent överföring av dirigeringsinformation;

    routingtabellen tar inte hänsyn till den resulterande kanalbelastningen.

    RIP innebär att man väljer en enda rutt, även om det finns ett alternativ. Förbi VILA I FRID all trafik riktas längs denna enda rutt och belastar den tungt.

    För närvarande har routningsprotokollet OSPF (öppna kortaste vägen först) introducerats.

    Förutom routingens huvudfunktion fördelar den snabbt schemat mellan motsvarande rutter.

    Sammanställningen av routingtabeller kan utföras av Bellman-Ford-algoritmen. Och mekanismen för att samla in och använda routningsinformation skiljer sig från RIP.

    Varje router har all information som dess grannar har. Därför kan den utföra alla beräkningar som krävs för routingtabellen.

    Om det finns en förändring skickas informationen med metoden för lavinvägar.

    7.8 NFS - Nätverksfilsystem

    NFS - Tillåter att kataloger och filer distribueras över nätverket.

    NFS utvecklades ursprungligen av SON Microsystem. Används för närvarande i alla UNIX-liknande operativsystem och andra icke-UNIX-liknande.

    Genom NFS får användare och program tillgång till filer som finns på fjärrdatorer.

    NFS har följande fördelar:

    minskar mängden minne som krävs lokal dator nätverket kan hålla en enda kopia av katalogerna tillgängliga för alla.

    NFS förenklar centraliserat jobbstöd eftersom filer fortfarande kan vara i transit via nätverket.

    NFS tillåter användare att använda en familj av UNIX-kommandon för att hantera fjärrfiler. Du behöver till exempel inte använda FTP för att kopiera en fil från en dator till en annan, men du kan använda kommandot cp (copy).

    Det finns två sidor till NFS - ena sidan är klienten och den andra sidan är servern.

    NFS-klientÄr ett system som använder fjärrkataloger som om de var en del av sitt eget lokala filsystem.

    En NFS-server är ett system som gör kataloger tillgängliga för användning.

    Att ansluta en fjärrkatalog till det lokala filsystemet (klientfunktion) kallas katalogmontering.

    Tillhandahålla en katalog för Fjärranslutning(serverfunktioner) kallas för att exportera en katalog.

    Ofta laddar operativsystemet både serverfunktionerna och klientfunktionerna i en maskin.

    Processerna (demoner) som krävs för att starta NFS laddas vid starttid i en startfil.

    7.8.1 Montera ett filsystem

    Motsvarande filsystem (FS) måste byggas in i det befintliga hierarkiska katalogträdet. Först då kan kärnan utföra filåtgärder på detta filsystem, som att skapa, öppna, läsa eller skriva till en fil.

    Filsystemet monteras med hjälp av monteringssystemanropet. Följande skickas som argument:

    typ av monterat filsystem;

    namnet på den katalog som FS ansluter till;

    flaggor (till exempel skrivskyddad FS-åtkomst);

    ytterligare data (typen beror på implementeringen av en viss FS).

    När det är monterat kan filsystemet adresseras med namnet på monteringspunkten.

    #mount –r oberon: / / USR / local.

    #mount –t NFS oberon: / / USR / local

    7.8.2 Blockera åtkomst till en fil

    NFS tillåter (enligt UNIX-arkitektur) flera processer att komma åt en fil samtidigt för läs- och skrivåtkomst.

    Samtidigt finns det sätt att blockera åtkomst. Låsning tar bort möjligheten till modifiering av data genom en process mellan två på varandra följande samtal för att läsa data genom en annan process, vilket kan leda till inkonsekvent filoperation och dataskada.

    För att låsa ett visst byteområde i en fil eller skriva en fil, använd systemanropet fcntl () och biblioteksfunktionen lockf () för att låsa hela filen för skrivning för läsning.

    strukturflocklås;

    // fyll i låsstrukturen för att låsa hela filen för skrivning

    lock.l_type = F_RDLCK

    // låsa filen för skrivning

    fcntl (fd, SETLKW, & lock);

    // skriva data till filen

    skriva (fd, post, storlek på (post));

    // låsa upp

    lås l_type = F_UNLCK;

    HDLC-protokoll

    HDLC- protokoll för högnivåkontroll av dataöverföringskanalen publiceras ISO standard och grundläggande för att bygga andra protokoll för länklager ( SDLC, KNÄ, LAPB, LAPD, LAPX och LLC). Den implementerar en flödeskontrollmekanism genom kontinuerlig ARQ(skjutfönster) och har valfria funktioner (alternativ) som stöder halv-duplex- och full-duplexöverföring, enpunkts- och multipunktkonfigurationer, samt bytte och icke-omkopplade kanaler.

    Flödeskontroll i HDLC utförs med sändnings- och mottagningsfönster. Ett fönster är installerat i varje ände av kommunikationslänken för att tillhandahålla resursreservation för båda stationerna. Dessa resurser kan vara kalkylatorresurser eller buffertutrymme. I de flesta fall tillhandahåller fönstret både buffertutrymme och numreringsregler (meddelande).

    Fönstret ställs in när en kommunikationssession mellan stationer inleds. Om station A och station B ska utbyta data reserverar A ett fönster för B och B reserverar ett fönster för A. Användningen av fönster är nödvändig för full-duplexprotokoll, eftersom de innebär en kontinuerlig ström av ramar till den mottagande noden utan periodiska bekräftelser med stopp och vänta.

    Protokoll GLIDA (Seriell linje IP, RFC-1055) är det enklaste sättet inkapsling av IP-datagram för seriella kommunikationslänkar.

    Detta protokoll har blivit populärt på grund av möjligheten att ansluta personliga hemmaskiner till Internet via porten Rs-232, som är ansluten till modemet. IP-datogram i fallet GLIDA borde sluta speciell karaktär 0xC0 kallas slutet. I många implementeringar börjar datagrammet med denna symbol. Om någon byte i datagrammet är lika med slutkaraktären sänds istället en två-bytesekvens 0xDB, 0xDC. Octet 0xDB körs i GLIDA fungera ESC-symbol. Om datagrambyte är 0xDB, så överförs sekvensen 0xDB, 0xDD istället.

    Använda protokollet GLIDA förutsätter att ett antal villkor uppfylls:

    1. Varje utbytespartner borde veta IP adress till adressaten, eftersom det inte finns någon metod för att utbyta denna typ av information.

    2. GLIDA Till skillnad från Ethernet använder inte kontrollsummor, så felavkänning och korrigering är helt upp till programvaran på högre nivå.

    3. Sedan ramen GLIDA har inget typfält, det kan inte användas, till skillnad från Ethernet-ramar, för att implementera andra protokoll genom inkapsling.

    Protokoll för första gången GLIDA tillämpades 1984 4.2 BSD... Informationsöverföringshastighet när protokollet används GLIDAöverstiger inte 19,2 kb / s, vilket vanligtvis är tillräckligt för interaktivt utbyte inom telnet eller INLOGGNING. Maximal storlek det överförda blocket ( MTU) för GLIDA ligger nära 256-512 byte, vilket ger en rimlig kompromiss mellan svarsfördröjningsvärdet (~ 256 ms.) och kanaleffektiviteten (~ 98% för CSLIP). I det här fallet används 20 byte i rubriken för att överföra ett tecken (tryckt knapp) IP-datogram och 20 byte TCP-rubrik. Med tanke på kostnaderna för formning GLIDA-ramar, kostnaden är större än 40 byte.


    Denna brist elimineras delvis i den nya versionen. CSLIP (Komprimerad SLIP, RFC-1144, föreslagen av Jacobson 1990). I CSLIP rubriken reduceras till 3-5 byte (mot 40 tum GLIDA). Denna version av protokollet kan stödja upp till 16 TCP-anslutningar i vardera änden av den seriella länken. Många moderna GLIDA-förare stöd och CSLIP.

    PPP (Point-to-Point Protocol)

    En av anledningarna till det lilla antalet kommunikationskanaler IP med en direkt anslutning fanns det inget standardprotokoll för internetdatapaket. Protokoll Punkt-till-punkt-protokoll (PPP)(Direct Attach Link Protocol) var avsett att lösa detta problem.

    Förutom att lösa problemet med att bilda standarddatapaket Internet-IP i kanaler med direktanslutning, PPP var också tvungen att lösa andra problem, inklusive tilldelning och hantering av adresser IP, asynkron (start / stopp) och synkron bitorienterad databurring, nätverksprotokollmultiplexering, länkkonfiguration, länkkvalitetskontroll, felavkänning och alternativförhandling för funktioner såsom nätverkslager adressförhandling och informationskomprimeringsförhandling.

    PPP löser dessa problem genom att tillhandahålla ett utbyggbart Channel Management Protocol ( Link Control Protocol) (LCP) och familjen av nätverkshanteringsprotokoll (Network Control Protocols) (NCP ) som möjliggör förhandlingar om valfria konfigurationsparametrar och olika funktioner.

    I dag PPP, Förutom IP, tillhandahåller också andra protokoll, inklusive IPX och DECne .

    Till skillnad från GLIDA- protokoll PPP kan fungera genom vilket gränssnitt som helst DTE / DCE(t.ex, MKB RS-232-C, MKB RS- 422, MKB RS-423 och CCITT V.35).

    Protokoll PPP ganska opretentiös och kan fungera utan modemsignaler (t.ex. Begära att skicka, Klart att skicka, Databärare upptäcka och Dataterminal klar). Det enda absoluta kravet som är PPP, är kravet att tillhandahålla dubbla kretsar (antingen dedikerade eller omkopplingsbara) som kan fungera i både synkron och asynkron bit-seriell läge, transparent för datalänkskiktblock PPP.

    PPP inför inga begränsningar för hastigheten för informationsöverföring, förutom de som bestäms av det specifika gränssnitt som används DTE / DCE.





    

    2021 gtavrl.ru.