Dieser Teil enthält Aufgaben und Informationen zum IP Quality of Service (IPQoS), der Umsetzung von Differentiated Services in Oracle Solaris.
Mit IP Quality of Service (IPQoS) können Sie Accounting-Statistiken sammeln, steuern und priorisieren. IPQoS bietet den Benutzern Ihres Netzwerks konsistente Serviceebenen. Darüber hinaus können Sie den Datenverkehr verwalten, um Netzwerküberlastungen zu vermeiden.
Dieses Kapitel umfasst die folgenden Themen:
IPQoS ermöglicht die Differentiated Services (Diffserv)-Architektur, die von der Differentiated Services Working Group der Internet Engineering Task Force (IETF) definiert wurde. Unter Oracle Solaris wird IPQoS auf der IP-Schicht im TCP/IP-Protokollstapel implementiert.
Durch Aktivieren von IPQoS können Sie ausgewählten Kunden und Anwendungen unterschiedliche Ebenen an Netzwerkservices anbieten. Diese unterschiedlichen Serviceebenen werden kollektiv als Differentiated Services (differenzierte Dienste) bezeichnet. Die Differentiated Services, die Sie Ihren Kunden bereitstellen, können auf verschiedenen Serviceebenen basieren, die Ihr Unternehmen seinen Kunden anbietet. Sie können Differentiated Services auch basierend auf Prioritäten anbieten, die für Anwendungen oder Benutzer in Ihrem Netzwerk eingerichtet wurden.
Das Bereitstellen von QoS umfasst die folgenden Aktivitäten:
Delegieren von Serviceebenen zu einzelnen Gruppen, z. B. Kunden oder Abteilungen in einem Unternehmen
Priorisieren von Netzwerkservices, die bestimmten Gruppen oder Anwendungen bereitgestellt werden
Erkennen und Eliminieren von Netzwerkengpässen und anderen Formen von Überlastungen
Überwachen der Netzwerkleistung und Bereitstellen von Leistungsstatistiken
Regulieren der Bandbreite zu Netzwerkressourcen
IPQoS bietet die folgenden Funktionen:
ipqosconf-Befehlszeilentool zur Konfiguration der QoS-Richtlinie
Classifier, die Aktionen auswählen, die wiederum auf Filtern basieren, mit denen die QoS-Richtlinie Ihrer Organisation definiert wird
Metermodul, mit dem der Netzverkehr in Übereinstimmung mit dem Diffserv-Modell gemessen wird
Service-Differenzierung, die auf der Fähigkeit basiert, den IP-Header eines Pakets mit Weiterleitungsinformationen zu kennzeichnen
Flow Accounting-Modul, das Statistiken über den Verkehrswert sammelt
Erfassung von Statistiken zu Verkehrsklassen über den UNIX®-Befehl kstat
Unterstützung für SPARC®- und x86-Architekturen
Unterstützung der IPv4- und IPv6-Adressierung
Interoperabilität mit IP Security Architecture (IPsec)
Unterstützung für 802.1D Markierungen gemäß Benutzer-Priorität für virtuelle lokale Netzwerke (VLANs)
Weitere Informationen zu Differentiated Services und Quality Of Service finden Sie in gedruckten Medien und online.
Weitere Informationen zur Theorie und Praxis von Quality of Service finden Sie in den folgenden Büchern:
Ferguson, Paul and Geoff Huston. Quality of Service. John Wiley & Sons, Inc., 1998.
Kilkki, Kalevi. Differentiated Services for the Internet. Macmillan Technical Publishing, 1999.
IPQoS entspricht den Spezifikationen, die in den folgenden RFCs und den aufgeführten Internet Drafts beschrieben sind:
RFC 2474, Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv 6 Headers – Beschreibt eine Verbesserung am Type of Service (ToS)-Feld oder den DS-Feldern der IPv4- und IPv6-Paket-Header zur Unterstützung von Differentiated Services
RFC 2475, An Architecture for Differentiated Services – Eine ausführliche Beschreibung des Aufbaus und der Module der Diffserv-Architektur
RFC 2597, Assured Forwarding PHB Group – Beschreibt, wie das Assured Forwarding (AF) Per-Hop-Verhalten funktioniert.
RFC 2598, An Expedited Forwarding PHB – Beschreibt, wie das Expedited·Forwarding (EF) Per-Hop-Verhalten funktioniert.
Internet-Draft, An Informal Management Model for Diffserv Routers – Präsentiert ein Modell zur Umsetzung der Diffserv-Architektur auf Routern.
Die Differentiated Services Working Group der IETF unterhält eine Website mit Links zu Diffserv Internet Drafts unter http://www.ietf.org/html.charters/diffserv-charter.html.
Router-Hersteller wie Cisco Systems und Juniper Networks stellen auf ihren Firmen-Websites Informationen bereit, wie Differentiated Services in ihren Produkten umgesetzt sind.
Die IPQoS-Dokumentation umfasst die folgenden Manpages:
ipqosconf(1M) - Beschreibt den Befehl zum Einrichten der IPQoS-Konfigurationsdatei
ipqos(7ipp) – Beschreibt die IPQoS-Umsetzung des Diffserv-Architekturmodells
ipgpc(7ipp) – Beschreibt die IPQoS-Umsetzung eines Diffserv-Classifiers
tokenmt(7ipp) – Beschreibt den IPQoS tokenmt-Meter
tswtclmt(7ipp) – Beschreibt den IPQoS tswtclmt-Meter
dscpmk(7ipp) – Beschreibt das DSCP-Markermodul
dlcosmk(7ipp) – Beschreibt das IPQoS 802.1D Benutzerpriorität-Markermodul
flowacct(7ipp)– Beschreibt das IPQoS Flow Accounting-Modul
acctadm(1M) – Beschreibt den Befehl, mit dem die erweiterten Accounting-Funktionen von Oracle Solaris konfiguriert werden. Der Befehl acctadm umfasst IPQoS-Erweiterungen.
Mit IPQoS-Funktionen können Internet Service Providers (ISPs) und Application Service Providers (ASPs) ihren Kunden individuelle Netzwerkservices anbieten. Diese Funktionen ermöglichen es einzelnen Unternehmen und Bildungsinstituten, Services für interne Organisationen oder wichtige Anwendungen zu priorisieren.
Handelt es sich bei Ihrer Organisation um einen ISP oder ASP, können Sie Ihre IPQoS-Konfiguration auf dem Service-Level Agreement (SLA) basieren, dass Ihr Unternehmen seinen Kunden anbietet. In einer SLA garantiert ein Service Provider einem Kunden einen bestimmten Umfang an Netzwerkservices, die nach einer Preisstruktur abgerechnet wird. Beispielsweise stellt eine SLA im oberen Preisbereich sicher, dass ein Kunde 24 Stunden am Tag die höchste Priorität für alle Arten von Netzwerkverkehr genießt. Entsprechend garantiert eine SLA im mittleren Preisbereich einem Kunden hohe Priorität für E-Mails während der Arbeitszeiten. Sonstiger Netzverkehr erfolgt 24 Stunden am Tag mit mittlerer Priorität.
Handelt es sich bei Ihrer Organisation um ein Unternehmen oder eine Institution, können Sie auch für Ihr Netzwerk QoS-Funktionen bereitstellen. Sie können garantieren, dass Datenverkehr einer bestimmten Gruppe oder einer bestimmten Anwendung eine höhere oder niedrigere Servicequalität erhält.
Sie implementieren die Quality Of Service, indem Sie eine Quality of Service (QoS)-Richtlinie definieren. Die QoS-Richtlinie definiert verschiedene Netzwerkattribute, z. B. die Priorität des Kunden oder der Anwendung sowie Aktionen zur Handhabung verschiedener Kategorien von Datenverkehr. Die QoS-Richtlinie Ihrer Organisation wird in einer IPQoS-Konfigurationsdatei implementiert. Diese Datei konfiguriert die IPQoS-Module, die sich im Kernel von Oracle Solaris befinden. Ein Host mit einer übernommenen IPQoS-Richtlinie wird als ein IPQoS-konformes System bezeichnet.
Ihre QoS-Richtlinie definiert in der Regel Folgendes:
Diskrete Netzverkehr-Gruppen, die als Serviceklassen bezeichnet werden.
Metriken zur Regulierung der Menge an Netzverkehr für jede Klasse. Diese Metriken überwachen den Prozess zur Messung des Datenverkehrs, der als Metering (Zählung) bezeichnet wird.
Eine Aktion, die ein IPQoS-System und ein Diffserv-Router an einem Paketfluss ausführen muss. Diese Aktion wird als Per-Hop-Behaviour (PHB) bezeichnet.
Alle Statistiken, die von Ihrer Organisation für eine Serviceklasse gesammelt werden. Ein Beispiel ist der Datenverkehr, der von einem Kunden oder einer bestimmten Anwendung erzeugt wird.
Bei Paketen, die an Ihr Netzwerk übergeben werden, wertet das IPQoS-konforme System die Paket-Header aus. Ihre QoS-Richtlinie legt dann die Aktion fest, die das IPQoS-System ausführt.
Aufgaben zum Aufstellen der QoS-Richtlinie sind unter Planen der Quality of Service-Richtlinie beschrieben.
IPQoS enthält Funktionen, die nach der Umsetzung des Quality of Service die Netzwerkperformance verbessern können. Wenn Computernetzwerke wachsen, steigt auch der Bedarf zur Verwaltungsaufwand des Netzverkehrs, der durch eine steigende Anzahl von Benutzern und leistungsstärkeren Prozessoren erzeugt wird. Symptome eines überanspruchten Netzwerks sind z. B. Datenverluste und Überlastung. Beide Symptome führen zu schlechteren Reaktionszeiten.
In der Vergangenheit haben Systemadministratoren Netzverkehrprobleme durch Erhöhen der Bandbreite gelöst. Häufig variiert der Verkehr auf den Links stark. Mit IPQoS können Sie Datenverkehr im vorhandenen Netzwerk verwalten und besser beurteilen, wo und warum eine Erweiterung erforderlich ist.
Bei einem Unternehmen oder einer Institution müssen Sie beispielsweise für ein effizientes Netzwerk sorgen, um Netzwerkengpässe zu vermeiden. Außerdem müssen Sie sicherstellen, dass eine Gruppe oder Anwendung nicht mehr als die zugewiesene Bandbreite verbraucht. Als ISP oder ASP müssen Sie die Netzwerkperformance verwalten, um sicherzustellen, dass Kunden den Netzwerkservice erhalten, für den sie bezahlen.
Mit IPQoS können Sie die Netzwerkbandbreite regulieren, die Höchstmenge an Daten, die ein vollständig genutzter Netzwerklink bzw. ein vollständig ausgelastetes Netzwerkgerät übertragen kann. Ihre QoS-Richtlinie muss die Verwendung der Bandbreite priorisieren, um Kunden oder Benutzern einen bestimmten Quality of Service bereitstellen zu können. Die IPQoS-Metermodule ermöglichen Ihnen das Zählen und Steuern der zugewiesenen Bandbreite zwischen den verschiedenen Verkehrsklassen auf einem IPQoS-konformen Host.
Bevor Sie den Verkehr in Ihrem Netzwerk effizient verwalten können, müssen Sie die folgenden Fragen zur Nutzung der Bandbreite beantworten:
Welches sind die Bereiche mit Verkehrsprobleme in Ihren lokalen Netzwerk?
Was müssen Sie tun, um die verfügbare Bandbreite optimal nutzen zu können?
Welches sind die kritischen Anwendungen an Ihren Standort, und welche Anwendung muss die höchste Priorität erhalten?
Welche Anwendungen reagieren empfindlich auf Überlastung?
Welches sind die weniger kritischen Anwendungen an Ihren Standort, und welchen Anwendungen kann eine niedrigere Priorität zugewiesen werden?
Bei der Umsetzung eines Quality of Service analysieren Sie den Netzwerkverkehr, um breite Gruppierungen festzulegen, in die der Netzverkehr aufgeteilt werden kann. Darum strukturieren Sie die verschiedenen Gruppierungen in Serviceklassen mit individuellen Eigenschaften und Prioritäten. Diese Klassen bilden die grundlegenden Kategorien, auf denen Sie die QoS-Richtlinie für Ihrer Organisation basieren. Die Serviceklassen stellen die Verkehrsgruppen dar, die Sie steuern möchten.
Als Provider können Sie beispielsweise die Serviceebenen Platin, Gold, Silber und Bronze mit einer entsprechenden gleitenden Preisstruktur anbieten. Eine Platin-SLA garantiert oberste Priorität für eingehenden Verkehr, dessen Ziel eine Website ist, die der ISP für den Kunden hostet. Somit stellt eingehender Verkehr zur Webseite dieses Kunden eine Verkehrsklasse dar.
Bei einem Unternehmen können Sie Serviceklassen erstellen, die auf den Anforderungen einer Abteilung beruhen. Oder Sie erstellen eine Klasse, die auf der am meisten genutzten Anwendung im Netzwerkverkehr basiert. Im Folgenden sind einige Verkehrsklassen eines Unternehmens aufgeführt:
Beliebte Anwendungen wie E-Mail und abgehendes FTP an einen bestimmten Server können jeweils eine Klasse bilden. Da Angestellte diese Anwendungen ständig verwenden, kann Ihre QoS-Richtlinie E-Mail- und abgehendem FTP-Verkehr einen geringen Betrag der Bandbreite und eine geringe Bandbreite garantieren.
Die Datenbank zur Aufnahme von Bestellungen muss 24 Stunden am Tag ausgeführt werden. Abhängig von der Wichtigkeit der Datenbankanwendung für das Unternehmen können Sie der Datenbank einen großen Anteil der Bandbreite und eine hohe Priorität zuweisen.
Eine Abteilung, die entscheidende oder sensible Arbeiten ausführt, wie die Lohn- und Gehaltsabteilung. Die Wichtigkeit der Abteilung für das Unternehmen wird durch die Priorität und den Anteil an der Bandbreite bestimmt, den Sie dieser Abteilung zuweisen.
Eingehende Aufrufe der externen Website eines Unternehmens. Sie können dieser Klasse einen mittleren Anteil an der Bandbreite zuweisen, die mit niedriger Priorität ausgeführt wird.
IPQoS umfasst die folgenden Module, die Teil der in RFC 2475 definierten Differentiated Services (Diffserv)-Architektur sind:
Classifier (Klassierer)
Meter (Zähler)
Marker (Zeiger)
IPQoS fügt die folgenden Verbesserungen zum Diffserv-Modell hinzu:
Flow Accounting-Modul
802.1D-Datagramm-Marker
In diesem Abschnitt finden Sie eine Einführung in die vom IPQoS verwendeten Diffserv-Module. Zum Einrichten dieser Module in der QoS-Richtlinie müssen Sie mit den Grundlagen zu diesen Modulen vertraut sein und ihre Namen sowie die Verwendungsweise kennen. Ausführliche Informationen zu jedem Modul finden Sie unter IPQoS-Architektur und das Diffserv-Modell.
Bei dem Diffserv-Modell wählt der Classifier die Pakete aus dem Netzwerk-Verkehrswert aus. Ein Verkehrswert besteht aus einer Paketgruppe mit identischen Informationen in den folgenden IP-Header-Feldern:
Bei IPQoS werden diese Felder als 5-Tuple bezeichnet.
Das IPQoS-Classifier-Modul heißt ipgpc. Der ipgpc-Classifier ordnet den Verkehrswert in Klassen an, die auf den Eigenschaften basieren, die Sie in der IPQoS-Konfigurationsdatei definiert haben.
Ausführliche Informationen zu ipgpc finden Sie unter Classifier-Modul.
Eine Klasse ist eine Gruppe von Netzwerk-Datenströmen mit ähnlichen Eigenschaften. Beispielsweise kann ein ISP Klassen definieren, um die verschiedenen Serviceebenen zu unterscheiden, die den Kunden angeboten werden. Ein ASP könnte SLAs definieren, um verschiedenen Anwendungen unterschiedliche Serviceebenen zuzuweisen. In der QoS-Richtlinie eines ASP könnte eine Klasse abgehenden FTP-Verkehr enthalten, der an eine bestimmte IP-Zieladresse gerichtet ist. Auch von der externen Website eines Unternehmens abgehender Verkehr könnte als eine Klasse definiert sein.
Das Gruppieren von Netzverkehr in Klassen ist ein wichtiger Teil bei der Planung Ihrer QoS-Richtlinie. Wenn Sie Klassen mithilfe des Serviceprogramms ipqosconf erstellen, konfigurieren Sie in Wirklichkeit den ipgpc-Classifier.
Informationen zum Definieren von Klassen finden Sie unter So definieren Sie die Klassen für Ihre QoS-Richtlinie.
Filter sind Regellisten mit Parametern, die als Selektoren bezeichnet werden. Jeder Filter muss auf eine Klasse verweisen. IPQoS prüft auf die Übereinstimmung von Paketen mit den Selektoren eines Filters, um festzustellen, ob das Paket zur Klasse des Filters gehört. Sie können ein Paket mithilfe verschiedener Selektoren filtern, beispielsweise dem IPQoS 5-Tuple und anderen allgemeinen Parametern:
Quell- und Zieladressen
Ursprungs- und Ziel-Port
Protokollnummern
Benutzer-IDs
Projekt-IDs
Differentiated Services Codepoint (DSCP)
Schnittstellenindex
So kann ein einfaches Filter beispielsweise das Zielport mit dem Wert 80 enthalten. The ipgpc-Classifier wählt dann alle für Port 80 (HTTP) bestimmten Datenpakete aus und verarbeitet diese gemäß der QoS-Richtlinien.
Informationen zum Erstellen von Filtern finden Sie unter So definieren Sie Filter in der QoS-Richtlinie.
Im Diffserv-Modell verfolgt ein Meter die Übertragungsrate des Verkehrswerts auf Klassenbasis. Der Meter wertet aus, inwieweit die tatsächliche Flussrate der konfigurierten Rate entspricht, um das geeignete Ergebnis zu ermitteln. Basierend auf dem Verkehrswert-Ergebnis wählt der Meter eine geeignete Aktion. Dies kann z. B. das Senden des Pakets an eine andere Aktion oder die Rückgabe des Pakets an das Netzwerk ohne weitere Verarbeitung sein.
Die IPQoS-Metermodule bestimmen, ob ein Netzwerkfluss der Übertragungsrate entspricht, die in der QoS-Richtlinie für diese Klasse definiert wurde. IPQoS umfasst zwei Metermodule:
Beide Metermodule erkennen drei Ergebnisse: Rot, Gelb und Grün. Die Aktionen, die bei den verschiedenen Ergebnissen durchzuführen sind, werden mit den Parametern red_action_name, yellow_action_name und green_action_name definiert.
Darüber hinaus können Sie tokenmt zum Erkennen von Farben konfigurieren. Ein farbbewusster Meter verwendet Paketgröße, DSCP, Traffic Rate und konfigurierte Parameter, um das Ergebnis festzustellen. Der Meter verwendet das DSCP, um das Ergebnis des Pakets entweder grün, gelb oder rot zuzuordnen.
Informationen zum Definieren von Parametern für die IPQoS-Metermodule finden Sie unter So planen Sie die Verkehrssteuerung.
Im Diffserv-Modellen markiert der Marker ein Paket mit einem Wert, der das Weiterleitungsverhalten widerspiegelt. Markierung ist der Prozess, einen Wert in den Paket-Header einzufügen, um so festzulegen, wie das Paket zum Netzwerk weitergeleitet wird. IPQoS enthält zwei Markermodule:
dscpmk – Markiert das DS-Feld in einem IP-Paket-Header mit einem numerischen Wert, der als Differentiated Services Codepoint oder DSCP bezeichnet wird. Ein Diffserv-konformer Router kann den DS-Codepoint nutzen, um das geeignete Weiterleitungsverhalten für das Paket anzuwenden.
dlcosmk – Markiert das virtuelle lokale Netzwerk (VLAN)-Tag eines Ethernet-Frameheaders mit einem numerischen Wert, der als Benutzerpriorität bezeichnet wird. Die Benutzerpriorität gibt die Serviceklasse (Class of Service, CoS) an, die das geeignete Weiterleitungsverhalten für das Datagramm definiert.
dlcosmk ist eine IPQoS-Ergänzung, die nicht zu dem von der IETF entworfenen Diffserv-Modell gehört.
Informationen zur Umsetzung einer Marker-Strategie für die QoS-Richtlinie finden Sie unter So planen Sie das Weiterleitungsverhalten.
IPQoS fügt das flowacct-Accounting-Modul zum Diffserv-Modell hinzu. Mit flowacct können Sie Statistiken zum Verkehrswert erfassen und Kundenrechnungen in Übereinstimmung mit deren SLAs erstellen. Flow Accounting eignet sich darüber hinaus zur Kapazitätsplanung und Systemüberwachung.
Das flowacct-Modul arbeitet mit dem acctadm -Befehl, um eine Accounting-Protokolldatei zu erstellen. Das allgemeine Protokoll umfasst das IPQoS 5-Tuple sowie zwei zusätzliche Attribute, die in der folgenden Liste aufgeführt sind:
Quelladresse
Ursprungs-Port
Zieladresse
Ziel-Port
Protokollnummer
Anzahl der Pakete
Anzahl der Byte
Darüber hinaus können Sie Statistiken zu anderen Attributen sammeln. Dies wird unter Aufzeichnen von Informationen zu Verkehrswerten und in den Manpages flowacct(7ipp) und acctadm(1M) beschrieben.
Informationen zur Planung einer Flow Accounting-Strategie finden Sie unter So planen Sie das Flow Accounting.
In der folgenden Abbildung wird ein Pfad gezeigt, den eingehender Datenverkehr über einige der IPQoS-Module nehmen könnte.
Diese Abbildung zeigt eine allgemeine Verkehrswert-Sequenz auf einem IPQoS-konformen Computer:
Der Classifier wählt alle Pakete aus dem Paketstrom aus, die den Filterkriterien in der QoS-Richtlinie des Systems entsprechen.
Die ausgewählten Pakete werden dann ausgewertet, um die nächste auszuführende Aktion auszuwählen.
Der Classifier sendet jeglichen Verkehr, der keine Verkehrssteuerung benötigt, an den Marker.
Datenverkehr, für den eine Verkehrssteuerung erforderlich ist, wird an den Meter gesendet.
Der Meter setzt die konfigurierte Rate durch. Dann weist der Meter einen Verkehr-Konformitätswert für die flusskontrollierten Pakete zu.
Die flusskontrollierten Pakete werden daraufhin ausgewertet, um festzustellen, für welche Pakete ein Accounting erforderlich ist.
Der Meter sendet jeden Verkehr, für den kein Flow Accounting erforderlich ist, an den Marker.
Das Flow Accounting-Modul sammelt Statistiken zu den empfangenen Paketen. Dann sendet das Modul die Pakete an den Marker.
Der Marker weist dem Paket-Header einen DS Codepoint zu. Dieser DSCP kennzeichnet das Per-Hop-Behaviour, das ein Diffserv-konformes System an dem Paket anwenden muss.
In diesem Abschnitt werden Sie in die Elemente eingeführt, die an der Weiterleitung von Paketen in einem IPQoS-konformen Netzwerk beteiligt sind. Ein IPQoS-konformes System verarbeitet beliebige Pakete in einem Netzwerk-Stream, die an die IP-Adresse des Systems gerichtet sind. Dann wendet das IPQoS-System seine QoS-Richtlinie an dem Paket an, um die Differentiated Services einzurichten.
Der DS Codepoint (DSCP) definiert die Aktion im Paket-Header, die ein Diffserv-konformes System an einem markierten Paket vornehmen soll. Die Diffserv-Architektur definiert eine Reihe von DS Codepoints für das IPQoS-konforme System sowie den zu verwendenden Diffserv-Router. Darüber hinaus definiert die Diffserv-Architektur eine Reihe von Aktionen, die als das Weiterleitungsverhalten bezeichnet werden. Dieses Weiterleitungsverhalten entspricht den DSCPs. Das IPQoS-konforme System markiert die Prioritätsstufenbits des DS-Felds im Paket-Header mit den DSCP. Empfängt ein Router ein Paket mit einem DSCP-Wert, wendet der Router das dem DSCP zugeordnete Weiterleitungsverhalten an. Anschließend wird das Paket für das Netzwerk freigegeben.
Der dlcosmk-Marker verwendet keine DSCP. Stattdessen markiert dlcosmk die Ethernet-Frameheader mit einem CoS-Wert. Wenn Sie beabsichtigen, IPQoS in einem Netzwerk zu konfigurieren, das VLAN-Geräte verwendet, lesen Sie Markermodul.
In der Diffserv-Terminologie wird das einem DSCP zugeordnete Weiterleitungsverhalten als Per-Hop-Behavior (PHB) bezeichnet. Das PHB definiert die Prioritätsstufe der Weiterleitung, die ein markiertes Paket in Relation zu anderem Datenverkehr in einem Diffserv-konformen Systemen empfängt. Diese Prioritätsstufe legt maßgeblich fest, ob das IPQoS-konforme System oder der Diffserv-Router das markierte Paket weiterleitet oder abwirft. Bei einem weitergeleiteten Paket wendet jeder Diffserv-Router auf der Route des Pakets zu seinem Ziel das gleiche PHB an. Eine Ausnahme ist, wenn ein anderes Diffserv-System den DSCP ändert. Weitere Informationen zu PHBs finden Sie unter Verwenden des Markers dscpmk zum Weiterleiten von Paketen.
Das Ziel eines PHB besteht darin, einen bestimmten Teil an Netzwerkressourcen für eine Verkehrsklasse im angrenzenden Netzwerk bereitzustellen. Dieses Ziel erreichen Sie mit der QoS-Richtlinie. Definieren Sie DSCPs, die die Prioritätsstufen für Verkehrsklassen kennzeichnen, wenn Verkehrswerte das IPQoS-konforme System verlassen. Prioritätsstufen können im Bereich von einer high/low-drop-Wahrscheinlichkeit bis zu einer low/high-drop-Wahrscheinlichkeit definiert werden.
Beispielsweise kann Ihre QoS-Richtlinie einer Verkehrsklasse einen DSCP zuweisen, der ein low-drop PHB garantiert. Diese Verkehrsklasse erhält dann ein low-drop PHB von jedem Diffserv-konformen Router, der Paketen dieser Klasse Bandbreite garantiert. Sie können die QoS-Richtlinie anderen DSCPs hinzufügen, die anderen Verkehrsklassen wechselnde Prioritätsstufen zuweisen. Paketen mit geringerer Prioritätsstufe erhalten von den Diffserv-Systemen Bandbreite gemäß den Prioritäten, die in den DSCPs der Pakete angegeben sind.
IPQoS unterstützt zwei Arten von Weiterleitungsverhalten, die in der Diffserv-Architektur definiert sind: Expedited Forwarding und Assured Forwarding.
Das Expedited Forwarding (EF) Per-Hop-Behavior stellt sicher, dass eine Verkehrsklasse mit EFs-bezogenem DSCP die höchste Priorität erhält. Verkehr mit einem EF DSCP wird nicht in eine Warteschlange gestellt. EF bietet geringen Verlust, Latenzzeit und Jitter. Der empfohlene DSCP für EF ist 101110. Ein Paket, das mit 101110 markiert ist, erhält eine garantierte low-drop-Prioritätsstufe, wenn das Paket auf der Route zum Ziel auf Diffserv-konforme Netzwerke trifft. Verwenden Sie das EF DSCP, wenn Sie Kunden oder Anwendungen mit einem Premium-SLA Priorität zuweisen.
Das Assured Forwarding (AF) Per-Hop-Behavior bietet vier unterschiedliche Weiterleitungsklassen, die Sie einem Paket zuweisen können. Jede Weiterleitungsklasse bietet drei drop-Prioritätsstufen, die in Tabelle 37–2 aufgeführt sind.
Die verschiedenen AF Codepoints bieten die Möglichkeit, Kunden und Anwendungen unterschiedliche Serviceebenen zuzuweisen. In der QoS-Richtlinie können Sie schon bei der Planung Verkehr und Services in Ihren Netzwerk priorisieren. Dann können Sie dem priorisierten Verkehr unterschiedliche AF-Ebenen zuweisen.
Die folgende Abbildung zeigt einen Teil eines Unternehmens-Intranets mit einer teilweise Diffserv-konformen Umgebung. In diesem Szenario sind alle Hosts in den Netzwerken 10.10.0.0 und 10.14.0.0 IPQoS-konform und die lokalen Router in beiden Netzwerken sind Diffserv-konform. Jedoch sind die Zwischennetzwerke nicht für Diffserv konfiguriert.
Die nächsten Schritte verfolgen den Verlauf des in der Abbildung gezeigten Pakets. Die Schritte beginnen mit dem Fortschritt eines Pakets, das seinen Ursprung bei Host ipqos1 hat. Die nächsten Schritte beschreiben den weiteren Verlauf über mehrere Hops zum Host ipqos2.
Der Benutzer an ipqos1 führt den Befehl ftp aus, um auf Host ipqos2 zuzugreifen, der drei Hops entfernt ist.
ipqos1 wendet seine QoS-Richtlinie an dem resultierenden Datenpaketstrom an. ipqos1 klassifiziert daraufhin erfolgreich den ftp-Verkehr.
Der Systemadministrator hat eine Klasse für den gesamten abgehenden ftp-Verkehr erstellt, der seinen Ursprung im lokalen Netzwerk 10.10.0.0 hat. Verkehr für die ftp-Klasse wird das AF22 Per-Hop-Behavior zugewiesen: Klasse zwei, medium-drop-Prioritätsstufe. Für die ftp-Klasse ist eine Verkehrswertrate von 2Mbit/s konfiguriert.
ipqos-1 misst den ftp-Datenfluss, um festzustellen, ob der Fluss die zulässige Rate von 2 Mbit/s überschreitet.
Der Marker auf ipqos1 markiert die DS-Felder in den abgehenden ftp-Paketen mit dem 010100 DSCP, entsprechend dem AF22 PHB.
Der Router diffrouter1 empfängt die ftp-Pakete. diffrouter1 prüft den DSCP. Wenn diffrouter1 überlastet ist, werden Pakete, die mit AF22 markiert sind, abgeworfen.
ftp-Verkehr wird in Übereinstimmung mit dem Per-Hop-Behavior, das für AF22 in den diffrouter1-Dateien konfiguriert ist, an den nächsten Hop weitergeleitet.
Der ftp-Verkehr durchläuft das Netzwerk 10.12.0.0 zum genrouter, der nicht Diffserv-konform ist. Hier erhält der Verkehr ein „Beste Leistung“-Weiterleitungsverhalten.
genrouter übergibt den ftp-Verkehr an das Netzwerk 10.13.0.0. Hier wird er von diffrouter2 empfangen.
diffrouter2 ist Diffserv-konform. Aus diesem Grund leitet der Router die ftp-Pakete in Übereinstimmung mit dem PHB, das in der Router-Richtlinie für AF22-Pakete definiert ist, an das Netzwerk weiter.
ipqos2 empfängt den ftp-Verkehr. ipqos2 fordert als Nächstes den Benutzer an ipqos1 zur Eingabe von Benutzernamen und Passwort auf.
Sie können IPQoS auf jedem System konfigurieren, auf dem Oracle Solaris ausgeführt wird. Das IPQoS-System arbeitet dann mit Diffserv-konformen Routern, um Differentiated Services und Verkehrsmanagement in einem Intranet bereitzustellen.
In diesem Kapitel sind die Planungsaufgaben zum Hinzufügen von IPQoS-konformen Systemen zu einem Diffserv-konformen Netzwerk aufgeführt. In diesem Kapitel werden folgende Themen behandelt.
Das Umsetzen von Differentiated Services, einschließlich IPQoS, in einem Netzwerk erfordert umfangreiche Planung. Sie müssen nicht nur Position und Funktion aller IPQoS-konformen Systemen berücksichtigen, sondern auch die Beziehung jedes Systems zum Router im lokalen Netzwerk. In der folgenden Tabelle sind die wichtigsten Planungsaufgaben für die Implementierung von IPQoS in Ihrem Netzwerk sowie Links zu Verfahren zur Durchführung der Aufgaben aufgeführt.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
1. Planen einer Diffserv-Netzwerktopologie, die IPQoS-konforme Systeme enthält. |
Lernen Sie die verschiedenen Diffserv-Netzwerktopologien kennen, um die beste Lösung für Ihren Standort zu ermitteln. | |
2. Planen der verschiedenen Servicetypen, die von den IPQoS-Systemen bereitgestellt werden sollen. |
Strukturieren Sie die Servicetypen, die das Netzwerk anbieten soll, in Service-Level Agreements (SLAs). | |
3. Planen der QoS-Richtlinie für jedes IPQoS-System. |
Treffen Sie Entscheidungen hinsichtlich der Klassen und der Meter- und Accounting-Funktionen, die zur Umsetzung jeder SLA erforderlich sind. | |
4. Wenn anwendbar, planen der Richtlinie für den Diffserv-Router. |
Treffen Sie Entscheidungen zu den Scheduling- und Queuing-Richtlinien für den Diffserv-Router, die mit den IPQoS-Systemen verwendet werden. |
Informationen zu den Queuing- und Scheduling-Richtlinien entnehmen Sie der Router-Dokumentation. |
Um in Ihrem Netzwerk Differentiated Services bereitstellen zu können, müssen Sie mindestens ein IPQoS-konformes System und einen Diffserv-konformen Router konfigurieren. Sie können dieses Basisszenario auf verschiedene Arten erweitern. Informationen hierzu finden Sie in diesem Abschnitt.
In der Regel führen Kunden IPQoS auf Servern und Server-Konsolidierungen, z. B. dem Sun Enterprise™ 0000-Server aus. Umgekehrt können Sie IPQoS abhängig von den Anforderungen Ihres Netzwerks auf Desktopsystemen wie UltraSPARC®-Systemen ausführen. In der folgenden Liste sind mögliche Systeme für eine IPQoS-Konfiguration aufgeführt:
Oracle Solaris-Systeme, die verschiedene Services anbieten, z. B. Webserver und Datenbankserver
Anwendungsserver, die E-Mail, FTP und andere beliebte Netzwerkanwendungen anbieten
Web-Cache-Server oder Proxy-Server
Ein Netzwerk mit IPQoS-konformen Serverfarmen, die von Diffserv-konformen Load-Balancers verwaltet werden
Netzwerke, die Datenverkehr für ein einzelnes heterogenes Netzwerk verwalten
IPQoS-Systeme, die Teil eines virtuellen lokalen Netzwerkes (LAN) sind
Sie können IPQoS-Systeme auch in eine Netzwerktopologie mit bereits ordnungsgemäß arbeitenden Diffserv-konformen Routern einführen. Falls Ihr Router derzeit keine Diffserv anbietet, sollten Sie den Einsatz von Diffserv-Lösungen in Betracht ziehen, die von Cisco Systems, Juniper Networks und anderen Router-Herstellern angeboten werden. Wenn Ihr lokaler Router keine Diffserv implementiert, übergibt der Router markierte Pakete an den nächsten Hop, ohne die Marker auszuwerten.
Dieser Abschnitt zeigt IPQoS-Strategien für verschiedene Netzwerkanforderungen.
Die folgende Abbildung zeigt ein einzelnes Netzwerk mit IPQoS-konformen Systemen.
Dieses Netzwerk ist ein Segment eines Unternehmens-Intranets. Durch Aktivieren von IPQoS auf den Anwendungsservern und Webservern können Sie die Rate kontrollieren, mit der jedes IPQoS-System abgehenden Verkehr freigibt. Wenn Sie den Router Diffserv-konform konfigurieren, können Sie eingehenden und abgehenden Verkehr weiter kontrollieren.
Die Beispiele in diesem Handbuch basieren auf dem Szenario „IPQoS auf einem einzelnen Host“. Die in diesem Handbuch verwendete Beispieltopologie finden Sie in Abbildung 33–4.
Die folgende Abbildung zeigt ein Netzwerk mit mehreren heterogenen Serverfarmen.
In einer solchen Topologie ist der Router Diffserv-konform und somit in der Lage, sowohl eingehenden als auch abgehenden Verkehr in eine Warteschlange zu stellen und zu berechnen. Auch der Load-Balancer ist Diffserv-konform und die Serverfarmen sind IPQoS-konform. Der Load-Balancer kann mithilfe von Selektoren wie der Benutzer-ID und der Projekt-ID zusätzliche Filteraufgaben über den Router hinaus wahrnehmen. Diese Selektoren sind in den Anwendungsdaten enthalten.
Dieses Szenario bietet Verkehrssteuerung und -weiterleitung, um Überlastungen im lokalen Netzwerk zu vermeiden. Darüber hinaus verhindert dieses Szenario, das von den Serverfarmen abgehender Verkehr andere Teile des Intranets überlastet.
Die folgende Abbildung zeigt ein Segment eines Unternehmensnetzwerks, das von anderen Segmenten wird durch eine Firewall gesichert ist.
In diesem Szenario trifft der Verkehrswert bei einem Diffserv-konformen Router an, der die Pakete filtert und in eine Warteschlange stellt. Der gesamte eingehende Verkehr, der über den Router weitergeleitet wird, durchläuft eine IPQoS-konforme Firewall. Um IPQoS zu verwenden, darf die Firewall den IP-Weiterleitungsstapel nicht umgehen.
Die Sicherheitsrichtlinie der Firewall legt fest, ob eingehender Verkehr in das interne Netzwerk eintreten oder es verlassen darf. Die QoS-Richtlinie kontrolliert die Serviceebenen für eingehenden Verkehr, der die Firewall passiert hat. Abhängig von der QoS-Richtlinie kann abgehender Verkehr ebenfalls mit einem Weiterleitungsverhalten versehen werden.
Wenn Sie die Quality of Service (QoS)-Richtlinie planen, müssen Sie die von Ihrem Netzwerk angebotenen Services prüfen, klassifizieren und priorisieren. Außerdem müssen Sie die verfügbare Bandbreite bewerten, um die Rate festzulegen, mit der jede Verkehrsklasse im Netzwerk freigegeben wird.
Sammeln Sie Informationen zur Planung der QoS-Richtlinie in einem Format, das die Informationen umfasst, die für die IPQoS-Konfigurationsdatei erforderlich sind. Verwenden Sie beispielsweise die folgende Vorlage, um die wichtigsten der in der IPQoS-Konfigurationsdatei verwendeten Informationskategorien aufzulisten.
Tabelle 33–1 Vorlage zur Planung einer QoS-Richtlinie
Klasse |
Priorität |
Filter |
Selektor |
Rate |
Weiterleitung? |
Accounting? |
---|---|---|---|---|---|---|
Klasse 1 |
1 |
Filter 1 Filter 3 |
Selektor 1 Selektor 2 |
Meterraten, abhängig vom Metertyp |
Marker drop-Prioritätsstufe |
Erfordert Flow Accounting-Statistiken |
Klasse 1 |
1 |
Filter 2 |
Selektor 1 Selektor 2
|
entf. |
entf. |
entf. |
Klasse 2 |
2 |
Filter 1 |
Selektor 1 Selektor 2 |
Meterraten, abhängig vom Metertyp |
Marker drop-Prioritätsstufe |
Erfordert Flow Accounting-Statistiken |
Klasse 2 |
2 |
Filter 2 |
Selektor 1 Selektor 2 |
entf. |
entf. |
entf. |
Sie können jede Hauptkategorie weiter unterteilen, um die QoS-Richtlinie genauer zu definieren. In den nachfolgenden Abschnitten wird beschrieben, wie Sie die Informationen für die in der Vorlage beschriebenen Kategorien beziehen.
In der folgenden Tabelle sind die wichtigsten Aufgaben zur Planung einer QoS-Richtlinie sowie Links zu den Anleitungen zur Durchführung der einzelnen Aufgaben aufgeführt.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
1. Entwerfen Ihrer Netzwerktopologie zur Unterstützung von IPQoS. |
Identifizieren Sie die Hosts und Router in Ihrem Netzwerk, um Differentiated Services bereitzustellen. | |
2. Definieren der Klassen, in die die Services in Ihrem Netzwerk aufgeteilt werden. |
Prüfen Sie die von Ihrem Standort angebotenen Servicetypen und SLAs, und legen Sie die einzelnen Verkehrsklassen fest, in die diese Services fallen. | |
3. Definieren der Filter für die Klassen. |
Ermitteln Sie die am besten geeigneten Möglichkeiten zum Trennen von Datenverkehr einer bestimmten Klasse vom Netzwerk-Verkehrswert. | |
4. Definieren von Datenfluss-Steuerungsraten zur Messung von Verkehr, während Pakete das IPQoS-System verlassen. |
Legen Sie akzeptable Datenflussraten für jede Verkehrsklasse fest. | |
5. Definieren der DSCPs oder Benutzerpriorität-Werte, die in der QoS-Richtlinie verwendet werden. |
Planen Sie ein Schema, um das Weiterleitungsverhalten festzulegen, das einem Verkehrswert zugeordnet wird, wenn der Fluss von einem Router oder einem Switch verarbeitet wird. | |
6. Wenn anwendbar, Einrichten eines Plans zur Überwachung der Statistiken für die Verkehrswerte im Netzwerk. |
Werten Sie die Verkehrsklassen aus, um festzustellen, welche Verkehrswerte für Accounting- oder statistische Zwecke überwacht werden müssen. |
Im weiteren Verlauf dieses Abschnitts wird erklärt, wie Sie die QoS-Richtlinie eines IPQoS-konformen Systems planen. Informationen zur Planung der QoS-Richtlinie für den Diffserv-Router entnehmen Sie bitte der Router-Dokumentation und der Website des Router-Herstellers.
Im folgenden Verfahren sind die allgemeinen Planungsaufgaben zum Erstellen der QoS-Richtlinie beschrieben.
Erstellen Sie eine Übersicht Ihrer Netzwerktopologie. Dann planen Sie eine Strategie, die IPQoS-Systeme und Diffserv-Router eingesetzt.
Topologiebeispiele finden Sie unter Planen der Diffserv-Netzwerktopologie.
Kennzeichnen Sie die Hosts in der Topologie, die IPQoS erfordern oder sich für den IPQoS-Service eignen.
Stellen Sie fest, welche IPQoS-konformen Systemen die gleiche QoS-Richtlinie verwenden können.
Wenn Sie beabsichtigen, IPQoS auf allen Hosts im Netzwerk zu aktivieren, kennzeichnen Sie alle Hosts, die die gleiche QoS-Richtlinie verwenden können. Jedes IPQoS-konforme System muss über eine lokale QoS-Richtlinie verfügen, die in dessen IPQoS-Konfigurationsdatei implementiert ist. Sie können jedoch auch eine IPQoS-Konfigurationsdatei erstellen, die von mehreren Systemen verwendet wird. Dann kopieren Sie die Konfigurationsdatei auf jedes System mit dem gleichen Anforderungen an eine QoS-Richtlinie.
Erstellen Sie eine Übersicht aller Planungsaufgaben, die für den Diffserv-Router in Ihrem Netzwerk erforderlich sind, und führen Sie sie aus.
Einzelheiten entnehmen Sie bitte der Router-Dokumentation und der Website des Router-Herstellers.
Der erste Schritt beim Definieren der QoS-Richtlinie ist das Strukturieren der Verkehrswerte in Klassen. Es ist nicht erforderlich, für jeden Verkehrstyp in einem Diffserv-Netzwerk eine Klasse zu erstellen. Darüber hinaus müssen Sie, abhängig von Ihrer Netzwerktopologie, eventuell für jedes IPQoS-konforme System eine andere QoS-Richtlinie erstellen.
Eine Übersicht der Klassen finden Sie unter IPQoS-Klassen.
Für das nächste Verfahren wird davon ausgegangen, dass Sie festgelegt haben, welche Systeme in Ihrem Netzwerk IPQoS-konform sind. Informationen hierzu finden Sie unter So bereiten Sie ein Netzwerk für IPQoS vor.
Erstellen Sie eine QoS-Planungstabelle zur Strukturierung der QoS-Richtlinieninformationen.
Vorschläge finden Sie in Tabelle 33–1.
Führen Sie die verbleibenden Schritte für jede QoS-Richtlinie in Ihrem Netzwerk aus.
Definieren Sie die in der QoS-Richtlinie zu verwendenden Klassen.
Die folgenden Fragen stellen eine Richtlinie zum Analysieren des Netzwerkverkehrs für mögliche Klassendefinitionen dar.
Bietet Ihr Unternehmen seinen Kunden Service-Level Agreements an?
In diesem Fall bewerten Sie die relativen Prioritätsebenen der SLAs, die Ihr Unternehmen seinen Kunden anbietet. Die gleichen Anwendungen können Kunden angeboten werden, denen unterschiedliche Prioritätsebenen garantiert sind.
Angenommen, Ihr Unternehmen bietet jedem Kunden Website-Hosting an. Dies bedeutet, dass Sie für jede Kunden-Website eine Klasse definieren müssen. Eine SLA kann eine Premium-Website als eine Serviceebene bereitstellen. Eine andere SLA bietet eventuell eine „Beste Leistung“ Personal-Website für Kunden zu einem Discountpreis an. Diese Faktoren deutet darauf hin, dass nicht nur unterschiedliche Websiteklassen, sondern diesen Websiteklassen auch potentiell unterschiedliche Per-Hop-Behaviors zugeordnet sind.
Bietet das IPQoS-Systemen populäre Anwendungen, die eine Verkehrssteuerung erfordern?
Sie können die Netzwerkleistung verbessern, indem Sie IPQoS auf Servern aktivieren, die populäre Anwendungen bereitstellen, die hohen Netzverkehr erzeugen. Typische Beispiele sind E-Mail, Netzwerknachrichten und FTP. Ziehen Sie, sofern anwendbar, das Erstellen von separaten Klassen für eingehenden und abgehenden Verkehr für jeden Servicetyp in Betracht. Beispielsweise können Sie eine Klasse für eingehende Mail und eine Klasse für abgehende Mail für die QoS-Richtlinie eines Mailservers erstellen.
Führt Ihr Netzwerk bestimmte Anwendungen aus, die ein Weiterleitungsverhalten mit der höchsten Priorität erfordern?
Jede kritische Anwendung, die ein Weiterleitungsverhalten mit höchster Priorität erfordert, muss die höchste Priorität in der Router-Warteschlange erhalten. Typische Beispiele sind Streaming-Video und Streaming-Audio.
Definieren Sie eingehende Klassen und abgehende Klassen für diese Anwendungen mit höchster Priorität. Dann fügen Sie die Klassen zu den QoS-Richtlinien auf dem IPQoS-konformen System, das als Server für die Anwendungen dient, sowie zum Diffserv-Router hinzu.
Treten in Ihrem Netzwerk Verkehrsströme auf, die gesteuert werden müssen, da sie einen Großteil der Bandbreite konsumieren?
Verwenden Sie netstat, snoop und andere Serviceprogramme zur Netzwerküberwachung, um Verkehr zu identifizieren, der zu Problemen im Netzwerk führen kann. Erstellen Sie eine Übersicht der bisher erstellten Klassen und erstellen Sie neue Klassen für eine Verkehrskategorie, die nicht näher definierte Probleme erzeugt. Wenn Sie bereits Klassen für eine Kategorie problembehafteten Verkehrs erzeugt haben, definieren Sie Raten für den Meter, mit denen der problembehaftete Verkehr kontrolliert wird.
Erstellen Sie Klassen für den problembehafteten Verkehr auf jedem IPQoS-konformen Systemen im Netzwerk. Jedes IPQoS-System kann daraufhin problembehafteten Verkehr verarbeiten, indem es die Rate begrenzt, mit der der Verkehrswert in das Netzwerk freigegeben wird. Denken Sie daran, diese Problemklassen auch in der QoS-Richtlinie auf dem Diffserv-Router zu definieren. Der Router kann dann die problembehafteten Datenströme gemäß der Konfiguration in seiner QoS-Richtlinie in eine Warteschlange stellen und einplanen.
Müssen Sie Statistiken zu bestimmten Verkehrstypen beziehen?
Eine schnelle Überprüfung einer SLA bringt zum Vorschein, für welche Arten von Kundenverkehr Accounting erforderlich ist. Wenn Ihr Standort SLAs anbietet, haben Sie wahrscheinlich Klassen für den Verkehr erstellt, für den Accounting erforderlich ist. Darüber hinaus müssen Sie eventuell Klassen erstellen, um das Erfassen von Statistiken zu überwachten Verkehrswerten zu ermöglichen. Sie können auch Klassen für Verkehr erstellen, auf den der Zugriff aus Sicherheitsgründen eingeschränkt werden soll.
Erstellen Sie eine Übersicht der von Ihnen definierten Klassen in der QoS-Planungstabelle, die Sie in Schritt 1 erstellt haben.
Weisen Sie jeder Klasse eine Prioritätsebene zu.
Beispielsweise könnte Prioritätsebene 1 die höchste Prioritätsklasse darstellen. Weisen Sie den verbleibenden Klassen niedrigere Prioritätsebenen zu. Die von Ihnen zugewiesene Prioritätsebene dient nur zu organisatorischen Zwecken. Prioritätsebenen, die Sie in der QoS-Richtlinienvorlage aufstellen, werden nicht tatsächlich vom IPQoS verwendet. Darüber hinaus können Sie mehreren Klassen die gleiche Priorität zuweisen, falls dies für Ihre QoS-Richtlinie geeignet ist.
Nachdem die Klassendefinition abgeschlossen ist, beginnen Sie mit der Definition von Filtern für jede Klasse. Dies ist unter So definieren Sie Filter in der QoS-Richtlinie beschrieben.
Beim Erstellen von Klassen werden Sie schnell feststellen, welche Klassen die höchste Priorität, eine mittlere Priorität und eine „Beste Leistung“-Priorität erhalten sollen. Ein gut geeignetes Schema zur Priorisierung von Klassen wird insbesondere dann wichtig, wenn Sie abgehenden Verkehr ein Per-Hop-Behavior zuweisen. Dies wird unter So planen Sie das Weiterleitungsverhalten beschrieben.
Neben dem Zuweisen eines PHB zu einer Klasse können Sie auch einen Prioritätsselektor in einem Filter für die Klasse definieren. Der Prioritätsselektor ist nur auf dem IPQoS-konformen Host aktiv. Angenommen, einige Klassen mit gleichen Raten und identischen DSCPs stehen beim Verlassen des IPQoS-Systems im Wettbewerb um Bandbreite. Der Prioritätsselektor in jeder Klasse kann die Serviceebene anderweitig identisch bewerteter Klassen weiter aufschlüsseln.
Sie erstellen Filter, um die Mitgliedschaft des Paketflusses bei einer bestimmten Klasse zu identifizieren. Jeder Filter enthält Selektoren, die Kriterien zur Bewertung eines Paketflusses definieren. Das IPQoS-konforme System verwendet die Kriterien in den Selektoren, um Pakete aus einem Verkehrswert zu extrahieren. Dann weist das IPQoS-System die Pakete einer Klasse zu. Eine Einführung in das Konzept der Filter finden Sie unter IPQoS-Filter.
In der folgenden Tabelle sind die am häufigsten verwendeten Selektoren aufgeführt. Die ersten fünf Selektoren stellen das IPQoS 5-Tuple dar, das vom IPQoS-System verwendet wird, um Pakete als Mitglieder eines Datenflusses zu identifizieren. Eine vollständige Liste der Selektoren finden Sie in Tabelle 37–1.
Tabelle 33–2 Allgemeine IPQoS-Selektoren
Name |
Definition |
---|---|
saddr |
Quelladresse. |
daddr |
Zieladresse. |
sport |
Ursprungs-Portnummer. Sie können eine bekannte Portnummer gemäß der Definition in /etc/services oder eine benutzerdefinierte Portnummer verwenden. |
dport |
Ziel-Portnummer. |
protocol |
IP-Protokollnummer oder Protokollname, der dem Verkehrswerttyp in /etc/protocols zugewiesen ist. |
ip_version |
Zu verwendender Adressierungstyp. Verwenden Sie entweder IPv4 oder IPv6. IPv4 ist die Standardeinstellung. |
dsfield |
Inhalt des DS-Felds, das heißt, der DSCP. Verwenden Sie diesen Selektor zum Extrahieren eingehender Pakete, die bereits mit einem bestimmten DSCP markiert sind. |
priority |
Prioritätsebene, die der Klasse zugewiesen ist. Weitere Informationen finden Sie unter So definieren Sie die Klassen für Ihre QoS-Richtlinie. |
user |
Entweder die UNIX-Benutzer-ID oder der Benutzername, der beim Ausführen der Anwendung auf höherer Ebene verwendet wird. |
projid |
Projekt-ID, die beim Ausführen der Anwendung auf höherer Ebene verwendet wird. |
direction |
Die Richtung des Verkehrswerts. Gültige Werte sind entweder LOCAL_IN, LOCAL_OUT, FWD_IN oder FWD_OUT. |
Selektoren sollten nur nach sorgfältigen Überlegungen zugewiesen werden. Verwenden Sie nur so viele Selektoren, wie Sie zum Extrahieren der Pakete für eine Klasse benötigen. Je mehr Selektoren Sie definieren, desto größer sind die Auswirkungen auf die IPQoS-Performance.
Bevor Sie die nächsten Schritte ausführen, sollten Sie das Verfahren So definieren Sie die Klassen für Ihre QoS-Richtlinie vollständig abgeschlossen haben.
Definieren Sie mindestens einen Filter für jede Klasse in der QoS-Planungstabelle, die Sie unter So definieren Sie die Klassen für Ihre QoS-Richtlinie erstellt haben.
Denken Sie daran, sofern anwendbar, separate Filter für eingehende und abgehenden Verkehr für jede Klasse zu erstellen. Fügen Sie beispielsweise einen Filter für ftp-in und einen Filter für ftp-out in die QoS-Richtlinie eines IPQ-konformen FTP-Servers ein. Dann können Sie zusätzlich zu den allgemeinen Selektoren einen geeigneten direction-Selektor definieren.
Definieren Sie mindestens einen Selektor für jeden Filter in einer Klasse.
Verwenden Sie die in Tabelle 33–1 eingeführte QoS-Planungstabelle, um Filter für die von Ihnen definierten Klassen einzufügen.
In der folgenden Tabelle, die als Beispiel dient, wird gezeigt, wie Sie einen Filter für abgehenden FTP-Verkehr definieren.
Klasse |
Priorität |
Filter |
Selektoren |
---|---|---|---|
ftp-traffic |
4 |
ftp-out |
saddr 10.190.17.44 daddr 10.100.10.53 sport 21 direction LOCAL_OUT |
Informationen zum Definieren eines Schemas für die Flusskontrolle finden Sie unter So planen Sie die Verkehrssteuerung.
Informationen zum Definieren des Weiterleitungsverhaltens für Datenströme, die zum Netzwerkstrom zurückkehren, finden Sie unter So planen Sie das Weiterleitungsverhalten.
Informationen zum Planen des Flow Accounting für bestimmte Arten von Datenverkehr finden Sie unter So planen Sie das Flow Accounting.
Informationen zum Hinzufügen weiterer Klassen zur QoS-Richtlinie finden Sie unter So definieren Sie die Klassen für Ihre QoS-Richtlinie.
Informationen zum Hinzufügen weiterer Filter zur QoS-Richtlinie finden Sie unter So definieren Sie Filter in der QoS-Richtlinie.
Die Verkehrssteuerung umfasst das Messen des Verkehrswerts für eine Klasse sowie das Freigeben der Pakete mit einer definierten Rate in das Netzwerk. Beim Planen einer Verkehrssteuerung definieren Sie die Parameter, die von den IPQoS-Metermodule verwendet werden sollen. Die Metermodule bestimmen die Rate, mit der Verkehr in das Netzwerk freigegeben wird. Eine Einführung in das Konzept der Metermodule finden Sie unter Meter (tokenmt und tswtclmt) – Übersicht.
Im folgenden Verfahren wird davon ausgegangen, dass Sie Filter und Selektoren bereits definiert haben. Dies wird unter So definieren Sie Filter in der QoS-Richtlinie beschrieben.
Ermitteln Sie die maximale Bandbreite Ihres Netzwerks.
Erstellen Sie eine Übersicht aller SLAs, die von Ihrem Netzwerk unterstützt werden. Identifizieren Sie die Kunden und den Servicetyp, der jedem Kunden garantiert ist.
Um eine bestimmte Serviceebene zu garantieren, müssen Sie die vom Kunden erzeugten bestimmten Verkehrsklassen messen.
Erstellen Sie eine Übersicht der Klassen, die Sie unter So definieren Sie die Klassen für Ihre QoS-Richtlinie erstellt haben.
Stellen Sie fest, ob weitere Klassen außer den SLAs zugewiesenen Klassen gemessen werden müssen.
Angenommen, das IPQoS-System führt eine Anwendung aus, die starken Datenverkehr erzeugt. Nachdem Sie den Verkehr der Anwendung klassifiziert haben, messen Sie die Datenströme, um die Rate zu steuern, mit der die Pakete des Datenflusses in das Netzwerk zurückkehren.
Nicht alle Klassen müssen gemessen werden. Beachten Sie dies beim Erstellen einer Übersicht Ihrer Klassen.
Ermitteln Sie, welche Filter in jeder Klasse den Datenverkehr auswählen, für den eine Verkehrssteuerung erforderlich ist. Dann passen Sie die Liste der Klassen an, für die eine Messung erforderlich ist.
Klassen mit mehreren Filtern erfordern eventuell nur Messungen für einen Filter. Angenommen, Sie definieren Filter für eingehenden und abgehenden Datenverkehr einer bestimmten Klasse. Dann stellen Sie fest, dass die Verkehrssteuerung nur für den Datenverkehr in eine Richtung erforderlich ist.
Wählen Sie ein Metermodul für jede Klasse, für die eine Verkehrssteuerung erforderlich ist.
Fügen Sie den Modulnamen zur Spalte für das Metermodul in Ihrer QoS-Planungstabelle hinzu.
Fügen Sie die Raten für jede zu messende Klasse in die Organisationstabelle ein.
Wenn Sie das Modul tokenmt verwenden, müssen Sie die folgenden Raten in Bit pro Sekunde definieren:
Committed Rate
Peak Rate
Wenn diese Raten ausreichen, um eine bestimmte Klasse zu messen, brauchen Sie nur die Committed Rate und in den Committed Burst für tokenmt definieren.
Falls erforderlich, können Sie auch die folgenden Raten definieren:
Committed Burst
Peak Burst
Eine vollständige Definition der tokenmt-Raten finden Sie unter Konfiguration von tokenmt als Two-Rate Meter. Ausführliche Informationen finden Sie auch in der Manpage tokenmt (7ipp).
Wenn Sie das Modul tswtclmt verwenden, müssen Sie die folgenden Raten in Bit pro Sekunde definieren.
Committed Rate
Peak Rate
Sie können auch die Fenstergröße in Millisekunden definieren. Diese Raten sind unter tswtclmt-Metermodul und in der Manpage twstclmt(7ipp) definiert.
Fügen Sie das Ergebnis der Datenverkehr-Konformität für den gemessenen Verkehr hinzu.
Das Ergebnis für beide Metermodule ist entweder grün, rot oder gelb. Fügen Sie Ihrer QoS-Organisationstabelle das Ergebnis für die Datenverkehr-Konformität hinzu, die für die von Ihnen definierten Raten gelten. Ergebnisse für die Metermodule sind unter Metermodul genauer beschrieben.
Sie müssen festlegen, welche Aktionen für Verkehr durchgeführt werden soll, der der Committed Rate entspricht bzw. nicht entspricht. Häufig, aber nicht immer, ist diese Aktion das Markieren des Paket-Headers mit einem Per-Hop-Behavior. Eine akzeptable Aktion für Verkehr auf grüner Ebene ist das Fortsetzen der Verarbeitung, solange die Verkehrswerte die Committed Rate nicht überschreiten. Eine andere Aktion wäre das Abwerfen von Paketen einer Klasse, wenn Datenflüsse die Peak Rate überschreiten.
In der folgenden Tabelle, die als Beispiel dient, sind die Meter-Einträge für eine Klasse mit E-Mail-Verkehr aufgeführt. Das Netzwerk, in dem sich das IPQoS-Systemen befindet, verfügt über eine gesamte Bandbreite von 100 Mbit/s oder 10000000 Bit pro Sekunde. Die QoS-Richtlinie weist der E-Mail-Klasse eine niedrige Priorität zu. Darüber hinaus erhält diese Klasse das Weiterleitungsverhalten „Beste Leistung“.
Klasse |
Priorität |
Filter |
Selektor |
Rate |
---|---|---|---|---|
|
8 |
mail_in |
daddr10.50.50.5 dport imap direction LOCAL_IN |
|
|
8 |
mail_out |
saddr10.50.50.5 sport imap direction LOCAL_OUT |
meter=tokenmt Committed Rate=5000000 Committed Burst =5000000 Peak Rate =10000000 Peak Burst=1000000 Prioritätsstufe grün=Verarbeitung fortsetzen Prioritätsstufe gelb=mit gelbem PHB markieren Prioritätsstufe rot=Abwerfen |
Informationen zum Definieren des Weiterleitungsverhaltens für Pakete, die zum Netzwerkstrom zurückkehren, finden Sie unter So planen Sie das Weiterleitungsverhalten.
Informationen zum Planen des Flow Accounting für bestimmte Arten von Datenverkehr finden Sie unter So planen Sie das Flow Accounting.
Informationen zum Hinzufügen weiterer Klassen zur QoS-Richtlinie finden Sie unter So definieren Sie die Klassen für Ihre QoS-Richtlinie.
Informationen zum Hinzufügen weiterer Filter zur QoS-Richtlinie finden Sie unter So definieren Sie Filter in der QoS-Richtlinie.
Informationen zum Definieren eines anderen Schemas zur Flusskontrolle finden Sie unter So planen Sie die Verkehrssteuerung.
Informationen zum Erstellen einer IPQoS-Konfigurationsdatei finden Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen.
Das Weiterleitungsverhalten bestimmt die Priorität und Drop-Prioritätsstufe von Verkehrswerten, die in das Netzwerk weitergeleitet werden sollen. Grundsätzlich können Sie zwischen zwei Weiterleitungsverhalten wählen: Priorisieren der Datenströme einer Klasse in Relation zu anderen Verkehrsklassen oder vollständiges Abwerfen der Datenflüsse.
Das Diffserv-Modell verwendet den Marker, um Verkehrswerten das ausgewählte Weiterleitungsverhalten zuzuweisen. IPQoS bietet die folgenden Markermodule.
dscpmk – Dient zum Markieren des DS-Feldes eines IP-Pakets mit einem DSCP
dlcosmk – Dient zum Markieren des VLAN-Tags eines Datagramms mit einem Serviceklassen (Class of Service, CoS)-Wert
Die Vorschläge in diesem Abschnitt beziehen sich speziell auf IP-Pakete. Wenn Ihr IPQoS-System ein VLAN-Gerät umfasst, können Sie den Marker dlcosmk verwenden, um das Weiterleitungsverhalten für Datagramme festzulegen. Weitere Informationen hierzu finden Sie unter Verwenden des Markers dlcosmk mit VLAN-Geräten.
Um IP-Datenverkehr zu priorisieren, müssen Sie jedem Paket einen DSCP zuweisen. Der Marker dscpmk markiert das DS-Feld eines Pakets mit dem DSCP. Sie wählen den DSCP einer Klasse aus einer Gruppe bekannter Codepoints aus, die dem Weiterleitungsverhalten zugewiesen sind. Zu diesen bekannten Codepoints zählen 46 (101110) für das EF PHB und eine Reihe von Codepoints für den AF PHB. Eine Übersicht zu den DSCP und zur Weiterleitung finden Sie unter Verkehrsweiterleitung in einem IPQoS-konformen Netzwerk.
Bei den nächsten Schritten wird davon ausgegangen, dass Sie Klassen und Filter für die QoS-Richtlinie definiert haben. Obwohl Sie den Meter mit dem Marker zur Steuerung von Datenverkehr verwenden werden, können Sie den Marker auch separat einsetzen, um ein Weiterleitungsverhalten zu definieren.
Erstellen Sie eine Übersicht der bereits erstellten Klassen und die Prioritäten, die Sie jeder Klasse zugewiesen haben.
Nicht alle Verkehrsklassen müssen markiert werden.
Weisen Sie der Klasse mit der höchsten Priorität das EF Per-Hop-Behavior zu.
Das EF PHB garantiert, dass Pakete mit dem EF DSCP 46 (101110) vor Paketen mit AF PHBs in das Netzwerk freigegeben werden. Verwenden Sie das EF PHB für Datenverkehr mit der höchste Priorität. Weitere Informationen zum EF finden Sie unter Expedited Forwarding (EF) PHB.
Weisen Sie den Klassen, deren Datenverkehr gemessen werden muss, ein Weiterleitungsverhalten zu.
Weisen Sie den verbleibenden Klassen in Übereinstimmung mit den Prioritäten, die Sie diesen Klassen zugewiesen haben, DS Codepoints zu.
Der Datenverkehr wird im Allgemeinen aus folgenden Gründen gemessen:
Eine SLA garantiert Paketen dieser Klasse höheren Service oder geringerem Service, wenn das Netzwerk stark ausgelastet ist.
Eine Klasse mit einer niedrigeren Priorität hat die Tendenz, das Netzwerk zu fluten.
Sie können den Marker mit dem Meter verwenden, um diesen Klassen Differentiated Services und Bandbreitenverwaltung bereitzustellen. Die folgende Tabelle zeigt beispielsweise einen Teil der QoS-Richtlinie. Diese Richtlinie definiert eine Klasse für eine beliebte Spieleanwendung, die einen starken Datenverkehr erzeugt.
Klasse |
Priorität |
Filter |
Selektor |
Rate |
Weiterleitung? |
---|---|---|---|---|---|
games_app |
9 |
games_in |
sport 6080 |
entf. |
entf. |
games_app |
9 |
games_out |
dport 6081 |
meter=tokenmt Committed Rate=5000000 Committed Burst =5000000 Peak Rate =10000000 Peak Burst=15000000 Prioritätsstufe grün=Verarbeitung fortsetzen Prioritätsstufe gelb=mit gelbem PHB markieren Prioritätsstufe rot=Abwerfen |
grün =AF31 gelb=AF42 rot=drop |
Die Weiterleitungsverhalten weisen demgames_app-Datenverkehr, der seiner Committed Rate entspricht oder unter der Peak Rate liegt, DSCPs mit geringer Priorität zu. Wenn der games_app -Datenverkehr die Peak Rate übersteigt, gibt die QoS-Richtlinie an, dass Pakete von games_app abzuwerfen sind. Alle AF Codepoints sind in Tabelle 37–2 aufgeführt.
Informationen zum Planen des Flow Accounting für bestimmte Arten von Datenverkehr finden Sie unter So planen Sie das Flow Accounting.
Informationen zum Hinzufügen weiterer Klassen zur QoS-Richtlinie finden Sie unter So definieren Sie die Klassen für Ihre QoS-Richtlinie.
Informationen zum Hinzufügen weiterer Filter zur QoS-Richtlinie finden Sie unter So definieren Sie Filter in der QoS-Richtlinie.
Informationen zum Definieren eines Schemas für die Flusskontrolle finden Sie unter So planen Sie die Verkehrssteuerung.
Informationen zum Definieren zusätzlicher Weiterleitungsverhalten für Datenstöme, die zum Netzwerkstrom zurückkehren, finden Sie unter So planen Sie das Weiterleitungsverhalten.
Informationen zum Erstellen einer IPQoS-Konfigurationsdatei finden Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen.
Sie verwenden das IPQoS-Modul flowacct, um Verkehrswerte zur Fakturierung und Netzwerkverwaltung zu verfolgen. Gehen Sie nach dem folgenden Verfahren vor, um festzustellen, ob Ihre QoS-Richtlinie das Flow Accounting umfassen soll.
Bietet Ihr Unternehmen seinen Kunden SLAs an?
In diesem Fall sollten Sie das Flow Accounting verwenden. Erstellen Sie eine Übersicht der SLAs, um festzustellen, welche Arten des Netzwerkverkehrs Ihr Unternehmen seinen Kunden in Rechnung stellen möchte. Dann prüfen Sie in Ihrer QoS-Richtlinie, welche Klassen zu berechnenden Verkehr auswählen.
Gibt es Anwendungen, die überwacht oder überprüft werden müssen, um Netzwerkprobleme zu vermeiden?
In diesem Fall sollten Sie das Flow Accounting einsetzen, um das Verhalten dieser Anwendungen zu beobachten. Ermitteln Sie in Ihrer QoS-Richtlinie die Klassen, denen Sie Verkehr zugewiesen haben, der überwacht werden muss.
Kennzeichnen Sie jede Klasse, für die das Flow Accounting erforderlich ist, in Ihrer QoS-Planungstabelle mit einem „J“ in der Flow Accounting-Spalte.
Informationen zum Hinzufügen weiterer Klassen zur QoS-Richtlinie finden Sie unter So definieren Sie die Klassen für Ihre QoS-Richtlinie.
Informationen zum Hinzufügen weiterer Filter zur QoS-Richtlinie finden Sie unter So definieren Sie Filter in der QoS-Richtlinie.
Informationen zum Definieren eines Schemas für die Flusskontrolle finden Sie unter So planen Sie die Verkehrssteuerung.
Informationen zum Definieren des Weiterleitungsverhaltens für Pakete, die zum Netzwerkstrom zurückkehren, finden Sie unter So planen Sie das Weiterleitungsverhalten.
Informationen zum Planen von zusätzlichem Flow Accounting für bestimmte Arten von Datenverkehr finden Sie unter So planen Sie das Flow Accounting.
Informationen zum Erstellen einer IPQoS-Konfigurationsdatei finden Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen.
Die Aufgaben in den verbleibenden Kapiteln dieses Handbuchs verwenden die in diesem Abschnitt vorgestellte IPQoS-Beispielkonfiguration. In diesem Beispiel wird gezeigt die Differentiated Services -Lösung im öffentlichen Intranet von BigISP, einem fiktiven Service Provider. BigISP bietet großen Unternehmen, die ihre Verbindungen zu BigISP über Standleitungen herstellen, Services an. Einzelpersonen, die sich über Modems einwählen, können ebenfalls Services von BigISP erwerben.
Die folgende Abbildung zeigt die Netzwerktopologie des öffentlichen Intranet von BigISP.
BigISP hat die folgenden vier Tiers in seinen öffentlichen Intranet implementiert:
Tier 0 – Netzwerk 10.10.0.0 umfasst einen großen Diffserv-Router namens Bigrouter, der über externe und interne Schnittstellen verfügt. Mehrere Unternehmen, einschließlich einem großen Unternehmen namens Goldco, haben Standleitungsservices gemietet, die an Bigrouter enden. Tier 0 bedient darüber hinaus Einzelpersonen, die sich über Telefonleitungen oder ISDN einwählen.
Tier 1 – Netzwerk 10.11.0.0 stellt Webservices bereit. Der Server Goldweb fungiert als Host für die Website, die von Goldco als Teil des Premium-Services von BigISP erworben hat. Der Server Userweb fungiert als Host für kleine Websites, die von einzelnen Kunden erworben wurden. Sowohl Goldweb als auch Userweb sind IPQoS-konform.
Tier 2 – Netzwerk 10.12.0.0 stellt allen Kunden Anwendungen bereiten. BigAPPS, einer der Anwendungsserver, ist IPQoS-konform. BigAPPS bietet SMTP-, News- und FTP-Services.
Tier 3 – Netzwerk 10.13.0.0 beherbergt große Datenbankserver. Zugriff auf Tier 3 wird von datarouter, einem Diffserv-Router kontrolliert.
In diesem Kapitel wird gezeigt, wie Sie IPQoS-Konfigurationsdateien erstellen. Die folgenden Themen behandelt.
Definieren einer QoS-Richtlinie in der IPQoS-Konfigurationsdatei (Übersicht der Schritte)
Erstellen einer IPQoS-Konfigurationsdateien für einen Anwendungsserver
In diesem Kapitel wird davon ausgegangen, dass Sie eine vollständige QoS-Richtlinie definiert haben und bereit sind, diese Richtlinie als Basis für die IPQoS-Konfigurationsdatei zu verwenden. Anweisungen zur Planung einer QoS-Richtlinie finden Sie unter Planen der Quality of Service-Richtlinie.
In der folgenden Tabelle sind die allgemeinen Aufgaben zum Erstellen einer IPQoS-Konfigurationsdatei aufgeführt, sowie die Links zu den Abschnitten, in denen die Schritte zum Durchführen dieser Aufgaben beschrieben sind.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
1. Planen Ihrer IPQoS konformen Netzwerkkonfiguration. |
Entscheiden Sie, welche Systeme in lokalen Netzwerken IPQoS-konform werden sollen. | |
2. Planen der QoS-Richtlinie für IPQoS-Systeme in Ihrem Netzwerk. |
Kategorisieren Sie die Verkehrswerte in einzelne Serviceklassen. Dann legen Sie fest, für welchen Verkehr Verkehrsmanagement erforderlich ist. | |
3. Erstellen der IPQoS-Konfigurationsdatei und Definieren der ersten Aktion. |
Erstellen Sie die IPQoS-Datei, rufen Sie den IP-Classifier auf und definieren Sie eine Klasse für die Verarbeitung. |
So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen |
4. Erstellen von Filtern für eine Klasse. |
Fügen Sie die Filter hinzu, mit denen der Datenverkehr ausgewählt und in einer Klasse strukturiert wird. | |
5. Hinzufügen weiterer Klassen und Filter zur IPQoS-Konfigurationsdatei. |
Erstellen Sie weitere Klassen und Filter, die vom IP-Classifier bearbeitet werden. |
So erstellen Sie eine IPQoS-Konfigurationsdatei für einen Beste Leistung-Webserver |
6. Hinzufügen einer action-Anweisung mit Parametern, mit der die Metermodule konfiguriert werden. |
Wenn die QoS-Richtlinie eine Verkehrssteuerung verlangt, weisen Sie dem Meter Verkehrssteuerungraten und Konformitätsebenen zu. |
So konfigurieren Sie die Verkehrssteuerung in der IPQoS-Konfigurationsdatei |
7. Hinzufügen einer action-Anweisung mit Parametern, mit der der Marker konfiguriert wird. |
Wenn die QoS-Richtlinie differenzierte Weiterleitungsverhalten verlangt, legen Sie fest, wie Datenverkehrsklassen weitergeleitet werden sollen. |
So definieren Sie das Weiterleiten von Datenverkehr in der IPQoS-Konfigurationsdatei |
8. Hinzufügen einer action-Anweisung mit Parametern, mit der die das Flow Accounting-Modul konfiguriert wird. |
Wenn die QoS-Richtlinie Statistiken zu den Verkehrswerten verlangt, legen Sie fest, wie die Accounting-Statistiken gesammelt werden. |
So aktivieren Sie das Accounting für eine Klasse in der IPQoS-Konfigurationsdatei |
9. Übernehmen der IPQoS-Konfigurationsdatei. |
Fügen Sie den Inhalt der angegebenen IPQoS-Konfigurationsdatei zu den entsprechenden Kernel-Modulen hinzu. |
So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module |
10. Konfigurieren des Weiterleitungsverhalten in den Router-Dateien. |
Wenn eine IPQoS-Konfigurationsdatei im Netzwerk das Weiterleitungsverhalten definiert, fügen Sie die resultierenden DSCPs zu den entsprechenden Scheduling-Dateien auf dem Router hinzu. |
So konfigurieren Sie einen Router in einem IPQoS-konformen Netzwerk |
Die QoS-Richtlinie für Ihr Netzwerk befindet sich in der IPQoS-Konfigurationsdatei. Diese Konfigurationsdatei erstellen Sie mit einem Texteditor. Dann stellen Sie die Datei als ein Argument für ipqosconf, dem IPQoS-Konfigurationsprogramm, bereit. Wenn Sie ipqosconf anweisen, die in Ihrer Konfigurationsdatei definierte Richtlinie anzuwenden, wird die Richtlinie in das Kernel-IPQoS-System geschrieben. Ausführliche Informationen zum Befehl ipqosconf finden Sie in der Manpage ipqosconf(1M). Anweisungen zur Verwendung von ipqosconf, finden Sie unter So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module.
Eine IPQoS-Konfigurationsdatei besteht aus mehreren action-Anweisungen, über die die QoS-Richtlinie umgesetzt wird, die Sie unter Planen der Quality of Service-Richtlinie definiert haben. Die IPQoS-Konfigurationsdatei konfiguriert die IPQoS-Module. Jede action-Anweisung enthält einen Satz mit Klassen, Filtern oder Parametern, die von dem Modul verarbeitet wird, das in der action-Anweisung aufgerufen wird.
Die vollständige Syntax der IPQoS-Konfigurationsdatei finden Sie in Beispiel 37–3 und in der Manpage ipqosconf(1M).
Die Aufgaben in diesem Kapitel klären, wie die IPQoS-Konfigurationsdateien für drei IPQoS-konforme Systeme erstellt werden. Diese Systeme sind Teil der Netzwerktopologie des Unternehmens BigISP, das in Abbildung 33–4 vorgestellt wurde.
Goldweb – Ein Webserver, der als Host für die Websites der Kunden dient, die Premium-Level SLAs erworben haben
Userweb – Ein weniger leistungsstarker Webserver, der als Host für die Websites von privaten Kunden dient, die „Beste Leistung“ SLAs erworben haben
BigAPPS – Ein Anwendungsserver, der E-Mail-, Network News- und FTP-Services für Gold-Level und Beste Leistung-Kunden bereitstellt
Diese drei Konfigurationsdateien zeigen die am häufigsten verwendeten IPQoS-Konfigurationen. Sie können die Beispieldateien aus dem nächsten Abschnitt als Vorlagen für Ihre eigenen IPQoS-Implementierungen verwenden.
In diesem Abschnitt wird eine IPQoS-Konfigurationsdatei vorgestellt, mir deren Hilfe Ihnen gezeigt wird, wie eine Konfiguration für einen Premium-Webserver erstellt wird. Dann wird gezeigt, wie eine vollständig andere Serviceebene in einer Konfigurationsdatei für einen Server erstellt wird, der als Host für persönliche Websites dient. Beide Server sind Teil des Netzwerkbeispiels, das in Abbildung 33–4 vorgestellt wurde.
Die folgende Konfigurationsdatei definiert IPQoS-Aktivitäten für den Server Goldweb. Dieser Server dient als Host für die Website von Goldco, einem Unternehmen, das eine Premium-SLA erworben hat.
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE } class { name goldweb next_action markAF11 enable_stats FALSE } class { name video next_action markEF enable_stats FALSE } filter { name webout sport 80 direction LOCAL_OUT class goldweb } filter { name videoout sport videosrv direction LOCAL_OUT class video } } action { module dscpmk name markAF11 params { global_stats FALSE dscp_map{0-63:10} next_action continue } } action { module dscpmk name markEF params { global_stats TRUE dscp_map{0-63:46} next_action acct } } action { module flowacct name acct params { enable_stats TRUE timer 10000 timeout 10000 max_limit 2048 } }
Die folgende Konfigurationsdatei definiert IPQoS-Aktivitäten für den Server Userweb. Dieser Server dient als Host für Privatkunden mit kostengünstigen oder Beste Leistung-SLAs. Diese Serviceebene garantiert den besten Service, der einem Beste Leistung-Kunden bereitgestellt werden kann, nachdem das IPQoS-System den Datenverkehr von Kunden mit teureren SLAs verarbeitet hat.
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE } class { name Userweb next_action markAF12 enable_stats FALSE } filter { name webout sport 80 direction LOCAL_OUT class Userweb } } action { module dscpmk name markAF12 params { global_stats FALSE dscp_map{0-63:12} next_action continue } }
Sie können Ihre erste IPQoS-Konfigurationsdatei in einem beliebigen Verzeichnis erstellen. Wählen Sie das Verzeichnis, das Sie am einfachsten verwalten können. Die Aufgaben in diesem Kapitel verwenden das /var/ipqos als Speicherort für die IPQoS-Konfigurationsdateien. Im folgenden Verfahren wird das interne Segment der IPQoS-Konfigurationsdatei erstellt, die in Beispiel 34–1 eingeführt wurde.
Achten Sie beim Erstellen der IPQoS-Konfigurationsdatei darauf, die action-Anweisung und -Klausel mit geschweiften Klammen zu beginnen und zu beenden ({ }). Ein Beispiel für die Verwendung der Klammern finden Sie in Beispiel 34–1.
Melden Sie sich beim Premium-Webserver an und erstellen Sie eine neue IPQoS-Konfigurationsdatei mit der Erweitung .qos.
Jede IPQoS-Konfigurationsdatei muss mit der Versionsnummer fmt_version 1.0 als erste unkommentierte Zeile beginnen.
Nach dem Eröffnungsparameter muss die erste action-Anweisung folgen, die den generischen IP-Classifier ipgpc konfiguriert.
Diese erste Aktion beginnt die Baumstruktur der action-Anweisungen, aus denen sich die IPQoS-Konfigurationsdatei zusammensetzt. Die Datei /var/ipqos/Goldweb.qos beginnt z. B. mit der ersten action-Anweisung, die den ipgpc-Classifier aufruft.
fmt_version 1.0 action { module ipgpc name ipgpc.classify |
Beginnt die IPQoS-Konfigurationsdatei.
Beginnt die action-Anweisung.
Konfiguriert den ipgpc-Classifier als die erste Aktion in der Konfigurationsdatei.
Definiert den Namen der action-Anweisung des Classifiers, der stets ipgpc.classify lauten muss.
Ausführliche syntaktische Informationen zu den action-Anweisungen finden Sie unter action-Anweisung und in der Manpage ipqosconf(1M).
Fügen Sie eine params-Klausel mit dem Statistik-Parameter global_stats hinzu.
params { global_stats TRUE } |
Mit dem Parameter global_stats TRUE in der ipgpc.classify-Anweisung können Sie das Erfassen von Statistiken für diese Aktion aktivieren. global_stats TRUE aktiviert darüber hinaus das Erfassen von Statistiken pro Klasse, wenn eine Klassenklauseldefinition enable_stats TRUE angibt.
Das Aktivieren der Statistiken verbessert die Leistung. Vielleicht möchten Sie Statistiken zu der neuen IPQoS-Konfigurationsdatei erfassen, um zu prüfen, ob die IPQoS ordnungsgemäß arbeitet. Später können Sie das Erfassen von Statistiken deaktivieren, indem Sie das Argument von global_stats zu FALSE ändern.
Globale Statistiken sind nur ein Parametertyp, den Sie in einer params-Klausel definieren können. Sytaktische and sonstige Details zu den params-Klauseln finden Sie unter params-Klausel und in der Manpage ipqosconf(1M).
Definieren Sie eine Klasse, die den Datenverkehr identifiziert, der für den Premium-Server bestimmt ist.
class { name goldweb next_action markAF11 enable_stats FALSE } |
Diese Anweisung wird als class-Klausel bezeichnet. Eine class-Klausel hat den folgenden Inhalt.
Erstellt die Klasse goldweb, um den Datenverkehr zu identifizieren, der für den Server Goldweb bestimmt ist.
Weist das ipgpc-Modul an, Pakete der goldweb-Klasse an die action-Anweisung markAF11 zu übergeben. Die action-Anweisung markAF11 ruft den Marker dscpmk auf.
Aktiviert die Erfassung von Statistiken für die Klasse goldweb. Da der Wert für enable_stats FALSE lautet, werden keine Statistiken für diese Klasse erfasst.
Ausführliche Informationen zur Syntax der class-Klausel finden Sie unter class-Klausel und in der Manpage ipqosconf(1M).
Definieren Sie eine Klasse, die eine Anwendung kennzeichnet, die Weiterleitungen mit der höchsten Priorität aufweist.
class { name video next_action markEF enable_stats FALSE } |
Erstellt die Klasse video, um Streaming Video-Datenverkehr zu identifizieren, der vom Server Goldweb ausgeht.
Weist das ipgpc-Modul an, Pakete der video-Klasse an die markEF-Anweisung zu übergeben, nachdem ipgpc die Bearbeitung vollständig abgeschlossen hat. Die Anweisung markEF ruft den Marker dscpmk auf.
Aktiviert die Erfassung von Statistiken für die Klasse video. Da der Wert für enable_stats FALSE lautet, werden keine Statistiken für diese Klasse erfasst.
Informationen zum Definieren von Filtern für die gerade erstellte Klasse finden Sie unter So definieren Sie Filter in der IPQoS-Konfigurationsdatei.
Informationen zum Erstellen einer weiteren class-Klausel für die Konfigurationsdatei finden Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen.
Im nächsten Verfahren wird gezeigt, wie Sie Filter in der IPQoS-Konfigurationsdatei definieren.
Bei diesem Verfahren wird davon ausgegangen, dass Sie die Datei bereits erstellt und mit der Definition der Klassen begonnen haben. Mit den folgenden Schritten wird die Datei /var/ipqos/Goldweb.qos erweitert, die Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen erstellt haben.
Achten Sie beim Erstellen der IPQoS-Konfigurationsdatei darauf, jede class- und filter-Klausel mit geschweiften Klammen zu beginnen und zu beenden ({ }). Ein Beispiel für die Verwendung der Klammern finden Sie in Beispiel 34–1.
Öffnen Sie die IPQoS-Konfigurationsdatei und suchen Sie das Ende der letzten von Ihnen definierten Klasse.
Bei dem IPQoS-konformen Server Goldweb beginnen Sie z. B. hinter der class-Klausel, die Sie in /var/ipqos/Goldweb.qos erstellt haben:
class { name video next_action markEF enable_stats FALSE } |
Definieren Sie eine filter-Klausel, um den abgehenden Datenverkehr vom IPQoS-System auszuwählen.
filter { name webout sport 80 direction LOCAL_OUT class goldweb } |
Benennt den Filter mit webout.
Wählt Datenverkehr mit dem Ursprungs-Port 80 aus, dem bekannten Port für HTTP (Web)-Verkehr.
Wählt außerdem Verkehr aus, der vom lokalen System abgeht.
Identifiziert die Klasse, zu der der Filter gehört, in diesem Fall die Klasse goldweb.
Syntaktische und ausführliche Informationen zur filter-Klausel in der IPQoS-Konfigurationsdatei finden Sie unter filter-Klausel.
Definieren Sie eine filter-Klausel, um den Streaming Video-Datenverkehr vom IPQoS-System auszuwählen.
filter { name videoout sport videosrv direction LOCAL_OUT class video } |
Benennt den Filter mit videoout.
Wählt Datenverkehr mit einem Ursprungs-Port von videosrv aus, ein zuvor definierter Port für die Streaming Video-Anwendung auf diesem System.
Wählt außerdem Verkehr aus, der vom lokalen System abgeht.
Identifiziert die Klasse, zu der der Filter gehört, in diesem Fall die Klasse video.
Informationen zum Definieren des Weiterleitungsverhalten für die Markermodule finden Sie unter So definieren Sie das Weiterleiten von Datenverkehr in der IPQoS-Konfigurationsdatei.
Informationen zum Definieren der Flusskontrolle-Parameter für die Metermodule finden Sie unter So konfigurieren Sie die Verkehrssteuerung in der IPQoS-Konfigurationsdatei.
Informationen zum Aktivieren der IPQoS-Konfigurationsdatei finden Sie unter So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module.
Informationen zum Definieren von zusätzlichen Filtern finden Sie unter So definieren Sie Filter in der IPQoS-Konfigurationsdatei.
Informationen zum Erstellen von Klassen für Verkehrswerte von Anwendungen finden Sie unter So konfigurieren Sie die IPQoS-Konfigurationsdatei für einen Anwendungsserver.
Im nächsten Verfahren wird gezeigt, wie Sie das Weiterleiten von Datenverkehr definieren, indem Sie Per-Hop-Behaviors für eine Klasse in die IPQoS-Konfigurationsdatei einfügen.
Bei diesem Verfahren wird davon ausgegangen, dass Sie bereits eine IPQoS-Konfigurationsdatei erstellt und Klassen und Filter definiert haben. Mit den folgenden Schritten wird die Datei /var/ipqos/Goldweb.qos aus Beispiel 34–1 erweitert.
In diesem Verfahren wird gezeigt, wie Sie Weiterleitung von Datenverkehr mithilfe des Markermoduls dscpmk konfigurieren. Informationen zum Weiterleiten von Datenverkehr in VLAN-Systemen mithilfe des Markers dlclosmk finden Sie unter Verwenden des Markers dlcosmk mit VLAN-Geräten.
Öffnen Sie die IPQoS-Konfigurationsdatei und suchen Sie das Ende des letzten von Ihnen definierten Filters.
Bei dem IPQoS-konformen Server Goldweb beginnen Sie z. B. hinter der filter-Klausel, die Sie in /var/ipqos/Goldweb.qos erstellt haben:
filter { name videoout sport videosrv direction LOCAL_OUT class video } } |
Beachten Sie, dass sich diese filter-Klausel am Ende action-Anweisung des ipgpc-Classifiers befindet. Aus diesem Grund benötigen Sie eine schließende geschweifte Klammer, um den Filter zu beenden und eine zweite schließende geschweifte Klammer, um die action-Anweisung zu beenden.
Rufen Sie den Marker mit der folgenden action-Anweisung auf.
action { module dscpmk name markAF11 |
Ruft das Markermodul dscpmk auf.
Benennt die action -Anweisung mit markAF11.
Die zuvor definierte Klasse goldweb umfasst eine next_action markAF11-Anweisung. Diese Anweisung sendet Verkehrswerte an die action-Anweisung markAF11, nachdem der Classifier die Verarbeitung beendet hat.
Definieren Sie Aktionen, die der Marker am Verkehrswert durchführen soll.
params { global_stats FALSE dscp_map{0-63:10} next_action continue } } |
Aktiviert die Erfassung von Statistiken für die Marker action-Anweisung markAF11. Da der Wert für enable_stats FALSE lautet, werden keine Statistiken erfasst.
Weist den Paket-Headern der Datenverkehrklasse goldweb, die momentan vom Marker verarbeitet werden, einen DSCP von 10 zu.
Gibt an, dass keine weitere Verarbeitung für die Pakete der Datenverkehrsklasse goldweb erforderlich sind, und dass diese Pakete in den Netzwerkdatenfluss zurückkehren können.
Der DSCP 10 weist den Marker an, alle Einträge in der dscp-Map auf den Dezimalwert 10 (binär 001010) zu setzen. Dieser Codepoint kennzeichnet, dass Pakete der Verkehrsklasse goldweb dem Per-Hop-Behavior AF11 unterliegen. AF11 stellt sicher, dass alle Pakete mit dem DSCP 10 einen low-drop-Service mit hoher Priorität erhalten. Somit erhält abgehender Datenverkehr für Premium-Kunden auf Goldweb die höchste Priorität, die für das Assured Forwarding (AF) PHB verfügbar ist. Eine Liste der möglichen DSCPs für AF finden Sie in Tabelle 37–2.
Starten Sie eine weitere Marker action-Anweisung.
action { module dscpmk name markEF |
Ruft das Markermodul dscpmk auf.
Benennt die action-Anweisung mit markEF.
Definieren Sie Aktionen, die der Marker am Verkehrswert durchführen soll.
params { global_stats TRUE dscp_map{0-63:46} next_action acct } } |
Aktiviert die Erfassung von Statistiken für die video-Klasse, die Streaming Video-Pakete auswählt.
Weist den Paket-Headern der Datenverkehrklasse video, die momentan vom Marker verarbeitet werden, einen DSCP von 46 zu.
Weist das dscpmk-Modul an, Pakete der video-Klasse an die action-Anweisung acct weiterzuleiten, nachdem dscpmk die Bearbeitung vollständig abgeschlossen hat. Die action-Anweisung acct ruft das flowacct-Modul auf.
Der DSCP 46 weist das dscpmk-Modul an, alle Einträge in der dscp-Map im DS-Feld auf den Dezimalwert 46 (binär 101110) zu setzen. Dieser Codepoint kennzeichnet, dass Pakete der Verkehrsklasse video dem Per-Hop-Behavior Expedited Forwarding (EF) unterliegen.
Der empfohlene Codepoint für EF ist 46 (binär 101110). Andere DSCPs weisen einem Paket AF PHBs zu.
Das EF PHB garantiert, dass Pakete mit einem DSCP von 46 von IPQoS- und Diffserv-konformen Systemen die höchste Prioritätsstufe erhalten. Streaming-Anwendungen erfordern einen Service mit höchster Priorität. Dies ist der Grund, warum Streaming-Anwendungen die EF PHBs in der QoS-Richtlinie zugeordnet sind. Weitere Einzelheiten zum Expedited Forwarding PHB finden Sie unter Expedited Forwarding (EF) PHB.
Fügen Sie die gerade erstellten DSCPs zu den entsprechenden Dateien auf dem Diffserv-Router hinzu.
Weitere Informationen hierzu finden Sie unter So konfigurieren Sie einen Router in einem IPQoS-konformen Netzwerk.
Informationen zum Erfassen von Flow Accounting-Statistiken bei Verkehrswerten finden Sie unter So aktivieren Sie das Accounting für eine Klasse in der IPQoS-Konfigurationsdatei.
Informationen zum Definieren des Weiterleitungsverhalten für die Markermodule finden Sie unter So definieren Sie das Weiterleiten von Datenverkehr in der IPQoS-Konfigurationsdatei.
Informationen zum Definieren der Flusskontrolle-Parameter für die Metermodule finden Sie unter So konfigurieren Sie die Verkehrssteuerung in der IPQoS-Konfigurationsdatei.
Informationen zum Aktivieren der IPQoS-Konfigurationsdatei finden Sie unter So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module.
Informationen zum Definieren von zusätzlichen Filtern finden Sie unter So definieren Sie Filter in der IPQoS-Konfigurationsdatei.
Informationen zum Erstellen von Klassen für Verkehrswerte von Anwendungen finden Sie unter So konfigurieren Sie die IPQoS-Konfigurationsdatei für einen Anwendungsserver.
Hier wird gezeigt, wie Sie das Accounting für eine Datenverkehrsklasse in der IPQoS-Konfigurationsdatei aktivieren. In dem Verfahren wird gezeigt, wie Sie das Flow Accounting für die video-Klasse definieren, die unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen eingeführt wurde. Diese Klasse wählt Streaming Video-Datenverkehr aus, der im Rahmen einer Premium-SLA eines Kunden berechnet werden muss.
Bei diesem Verfahren wird davon ausgegangen, dass Sie bereits eine IPQoS-Konfigurationsdatei erstellt und Klassen, Filter, Meteraktionen (sofern anwendbar) und Markerungsoptionen (sofern anwendbar) erstellt haben. Mit den folgenden Schritten wird die Datei /var/ipqos/Goldweb.qos aus Beispiel 34–1 erweitert.
Öffnen Sie die IPQoS-Konfigurationsdatei und suchen Sie das Ende der letzten von Ihnen definierten action-Anweisung.
Bei dem IPQoS-konformen Server Goldweb beginnen Sie z. B. hinter der action-Anweisung markEF in der Datei /var/ipqos/Goldweb.qos.
action { module dscpmk name markEF params { global_stats TRUE dscp_map{0-63:46} next_action acct } } |
Beginnen Sie eine action-Anweisung, mit der das Flow Accounting aufgerufen wird.
action { module flowacct name acct |
Ruft das Flow Accounting-Modul flowacct auf.
Benennt die action-Anweisung mit acct
Definieren Sie eine params-Klausel, um das Accounting in der Datenverkehrsklasse zu steuern.
params { global_stats TRUE timer 10000 timeout 10000 max_limit 2048 next_action continue } } |
Aktiviert die Erfassung von Statistiken für die video-Klasse, die Streaming Video-Pakete auswählt.
Gibt die Dauer des Intervalls in Millisekunden an, in dem die Flow-Tabelle nach abgelaufenen Flows gescannt wird. Bei diesem Parameter lautet das Intervall 10.000 ms.
Gibt das Mindestintervall für den Timeout-Wert an. Ein Flow „läuft ab“ (times out), wenn die Pakete für den Flow nicht innerhalb eines Timeout-Intervalls erfasst werden. Bei diesem Parameter laufen die Pakete nach 10.000 ms ab.
Richtet die Höchstzahl der aktiven Flow-Datensätze in der Flow-Tabelle für diese Aktionsinstanz ein.
Gibt an, dass keine weitere Verarbeitung für die Pakete der Datenverkehrsklasse video erforderlich sind, und dass diese Pakete in den Netzwerkdatenfluss zurückkehren können.
Das flowacct-Modul erfasst Statistiken zu den Paket-Flows einer bestimmten Klasse, bis ein festgelegter timeout-Wert erreicht ist.
Informationen zur Konfiguration der Per-Hop-Behaviors auf einem Router finden Sie unter So konfigurieren Sie einen Router in einem IPQoS-konformen Netzwerk.
Informationen zum Aktivieren der IPQoS-Konfigurationsdatei finden Sie unter So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module.
Informationen zum Erstellen von Klassen für Verkehrswerte von Anwendungen finden Sie unter So konfigurieren Sie die IPQoS-Konfigurationsdatei für einen Anwendungsserver.
Die IPQoS-Konfigurationsdatei für einen Beste Leistung-Webserver unterscheidet sich nur wenig von einer IPQoS-Konfigurationsdatei für einen Premium-Webserver. Als Beispiel wird im folgenden Verfahren die Konfigurationsdatei aus Beispiel 34–2 verwendet.
Melden Sie sich beim Beste Leistung-Webserver an.
Erstellen Sie eine neue IPQoS-Konfigurationsdatei mit der Erweiterung qos.
fmt_vesion 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE } |
Die Datei /var/ipqos/userweb.qos muss mit dem Teil einer action-Anweisung beginnen, die den ipgpc-Classifier aufruft. Darüber hinaus umfasst die action-Anweisung eine params-Klausel, um die Erfassung von Statistiken zu aktivieren. Eine Beschreibung dieser action-Anweisung finden Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen.
Definieren Sie eine Klasse, die den Datenverkehr identifiziert, der für den Beste Leistung-Server bestimmt ist.
class { name userweb next_action markAF12 enable_stats FALSE } |
Erstellt eine Klasse mit der Bezeichnung userweb zum Weiterleiten von Webverkehr von Benutzern.
Weist das ipgpc-Modul an, Pakete der userweb-Klasse an die action-Anweisung markAF12 zu übergeben, nachdem ipgpc die Bearbeitung vollständig abgeschlossen hat. Die action-Anweisung markAF12 ruft den dscpmk-Marker auf.
Aktiviert die Erfassung von Statistiken für die userweb-Klasse. Da der Wert für enable_stats FALSE lautet, werden keine Statistiken für diese Klasse erfasst.
Eine Beschreibung der class-Klausel finden Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen.
Definieren Sie eine filter-Klausel, um den Verkehrswert für die userweb-Klasse auszuwählen.
filter { name webout sport 80 direction LOCAL_OUT class userweb } } |
Benennt den Filter mit webout.
Wählt Datenverkehr mit dem Ursprungs-Port 80 aus, dem bekannten Port für HTTP (Web)-Verkehr.
Wählt außerdem Verkehr aus, der vom lokalen System abgeht.
Identifiziert die Klasse, zu der der Filter gehört, in diesem Fall die Klasse userweb.
Eine Beschreibung der filter-Klausel finden Sie unter So definieren Sie Filter in der IPQoS-Konfigurationsdatei.
Beginnen Sie die action-Anweisung, um den dscpmk-Marker aufzurufen.
action { module dscpmk name markAF12 |
Ruft das Markermodul dscpmk auf.
Benennt die action -Anweisung mit markAF12.
Die zuvor definierte Klasse userweb umfasst eine next_action markAF12-Anweisung. Diese Anweisung sendet Verkehrswerte an die action-Anweisung markAF12, nachdem der Classifier die Verarbeitung beendet hat.
Definieren Sie die Parameter für den Marker, die bei der Verarbeitung des Verkehrswerts verwendet werden.
params { global_stats FALSE dscp_map{0-63:12} next_action continue } } |
Aktiviert die Erfassung von Statistiken für die markAF12 Marker action-Anweisung. Da der Wert für enable_stats FALSE lautet, werden keine Statistiken erfasst.
Weist den Paket-Headern der Datenverkehrklasse userweb, die momentan vom Marker verarbeitet werden, einen DSCP von 12 zu.
Gibt an, dass keine weitere Verarbeitung für die Pakete der Datenverkehrsklasse userweb erforderlich sind, und dass diese Pakete in den Netzwerkdatenfluss zurückkehren können.
Der DSCP 12 weist den Marker an, alle Einträge in der dscp-Map auf den Dezimalwert 12 (binär 001100) zu setzen. Dieser Codepoint kennzeichnet, dass Pakete der Verkehrsklasse userweb dem Per-Hop-Behavior AF12 unterliegen. AF12 stellt sicher, dass alle Pakete mit dem DSCP 12 einen medium-drop-Service mit hoher Priorität erhalten.
Nachdem Sie die IPQoS-Konfigurationsdatei vollständig erstellt haben, übernehmen Sie die Konfiguration.
Informationen zum Hinzufügen von Klassen und der Konfiguration von Verkehrswerten anderer Anwendungen finden Sie unter So konfigurieren Sie die IPQoS-Konfigurationsdatei für einen Anwendungsserver.
Informationen zur Konfiguration der Per-Hop-Behaviors auf einem Router finden Sie unter So konfigurieren Sie einen Router in einem IPQoS-konformen Netzwerk.
Informationen zum Aktivieren der IPQoS-Konfigurationsdateien finden Sie unter So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module.
In diesem Abschnitt wird erklärt, wie Sie eine Konfigurationsdatei für einen Anwendungsserver erstellen, der Kunden wichtige Anwendungen bereitstellt. In diesem Verfahren wird der Server BigAPPS verwendet, der in Abbildung 33–4 vorgestellt wurde.
In der folgenden Konfigurationsdatei werden die IPQoS-Aktivitäten für den Server BigAPPS definiert. Dieser Server dient als Host für FTP, E-Mail (SMTP) und Network News (NNTP) für Kunden.
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE } class { name smtp enable_stats FALSE next_action markAF13 } class { name news next_action markAF21 } class { name ftp next_action meterftp } filter { name smtpout sport smtp class smtp } filter { name newsout sport nntp class news } filter { name ftpout sport ftp class ftp } filter { name ftpdata sport ftp-data class ftp } } action { module dscpmk name markAF13 params { global_stats FALSE dscp_map{0-63:14} next_action continue } } action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } } action { module tokenmt name meterftp params { committed_rate 50000000 committed_burst 50000000 red_action_name AF31 green_action_name markAF22 global_stats TRUE } } action { module dscpmk name markAF31 params { global_stats TRUE dscp_map{0-63:26} next_action continue } } action { module dscpmk name markAF22 params { global_stats TRUE dscp_map{0-63:20} next_action continue } }
Melden Sie sich beim IPQoS-konformen Anwendungsserver an und erstellen Sie eine neue IPQoS-Konfigurationsdatei mit der Erweitung .qos.
Beispielsweise können Sie die Datei /var/ipqos/BigAPPS.qos für den Anwendungsserver erstellen. Beginnen Sie mit den folgenden erforderlichen Phrasen, um die action-Anweisung zu starten, die den ipgpc-Classifier aufruft:
fmt_version 1.0 action { module ipgpc name ipgpc.classify params { global_stats TRUE } |
Eine Beschreibung der einleitenden action-Anweisung finden Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen.
Erstellen Sie Klassen, um den Verkehr von drei Anwendungen auf BigAPPS-Server auszuwählen.
Fügen Sie die Klassendefinitionen hinter der einleitenden action-Anweisung ein.
class { name smtp enable_stats FALSE next_action markAF13 } class { name news next_action markAF21 } class { name ftp enable_stats TRUE next_action meterftp } |
Erstellt eine Klasse namens smtp, die den E-Mail-Verkehrwert enthält, der von der SMTP-Anwendung verarbeitet wird.
Aktiviert die Erfassung von Statistiken für die smtp-Klasse. Da der Wert für enable_stats FALSE lautet, werden keine Statistiken für diese Klasse erfasst.
Weist das ipgpc-Modul an, Pakete der smtp-Klasse an die action-Anweisung markAF13 zu übergeben, nachdem ipgpc die Bearbeitung vollständig abgeschlossen hat.
Erstellt eine Klasse namens news, die den Network News-Verkehrswert enthält, der von der NNTP-Anwendung verarbeitet wird.
Weist das ipgpc-Modul an, Pakete der news-Klasse an die action-Anweisung markAF21 zu übergeben, nachdem ipgpc die Bearbeitung vollständig abgeschlossen hat.
Erstellt eine Klasse namens ftp, die den abgehenden Verkehr enthält, der von der FTP-Anwendung verarbeitet wird.
Aktiviert die Erfassung der Statistiken für die ftp-Klasse.
Weist das ipgpc-Modul an, Pakete der ftp-Klasse an die action-Anweisung meterftp zu übergeben, nachdem ipgpc die Bearbeitung vollständig abgeschlossen hat.
Weitere Informationen zum Definieren von Klassen finden Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen.
Definieren Sie filter-Klauseln, um den Datenverkehr der in Schritt 2 definierten Klassen auszuwählen.
filter { name smtpout sport smtp class smtp } filter { name newsout sport nntp class news } filter { name ftpout sport ftp class ftp } filter { name ftpdata sport ftp-data class ftp } } |
Benennt den Filter mit smtpout.
Wählt Datenverkehr mit dem Ursprungs-Port 25 aus, dem bekannten Port für die sendmail (SMTP)-Anwendung.
Identifiziert die Klasse, zu der der Filter gehört, in diesem Fall die Klasse smtp.
Benennt den Filter mit newsout.
Wählt Datenverkehr mit dem Ursprungs-Portnamen nntp aus, dem bekannten Portnamen für die Network News (NNTP)-Anwendung.
Identifiziert die Klasse, zu der der Filter gehört, in diesem Fall die Klasse news.
Benennt den Filter mit ftpout.
Wählt Steuerungsdaten mit dem Ursprungs-Port 21 aus, dem bekannten Port für FTP-Verkehr.
Benennt den Filter mit ftpdata.
Wählt Datenverkehr mit dem Ursprungs-Port 20 aus, dem bekannten Port für FTP-DatenVerkehr.
Identifiziert die Klasse, zu der die Filter ftpout und ftpdata gehören, in diesem Fall ftp.
Informationen zum Definieren von Filtern finden Sie unter So definieren Sie Filter in der IPQoS-Konfigurationsdatei.
Informationen zum Definieren des Weiterleitungsverhaltens für den Datenverkehr von Anwendungen finden Sie unter So konfigurieren Sie die Weiterleitung von Datenverkehr für Anwendungen in der IPQoS-Konfigurationsdatei.
Informationen zur Konfiguration der Verkehrssteuerung mithilfe von Metermodulen finden Sie unter So konfigurieren Sie die Verkehrssteuerung in der IPQoS-Konfigurationsdatei.
Informationen zur Konfiguration des Flow Accounting finden Sie unter So aktivieren Sie das Accounting für eine Klasse in der IPQoS-Konfigurationsdatei.
Im nächsten Verfahren wird gezeigt, wie die Weiterleitung für den Datenverkehr von Anwendungen konfiguriert wird. In diesem Verfahren definieren Sie die Per-Hop-Behaviors für die Datenverkehrsklassen von Anwendungen, die eventuell eine niedrigere Prioritätsstufe als anderer Datenverkehr im Netzwerk haben. Mit dem folgenden Schritten wird die Datei /var/ipqos/BigAPPS.qos aus Beispiel 34–3 erweitert.
Bei diesem Verfahren wird davon ausgegangen, dass Sie bereits eine IPQoS-Konfigurationsdatei erstellt und Klassen sowie Filter für die zu markierenden Anwendungen erstellt haben.
Öffnen Sie die IPQoS-Konfigurationsdatei, die Sie für den Anwendungsserver erstellt haben, und suchen Sie das Ende der letztenfilter-Klausel.
In der Datei /var/ipqos/BigAPPS.qos lautet der letzte Filter wie folgt:
filter { name ftpdata sport ftp-data class ftp } } |
Rufen Sie den Marker wie folgt auf:
action { module dscpmk name markAF13 |
Ruft das Markermodul dscpmk auf.
Benennt die action-Anweisung mit markAF13.
Definieren Sie das Per-Hop-Behavior, das in einem E-Mail-Verkehrswert markiert werden soll.
params { global_stats FALSE dscp_map{0-63:14} next_action continue } } |
Aktiviert die Erfassung von Statistiken für die markAF13 Marker action-Anweisung. Da der Wert für enable_stats FALSE lautet, werden keine Statistiken erfasst.
Weist den Paket-Headern der Datenverkehrklasse smtp, die momentan vom Marker verarbeitet werden, einen DSCP von 14 zu.
Gibt an, dass keine weitere Verarbeitung für Pakete der Datenverkehrsklasse smtp erforderlich ist. Diese Pakete können dann in den Netzwerkdatenfluss zurückkehren.
Der DSCP 14 weist den Marker an, alle Einträge in der dscp-Map auf den Dezimalwert 14 (binär 001110) zu setzen. Der DSCP von 14 richtet das Per-Hop-Behavior AF13 ein. Der Marker markiert Pakete der Datenverkehrsklasse smtp mit dem DSCP 14 im DS-Feld.
AF13 weist allen Paketen mit einem DSCP von 14 eine high-drop-Prioritätsstufe zu. Da AF13 jedoch eine Class 1-Priorität sicherstellt, garantiert der Router abgehendem E-Mail-Verkehr dennoch hohe Priorität in der Warteschlange. Eine Liste der möglichen AF-Codepoints finden Sie in Tabelle 37–2.
Fügen Sie eine Marker action-Anweisung hinzu, um ein Per-Hop-Behavior für den Network News-Datenverkehr zu definieren:
action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } } |
Benennt die action-Anweisung mit markAF21.
Weist den Paket-Headern der Datenverkehrklasse nntp, die momentan vom Marker verarbeitet werden, einen DSCP von 18 zu.
Der DSCP 18 weist den Marker an, alle Einträge in der dscp-Map auf den Dezimalwert 18 (binär 010010) zu setzen. Der DSCP von 18 richtet das Per-Hop-Behavior AF21 ein. Der Marker markiert Pakete der Datenverkehrsklasse news mit dem DSCP 18 im DS-Feld.
AF21 stellt sicher, dass alle Pakete mit dem DSCP 18 eine low-drop-Prioritätsstufe mit einer Class 2-Priorität erhalten. Somit ist die Wahrscheinlichkeit gering, dass Network News-Datenverkehr abgeworfen wird.
Informationen zum Hinzufügen von Konfigurationsinformationen für Webserver finden Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen.
Informationen zur Konfiguration der Verkehrssteuerung mithilfe von Metermodulen finden Sie unter So konfigurieren Sie die Verkehrssteuerung in der IPQoS-Konfigurationsdatei.
Informationen zur Konfiguration des Flow Accounting finden Sie unter So aktivieren Sie das Accounting für eine Klasse in der IPQoS-Konfigurationsdatei.
Informationen zur Konfiguration der Weiterleitungsverhalten auf einem Router finden Sie unter So konfigurieren Sie einen Router in einem IPQoS-konformen Netzwerk.
Informationen zum Aktivieren der IPQoS-Konfigurationsdatei finden Sie unter So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module.
Zum Steuern der Rate, mit der ein bestimmter Verkehrswert in das Netzwerk freigegeben wird, müssen Sie Parameter für den Meter definieren. Sie können eines der beiden Metermodule tokenmt und tswtclmt in der IPQoS-Konfigurationsdatei verwenden.
Im folgenden Verfahren wird die IPQoS-Konfigurationsdatei für den Anwendungsserver aus Beispiel 34–3 erweitert. In diesem Verfahren konfigurieren Sie nicht nur den Meter, sondern auch zwei Markeraktionen, die in der action-Anweisung für den Meter aufgerufen werden.
Bei diesen Schritten wird davon ausgegangen, dass Sie bereits eine Klasse sowie einen Filter für die Anwendung erstellt haben, deren Datenfluss gesteuert werden soll.
Öffnen Sie die IPQoS-Konfigurationsdatei, die Sie für den Anwendungsserver erstellt haben.
Beginnen Sie in der Datei /var/ipqos/BigAPPS.qos unter der folgenden Markeraktion:
action { module dscpmk name markAF21 params { global_stats FALSE dscp_map{0-63:18} next_action continue } } |
Erstellen Sie eine Meter action-Anweisung, um eine Flusskontrolle für den Datenverkehr der ftp-Klasse einzurichten.
action { module tokenmt name meterftp |
Ruft den Meter tokenmt auf.
Benennt die action-Anweisung mit meterftp.
Fügen Sie Parameter hinzu, um die Rate des Meters zu konfigurieren.
params { committed_rate 50000000 committed_burst 50000000 |
Weist eine Übertragungsrate von 50.000.000 Bit/s für den Datenverkehr der ftp-Klasse zu.
Übernimmt eine Burst-Größe von 50.000.000 Bit für den Datenverkehr der ftp-Klasse.
Eine Beschreibung der tokenmt-Parameter finden Sie unter Konfiguration von tokenmt als Two-Rate Meter.
Fügen Sie Parameter hinzu, um die Prioritätsstufe der Datenverkehrskonformität zu konfigurieren:
red_action markAF31 green_action_name markAF22 global_stats TRUE } } |
Gibt an, dass wenn der Verkehrswert der ftp-Klasse die Committed Rate überschreitet, Pakete an die markAF31 Marker action-Anweisung gesendet werden.
Gibt an, dass wenn der Verkehrswert der ftp-Klasse der Committed Rate entspricht, Pakete an die action-Anweisung markAF22 gesendet werden.
Aktiviert die Erfassung der Messstatistiken für die ftp-Klasse.
Weitere Informationen zur Datenverkehrskonformität finden Sie unter Metermodul.
Fügen Sie eine Marker action-Anweisung hinzu, um ein Per-Hop-Behavior für nicht einen spezifikationsgerechten Verkehrswert der ftp-Klasse zuzuweisen.
action { module dscpmk name markAF31 params { global_stats TRUE dscp_map{0-63:26} next_action continue } } |
Ruft das Markermodul dscpmk auf.
Benennt die action-Anweisung mit markAF31.
Aktiviert die Erfassung der Statistiken für die ftp-Klasse.
Weist den Paket-Headern des Datenverkehr der ftp-Klasse einen DSCP von 26 zu, wenn dieser Datenverkehr die Committed Rate überschreitet.
Gibt an, dass keine weitere Verarbeitung für Pakete der Datenverkehrsklasse ftp erforderlich ist. Diese Pakete können dann in den Netzwerkdatenfluss zurückkehren.
Der DSCP 26 weist den Marker an, alle Einträge in der dscp-Map auf den Dezimalwert 26 (binär 011010) zu setzen. Der DSCP von 26 richtet das Per-Hop-Behavior AF31 ein. Der Marker markiert Pakete der Datenverkehrsklasse ftp mit dem DSCP 26 im DS-Feld.
AF31 stellt sicher, dass alle Pakete mit dem DSCP 26 eine low-drop-Prioritätsstufe mit einer Class 3-Priorität erhalten. Somit ist die Wahrscheinlichkeit gering, dass nicht spezifikationsgerechter FTP-Datenverkehr abgeworfen wird. Eine Liste der möglichen AF-Codepoints finden Sie in Tabelle 37–2.
Fügen Sie eine Marker action-Anweisung hinzu, um ein Per-Hop-Behavior für den ftp-Verkehrswert zuzuweisen, der der Committed Rate entspricht.
action { module dscpmk name markAF22 params { global_stats TRUE dscp_map{0-63:20} next_action continue } } |
Benennt die Marker action-Anweisung mit markAF22.
Weist den Paket-Headern des Datenverkehr der ftp-Klasse einen DSCP von 20 zu, wenn der ftp-Datenverkehr der Committed Rate entspricht.
Der DSCP 20 weist den Marker an, alle Einträge in der dscp-Map auf den Dezimalwert 20 (binär 010100) zu setzen. Der DSCP von 20 richtet das Per-Hop-Behavior AF22 ein. Der Marker markiert Pakete der Datenverkehrsklasse ftp mit dem DSCP 20 im DS-Feld.
AF22 stellt sicher, dass alle Pakete mit dem DSCP 20 eine medium-drop-Prioritätsstufe mit einer Class 2-Priorität erhalten. So wird für spezifikationsgerechtem FTP-Datenverkehr eine medium-drop-Prioritätsstufe im Vergleich zu anderen Datenströmen sichergestellt, die gleichzeitig vom PQoS-System freigegeben werden. Der Router weist Datenverkehrsklassen mit einer Class 1 medium-drop-Prioritätsstufe oder höher jedoch eine höhere Priorität bei der Weiterleitung zu. Eine Liste der möglichen AF-Codepoints finden Sie in Tabelle 37–2.
Fügen Sie die gerade für den Anwendungsserver erstellten DSCPs zu den entsprechenden Dateien auf dem Diffserv-Router hinzu.
Informationen zum Aktivieren der IPQoS-Konfigurationsdatei finden Sie unter So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module.
Informationen zum Hinzufügen von Konfigurationsinformationen für Webserver finden Sie unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen.
Informationen zur Konfiguration des Flow Accounting finden Sie unter So aktivieren Sie das Accounting für eine Klasse in der IPQoS-Konfigurationsdatei.
Informationen zur Konfiguration der Weiterleitungsverhalten auf einem Router finden Sie unter So konfigurieren Sie einen Router in einem IPQoS-konformen Netzwerk.
Um echte Differentiated Services bereitzustellen, müssen Sie einen Diffserv-konformen Router in Ihre Netzwerktopologie aufnehmen. Eine Beschreibung hierzu finden Sie unter Hardware-Strategien für das Diffserv-Netzwerk. Die tatsächlichen Schritte zur Konfiguration von Diffserv auf einem Router und zum Aktualisieren der Routerdateien sprengen jedoch den Umfang dieses Handbuchs.
Daher finden Sie hier nur allgemeine Schritte zur Koordinierung der Weiterleitungsinformationen zwischen verschiedenen IPQoS-konformen Systemen im Netzwerk und dem Diffserv-Router.
Im folgenden Verfahren wird die in Abbildung 33–4 vorgestellte Topologie als Beispiel verwendet.
Im folgenden Verfahren wird davon ausgegangen, dass die IPQoS-Systeme in Ihrem Netzwerk bereits konfiguriert sind, da Sie die vorherigen Aufgaben in diesem Kapitel ausgeführt haben.
Erstellen Sie eine Übersicht der Konfigurationsdateien aller IPQoS-konformen Systeme in Ihrem Netzwerk.
Identifizieren Sie jeden Codepoint, der in den verschiedenen QoS-Richtlinien verwendet wird.
Erstellen Sie eine Liste der Codepoints sowie der Systeme und Klassen, für die die Codepoints gelten. Die folgende Tabelle zeigt Bereiche, in denen Sie eventuell den gleichen Codepoint verwenden. Diese Vorgehensweise ist akzeptabel. Sie sollten jedoch weitere Kriterien in der IPQoS-Konfigurationsdatei bereitstellen, z. B. einen Selektor für die Prioritätsstufe, um die Prioritätsstufe identisch markierter Klassen zu bestimmen.
Für das in den Verfahren dieses Kapitels verwendeten Beispielnetzwerk können Sie die folgende Codepoint-Tabelle erstellen.
System |
Klasse |
PHB |
DS Codepoint |
---|---|---|---|
Goldweb |
video |
EF |
46 (101110) |
Goldweb |
goldweb |
AF11 |
10 (001010) |
Userweb |
webout |
AF12 |
12 ( 001100) |
BigAPPS |
smtp |
AF13 |
14 ( 001110) |
BigAPPS |
news |
AF18 |
18 ( 010010) |
BigAPPS |
ftp-spezifikationsgerechter Datenverkehr |
AF22 |
20 ( 010100) |
BigAPPS |
ftp-nicht spezifikationsgerechter Datenverkehr |
AF31 |
26 ( 011010) |
Fügen Sie die Codepoints aus den IPQoS-Konfigurationsdateien Ihres Netzwerks zu den entsprechenden Dateien auf dem Diffserv-Router hinzu.
Die von Ihnen angegebenen Codepoints helfen bei der Konfiguration des Diffserv-Scheduling-Mechanismus des Routers. Weitere Hinweise entnehmen Sie bitte der Dokumentation des Router-Herstellers sowie dessen Websites.
Dieses Kapitel enthält Aufgaben zum Aktivieren einer IPQoS-Konfigurationsdatei sowie zum Protokollieren von IPQoS-bezogenen Ereignissen. Es umfasst die folgenden Themen:
In diesem Abschnitt sind Aufgaben zum Starten und Verwalten des IPQoS auf einem Oracle Solaris-System beschrieben. Bevor Sie diese Aufgaben durchführen können, müssen Sie eine vollständige IPQoS-Konfigurationsdatei erstellt haben. Informationen hierzu finden Sie unter Definieren einer QoS-Richtlinie in der IPQoS-Konfigurationsdatei (Übersicht der Schritte).
In der folgenden Tabelle werden diese Aufgaben aufgeführt und beschrieben. Außerdem enthält die Tabelle Links zu den Abschnitten, in denen beschrieben ist, wie diese Aufgaben ausgeführt werden.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
1. Konfiguration von IPQoS auf einem System. |
Geben Sie den Befehl ipqosconf ein, um die IPQoS-Konfigurationsdatei auf einem System zu aktivieren. |
So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module |
2. Konfiguration der Oracle Solaris-Startskripten, so dass sie die geprüfte IPQoS-Konfigurationsdatei nach jedem Systemstart anwenden. |
Stellen Sie sicher, dass die IPQoS-Konfiguration bei jedem Systemstart übernommen wird. |
So stellen Sie sicher, dass die IPQoS-Konfiguration bei jedem Systemstart übernommen wird. |
3. Konfiguration von syslog zum Protokollieren für IPQoS. |
Fügen Sie einen Eintrag hinzu, um syslog zum Protokollieren von IPQoS-Nachrichten zu aktivieren. |
So aktivieren Sie die Protokollierung von IPQoS-Nachrichten während des Bootens. |
4. Bereinigen aller eventuell aufgetretenen IPQoS-Probleme. |
Beheben Sie alle eventuell aufgetretenen IPQoS-Probleme anhand der Fehlermeldungen. |
Lesen Sie dazu die Fehlermeldungen in Tabelle 35–1. |
Mit dem Befehl ipqosconf aktivieren und ändern Sie eine IPQoS-Konfiguration.
Geben Sie den Befehl ipqosconf ein, um die IPQoS-Konfigurationsdatei einzulesen und um die IPQoS-Module im UNIX-Kernel zu konfigurieren. Im folgenden Verfahren wird die unter Creating IPQoS Configuration Files for Web Servers erstellte Datei Erstellen von IPQoS-Konfigurationsdateien für Webserver als Beispiel verwendet. Ausführliche Informationen finden Sie in der Manpage ipqosconf(1M).
Nehmen Sie die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser bei dem IPQ-konformen System an.
Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.
Übernehmen Sie die neue Konfiguration.
# /usr/sbin/ipqosconf -a/var/ipqos/Goldweb.qos |
ipqosconf schreibt die Informationen aus der angegebenen IPQoS-Konfigurationsdatei in die IPQoS-Module im Oracle Solaris-Kernel. In diesem Beispiel werden die Inhalte der Datei /var/ipqos/Goldweb.qos für den aktuellen Oracle Solaris-Kernel übernommen.
Wenn Sie eine IPQoS-Konfigurationsdatei mit der Option -a übernehmen, gelten die Aktionen in der Datei nur für die aktuelle Sitzung.
Testen und bereinigen Sie die neue IPQoS-Konfiguration.
Verwenden Sie UNIX-Serviceprogramme, um das IPQo-Verhalten zu verfolgen und erfassen Sie Statistiken zu Ihrer IPQoS-Implementierung. Diese Informationen helfen Ihnen festzustellen, ob die Konfiguration gemäß den Erwartungen funktioniert.
Informationen zum Anzeigen von Statistiken zu den IPQoS-Modulen finden Sie unter Erfassen statistischer Informationen.
Informationen zum Protokollieren der ipqosconf-Nachrichten finden Sie unter Aktivieren von syslog zum Protokollieren von IPQoS-Nachrichten.
Informationen, wie Sie sicherstellen, dass die aktuelle IPQoS-Konfiguration bei jedem Systemstart übernommen wird, finden Sie unter So stellen Sie sicher, dass die IPQoS-Konfiguration bei jedem Systemstart übernommen wird.
Sie müssen explizit konfigurieren, dass eine IPQoS-Konfiguration bei jedem Neustart übernommen wird. Andernfalls gilt die aktuelle Konfiguration nur für die aktuelle Sitzung. Wenn IPQoS korrekt auf einem System arbeitet, führen Sie die folgenden Schritte aus, um sicherzustellen, dass die Konfiguration bei jedem Neustart übernommen wird.
Nehmen Sie die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser bei dem IPQ-konformen System an.
Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.
Prüfen Sie auf das Vorhandensein einer IPQoS-Konfiguration in den Kernel-Modulen.
# ipqosconf -l |
Wenn eine Konfiguration vorhanden ist, zeigt der Befehl ipqosconf die Konfiguration auf dem Bildschirm an. Wird keine Ausgabe angezeigt, übernehmen Sie die Konfiguration gemäß der Beschreibung unter So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module.
Stellen Sie sicher, dass die vorhandene IPQoS-Konfiguration bei jedem Neustart des IPQoS-Systems übernommen wird.
# /usr/sbin/ipqosconf -c |
Die Option -c sorgt dafür, dass die aktuelle IPQoS-Konfiguration in der Boot-Konfigurationsdatei /etc/inet/ipqosinit.conf vorhanden ist.
Zum Aufzeichnen von Nachrichten, die beim Booten von IPQoS erzeugt werden, müssen Sie die Datei /etc/syslog.conf wie im Folgenden gezeigt ändern.
Nehmen Sie die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser bei dem IPQ-konformen System an.
Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.
Öffnen Sie die Datei /etc/syslog.conf.
Fügen Sie den folgenden Text als letzten Eintrag in die Datei ein.
user.info /var/adm/messages |
Verwenden Sie Tabulatoren anstelle von Leerzeichen zwischen den Spalten.
Der Eintrag protokolliert alle Nachrichten, die von IPQoS beim Booten erzeugt werden, in der Datei /var/adm/messages.
Booten Sie das System neu, um die Nachrichten zu übernehmen.
Wenn Sie die /var/adm/messages nach einem Systemneustart anzeigen, könnte die Ausgabe die folgenden protokollierten IPQoS-Nachrichten enthalten.
May 14 10:44:33 ipqos-14 ipqosconf: [ID 815575 user.info] New configuration applied. May 14 10:44:46 ipqos-14 ipqosconf: [ID 469457 user.info] Current configuration saved to init file. May 14 10:44:55 ipqos-14 ipqosconf: [ID 435810 user.info] Configuration flushed. |
Eventuell werden auch die folgenden IPQoS-Fehlermeldungen in der /var/adm/messages-Datei des IPQoS-Systems angezeigt.
May 14 10:56:47 ipqos-14 ipqosconf: [ID 123217 user.error] Missing/Invalid config file fmt_version. May 14 10:58:19 ipqos-14 ipqosconf: [ID 671991 user.error] No ipgpc action defined. |
Eine Beschreibung dieser Fehlermeldungen finden Sie in Tabelle 35–1.
Dieser Abschnitt enthält von IPQoS erzeugte Fehlermeldungen sowie mögliche Abhilfemaßnahmen.
Tabelle 35–1 IPQoS-Fehlermeldungen
Fehlermeldung |
Beschreibung |
Lösung |
---|---|---|
Unbestimmte Aktion in Parameter Parametername Aktion Aktionsname |
Der in Parametername angegebene Aktionsname existiert nicht in der IPQoS-Konfigurationsdatei. |
Erstellen Sie die Aktion oder verweisen Sie auf eine andere vorhandene Aktion in dem Parameter. |
Aktion Aktionsname ist am Zyklus beteiligt. |
In der IPQoS-Konfigurationsdatei ist Aktionsname Teil eines Aktionszyklus, der laut IPQoS nicht zulässig ist. |
Ermitteln Sie den Aktionszyklus. Dann entfernen Sie einen der zyklischen Verweise aus der IPQoS-Konfigurationsdatei. |
Aktion Aktionsname wird von keiner anderen Aktion referenziert |
Eine nicht-ipgpc-Aktionsdefinition wurde von keiner anderen in der IPQoS-Konfiguration definierten Aktionen referenziert. Dies ist laut IPQoS nicht gestattet. |
Entfernen Sie die nicht referenzierte Aktion. Alternativ sorgen Sie dafür, dass eine andere Aktionsreferenz die derzeit nicht referenzierte Aktion referenziert. |
Fehlende/ungültige Konfigurationsdatei fmt_version |
Das Format der Konfigurationsdatei ist nicht als erster Eintrag der Datei angegeben. Dies ist jedoch eine Voraussetzung für IPQoS. |
Fügen Sie die Formatversion gemäß den Angaben unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen hinzu. |
Nicht unterstützte Konfigurationsdatei-Formatversion |
Die in der Konfigurationsdatei angegebene Formatversion wird nicht von IPQoS unterstützt. |
Ändern Sie die Formatversion zu fmt_version 1.0. Diese Formatversion ist zum Ausführen von Solaris 9 9/02 und höheren Versionen von IPQoS erforderlich. |
Keine ipgpc-Aktion definiert. |
Sie haben keine Aktion für den ipgpc-Classifier in der Konfigurationsdatei definiert. Dies ist jedoch eine Voraussetzung für IPQoS. |
Definieren Sie eine Aktion für ipgpc gemäß den Angaben unter So erstellen Sie eine IPQoS-Konfigurationsdatei und definieren Datenverkehrsklassen. |
Es kann keine Null-Konfiguration vorgenommen werden |
Als Sie ipqosconf -c zur Bestätigung einer Konfiguration ausführen wollten, war diese Rekonfiguration leer. Dies ist laut IPQoS nicht zulässig. |
Achten Sie darauf, eine Konfigurationsdatei zu übernehmen, bevor Sie versuchen, eine Konfiguration zu bestätigen. Anweisungen hierzu finden Sie unter So übernehmen Sie eine neue Konfigurationen für die IPQoS-Kernel-Module. |
Ungültige CIDR-Maske Zeile Zeilennummer |
In der Konfigurationsdatei haben Sie eine CIDR-Maske als Teil der IP-Adresse verwendet, die sich außerhalb des gültigen Bereichs für IP-Adressen befindet. |
Ändern Sie den Wert der Maske so, dass er sich im Bereich von 1–32 für IPv4 und 1–128 für IPv6 befindet. |
Adressmasken sind unzulässig für Hostnamen Zeile Zeilennummer |
In der Konfigurationsdatei haben Sie eine CIDR-Maske für einen Hostnamen definiert, der in IPQoS nicht zulässig ist. |
Entfernen Sie die Maske oder ändern Sie den Hostnamen zu einer IP-Adresse. |
Ungültiger Modulname, Zeile Zeilennummer |
In der Konfigurationsdatei ist der von Ihnen in einer action-Anweisung angegebenen Modulname ungültig. |
Prüfen Sie die richtige Schreibweise des Modulnamens. Eine Liste der IPQoS-Module finden Sie unter Tabelle 37–5. |
ipgpc-Aktion weist falschen Namen auf, Zeile Zeilennummer |
Der Name, den Sie der ipgpc-Aktion in der Konfigurationsdatei gegeben haben, ist nicht der erforderliche ipgpc.classify-Name. |
Benennen Sie die Aktion ipgpc.classify um. |
Zweite Parameterklausel nicht unterstützt, Zeile Zeilennummer |
In der Konfigurationsdatei haben Sie zwei Parameterklauseln für eine Aktion angegeben. Dies ist laut IPQoS nicht zulässig. |
Kombinieren Sie alle Parameter für die Aktion in einer Parameterklausel. |
Gleichnamige Aktion |
In der Konfigurationsdatei haben zwei Aktionen den gleichen Namen. |
Benennen Sie eine der Aktionen um, oder löschen Sie sie. |
Gleichnamiger Filter/Klasse in Aktion Aktionsname |
Sie haben zwei Filtern oder zwei Klassen in der gleichen Aktion denselben Namen gegeben. Dies ist in der IPQoS-Konfigurationsdatei nicht zulässig. |
Benennen Sie einen der Filter bzw. eine der Klassen um, oder löschen Sie sie. |
Unbestimmte Klasse in Filter Filtername Aktion Aktionsname |
In der Konfigurationsdatei verweist der Filter auf eine Klasse, die nicht in der Aktion definiert ist. |
Erstellen Sie die Klasse oder ändern Sie den Filterverweis auf eine bereits existierende Klasse. |
Unbestimmte Aktion in Klasse Klassenname Aktion Aktionsname |
Die Klasse verweist auf eine Aktion, die nicht in der Konfigurationsdatei definiert ist. |
Erstellen Sie die Aktion oder ändern Sie den Verweis auf eine bereits existierende Aktion. |
Ungültige Parameter für Aktion Aktionsname |
Einer der Parameter in der Konfigurationsdatei ist ungültig. |
Lesen Sie den Moduleintrag unter IPQoS-Architektur und das Diffserv-Modell für das Modul, das von der angegebenen Aktion aufgerufen wird. Alternativ lesen Sie die Manpage ipqosconf(1M). |
Obligatorischer Parameter fehlt für Aktion Aktionsname |
Ein für die Aktion erforderlicher Parameter ist in der Konfigurationsdatei nicht definiert. |
Lesen Sie den Moduleintrag unter IPQoS-Architektur und das Diffserv-Modell für das Modul, das von der angegebenen Aktion aufgerufen wird. Alternativ lesen Sie die Manpage ipqosconf(1M). |
In ipgpc wurde die max. Klassenanzahl erreicht |
Sie haben mehr Klassen als zulässig in der ipgpc-Aktion der IPQoS-Konfigurationsdatei angegeben. Die maximal zulässige Anzahl beträgt 10007. |
Prüfen Sie die Konfigurationsdatei und entfernen Sie unnötige Klassen. Alternativ heben Sie die maximale Klassenanzahl an, indem Sie der /etc/system-Datei den Eintrag ipgpc_max_classesAnzahl-an-Klassen hinzufügen. |
In der Aktion ipgpc wurde die max. Filteranzahl erreicht |
Sie haben mehr Filter als zulässig in der ipgpc-Aktion der IPQoS-Konfigurationsdatei angegeben. Die maximal zulässige Anzahl beträgt 10007. |
Prüfen Sie die Konfigurationsdatei und entfernen Sie unnötige Filter. Alternativ heben Sie die maximale Filteranzahl an, indem Sie der /etc/system-Datei den Eintrag ipgpc_max_filters Anzahl-an-Filtern hinzufügen. |
Ungültige/fehlende Parameter für Filter Filtername in Aktion ipgpc |
In der Konfigurationsdatei weist der Filter Filtername einen ungültigen oder fehlenden Parameter auf. |
Eine Liste der gültigen Parameter finden Sie in der Manpage ipqosconf(1M). |
Name darf nicht mit '!' beginnen, Zeile Zeilennummer |
Sie haben eine Aktion, ein Filter oder einen Klassennamen mit einem Ausrufezeichen (!) begonnen, was in IPQoS-Dateien nicht zulässig ist. |
Entfernen Sie das Ausrufezeichen oder benennen Sie die Aktion, Klasse bzw. den Filter um. |
Name überschreitet maximale Länge Zeile Zeilennummer |
Sie haben einen Namen für eine Aktion, eine Klasse oder einen Filter in der Konfigurationsdatei definiert, der die maximale Länge von 23 Zeichen überschreitet. |
Weisen Sie der Aktion, der Klasse oder dem Filter einen kürzeren Namen zu. |
Array-Deklaration Zeile Zeilennummer ist ungültig |
In der Konfigurationsdatei ist die Array-Deklaration für den Parameter in der Zeile Zeilennummer ungültig. |
Die korrekte Syntax der Array-Deklaration, die von der action-Anweisung mit dem ungültigen Array aufgerufen wird, finden Sie unter IPQoS-Architektur und das Diffserv-Modell. Alternativ lesen Sie die Manpage ipqosconf(1M). |
Zeichenkette in Anführungszeichen überschreitet Zeile, Zeile , Zeilennummer |
Diese Zeichenkette weist keine Beendigungs-Anführungszeichen in der gleichen Zeile auf. Dies ist in der Konfigurationsdatei erforderlich. |
Achten Sie darauf, dass die entsprechende Zeichenkette auf einer Zeile in der Konfigurationsdatei beginnt und endet. |
Ungültiger Wert, Zeile Zeilennummer |
Der in Zeilennummer der Konfigurationsdatei angegebene Wert wird für den Parameter nicht unterstützt. |
Gültige Werte für das Modul, das von der action-Anweisung aufgerufen wird, entnehmen Sie der Modulbeschreibung unter IPQoS-Architektur und das Diffserv-Modell. Alternativ lesen Sie die Manpage ipqosconf(1M). |
Nicht erkannter Wert, Zeile Zeilennummer |
Der Wert in Zeilennummer der Konfigurationsdatei ist kein unterstützter Aufzählungswert für diesen Parameter. |
Prüfen Sie, ob der Aufzählungswert für diesen Parameter korrekt ist. Eine Beschreibung des Moduls, das von der action-Anweisung mit der nicht erkannten Zeilennummer aufgerufen wurde, finden Sie unter IPQoS-Architektur und das Diffserv-Modell. Alternativ lesen Sie die Manpage ipqosconf(1M). |
Falsch formatierte Werteliste Zeile Zeilennummer |
Die in Zeilennummer der Konfigurationsdatei angegebene Aufzählung entspricht nicht der Spezifikationssyntax. |
Die korrekte Syntax für das Modul, das von der action-Anweisung mit der falsch formatierten Werteliste aufgerufen wurde, entnehmen Sie der Modulbeschreibung unter IPQoS-Architektur und das Diffserv-Modell. Alternativ lesen Sie die Manpage ipqosconf(1M). |
Doppelter Parameter Zeile Zeilennummer |
Ein doppelter Parameter wurde in Zeilennummer angegeben. Dies ist in der Konfigurationsdatei nicht zulässig. |
Entfernen Sie einen der doppelten Parameter. |
Ungültiger Aktionsname Zeile Zeilennummer |
Sie haben der Aktion in Zeilennummer der Konfigurationsdatei einen Namen gegeben, der den vordefinierten Namen „continue“ oder „drop“ verwendet.” |
Benennen Sie die Aktion um, so dass sie keinen vordefinierten Namen verwendet. |
Fehler bei Auflösung des Ursprungs-/Zielhostnamens für Filter in Zeile Zeilennummer, Filter wird ignoriert |
ipqosconf konnte die Ursprungs- oder Zieladresse nicht auflösen, die für den angegebenen Filter in der Konfigurationsdatei definiert wurde. Aus diesem Grund wird der Filter ignoriert. |
Wenn der Filter wichtig ist, versuchen Sie die Konfiguration zu einem späteren Zeitpunkt zu übernehmen. |
Inkompatible Adressversion Zeile Zeilennummer |
Die IP-Version der Adresse in Zeilennummer ist inkompatibel mit der Version einer zuvor angegebenen IP-Adresse oder dem Parameter ip_version. |
Ändern Sie die beiden widersprüchlichen Einträge, so dass sie kompatibel sind. |
Aktion in Zeile Zeilennummer hat den Namen wie die aktuell installierte Aktion, gilt aber für ein anderes Modul |
Sie versuchten, das Modul einer Aktion zu ändern, das bereits in der IPQoS-Konfiguration des Systems vorhanden ist. Dies ist nicht zulässig. |
Leeren Sie die aktuelle Konfiguration, bevor Sie die neue Konfiguration übernehmen. |
In diesem Kapitel wird beschrieben, wie Sie Informationen zum Accounting und Statistiken zum Datenverkehr beziehen, der von einem IPQoS-System verarbeitet wird. Folgende Themen werden behandelt:
Die folgende Tabelle enthält eine Liste der allgemeinen Aufgaben zum Beziehen von Informationen zu den Verkehrswerten mithilfe des flowacct-Moduls. Die Tabelle enthält Links zu den Verfahren zur Ausführung dieser Aufgaben.
Aufgabe |
Beschreibung |
Siehe |
---|---|---|
1. Erstellen einer Datei zur Aufnahme der Accounting-Informationen für Verkehrswerte. |
Geben Sie den Befehl acctadm ein, um eine Datei zu erstellen, in der die Ergebnisse der Verarbeitung durch flowacct aufgenommen werden. | |
2. Definieren der flowacct-Parameter in der IPQoS-Konfigurationsdatei. |
Definieren Sie Werte für die Parameter timer, timeout und max_limit. |
So aktivieren Sie das Accounting für eine Klasse in der IPQoS-Konfigurationsdatei |
Mit dem IPQoS-Modul flowacct können Sie Informationen zu Verkehrswerten sammeln. Beispielsweise können Sie Informationen zu den Ursprungs- und Zieladressen, der Anzahl an Paketen in einem Datenfluss und ähnliche Daten erfassen. Dieses Sammeln und Aufzeichnen von Informationen zu Datenströmen wird als Flow Accounting bezeichnet.
Die Ergebnisse des Flow Accounting von Datenverkehr einer bestimmten Klasse wird in einer Tabelle mit Flow-Datensätzen aufgezeichnet. Jeder Flow-Datensatz enthält eine Reihe von Attributen. Diese Attribute enthalten Daten zu den Verkehrswerten einer bestimmten Klasse über einen bestimmten Zeitraum. Eine Liste der flowacct-Attribute finden Sie in Tabelle 37–4.
Das Flow Accounting eignet sich besonders zur Rechnungsstellung für Kunden gemäß den Definitionen in ihren Service-Level Agreements (SLAs). Sie können das Flow Accounting auch zum Beziehen von Flussstatistiken für entscheidende Anwendungen verwenden. In diesem Abschnitt wird beschrieben, wie Sie das Modul flowacct mit der Extended Accounting-Funktion von Oracle Solaris verwenden, um Daten zu Verkehrswerten zu beziehen.
Neben den Informationen in diesem Kapitel können Sie in den folgenden Quellen nachlesen:
Informationen zum Erstellen einer action-Anweisung für das flowacct-Modul in der IPQoS-Konfigurationsdatei finden Sie unter So konfigurieren Sie die Verkehrssteuerung in der IPQoS-Konfigurationsdatei.
Informationen zur Funktionsweise des flowacct-Moduls finden Sie unter Classifier-Modul.
Technische Informationen finden Sie in der Manpage flowacct(7ipp).
Bevor Sie eine flowacct-Aktion zur IPQoS-Konfigurationsdatei hinzufügen, müssen Sie eine Datei für die Flow-Datensätze des flowacct-Moduls anlegen. Dafür verwenden Sie den Befehl acctadm. acctadm kann entweder allgemeine Attribute oder erweiterte Attribute in der Datei aufzeichnen. Eine Liste der flowacct-Attribute finden Sie in Tabelle 37–4. Ausführliche Informationen zum Befehl acctadm finden Sie in der Manpage acctadm(1M).
Nehmen Sie die Rolle eines Primäradministrators an, oder melden Sie sich als Superuser bei dem IPQ-konformen System an.
Die Rolle des Primäradministrators enthält das Primary Administrator-Profil. Informationen zum Erstellen von Rollen und Zuweisen von Rollen zu Benutzern finden Sie in Kapitel 2, Working With the Solaris Management Console (Tasks) in System Administration Guide: Basic Administration.
Erstellen Sie eine allgemeine Flow Accounting-Datei.
Im folgenden Beispiel wird gezeigt, wie Sie eine allgemeine Flow Accounting-Datei für den Premium-Webserver erstellen, der in Beispiel 34–1 konfiguriert wurde.
# /usr/sbin/acctadm -e basic -f /var/ipqos/goldweb/account.info flow |
Ruft acctadm mit der Option -e auf. Die Option -e ermöglicht, dass weitere Argumente eingegeben werden können.
Gibt an, dass nur Daten für die acht allgemeinen flowacct-Attribute in der Datei aufgezeichnet werden.
Der vollständig qualifizierte Pfad zu der Datei, in der die Flow-Datensätze des flowacct -Moduls aufgezeichnet werden.
Weist acctadm an, dass Flow Accounting zu aktivieren.
Zeigen Sie Informationen zum Flow Accounting auf dem IPQoS-System an, indem Sie den Befehl acctadm ohne weitere Argumente eingeben.
acctadm erzeugt die folgende Ausgabe:
Task accounting: inactive Task accounting file: none Tracked task resources: none Untracked task resources: extended Process accounting: inactive Process accounting file: none Tracked process resources: none Untracked process resources: extended,host,mstate Flow accounting: active Flow accounting file: /var/ipqos/goldweb/account.info Tracked flow resources: basic Untracked flow resources: dsfield,ctime,lseen,projid,uid
Alle Einträge außer den letzten vier werden für die Funktion Solaris Resource Manager verwendet. In der folgenden Tabelle werden die speziell für IPQoS geltenden Einträge beschrieben.
Eintrag |
Beschreibung |
---|---|
Flow accounting: active |
Gibt an, dass das Flow Accounting aktiviert ist. |
Flow accounting file: /var/ipqos/goldweb/account.info |
Gibt den Namen der aktuellen Flow Accounting-Datei an. |
Tracked flow resources: basic |
Gibt an, dass nur allgemeine Datenflussattribute aufgezeichnet werden. |
Untracked flow resources: dsfield,ctime,lseen,projid,uid |
Erstellt eine Liste der flowacct-Attribute, die nicht in der Datei aufgezeichnet werden. |
(Optional) Fügen Sie erweiterte Attribute zur Accounting-Datei hinzu.
# acctadm -e extended -f /var/ipqos/goldweb/account.info flow |
(Optional) Kehren Sie zur Aufzeichnung nur der allgemeinen Attribute in der Accounting-Datei zurück.
# acctadm -d extended -e basic -f /var/ipqos/goldweb/account.info |
Die Option -d deaktiviert das Extended Accounting.
Zeigen Sie den Inhalt einer Flow Accounting-Datei an.
Anweisungen zum Anzeigen des Inhalts einer Flow Accounting-Datei finden Sie unter Perl-Schnittstelle für libexacct in Systemverwaltungshandbuch: Oracle Solaris Container – Ressourcenverwaltung und Solaris Zones.
Ausführliche Informationen zum Extended Accounting finden Sie in Kapitel 4, Einführung in das Extended Accounting in Systemverwaltungshandbuch: Oracle Solaris Container – Ressourcenverwaltung und Solaris Zones.
Informationen zum Definieren der flowacct-Parameter in der IPQoS-Konfigurationsdatei finden Sie unter So aktivieren Sie das Accounting für eine Klasse in der IPQoS-Konfigurationsdatei.
Informationen zum Drucken der Daten in der Datei, die mit dem Befehl acctadm erstellt wurde, finden Sie in Perl-Schnittstelle für libexacct in Systemverwaltungshandbuch: Oracle Solaris Container – Ressourcenverwaltung und Solaris Zones.
Mit dem Befehl kstat können Sie Statistiken zu dem IPQoS-Modulen erzeugen. Verwenden Sie die folgende Syntax:
/bin/kstat -m ipqos-module-name |
Sie können jeden gültigen IPQoS-Modulnamen angeben. Eine Liste gültiger Namen finden Sie in Tabelle 37–5. Um beispielsweise Statistiken anzuzeigen, die von dem dscpmk-Marker erzeugt wurden, geben Sie den folgenden kstat-Befehl ein:
/bin/kstat -m dscpmk |
Technische Informationen finden Sie in der Manpage kstat(1M).
Im Folgenden finden Sie ein Beispiel mögliche Ergebnisse des Befehls kstat zum Beziehen von Statistiken zum flowacct-Modul.
# kstat -m flowacct module: flowacct instance: 3 name: Flowacct statistics class: flacct bytes_in_tbl 84 crtime 345728.504106363 epackets 0 flows_in_tbl 1 nbytes 84 npackets 1 snaptime 345774.031843301 usedmem 256 |
Gibt den Namen der Klasse an, zu dem der Verkehrswert gehört; in diesem Fall flacct.
Die Gesamtzahl an Byte in der Flow-Tabelle. Gesamtzahl an Byte ist die Summe der Byte aller Flow-Datensätze, die derzeit in der Flow-Tabelle aufgezeichnet sind. Die Gesamtanzahl der Bytes für diese Flow-Tabelle ist 84. Wenn in der Tabelle keine Flows vorhanden sind, ist der Wert für bytes_in_tbl gleich 0.
Die letzte Uhrzeit, zu der eine kstat-Ausgabe erzeugt wurde.
Die Anzahl an Paketen, die während der Verarbeitung zu einem Fehler führten, in diesem Beispiel 0.
Anzahl der Flow-Datensätze in der Flow-Tabelle (in diesem Beispiel 1). Wenn in der Tabelle keine Datensätze vorhanden sind, ist der Wert für flows_in_tbl gleich 0.
Die Gesamtzahl an Byte, die von dieser Instanz der flowacct-Aktion erfasst wurden, in diesem Beispiel 84. Dieser Wert umfasst die Byte, die derzeit in der Flow-Tabelle vorhanden sind. Dieser Wert schließt darüber hinaus alle Byte ein, für die ein Timeout aufgetreten ist und die nicht länger in der Flow-Tabelle vorhanden sind.
Die Gesamtzahl an Paketen, die von dieser Instanz der flowacct-Aktion erfasst wurden, in diesem Beispiel 1. npackets umfasst auch die Pakete, die derzeit in der Flow-Tabelle vorhanden sind. npackets umfasst auch Pakete, für die ein Timeout aufgetreten ist und die nicht mehr in der Flow-Tabelle vorhanden sind.
Byte im Hauptspeicher, die von der Flow-Tabelle verwendet werden und von dieser flowacct-Instanz verwaltet werden. Der usedmem-Wert beträgt in diesem Beispiel 256. Der Wert für usedmem beträgt 0, wenn die Flow-Tabelle keine Flow-Datensätze enthält.
Dieses Kapitel enthält Referenzmaterialien mit ausführlichen Informationen zu den folgenden IPQoS-Themen:
Eine Übersicht zu IPQoS finden Sie in Kapitel 32Einführung in IPQoS (Übersicht). Informationen zur Planung von IPQoS finden Sie in Kapitel 33Planen eines IPQoS-konformen Netzwerks (Aufgaben). Verfahren zur Konfiguration von IPQoS finden Sie in Kapitel 34Erstellen der IPQoS-Konfigurationsdatei (Aufgaben).
In diesem Abschnitt werden die IPQoS-Architektur und die Einflüsse von IPQoS auf das Differentiated Services (Diffserv)-Modell beschrieben, das unter RFC 2475, An Architecture for Differentiated Services definiert ist. In IPQoS sind die folgenden Elemente des Diffserv-Modells enthalten:
Classifier (Klassierer)
Meter (Zähler)
Marker (Zeiger)
Darüber hinaus umfasst IPQoS das Flow Accounting-Modul und den dlcosmk-Marker für die Verwendung mit Geräten für virtuelle lokale Netzwerke (VLANs).
Im Diffserv-Modell ist ein Classifier für die Strukturierung der ausgewählten Verkehrswerte in Gruppen verantwortlich, an denen unterschiedliche Serviceebenen angewendet werden. Die in RFC 2475 definierten Classifier wurden ursprünglich für Grenzrouter konzipiert. Der IPQoS-Classifier ipgpc dient jedoch zur Verarbeitung von Verkehrswerten auf Hosts, die sich in einem lokalen Netzwerk befinden. Somit kann ein Netzwerk mit IPQoS-Systemen und einem Diffserv-Router mehr Differentiated Services bereitstellen. Eine technische Beschreibung des ipgpc-Classifiers finden Sie in der Manpage ipgpc(7ipp).
Der ipgpc-Classifier führt Folgendes aus:
Wählt Verkehrswerte aus, der den in der IPQoS-Konfigurationsdatei auf dem IPQoS-konformen Systemen angegebenen Kriterien entsprechen
Die QoS-Richtlinie definiert verschiedene Kriterien, die in den Paket-Headern vorhanden sein müssen. Diese Kriterien werden als Selektoren bezeichnet. Der ipgpc-Classifier vergleicht diese Selektoren mit den Paket-Headern, die vom IPQoS-System empfangen wurden. ipgpc wählt dann alle übereinstimmenden Pakete aus.
Teilt den Paketverkehr in Klassen (Netzverkehr mit den gleichen Eigenschaften) gemäß der Definition in der IPQoS-Konfigurationsdatei auf
Prüft den Wert im Differentiated Service (DS)-Feld des Pakets auf das Vorhandensein eines Differentiated Services Codepoint (DSCP)
Das Vorhandensein des DSCP gibt an, ob der eingehende Verkehr vom Sender mit einem Weiterleitungsverhalten versehen wurde.
Ermittelt, welche weitere Aktion in der IPQoS-Konfigurationsdatei für die Pakete einer bestimmten Klasse definiert wurde
Übergibt die Pakete an das nächste in der IPQoS-Konfigurationsdatei angegebene IPQoS-Modul, gibt die Pakete an den Netzwerkdatenfluss zurück
Eine Übersicht zu diesem Classifier finden Sie unter Classifier (ipgpc) – Übersicht. Informationen zum Aufrufen des Classifiers in der IPQoS-Konfigurationsdatei finden Sie unter IPQoS-Konfigurationsdatei.
Der ipgpc-Classifier unterstützt verschiedene Selektoren, die Sie in der filter-Klausel der IPQoS-Konfigurationsdatei angeben können. Wenn Sie einen Filter definieren, verwenden Sie immer die Mindestanzahl an Selektoren, die zum erfolgreichen Abrufen von Datenverkehr für eine bestimmte Klasse erforderlich ist. Die Anzahl der von Ihnen definierten Filter kann sich auf die IPQoS-Performance auswirken.
In der folgenden Tabelle sind die für ipgpc verfügbaren Selektoren aufgeführt.
Tabelle 37–1 Filter-Selektoren für den IPQoS-Classifier
Selektor |
Argument |
Ausgewählte Informationen |
---|---|---|
saddr |
IP-Adressnummer. |
Quelladresse. |
daddr |
IP-Adressnummer. |
Zieladresse. |
sport |
Entweder eine Portnummer oder ein Servicename gemäß der Definition in /etc/services. |
Ursprungsport, von dem die Verkehrsklasse stammt. |
dport |
Entweder eine Portnummer oder ein Servicename gemäß der Definition in /etc/services. |
Zielport, für den die Verkehrsklasse bestimmt ist. |
protocol |
Entweder eine Protokollnummer oder ein Protokollname gemäß der Definition in /etc/protocols. |
Protokoll, das von dieser Verkehrsklasse verwendet werden muss. |
dsfield |
DS Codepoint (DSCP) mit einem Wert zwischen 0 und 63. |
DSCP, der das Weiterleitungsverhalten für das Paket definiert. Wenn dieser Parameter angegeben ist, muss auch der Parameter dsfield_mask angegeben sein. |
dsfield_mask |
Bitmaske mit einem Wert zwischen 0 und 255. |
Wird zusammen mit dem Selektor dsfield verwendet. dsfield_mask wird an dem Selektor dsfield angewendet, um festzustellen, welche Bit übereinstimmen müssen. |
if_name |
Schnittstellenname. |
Schnittstelle, die entweder für eingehenden oder abgehenden Verkehr einer bestimmten Klasse verwendet werden muss. |
user |
Nummer der auszuwählenden UNIX-Benutzer-ID bzw. des auszuwählenden Benutzernamens. Wenn keine Benutzer-ID oder Benutzername im Paket vorhanden ist, wird der Standardwert –1 verwendet. |
Die Benutzer-ID wird an eine Anwendung übermittelt. |
projid |
Nummer der auszuwählenden Projekt-ID. |
Die Projekt-ID wird an eine Anwendung übermittelt. |
priority |
Prioritätsnummer. Die niedrigste Priorität ist 0. |
Priorität, die Pakete dieser Klasse zugewiesen wird. Die Priorität dient zum Bestimmen der Wichtigkeit von Filtern für die gleiche Klasse. |
direction |
Argumente können eines der Folgenden sein: |
Richtung des Paketflusses auf dem IPQoS-Computer. |
LOCAL_IN |
Eingehender lokaler Verkehr zum IPQoS-System. |
|
LOCAL_OUT |
Abgehender lokaler Verkehr zum IPQoS-System. |
|
FWD_IN |
Eingehender, weiterzuleitender Verkehr. |
|
FWD_OUT |
Abgehender, weiterzuleitender Verkehr. |
|
precedence |
Wert der Prioritätsstufe. Die höchste Prioritätsstufe ist 0. |
Die Prioritätsstufe dient zum Sortieren von Filtern mit der gleichen Priorität. |
ip_version |
V4 oder V6 |
Von den Paketen verwendetes Adressierungsschema, entweder IPv4 oder IPv6. |
Ein Meter verfolgt die Übertragungsrate von Datenströmen auf Paketbasis. Der Meter bestimmt, ob das Paket den konfigurierten Parametern entspricht. Das Metermodul bestimmt die nächste Aktion für ein Paket aus einer Reihe von Aktionen. Diese Aktion hängt von der Paketgröße, den konfigurierten Parametern und der Datenflussrate ab.
Der Meter besteht aus Metermodulen, tokenmt und tswtclmt, die Sie in der IPQoS-Konfigurationsdatei definieren. Sie können entweder ein Modul oder beide für eine Klasse konfigurieren.
Bei der Konfiguration eines Metermoduls können Sie zwei Parameter für die Rate definieren:
committed-rate – Definiert die akzeptable Übertragungsrate in Bit pro Sekunde für Pakete einer bestimmten Klasse
peak-rate – Definiert die maximale Übertragungsrate im Bit pro Sekunde, die für Pakete einer bestimmten Klasse zulässig ist
Eine Messaktion an einem Paket kann zu einem von drei möglichen Ergebnissen führen:
grün – Das Paket führt dazu, dass der Datenfluss innerhalb der committed rate bleibt.
gelb – Das Paket führt dazu, dass der Datenfluss die committed rate übersteigt, aber unter der peak rate bleibt.
rot – Das Paket führt dazu, dass der Datenfluss die peak rate übersteigt.
Sie können jedes Ergebnis mit anderen Aktionen in der IPQoS-Konfigurationsdatei konfigurieren. Committed rate und peak rate werden im folgenden Abschnitt erklärt.
Das tokenmt-Modul verwendet token buckets, um die Übertragungsrate eines Datenflusses zu messen. Sie können tokenmt als Single-Rate- oder Two-Rate-Meter konfigurieren. Eine tokenmt-Aktionsinstanz verwaltet zwei Token Buckets, die feststellen, ob der Verkehrswert den konfigurierten Parametern entspricht.
Wie IPQoS das Token Meter-Paradigma umsetzt wird in der Manpage tokenmt(7ipp) beschrieben. Allgemeine Informationen zu Token Buckets finden Sie in Kalevi Kilkki's Differentiated Services for the Internet und auf verschiedenen anderen Websites.
Die Konfigurationsparameter für tokenmt sind:
committed_rate – Legt die committed rate für den Datenfluss in Bit pro Sekunde fest.
committed_burst – Legt die committed burst-Größe in Bit fest. Der committed_burst-Parameter legt fest, wie viele abgehende Pakete einer bestimmten Klasse bei committed rate in das Netzwerk passieren können.
peak_rate – Legt die peak rate in Bit pro Sekunde fest.
peak_burst – Legt die peak oder excess burst-Größe in Bit fest. Der peak_burst-Parameter gewährt einer Verkehrsklasse eine peak-burst-Größe, die die committed rate übersteigt.
color_aware – Aktiviert den Erkennungsmodus für tokenmt.
color_map – Definiert ein Array mit ganzen Zahlen, das DSCP-Werte den Farben grün, gelb und rot zuordnet.
Um tokenmt als einen Single-Rate Meter zu konfigurieren, geben Sie keinen peak_rate-Parameter für tokenmt in der IPQoS-Konfigurationsdatei an. Damit eine Single-Rate tokenmt-Instanz das Ergebnis rot, grün oder gelb liefert, müssen Sie den peak_burst-Parameter angeben. Wenn Sie den peak_burst-Parameter nicht verwenden, kann tokenmt als Ergebnis nur rot oder grün liefern. Ein Beispiel für eine Single-Rate tokenmt mit zwei Ergebnissen finden Sie in Beispiel 34–3.
Wenn tokenmt als Single-Rate Meter eingesetzt wird, ist der peak_burst-Parameter tatsächlich die excess burst-Größe. committed_rate und entweder committed_burst oder peak_burst müssen positive ganze Zahlen ungleich Null sein.
Um tokenmt als einen Two-Rate Meter zu konfigurieren, geben Sie einen peak_rate-Parameter für tokenmt in der IPQoS-Konfigurationsdatei an. Eine Two-Rate tokenmt-Instanz hat immer drei mögliche Ergebnisse: rot, gelb und grün. Die Parameter committed_rate, committed_burst und peak_burst müssen positive ganze Zahlen ungleich Null sein.
Damit eine Two-Rate tokenmt-Instanz Farben erkennen kann, müssen Sie zwei Parameter für die „Farberkennung„ spezifisch hinzufügen. Im Folgenden finden Sie ein Beispiel für eine action-Anweisung, die tokenmt zur Erkennung von Farben konfiguriert.
action { module tokenmt name meter1 params { committed_rate 4000000 peak_rate 8000000 committed_burst 4000000 peak_burst 8000000 global_stats true red_action_name continue yellow_action_name continue green_action_name continue color_aware true color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW} } }
Sie aktivieren die Farberkennung, indem Sie den color_aware-Parameter auf true setzen. Als farbempfindliches Metermodul geht tokenmt davon aus, dass das Paket bereits in einer früheren tokenmt-Aktion mit rot, gelb oder grün markiert wurde. Ein farbbewusstes tokenmt-Modul wertet ein Paket aus, indem es den DSCP im Paket-Header zusätzlich zu den Parameter für ein Two-Rate Meter verwendet.
Der color_map-Parameter enthält ein Array, in dem der DSCP im Paket-Header zugeordnet ist. Betrachten Sie das folgende color_map-Array:
color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW}
Pakete mit einem DSCP zwischen 0 und 20 sowie 22 werden „grün“ zugeordnet. Pakete mit einem DSCP von 21 und zwischen 23 und 42 sind „rot“ zugeordnet. Pakete mit einem DSCP zwischen 43 und 63 sind„gelb“ zugeordnet. tokenmt unterhält eine Standard-Farbkarte. Sie können die Standardeinstellungen jedoch Ihren Anforderungen entsprechend mit den color_map-Parameter anpassen.
In den color_action_name-Parameter können Sie continue angeben, um die Verarbeitung des Pakets abzuschließen. Oder Sie fügen ein Argument hinzu, um das Paket an eine Marker-Aktion zu senden, beispielsweise an yellow_action_name mark22.
Das Metermodul tswtclmt schätzt die durchschnittliche Bandbreite einer Verkehrsklasse mithilfe eines Zeit-basierten Rate Estimator. tswtclmt wird immer als Three-Outcome Meter eingesetzt. Der Rate Estimator bietet eine Schätzung des eingehenden Datenverkehrs. Diese Rate muss etwa der laufenden durchschnittlichen Bandbreite des Datenflusses über eine bestimmte Zeit, dem Zeitfenster entsprechen. Der Rate Estimation-Algorithmus stammt aus RFC 2859, A Time Sliding Window Three Colour Marker.
Zur Konfiguration von tswtclmt verwenden Sie die folgenden Parameter:
committed_rate – Legt die Committed Rate in Bit pro Sekunde fest
peak_rate – Legt die Peak Rate in Bit pro Sekunde fest
window – Definiert das Zeitfenster in Millisekunden, über das der Verlauf der durchschnittlichen Bandbreite erfasst wird
Technische Informationen zu tswtclmt finden Sie in der Manpage tswtclmt(7ipp) Allgemeine Information zu Rate Shapern, die ähnlich zu tswtclmt sind, finden Sie unter RFC 2963, A Rate Adaptive Shaper for Differentiated Services.
IPQoS umfasst die zwei Markermodule dscpmk und dlcosmk. In diesem Abschnitt wird beschrieben, wie Sie mit den beiden Markern arbeiten. Normalerweise verwenden Sie dscpmk, da dlcosmk nur für IPQoS-Systeme mit VLAN-Geräten zur Verfügung steht.
Technische Informationen zu dscpmk finden Sie in der Manpage dscpmk(7ipp). Technische Informationen zu dlcosmk finden Sie in der Manpage dlcosmk(7ipp).
Der Marker empfängt Verkehrswerte, nachdem die Ströme von einem Classifier oder den Metermodulen verarbeitet wurden. Der Marker makiert den Datenverkehr mit einem Weiterleitungsverhalten. Dieses Weiterleitungsverhalten ist die Aktion, die an Datenströmen vorgenommen wird, nachdem die Datenströme das IPQoS-System verlassen haben. Das Weiterleitungsverhalten für eine Datenverkehrsklasse ist in dem Per-Hop-Behavior (PHB) festgelegt. Das PHB weist einer Datenverkehrsklasse eine bestimmte Priorität zu, die den Rang der Datenstöme einer Klasse gegenüber anderen Verkehrsklassen anzeigt. PHBs überwacht nur das Weiterleitungsverhalten in dem an das IPQoS-System angrenzenden Netzwerk. Weitere Informationen zu PHBs finden Sie unter Per-Hop-Behaviors.
Paketweiterleitung ist der Prozess des Sendens von Datenverkehr einer bestimmten Klasse an das nächste Ziel in einem Netzwerk. Bei einem Host wie einem IPQoS-System wird ein Paket vom Host an den lokalen Netzwerkdatenfluss weitergeleitet. Bei einem Diffserv-Router wird ein Paket von lokalen Netzwerk an den nächsten Hop des Routers weitergeleitet.
Der Marker markiert das DS-Feld im Paket-Header mit einem bekannten Weiterleitungsverhalten, das in der IPQoS-Konfigurationsdatei definiert ist. Danach leiten das IPQoS-System und nachfolgende Diffserv-konforme Systeme den Verkehr gemäß der Angabe im DS-Feld weiter, bis die Markierung geändert wird. Um ein PHB zuzuweisen, markiert das IPQoS-System einen Wert im DS-Feld des Paket-Headers. Dieser Wert wird als der Differentiated Services Codepoint (DSCP) bezeichnet. Die Diffserv-Architektur definiert zwei Arten von Weiterleitungsverhalten, EF und AF, die unterschiedliche DSCPs verwenden. Eine Einführung in DSCPs finden Sie unter DS Codepoint.
Das IPQoS-System liest den DSCP für den Verkehrswert ein und wertet die Prioritätsstufe des Datenflusses in Relation zu anderen abgehenden Verkehrswerten aus. Dann priorisiert das IPQoS-System alle gleichzeitig auftretenden Verkehrswerte und gibt jeden Strom nach seiner Priorität in das Netzwerk frei.
Der Diffserv-Router empfängt abgehende Verkehrswerte und liest das DS-Feld in den Paket-Headern ein. Anhand des DSCP kann der Router gleichzeitig auftretende Verkehrswerte priorisieren und planen. Dann leitet der Router jeden Datenfluss nach der Priorität weiter, die durch das PHB angegeben ist. Beachten Sie, dass das PHB nicht über den Grenzrouter des Netzwerk hinaus Anwendung findet, es sei denn, Diffserv-konforme Systeme in den nachfolgenden Hops erkennen das gleiche PHB.
Expedited forwarding (EF) garantiert, dass Pakete mit dem empfohlenen EF Codepoint 46 (101110) die beste Behandlung erfahren, die zur Freigabe in das Netzwerk verfügbar ist. Expedited Forwarding wird häufig mit einer Standleitung verglichen. Pakete mit dem Codepoint 46 (101110) erhalten eine garantierte bevorzugte Behandlung von allen Diffserv-Routern auf dem Weg zum Ziel der Pakete. Technische Informationen zum EF finden Sie in der RFC 2598, An Expedited Forwarding PHB.
Assured Forwarding (AF) bietet vier verschiedene Klassen für das Weiterleitungsverhalten, das Sie für den Marker angeben können. Die folgende Tabelle zeigt die Klassen, die drei drop-Prioritätsstufen, die mit jeder Klasse bereitgestellt werden, und die empfohlenen DSCPs, die jeder Prioritätsstufe zugeordnet sind. Jeder DSCP wird durch seinen AF-Wert, seinem dezimalen Wert und seinem binären Wert dargestellt.
Tabelle 37–2 Assured Forwarding Codepoints
|
Klasse 1 |
Klasse 2 |
Klasse 3 |
Klasse 4 |
---|---|---|---|---|
Low-Drop-Prioritätsstufe |
AF11 = 10 (001010) |
AF21 = 18 (010010) |
AF31 = 26 (011010) |
AF41 = 34 (100010) |
Medium-Drop- Prioritätsstufe |
AF12 = 12 (001100) |
AF22 = 20 (010100) |
AF32 = 28 (011100) |
AF42 = 36 (100100) |
High-Drop-Prioritätsstufe |
AF13 = 14 (001110) |
AF23 = 22 (010110) |
AF33 = 30 (011110) |
AF43 = 38 (100110) |
Jedes Diffserv-konforme System kann den AF Codepoint als Leitfaden zum Bereitstellen von differenzierten Weiterleitungsverhalten für verschiedene Verkehrsklassen verwenden.
Wenn diese Pakete einen Diffserv-Router erreichen, wertet der Router die Codepoints der Pakete zusammen mit den DSCPs anderen Datenverkehrs in der Warteschlange aus. Abhängig von der verfügbaren Bandbreite und den Prioritäten gemäß den Paket-DSCPs leitet der Router die Pakete dann entweder weiter oder wirft sie ab. Pakete, die mit dem EF PHB gekennzeichnet sind, erhalten eine garantierte Bandbreite im Vergleich zu Paketen, die mit den verschiedenen anderen AF PHBs gekennzeichnet sind.
Koordinieren Sie die Paketmarkierung zwischen den IPQoS-Systemen in Ihrem Netzwerk und dem Diffserv-Router, um sicherzustellen, dass die Pakete wie erwartet weitergeleitet werden. Angenommen, die IPQoS-Systeme in Ihrem Netzwerk markieren die Pakete mit den Codepoints AF21 (010010), AF13 (001110), AF43 (100110) und EF (101110). In diesem Fall müssen Sie die DSCPs AF21, AF13, AF43 und EF zur entsprechenden Datei auf dem Diffserv-Router hinzufügen.
Eine technische Erläuterung der AF-Codepoint-Tabelle finden Sie in der Norm RFC 2597. Die Router-Hersteller Cisco Systems und Juniper Networks veröffentlichen ausführliche Information zur AF PHB-Einstellung auf ihren Websites. Sie können diese Informationen sowohl zum Definieren von AF PHBs für IPQoS-Systeme als auch für Router verwenden. Darüber hinaus enthält die Dokumentation der Router-Hersteller Anweisungen zum Einrichten der DS Codepoints auf ihren Geräten.
Der DSCP ist 6 Bit lang. Das DS-Feld ist 1 Byte lang. Wenn Sie einen DSCP definieren, markiert der Marker die ersten sechs Bit des Paket-Headers mit dem DS Codepoint. Die verbleibenden zwei Bit bleiben unbenutzt.
Zum Definieren eines DSCP verwenden Sie den folgenden Parameter innerhalb einer Marker action-Anweisung:
dscp_map{0-63:DS_codepoint} |
Der dscp_map-Parameter ist ein Array mit 64 Elementen, das Sie mit dem (DSCP)-Wert füllen. dscp_map wird zum Zuordnen von eingehenden DSCPs zu abgehenden DSCPs verwendet, die vom dscpmk-Marker angewendet werden.
Sie müssen den DSCP-Wert für dscp_map im Dezimalformat angeben. Beispielsweise müssen Sie den EF Codepoint 101110 in den Dezimalwert 46 übertragen: dscp_map{0-63:46}. Bei AF Codepoints müssen Sie die verschiedenen Codepoints aus Tabelle 37–2 für die Verwendung durch dscp_map in die dezimale Notation übertragen.
Das Markermodul dlcosmk markiert ein Weiterleitungsverhalten im MAC-Header eines Datagramms. dlcosmk können Sie nur in einem IPQoS-System mit einer VLAN-Schnittstelle einsetzen.
dlcosmk fügt dem VLAN-Header vier Byte hinzu, die als VLAN-Tag bezeichnet werden. Das VLAN-Tag enthält einen 3-Bit-Wert für die Benutzerpriorität, der vom IEEE 801.D-Standard definiert wird. Diffserv-konforme Switches, die VLAN verstehen, können ein Benutzerpriorität-Feld in einem Datagramm lesen. Die 801.D-Benutzerprioritätswerte implementieren die Serviceklassen (CoS)-Markierungen, die kommerziellen Switches bekannt sind und von ihnen verstanden werden.
Sie verwenden die Benutzerprioritätswerte in der dlcosmk-Markeraktion, indem Sie die in der folgenden Tabelle aufgeführten Serviceklassenmarkierungen definieren.
Tabelle 37–3 801.D-Benutzerprioritätswerte
Serviceklasse |
Definition |
---|---|
0 |
Beste Leistung |
1 |
Hintergrund |
2 |
Spare |
3 |
Exzellente Leistung |
4 |
Kontrollierte Last |
5 |
Video weniger als 100 ms Latenz |
6 |
Video weniger als 10 ms Latenz |
7 |
Netzwerkkontrolle |
Weitere Informationen zu dlcosmk finden Sie in der Manpage dlcosmk(7ipp).
In diesem Abschnitt wird ein einfaches Netzwerkszenario vorgestellt, mit dem gezeigt wird, wie IPQoS auf Systemen mit VLAN-Geräten implementiert wird. Das Szenario umfasst zwei IPQoS-Systeme, machine1 und machine2, die über einen Switch miteinander verbunden sind. Das VLAN-Gerät in machine1 hat die IP-Adresse 10.10.8.1. Das VLAN-Gerät in machine2 hat die IP-Adresse 10.10.8.3.
Die folgende IPQoS-Konfigurationsdatei für machine1 zeigt eine einfache Lösung zum Markieren von Datenverkehr über den Switch an machine2.
fmt_version 1.0 action { module ipgpc name ipgpc.classify filter { name myfilter2 daddr 10.10.8.3 class myclass } class { name myclass next_action mark4 } } action { name mark4 module dlcosmk params { cos 4 next_action continue global_stats true } }
Bei dieser Konfiguration wird jeglicher Datenverkehr von machine1, der für das VLAN-Gerät in machine2 bestimmt ist, an den dlcosmk-Marker übergeben. Die Markeraktion mark4 weist dlcosmk an, Datagrammen der Klasse myclass mit einem CoS von 4 ein VLAN-Mark zuzuweisen. Der Benutzerprioritätswert 4 gibt an, dass der Switch zwischen beiden Rechnern Traffic-Flows vom Typ myclass kontrollierte Lastenweiterleitung von machine1 zuweisen soll.
Das IPQoS flowacct-Modul zeichnet Informationen zu den Verkehrswerten auf, ein Vorgang, der als Flow Accounting bezeichnet wird. Das Flow Accounting erzeugt Daten, die entweder zur Rechnungsstellung für Kunden oder zur Auswertung der Menge an Datenverkehr einer bestimmten Klasse verwendet werden können.
Das Flow Accounting ist optional. flowacct ist in der Regel das letzte Modul, auf das ein gemessener oder markierter Verkehrswert trifft, bevor er in den Netzwerkstrom freigegeben wird. Eine Darstellung der Position von flowacct im Diffserv-Modell finden Sie in Abbildung 32–1. Ausführliche technische Informationen zu flowacct finden Sie in der Manpage flowacct(7ipp).
Zum Aktivieren des Flow Accounting benötigen Sie die Oracle Solaris Accounting-Funktion exacct und den Befehl acctadm sowie flowacct. Allgemeine Schritte zum Einrichten des Flow Accounting finden Sie unter Einrichten des Flow Accounting (Übersicht der Schritte).
Das flowacct-Modul sammelt Informationen zu den Datenströmen in einer Flow-Tabelle mit Flow-Datensätzen. Jeder Eintrag in der Tabelle enthält einen Flow-Datensatz. Sie können eine Flow-Tabelle nicht anzeigen.
In der IPQoS-Konfigurationsdatei definieren Sie die folgenden flowacct-Parameter, um die Flow-Datensätze zu messen und in die Flow-Tabelle zu schreiben:
timer – Definiert ein Zeitintervall in Millisekunden, nach dem Datenströmen mit einer Zeitüberschreitung aus der Flow-Tabelle entfernt und in eine Datei geschrieben werden, die von acctadm erstellt wird.
timeout – Definiert ein Zeitintervall in Millisekunden, mit dem festgelegt wird, wie lange ein Paketdatenfluss inaktiv sein muss bis eine Zeitüberschreitung eintritt
Sie können timer und timeout mit unterschiedlichen Werten konfigurieren.
max_limit – Legt einen oberen Grenzwert für die Anzahl an Flow-Datensätze fest, die in der Flow-Tabelle gespeichert werden können
Ein Beispiel für die Anwendung von flowacct-Parameter in der IPQoS-Konfigurationsdatei finden Sie unter So konfigurieren Sie die Verkehrssteuerung in der IPQoS-Konfigurationsdatei.
Das flowacct-Modul verwaltet eine Flow-Tabelle, in der alle Paket-Datenströme aufgezeichnet werden, die von einer flowacct-Instanz erfasst werden. Ein Datenfluss wird durch die folgenden Parameter gekennzeichnet, die in dem flowacct 8–Tuple enthalten sind:
Quelladresse
Zieladresse
Ursprungs-Port
Ziel-Port
DSCP
Benutzer-ID
Projekt-ID
Protokollnummer
Wenn alle Parameter des 8–Tuple für einen Datenfluss gleich bleiben, enthält die Flow-Tabelle nur einen einzigen Eintrag. Der max_limit-Parameter legt die Anzahl an Einträgen fest, die eine Flow-Tabelle aufnehmen kann.
Die Flow-Tabelle wird in dem Intervall gescannt, das für den timer-Parameter in der IPQoS-Konfigurationsdatei angegeben ist. Die Standardeinstellung beträgt 15 Sekunden. Ein Datenfluss erfährt einen „Timeout“, wenn das IPQoS-System mindestens über das in der IPQoS-Konfigurationsdatei festgelegte timeout-Intervall keine Pakete dieses Datenflusses erfasst. Das standardmäßige Timeout-Intervall beträgt 60 Sekunden. Einträge, für die ein Timeout eingetreten ist, werden in die zuvor mit dem Befehl acctadm erstellte Accounting-Datei geschrieben.
Ein flowacct-Datensatz enthält die in der folgenden Tabelle beschriebenen Attribute.
Tabelle 37–4 Attribute eines flowacct-Datensatzes
Attributname |
Attributinhalt |
Typ |
---|---|---|
src-addr-Adresstyp |
Ursprungsadresse des Absenders. Adresstyp ist entweder v4 für IPv4 oder v6 für IPv6, je nach Angabe in der IPQoS-Konfigurationsdatei. |
Basic |
dest-addr-Adresstyp |
Zieladresse der Pakete. Adresstyp ist entweder v4 für IPv4 oder v6 für IPv6, je nach Angabe in der IPQoS-Konfigurationsdatei. |
Basic |
src-port |
Ursprungs-Port, von dem Verkehrsfluss stammt. |
Basic |
dest-port |
Ziel-Port, für den dieser Verkehrsfluss bestimmt ist. |
Basic |
protocol |
Protokollnummern des Verkehrsflusses. |
Basic |
total-packets |
Anzahl der Pakete im Verkehrsfluss. |
Basic |
total-bytes |
Anzahl der Byte im Verkehrsfluss. |
Basic |
Aktionsname |
Name der flowacct-Aktion, die diesen Verkehrsfluss aufgezeichnet hat. |
Basic |
creation-time |
Uhrzeit, wann das erste Paket des Verkehrsflusses von flowacct erfasst wurde. |
Nur Extended |
last-seen |
Uhrzeit, wann zuletzt ein Paket des Verkehrsflusses erfasst wurde. |
Nur Extended |
diffserv-field |
DSCP in den Headern abgehender Pakete im Verkehrsfluss. |
Nur Extended |
user |
Entweder eine UNIX-Benutzer-ID oder ein Benutzername, der von der Anwendung bezogen wird. |
Nur Extended |
projid |
Projekt-ID, die von der Anwendung bezogen wird. |
Nur Extended |
Mit dem Befehl acctadm können Sie eine Datei erstellen, in der die verschiedenen vom flowacct-Modul erzeugten Flow-Datensätze gespeichert werden. acctadm arbeitet mit der Extended Accounting-Funktion zusammen. Technische Informationen zu acctadm finden Sie in der Manpage acctadm(1M).
Das flowacct-Modul überwacht Verkehrsflüsse und füllt die Flow-Tabelle mit Flow-Datensätzen. Dann wertet flowacct seine Parameter und Attribute in dem von timer vorgegebenen Intervall aus. Wenn ein Paket über die Werte last_seen plus timeout nicht erfasst wird, tritt ein Timeout für das Paket auf. Alle Einträge mit einem Timeout werden aus der Flow-Tabelle gelöscht. Diese Einträge werden dann in dem durch den Parameter timer vorgegebenen Intervall in die Accounting-Datei geschrieben.
Zum Aufrufen von acctadm für das flowacct-Modul verwenden Sie die folgende Befehlssyntax:
acctadm -e file-type -f filename flow
Ruft acctadm mit der Option -e auf. Das -e gibt an, dass eine Ressourcenliste folgt.
Gibt die zu erfassenden Attribute an. Dateityp muss durch entweder basic oder extended ersetzt werden. Eine Liste der Attribute für jeden Dateityp finden Sie in Tabelle 37–4.
Erstellt die Datei Dateiname, in der die Flow-Datensätze gespeichert werden.
Gibt an, dass acctadm mit IPQoS ausgeführt wird.
In diesem Abschnitt finden Sie Informationen zu den einzelnen Teilen der IPQoS-Konfigurationsdatei. Die beim Booten aktivierte IPQoS-Richtlinie ist in der Datei /etc/inet/ipqosinit.conf gespeichert. Obwohl Sie diese Datei bearbeiten können, sollten Sie für ein neues IPQoS-System eine Konfigurationsdatei mit einem anderen Namen erstellen. Aufgaben zum Übernehmen und Debuggen einer IPQoS-Konfiguration finden Sie in Kapitel 34Erstellen der IPQoS-Konfigurationsdatei (Aufgaben).
Die Syntax der IPQoS-Konfigurationsdatei ist in Beispiel 37–3 gezeigt. Das Beispiel verwendet die folgenden typografischen Konventionen:
Computerstil-Typ – Syntaktische Informationen, mit denen Teile der Konfigurationsdatei beschrieben werden. Sie geben keinen Text ein, der im Computerstil-Typ angezeigt wird.
Fettdruck – Literaltext, den Sie in die IPQoS-Konfigurationsdatei eingeben müssen. Beispielsweise müssen Sie die IPQoS-Konfigurationsdatei stets mit fmt_version beginnen.
Kursivdruck – Variablentext, den Sie durch beschreibende Informationen zu Ihrer Konfiguration ersetzen. Beispielsweise müssen Sie stets action-name oder module-name durch Informationen ersetzen, die für Ihre Konfiguration gelten.
file_format_version ::= fmt_version version action_clause ::= action { name action-name module module-name params-clause | "" cf-clauses } action_name ::= string module_name ::= ipgpc | dlcosmk | dscpmk | tswtclmt | tokenmt | flowacct params_clause ::= params { parameters params-stats | "" } parameters ::= prm-name-value parameters | "" prm_name_value ::= param-name param-value params_stats ::= global-stats boolean cf_clauses ::= class-clause cf-clauses | filter-clause cf-clauses | "" class_clause ::= class { name class-name next_action next-action-name class-stats | "" } class_name ::= string next_action_name ::= string class_stats ::= enable_stats boolean boolean ::= TRUE | FALSE filter_clause ::= filter { name filter-name class class–name parameters } filter_name ::= string
Im Folgenden werden die wichtigsten Teile der IPQoS-Konfigurationsdatei beschrieben.
Mit action-Anweisungen rufen Sie die verschiedenen IPQoS-Module auf, die unter IPQoS-Architektur und das Diffserv-Modell beschrieben sind.
Achten Sie darauf, dass eine IPQoS-Konfigurationsdatei immer mit der Versionsnummer beginnen muss. Dann müssen Sie die folgende action-Anweisung hinzufügen, um den Classifier aufzurufen:
fmt_version 1.0 action { module ipgpc name ipgpc.classify } |
Nach der Classifier action-Anweisung geben Sie eine params-Klausel oder eine class-Klausel ein.
Verwenden Sie für alle action-Anweisungen die folgende Syntax:
action { name action-name module module-name params-clause | "" cf-clauses }
Weist der Aktion einen Namen zu.
Identifiziert das aufzurufende IPQoS, bei dem es sich um eines der Module in Tabelle 37–5 handeln muss.
Können Parameter für den zu verarbeitenden Classifier sein, z. B. globale Statistiken oder die nächste zu verarbeitende Aktion.
Eine Reihe von null oder mehr class- oder filter-Klauseln
Die Moduldefinition gibt an, welches Modul in den Parametern der action-Anweisung verarbeitet werden soll. Die IPQoS-Konfigurationsdatei kann die folgenden Module enthalten.
Tabelle 37–5 IPQoS-Module
Modulname |
Definition |
---|---|
ipgpc |
IP-Classifier |
dscpmk |
Zum Erstellen von DSCPs in IP-Paketen zu verwendender Marker |
dlcosmk |
Mit VLAN-Geräten zu verwendender Marker |
tokenmt |
Token Bucket-Metermodul |
tswtclmt |
Time-Sliding Window-Metermodul |
flowacct |
Flow Accounting-Modul |
Sie definieren eine class-Klausel für jede Verkehrsklasse.
Zum Definieren der verbleibenden Klassen in der IPQoS-Konfiguration verwenden Sie die folgende Syntax:
class { name class-name next_action next-action-name } |
Um die Erfassung von Statistiken einer bestimmten Klasse zu aktivieren, müssen Sie zunächst die globalen Statistiken in der ipgpc.classify action-Anweisung aktivieren. Weitere Informationen hierzu finden Sie unter action-Anweisung.
Mit der enable_stats TRUE-Anweisung können Sie Erfassung von Statistiken für eine Klasse jederzeit aktivieren. Wenn Sie keine Statistiken für eine Klasse erfassen möchten, können Sie die enable_stats FALSE-Anweisung verwenden. Alternativ löschen Sie die enable_stats-Anweisung.
Verkehr in einem IPQoS-konformen Netzwerk, den Sie nicht speziell definieren, wird der Standardklasse zugeordnet.
Filter bestehen aus Selektoren, die Verkehrswerte in Klassen gruppieren. Diese Selektoren definieren die Kriterien, die an dem Verkehr einer in der class-Klausel erstellten Klasse angewendet werden. Wenn ein Paket allen Selektoren des Filters mit der höchsten Priorität entspricht, wird es als ein Mitglied dieser Filterklasse betrachtet. Eine vollständige Liste der Selektoren, die Sie mit dem ipgpc-Classifier verwenden können, finden Sie unter Tabelle 37–1.
Die Filter in der IPQoS-Konfigurationsdatei werden mithilfe einer filter-Klausel definiert, die folgende Syntax aufweist:
filter { name filter-name class class-name parameters (selectors) }
Die params-Klausel enthält Verarbeitungsanweisungen für das in der action-Anweisung definierte Modul. Für die params-Klausel verwenden Sie die folgende Syntax:
params { parameters params-stats | "" } |
In der params-Klausel verwenden Sie Parameter, die an dem Modul angewendet werden können.
Der Wert params-Statistiken in der params muss entweder global_stats TRUE oder global_stats FALSE lauten. Die Anweisung global_stats TRUE aktiviert die Erfassung von Statistiken im UNIX-Stil für die action-Anweisung, in der die globalen Statistiken aufgerufen werden. Statistiken können Sie mithilfe des Befehls kstat anzeigen. Sie müssen die action-Anweisung aktivieren, bevor Sie die Erfassung von Statistiken pro Klasse aktivieren können.
Mit dem Serviceprogramm ipqosconf können Sie die IPQoS-Konfigurationsdatei einlesen und die IPQoS-Module im UNIX-Kernel konfigurieren. ipqosconf führt die folgenden Aktionen aus:
Übernimmt die Konfigurationsdatei für die IPQoS-Kernelmodule (ipqosconf -a Dateiname)
Listet die IPQoS-Konfigurationsdatei auf, die derzeit im Kernel enthalten ist (ipqosconf -l)
Stellt sicher, dass die aktuelle IPQoS-Konfiguration eingelesen und bei jedem Neustart des Computers angewendet wird (ipqosconf -c)
Leert die aktuellen IPQoS-Kernelmodule (ipqosconf -f)
Technische Informationen finden Sie in der Manpage ipqosconf(1M).