Danksagung:
Viele Tips und ATM Kenntnisse verdanken wir mal wieder Jörn Bardewyck, Fa. High-Soft-Tech GmbH.
cFos/ATM (eine Spezialversion für Windows 9x/ME, Windows NT/2000/XP und OS/2) unterstützt die CAPI 2.0 Breitband Erweiterungen. Der Begriff "Breitband" und "ATM" werden im folgenden synonym verwendet. Wir glauben daß die CAPI Breitband Spec. in Zukunft zwar auch in anderen Netzen (z.B. in Verbindung mit Kabel-Modems) eingesetzt werden wird, diese dann aber vom CAPI auf ATM abgebildet werden, so daß keine Änderungen der CAPI-Applikationen nötig sind. Derzeit verwendet cFos/ATM die HST Breitband Spezifikation V 1.0 (rev.01) B04. Der -j$ Switch schaltet auf das von der CAPI Association in Arbeit befindliche Proposal V 1.1 (rev.01) B01 (30.11.1999) um. Änderungen bis zur Verabschiedung werden möglichst zeitnah eingepflegt. Bei Verabschiedung der CAPI Erweiterung wird nur noch die CAPI Spec. unterstützt werden und die Unterstützung der HST Spec. eingestellt. Dann entfällt auch der -j$ Switch.
Für ATM verwendet cFos/ATM die in modem.txt verwendeten mit '#' gekennzeichneten zusätzlichen *S Register und &S String Register.
Hinweis: cFos/ATM unterstützt auch ISDN und PPPoE / DSL. cFos/ATM bietet somit Zugriff auf drei verschiedene Netzwerk-Technologien in einem Treiber!
cFos aktiviert die Unterstützung der erweiterten CAPI Messages, wenn als B1 Protokoll AAL 1, 2, 3/4 oder 5 gewählt wurde. Defaultmäßig baut cFos ATM-Wählverbindungen (SVCs) auf. Für PVCs muß man die Register *S8 und *S9 entsprechend der Vorgaben des Netzanbieter einstellen.
Für Wählverbindungen (SVCs) kann zunächst mittels Register *S0 und *S1 die forward (vom Anrufer zum Angerufenen) und backward cell rate (1 Zelle =48 Bytes) eingestellt werden. Bei allen cell rate Einstellungen kann man immer die backward cell rate auf Null lassen. Dann nimmt cFos als backward cell rate, den im entsprechenden Register für die forward cell rate angegebenen Wert.
Möchte man AAL1 als B1 Protokoll benutzen, müssen zusätzlich die Register *S2 und *S3 konfiguriert werden. *S0 bestimmt in diesem Falle die CBR (stimmt die eingestellte Bitrate nicht den Werten aus Q.2931 überein, nimmt cFos die nächstliegende Rate).
cFos verwendet defaultmäßig Bearer Class C, VBR non-realtime mit konstanter Bitrate als Übertragungsart. Dies kann aber durch *S4 und *S5 verändert werden. Weiterhin erlaubt ATM die Einstellung einer maximalen Ende-zu-Ende Verzögerung, s. dazu *S6. Zur Datenübertragung ist AAL 5 vorgesehen und sollte als B1 Protokoll verwendet werden (AT S100=10). Man kann aber auch für Voice-/Telefonie- oder Videoübertragungen AAL1 oder AAL2 verwenden, oder für andere Anwendungen 3/4.
Die in Q.2931 vorgesehenen Narrowband BC, LLC, HLC Werte werden wie im ISDN erzeugt und signalisiert, um ISDN <-> ATM Interworking zu ermöglichen.
cFos signalisiert alle relevanten Breitband-Parameter mittels Q.2931 Info-Elementen. Dabei gibt es folgendes zu beachten:
Leider lassen sich nach Q.2931 mit dem B-LLI von den CAPI B2-Protokollen nur X.75 und von den B3-Protokollen nur T.70NL und ISO 8208 signalisieren. Daher kodiert cFos alle anderen CAPI B2-Protokolle als "layer 2 user protocol". Das "user octet" wird dabei auf 0xc0 + B2-Protokoll) gesetzt. 0xc0 soll andeuten, daß es sich um CAPI Protokolle handelt. Genauso verfährt cFos mit den nicht codierbaren B3-Protokollen. Weiterhin kann ISO/IEC TR 9577 zur Signalisierung für Layer 3 verwendet werden. Hierzu kann man mittels String Register &S9 den NLPID einstellen. Ist dieses Register nicht leer, signaliert cFos für Layer 3 TR9577, wobei Register &S9 die 8 Bytes Protokoll Informationen enthalten sollte. Damit ist es z.B. (anders als im ISDN) möglich, PPP over AAL5 zu signalisieren. cFos signalisiert dies im Falle aktivierter PPP Konvertierung gemäß TR 9577 mit den Octets 0xcf,0x0,0x0,0x0,0x0,0xcf,0x0,0x0. Statt dessen kann cFos auch LAN LLC signalisieren, indem Register S75.1=1 gesetzt wird. Dies wird bei LLC enkapsulierten PPP Frames verwendet. Nähere zur Signalisierung von PPP over AAL5, siehe RFC 2364.
Sollte eine Gegenstelle bestimmte Zusatzsignalisierungen im B-HLI benötigen, kann man dies mittels String Register &S8 einstellen.
Sonderfall Q.2110: X.75 ist im ATM wegen Beschränkungen in der Windowsize auf 7 nicht unbedingt zu empfehlen. Außerdem bietet Q.2110 die Möglichkeit (z.B. durch cell loss) verloren gegangene Frames selektiv neu zu übertragen. Wir betrachten Q.2110 daher als Standard-B2-Protokoll für Breitband-Netze, ähnlich wie X.75 als ISDN-Standard-Protokoll gilt. Daher generiert cFos bei Q.2110 als B2-Protokoll und transparentem B3-Protokoll keinen B-LLI, ähnlich, wie für X.75 kein LLC im ISDN generiert wird. Ebenso selektiert cFos Q.2110/transparent als B2-/B3- Protokoll in Abwesenheit von B-LLI bei eingehenden Rufen.
Hinweis: CAPI/ATM-Applikationen, die keine Protokolle signalisieren, riskieren, daß sich, wie im ISDN, Inkompatibilitäten zwischen den Teilnehmern einschleichen. Es geht hier um SVCs, d.h. um gewählte Verbindungen, wo ein Teilnehmer nicht immer nur eine Gegenstelle anruft, sondern verschiedene, mit unterschiedlichen Parametern. Dies haben auch die Autoren in Q.2931 berücksichtigt und Signalisierungsmöglichkeiten für nahezu alle Parameter geschaffen. Diese sollte man auch nutzen!
Einstellung des Traffic Contracts | |
---|---|
Constant Bit Rate (CBR) | AT*S4=1 |
Variable Bit Rate (VBR), realtime, konstante Bitrate | AT*S4=3 *S5=9 *S11=0 |
Variable Bit Rate (VBR), non-realtime, konstante Bitrate | AT*S4=3 *S5=10 *S11=0 |
Variable Bit Rate (VBR), realtime, variable Bitrate | AT*S4=3 *S5=9 *S11/*S12=SCR,*S13/*S14=MBS |
Variable Bit Rate (VBR), non-realtime, variable Bitrate | AT*S4=3 *S5=10 *S11/*S12=SCR,*S13/*S14=MBS |
Unspecified Bit Rate (UBR) | AT*S4=3 *S5=0 |
Unspecified Bit Rate Plus (UBR+) | AT*S4=3 *S5=0 *S11/*S12=MCR |
Available Bit Rate (ABR) | AT*S4=16 *S5=12 *S11/*S12=MCR |
Q.2931 (Anhang F) erlaubt beim Verbindungsaufbau das Mitschicken von AAL Parametern, um die maximale Sende- und Emfangsblockgröße auszuhandeln. Sendet ein Anrufer diese Parameter mit, muß der Angerufene diese Parameter beachten und ist verpflichtet, seinerseits AAL Parameter zum Anrufer zurückzusenden, die nicht größer sein dürfen, als die, die er erhalten hat. Der Anrufer muß dann diese erhaltenen Parameter auswerten und darf keine größeren Frames versenden, als in den AAL Parametern angegeben. cFos unterstützt diese Aushandlungsprozedur, indem es beim Verbindungs- Aufbau die entsprechenden AAL Parameter signalisiert und die Antwort wiederum auswertet.
Wir hoffen, daß auf diese Weise die Blockgrößen-Probleme, die wir im ISDN erleben müssen, gar nicht erst auftreten.
cFos wertet bei eingehenden Rufen die vorhandenen Info-Elemente aus. Ist ein AAL Parameter vorhanden, wird das entsprechende AAL Protokoll als B1 Protokoll selektiert. Ist ein LLI vorhanden, werden B2- und B3-Protokoll entsprechend dem unter "Signalisierung" angegebenen Verfahren ausgewählt. LLI, Layer 2 == LAN LLC und/oder Layer 3 == TR 9577 bewirken, daß B2- und B3-Protokoll transparent selektiert werden.
Wir befürworten kleine Frames, wie dies ja aus dem 100 Mbit/s Ethernet hinlänglich bekannt ist und gut funktioniert.
Große Frames haben folgende Nachteile:
Sie verursachen nur unnötig große Latenzen, z.B. in Routern und belegen unnötig viel Speicher. Die Ausstattung zweier Kommunikations-Partner im ATM kann sehr unterschiedlich sein, z.B. kann ein 64kbit/s Schmalband-User einen 155Mbit/s Server anrufen. Dieser mag normalerweise einen 64kb Frame in wenigen Millisekunden versenden können, bei einer 64kbit/s Verbindung braucht der Frame aber mindestens 8 Sekunden, d.h. man erzeugt 8 Sekunden Latenz.
Frames größer 1500 Bytes können Probleme im Zusammenhang mit PPP verursachen.
Bei ISDN / ATM Interworking könnten Frames, die größer als 2k sind, von ISDN CAPIs nicht verarbeitet werden.
Bei cell loss müssen unnötig viele Daten neu versendet werden.
Für Hochgeschwindigkeitsdatentransfer sind Frames von 1-2 kBytes Größe im Zusammenhang mit einer hinreichend groß gewählten Windowsize völlig ausreichend. Daher unterstützt cFos auch keine Frames größer 2k.
RFC 1483, IP over AAL5
RFC 2225, Classical IP and ARP over ATM
RFC 1755, ATM Signaling Support for IP over ATM
RFC 2331, ... UNI Signalling 4.0 Update
RFC 2364, PPP over AAL5
Teilnehmer des ATM erhalten derzeit nur eine Rufnummer und nicht, wie im ISDN, mehrere MSNs. Dadurch ist es nicht möglich mehrere Applikationen an einem ATM Controller anhand der Rufnummer auszuwählen. Daher simuliert cFos MSNs durch Subaddresses. Näheres dazu s. /cfos-professional/subadd.htm.
Die Windowsize steht defaultmäßig auf 4 (Windows & Win NT/2000/XP). Dies kann bei breitbandigen Transfers mit X.75 bzw. Q.2110 zu unnötigen Verzögerungen führen. Abhilfe schafft hier das Laden von cFos mit einer größeren Windowsize (-wX Parameter, für X z.B. 7 oder 14 einsetzen, je nach Bandbreite). Reine AAL 5 Verbindungen ohne B2 und B3 Protokolle (z.B. mit PPP over AAL 5) sollten da wesentlich unkritischer sein, da dort die Windowsize oberhalb von CAPI / cFos bestimmt wird.