Type of Service

Z Wikipedii, wolnej encyklopedii

Type of Service – pole w nagłówku IPv4 opisujące ważność i wymagania pakietu. Według najnowszej definicji RFC, TOS składa się z sześciobitowego pola Differentiated Services Code Point oraz dwubitowego pola Explicit Congestion Notification.

0 1 2 3 4 5 6 7
Bity początkowe D T R pole ECN

Historia[edytuj | edytuj kod]

Bajt TOS przez lata miał wiele różnych zastosowań, został zdefiniowany w różny sposób przez 5 różnych dokumentów RFC (RFC 791 ↓, RFC 1122 ↓, RFC 1349 ↓, RFC 2474 ↓, oraz RFC 3168 ↓.) Cała historia bajtu TOS jest opisana w 22. sekcji dokumentu RFC 3168 ↓.

Typy usług[edytuj | edytuj kod]

8 bitów w nagłówku IP jest zarezerwowanych dla TOS. Mogą one zostać podzielone na 5 podpól:

3 najstarsze bity zawierają wartości od 0 do 7 i używane są do oznaczania ważności datagramu. Domyślną wartością jest 0 (im wartość wyższa tym datagram ważniejszy).

Bity 3 4 5 opisują co następuje:

  • D: wymagane jest małe opóźnienie
  • T: wymagana jest duża przepustowość
  • R: wymagana jest duża niezawodność

Najmłodsze dwa bity zarezerwowane są na pole ECN.

Router utrzymuje wartość TOS dla każdej trasy w swojej tablicy routingu. Trasy wyuczone poprzez protokoły nieobsługujące TOS otrzymują domyślną wartość 0. Routery używają TOS do wybierania trasy dla pakietu.

Proces wyboru trasy dla pakietu z określonym TOS:

  1. Router znajduje w swojej tablicy routingu wszystkie dostępne trasy do celu.
  2. Jeżeli żadna trasa do celu nie istnieje, router odrzuca pakiet z powodu nieosiągalności celu.
  3. Jeżeli istnieje jedna lub więcej tras z TOS pasującym do pakietu, router wybiera tę o najlepszej metryce.
  4. Jeżeli znalezienie trasy o podanym TOS nie powiedzie się, router powtarza krok i ustawia wymagany TOS na 0.
  5. Jeżeli router nie znajdzie trasy, odrzuca pakiet z powodu nieosiągalności celu. Router zwraca wtedy błąd ICMP Cel Nieosiągalny (Destination Unreachable) oraz precyzuje kod: Sieć Nieosiągalna z Typem Usługi (kod 11) (Network Unreachable with Type of Service (code 11)) lub Host Nieosiągalny z Typem Usługi (kod 12) (Host Unreachable with Type of Service (code 12)).

Literatura[edytuj | edytuj kod]

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]