Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Konfigurieren von Anwendungseigenschaften für Services der nächsten Generation

Um Anwendungseigenschaften zu konfigurieren, schließen Sie die application Anweisung auf der [edit applications] Hierarchieebene ein:

Sie können Anwendungsobjekte gruppieren, indem Sie die application-set Anweisung konfigurieren. Weitere Informationen finden Sie unter Konfigurieren von Anwendungssätzen.

Dieser Abschnitt enthält die folgenden Aufgaben zum Konfigurieren von Anwendungen:

Konfigurieren eines Anwendungsprotokolls

Mit der application-protocol Anweisung können Sie angeben, welche der unterstützten Anwendungsprotokolle (ALGs) konfiguriert und in eine Anwendungsmenge für die Dienstverarbeitung aufgenommen werden sollen. Um Anwendungsprotokolle zu konfigurieren, fügen Sie die application-protocol Anweisung auf der [edit applications application application-name] Hierarchieebene ein:

Tabelle 1 zeigt eine Liste der unterstützten Protokolle für Services der nächsten Generation. Weitere Informationen zu bestimmten Protokollen finden Sie unter ALG-Beschreibungen.

Tabelle 1: Von Dienstschnittstellen unterstützte Anwendungsprotokolle

Protokollname

CLI-Wert

Kommentare

Bootstrap-Protokoll (BOOTP)

bootp

Unterstützt BOOTP und DHCP (Dynamic Host Configuration Protocol).

Verteilte Computing-Umgebung (DCE) Remote Procedure Call (RPC)

dce-rpc

Erfordert, dass die protocol Anweisung den Wert udp oder tcp. Erfordert einen uuid Wert. Sie können keine source-port Werte angebendestination-port.

DCE RPC-Portübersicht

dce-rpc-portmap

Erfordert, dass die protocol Anweisung den Wert udp oder tcp. Erfordert einen destination-port Wert.

Domainnamensystem (DNS)

dns

Erfordert, dass die protocol Anweisung den Wert udp. Dieses Anwendungsprotokoll schließt den DNS-Fluss, sobald die DNS-Antwort empfangen wird.

Exec

exec

Erfordert, dass die protocol Anweisung den Wert tcp hat oder nicht angegeben ist. Erfordert einen destination-port Wert.

FTP

ftp

Erfordert, dass die protocol Anweisung den Wert tcp hat oder nicht angegeben ist. Erfordert einen destination-port Wert.

H.323

h323

Internet Control Message Protocol (ICMP)

icmp

Erfordert, dass die protocol Anweisung den Wert icmp hat oder nicht angegeben ist.

IP

ip

Einloggen

login

NetBIOS

netbios

Erfordert, dass die protocol Anweisung den Wert udp hat oder nicht angegeben ist. Erfordert einen destination-port Wert.

NetShow

netshow

Erfordert, dass die protocol Anweisung den Wert tcp hat oder nicht angegeben ist. Erfordert einen destination-port Wert.

RealAudio

realaudio

Echtzeit-Streaming-Protokoll (RTSP)

rtsp

Erfordert, dass die protocol Anweisung den Wert tcp hat oder nicht angegeben ist. Erfordert einen destination-port Wert.

Sitzungsinitiierungsprotokoll

sip

SNMP

snmp

Erfordert, dass die protocol Anweisung den Wert udp hat oder nicht angegeben ist. Erfordert einen destination-port Wert.

SQLNet

sqlnet

Erfordert, dass die protocol Anweisung den Wert tcp hat oder nicht angegeben ist. Erfordert einen Wert von oder destination-port source-port .

Vortragsprogramm

talk

Route verfolgen

traceroute

Erfordert, dass die protocol Anweisung den Wert udp hat oder nicht angegeben ist. Erfordert einen destination-port Wert.

Trivial FTP (TFTP)

tftp

Erfordert, dass die protocol Anweisung den Wert udp hat oder nicht angegeben ist. Erfordert einen destination-port Wert.

WinFrame

winframe

Anmerkung:

Sie können Gateways auf Anwendungsebene (ALGs) für ICMP konfigurieren und die Route unter Stateful-Firewall-, NAT- oder CoS-Regeln verfolgen, wenn im selben Servicesatz zweimal NAT konfiguriert ist. Diese ALGs können nicht auf Datenströme angewendet werden, die vom Packet Gateway Controller Protocol (PGCP) erstellt wurden. Twice NAT unterstützt keine anderen ALGs. NAT wendet nur die IP-Adresse und die TCP- oder UDP-Header an, nicht aber die Nutzlast.

