Typ av service

typen av tjänst ( ToS ) är den andra byten i IPv4 -huvudet . Den har haft olika syften genom åren och har definierats på olika sätt av fem RFC:er .

Före omdefinieringen kunde ToS-fältet specificera ett datagrams prioritet och begära en rutt för låg latens, hög genomströmning eller mycket tillförlitlig tjänst. Baserat på dessa ToS-värden skulle ett paket placeras i en prioriterad utgående kö, eller ta en rutt med lämplig latens, genomströmning eller tillförlitlighet. I praktiken har ToS-fältet aldrig sett någon utbredd användning utanför det amerikanska försvarsdepartementets nätverk. En hel del experimentellt, forsknings- och distributionsarbete har dock fokuserat på hur man använder dessa åtta bitar, vilket resulterat i den nuvarande DS-fältdefinitionen .

Den moderna omdefinieringen av ToS-fältet, som också används för Traffic Class- fältet i IPv6-paket , är ett 8-bitars differentierat tjänstefält (DS-fält) som består av ett 6-bitars Differentiated Services Code Point (DSCP)-fält och ett 2- bit Explicit Congestion Notification (ECN) fält. Även om Differentiated Services är något bakåtkompatibla med ToS, är ECN inte det.

Historia

Typ av tjänst-fältet i IP-huvudet definierades ursprungligen i RFC 791 och har sedan dess tolkats för IP Precedence och ToS . Definitionen härleddes till stor del från en amerikansk DoD-specifikation JANAP-128, som definierar meddelandeföreträde. Den definierade en mekanism för att tilldela en prioritet till varje IP-paket, såväl som en mekanism för att begära specifik behandling såsom hög genomströmning, hög tillförlitlighet eller låg latens, etc. I RFC 1349-uppdateringen introduceras Monetary Cost-biten (denna bit var tidigare märkt "Reserved for Future Use"). Avsnitt 2.4 i RFC 1583 (OSPFv2) introducerar en ToS-medveten routingmetod.

I praktiken har endast IP Precedence-delen av fältet någonsin använts utanför amerikanska DoD-nätverk: ju högre värde på IP Precedence-fältet, desto högre prioritet har IP-paketet. Vissa amerikanska DoD-nätverk använde fördröjningsbiten för ruttval mellan oceaniska kabelvägar och satellitkommunikationsvägar (SATCOM) när båda vägarna fanns. IPv6 har aldrig haft ett IPv4-liknande "traditionellt" ToS-fält, delvis på grund av att författarna var medvetna om DiffServ-insatser vid dess utarbetande (RFC 2460 avsnitt 7).

I RFC 2474 ändrades definitionen av hela detta fält. Det kallas nu "DS" (Differentiated Services, "DiffServ")-fältet och de övre 6 bitarna innehåller ett värde som kallas "DSCP" (Differentiated Services Code Point). De övre 3 bitarna i DS bibehåller kompatibilitet med IP Precedence. Sedan RFC 3168 används de återstående två bitarna (de två minst signifikanta bitarna) för Explicit Congestion Notification.

RFC 8622 lade till DS för lägre ansträngning (LE) för trafik som kan förebyggas av annan trafik (bästa möjliga trafik). Den är avsedd för bakgrundstrafik med låg prioritet, som bulkdataöverföringar med låg prioritet i tid.

Tilldelning

Precedens och ToS

Innan dess utfasning definierades fältet Type of Service enligt följande från RFC 791:

7 6 5 4 3 2 1 0
Företräde Typ av service Oanvänd (0)

Precedens var ett 3-bitarsfält som behandlar högprioriterade paket som viktigare än andra paket. Om en router är överbelastad och behöver kassera några paket, kommer den att kassera paket med lägsta prioritet först. Även om prioritetsfält var en del av IP version 4, användes det aldrig.

RFC 1349 introducerade ytterligare ett "lågpris"-fält. De fyra tillgängliga ToS-bitarna blir nu:

