AUF DIESER SEITE
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:
[edit applications] application application-name { application-protocol protocol-name; child-inactivity-timeout seconds; destination-port port-number; gate-timeout seconds; icmp-code value; icmp-type value; inactivity-timeout value; protocol type; rpc-program-number number; snmp-command command; source-port port-number; ttl-threshold value; uuid hex-value; }
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:
[edit applications application application-name] application-protocol protocol-name;
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.
Protokollname |
CLI-Wert |
Kommentare |
---|---|---|
Bootstrap-Protokoll (BOOTP) |
|
Unterstützt BOOTP und DHCP (Dynamic Host Configuration Protocol). |
Verteilte Computing-Umgebung (DCE) Remote Procedure Call (RPC) |
|
Erfordert, dass die |
DCE RPC-Portübersicht |
|
Erfordert, dass die |
Domainnamensystem (DNS) |
|
Erfordert, dass die |
Exec |
|
Erfordert, dass die |
FTP |
|
Erfordert, dass die |
H.323 |
|
– |
Internet Control Message Protocol (ICMP) |
|
Erfordert, dass die |
IP |
|
– |
Einloggen |
|
– |
NetBIOS |
|
Erfordert, dass die |
NetShow |
|
Erfordert, dass die |
RealAudio |
|
– |
Echtzeit-Streaming-Protokoll (RTSP) |
|
Erfordert, dass die |
Sitzungsinitiierungsprotokoll |
|
– |
SNMP |
|
Erfordert, dass die |
SQLNet |
|
Erfordert, dass die |
Vortragsprogramm |
|
|
Route verfolgen |
|
Erfordert, dass die |
Trivial FTP (TFTP) |
|
Erfordert, dass die |
WinFrame |
|
– |
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:
[edit applications application application-name] protocol type;
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.
Netzwerkprotokolltyp |
CLI-Wert |
Kommentare |
---|---|---|
External Gateway Protocol (EGP) |
|
– |
Generic-Routing-Encapsulation (GR) |
|
– |
ICMP |
|
Erfordert den |
ICMPv6 |
|
Erfordert den |
Internet Group Management Protocol (IGMP) |
|
– |
TCP |
|
Erfordert einen Wert für |
UDP |
|
Erfordert einen Wert für |
Eine vollständige Liste der möglichen numerischen Werte finden Sie unter RFC 1700, Zugewiesene Nummern (für die Internet Protocol Suite).
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:
[edit applications application application-name] icmp-code value; icmp-type value;
Sie können nur einen ICMP-Code und -Typwert einschließen. Die application-protocol
Anweisung muss den Wert icmp
haben. Tabelle 3 zeigt eine Liste der unterstützten ICMP-Werte.
CLI-Statement |
Beschreibung |
---|---|
|
Dieser Wert oder dieses Schlüsselwort enthält spezifischere Informationen als 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: Weiterleitung: Zeitüberschreitung: nicht erreichbar: |
|
Normalerweise geben Sie diese Übereinstimmung in Verbindung mit der Anstelle des numerischen Wertes können Sie eines der folgenden Textsynonyme angeben (die Feldwerte werden ebenfalls aufgelistet): |
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:
[edit applications application application-name] destination-port value; source-port value;
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.
Portname |
Entsprechende Portnummer |
---|---|
|
|
|
|
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:
[edit applications application application-name] inactivity-timeout seconds;
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.
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:[edit applications application application-name] learn-sip-register;
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. Dershow 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 densip-call-hold-timeout
Zyklus zurückgesetzt, wenn ein Anruf gehalten wird, um den Anrufstatus und die Abläufe länger als deninactivity-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:[edit applications application application-name] sip-call-hold-timeout seconds;
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.
INVITE bob@10.150.20.5
SIP/2.0 Via: SIP/2.0/UDP10.150.20.3
:5434 From: alice@10.150.20.3
To: bob@10.150.20.5
Call-ID: a12abcde@10.150.20.3
Contact: alice@10.150.20.3
:5434 Route: <sip:netscreen@10.150.20.3
:5060> Record-Route: <sip:netscreen@10.150.20.3
:5060>
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.
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.
o=user 2344234 55234434 IN IP410.150.20.3
c=IN IP410.150.20.3
m=audio43249
RTP/AVP 0
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:
c=IN IP410.123.33.4
m=audio33445
RTP/AVP 0 c=IN IP410.123.33.4
m=audio33447
RTP/AVP 0 c=IN IP410.123.33.4
m=audio33449
RTP/AVP 0
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:
[edit applications application application-name] snmp-command value;
Die unterstützten Werte sind get
, get-next
, set
und 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 snmp
haben.