Weitere Informationen zur Konfiguration von zweifachem NAT finden Sie unter Übersicht über die Junos Address Aware-Netzwerkadressierung.

Konfigurieren des Netzwerkprotokolls

Mit der protocol Anweisung können Sie angeben, mit welchem der unterstützten Netzwerkprotokolle in einer Anwendungsdefinition abgeglichen werden soll. Um Netzwerkprotokolle zu konfigurieren, fügen Sie die protocol Anweisung auf der [edit applications application application-name] Hierarchieebene ein:

Sie geben den Protokolltyp als numerischen Wert an. Für die gebräuchlichsten Protokolle werden Textnamen auch in der Befehlszeilenschnittstelle (CLI) unterstützt. Tabelle 2zeigt eine Liste der unterstützten Protokolle.

Tabelle 2: Von Services der nächsten Generation unterstützte Netzwerkprotokolle

Netzwerkprotokolltyp

CLI-Wert

Kommentare

External Gateway Protocol (EGP)

egp

Generic-Routing-Encapsulation (GR)

gre

ICMP

icmp

Erfordert den application-protocol Wert .icmp

ICMPv6

icmp6

Erfordert den application-protocol Wert .icmp

Internet Group Management Protocol (IGMP)

igmp

TCP

tcp

Erfordert einen Wert für source-port oder, es sei denn, Sie geben application-protocol rcp oder destination-port andce-rcp.

UDP

udp

Erfordert einen Wert für source-port oder, es sei denn, Sie geben application-protocol rcp oder destination-port andce-rcp.

Eine vollständige Liste der möglichen numerischen Werte finden Sie unter RFC 1700, Zugewiesene Nummern (für die Internet Protocol Suite).

Anmerkung:

IP-Version 6 (IPv6) wird als Netzwerkprotokoll in Anwendungsdefinitionen nicht unterstützt.

Standardmäßig kann sich die Funktion "Twice NAT" auf IP-, TCP- und UDP-Header auswirken, die in die Nutzlast von ICMP-Fehlermeldungen eingebettet sind. Sie können die protocol tcp and-Anweisungen protocol udp in die application-Anweisung für zwei NAT-Konfigurationen einschließen. Weitere Informationen zur Konfiguration von zweifachem NAT finden Sie unter Übersicht über die Junos Address Aware-Netzwerkadressierung.

Konfigurieren des ICMP-Codes und -Typs

Der ICMP-Code und -Typ bieten in Verbindung mit dem Netzwerkprotokoll zusätzliche Spezifikationen für den Paketabgleich in einer Anwendungsdefinition. Um ICMP-Einstellungen zu konfigurieren, schließen Sie die icmp-code and-Anweisungen icmp-type auf der [edit applications application application-name] Hierarchieebene ein:

Sie können nur einen ICMP-Code und -Typwert einschließen. Die application-protocol Anweisung muss den Wert icmphaben. Tabelle 3 zeigt eine Liste der unterstützten ICMP-Werte.

Tabelle 3: ICMP-Codes und -Typen, die von Services Interfaces unterstützt werden

CLI-Statement

Beschreibung

icmp-code

Dieser Wert oder dieses Schlüsselwort enthält spezifischere Informationen als icmp-type. Da die Bedeutung des Werts vom zugeordneten icmp-type Wert abhängt, müssen icmp-type Sie zusammen mit angeben. icmp-code Weitere Informationen finden Sie im Benutzerhandbuch für Routing-Richtlinien, Firewall-Filter und Datenverkehrsrichtlinien.

Anstelle des numerischen Werts können Sie eines der folgenden Textsynonyme angeben (die Feldwerte werden ebenfalls aufgelistet). Die Schlüsselwörter sind nach dem ICMP-Typ gruppiert, dem sie zugeordnet sind:

Parameter-Problem: ip-header-bad (0), required-option-missing (1)

Weiterleitung: redirect-for-host (1), redirect-for-network (0), redirect-for-tos-and-host (3), redirect-for-tos-and-net (2)

Zeitüberschreitung: ttl-eq-zero-during-reassembly (1), ttl-eq-zero-during-transit (0)