7 6 5 4 3 2 1 0
(IP-prioritet) låg fördröjning genomströmning pålitlighet lågpris (RFC 1349) (Måste vara noll)

Namnet här följer konventionen för Unix-operativsystem. RFC 1349 och RFC 1060 visar bara exempel på en bit som används åt gången för applikationsstandardvärden, även om RFC 791 nämner att högst två av de tre indikationerna den har bör ställas nominellt. En sådan användning är känd från mod_iptos.

Eftersom de tre sista bitarna gick igenom många definitioner före RFC 2474 (se nedan), kan dokumentation och implementeringar vara förvirrande och motsägelsefulla.

DSCP och ECN

RFC 2474 (som släpptes i december 1998) reserverade de första sex bitarna i DS (eller IPv4 ToS)-fältet för Differentiated Services Code Point (DSCP), och RFC 3168 reserverade de två sista bitarna för Explicit Congestion Notification .

7 6 5 4 3 2 1 0
DSCP ECN

DSCP definierar en klassväljare (CS) namngivning till varje värde den definierar, vilket speglar vad som skulle ha tolkats som IP-precedens om man följer den äldre specifikationen:

Konverteringstabell för DSCP/IP-prioritet
DSCP-namn DS-fältvärde (dec) IP-prioritet (beskrivning)
CS0 0 0: Bästa insats
LE 1 n/a
CS1, AF11-13 8,10,12,14 1: Prioritet
CS2, AF21-23 16,18,20,22 2: Omedelbart
CS3, AF31-33 24,26,28,30 3: Blixt - används främst för röstsignalering
CS4, AF41-43 32,34,36,38 4: Åsidosätt blixt
CS5, EF 40,46 5: Kritisk - används främst för röst-RTP
CS6 48 6: Internetwork Control
CS7 56 7: Nätverkskontroll

DSCP-nomenklatur:

CS
Klassväljare (RFC 2474)
AFxy
Assured Forwarding (x=klass, y=dropprecedens) (RFC 2597)
EF
Expedited Forwarding (RFC 3246)
LE
Lower-Effort (RFC 8622)

Tabellen ovan, med individuella värden utskrivna för värden för hela ToS-fältet (inte att förväxla med den lite använda 5-bitarsdelen):

Konverteringstabell för DSCP/ToS/IP-prioritet
DSCP dec ToS-värde IP Prec
0 0 0
8 32 1
10 40 1
14 56 1
18 72 2
22 88 2
24 96 3
28 112 3
34 136 4
36 144 4
38 152 4
40 160 5
46 184 5
48 192 6
56 224 7

Obs: I tabellen ovan visas användarvillkoren i decimalformat. Men många routrar uttrycker ToS i hex-format.

Exempel: blandad tolkning

Låt oss börja med en IP-prioritet på 1, eller 0b001 i binärt. Hela ToS-fältet skulle då vara 001 00000 , förutsatt att de oanvända 5 bitarna är noll. DSCP kan tolkas genom att omsegmentera till 001000 00 , där 001000 = 8 är DSCP-värdet.

Programvarustöd

Även om de inte används ofta, finns IP ToS-definitioner allmänt i netinet/ip.h i Unix-liknande eller Unix- operativsystem som IPTOS_FIELDNAME- makron. "Lågkostnadsfältet" kommenteras ut i OpenBSD på grund av dess nyare användning för att indikera ECN-stöd. Rester av den gamla RFC 1349-terminologin finns i Transmission 2.93 samt andra verktyg som stöder inställning av detta fält.

En gammal Apache-modul "mod_iptos", en gång paketerad i Ubuntu, noterar att ett sätt att använda flera RFC 1349-alternativbitar tillsammans dök upp efter en tid.

Se även

Vidare läsning

  •   John Evans, Clarence Filsfils (2007). Implementera IP och MPLS QoS för multiservicenätverk: teori och praktik . Morgan Kaufmann. ISBN 978-0123705495 ​​.

externa länkar