Systemverwaltungshandbuch: IP Services

Erstellen einer IPQoS-Konfigurationsdateien für einen Anwendungsserver

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.


Beispiel 34–3 Beispiel einer IPQoS-Konfigurationsdatei für einen Anwendungsserver

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
    }
}

ProcedureSo konfigurieren Sie die IPQoS-Konfigurationsdatei für einen Anwendungsserver

  1. 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.

  2. 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
        }       
    
    name smtp

    Erstellt eine Klasse namens smtp, die den E-Mail-Verkehrwert enthält, der von der SMTP-Anwendung verarbeitet wird.

    enable_stats FALSE

    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.

    next_action markAF13

    Weist das ipgpc-Modul an, Pakete der smtp-Klasse an die action-Anweisung markAF13 zu übergeben, nachdem ipgpc die Bearbeitung vollständig abgeschlossen hat.

    name news

    Erstellt eine Klasse namens news, die den Network News-Verkehrswert enthält, der von der NNTP-Anwendung verarbeitet wird.

    next_action markAF21

    Weist das ipgpc-Modul an, Pakete der news-Klasse an die action-Anweisung markAF21 zu übergeben, nachdem ipgpc die Bearbeitung vollständig abgeschlossen hat.

    name ftp

    Erstellt eine Klasse namens ftp, die den abgehenden Verkehr enthält, der von der FTP-Anwendung verarbeitet wird.

    enable_stats TRUE

    Aktiviert die Erfassung der Statistiken für die ftp-Klasse.

    next_action meterftp

    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.

  3. 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
        }
    }
    
    name smtpout

    Benennt den Filter mit smtpout.

    sport smtp

    Wählt Datenverkehr mit dem Ursprungs-Port 25 aus, dem bekannten Port für die sendmail (SMTP)-Anwendung.

    class smtp

    Identifiziert die Klasse, zu der der Filter gehört, in diesem Fall die Klasse smtp.

    name newsout

    Benennt den Filter mit newsout.

    sport nntp

    Wählt Datenverkehr mit dem Ursprungs-Portnamen nntp aus, dem bekannten Portnamen für die Network News (NNTP)-Anwendung.

    class news

    Identifiziert die Klasse, zu der der Filter gehört, in diesem Fall die Klasse news.

    name ftpout

    Benennt den Filter mit ftpout.

    sport ftp

    Wählt Steuerungsdaten mit dem Ursprungs-Port 21 aus, dem bekannten Port für FTP-Verkehr.

    name ftpdata

    Benennt den Filter mit ftpdata.

    sport ftp-data

    Wählt Datenverkehr mit dem Ursprungs-Port 20 aus, dem bekannten Port für FTP-DatenVerkehr.

    class ftp

    Identifiziert die Klasse, zu der die Filter ftpout und ftpdata gehören, in diesem Fall ftp.

Siehe auch

ProcedureSo konfigurieren Sie die Weiterleitung von Datenverkehr für Anwendungen 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.

Bevor Sie beginnen

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.

  1. Ö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
        }
    }
  2. Rufen Sie den Marker wie folgt auf:


    action {
        module dscpmk
        name markAF13
        
    
    module dscpmk

    Ruft das Markermodul dscpmk auf.

    name markAF13

    Benennt die action-Anweisung mit markAF13.

  3. 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
        }
    }
    
    global_stats FALSE

    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.

    dscp_map{0–63:14}

    Weist den Paket-Headern der Datenverkehrklasse smtp, die momentan vom Marker verarbeitet werden, einen DSCP von 14 zu.


    next_action continue

    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.

  4. 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
        }
    }
    
    name markAF21

    Benennt die action-Anweisung mit markAF21.

    dscp_map{0–63:18}

    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.

Siehe auch

ProcedureSo konfigurieren Sie die Verkehrssteuerung in der IPQoS-Konfigurationsdatei

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.

Bevor Sie beginnen

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.

  1. Ö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
        }
    }
  2. Erstellen Sie eine Meter action-Anweisung, um eine Flusskontrolle für den Datenverkehr der ftp-Klasse einzurichten.


    action {
        module tokenmt
        name meterftp
                
    
    module tokenmt

    Ruft den Meter tokenmt auf.

    name meterftp

    Benennt die action-Anweisung mit meterftp.

  3. Fügen Sie Parameter hinzu, um die Rate des Meters zu konfigurieren.


    params {
           committed_rate 50000000
           committed_burst 50000000
      
    
    committed_rate 50000000

    Weist eine Übertragungsrate von 50.000.000 Bit/s für den Datenverkehr der ftp-Klasse zu.

    committed_burst 50000000

    Ü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.

  4. Fügen Sie Parameter hinzu, um die Prioritätsstufe der Datenverkehrskonformität zu konfigurieren:


        red_action markAF31
        green_action_name markAF22
        global_stats TRUE
        }
    }
    
    red_action_name markAF31

    Gibt an, dass wenn der Verkehrswert der ftp-Klasse die Committed Rate überschreitet, Pakete an die markAF31 Marker action-Anweisung gesendet werden.

    green_action_name markAF22

    Gibt an, dass wenn der Verkehrswert der ftp-Klasse der Committed Rate entspricht, Pakete an die action-Anweisung markAF22 gesendet werden.

    global_stats TRUE

    Aktiviert die Erfassung der Messstatistiken für die ftp-Klasse.

    Weitere Informationen zur Datenverkehrskonformität finden Sie unter Metermodul.

  5. 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
        }
    }
    
    module dscpmk

    Ruft das Markermodul dscpmk auf.

    name markAF31

    Benennt die action-Anweisung mit markAF31.

    global_stats TRUE

    Aktiviert die Erfassung der Statistiken für die ftp-Klasse.

    dscp_map{0–63:26}

    Weist den Paket-Headern des Datenverkehr der ftp-Klasse einen DSCP von 26 zu, wenn dieser Datenverkehr die Committed Rate überschreitet.

    next_action continue

    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.

  6. 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
        }
    }
    
    name markAF22

    Benennt die Marker action-Anweisung mit markAF22.

    dscp_map{0–63:20}

    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.

  7. Fügen Sie die gerade für den Anwendungsserver erstellten DSCPs zu den entsprechenden Dateien auf dem Diffserv-Router hinzu.

Siehe auch