nicht erreichbar: communication-prohibited-by-filtering (13), destination-host-prohibited (10), destination-host-unknown (7), destination-network-prohibited (9), destination-network-unknown (6), fragmentation-needed (4), host-precedence-violation (14), host-unreachable (1 host-unreachable-for-TOS ), (12), network-unreachable (0), network-unreachable-for-TOS (11), port-unreachable (3), precedence-cutoff-in-effect (15), protocol-unreachable (2), source-host-isolated (8), source-route-failed (5)

icmp-type

Normalerweise geben Sie diese Übereinstimmung in Verbindung mit der protocol match-Anweisung an, um zu bestimmen, welches Protokoll auf dem Port verwendet wird. Weitere Informationen finden Sie im Benutzerhandbuch für Routing-Richtlinien, Firewall-Filter und Datenverkehrsrichtlinien.

Anstelle des numerischen Wertes können Sie eines der folgenden Textsynonyme angeben (die Feldwerte werden ebenfalls aufgelistet): echo-reply (0), echo-request (8), info-reply (16), info-request (15), mask-request (17), mask-reply (18), parameter-problem (12), redirect (5), router-advertisement (9), router-solicit (10), source-quench (4), time-exceeded (11), timestamp (13), timestamp-reply (14) oder unreachable (3).

Anmerkung:

Wenn Sie eine Schnittstelle mit einem Eingabe-Firewall-Filter konfigurieren, der eine Ablehnungsaktion enthält, und mit einem Servicesatz, der Stateful-Firewall-Regeln enthält, führt der Router den Eingabe-Firewall-Filter aus, bevor die Stateful-Firewall-Regeln für das Paket ausgeführt werden. Wenn die Packet Forwarding Engine eine ICMP-Fehlermeldung über die Schnittstelle sendet, verwerfen die zustandsbehafteten Firewall-Regeln das Paket möglicherweise, weil es nicht in Eingaberichtung erkannt wurde.

Mögliche Problemumgehungen bestehen darin, einen Weiterleitungstabellenfilter zum Ausführen der Ablehnungsaktion einzuschließen, da dieser Filtertyp nach der zustandsbehafteten Firewall in Eingaberichtung ausgeführt wird, oder einen Ausgabedienstfilter einzuschließen, um zu verhindern, dass die lokal generierten ICMP-Pakete an den zustandsbehafteten Firewalldienst gesendet werden.

Konfigurieren von Quell- und Zielports

Der TCP- oder UDP-Quell- und -Zielport bieten in Verbindung mit dem Netzwerkprotokoll zusätzliche Spezifikationen für den Paketabgleich in einer Anwendungsdefinition. Um Ports zu konfigurieren, schließen Sie die destination-port and-Anweisungen source-port auf der [edit applications application application-name] Hierarchieebene ein:

Sie müssen einen Quell- oder Zielport definieren. Normalerweise geben Sie diese Übereinstimmung in Verbindung mit der protocol match-Anweisung an, um zu bestimmen, welches Protokoll auf dem Port verwendet wird.

Sie können entweder einen numerischen Wert oder eines der in Tabelle 4 aufgeführten Textsynonyme angeben.

Tabelle 4: Portnamen, die von Services der nächsten Generation unterstützt werden

Portname

Entsprechende Portnummer

snmp

161

snmptrap

162

Weitere Informationen zu Übereinstimmungskriterien finden Sie im Benutzerhandbuch für Routing-Richtlinien, Firewall-Filter und Datenverkehrsrichtlinien.

Konfigurieren der Zeitüberschreitung bei Inaktivität

Sie können einen Timeoutzeitraum für die Inaktivität der Anwendung angeben. Wenn die Software während der Dauer keine Aktivität erkannt hat, wird der Flow ungültig, wenn der Timer abläuft. Um einen Timeoutzeitraum zu konfigurieren, fügen Sie die inactivity-timeout Anweisung auf der [edit applications application application-name] Hierarchieebene ein:

Der Standardwert ist 14.400 Sekunden. Der Wert, den Sie für eine Anwendung konfigurieren, überschreibt alle globalen Werte, die auf der [edit interfaces interface-name service-options] Hierarchieebene konfiguriert sind. Weitere Informationen finden Sie unter Konfigurieren von Standard-Timeout-Einstellungen für Dienstschnittstellen.

Konfigurieren von SIP

Das Session Initiation Protocol (SIP) ist ein generalisiertes Protokoll für die Kommunikation zwischen Endgeräten, die an Internetdiensten wie Telefonie, Fax, Videokonferenzen, Instant Messaging und Dateiaustausch beteiligt sind.

Das Junos OS stellt ALG-Services in Übereinstimmung mit dem in RFC 3261, SIP, Session Initiation Protocol beschriebenen Standard bereit. Die SIP-Datenströme unter dem Junos OS werden in RFC 3665, Beispiele für grundlegende Anrufabläufe im Session Initiation Protocol (SIP) beschrieben.

Anmerkung:

Vor der Implementierung von Junos OS SIP ALG sollten Sie sich mit bestimmten Einschränkungen vertraut machen, die unter Einschränkungen von Junos OS SIP ALG erläutert werden

Die Verwendung von NAT in Verbindung mit dem SIP-ALG führt aufgrund der Adressübersetzung zu Änderungen in den SIP-Header-Feldern. Eine Erläuterung dieser Übersetzungen finden Sie unter SIP ALG-Interaktion mit Network Address Translation.

Um SIP auf Adaptive Services Interfaces zu implementieren, konfigurieren Sie die Anweisung application-protocol auf Hierarchieebene [edit applications application application-name] mit dem Wert sip. Darüber hinaus gibt es zwei weitere Anweisungen, die Sie konfigurieren können, um die Implementierung von SIP zu ändern:

  • Sie können den Router so konfigurieren, dass er alle eingehenden SIP-Anrufe für die Endgeräte annimmt, die sich hinter der NAT-Firewall befinden. Wenn sich ein Gerät hinter der Firewall bei dem Proxy außerhalb der Firewall registriert, behält der AS- oder Multiservices-PIC den Registrierungsstatus bei. Wenn die learn-sip-register Anweisung aktiviert ist, kann der Router diese Informationen verwenden, um eingehende Anrufe anzunehmen. Wenn diese Anweisung nicht konfiguriert ist, werden keine eingehenden Aufrufe akzeptiert. Nur die Geräte hinter der Firewall können Geräte außerhalb der Firewall anrufen.

    Um die SIP-Registrierung zu konfigurieren, schließen Sie die learn-sip-register Anweisung auf der [edit applications application application-name] Hierarchieebene ein:

    Anmerkung:

    Die learn-sip-register Erklärung gilt nicht für die Next-Gen-Services MX-SPC3.

    Sie können das SIP-Register auch manuell überprüfen, indem Sie den show services stateful-firewall sip-register Befehl eingeben. Weitere Informationen finden Sie in der Befehlsreferenz zu Junos OS-Systemen und Services. Der show services stateful-firewall sip-register Befehl wird für Services der nächsten Generation nicht unterstützt.

  • Sie können einen Timeoutzeitraum für die Dauer von SIP-Anrufen angeben, die in der Warteschleife gehalten werden. Wenn ein Anruf gehalten wird, gibt es keine Aktivität, und Flows können nach Ablauf des konfigurierten inactivity-timeout Zeitraums eine Zeitüberschreitung aufweisen, was zu einem Teardown des Anrufzustands führt. Um dies zu vermeiden, wird der Flow-Timer auf den sip-call-hold-timeout Zyklus zurückgesetzt, wenn ein Anruf gehalten wird, um den Anrufstatus und die Abläufe länger als den inactivity-timeout Zeitraum beizubehalten.

    Anmerkung:

    Die sip-call-hold-timeout Erklärung gilt nicht für die Next-Gen-Services MX-SPC3.

    Um einen Timeoutzeitraum zu konfigurieren, fügen Sie die sip-call-hold-timeout Anweisung auf der [edit applications application application-name] Hierarchieebene ein:

    Der Standardwert ist 7200 Sekunden und der Bereich liegt zwischen 0 und 36.000 Sekunden (10 Stunden).

SIP ALG-Interaktion mit Network Address Translation

Das NAT-Protokoll (Network Address Translation) ermöglicht es mehreren Hosts in einem privaten Subnetz, eine einzige öffentliche IP-Adresse für den Zugriff auf das Internet gemeinsam zu nutzen. Bei ausgehendem Datenverkehr ersetzt NAT die private IP-Adresse des Hosts im privaten Subnetz durch die öffentliche IP-Adresse. Bei eingehendem Datenverkehr wird die öffentliche IP-Adresse wieder in die private Adresse konvertiert, und die Nachricht wird an den entsprechenden Host im privaten Subnetz weitergeleitet.

Die Verwendung von NAT mit dem SIP-Dienst (Session Initiation Protocol) ist komplizierter, da SIP-Nachrichten sowohl in den SIP-Headern als auch im SIP-Text IP-Adressen enthalten. Wenn Sie NAT mit dem SIP-Dienst verwenden, enthalten die SIP-Header Informationen über den Anrufer und den Empfänger, und das Gerät übersetzt diese Informationen, um sie vor dem externen Netzwerk zu verbergen. Der SIP-Text enthält die SDP-Informationen (Session Description Protocol), die IP-Adressen und Portnummern für die Übertragung der Medien enthalten. Das Gerät übersetzt SDP-Informationen für die Zuweisung von Ressourcen zum Senden und Empfangen der Medien.

Wie IP-Adressen und Portnummern in SIP-Nachrichten ersetzt werden, hängt von der Richtung der Nachricht ab. Bei einer ausgehenden Nachricht werden die private IP-Adresse und die Portnummer des Clients durch die öffentliche IP-Adresse und die Portnummer der Firewall von Juniper Networks ersetzt. Bei einer eingehenden Nachricht wird die öffentliche Adresse der Firewall durch die private Adresse des Clients ersetzt.

Wenn eine INVITE-Nachricht über die Firewall gesendet wird, sammelt das SIP-Anwendungsebene-Gateway (ALG) Informationen aus dem Nachrichtenheader in einer Anruftabelle, die zum Weiterleiten nachfolgender Nachrichten an den richtigen Endpunkt verwendet wird. Wenn eine neue Nachricht eintrifft, z. B. eine Bestätigung oder 200 OK, vergleicht das ALG die Felder "Von:", "An:" und "Anruf-ID:" mit der Anruftabelle, um den Anrufkontext der Nachricht zu identifizieren. Wenn eine neue INVITE-Nachricht eintrifft, die dem bestehenden Aufruf entspricht, verarbeitet ALG diese als REINVITE.

Wenn eine Nachricht mit SDP-Informationen eintrifft, weist das ALG Ports zu und erstellt eine NAT-Zuordnung zwischen ihnen und den Ports im SDP. Da das SDP sequenzielle Ports für die RTP- (Real-Time Transport Protocol)- und RTCP-Kanäle (Real-Time Control Protocol) benötigt, stellt das ALG aufeinanderfolgende Ports mit geraden und ungeraden Ports bereit. Wenn ein Portpaar nicht gefunden werden kann, wird die SIP-Nachricht verworfen.

Dieses Thema enthält die folgenden Abschnitte:

Ausgehende Anrufe

Wenn ein SIP-Anruf mit einer SIP-Anforderungsnachricht vom internen zum externen Netzwerk initiiert wird, ersetzt NAT die IP-Adressen und Portnummern im SDP und bindet die IP-Adressen und Portnummern an die Firewall von Juniper Networks. Die SIP-Headerfelder "Via", "Contact", "Route" und "Record-Route" (sofern vorhanden) sind ebenfalls an die IP-Adresse der Firewall gebunden. Das ALG speichert diese Zuordnungen für die Verwendung in erneuten Übertragungen und für SIP-Antwortnachrichten.

Das SIP-ALG öffnet dann Lochblenden in der Firewall, um Medien über das Gerät auf den dynamisch zugewiesenen Ports zuzulassen, die basierend auf Informationen im SDP und in den Headerfeldern "Via", "Contact" und "Record-Route" ausgehandelt werden. Die Pinholes ermöglichen es eingehenden Paketen auch, die IP-Adressen und Ports "Contact", "Via" und "Record-Route" zu erreichen. Bei der Verarbeitung von Rückdatenverkehr fügt das ALG die ursprünglichen SIP-Felder "Contact", "Via", "Route" und "Record-Route" wieder in Pakete ein.

Eingehende Anrufe

Eingehende Anrufe werden vom öffentlichen Netzwerk an öffentliche statische NAT-Adressen oder an Schnittstellen-IP-Adressen auf dem Gerät initiiert. Statische NATs sind statisch konfigurierte IP-Adressen, die auf interne Hosts verweisen. Schnittstellen-IP-Adressen werden dynamisch von der ALG aufgezeichnet, während sie REGISTER-Nachrichten überwacht, die von internen Hosts an den SIP-Registrar gesendet werden. Wenn das Gerät ein eingehendes SIP-Paket empfängt, richtet es eine Sitzung ein und leitet die Nutzlast des Pakets an das SIP-ALG weiter.

Das ALG prüft die SIP-Anforderungsnachricht (zunächst INVITE) und öffnet auf Basis der Informationen im SDP Tore für ausgehende Medien. Wenn eine 200 OK-Antwortnachricht eintrifft, führt das SIP-ALG NAT für die IP-Adressen und Ports aus und öffnet Pinholes in ausgehender Richtung. (Die geöffneten Tore haben eine kurze Gültigkeitsdauer und treten ab, wenn eine 200 OK-Antwortnachricht nicht schnell empfangen wird.)

Wenn eine 200 OK-Antwort eintrifft, untersucht der SIP-Proxy die SDP-Informationen und liest die IP-Adressen und Portnummern für jede Mediensitzung. Das SIP-ALG auf dem Gerät führt NAT für die Adressen und Portnummern durch, öffnet Pinholes für ausgehenden Datenverkehr und aktualisiert die Zeitüberschreitung für Gates in eingehender Richtung.

Wenn das ACK für die 200 OK eintrifft, passiert es auch das SIP ALG. Wenn die Nachricht SDP-Informationen enthält, stellt das SIP-ALG sicher, dass die IP-Adressen und Portnummern im Vergleich zum vorherigen INVITE nicht geändert werden – wenn dies der Fall ist, löscht das ALG alte Pinholes und erstellt neue Pinholes, um Medien passieren zu lassen. Das ALG überwacht auch die SIP-Felder "Via", "Contact" und "Record-Route" und öffnet neue Lochblenden, wenn festgestellt wird, dass sich diese Felder geändert haben.

Weitergeleitete Anrufe

Von einem weitergeleiteten Anruf spricht man beispielsweise, wenn Benutzer A außerhalb des Netzwerks Benutzer B innerhalb des Netzwerks anruft und Benutzer B den Anruf an Benutzer C außerhalb des Netzwerks weiterleitet. Das SIP ALG verarbeitet das INVITE von Benutzer A wie einen normalen eingehenden Anruf. Wenn das ALG jedoch den weitergeleiteten Anruf von B nach C außerhalb des Netzwerks untersucht und feststellt, dass B und C über die gleiche Schnittstelle erreicht werden, öffnet es keine Lochblenden in der Firewall, da die Medien direkt zwischen Benutzer A und Benutzer C fließen.

Anrufbeendigung

Die BYE-Nachricht beendet einen Anruf. Wenn das Gerät eine BYE-Nachricht empfängt, werden die Headerfelder wie bei jeder anderen Nachricht übersetzt. Da eine BYE-Nachricht jedoch vom Empfänger mit einem 200 OK quittiert werden muss, verzögert das ALG den Anrufabriss um fünf Sekunden, um Zeit für die Übertragung des 200 OK zu haben.

Rufen Sie Re-INVITE Nachrichten an

Erneute INVITE-Nachrichten fügen einem Anruf neue Mediensitzungen hinzu und entfernen vorhandene Mediensitzungen. Wenn einem Anruf neue Mediensitzungen hinzugefügt werden, werden neue Blendenöffnungen in der Firewall geöffnet und neue Adressbindungen erstellt. Der Prozess ist identisch mit dem ursprünglichen Anrufaufbau. Wenn eine oder mehrere Mediensitzungen aus einem Anruf entfernt werden, werden Lochblenden geschlossen und Bindungen freigegeben, genau wie bei einer BYE-Nachricht.

Sitzungs-Timer anrufen

Die SIP-ALG verwendet den Wert Session-Expires, um eine Zeitüberschreitung für eine Sitzung zu beenden, wenn keine Re-INVITE- oder UPDATE-Nachricht empfangen wird. Das ALG ruft den Session-Expires-Wert, falls vorhanden, aus der 200 OK-Antwort auf INVITE ab und verwendet diesen Wert für die Signalisierung des Timeouts. Wenn die ALG vor Ablauf der Sitzung eine weitere INVITE-Anweisung empfängt, werden alle Timeout-Werte auf diese neue INVITE-Anweisung oder auf Standardwerte zurückgesetzt, und der Vorgang wird wiederholt.

Als Vorsichtsmaßnahme verwendet das SIP-ALG harte Timeout-Werte, um die maximale Zeitspanne festzulegen, die ein Anruf bestehen kann. Dadurch wird sichergestellt, dass das Gerät geschützt ist, falls eines der folgenden Ereignisse eintritt:

  • Endsysteme stürzen während eines Anrufs ab und es wird keine BYE-Nachricht empfangen.

  • Böswillige Benutzer senden niemals ein BYE bei dem Versuch, ein SIP-ALG anzugreifen.

  • Schlechte Implementierungen des SIP-Proxys können Record-Route nicht verarbeiten und senden nie eine BYE-Nachricht.

  • Netzwerkfehler verhindern, dass eine BYE-Nachricht empfangen wird.

Anrufabbruch

Jede Partei kann einen Anruf abbrechen, indem eine CANCEL-Nachricht gesendet wird. Beim Empfang einer CANCEL-Meldung schließt das SIP-ALG die Blenden durch die Firewall (sofern geöffnet) und gibt Adressbindungen frei. Vor der Freigabe der Ressourcen verzögert das ALG das Auslaufen des Steuerkanals um ca. fünf Sekunden, um Zeit für die letzten 200 OK zu haben. Der Anruf wird beendet, wenn das Zeitlimit von fünf Sekunden abgelaufen ist, unabhängig davon, ob eine 487- oder Nicht-200-Antwort eintrifft.

Gabelung

Forking ermöglicht es einem SIP-Proxy, eine einzelne INVITE-Nachricht gleichzeitig an mehrere Ziele zu senden. Wenn die mehrfachen 200 OK-Antwortnachrichten für den einzelnen Anruf eintreffen, analysiert das SIP-ALG die Anrufinformationen, aktualisiert die Anrufinformationen jedoch mit den ersten 200 empfangenen OK-Nachrichten.

SIP-Nachrichten

Das SIP-Nachrichtenformat besteht aus einem SIP-Header-Abschnitt und dem SIP-Text. In Anforderungsnachrichten ist die erste Zeile des Headerabschnitts die Anforderungszeile, die den Methodentyp, den Anforderungs-URI und die Protokollversion enthält. In Antwortnachrichten ist die erste Zeile die Statuszeile, die einen Statuscode enthält. SIP-Header enthalten IP-Adressen und Portnummern, die für die Signalisierung verwendet werden. Der SIP-Text, der durch eine Leerzeile vom Header-Abschnitt getrennt ist, ist für die Sitzungsbeschreibung reserviert, die optional sind. Junos OS unterstützt derzeit nur SDP. Der SIP-Text enthält IP-Adressen und Portnummern, die für den Transport der Medien verwendet werden.

SIP-Header

In der folgenden SIP-Anforderungsbeispielnachricht ersetzt NAT die IP-Adressen in den Headerfeldern, um sie vor dem externen Netzwerk auszublenden.

Wie die IP-Adressenübersetzung durchgeführt wird, hängt vom Typ und der Richtung der Nachricht ab. Eine Nachricht kann eine der folgenden sein:

  • Eingehende Anfrage

  • Ausgehende Antwort

  • Ausgehende Anfrage

  • Eingehende Antwort

Tabelle 5 zeigt, wie NAT in jedem dieser Fälle durchgeführt wird. Beachten Sie, dass die ALG für einige der Header-Felder mehr als nur bestimmt, ob die Nachrichten von innerhalb oder außerhalb des Netzwerks stammen. Außerdem muss ermittelt werden, welcher Client den Anruf initiiert hat und ob es sich bei der Nachricht um eine Anforderung oder Antwort handelt.

Tabelle 5: Anfordern von Nachrichten mit der NAT-Tabelle

Eingehende Anfrage

(von öffentlich nach privat)

An:

Ersetzen der Domäne durch die lokale Adresse

Von:

Nichts

Anruf-ID:

Nichts

Via:

Nichts

Anforderungs-URI:

Ersetzen Sie die ALG-Adresse durch eine lokale Adresse

Kontakt:

Nichts

Record-Route:

Nichts

Route:

Nichts

Ausgehende Antwort

(von privat zu öffentlich)

An:

Ersetzen Sie die ALG-Adresse durch eine lokale Adresse

Von:

Nichts

Anruf-ID:

Nichts

Via:

Nichts

Anforderungs-URI:

N/A

Kontakt:

Lokale Adresse durch ALG-Adresse ersetzen

Record-Route:

Lokale Adresse durch ALG-Adresse ersetzen

Route:

Nichts

Ausgehende Anforderung

(von privat zu öffentlich)

An:

Nichts

Von:

Lokale Adresse durch ALG-Adresse ersetzen

Anruf-ID:

Nichts

Via:

Lokale Adresse durch ALG-Adresse ersetzen

Anforderungs-URI:

Nichts

Kontakt:

Lokale Adresse durch ALG-Adresse ersetzen

Record-Route:

Lokale Adresse durch ALG-Adresse ersetzen

Route:

Ersetzen Sie die ALG-Adresse durch eine lokale Adresse

Ausgehende Antwort

(von öffentlich nach privat)

An:

Nichts

Von:

Ersetzen Sie die ALG-Adresse durch eine lokale Adresse

Anruf-ID:

Nichts

Via:

Ersetzen Sie die ALG-Adresse durch eine lokale Adresse

Anforderungs-URI:

N/A

Kontakt:

Nichts

Record-Route:

Ersetzen Sie die ALG-Adresse durch eine lokale Adresse

Route:

Ersetzen Sie die ALG-Adresse durch eine lokale Adresse

SIP-Körper

Die SDP-Informationen im SIP-Text enthalten IP-Adressen, die das ALG zum Erstellen von Kanälen für den Mediendatenstrom verwendet. Bei der Übersetzung des SDP-Abschnitts werden auch Ressourcen, d. h. Portnummern, zum Senden und Empfangen der Medien zugewiesen.

Der folgende Auszug aus einem SDP-Beispielabschnitt zeigt die Felder, die für die Ressourcenzuordnung übersetzt werden.

SIP-Nachrichten können mehr als einen Medienstrom enthalten. Das Konzept ähnelt dem Anfügen mehrerer Dateien an eine E-Mail-Nachricht. Eine INVITE-Nachricht, die von einem SIP-Client an einen SIP-Server gesendet wird, kann z. B. die folgenden Felder enthalten:

Junos OS unterstützt bis zu 6 SDP-Kanäle, die für jede Richtung ausgehandelt werden, also insgesamt 12 Kanäle pro Anruf.

Einschränkungen von Junos OS SIP ALG

Für die Konfiguration des SIP-ALG gelten die folgenden Einschränkungen:

  • Es werden nur die in RFC 3261 beschriebenen Methoden unterstützt.

  • Es wird nur die SIP-Version 2 unterstützt.

  • TCP wird nicht als Transportmechanismus für die Signalisierung von Nachrichten für MS-MPCs unterstützt, wird jedoch für Dienste der nächsten Generation unterstützt.

  • Konfigurieren Sie das SIP-ALG nicht, wenn Sie STUN verwenden. Wenn Clients STUN/TURN verwenden, um die Firewall- oder NAT-Geräte zwischen dem Anrufer und dem Responder oder Proxy zu erkennen, versucht der Client, das Verhalten des NAT-Geräts bestmöglich zu erraten und entsprechend zu handeln, um den Anruf zu tätigen.

  • Verwenden Sie auf MS-MPCs nicht die Option für den endpunktunabhängigen Zuordnungs-NAT-Pool in Verbindung mit dem SIP-ALG. Fehler sind die Folge. Dies gilt nicht für Dienste der nächsten Generation.

  • IPv6-Signalisierungsdaten werden für MS-MPCs nicht unterstützt, wohl aber für Services der nächsten Generation.

  • Authentifizierung wird nicht unterstützt.

  • Verschlüsselte Nachrichten werden nicht unterstützt.

  • Die SIP-Fragmentierung wird für MS-MPCs nicht unterstützt, wohl aber für Services der nächsten Generation.

  • Die maximale UDP-Paketgröße, die eine SIP-Nachricht enthält, wird mit 9 KB angenommen. SIP-Nachrichten, die größer als dieser Wert sind, werden nicht unterstützt.

  • Es wird angenommen, dass die maximale Anzahl von Medienkanälen in einer SIP-Nachricht sechs beträgt.

  • Vollqualifizierte Domänennamen (FQDNs) werden in kritischen Feldern nicht unterstützt.

  • QoS wird nicht unterstützt. SIP unterstützt DSCP-Umschreibungen.

  • Hochverfügbarkeit wird nicht unterstützt, mit Ausnahme von Warm-Standby.

  • Die Timeout-Einstellung "nie" wird für SIP oder NAT nicht unterstützt.

  • Multicast (Forking-Proxy) wird nicht unterstützt.

Konfigurieren eines SNMP-Befehls für den Paketabgleich

Sie können eine SNMP-Befehlseinstellung für den Paketabgleich angeben. Um SNMP zu konfigurieren, fügen Sie die snmp-command Anweisung auf der [edit applications application application-name] Hierarchieebene ein:

Die unterstützten Werte sind get, get-next, setund trap. Sie können nur einen Wert für den Abgleich konfigurieren. Die application-protocol Anweisung auf der [edit applications application application-name] Hierarchieebene muss den Wert snmphaben.