home *** CD-ROM | disk | FTP | other *** search
/ Knowledge & Learning / WISS_LERN.iso / doslern / computer / educard / bs___6.sti < prev    next >
Encoding:
Text File  |  1992-03-09  |  92.3 KB  |  2,208 lines

  1. YCPAA #!!# - Rechnernetze -
  2. @CEInhalt
  3.  
  4. @CPDas Thema von BS___6 sind
  5. Rechnernetze.
  6.  
  7. Start mit ⌐Rechnernetz@BS___6¬
  8. AHBAA #!!# Rechnernetz  #!!# Netzwerk
  9. @HEEinführung
  10. @HB
  11. @HPVerbundsysteme@HB oder @HPNetze@HB kennt man aus den verschiedensten Bereichen.
  12. Typische Beispiele aus dem Bereich der Technik sind Versorgungsnetze,
  13. Telefonnetze, Verkehrsnetze. Ihnen allen ist gemeinsam, daß man sie durch
  14. zusammenhängende endliche Graphen beschreiben kann.
  15.  
  16. Die Knoten der Graphen entsprechen den Verteiler- und Entscheidungs-
  17. zentren, die Kanten den Kommunikations- und Transportwegen.
  18.  
  19. In @HPRechnernetzen@HB werden zwischen Netzknoten Nachrichten transportiert. Ein
  20. wesentlicher Unterschied zu anderen Netzen besteht darin, daß sich die
  21. Funktion der Netzknoten im Rechennetz nicht auf Schalt- oder Verteiler-
  22. funktionen beschränkt. Übermittlung von Nachrichten ist nicht die Haupt-
  23. aufgabe eines Rechnernetzes, sondern nur Begleitumstand der Auftrags-
  24. bearbeitungen, die in den Rechnersystemen der Netzknoten ablaufen.
  25.  
  26.  
  27. @HEDefinition
  28. @HB
  29. Ein @HPRechnernetz@HB ist ein loses gekoppeltes @HPMulticomputersystem@HB, bei dem
  30. einzelne Rechner (Rechnerknoten) räumlich getrennt sind. Die Kommunikation
  31. zwischen den Rechnerknoten erfolgt durch Nachrichtenaustausch auf der
  32. Grundlage von Protokollen.
  33.  
  34. Es gibt Netze, bei denen die Rechnerknoten über große geographische Räume
  35. verteilt sind und die Kommunikation in der Regel über öffentliche Daten-
  36. übertragungs-Einrichtungen, unter Umständen auch über Satelliten, erfolgt.
  37.  
  38. Bei anderen Netzen sind lokale Rechner miteinander verbunden. Die
  39. Rechnerknoten sind hier über spezielle Leitungen, zum Beispiel Koaxial-
  40. kabel, verbunden.
  41.  
  42.  
  43.  
  44.  
  45. @HEGründe für den Aufbau von Rechnernetzen
  46. @HB
  47. Für die Einrichtung von ⌐Rechnernetz@BS2¬en gibt es drei wesentliche Gründe:
  48.  
  49.   a) Erweiterung der @HPFunktionsbreite@HB der beteiligten autonomen
  50.      Rechnersysteme (resource sharing)
  51.  
  52.   b) @HPLastenausgleich@HB zwischen den beteiligten autonomen Systemen zum
  53.      Zweck verbesserter Antwortzeiten (load sharing)
  54.  
  55.   c) Erhöhung der @HPZuverlässigkeit@HB des Gesamtsystems
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63. @HBa) @HPErweiterung der Funktionsbreite@HB
  64.    Durch Schaffung von Rechnernetzen stehen den einzelnen Rechnersystemen
  65.    zusätzliche ⌐Betriebsmittel@BS1¬ bereit. Dies bietet die Möglichkeit zur:
  66.  
  67.    - gemeinsamen @HPDateibenutzung@HB
  68.      (Vorteil gegenüber Kopieren von großen Dateien)
  69.  
  70.    - gemeinsamen @HPProgrammbenutzung@HB
  71.      komplexe Programmsysteme können zentralisiert werden
  72.      (Vorteile: verkürzte Ausführungszeiten, erhöhte Leistungsfähigkeit)
  73.  
  74.    - Befriedigung von Anforderungen großer @HPSpeicherkapazitäten@HB
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81. @HBb) @HPLastenausgleich@HB
  82.    Das Ziel des Lastenausgleichs ist die Ausnutzung freier Kapazitäten
  83.    und dadurch eine bessere Ausnutzung der beteiligten Systeme, woraus
  84.    eine Verkürzung der Bearbeitungsdauer von Aufträgen folgt.
  85.  
  86. c) @HPZuverlässigkeit@HB
  87.    Die Zuverlässigkeit des Gesamtsystems ist höher als die Zuverlässig-
  88.    keit eines einzelnen beteiligten Systems, da dessen Aufgaben umver-
  89.    teilt werden können, wenn es ausfällt.
  90.  
  91.  
  92.       weiter mit ⌐Kommunikationssysteme@BS___6¬
  93. AHBAA #!!# Kommunikationssysteme
  94. @HEKommunikation in Rechnernetzen
  95. @HB
  96. Ein wesentlicher Teil eines ⌐Rechnernetz@BS___6¬es ist das Kommunikationssystem.
  97. Die Anforderungen an ein Kommunikationssystem beziehen sich auf folgende
  98. Eigenschaften:
  99.  
  100.   a) Übertragungsgeschwindigkeit bzw. -verzögerung
  101.  
  102.   b) ⌐Durchsatz@BS1¬
  103.  
  104.   c) Übertragungskosten
  105.  
  106.   d) Zuverlässigkeit
  107.  
  108.  
  109.  
  110.  
  111.  
  112. @HBa) @HPZeitverzögerung@HB
  113.    Die Zeitverzögerung im Rechennetz setzt sich zusammen aus Wartezeiten
  114.    auf das Freiwerden von Kommunikationskanälen und der Übertragungszeit
  115.    für die Nachricht. Sie sollte sich höchstens in der Größenordnung der
  116.    Übertragungszeit der Nachricht bewegen.
  117.  
  118. b) @HPDurchsatz@HB
  119.    Der Durchsatz eines Rechnernetzes ist stark verbunden mit der Über-
  120.    tragungsgeschwindigkeit bzw. der Zeitverzögerung.
  121.  
  122.    Der mittlere Durchsatz setzt sich zusammen aus
  123.                                @HP_@HP
  124.    - mittlere Nachrichtenlänge @HPb@HB in Bits
  125.  
  126.    - Anzahl der Nachrichten @HPm@HB im Netz
  127.  
  128.    - Zeitverzögerung @HPZ_jk@HB des Netzes in Sekunden, gemittelt über alle
  129.      Nachrichten, die vom Knoten j zum Knoten k transportiert werden.
  130.      @AO ╔═══════════════════════════════════╗ @HB
  131.      @AO ║                        _     m    ║ @HB
  132.      @AO ║  Mittlerer Durchsatz = b * ────── ║ @HB
  133.      @AO ║                             Z_jk  ║ @HB
  134.      @AO ╚═══════════════════════════════════╝ @HB
  135.  
  136. c) @HPÜbertragungskosten@HB
  137.    Hier gilt ähnliches wie bei den Verzögerungszeiten:
  138.    Die Übertragungskosten sollten im "sinnvollen" Verhältnis zu den
  139.    Bearbeitungskosten des jeweiligen Auftrags stehen.
  140.  
  141. d) @HPZuverlässigkeit@HB
  142.    Das Kommunikationssystem und damit das Rechnernetz sollte nicht durch
  143.    Ausfall einzelner Übertragungswege funktionsunfähig werden.
  144.    Wesentlich für die Zuverlässigkeit des Kommunikationssystems sind auch
  145.    eine Fehlererkennungs- und Fehlerkorrektur-Möglichkeit beim Auftreten
  146.    einzelner Übertragungsfehler. Fehlererkennung und -korrektur kann durch
  147.    geeignete Kommunikationsprotokolle erreicht werden.
  148. @HEAufgaben des Kommunikationssystems
  149. @HB
  150. Die Aufgabe des Kommunikationssystems besteht in der Abwicklung der
  151. Informationsübertragung zwischen den autonomen Rechnern des Netzes, das
  152. heißt es ist für den Transport von Nachrichten von der Nachrichtenquelle
  153. zum Nachrichtenziel verantwortlich. Im einzelnen gehören dazu:
  154.  
  155.   a) die @HPSynchronisation@HB von exklusiven ⌐Betriebsmittel@BS1¬n,
  156.      das heißt den gegenseitigen Ausschluß beim Zugriff auf globale
  157.      Daten garantieren
  158.  
  159.   b) die @HPBereitstellung eines Nachrichtenweges@HB,
  160.      das heißt der Aufbau eines physikalischen Übertragungsweges von der
  161.      Quelle zum Ziel durch Bereitstellen und Zusammenschaltung der
  162.      notwendigen Kommunikationskanäle
  163.  
  164.   c) die @HPNachrichtenweiterleitung@HB,
  165.      der eigentliche Nachrichtentransport über die Kommunikationskanäle
  166.  
  167.  
  168.  
  169.       weiter mit ⌐Netz-Synchronisation@BS___6¬
  170. AHBAA #!!# Netz-Synchronisation
  171. @EH                   Synchronisation in Rechnernetzen
  172. @HB
  173. Ein Beispiel für die Synchronisation in ⌐Rechnernetz@BS___6¬en, zum Zweck
  174. des gegenseitigen Ausschlusses beim gemeinsamen Zugriff auf ein exklusiv
  175. benutzbares Betriebsmittel, ist der Algorithmus von Ricart und Agrawala.
  176.  
  177. @HEAlgorithmus von Ricart und Agrawala
  178. @HB
  179. Voraussetzungen:
  180.    - Prozesse können nur durch Nachrichten kommunizieren, wobei jeder mit
  181.      jedem in Kommunikation treten kann.
  182.    - Die Arbeit in den Knoten und der Nachrichtenaustausch verlaufen ohne
  183.      Störungen.
  184.    - Die Übertragungsdauer ist völlig unvorhersehbar.
  185.      Es kann also vorkommen, daß sich Nachrichten gegenseitig überholen.
  186.    - Die Lösung soll symmetrisch sein, das heißt alle Knoten werden gleich
  187.      behandelt. Es gibt keinen "Master", der mehr Rechte hat als andere
  188.      Knoten.
  189. Idee:
  190.   Jeder Knoten, der das kritische Gebiet betreten will, fragt bei allen
  191.   anderen nach, ob er es darf (sendet REQUEST) und wartet auf deren
  192.   Einwilligung (erhält REPLY).
  193.  
  194.   Ein Knoten kann nicht "Nein" sagen (seine Einwilligung nicht geben),
  195.   sondern nur sein "Ja" (seine Einwilligung) verzögern. Er kann aus zwei
  196.   Gründen verzögern:
  197.  
  198.     a) er selbst ist im kritischen Gebiet oder
  199.  
  200.     b) er hat sich um das kritische Gebiet beworben und Vorrang vor allen
  201.        ihm bekannten Mitbewerbern.
  202.  
  203.   Er gibt seine Einwilligung im Fall a) erst dann, wenn er das kritische
  204.   Gebiet verlassen hat und im Fall b) erst dann, wenn er das kritische
  205.   Gebiet betreten und wieder verlassen hat.
  206.  
  207. @HB  Ein Knoten hat Vorrang, wenn ihm
  208.   a) weniger Bewerbungen für das kritische Gebiet bekannt sind als seinen
  209.      Mitbewerbern und er hat Vorrang, wenn
  210.  
  211.   b) die Anzahl der bekannten Bewerbungen gleich ist aber seine Knoten-
  212.      Nummer kleiner ist, als die seiner Konkurrenten.
  213.  
  214. Lokale Daten eines Knotens:
  215.  
  216.    - @HPme@HB                 : Knoten-Nummer des gerade betrachteten Knotens
  217.  
  218.    - @HPk@HB                  : Knoten-Nummer eines anderen Knotens
  219.  
  220.    - @HPhighest_seq_nr@HB     : die größte Bewerberzahl, die dem gerade betrach-
  221.                           teten Knoten (me) bekannt ist
  222.  
  223.    - @HPhis_highest_seq_nr@HB : die größte Bewerberzahl, die dem Knoten mit der
  224.                           Nummer k bekannt ist
  225.  
  226. @HBAlgorithmus (vereinfacht) fü alle N Knoten des Netzes:
  227.  
  228.   1. Arbeit des Knotens: @HPBeantrage kritisches Gebiet@HB
  229.  
  230.        i) Sende an alle Knoten REQUEST (me, highest_seq_nr + 1) und warte
  231.           dann, bis alle Einwilligungen (REPLY's) eingetroffen sind.
  232.  
  233.       ii) Eintritt, Arbeit, Verlassen des kritischen Gebietes
  234.  
  235.      iii) Schicke REPLY an alle Knoten, die zwischenzeitlich das
  236.           kritische Gebiet im Netz beantragt haben, aber erst jetzt
  237.           (nach meinem Verlassen des kritischen Gebietes) die Einwilligung
  238.           erhalten können.
  239.  
  240.  
  241.  
  242.  
  243.  
  244. @HB  2. Arbeit des Knotens:
  245.      @HPBehandle erhaltenes REQUEST (k, his_highest_seq_nr)@HB
  246.  
  247.       i) highest_seq_nr := max (highest_seq_nr, hishighest_seq_nr)
  248.  
  249.      ii) Einwilligung (REPLY) an k verzögern, falls
  250.  
  251.            - me selbst im kritischen Gebiet ist bzw.
  252.  
  253.            - hinein will und Vorrang hat.
  254.  
  255.          Sonst sende sofort REPLY an k.
  256.  
  257.   3. Arbeit des Knotens: @HPBehandle erhaltene REPLY's@HB
  258.  
  259.      Zähle die Anzahl der erhaltenen Einwilligungen (REPLY's) mit, um
  260.      bei 1. i) entscheiden zu können.
  261.  
  262. @HEEigenschaften des Algorithmusses von Ricard und Agrawala
  263. @HB
  264. a) @HPAnzahl der Nachrichten@HB, um einen gegenseitigen Ausschluß zu
  265.    garantieren
  266.  
  267.            @HLN - 1  REQUEST's verschicken @HBan alle Kunden außer mir
  268.            @HLN - 1  REPLY's   erhalten    @HBvon allen Kunden außer mir
  269.     @HL─────────────
  270.     Σ : 2 (N - 1)
  271.  
  272. @HB
  273.     Diese Zahl kann man bei anderen Voraussetzungen verringern, wie
  274.  
  275.       - der Algorithmus von @HPSuzuki/Kasami@HB (N Nachrichten) oder
  276.  
  277.       - der Algorithmus von @HPMeakawa@HB       (c * √N Nachrichten)
  278.  
  279.     zeigen.
  280. @HBb) Der @HPgegenseitige Ausschluß@HB ist gesichert.
  281.    Beweis durch Widerspruch:
  282.  
  283.      Annahme:
  284.        Knoten A und B sind gleichzeitig im kritischen Gebiet.
  285.  
  286.      Dieser Zustand kann nur auf Grund folgender Situationen eingetreten
  287.      sein:
  288.  
  289.      1. Fall:
  290.        Einer ist im kritischen Gebiet und der andere kommt hinzu.
  291.        Zum Beispiel hat B als erster ein REQUEST geschickt und A will
  292.        noch nicht ins kritische Gebiet, schickt also ein REPLY an B.
  293.  
  294.             @HAREQUEST      REPLY
  295.          @HLB @HP─────────> @HLA @HP─────────> @HLB@HB
  296.  
  297.        B betritt das kritische Gebiet.
  298. @HB       A will nun auch ins kritische Gebiet, schickt also REQUEST an B.
  299.  
  300.             @HAREQUEST
  301.          @HLA @HP─────────> @HLB@HB
  302.  
  303.        Da seq_nr (A) > seq_nr (B) (Bewerberzahl, die A bekannt ist, ist
  304.        größer als die Bewerberzahl, die B bekannt ist) sendet B kein
  305.        REPLY und somit kann A nicht gleichzeitig ins kritische Gebiet.
  306.        ==> Widerspruch !
  307.  
  308.      2. Fall:
  309.        A und B gelangen gleichzeitig ins kritische Gebiet.
  310.        A und B müssen also gleichzeitig ein REQUEST schicken. Geht man
  311.        davon aus, daß ihnen die gleiche Anzahl von Bewerbern bekannt
  312.        ist, (seq_nr (A) = seq_nr (B)), so sind jedoch ihre Knoten-
  313.        Nummern verschieden. Es schickt also nur einer ein REPLY zurück
  314.        (und zwar der mit der größeren Knoten-Nummer). Folglich können
  315.        nicht beide ins kritische Gebiet.   ==> Widerspruch !
  316. @HBc) Es kann kein @HPDeadlock@HB eintreten.
  317.    Beweis durch Widerspruch:
  318.  
  319.      Annahme:
  320.        Ein Deadlock sei eingetreten. Knoten A und B warten auf gegen-
  321.        seitiges REPLY.
  322.  
  323.      Wenn A und B auf ein gegenseitiges REPLY warten, so heißt das, sie
  324.      haben ihr REPLY an den anderen verzögert. Verzögern kann ein Knoten
  325.      seine Einwilligung aber nur, wenn er Vorrang vor seinen Konkurren-
  326.      ten hat (eine größere Priorität besitzt als sie). Wenn A und B
  327.      aufeinander warten, so müßten sie die gleiche Priorität haben.
  328.      Dies kann aber nicht sein, weil zumindest ihre Knoten-Nummern
  329.      unterschiedlich sind und es wird der Knoten bevorzugt (genießt
  330.      höhere Priorität), der die kleinere Knoten-Nummer hat. Der andere
  331.      Knoten muß also sein REPLY senden. Einer erhält also betimmt ein
  332.      REPLY.
  333.                      ==> Widerspruch !
  334. @HBd) Es kann kein Knoten @HPverhungern@HB.
  335.    Beweis durch Widerspruch:
  336.  
  337.      Annahme:
  338.        Ein Knoten wird dauernd bei seiner Bewerbung um das kritische
  339.        Gebiet übergangen.
  340.  
  341.      Wenn ein Knoten dauernd übergangen wird, so heißt das, daß er nie
  342.      alle REPLY's der anderen Knoten erhält.
  343.      Bewirbt sich ein Knoten A um das kritische Gebiet, so ist vor ihm
  344.      eine endliche Zahl von Anforderungen. Die ihm bekannte Bewerberzahl
  345.      seq_nr (A) liegt also zwischen 0 und (N-1). Bewirbt sich danach ein
  346.      anderer Knoten B auch um das kritische Gebiet, so darf er seine
  347.      Einwilligung (REPLY) nur verzögern, wenn die ihm bekannte Bewerber-
  348.      zahl seq_nr (B) kleiner ist als die des Knotens A. Sie muß aber
  349.      größer sein, da er von A bereits ein REQUEST erhalten hat mit dessen
  350.      Bewerberzahl (seq_nr (A)) und dazu kommt noch die Bewerbung des
  351.      Knotens A. Es gilt also seq_nr (B) = seq_nr (A) + 1 > seq_nr (A).
  352. @HB     Die Bewerber vor A schicken ihm ihr REPLY, sobald sie das kritische
  353.      Gebiet verlassen haben. Die Bewerber nach A müssen ihm ihr REPLY
  354.      schicken, weil sie die größeren Bewerberzahlen haben. Der Knoten A
  355.      hat also nach endlicher Zeit alle REPLY's erhalten.
  356.  
  357.      Es entsteht im Prinzip eine FIFO-⌐Warteschlange@BS1¬.
  358.  
  359. e) @HPAusfall@HB eines Knotens
  360.    Wenn ein Knoten ausfällt, so kann er kein REPLY mehr senden. Er würde
  361.    somit das gesamte Netz lahmlegen.
  362.  
  363.    Man benutzt deshalb eine @HPtime-out-Zeit@HB. Verstreicht sie, ohne daß der
  364.    Knoten alle REPLY's erhalten hat, so weiß er, daß der Knoten mit dem
  365.    fehlenden REPLY ausgefallen ist. Er wertet dieses Ereignis aber so, als
  366.    wenn er von dem ausgefallenen Knoten ein REPLY erhalten hätte und kann
  367.    somit weiterarbeiten. Die Größe der time-out-Zeit ist ein Erfahrungs-
  368.    wert, der sich an der Übertragungszeit von REQUEST und REPLY
  369.    orientiert, eventuell unter Berücksichtigung von Verarbeitungszeiten.
  370. @HBf) Knoten @HPeinfügen / löschen@HB
  371.    Es müssen alle anderen Knoten von einer Änderung (Knoten einfügen oder
  372.    löschen) informiert werden. Man benötigt dafür einen eigenen Nachrich-
  373.    tentyp.
  374.  
  375.    Wird ein neuer Knoten eingefügt, so nimmt er Kontakt zu irgendeinem
  376.    Knoten im Netz auf. Dieser teilt dann den restlichen Knoten diese
  377.    Neuigkeit mit.
  378.  
  379. g) @HPTopologie@HB, die dem Algorithmus zu Grunde liegt
  380.    Der Algorithmus ist, so wie er hier angegeben ist, für ein Netz ausge-
  381.    legt, bei dem jeder Knoten mit jedem anderen verbunden ist.
  382.  
  383.    Er ist aber auch auf andere Topologien, wie zum Beispiel Ringform,
  384.    anwendbar. Bei der Ringform kann man sich das REPLY als Nachricht
  385.    sparen. Erreicht ein REQUEST seinen Absender, so wertet man dieses
  386.    Ereignis als REPLY.
  387.  
  388. @HBh) @HPPrioritätenvergabe@HB
  389.    Bei dem hier vorgestellten Algorithmus werden kleine Knoten-Nummern
  390.    bevorzugt, haben also eine höhere Priorität.
  391.  
  392.    Eine andere Möglichkeit, die Prioritäten festzulegen, ist folgende:
  393.    Man erhöht beim Senden eines REQUEST die seq_nr nicht um 1, sondern
  394.    um eine Zufallszahl, wobei
  395.  
  396.       - Prozesse hoher Priorität um eine kleine Zufallszahl und
  397.       - Prozesse niedrigerer Priorität um eine größere Zufallszahl
  398.  
  399.    erhöht werden.
  400.  
  401.  
  402.  
  403.                weiter mit ⌐Nachrichtenwege@BS___6¬
  404. AHBAA #!!# Nachrichtenwege
  405. @EH                  Bereitstellen von Nachrichtenwegen
  406. @HB
  407. Bei der Zusammenschaltung von physikalischen Übertragungskanälen zu Nach-
  408. richtenwegen im Rechnernetz werden im wesentlichen die folgenden Verfahren
  409. angewendet.
  410.  
  411. Zur Anschauung dient dieses Beispiel-Teilnetz:
  412.  
  413.  
  414.  
  415.                @HK╔══════════════════════════════════════════╗
  416.   @HA┌────────┐   @HK║  @HA┌───┐      @HA┌───┐      @HA┌───┐      @HA┌───┐  @HK║   @HA┌──────┐
  417.   @HA│ @HLQuelle @HA│@HP─────>@HA│ @HLA @HA│@HP─────>@HA│ @HLB @HA│@HP─────>@HA│ @HLC @HA│@HP─────>@HA│ @HLD @HA│@HP─────>@HA│ @HLZiel @HA│
  418.   @HA└────────┘   @HK║  @HA└───┘      @HA└───┘      @HA└───┘      @HA└───┘  @HK║   @HA└──────┘
  419.                @HK╚══════════════════════════════════════════╝
  420.  
  421.  
  422.  
  423. @HEa) Circuit switching (Leitungsdurchschaltung)
  424. @HB
  425. Prinzip:
  426.   Es wird der gesamte Nachrichtenweg von der Nachrichtenquelle bis zum
  427.   Ziel aufgebaut. Dies geschieht durch eine spezielle Nachricht. Sie dient
  428.   zur Beschlagnahmung der Kanäle, die zum Nachrichtenweg gehören, für die
  429.   gesamte Dauer einer @HPSession@HB (Übertragungsgespräch).
  430.  
  431.   Nachdem der Weg aufgebaut ist, wird ein Signal an die Quelle zurückge-
  432.   sendet, auf Grund dessen die Datenübertragung beginnt.
  433.  
  434.   Es können dabei mehrere Nachrichten übermittelt werden. Erst wenn die
  435.   Quelle den Nachrichtenweg wieder freigibt, sind die Nachrichtenkanäle
  436.   wieder frei für Nachrichten-Übertragungen zwischen anderen Netzknoten.
  437.  
  438.  
  439.  
  440.  
  441. @HAStart @HP─>@HL║A             @HL║B             @HL║C             @HL║D @HA┐
  442.         @HL║@HP──────┐@HASignal @HL║              @HL║              @HL║  @HA│  K @HB= Verzögerung
  443.         @HL║      @HP└──────>@HL║@HA┐K            @HL║              @HL║  @HA│    @HBwegen Kanal-
  444.         @HL║              ║@HA┘@HP─────┐       @HL║@HA┐Ü            @HL║  @HA│    @HBbelegtheit
  445.         @HL║              ║      @HP└──────>@HL║@HA┘             @HL║  @HA│
  446.         @HL║              ║              ║@HP──────┐       @HL║  @HA│  Ü @HB= Über-
  447.         @HL║              ║              ║      @HP└──────>@HL║  @HA│    @HBtragungs-
  448.         @HL║              ║              ║      @HP┌───────@HL║  @HA│    @HBverzögerung
  449.         @HL║       @HAReturn-@HL║@HASignal@HP┌──────────────┘       @HL║  @HA│
  450.         @HL║      @HP┌──────────────┘       @HL║              ║  @HA├ Bedienzeit
  451.         @HL║@HP<─────┘       @HL║              ║              ║  @HA│
  452.        @HA┌@NL║@NP──────┐@HL       ║              ║              ║  @HA│
  453.       @HAI┤@NL║      @NP└──────────────┐@HL       ║              ║  @HA│  I @HB= Datenüber-
  454.        @HA│@NL║              @NL║      @NP└──────────────┐@HL       ║  @HA│    @HBtragungszeit
  455.        @HA└@NL║@NP──────┐       @NL║ @NADaten ──>    @NL║      @NP└───────@NL║@HA  │
  456.         @HL║      @NP└──────────────┐       @NL║              @NL║@HA  │
  457.         @HL║              ║      @NP└──────────────┐       @NL║@HA  │
  458.         @HL║              ║              ║      @NP└───────@NL║@HP─>@HA┘Ende
  459. @HEb) Message switching (Nachrichtenvermittlung)
  460. @HB
  461. Prinzip:
  462.   Bei der Übertragung wird immer nur ein Kanal beschlagnahmt. Die Nach-
  463.   richt wird zuerst von der Quelle zum nächsten Knoten innerhalb des
  464.   Nachrichtenweges geschickt. Wenn die ganze Nachricht dort angekommen ist
  465.   (Zwischenspeicherung), wird das nächste Wegstück ausgewählt. Ist der
  466.   ausgewählte Kanal bereits belegt, wartet die Nachricht in einer Queue,
  467.   bis er wieder frei ist.
  468.  
  469.   Die Nachricht hüpft also quasi von Knoten zu Knoten durch das Netz und
  470.   wartet, wenn Kanäle belegt sind.
  471.  
  472.   Bei diesem Übertragungs-Verfahren wird die Nachricht in einen Header
  473.   und die eigentlichen Daten unterteilt. Der @HPHeader@HB beinhaltet Infor-
  474.   mationen über Ursprung, Ziel, Länge der Nachricht usw. Sonderzeichen
  475.   kennzeichnen den Beginn und das Ende der Nachrichtenteile. 
  476.  
  477. @HAStart @HP─>@HL║A             ║B             ║C             ║D @HA┐
  478.         @NL║@NP▀▀▀▀▀▀█@HL       ║              ║              ║  @HA│ W @HB= Zeit für
  479.         @NL║      @NP▀▀▀▀▀▀▀▀@NL║@HL              ║              ║  @HA│   @HBWegermittlung
  480.         @NL║  @NADaten ──>@NL   ║@HL              ║              ║  @HA│
  481.         @NL║@NP──────┐       @NL║@HL              ║              ║  @HA│
  482.         @HL║      @NP└───────@NL║@HA┐W@HL            ║              ║  @HA│
  483.         @HL║              ║@HA│             @HL║              ║  @HA│
  484.         @HL║              @NL║@NP▀▀▀▀▀▀█@HL       ║              ║  @HA├ Bedienzeit
  485.         @HL║              @NL║      @NP▀▀▀▀▀▀▀▀@NL║@HL              ║  @HA│
  486.         @HL║              @NL║  @NADaten ──>   @NL║@HL              ║  @HA│ @HB(kürzer als bei
  487.         @HL║              @NL║@NP──────┐       @NL║@HL              ║  @HA│ @HBcircuit-
  488.         @HL║              ║      @NP└───────@NL║@HL              ║  @HA│ @HBswitching)
  489.         @HL║              ║              @HL║              ║  @HA│
  490.         @HL║              ║              @NL║@NP▀▀▀▀▀▀█@HL       ║  @HA│
  491.         @HL║              ║              @NL║      @NP▀▀▀▀▀▀▀▀@NL║@HL  @HA│
  492.         @HL║              ║              @NL║  @NADaten ──>   @NL║@HL  @HA│
  493.         @HL║              ║              @NL║@NP──────┐       @NL║@HL  @HA│
  494.         @HL║              ║              ║      @NP└───────@NL║@HP─>@HA┘Ende
  495. @HEc) Packet switching (Paket-Nachrichten-Vermittlung)
  496. @HB
  497. Prinzip:
  498.   Die Nachricht wird im Prinzip wie beim message switching übertragen,
  499.   aber mit dem Unterschied, daß die Nachrichten in Pakete mit maximaler
  500.   Länge (Beispiel: Nachricht 3,5 kBit ==> 3 Pakete mit Länge 1 kBit und
  501.   1 Paket mit Länge ½ kBit) zerstückelt werden.
  502.  
  503.   Die Pakete werden dann nach dem message switching Verfahren verschickt.
  504.   Dabei können mehrere Pakete der selben Nachricht gleichzeitig durch das
  505.   Netz wandern, @HPpipeling-Effekt@HB.
  506.  
  507.   Die Übertragungsverzögerung verringert sich gegenüber message switching
  508.   beträchtlich (proportional zu der Anzahl der Pakete, in die die Nach-
  509.   richt zerstückelt wird).
  510.  
  511.   Jedes Nachrichtenpaket benötigt einen eigenen Header.
  512.  
  513. @HAStart @HP─>@HL║A             ║B             ║C             ║D @HA┐
  514.         @NL║@NP▀▀▀▀▀▀█@HL       ║              ║              ║  @HA│
  515.         @NL║ @NADaten@NP▀▀▀▀▀▀▀▀@NL║@HL              ║              ║  @HA│
  516.         @NL║@NP▀▀▀▀▀▀█ @NA──>   @NL║@HL              ║              ║  @HA│
  517.         @NL║ @NADaten@NP▀▀▀▀▀▀▀▀@NL║@NP▀▀▀▀▀▀█@HL       ║              ║  @HA│
  518.         @NL║@NP▀▀▀▀▀▀█ @NA──>   @NL║      @NP▀▀▀▀▀▀▀▀@NL║@HL              ║  @HA├ Bedienzeit
  519.         @NL║ @NADaten@NP▀▀▀▀▀▀▀▀@NL║@NP▀▀▀▀▀▀█       @NL║@HL              ║  @HA│
  520.         @NL║@NP──────┐ @NA──>   @NL║      @NP▀▀▀▀▀▀▀▀@NL║@NP▀▀▀▀▀▀█@HL       ║  @HA│ @HB(kürzer als bei
  521.         @HL║      @NP└───────@NL║@NP▀▀▀▀▀▀█       @NL║      @NP▀▀▀▀▀▀▀▀@NL║@HA  │ @HBmessage
  522.         @HL║              @NL║      @NP▀▀▀▀▀▀▀▀@NL║@NP▀▀▀▀▀▀█       @NL║@HA  │ @HBswitching)
  523.         @HL║              @NL║@NP──────┐       @NL║      @NP▀▀▀▀▀▀▀▀@NL║@HA  │
  524.         @HL║              ║      @NP└───────@NL║@NP▀▀▀▀▀▀█       @NL║@HA  │
  525.         @HL║              ║              @NL║      @NP▀▀▀▀▀▀▀▀@NL║@HA  │
  526.         @HL║              ║              @NL║@NP──────┐       @NL║@HA  │
  527.         @HL║              ║              ║      @NP└───────@NL║@HP─>@HA┘Ende
  528.         @HL║              ║              ║              ║
  529.         @HL║              ║              ║              ║
  530.         @HL║              ║              ║              ║
  531. @HEVergleich der 3 Übertragungsverfahren
  532. @HB
  533.    - Bei circuit switching werden am wenigsten Bits übertragen, während
  534.      beim packet switching am meisten (zusätzlich zu den Daten noch die
  535.      Header) übertragen werden.
  536.  
  537.    - Wenn ein großer, gleichmäßiger Datenstrom übertragen werden soll, ist
  538.      circuit switching am sinnvollsten. Sind die Datenmengen aber klein
  539.      und vielzählig, wie es bei Rechnern üblich ist, so empfiehlt es sich
  540.      packet switching anzuwenden.
  541.  
  542.    - Beim packet switching Verfahren reichen geringere Speicherkapazitäten
  543.      aus als bei den beiden anderen Verfahren.
  544.  
  545.    - Beim packet switching können sich Pakete überholen, worauf beim
  546.      Zielknoten geachtet werden muß.
  547.  
  548.  
  549. @HBDa packet switching die größten Vorteile hat, ist es auch am weitesten
  550. verbreitet. Deshalb wird im folgenden immer von packet switching Netzen
  551. ausgegangen.
  552.  
  553.  
  554.            weiter mit ⌐Satelliten@BS___6¬
  555. AHBAA #!!# Satelliten
  556. @EH                        Satellitenübertragung
  557. @HB
  558. Für sehr große Strecken, insbesondere transkontinentale Entfernungen,
  559. erweist sich die Übertragung mittels Satelliten als besonders bedeutsam,
  560. vor allem auf Grund der sehr hohen Übertragungskapazität.
  561.  
  562. Moderne Satelliten mit verbesserter Technologie machen diese Art der
  563. Übertragung schon bei Entfernungen von einigen hundert Kilometern
  564. rentabel.
  565.  
  566. @HEWesentliche Eigenschaften stationärer, erdnaher Satelliten
  567. @HB
  568.   a) Sie kreisen in @HP36.000 km Höhe@HB geostationär um die Erde.
  569.  
  570.   b) Sie empfangen die Signale vom Boden, setzen sie in ein anderes
  571.      Frequenzband um, verstärken es und senden es wieder aus.
  572.      Sie können also gleichzeitig @HPsenden und empfangen@HB.
  573.  
  574. @HB  c) Bei der Satellitenübertragung tritt eine große @HPVerzögerung@HB
  575.      (0,24 - 0,27 sec) der Signale auf. Dies ist bedingt durch die
  576.      großen Entfernungen (Erde - Satellit - Erde = 70.000 km).
  577.      @HL
  578.                                                 km
  579.               Lichtgeschwindigkeit c = 300.000 ─────
  580.                                                 sec
  581.  
  582.                 70.000
  583.       ==>     ───────── ≈ 0,24
  584.                300.000
  585. @HB
  586.   d) Signale werden mit einer hohen @HPTrägerfrequenz@HB
  587.      (12 - 14 GHz, G = 1000.000.000) gesendet.
  588.  
  589.  
  590.  
  591.  
  592. @HEKollisionen
  593. @HB
  594. Bei der Satellitenübertragung sendet eine Station Daten zum Satelliten,
  595. von dort werden sie zur Erde reflektiert und können von allen Stationen
  596. im Schatten des Satelliten (einschließlich des Senders selbst) empfangen
  597. werden. Mittels Adressierung wählt jede Station ihre Nachricht aus. Man
  598. muß dabei beachten, daß alle Stationen auf einem einzigen gemeinsamen
  599. Frequenzband Nachrichten senden und auf einem anderen gemeinsamen
  600. Frequenzband Nachrichten empfangen. Dadurch entsteht auch das Hauptproblem
  601. bei der Satellitenübertragung: ⌐Kollision@BS2¬en.
  602.  
  603. Werden zwei oder mehrere Nachrichten gleichzeitig übertragen, treten
  604. Kollisionen auf, die es unmöglich machen, die verschiedenen Nachrichten
  605. beim Empfang zu unterscheiden. Sie sind praktisch zerstört und werden
  606. daher von den Empfängern zurückgewiesen. Sie müssen also nochmals gesendet
  607. werden. Gerade bei einem hohen Nachrichtenaufkommen führen Kollisionen zu
  608. einem niedrigen Durchsatz. Ein wichtiges praktisches Problem besteht also
  609. darin, Kollisionen zu vermeiden.
  610. @HEPure ALOHA
  611. @HB
  612. Die einfachste Art, die Datenpakete zu senden, ist die, daß jede Station
  613. zu jeder beliebigen Zeit ohne Rücksicht auf die anderen Stationen zu
  614. senden beginnen kann. Wenn ein Sender nach der Übertragungsverzögerung von
  615. rund 0,25 sec seine eigene Nachricht ungestört hört, also eine positive
  616. Bestätigung der Übertragung hat, nimmt er an, daß die Übertragung erfolg-
  617. reich war. Im anderen Fall ist eine Kollision aufgetreten und das Daten-
  618. paket muß nochmals gesendet werden. Dabei sollte eine zufällige Zeitspanne
  619. gewartet werden, bis erneut gesendet wird, da sonst eine weitere Kollision
  620. vorprogrammiert ist.
  621.  
  622. Ein entscheidendes Kriterium auch bei der Satellitenübertragung ist der
  623. Durchsatz, das heißt wieviel Nachrichten bzw. Datenpakete kommen pro
  624. Zeiteinheit korrekt an.
  625.  
  626.  
  627.  
  628. @HBSei t die Übertragungszeit für ein Paket
  629.  
  630. @HL             Paketlänge (bit)            @HBbei Vernachlässigung der
  631. @HL    t = ────────────────────────────
  632. @HL         Kanalkapazität (bit / sec)      @HBÜbertragungsverzögerung
  633.  
  634.  
  635. Eine Kollision tritt nur dann nicht auf, wenn während der Zeit t vor und
  636. nach Beginn der Übertragung keine Übertragung eines anderen Paketes
  637. begonnen wird.
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646. @HEKollisionen bei Pure ALOHA
  647.  
  648.                      @NP┌────────────────┐@HB
  649.                      @NP│    Paket A     │@HB
  650.                      @NP└────────────────┘@HA
  651.                      :                :
  652.        @NP┌─────────────@NA:@NP══╗@HA             :
  653.        @NP│    Paket B  @NA:@NP  ║@HA             :
  654.        @NP└─────────────@NA:@NP══╝@HA             :
  655.                      :  │             :
  656.                      :  @HBKollision@HA──@NP╔══@NA:@NP─────────────┐@HA
  657.                      :             @NP║  @NA: @NPPaket C     │@HA
  658.                      :             @NP╚══@NA:@NP─────────────┘@HA
  659.                      :                :
  660.   @HP──┬────────────────┬────────────────┬────────────────────────────
  661.   @HA -t                0               +t
  662.   @HO  «─────────────────────────────────»
  663.   @HB    2*t = gefährdetes Zeitintervall
  664. @HBUnter der Annahme einer Poissonverteilung für die Zahl der zu übertragen-
  665. den Datenpakete pro Zeiteinheit t gilt für die Wahrscheinlichkeit, daß
  666. während des gefährdeten Zeitintervalls der Länge 2t keine weitere Über-
  667. tragung beginnt:@HL
  668.  
  669.           -∩ * 2t
  670.      p = e        = p [keine Kollision]
  671.  
  672. @HB
  673. Der Durchsatz D läßt sich nun aus dem gesamten Verkehrsaufkommen ∩ * t
  674. und der Wahrscheinlichkeit, daß keine Kollision auftritt, berechnen:@HL
  675.  
  676.                               -∩ * 2t
  677.      D = ∩ * t * p = ∩ * t * e
  678.  
  679.  
  680.  
  681.  
  682. @HBMaximaler Durchsatz bei Pure ALOHA:@HL
  683.  
  684.              dD           -∩ * 2t           -∩ * 2t
  685.      D' = ──────── = 1 * e        + ∩ * t (e        - 2)
  686.            d (∩t)
  687.  
  688.                       -∩ * 2t
  689.                    = e        (1 - ∩ * 2t)@HB
  690.  
  691. Ableitung gleich Null setzen:@HL
  692.  
  693.       -∩ * 2t
  694.      e        (1 - ∩ * 2t) = 0
  695.                1 - ∩ * 2t  = 0
  696.                    ∩ * 2t  = 1                -½ * 2      -1
  697.                    ∩ *  t  = ½  ==> Dmax = ½ e       = ½ e   ≈  0,184
  698.  
  699.   ==> @HPDmax ≈ 18 %@HB
  700. @HBIm pure ALOHA System ist also eine maximale Auslastung von 18 % möglich,
  701. ein äußerst schlechter Wert, der in der Praxis nicht einmal genau erreicht
  702. werden kann, da nicht berücksichtigt wurde, daß auch die Wiederholungen
  703. wieder kollidieren können.
  704.  
  705. Erhöht sich das Verkehrsaufkommen weiter, nehmen die Kollisionen derart
  706. zu, daß die meisten der Datenpakete nur noch Wiederholungen auf Grund
  707. vorhergehender Kollisionen sind, was rasch zum Zusammenbruch des gesamten
  708. Systems führt.
  709.  
  710. @HESlotted ALOHA
  711. @HB
  712. Eine Verbesserung des Systems kann dadurch erreicht werden, daß ein
  713. @HPSynchronisierungstakt@HB mit dem Intervall t bei allen Stationen bewirkt, daß
  714. das System nicht zu einem beliebigen Zeitpunkt, sondern nur zum Zeitpunkt
  715. des Taktsignals beginnen darf.
  716.  
  717.  
  718. @HBWenn eine Station ein Datenpaket senden will, muß sie seine Übertragung
  719. beim Slotted ALOHA also solange verzögern, bis das Taktsignal kommt.
  720.  
  721. Das gefährdete Zeitintervall, in dem ein Paket gestört werden kann,
  722. beträgt jetzt nicht mehr 2t, sondern nur noch t. Kollisionen treten
  723. nämlich nur dann auf, wenn mehrere Stationen zum selben Takt senden.
  724.  
  725. Für die Wahrscheinlichkeit p [keine Kollision] ergibt sich nun:@HL
  726.  
  727.           -∩ * t
  728.      p = e      @HB
  729.  
  730. und damit für den Durchsatz@HL
  731.  
  732.                   -∩ * t
  733.      D = ∩ * t * e
  734.  
  735.  
  736. @HBMaximaler Durchsatz beim Slotted ALOHA:@HL
  737.  
  738.              dD       -∩ * t             -∩ * t
  739.      D' = ──────── = e       + ∩ * t * (e       - 1)
  740.            d (∩t)
  741.  
  742.             -∩ * t
  743.            e       * (1 - ∩ * t) = 0
  744.                       1 - ∩ * t  = 0                 -1
  745.                           ∩ * t  = 1 ==> Dmax = 1 * e   ≈ 0,368
  746.  
  747.   ==> @HPDmax ≈ 36,8 %@HB
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.   @HAD     @HP/│\
  755.      @HA1,0 @HP┤      @HBDer maximale Durchsatz ist also beim Slotted ALOHA
  756.          @HP│      @HBdoppelt so groß, wie beim Pur Aloha System. Aber auch
  757.          @HP│      @HBdieser Wert ist nur ein theoretisches Maximum, das auf
  758.      @HA0,8 @HP┤      @HBGrund von Kollisionen der Wiederholungspakete nicht
  759.          @HP│      @HBganz erreicht werden kann.
  760.          @HP│
  761.      @HA0,6 @HP┤
  762.          @HP│
  763.          @HP│
  764.      @HA0,4 @HP┤@HA...........................@HO*
  765.          @HP│                        @HO*  @HA:  @HO*            @HO* @HB: Slotted ALOHA
  766.          @HP│                      @HO*    @HA:    @HO*          @HLo @HB: Pure ALOHA
  767.      @HA0,2 @HP┤@HA...................@HO*@HA..@HLo    @HA:     @HO*
  768.          @HP│               @HO*  @HLo   @HA:   @HLo@HA:       @HO*
  769.          @HP│        @HO* @HLo           @HA:    @HA:   @HLo      @HO*                  @HA∩ * t
  770.          @HP├@HO*@HLo@HP───────────┬────────┬────┬───────────@HLo@HP─┬@HO*@HP────────────┬──>
  771.         @HA0,01          0,1      0,5   1            10            100         100
  772. @HB
  773.  
  774.  
  775.          weiter mit ⌐Rundfunknetze@BS___6¬
  776. AHBAA #!!# Rundfunknetze
  777. Bei der Rundfunkübertragung können die vom Sender ausgesandten Signale
  778. innerhalb der Reichweite des Senders von jedem Empfangssystem aufgenommen
  779. werden. Eine Nachricht wird daher nicht nur von dem Empfänger, für den sie
  780. bestimmt ist, empfangen, sondern prinzipiell von allen teilnehmenden
  781. Stationen. Auf Grund der in der Nachricht mitgeführten Adresse der Nach-
  782. richt nehmen die Empfangsstationen eine Nachricht entweder an oder igno-
  783. rieren sie.
  784.  
  785. @HECSMA (carrier sense multiple access)
  786. @HB
  787. In Rundfunknetzen werden Kollisionen weitgehend durch ein "in den Kanal
  788. hineinhorchen" vermieden, bevor ein Datenpaket gesendet wird. Da jede
  789. Station den gesamten Datenverkehr mithören kann, ist es möglich, festzu-
  790. stellen, ob der Übertragungskanal frei ist oder nicht. Ist er frei, kann
  791. das Paket gesendet werden, sonst wird wird es zurückgehalten, um eine
  792. Kollisation zu vermeiden. Zu einem späteren Zeitpunkt wird dann ein neuer
  793. Versuch unternommen. Dieses System wird CSMA (carrier sense multiple
  794. access, "Bote Verstand mehrfach Zugang") genannt. (siehe ⌐CSMA-Netz@BS2¬)
  795. @HEKollisionen bei CSMA                               @HBNatürlich können auch
  796.                                                    @HBbeim CSMA-System
  797.           @HP│@NP┌────────────────┐@HA Station 1            @HBKollisionen entstehen.
  798. @HAStation 1 @HP│@NP│    Paket A     │@HA sendet               @HBZu einer Kollision
  799.           @HP│@NP└────────────────┘@HA Paket A              @HBkommt es, wenn zwei
  800.           @HP│  @HA\                \                    @HBStationen gleichzeitig
  801.           @HP│    @HA\                \                  @HBoder in einem Zeitab-
  802.           @HP│      @HA\                \                @HBstand, der kürzer ist
  803.           @HP│        @NP┌────────────────┐@HA Station 2    @HBals die Übertragungs-
  804.           @HP│        @NP│    Paket A     │@HA kann Paket A @HBzeit des ersten
  805.           @HP│        @NP└────────────────┘@HA empfangen    @HBSignals, auf der
  806.           @HP│        @HA:                               @HBLeitung zu senden
  807.           @HP│     @NP┌──@NA:@NP─────────────┐@HA Station 2       @HBbeginen.
  808. @HAStation 2 @HP│     @NP│  @NA: @NPPaket B     │@HA sendet          @HBStation 2 beginnt zu
  809.           @HP│     @NP└──@NA:@NP─────────────┘@HA Paket B         @HBsenden, weil es das
  810.           @HP│        @HA:                               @HBSignal der Station 1
  811.           @HP└────────┬────────────────────────────   @HBnoch nicht empfangen
  812.           @HO«────d───»                               @HBhat. ==> Kollision
  813. @HBBeim CSMA Verfahren sind Übertragungsraten von 1 Mbit / sec und
  814. Distanzen von mehreren hundert Metern typische Werte. Das Verfahren wird
  815. häufig in ⌐Ethernetz@BS___6¬en angewandt. 
  816.  
  817. @HEZugriffsprotokolle beim CSMA
  818. @HB
  819.    siehe auch ⌐CSMA-Protokoll@BS2¬
  820.  
  821.  
  822. a) @HPNonpersistent CSMA-Protokoll@HB (nonpersistent = nicht ständig)
  823.    Eine sendewillige Station beginnt zu senden, wenn sie den Übertragungs-
  824.    kanal frei vorfindet. Ist er jedoch durch eine bereits stattfindende
  825.    Übertragung belegt, so wartet die Station nicht durch andauerndes
  826.    (nonpersistent) Mithören, bis der Übertragungskanal frei ist, sondern
  827.    wiederholt ihren Sendeversuch wie im Kollisionsfall zu einem späteren,
  828.    zufällig gewählten Zeitpunkt.
  829.  
  830.  
  831. @HBb) @HP1-persistent CSMA-Protokoll@HB (persistent = ständig)
  832.    Eine sendewillige Station beginnt sofort (das heißt mit der Wahrschein-
  833.    lichkeit 1) zu senden, wenn der Übertragungskanal frei ist oder, falls
  834.    er durch eine gerade stattfindende Übertragung belegt ist, unmittelbar
  835.    nach dessen Freigabe. Hat dabei mehr als eine Station auf das Ende
  836.    einer laufenden Übertragung gewartet, so ergibt sich unweigerlich
  837.    (mit der Wahrscheinlichkeit 1) eine Kollision. Nach einer Kollision
  838.    wartet die Sendestation eine unbestimmte Zeit bis zu einem erneuten
  839.    Sendeversuch.
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849. c) @HPp-persistent CSMA-Protokoll@HB (nur auf Slotted Channels)
  850.    Wenn der Übertragungskanal frei ist, beginnt eine sendewillige Station
  851.    mit der Wahrscheinlichkeit p zu senden. Mit der Wahrscheinlichkeit
  852.    q = 1 - p wird das Absenden um die Zeit
  853.  
  854.                         Signalverzögerung Station - Station
  855.                    d = ─────────────────────────────────────
  856.                           Übertragungszeit für ein Paket
  857.  
  858.    verzögert. Ist nach dieser Verzögerung der Übertragungskanal noch frei,
  859.    so sendet die Station wieder mit der Wahrscheinlichkeit q = 1 - p.
  860.    Dieser Vorgang wiederholt sich so lange, bis das Datenpaket übertragen
  861.    ist oder eine andere Station zu senden begonnen hat.
  862.  
  863.    Ist der Übertragungskanal belegt, so wird weiter in den Kanal gehorcht,
  864.    bis die vorhergehende Übertragung beendet ist. Anschließend sendet die
  865.    Station, die gewartet hat mit der Wahrscheinlichkeit p und verzögert
  866.    mit der Wahrscheinlichkeit q = 1 - p.
  867. @HBd)  @HPCSMA / CD-Protokoll@HB (CSMA mit Collision-Detection)
  868.    Jede Station, die sendet, kann feststellen, ob eine Kollision statt-
  869.    findet. Es wird dabei eine minimale Paketlänge vorgegeben, die so groß
  870.    gewählt wird, daß der Sender auch im ungünstigsten Fall beim Erkennen
  871.    einer Kollision noch immer das gleiche Paket sendet. Wird eine Kolli-
  872.    sion festgestellt, so kann die Übertragung des Datenpaketes sofort
  873.    abgebrochen werden, weil es sowieso noch einmal übertragen werden muß.
  874.  
  875.    Mit dieser Maßnahme wird die Zeitdauer, mit der der Übertragungskanal
  876.    durch Kollision nutzlos belegt ist, reduziert.
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.   @HAD     @HP/│\   @HEDurchsatzvergleich der verschiedenen Zugriffsprotokolle
  886.      @HA1,0 @HP┤
  887.          @HP│ @HLo @HB: pure ALOHA
  888.          @HP│ @HO* @HB: slotted ALOHA                        @HN°
  889.      @HA0,8 @HP┤ @HM+ @HB: 1-persistent CSMA                 @HN°  @HK#  @HN°
  890.          @HP│ @HJx @HB: 0,1 persistent CSMA          @HJx @HN° @HK#      @HK#  @HN°
  891.          @HP│ @HK# @HB: nonpersistent CSMA       @HJx   @HN°@HK# @HJx          @HK#  @HN°
  892.      @HA0,6 @HP┤ @HN° @HB: slotted nonpersistent  @HJx   @HN°@HK#     @HJx           @HK#  @HN°
  893.          @HP│     @HBCSMA                 @HJx @HM+ @HK#@HN°         @HJx          @HK#  @HN°
  894.          @HP│                        @HJx@HM+ @HK#@HN° @HM+           @HJx          @HK#  @HN°
  895.      @HA0,4 @HP┤                      @HJx@HM+ @HK#@HN°@HO*    @HM+
  896.          @HP│                    @HJx@HM+@HK#@HN°@HO*     @HO*   @HM+
  897.          @HP│                 @HJx@HM+ @HK#@HN°@HO*         @HO*  @HM+
  898.      @HA0,2 @HP┤              @HJx@HM+ @HK#@HN°@HO*  @HLo          @HO*  @HM+
  899.          @HP│          @HK#@HN°@HJx@HM+ @HO*  @HLo       @HLo        @HO*  @HM+
  900.          @HP│       @HJx@HM+@HO*@HLo                    @HLo      @HO*  @HM+               @HA∩ * t
  901.          @HP├@HO*@HLo@HK#@HP──────────┬────────┬────┬───────────@HLo@HP─┬@HO*@HP─@HM+@HP──────────┬──>
  902.         @HA0,01          0,1      0,5   1            10            100         100
  903. @HBFazit:
  904.   Mit CSMA-Protokollen läßt sich ein größerer Durchsatz erzielen als mit
  905.   den ALOHA-Protokollen.
  906.  
  907.   Bei CSMA-Protokollen läßt sich der größte Durchsatz mit dem
  908.   nonpersistent-CSMA bzw. slotted nonpersistent CSMA-Protokoll erreichen.
  909.  
  910.  
  911.          weiter mit ⌐ARPA-Netz@BS___6¬
  912. AHBAA #!!# ARPA-Netz
  913. Als Beispiel eines Netzes mit Paketvermittlung sei hier das @HPARPA-Netz@HB
  914. (Advanced Research Project Agency) angeführt. 1967 wurde damit begonnen,
  915. es aufzubauen. Zu Beginn bestand es im wesentlichen aus zwei Teilen:
  916.  
  917.    - einer gewissen Anzahl von verschiedenen Datenverarbeitungsanlagen,
  918.      @HPHost@HB genannt (Wirtrechner)
  919.  
  920.    - einem @HPKnotennetz@HB bestehend aus paketübertragenden Netzknotenrechnern
  921.      (IMP's = Interface Message Processors), die über 50 kBit/sec
  922.      Leitungen miteinander verbunden sind.
  923.  
  924. Jeder Wirtrechner (Host) ist direkt an ein IMP angeschlossen.
  925.  
  926. In der Zwischenzeit besteht das Netz aus weit mehr als 100 Netzknoten-
  927. rechnern, die über die ganze USA verteilt sind. Über Satellit sind auch
  928. Hawaii und Europa in das Netz integriert. (Bei der Satellitenübertragung
  929. beträgt die Kanalkapazität 7,2 kBit / sec, ALOHA-Protokoll).
  930.  
  931. @HBDie Übertragung von Nachrichten wird von einer Hierarchie von Protokollen
  932. gesteuert. Mittels dieser Protokolle werden Nachrichten zuerst vom Wirt-
  933. rechner zum zugehörigen IMP übertragen. Dort wird jede Nachricht in Pakete
  934. mit einer Höchstlänge von 1000 Bit unterteilt. Mit einer Zieladresse
  935. versehen, wird nun jedes Paket auf Grund eines Routing-Algorithmusses,
  936. der den schnellsten Weg zum Ziel-IMP errechnet, von IMP zu IMP weiterge-
  937. geben, bis der Zielknoten erreicht ist. Wenn alle Pakete einer Nachricht
  938. korrekt am Ziel-IMP angekommen sind, wird die gesamte Nachricht dem Ziel-
  939. Wirtrechner übergeben.
  940.  
  941.  
  942.          weiter mit ⌐Ethernet@BS___6¬
  943. AHBAA #!!# Ethernet
  944. Das ⌐Ethernet@BS2¬ ist ein @HPlokales ⌐Bus@BS2¬-Netz@HB, bei dem ein Koaxialkabel als Über-
  945. tragungskanal verwendet wird. Es wurde Anfang der 70er Jahre entwickelt.
  946. Die Anzapfung erfolgt mit einem kleinen mechanischen Gerät. Dabei wird
  947. eine Nadel in das Koaxial-Kabel eingestoßen und genau bis auf den Leiter
  948. abgesenkt. Das Kabel braucht also nicht aufgeschnitten zu werden.
  949.  
  950. @HBDie @HPÜbertragungsrate@HB auf dem Koaxialkabel beträgt etwa 10 MBit / sec.
  951. Beim Zugriff auf den Kanal wird ein CSMA-Protokoll verwendet.
  952.  
  953. Die Knotenzahl beim Ethernetz ist auf 1024 beschränkt. Zwei Knoten dürfen
  954. nicht mehr als 500 Meter auseinanderliegen und die gesamte Leitungslänge
  955. darf maximal 2500 Meter betragen. ???
  956.  
  957.  
  958.          weiter mit ⌐Token-Ring@BS___6¬
  959. AHBAA #!!# Token-Ring
  960. Ein @HPToken-Ring@HB ist ein @HPlokales Netz mit ringförmiger Topologie@HB. Die
  961. Stationen sind über einen Übertragungskanal seriell miteinander verbunden.
  962. Seriell heißt, daß die Information Bit für Bit von einer Station zur
  963. nächsten übertragen wird.
  964.  
  965. Die Sendeerlaubnis auf den Kanal wird mittels einer Berechtigungsmarke,
  966. dem @HPToken@HB, vergeben. Ein Token ist ein bestimmtes Bitmuster (z.B. 0xFF),
  967. das auf dem Ring kreist. Sobald die Station, die zu einem bestimmten Zeit-
  968. punkt das Token an sich genommen hat, ihre Übertragung beendet hat, sendet
  969. sie die Frei-Marke (die 1. Art von Token), die von der nächsten Station
  970. als Sendeerlaubnis interpretiert wird. Hat diese Station kein Sendebe-
  971. dürfnis, läßt sie die Frei-Marke zur übernächsten Station passieren, usw.
  972. Will sie aber ein Datenpaket senden, so wird die Frei-Marke in eine
  973. Belegt-Marke (die 2. Art von Token) umgewandelt, die Nachricht angehängt
  974. und gesendet. Der Empfänger erkennt an der Adresse im Header, daß ein
  975. Paket für ihn bestimmt ist. Er kopiert es in seinen Puffer und setzt im
  976. Original eventuell ein Quittierungs-Bit.
  977.  
  978. @HBNach einem vollständigen Umlauf im Ring erreicht das Paket wieder den
  979. Sender, der die Nachricht aus dem Ring nimmt. Bei einer fairen Verplanung
  980. wandelt die Station die Marke wieder in eine Frei-Marke um, auch wenn sie
  981. noch weitere Pakete senden möchte. Es gibt aber auch die Strategie, daß
  982. eine Station soviel Pakete sendet, wie ihr im Augenblick zur Verfügung
  983. stehen.
  984.  
  985. Um ein Token erkennen zu können, ist es notwendig, daß in jeder Station
  986. das ganze Bitmuster zwischengespeichert wird. Das bedingt, daß zum Bei-
  987. spiel bei einem Token der Länge 8 Bit in jeder Station eine Verzögerung
  988. von 8 Bit stattfindet (serielle Übertragung).
  989.  
  990. Man kann aber durch geschickte Wahl der Übertragungsprozedur die Verzöger-
  991. ung auf nur 1 Bit reduzieren. Dazu wird ein Zähler benutzt. Die Frei-Marke
  992. möge zum Beispiel dem Bitmuster 1111 1111 (=0xFF) entsprechen. Empfängt
  993. eine Station das 1. Bit, so wird der Zähler bei einer 1 um eins erhöht
  994. (bei einer 0 wird der Zähler auf Null gesetzt) und das Bit an die nächste
  995. Station weitergeschickt. Ebenso wird mit dem nächsten Bit verfahren.
  996. @HEToken-Ring:                             Repeater unter der Lupe:
  997.                                                
  998.                                         @HM┌───@HP│@HM───────────────┐
  999.               @HE╔═══╗@HBRechner              @HM│  @HP\│/        @HA■@HP────────>
  1000.               @HE║   ║                     @HM│ @HA┌───┐  ┌────────┐ @HM│
  1001.               @HE╚═╤═╝                     @HM│ @HA│ @HBR @HA├──┤ @HBZähler @HA│ @HM│  @HBRechner
  1002.               @HM┌─┴─┐@HBRepeater             @HM│ @HA└───┘  └────────┘ @HM│
  1003.           @HP┌───@HM┤   ├@HP───┐                 @HM│   @HP│         @HA■@HP<────────
  1004.           @HP│   @HM└───┘   @HP│                 @HM└───@HP│@HM───────────────┘
  1005.   @HE╔═══╗ @HM┌─┴─┐       ┌─┴─┐ @HE╔═══╗            @HP\│/     @HBR = 1 Bit-Register
  1006.   @HE║   ╟─@HM┤   │       │   ├@HE─╢   ║             @HP:
  1007.   @HE╚═══╝ @HM└─┬─┘       └─┬─┘ @HE╚═══╝         @HM┌───@HP│@HM───────────────┐
  1008.           @HP│   @HM┌───┐   @HP│                 @HM│   @HP└────────>@HA■@HP────────>
  1009.           @HP└───@HM┤   ├@HP───┘                 @HM│ @HA┌───┐  ┌────────┐ @HM│
  1010.               @HM└─┬─┘        @HBsendewillige @HM│ @HA│ @HBR @HA├──┤ @HBZähler @HA│ @HM│  @HBRechner
  1011.               @HE╔═╧═╗        @HBStation hat  @HM│ @HA└───┘  └────────┘ @HM│
  1012.               @HE║   ║        @HBFreimarke ───@HM│   @HP┌<────────@HA■@HP<────────
  1013.               @HE╚═══╝        @HBerkannt      @HM└───@HP│@HM───────────────┘
  1014. @HBWenn das 8. Bit auch eine 1 ist (der Zähler hat schon 7 Einsen gezählt),
  1015. dann wird dieses Bit verändert (auf 0 gesetzt), falls die Station ein
  1016. Datenpaket senden will. Das neue Bitmuster (1111 1110) entspricht der
  1017. Belegt-Marke. Will die Station nicht senden, dann wird auch das 8. Bit
  1018. unverändert weitergegeben. Nach dem 8. Bit muß der Zähler auf jeden Fall
  1019. wieder auf Null gesetzt werden.
  1020.  
  1021. @HPVorteil beim Token Ring:@HB
  1022.  
  1023.    - Es können keine Kollisionen auftreten, da nur derjenige senden darf,
  1024.      der die Frei-Marke in die Belegt-Marke umgewandelt hat.
  1025.  
  1026. @HPNachteile beim Token Ring:@HB
  1027.  
  1028.    - Man muß jeweils mit dem Senden warten, bis man im Besitz des
  1029.      Tokens ist.
  1030.  
  1031.    - Alle Repeater sind ständig beschäftigt.
  1032. @HPProbleme beim Token-Ring:@HB
  1033.  
  1034.    - Wie kommt das erste Token ins Netz ?
  1035.  
  1036.    - Wer repariert ein defektes Token (zerstört, dupliziert, wird nicht
  1037.      mehr auf frei gesetzt) ?
  1038.  
  1039.    - Was geschieht beim Ausfall einer Station ?
  1040.  
  1041. @HPProblemlösungen:@HB
  1042.  
  1043.    - Unter allen Repeatern ist einer ausgezeichnet, der etwas mehr darf
  1044.      und kann als die anderen. Er wird mit @HPaktiver Monitor@HB bezeichnet.
  1045.      Dieser setzt das erste Token ins Netz, erkennt, wenn ein Token zer-
  1046.      stört, dupliziert oder nicht mehr auf Frei gesetzt wird. Er ersetzt,
  1047.      z. B. nach einer time-out-Zeit (Übertragungszeit + Verzögerung), das
  1048.      defekte Token durch ein neues.
  1049.  
  1050. @HB   - Beim Ausfall eines aktiven Monitors wird durch einen Algorithmus
  1051.      einer der passiven Monitore zum neuen aktiven Monitor bestimmt.
  1052.  
  1053.    - Damit beim Ausfall einer Station trotzdem Nachrichten im Ring kreisen
  1054.      können, müssen ausgefallene Stationen umgangen werden. Dazu gibt es
  1055.      verschiedene Methoden, zum Beispiel indem von jeder Station eine
  1056.      Leitung zur übernächsten Station existiert. Oder es gibt einen
  1057.      zweiten Ring, in dem die Nachrichten in entgegengesetzter Richtung
  1058.      kreisen.
  1059.  
  1060. @HEBit-Stuffing
  1061. @HB
  1062. Das Problem, daß das Bitmuster des Tokens in der Nachricht (im Header oder
  1063. im Datenpaket) selbst vorkommt, wird durch Bit-Stuffing gelöst. Dadurch
  1064. wird verhindert, daß die Bitfolge des Tokens, falls sie in der Nachricht
  1065. auftritt, als Token interpretiert wird.
  1066.  
  1067.  
  1068. @HPBeispiel für Bit-Stuffing:@HB
  1069.  
  1070.   Das Bitmuster eines Tokens sei 1111.
  1071.   Besteht eine Bitfolge in einer Nachricht aus vier aufeinander folgenden
  1072.   Einsen, so wird vom Sender nach der dritten 1 eine 0 in die Übertragung
  1073.   eingefügt. Der Empfänger entfernt aus der Nachrichtenfolge eine 0, wenn
  1074.   er drei aufeinander folgende 1en gelesen hat.
  1075.  
  1076.  
  1077.                          @HO0                 0
  1078.      @HASender    : @HF0 1 1 1   1 0 1 0 0 1 1 1   0 0 1
  1079.  
  1080.      @HAKanal     : @HF0 1 1 1 @HO0 @HF1 0 1 0 0 1 1 1 @HO0 @HF0 0 1
  1081.  
  1082.      @HAEmpfänger : @HF0 1 1 1 / 1 0 1 0 0 1 1 1 / 0 0 1
  1083.                   @HB└────┬────┘
  1084.                     kein Token
  1085.  
  1086. @HEToken-Ring Umlaufzeiten
  1087. @HB
  1088.      @HPz @HB= Signallaufzeit (≈ 5 µsec/km ==> Geschwindigkeit ≈ 200.000 km/sec)
  1089.      @HPd @HB= Länge des Rings
  1090.      @HPN @HB= Anzahl der Ringstationen
  1091.      @HPL @HB= Latenz (Verzögerung) in Bits
  1092.      @HPv @HB= Bandbreite (Übertragungsrate) in Bit/sec
  1093.  
  1094. @HPRingumlaufzeit U
  1095.   @HBDie Zeit, die ein Bit für       @HL             N * L
  1096.   @HBeinen kompletten Umlauf         @HLU = z * d + ───────
  1097.   @HBbenötigt.                       @HL               v
  1098.                                       @HASignalumlaufzeit +
  1099.                                       N * (Verzögerungszeit pro Station)
  1100. @HPRingbitzahl R
  1101.   @HBDie Anzahl Bits, die sich zu    @HLR = U * v
  1102.   @HBjedem Zeitpunkt einer           
  1103.   @HBÜbertragung im Netz befinden.       @HARingumlaufzeit * Übertragungsrate
  1104. @HBBeispiel:
  1105. @HA
  1106.         6
  1107.   v = 10  Bit/sec, d = 2 km, N = 50  ==>  R = 60 Bit
  1108.  
  1109.         7
  1110.   v = 10  Bit/sec, d = 2 km, N = 50  ==>  R = 150 Bit
  1111.  
  1112.  
  1113.        @HBweiter mit ⌐slotted Ring@BS___6¬
  1114. AHBAA #!!# slotted Ring
  1115. Slotted Rings (Cambridge Rings) sind spezielle @HPgetaktete Ring-Netze@HB.
  1116. Bei ihnen sorgt der aktive Monitor (siehe ⌐Token-Ring@BS___6¬) dafür, daß auf
  1117. dem Ring immer eine bestimmte feste Anzahl von "Behältern" zirkulieren,
  1118. die zur Aufnahme von Datenpaketen dienen. Die Datenpakete sind dabei immer
  1119. sehr kurz.
  1120.  
  1121.  
  1122.   @HA├────────────────────────Datenpaket (37 Bit)─────────────────────────┤
  1123.  
  1124.            8 Bit          8 Bit                   16 Bit
  1125. @HP..┬┬┬┬───────────────┬───────────────┬───────────────────────────────┬┬┬..
  1126.   ││││ @HBAbsender-Adr. @HP│ @HBEmpfänger-Adr.@HP│             @HBDaten             @HP│││
  1127. ..┴┴┴┴───────────────┴───────────────┴───────────────────────────────┴┴┴..
  1128. @HA  └┬─┘                                                               └┬┘
  1129.   Kontrollbits                                              Kontrollbits
  1130.  
  1131.  
  1132.  
  1133. @HBDie Kontrollbits geben unter anderem Auskunft darüber, ob:
  1134.  
  1135.    - der Empfänger existiert oder nicht,
  1136.  
  1137.    - wenn er existiert, ob er das Paket angenommen hat oder nicht,
  1138.  
  1139.    - der Behälter leer ist oder nicht.
  1140.  
  1141. Eine Station, die ein Datenpaket senden will, wartet bis ein leerer
  1142. Behälter vorbeikommt und belegt ihn dann mit ihrem Datenpaket.
  1143.  
  1144. Die empfangende Station läßt den Behälter als besetzt passieren und
  1145. verwendet eines der letzten Bits des Datenpaketes zur Bestätigung des
  1146. Empfangs.
  1147.  
  1148. Die sendende Station wartet bis das Paket auf dem Ring wieder bei ihr
  1149. vorbeikommt und gibt den Behälter wieder frei. Nun kann eine andere
  1150. Station ihn wieder zur Übertragung eines Datenpaketes benützen.
  1151.  
  1152.  
  1153.  
  1154.        @HBweiter mit ⌐Wegewahl@BS___6¬
  1155. AHBAA #!!# Wegewahl
  1156. Aus Gründen der Zuverlässigkeit ist es durchaus wünschenswert, daß ein
  1157. Zielknoten auf verschiedenen Wegen erreicht werden kann. Dadurch entsteht
  1158. allerdings das Problem der @HPWegewahl@HB. Die entscheidenden Kriterien für die
  1159. Wahl eines Weges sind:
  1160.  
  1161.    - eine möglichst geringe Zeitverzögerung bei
  1162.  
  1163.    - größtmöglichem Durchsatz.
  1164.  
  1165.  
  1166. Die meisten Methoden arbeiten tabellengesteuert (directory routing).
  1167. Dabei wird in jedem Knoten eine @HPRouting-Tabelle@HB gespeichert, in der die
  1168. günstigsten Wege zu allen Zielknoten eingetragen sind. In den Tabellen
  1169. werden nicht die ganzen Wege gespeichert, sondern nur die Namen der jewei-
  1170. ligen Nachbarknoten, über die diese Wege führen. Außerdem wird noch die
  1171. Verzögerung für die ganzen Wege festgehalten.
  1172.  
  1173.  
  1174. @HBZur Erstellung der Routing-Tabellen gibt es viele verschiedene Methoden.
  1175. Grundsätzlich kann man zwei Gruppen unterscheiden:
  1176.  
  1177.    - die statische Wegewahl und
  1178.  
  1179.    - die dynamische (adoptive) Wegewahl.
  1180.  
  1181. @HEStatische Wegewahl
  1182. @HB
  1183. Bei der statischen Wegewahl werden, vor Aufnahme des regulären Betriebes,
  1184. sämtliche Tabellen erstellt und bleiben bestehen, unabhängig vom späteren
  1185. Verkehrsaufkommen im Netz. Die Wege sind also statisch: Jedes Paket, das
  1186. die selbe Zieladresse hat, wird auf dem selben Weg übertragen.
  1187.  
  1188. @HPVorteile der statischen Wegewahl@HB
  1189.    - einfache Handhabung
  1190.  
  1191.    - relativ geringer Verwaltungsaufwand
  1192. @HPNachteile der statischen Wegewahl@HB
  1193.    - Kann ohne äußere Eingriffe nicht auf eine veränderte Topologie
  1194.      (Ausfall von Verbindungsleitungen oder Netzknoten, Einfügen von neuen
  1195.      Netzknoten) reagieren, sich anpassen.
  1196.  
  1197.    - Kann ohne äußere Eingriffe nicht auf Verkehrssituationen im Netz
  1198.      (zum Beispiel lokale Überlastung) reagieren, sich anpassen.
  1199.  
  1200. @HPMethoden der statischen Wegewahl@HB
  1201. Es gibt zwei wesentliche Methoden:
  1202.  
  1203.    - die der kürzesten Wege,
  1204.  
  1205.    - die der minimal gewichteten Wege.
  1206.  
  1207.  
  1208.  
  1209.  
  1210. @HEDynamische Wegewahl
  1211. @HB
  1212. Zum Unterschied zur statischen Wegewahl werden die Routing-Tabellen bei
  1213. der dynamischen Wegewahl ständig dem sich ändernden Datenstrom angepaßt
  1214. (adoptiert). In jedem Knoten werden Informationen über den momentanen
  1215. Verkehr gesammelt, um damit lokal die Tabellen zu adoptieren.
  1216.  
  1217.  
  1218. @HPVorteile der dynamischen Wegewahl@HB
  1219.    - kann sich dem Datenverkehr anpassen, ist also flexibel
  1220.  
  1221.    - kann sich ohne äußere Eingriffe einer veränderten Topologie anpassen
  1222.  
  1223.    - gute Nachrichten (z. B. ein ausgefallener Knoten ist wieder im Netz)
  1224.      sprechen sich schnell herum
  1225.  
  1226.  
  1227.  
  1228. @HPNachteile der dynamischen Wegewahl@HB
  1229.    - höherer Aufwand als bei statischen Methoden
  1230.  
  1231.    - schlechte Nachrichten (z. B. daß ein Knoten ausgefallen ist)
  1232.      verbreiten sich sehr langsam
  1233.  
  1234.    - Ping-Pong-Effekt: Pakete werden zwischen Knoten hin und her
  1235.      geschoben bzw. sie durchlaufen Schleifen
  1236.  
  1237. @HPMethoden der dynamischen Wegewahl@HB
  1238. Es wird grob unterschieden zwischen
  1239.    - verteilten,
  1240.  
  1241.    - isolierten und
  1242.  
  1243.    - zentralisierten Methoden.
  1244.  
  1245.  
  1246. @EH verteilte Methoden (= Informationsaustausch mit den Nachbarknoten)
  1247. @HB
  1248. @HEPUA (periodic update algorithm)
  1249. @HB
  1250. Beim PUA wird die Routing-Tabelle periodisch durch den Austausch von
  1251. Informationen mit allen Nachbarknoten aktualisiert (updating). Dies ge-
  1252. schieht alle 0,64 sec (rund 2 mal pro Sekunde).
  1253.  
  1254. Jeder Nachbarknoten liefert also alle 0,64 sec
  1255. @HBan Knoten n eine Spalte für dessen Ziel-Verzöge- @HE          ╔═╧═╗
  1256. @HBrung-Tabelle. Sie gibt die augenblicklich beste  @HE         ─╢ @HB4@HE ╟─
  1257. @HBAbschätzung der Verzögerungen für die Strecken   @HE          ╚═╤═╝
  1258. @HBvon ihm zu allen Zielknoten an. Zu jedem Eintrag @HE   ╔═╧═╗  ╔═╧═╗  ╔═══╗
  1259. @HBin die Tabelle addiert der Knoten n noch den     @HE  ─╢@HB17@HE ╟──╢ @HBn@HE ╟──╢ @HB8@HE ╟─
  1260. @HBWert q * const, wobei q die Länge der Kanal-     @HE   ╚═══╝  ╚═╤═╝  ╚═╤═╝
  1261. @HBschlange zu diesem Nachbarn ist und const eine   @HE          ╔═╧═╗
  1262. @HBKonstante, die der Verzögerung durch das Übertra-@HE         ─╢ @HB7@HE ╟─
  1263. @HBgen an einen Nachbarn entspricht.                @HE          ╚═══╝
  1264. @HEZiel-Verzögerung-Tabelle von n             Routing Tabelle von Knoten n
  1265. @HB(wird nicht gespeichert)                   (wird gespeichert)
  1266.  
  1267.           @HAN a c h b a r k n o t e n        @HAZiel- @HP│      @HP│@HAVerzö-@HP│
  1268.           @HP│  @HA4  @HP│  @HA7  @HP│  @HA8  @HP│ @HA17  @HP│        @HAknoten@HP│ @HAüber @HP│@HAgerung@HP│
  1269.    @HAZ @HP─────┼─────┼─────┼─────┼─────┤        ──────┼──────┼──────┤
  1270.    @HAi   @HA1  @HP│  @HJ8  @HP│ @HJ12  @HP│  @HJ9  @HP│  @HJ9  @HP│           @HA1  @HP│   @HJ4  @HP│   @HJ8  @HP│
  1271.    @HAe   @HA2  @HP│ @HJ17  @HP│ @HJ13  @HP│  @HJ9  @HP│ @HJ10  @HP│           @HA2  @HP│   @HJ8  @HP│   @HJ9  @HP│
  1272.    @HAl   @HA3  @HP│ @HJ18  @HP│ @HJ13  @HP│ @HJ24  @HP│ @HJ17  @HP│   @HB==>     @HA3  @HP│   @HJ7  @HP│  @HJ13  @HP│
  1273.    @HAk   @HA:  @HP│     @HP│     @HP│     @HP│     @HP│           @HA:  @HP│      @HP│      @HP│
  1274.    @HAn   @HAk  @HP│ @HJ11  @HP│  @HJ9  @HP│ @HJ15  @HP│ @HJ11  @HP│           @HAk  @HP│   @HJ7  @HP│   @HJ9  @HP│
  1275.    @HAo   @HA:  @HP│     @HP│     @HP│     @HP│     @HP│           @HA:  @HP│      @HP│      @HP│
  1276.    @HAt   @HAN  @HP│ @HJ16  @HP│ @HJ19  @HP│ @HJ14  @HP│ @HJ12  @HP│           @HAN  @HP│  @HJ17  @HP│  @HJ12  @HP│
  1277.    @HAe      @HP│     │     │     │     │              │      │      │
  1278.    @HAn
  1279. @HB
  1280. Knoten n wählt das Minimum aus jeder Zeile der Ziel-Verzögerung-Tabelle
  1281. aus und trägt es in seine Routing Tabelle ein.
  1282. @HBFällt ein Knoten aus, wird die Verzögerung für diesen Knoten mit ∞
  1283. (unendlich) angegeben.
  1284.  
  1285. Den Ping-Pong-Effekt zwischen zwei benachbarten Knoten kann man
  1286. verhindern, indem man verbietet, daß eine Nachricht an einen Knoten
  1287. zurückgeschickt werden darf, von dem sie gerade kommt.
  1288.  
  1289.  
  1290. @HEAUA (asynchronous update algorithm)
  1291. @HB
  1292. Bei diesem Algorithmus findet ein Tabellenaustausch asynchron statt, das
  1293. heißt nur noch dann, wenn angenommen wird, daß es sich lohnt. Kriterium
  1294. hierfür ist in den meisten Fällen das Überschreiten eines Schwellwertes
  1295. der Verzögerung.
  1296.  
  1297.  
  1298. PUA und AUA sind stabile Verfahren, das heißt Pakete kommen auch beim
  1299. Ausfall von Knoten noch an.
  1300.   @HE                   Vergleich von PUA und AUA
  1301. @HAVerzögerung @HP/│\
  1302.  @HAin msec     @HP│                                      @HO* @HB: PUA
  1303.          @HA200 @HP┤                                      @HLo @HB: AUA
  1304.              @HP│                       @HO*              @HK- @HB: Normalfall
  1305.              @HP│                 @HO*        *               @HBohne Störung
  1306.          @HA150 @HP┤             @HO*              *
  1307.              @HP│       @HLo o@HO*@HLo o o o o o o      @HO*
  1308.              @HP│      @HLo @HO*               @HLo       @HO*
  1309.          @HA100 @HP┤     @HLo@HO*                  @HLo       @HO*
  1310.              @HP│@HO*@HLo@HO*@HLo@HO*                      @HLo o o o@HO*@HLo@HO*@HLo@HO*@HLo@HO*@HLo@HO*@HLo@HO*@HLo@HO*@HLo@HO*@HLo@HO*
  1311.              @HP│@HK-----------------------------------------------------
  1312.           @HA50 @HP┤
  1313.              @HP│
  1314.              @HP│
  1315.              @HP└────┬──────────────────┬────────────────────────────────> @HAT
  1316.              @HA  Knoten          Knoten kommt
  1317.               fällt aus       wieder ins Netz
  1318. @EH isolierte Methoden
  1319. @HB
  1320. Bei der isolierten Wegewahl legt sich jeder Knoten die Wege unabhängig von
  1321. den anderen Knoten im Netz zurecht.
  1322.  
  1323. @HESQ + BA (shortest queue + bias algorithm)@HB
  1324.  
  1325. Wie gesagt, findet kein Informationsaustausch zwischen den Knoten statt.
  1326. Die Entscheidung, welcher Knoten gewählt wird, wird auf Grund der Längen
  1327. der Kanalschlangen zu den Nachbarknoten (= shortest queue) und dem
  1328. kürzesten (entfernungsmäßig) Weg im Netz (= bias) getroffen.
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336. @HESQ + B + PUA (shortest queue + bias + periodic update algorithm)@HB
  1337.  
  1338. Der Algorithmus ist deshalb isoliert, da der Informationsaustausch nur zum
  1339. Updaten der kürzesten Wege dient. Durch den Ausfall von Kanälen oder auch
  1340. Knoten, können sich die kürzesten Wege zu Zielknoten in ihrer Länge
  1341. ändern. Um diesem Problem gerecht zu werden, erfolgt ein periodisches
  1342. Updating dieser Information mit den Nachbarknoten.
  1343.  
  1344. @EH zentralisierte Methode
  1345. @HBBei einer zentralisierten Wegewahl werden in einem Routing-Kontrollzentrum
  1346. periodisch die Beobachtungen und Messungen aus dem Netz gesammelt und für
  1347. jedes Paar von Start- und Zielknoten der beste Weg errechnet. Diese Wege
  1348. werden dann den einzelnen Knoten mitgeteilt.
  1349.  
  1350. Die zentralisierte Wegewahl ist sehr fehleranfällig, insbesondere kann ein
  1351. Ausfall des Kontrollzentrums katastrophale Folgen haben.
  1352.  
  1353.        @HBweiter mit ⌐Deadlock im Netz@BS___6¬
  1354. AHBAA #!!# Deadlock im Netz
  1355. @HENachrichtenübermittlung
  1356. @HB
  1357. Die Nachrichtenübermittlung in Rechnernetzen erfolgt nach folgendem
  1358. Prinzip:
  1359.  
  1360.   1) Eine Nachricht wird im Nachrichtenpuffer gespeichert.
  1361.   2) Es erfolgt eine Pufferanforderung im Zielknoten.
  1362.   3) Wenn der Anforderung entsprochen wird, wird die Nachricht übertragen.
  1363.      (Wegen Übertragungsfehlern, z. B. Kollisionen aber beim Quellknoten
  1364.      noch nicht gelöscht.)
  1365.   4) Wenn die Nachricht komplett und korrekt im Zielknoten angekommen ist,
  1366.      wird dies mit einem Signal quittiert.
  1367.   5) Nach dem Empfang des Quittierungssignals im Quellknoten wird die
  1368.      Nachricht hier gelöscht.
  1369.  
  1370. Gelangt eine Nachricht korrekt zum Zielknoten und wird dort aufgenommen,
  1371. so wird sie gleichzeitig verbraucht, wodurch der Puffer wieder frei wird.
  1372.  
  1373. @HEAuftreten von Deadlocks
  1374. @HB
  1375. Zum Thema Deadlock siehe auch:
  1376.  
  1377.                    ⌐Deadlock@BS1¬
  1378.                    ⌐5 Philosophen@BS___3¬
  1379.                    ⌐Betriebsmittel II@BS___4¬
  1380.  
  1381.  
  1382. Deadlocks können in Rechnernetzen auftreten, auf Grund von
  1383.  
  1384.   a) falscher bzw. fehlerhafter Synchronisation
  1385.  
  1386.   b) Betriebsmittel-Knappheit im Knoten
  1387.      (zum Beispiel keine freien Puffer mehr im Knoten)
  1388.  
  1389.   c) Betriebsmittel-Knappheit im Netz
  1390.      (zum Beispiel keinen freien Puffer mehr im gesamten Netz)
  1391. @HEBeispiel für Betriebsmittel-Knappheit im Knoten
  1392. @HB
  1393. @BO      Knoten X            Knoten Y      @HB Zwei Nachrichten, A und B,
  1394. @BP  ┌────┬────┬────┐    ┌────┬────┬────┐  @HB bestehend aus den Paketen A1-A5
  1395. @BP  │ @BMA3 @BP│ @BMB2 @BP│    │    │ @BMA5 @BP│    │    │  @HB bzw. B1-B4, seien für den Ziel-
  1396. @BP  ├────┼────┼────┤    ├────┼────┼────┤  @HB knoten Z bestimmt. Jedem Knoten
  1397. @BP  │    │    │    │    │    │    │    │  @HB stehen 6 Puffer zur Verfügung.
  1398. @BP  └────┴────┴────┘    └────┴────┴────┘  @HB
  1399. @BP              └─────┬─────┘             @HB Die vollständigen Nachrichten
  1400. @BP                   \│/                  @HB A und B können erst zusammenge-
  1401. @BP            ┌────┬────┬────┐            @HB setzt werden und damit auch ver-
  1402. @BP            │ @BMA1 @BP│ @BMB3 @BP│ @BMB1 @BP│            @HB braucht werden, wenn A3, A5 und
  1403. @BP            ├────┼────┼────┤@BOKnoten Z    @HB B2 nach Z übertragen sind, jedoch
  1404. @BP            │ @BMA2 @BP│ @BMB4 @BP│ @BMA4 @BP│            @HB kann von Z überhaupt kein Knoten
  1405. @BP            └────┴────┴────┘            @HB mehr aufgenommen werden. Dazu
  1406. @BP                                        @HB müßte Z erst eine vollständig
  1407. @BP                                        @HB zusammengesetzte Nachricht
  1408. @BP                                        @HB verbrauchen. ==> @HPDeadlock
  1409. @HEBeispiel für Betriebsmittel-Knappheit im Netz
  1410.  
  1411. @BP          ┌──────────────────┐            @HB Das Netz besteht aus den 3
  1412. @BP         \│/  @BOX           Y  @BP│            @HB Knoten X, Y und Z. Jedem Knoten
  1413. @BE       ╔════════╗       ╔════@BP│@BE═══╗        @HB stehen 2 Puffer zur Verfügung.
  1414. @BE       ║ @BP┌────┐ @BE╟───────╢ @BP┌──┴─┐ @BE║        @HB
  1415. @BE       ║ @BP│ @BMA1 @BP├────────>@BE║ @BP│ @BMC  @BP│ @BE║        @HB Knoten X hat eine Nachricht aus
  1416. @BE       ║ @BP├────┤ @BE║       ║ @BP├────┤ @BE║        @HB 2 Paketen für Knoten Y. Y hat
  1417. @BE       ║ @BP│ @BMA2 @BP├────────>@BE║ @BP│ @BMD  @BP│ @BE║        @HB eine Nachricht für Knoten X und
  1418. @BE       ║ @BP└────┘ @BE║       ║ @BP└──┬─┘ @BE║        @HB eine für Z. Knoten Z hat je
  1419. @BE       ╚══════╤═╝       ╚═╤══@BP│@BE═══╝        @HB eine Nachricht für X und Y.
  1420. @BP          /│\ @BE│           │  @BP│ /│\        @HB
  1421. @BP           │  @BE│     @BOZ     @BE│  @BP│  │         @HB Kein Knoten ist jedoch in der
  1422. @BP           │ @BE╔╧═══════════╧╗ @BP│  │         @HB Lage, eine Nachricht bzw. ein
  1423. @BP           │ @BE║ @BP┌────┬────┐ @BE║@BP<┘  │         @HB Paket zu übertragen, weil der
  1424. @BP           └───@BP┤ @BME  @BP│ @BMF  @BP├──────┘         @HB jeweilige Zielknoten keinen
  1425. @BE             ║ @BP└────┴────┘ @BE║              @HB freien Puffer für die Aufnahme
  1426. @BE             ╚═════════════╝              @HB hat. ==> @HPDeadlock
  1427. @HBDa es nicht möglich ist, Rechnernetze so zu konstruieren, daß Deadlock-
  1428. freiheit garantiert werden kann (Verhindern von Deadlocks ist nicht
  1429. möglich), beschränkt man sich in Rechnernetzen auf das Erkennen und
  1430. Beseitigen von Deadlocks und die Deadlock-Vermeidung.
  1431.  
  1432. Zu beiden Verfahren geben wir einen Algorithmus an:
  1433.  
  1434.   a) Algorithmus zum Erkennen von Deadlocks in Rechnernetzen,
  1435.      von Ahuja 1979
  1436.  
  1437.   b) Algorithmus zum Vermeiden von Deadlocks in Rechnernetzen
  1438.      von S. Taueg
  1439.  
  1440.  
  1441.  
  1442.        @HBweiter mit ⌐Ahuja@BS___6¬
  1443.  
  1444.        siehe auch ⌐Deadlock-Vermeidung@BS___4¬
  1445. AHBAA #!!# Ahuja
  1446. @EH            Algorithmus zum Erkennen von Deadlocks (Ahuja 1979)
  1447. @HB
  1448. Der Algorithmus geht von dem Prinzip der Nachrichtenübertragung aus,
  1449. das im Kapitel ⌐Deadlock im Netz@BS___6¬ besprochen wurde.
  1450. Dazu kommen folgende Annahmen:
  1451.    - Jeder Puffer kann nur eine Nachricht aufnehmen.
  1452.      (Paketvermittlung ist nicht vorausgesetzt.)
  1453.  
  1454.    - Ein Puffer ist nicht entziehbar.
  1455.  
  1456.    - Die Aufnahme einer Nachricht im Zielknoten bedeutet gleichzeitig,
  1457.      daß die Nachricht verbraucht wird, wodurch der Puffer wieder frei
  1458.      wird.
  1459.  
  1460. Bemerkungen:
  1461.   - Der Algorithmus ist @HPzentral@HB.
  1462.   - Voraussetzung ist, daß jeder Knoten mit jedem Knoten direkt verbunden
  1463.     ist (zumindestens mit jedem seiner Zielknoten).
  1464. @HEIdee des Algorithmusses
  1465. @HB
  1466. In einer (n * n)-Matrix (n = Anzahl der Knoten im Netz) wird festgehalten,
  1467. welcher Knoten an welchen Knoten Nachrichten verschicken will.
  1468.  
  1469. Man tut nun so, als wenn man von den Knoten, deren Puffer alle belegt
  1470. sind, Nachrichten an deren Zielknoten schickt, falls diese noch freie
  1471. Puffer besitzen. Ist dies möglich (der jeweilige Zielknoten besitzt also
  1472. noch freie Pufferplätze), so wird der Quellknoten in die Liste der Knoten
  1473. mit freien Puffern aufgenommen.
  1474.  
  1475. Dies wiederholt man für alle in der Matrix gespeicherten Knoten so lange,
  1476. bis keine Nachrichten mehr an Zielknoten mit freien Puffern verschickt
  1477. werden können.
  1478.  
  1479. Bleibt am Ende ein Knoten übrig, dessen Puffer alle belegt waren und der
  1480. keine Nachrichten verschicken konnte, dann und nur dann liegt ein
  1481. Deadlock vor.
  1482. @HEAlgorithmus
  1483.  
  1484. @HPSchritt 1:    @HAMatrix M (n * n) mit 0 initialisieren,
  1485.               Vektor V (n)     mit 0 initialisieren
  1486.  
  1487. @HPSchritt 2:    @HAFür jeden Knoten Xi (1 ≤ i ≤ n) setze
  1488.               Vi = 1, wenn Knoten Xi mindestens einen freien Puffer hat
  1489.               Vi = 0, sonst.
  1490.               Enthält V weniger als zwei 0-Einträge, dann ist
  1491.               T' (der zu untersuchende Zustand des Netzes) kein
  1492.               Deadlockzustand.
  1493.               Enthält V nur 0-Einträge, dann ist T' ein Deadlockzustand.
  1494.               (Im gesamten Netz gibt es keinen freien Puffer mehr.)
  1495.  
  1496. @HPSchritt 3:    @HAFür jeden Knoten Xi setze
  1497.               Mij = 1, wenn eine Nachricht in Xi einen Puffer in Xj
  1498.                        anfordert
  1499.               Mij = 0, sonst.
  1500. @HPSchritt 4: a) @HAErzeuge eine Liste Y, die alle Indizes derjenigen Knoten Xi
  1501.               enthält, für die Vi = 1 ist.
  1502.               Gibt es keinen Knoten Xi, dann folgt Schritt 5.
  1503.  
  1504. @HP           b) @HAFür jede Zeile p mit Mpk = 1 (k = erstes Element von Y)
  1505.               und Vp = 0  setze Vp = 1 und nimm p in die Liste Y auf.
  1506.  
  1507. @HP           c) @HASetze k auf das nächste Element von Y und gehe wieder zu 4b.               
  1508.  
  1509. @HP           d) @HAWiederhole diesen Schritt so lange, bis alle Einträge
  1510.               von Y überprüft sind.
  1511.  
  1512. @HPSchritt 5:    @HAÜberprüfe den Vektor V auf 0-Einträge. Gibt es mindestens
  1513.               ein Element j mit Vj = 0, dann und nur dann ist T' ein
  1514.               Deadlockzustand.
  1515.  
  1516.  
  1517. @HBAufwand des Algorithmusses: @HPO (m + n²)    @HBmit m = Anzahl Nachrichten in T'
  1518. @HBBeispiel a)
  1519.                                                     @HAXi p  Xj   Xi p  Xj
  1520. @HBb = 2       @HE╔═══╗@HP────>@HE╔═══╗                 @HBT' = { (1, 1, 2), (1, 2, 4),
  1521.          @HP┌─>@HE║ @HO1 @HE║     @HE║ @HO2 @HE║@HP<─────┐          @HB       (2, 1, 1), (2, 2, 4),
  1522.          @HP│  @HE╚═══╝@HP<────@HE╚═══╝      @HP│          @HB       (3, 1, 2), (3, 2, 4),
  1523.          @HP│ /│\  │         │      │          @HB       (4, 1, 1), (4, 2, 5),
  1524.    @HE╔═══╗ @HP│  │   └─────┐   │    @HE╔═══╗        @HB       (5, 1, 1), (5, 2, 3)  }
  1525.    @HE║ @HO6 @HE║ @HP│  │         │   │    @HE║ @HO3 @HE║
  1526.    @HE╚═══╝ @HP│  └─────┐   │   │    @HE╚═══╝
  1527.          @HP│        │  \│/ \│/   │  /│\       @HBXi = Quellknoten
  1528.          @HP│  @HE╔═══╗ @HP└───@HE╔═══╗    @HP│   │        @HBXj = Zielknoten
  1529.          @HP└──@HE║ @HO5 @HE║     ║ @HO4 @HE║@HP<───┘   │        @HBp  = Pufferindex
  1530.             @HE╚═══╝@HP<────@HE╚═══╝        @HP│        @HBb  = Pufferanzahl im Knoten
  1531.               @HP│                    │
  1532.               @HP└────────────────────┘
  1533.  
  1534.  
  1535.  
  1536. @HPSchritt 1:    @HBM, V mit 0 initialisieren
  1537.  
  1538. @HPSchritt 2:    @HBV = (0, 0, 0, 0, 0, 1)
  1539.  
  1540. @HPSchritt 3:    @HB       ┌             ┐
  1541.                      │ 0 1 0 1 0 0 │
  1542.                      │ 1 0 0 1 0 0 │
  1543.               M =    │ 0 1 0 1 0 0 │
  1544.                      │ 1 0 0 0 1 0 │
  1545.                      │ 1 0 1 0 0 0 │
  1546.                      │ 0 0 0 0 0 0 │
  1547.                      └             ┘
  1548.  
  1549. @HPSchritt 4: a) @HB Y = (6)
  1550. @HP           b) @HB -
  1551. @HP           c) @HB -
  1552. @HP           d) @HB -
  1553. @HPSchritt 5:    @HB T' ist Deadlock-Zustand
  1554. @HBBeispiel b)
  1555.                                                @HA     Xi p  Xj   Xi p  Xj
  1556. @HBb = 2       @HE╔═══╗     ╔═══╗                 @HBT' = { (1, 1, 3), (1, 2, 5),
  1557.          @HP┌──@HE║ @HO1 @HE║@HP<────@HE║ @HO2 @HE║@HP──────┐             @HB    (2, 1, 1), (2, 2, 3),
  1558.          @HP│  @HE╚═══╝     ╚═══╝      @HP│             @HB    (3, 1, 4), (3, 2, 5),
  1559.          @HP│    │          /│\    \│/            @HB    (4, 1, 2), (4, 2, 5)  }
  1560.          @HP│    │           │    @HE╔═══╗
  1561.          @HP│    └───────────│───>@HE║ @HO3 @HE║
  1562.          @HP│                │    @HE╚═══╝
  1563.          @HP│                │    │   │        @HBXi = Quellknoten
  1564.          @HP│  @HE╔═══╗     ╔═══╗    @HP│   │        @HBXj = Zielknoten
  1565.          @HP└─>@HE║ @HO5 @HE║@HP<────@HE║ @HO4 @HE║@HP<───┘   │        @HBp  = Pufferindex
  1566.             @HE╚═══╝     ╚═══╝        @HP│        @HBb  = Pufferanzahl im Knoten
  1567.              @HP/│\                   │
  1568.               └────────────────────┘
  1569.  
  1570.  
  1571.  
  1572. @HPSchritt 1:   @HBM, V mit 0 initialisieren
  1573.  
  1574. @HPSchritt 2:   @HBV = (0, 0, 0, 0, 1)
  1575.  
  1576. @HPSchritt 3:    @HB       ┌           ┐
  1577.                      │ 0 0 1 0 1 │
  1578.                      │ 1 0 1 0 0 │
  1579.               M =    │ 0 0 0 1 1 │
  1580.                      │ 0 1 0 0 1 │
  1581.                      │ 0 0 0 0 0 │
  1582.                      └           ┘
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590. @HPSchritt 4: a) @HB           Y = (5)
  1591.  
  1592. @HP           b) @HB k = 5
  1593.                Zeilen p: p = {1, 3, 4}
  1594.                ==>       V = (1, 0, 1, 1, 1)
  1595.                          Y = (5, 1, 3, 4)
  1596.  
  1597. @HP           c) @HB k = 1
  1598.                -
  1599.                k = 3
  1600.                Zeilen p: p = {2}
  1601.                ==>       V = (1, 1, 1, 1, 1)
  1602.                          Y = (5, 1, 3, 4, 2)
  1603.                k = 4
  1604.                -
  1605.                k = 2
  1606.                -
  1607. @HPSchritt 5:    @HB T' ist deadlockfreier Zustand
  1608.  
  1609.  
  1610.        @HBweiter mit ⌐Taueg@BS___6¬
  1611. AHBAA #!!# Taueg
  1612. @EH          Algorithmus zum Vermeiden von Deadlocks (von S. Taueg)
  1613. @HB
  1614. Hinweise:
  1615.  
  1616.    - Der Algorithmus ist für ein Netzwerkmodell mit @HPPaketvermittlung@HB
  1617.      ausgelegt.
  1618.    - Es ist ein @HPverteilter Algorithmus@HB, das heißt jeder Knoten
  1619.      entscheidet nur auf Grund lokalen Wissens und unabhängig von
  1620.      anderen Knoten
  1621.    - Es gibt in jedem Knoten Kontroll-Prozeduren, die das Eintreten eines
  1622.      ⌐Deadlock@BS1¬s verhindern (@HPDeadlockfreiheit@HB garantieren).
  1623.  
  1624. Annahmen:
  1625.  
  1626.    - Es gibt @HPfeste Wege@HB, die den Nachrichtenpaketen mitgegeben werden.
  1627.    - Der längste Weg eines Paketes sei @HPk@HB (nicht unbedingt der längste Weg
  1628.      im Netz).
  1629.    - In jedem Knoten gibt es @HPb@HB Puffer, wobei b > k ist.
  1630. @HELokales Knotenwissen
  1631. @HB
  1632.    - @HPf@HB                 : Anzahl freier Puffer
  1633.  
  1634.    - @HPg@HB                 : Anzahl der Pakete im Knoten
  1635.  
  1636.    - @HPq = (qo, ..., qk)@HB : Wobei qi die Anzahl der Pakete in einem Knoten
  1637.                          angibt, dessen Entfernung vom Quellknoten
  1638.                          i beträgt.   0 ≤ i ≤ k
  1639.  
  1640.    - @HPr = (ro, ..., rk)@HB : Wobei ri die Anzahl der Pakete in einem Knoten
  1641.                          angibt, dessen Entfernung vom Zielknoten
  1642.                          i beträgt.   0 ≤ i ≤ k
  1643.  
  1644.  
  1645. Es gilt:           @HPk        k
  1646.          @HB1.   @HPg =  Σ  qi =  Σ  ri               @HB2.@HP   f = b - g
  1647.                   @HPi=0      i=0
  1648. @HEGlobaler Paketzustand
  1649. @HB
  1650.    - @HPs@HB : Entfernung eines Paketes vom Quellknoten (source)
  1651.  
  1652.    - @HPd@HB : Entfernung eines Paketes vom Zielknoten (destination)
  1653.  
  1654. Es gilt:   @HPs + d ≤ k@HB
  1655.           └──┬──┘
  1656.              Länge des Weges eines Paketes
  1657.  
  1658.  
  1659. @HEKontrollprozeduren:@HB
  1660.  
  1661.    - @HP(f, d)@HB : Forward -Count-Controller; @HPFC@HB
  1662.    - @HP(r, d)@HB : Forward -State-Controller; @HPFS@HB
  1663.    - @HP(g, s)@HB : Backward-Count-Controller; @HPBC@HB
  1664.    - @HP(q, s)@HB : Backward-State-Controller; @HPBS@HB
  1665.  
  1666. @HP(f, d) die FC-Kontroll-Prozedur@HB
  1667.   Die FC-Prozedur erlaubt die Generierung oder Übernahme eines Paketes,
  1668.   wenn die Anzahl der freien Puffer größer ist, als die Entfernung zum
  1669.   Zielknoten.
  1670.   @HL
  1671.     FC (f, d) = {(f, d) | d < f AND 0 ≤ d ≤ k AND 1 ≤ f ≤ b }
  1672.   @HB
  1673.   FC ist deadlockfrei.
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684. @HP(r, d) die FS-Kontroll-Prozedur@HB
  1685.   Die FS-Prozedur arbeitet in Anlehnung an die FC-Prozedur.
  1686.   Die FS-Prozedur betrachtet alle Pakete, geordnet nach der Entfernung zum
  1687.   jeweiligen Zielknoten.
  1688.  
  1689.   Sie erlaubt die Übernahme eines Paketes p, wenn für alle Pakete im
  1690.   Knoten, deren Entfernung i zum Zielknoten kleiner oder gleich der Ent-
  1691.   fernung d des Paketes p zu seinem Zielknoten ist, gilt, daß ihre
  1692.   jeweilige Entfernung i kleiner ist als die Anzahl der freien Puffer nach
  1693.   der Weitergabe der Pakete mit der Entfernung, die kleiner ist als i.
  1694.   @HL
  1695.     FS (r, d) = {(r, d) | für alle i mit 0 ≤ i ≤ gilt:
  1696.  
  1697.               k
  1698.       i < b - Σ  rj  AND  0 ≤ d ≤ k }
  1699.              j=i
  1700.   @HB
  1701.   FS ist deadlockfrei.
  1702. @HP(g, s) die BC-Kontroll-Prozedur@HB
  1703.   Die BC-Prozedur erlaubt die Generierung oder Übernahme eines Paketes,
  1704.   wenn dieses Paket weiter vom Quellknoten entfernt ist, als die Differenz
  1705.   von k und der Anzahl der verbleibenden freien Puffer im Knoten.
  1706.   @HL
  1707.     BC (g, s) = {(g, s) |
  1708.  
  1709.       s ≥ g - b + (k + 1) AND 0 ≤ s ≤ k AND 0 ≤ g ≤ b - 1}
  1710.          @HB└──┬──┘
  1711.            -f
  1712.          └───────┬───────┘
  1713.             (k + 1) - f
  1714.  
  1715.   BC ist deadlockfrei.
  1716.  
  1717.  
  1718.  
  1719.  
  1720. @HP(q, s) die BS-Kontroll-Prozedur@HB
  1721.   Die BS-Prozedur betrachtet alle Pakete, geordnet nach der Entfernung vom
  1722.   jeweiligen Zielknoten.
  1723.  
  1724.   Sie erlaubt die Übernahme eines Paketes p, wenn für alle Pakete im
  1725.   Knoten, deren Entfernung i vom Quellknoten größer oder gleich der Ent-
  1726.   fernung s des Paketes p von seinem Quellknoten ist, gilt, daß ihre
  1727.   jeweilige Entfernung i größer oder gleich ist als die Differenz von k
  1728.   und der Anzahl der freien Puffer nach der Weitergabe der Pakete mit der
  1729.   Entfernung, die größer ist als i.
  1730.   @HL
  1731.     BS (q, s) = {(q, s) | für alle i mit s ≤ i ≤ k gilt:
  1732.  
  1733.                          i
  1734.       i ≥ (k + 1) - (b - Σ  qj)  AND  0 ≤ s ≤ k}
  1735.                         j=0
  1736.   @HB
  1737.   BS ist deadlockfrei.
  1738. @HEBeweisidee für die Deadlockfreiheit der FC-Kontroll-Prozedur
  1739. @HB
  1740. Beweis durch Widerspruch
  1741.  
  1742. Annahme:
  1743.   Deadlock sei eingetreten. Es können keine Pakete mehr verschickt werden.
  1744.  
  1745. Sei p1 ein blockiertes Paket, daß sich im Knoten v1 befindet.
  1746.  
  1747. v1 sei vom Zielknoten von p1 die Distanz d1 entfernt
  1748. (d1 > 0, weil sonst v1 der Zielknoten von p1 wäre).
  1749.  
  1750. Sei v2 der nächste Knoten auf dem Weg von p1 und
  1751.  
  1752. sei f2 die Anzahl freierPuffer in v2.
  1753.  
  1754.  
  1755.  
  1756. Es gilt dann:
  1757.   a) @HPd1 < b@HB       , weil p1 sonst nicht von v1 aufgenommen worden wäre.
  1758.  
  1759.   b) @HP(d1 - 1) ≥ f2@HB, weil p1 sonst an v2 weitergegeben werden könnte.
  1760.  
  1761. ==>  @HPf2 < b@HB       , das heißt v2 ist nicht leer, es gibt also wenigstens
  1762.                     ein Paket in v2, das blockiert ist.
  1763.  
  1764. Sei d2 die Entfernung des Paketes p2 mit der geringsten zurückgelegten
  1765. Strecke zum Zielknoten in v2.
  1766.  
  1767. Es gilt also:
  1768.   @HPd2 < f2 + 1@HB      , weil p2 sonst nicht von v2 aufgenommen worden wäre
  1769.  
  1770. Mit (d1 - 1) ≥ f2  ==> d1 ≥ f2 + 1 > d2 folgt dann
  1771.  
  1772.   @HPd2 < d1@HB
  1773.  
  1774. ==> Im nächsten Knoten auf dem Weg von p1, dem Knoten v3, gibt es eben-
  1775.     falls ein blockiertes Paket p3 mit der Entfernung d3 und es gilt
  1776.  
  1777.     @HPd3 < d2@HB
  1778.  
  1779.     Usw., usf. Schließlich kommt man zu einem Knoten, der ein blockiertes
  1780.     Paket mit der Entfernung 0 besitzt. Es ist blockiert, obwohl es sich
  1781.     in seinem Zielknoten befindet. Das ist ein Widerspruch.
  1782.  
  1783.     ==> Die Annahme, es sei ein Deadlock eingetreten, ist falsch.
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792. @HEZahlenbeispiel
  1793. @HB
  1794. Da laut Annahme ein Deadlock vorliegt, müssen alle Pakete p1 bis p5
  1795. blockiert sein.
  1796.  
  1797.  
  1798. @HAKnoten v1      Knoten v2      Knoten v3      Knoten v4      Knoten v5
  1799.   @HE╔════════╗     ╔════════╗     ╔════════╗     ╔════════╗     ╔════════╗
  1800.   @HE║ @HP┌────┐ @HE║     ║ @HP┌────┐ @HE║     ║ @HP┌────┐ @HE║     ║ @HP┌────┐ @HE║     ║ @HP┌────┐ @HE║
  1801.   @HE║ @HP│ @HLp1 @HP│ @HE╟─────╢ @HP│ @HLp2 @HP│ @HE╟─────╢ @HP│ @HLp3 @HP│ @HE╟─────╢ @HP│ @HLp4 @HP│ @HE╟─────╢ @HP│ @HLp5 @HP│ @HE║
  1802.   @HE║ @HP└────┘ @HE║     ║ @HP└────┘ @HE║     ║ @HP└────┘ @HE║     ║ @HP└────┘ @HE║     ║ @HP└────┘ @HE║
  1803.   @HE║     @HAf1 @HE║     ║     @HAf2 @HE║     ║     @HAf3 @HE║     ║     @HAf4 @HE║     ║     @HAf5 @HE║
  1804.   @HE╚════════╝     ╚════════╝     ╚════════╝     ╚════════╝     ╚════════╝
  1805. @HB
  1806. d1 = 4   (Distanz von p1 zum Zielknoten v5)
  1807.  
  1808. Es gilt: a) d1 = 4 < b
  1809.          b) (d1 - 1) ≥ f2  <==>  3 ≥ f2
  1810. @HBSei  f2 = 3 < b  ==>  es existiert p2  (blockiert)
  1811. Es gilt: d2 < f2 + 1  <==>  d2 < 4
  1812. ==>  d2 < d1 = 4
  1813. Es gilt: (d2 - 1) ≥ f3  <==>  2 ≥ f3
  1814. Sei  f3 = 2 < b  ==>  es existiert p3  (blockiert)
  1815. Es gilt: d3 < f3 + 1  <==>  d3 < 3
  1816. ==>  d3 < d2 = 3
  1817. Es gilt: (d3 - 1) ≥ f4  <==>  1 ≥ f4
  1818. Sei  f4 = 1 < b  ==>  es existiert p4  (blockiert)
  1819. Es gilt: d4 < f4 + 1  <==>  d4 < 2
  1820. ==>  d4 < d3 = 2
  1821. Es gilt: (d4 - 1) ≥ f5  <==>  0 ≥ f5
  1822. Sei  f5 = 0      ==>  es existiert p5  (blockiert)
  1823. Es gilt: d5 < f5 + 1  <==>  d5 < 1
  1824. ==>  d5 < d4 = 1   <==> @HPd5 = 0@HB Widerspruch ! 
  1825.                                p5 wäre nicht blockiert.
  1826.  
  1827.  
  1828. @HEBeispiel für die FC- und FS-Kontroll-Prozedur
  1829. @HB
  1830. @HPNetz mit@HB b = 7,  k = 5,  f = 7 (in diesem bestimmten Zustand)
  1831.  
  1832. @HPEs kommen die Pakete:@HB
  1833.   P1 (d1=1), P2 (d2=2), P3 (d3=2), P4 (d4=4), P5 (d5=4), P6 (d6=5)
  1834.  
  1835. @HPFC-Prozedur@HA
  1836.         f  d @HB
  1837.   P1 : (7, 1)       1 < 7 ok   ==>    P1 angenommen;              f = 6
  1838.   P2 : (6, 2)       2 < 6 ok   ==>    P2 angenommen;              f = 5
  1839.   P3 : (5, 2)       2 < 5 ok   ==>    P3 angenommen;              f = 4
  1840.   P4 : (4, 4)       4 < 4 ko   ==>    P4 nicht angenommen;       
  1841.   P5 : (4, 4)       4 < 4 ko   ==>    P5 nicht angenommen;
  1842.   P6 : (4, 5)       5 < 4 ko   ==>    P6 nicht angenommen;
  1843.  
  1844.   Bei umgekehrter Ankunftsreihenfolge der Pakete wären alle 6 Pakete
  1845.   angenommen worden.  ==> Reihenfolge ist wichtig !
  1846. @HEFS-Prozedur
  1847. @HA
  1848.        0 1 2 3 4 5 = d@HB
  1849.   r = (0 0 0 0 0 0)
  1850.  
  1851.   P1 (d1=1) kommt  ==>  r = (0 1 0 0 0 0)
  1852.                         0 ≤ i ≤ 1     i = 0    0 < 7 - 1 = 6
  1853.                                       i = 1    1 < 7 - 1 = 6
  1854.  
  1855.                         P1 angenommen
  1856.  
  1857.   P2 (d2=2) kommt  ==>  r = (0 1 1 0 0 0)
  1858.                         0 ≤ i ≤ 2     i = 0    0 < 7 - 2 = 5
  1859.                                       i = 1    1 < 7 - 2 = 5
  1860.                                       i = 2    2 < 7 - 1 = 6
  1861.  
  1862.                         P2 angenommen
  1863.  
  1864. @HB  P3 (d3=2) kommt  ==>  r = (0 1 2 0 0 0)
  1865.                         0 ≤ i ≤ 2     i = 0    0 < 7 - 3 = 4
  1866.                                       i = 1    1 < 7 - 3 = 4
  1867.                                       i = 2    2 < 7 - 2 = 5
  1868.  
  1869.                         P3 angenommen
  1870.  
  1871.   P4 (d4=4) kommt  ==>  r = (0 1 2 0 1 0)
  1872.                         0 ≤ i ≤ 4     i = 0    0 < 7 - 4 = 3
  1873.                                       i = 1    1 < 7 - 4 = 3
  1874.                                       i = 2    2 < 7 - 3 = 4
  1875.                                       i = 3    3 > 7 - 1 = 6
  1876.                                       i = 4    4 < 7 - 1 = 6
  1877.  
  1878.                         P4 angenommen
  1879.  
  1880.  
  1881.  
  1882. @HB  P5 (d5=4) kommt  ==>  r = (0 1 2 0 2 0)
  1883.                         0 ≤ i ≤ 4     i = 0    0 < 7 - 5 = 2
  1884.                                       i = 1    1 < 7 - 5 = 2
  1885.                                       i = 2    2 < 7 - 4 = 3
  1886.                                       i = 3    3 > 7 - 2 = 5
  1887.                                       i = 4    4 < 7 - 2 = 5
  1888.                                        
  1889.                         P5 angenommen
  1890.  
  1891.   P6 (d6=5) kommt  ==>  r = (0 1 2 0 2 1)
  1892.                         0 ≤ i ≤ 5     i = 0    0 < 7 - 6 = 1
  1893.                                       i = 1    1 < 7 - 6 = 1 ko
  1894.                                       i = 2    2 < 7 - 5 = 2 ko
  1895.                                       i = 3    3 > 7 - 3 = 4
  1896.                                       i = 4    4 < 7 - 3 = 4 ko
  1897.                                       i = 5    5 < 7 - 1 = 6
  1898.  
  1899.                         P6 nicht angenommen
  1900. @HPBemerkungen@HB
  1901.  
  1902.    - Bei der FC-Kontroll-Prozedur spielt die Ankunftsreihenfolge der
  1903.      Pakete eine große Rolle.
  1904.  
  1905.    - Die FS-Kontroll-Prozedur arbeitet mit mehr Informationen als
  1906.      die FC-Prozedur.
  1907.  
  1908.    - Die FS-Prozedur kann mehr Pakete annehmen.
  1909.  
  1910.    - Bei der FS-Prozedur ist die Reihenfolge der Pakete uninteressant,
  1911.      da die Pakete in r sowieso sortiert werden.
  1912.  
  1913.    - Nachteil (aber nicht gravierend) bei den Kontroll-Prozeduren ist,
  1914.      daß b und k feste Werte sind.
  1915.  
  1916.  
  1917.                weiter mit ⌐ISO-Referenz-Modell@BS___6¬
  1918. AHBAA #!!# ISO-Referenz-Modell
  1919. Insbesondere wenn es sich bei dem ⌐Rechnernetz@BS___6¬ um ein ⌐offenes System@BS___2¬
  1920. handelt, in das prinzipiell beliebige Rechner und DV-Endgeräte einbezogen
  1921. werden können, muß bei der Datenübertragung dafür gesorgt werden, daß die
  1922. Empfängerstation bereit und in der Lage ist, die zu übertragenden Daten
  1923. anzunehmen und zu interpretieren. Ein zusätzliches Problem ergibt sich
  1924. dadurch, daß die verwendeten Sende- und Empfangsgeräte von unterschied-
  1925. lichen Hard- und Softwareherstellern kommen können.
  1926.  
  1927. Innerhalb der @HPInternationalen Standard Organisation@HB (ISO, erarbeitet
  1928. internationale technische Normen) hat man die Bedeutung von Standard-
  1929. definitionen für die Nachrichtenübermittlung in Rechnernetzen erkannt. Mit
  1930. ihrer Hilfe können Hersteller von Hard- und Software ihre Produkte aufein-
  1931. ander abstimmen.
  1932.  
  1933. Bei der Entwicklung des @HPISO-Referenz-Modells@HB ging man von der Idee eines
  1934. offenen Systems aus. Man wollte ein Modell schaffen, das, aufbauend auf
  1935. öffentlichen Datennetzen, die Kommunikation zwischen beliebigen Rechnern
  1936. und Terminals ermöglicht.
  1937. @HBDie Einrichtung von öffentlichen Packetvermittlungsnetzen stellt die Basis
  1938. für die Realisierung von offenen Systemen dar.
  1939.  
  1940. Das Architekturmodell für offene Systeme von ISO sollte die gesamte
  1941. Hierarchie von der Kommunikation zwischen Benutzerprozessen bis hinunter
  1942. zur Datenübertragung auf Leitungen umfassen. Das diesen Überlegungen zu
  1943. Grunde liegende @HPSchichtenmodell@HB läßt sich folgendermaßen charakterisieren:
  1944.  
  1945. In der obersten Schicht, der @HPAnwendungsschicht@HB (application layer), treten
  1946. zwei Prozesse in Kommunikation. Sie bedienen sich dabei des darunter
  1947. liegenden Kommunikationssystems, das durch weitere Schichten, von denen
  1948. jede ganz bestimmte Aufgaben zu erfüllen hat, bis hinunter zum physischen
  1949. Übertragungsmedium hierarchisch aufgebaut ist.
  1950.  
  1951. Die Beziehungen zwischen Prozessen der gleichen Schicht werden
  1952. (Schichten-) @HPProtokolle@HB genannt.
  1953.  
  1954.  
  1955. @HBDurch den hierarchischen Aufbau und die klare Trennung der Schichten
  1956. voneinander wird eine @HPModularisierung@HB erreicht. Dadurch werden für die
  1957. Schicht n verschiedenartige Realisierungen ermöglicht, ohne daß  die
  1958. Schicht (n + 1) davon betroffen wäre, solange nur die Schnittstellen
  1959. zwischen den Schichten identisch bleiben.
  1960.  
  1961. Mit Ausnahme der untersten Schicht bedient sich jede Schicht n der Dienste
  1962. der Schicht (n - 1), führt eigene Aufgaben durch und bietet der Schicht
  1963. (n + 1) wiederum Dienste an. Die Beziehungen zwischen den benachbarten
  1964. Schichten sind durch @HPDienstprotokolle@HB geregelt.
  1965.  
  1966. Hauptkriterium für die konkrete Bildung von Schichten im Architekturmodell
  1967. ist es, eng zusammengehörige Funktionen in einer Schicht zusammenzufassen
  1968. und Funktionen, die nicht unmittlebar voneinander abhängen, in getrennte
  1969. Schichten zu legen.
  1970.  
  1971.  
  1972.  
  1973. @HBDie genannten Kriterien führten zur ersten Unterteilung in
  1974.    - Transportsystem und
  1975.    - Anwendersystem.
  1976.  
  1977. Das ⌐ISO-Transportsystem@BS___6¬ dient, wie der Name schon sagt, dazu, Nachrichten
  1978. von einem Ort an einen anderen, von einem Rechner oder Terminal zu einem
  1979. anderen Endgerät, zu transportieren. Die Daten selbst werden dabei nicht
  1980. beachtet und deren Verarbeitung nicht beeinflußt.
  1981.  
  1982. Das ⌐ISO-Anwendersystem@BS___6¬ wiederum setzt den erfolgreichen Transport der
  1983. Daten voraus. Es behandelt ausschließlich die Kommunikation zwischen
  1984. Prozessen, deren Datenstrukturen und die Verarbeitung der Daten durch die
  1985. Prozesse. Das Übertragungsmedium, über das die Prozesse kommunizieren, ist
  1986. für das Anwendersystem uninteressant.
  1987.  
  1988. Innerhalb dieser beiden Systeme werden noch weitere Abstufungen vorgenom-
  1989. men, so daß das ISO-Modell aus 7 Ebenen besteht, 4 im Transportsystem und
  1990. 3 im Anwendersystem. (Siehe folgende Graphik.)
  1991. @HEDas ISO-Referenz-Modell
  1992.  
  1993. @HA   Schichten   Endgerät                           Endgerät  Layer
  1994. @HB7. Anwendungs    @HE▒▒▒▒@HO------Anwendungsprotokoll------@HE▒▒▒▒    @HBApplication
  1995. @HB6. Darstellungs  @HE▓▓▓▓@HO-----Darstellungsrotokoll------@HE▓▓▓▓    @HBPresentation
  1996. @HB5. Sitzungs      @HE▒▒▒▒@HO---------Sessionprotokoll------@HE▒▒▒▒    @HBSession
  1997. @HB4. Transport     @HE▓▓▓▓@HO-------Transportprotokoll------@HE▓▓▓▓    @HBTransport
  1998. @HB3. Netzwerk      @HE▒▒▒▒@HO----X.25----@HE≡≡≡≡@HO--Netzwerkpr.--@HE▒▒▒▒    @HBNetwork
  1999. @HB2. Leitungs      @HE▓▓▓▓@HO----HDLC----@HE≡≡≡≡@HO--Leitungspr.--@HE▓▓▓▓    @HBLink
  2000. @HB1. physikalische @HE▒▒▒▒@HO-X.20--X.21-@HE≡≡≡≡@HO--physik. Pr.--@HE▒▒▒▒    @HBPhysical
  2001.                  @HP▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2002.  
  2003. @HP▀▀▀▀       @HB: physikalisches Medium              @HE≡≡≡≡ @HB: Vermittlungsrechner
  2004. @HOHDLC       @HB: High Level Data Link Control
  2005. @HOX.25       @HB: CCITT-Empfehlung über die Zugriffsrechte zwischen DV-Endgerät
  2006.              und Datenübertragungseinrichtung (DÜE)
  2007. @HOX.20, X.21 @HB: CCITT-Empfehlungen über die Schnittstelle zwischen DÜE
  2008.              und digitalem Netzwerk
  2009.  
  2010.  
  2011.  
  2012.        @HBweiter mit ⌐ISO-Transportsystem@BS___6¬
  2013. AHBAA #!!# ISO-Transportsystem
  2014. Das Transportsystem des ⌐ISO-Referenz-Modell@BS___6¬s setzt sich aus
  2015. 4 Schichten zusammen:
  2016.  
  2017.    1. physikalische Schicht
  2018.    2. Leitungsschicht
  2019.    3. Netzwerkschicht
  2020.    4. Transportschicht
  2021.  
  2022.  
  2023. @HE1. Physikalische Schicht (physikal layer)
  2024. @HB
  2025. In der physikalischen Schicht werden die erforderlichen Eigenschaften des
  2026. physikalischen Übertragungsmediums (elektrische Leitung, Richtfunk,
  2027. optische Leitung, Telefonleitung, usw.) definiert.
  2028.  
  2029. Dazu gehören die Darstellungsweise der einzelnen Signale, die Schnitt-
  2030. stellen und die Topologie.
  2031.  
  2032. @HE2. Leitungsschicht (link layer)
  2033. @HB
  2034. Die Leitungsschicht sorgt für den zuverlässigen Datenaustausch zwischen
  2035. zwei Geräten, die durch das Übertragungsmedium der physikalischen Schicht
  2036. miteinander verbunden sind.
  2037.  
  2038. Die Übertragung von Nachrichten zwischen zwei Netzknoten in der Leitungs-
  2039. schicht wird durch Protokolle gesteuert.
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050. @HBDie Aufgaben der Leitungsschicht sind:
  2051.  
  2052.    - @HPAuf- und Abbau von logischen Verbindungen@HB zwischen zwei Geräten. Dazu
  2053.      gehört auch das Initialisieren von Zählern für die Flußsteuerung,
  2054.      das Bereitstellen von Puffern zur Zwischenspeicherung von Paketen,
  2055.      das Setzen von Uhren für Time-Outs und ähnliches.
  2056.  
  2057.    - @HPFolgeprüfung: @HBDie richtige Reihenfolge von Paketen muß überprüft und
  2058.      garantiert werden.
  2059.  
  2060.    - @HPFlußsteuerung: @HBDie Überlastung des Netzes und von Teilverbindungen
  2061.      muß verhindert werden.
  2062.  
  2063.    - @HPFehlererkennung: @HBÜbertragungsfehler müssen erkannt werden.
  2064.  
  2065.  
  2066.  
  2067.  
  2068. @HE3. Netzwerkschicht (network layer)
  2069. @HB
  2070. In dieser Schicht wird das gesamte Netzwerk betrachtet. Die Netzwerk-
  2071. Schicht beschäftigt sich in erster Linie mit den Funktionen in den Netz-
  2072. knoten und nicht mehr mit der eigentlichen Datenübertragung (diese wird
  2073. von der Leitungsschicht geregelt).
  2074.  
  2075. Die wesentlichen Funktionen der Netzwerkschicht sind:
  2076.  
  2077.    - Die ⌐Wegewahl@BS___6¬ (routing)
  2078.  
  2079.    - Festlegung der Multiplex-Strategie, also ob
  2080.  
  2081.        a) circuit-switching,
  2082.        b) message-switching oder
  2083.        c) packet-switching
  2084.  
  2085.      verwendet wird. (Dazu siehe ⌐Nachrichtenwege@BS___6¬.)
  2086. @HE4. Transportschicht (transport layer)
  2087. @HB
  2088. In der Transportschicht ist die Struktur des gesamten Netzwerkes
  2089. unsichtbar. Sichtbar für den Benutzer ist nur das Gegenüberstehen der
  2090. beiden Wirtrechner.
  2091.  
  2092. Die Funktionen der Transportschicht sind:
  2093.    - @HPAuf- und Abbau von End-zu-End-Verbindungen@HB
  2094.      End-zu-End-Verbindungen arbeiten nach dem "store and forward"
  2095.      Prinzip, wobei die Verbindungen nicht physisch durch Leitungs-
  2096.      schaltungen erstellt werden, sondern nur logisch durch Zuordnung
  2097.      in den Vermittlungsrechnern bzw. Vermittlungsknoten.
  2098.  
  2099.    - @HPAdreßzuordnung@HB
  2100.  
  2101.    - @HPZerlegung von Nachrichten@HB in Pakete und deren Zusammensetzung im
  2102.      Zielknoten, falls notwendig (abhängig von Nachrichtenlänge und
  2103.      Paketgröße)
  2104.  
  2105.  
  2106.  
  2107.  
  2108.        @HBweiter mit ⌐ISO-Anwendersystem@BS___6¬
  2109. AHBAA #!!# ISO-Anwendersystem
  2110. @HBIm Anwendersystem werden 3 Schichten unterschieden, die innerhalb des
  2111. ⌐ISO-Referenz-Modell@BS___6¬s die Schichten 5 - 7 umfassen:
  2112.  
  2113.    5. Sitzungsschicht
  2114.    6. Darstellungsschicht
  2115.    7. Anwendungsschicht
  2116.  
  2117. @HE5. Sitzungsschicht (session layer)
  2118. @HB
  2119. Eine @HPSession@HB ist eine Verbindung (Beziehung, Sitzung, Gespräch) zwischen
  2120. zwei Prozessen zum Zweck der Kommunikation. Die Aufgabe der Session-
  2121. Schicht ist es, solche Verbindungen zu unterstützen.
  2122.  
  2123. Um zwei Benutzerprozesse in Verbindung treten zu lassen, werden zwischen
  2124. ihnen Sessions errichtet. Nach ihrer Errichtung werden die Sessions dazu
  2125. benutzt, den Datenaustausch zwischen den Benutzerprozessen zu steuern.
  2126. Dazu gehört auch die Synchronisation der beiden Prozesse. Ein typisches
  2127. Beispiel ist die login-Prozedur am Terminal.
  2128. @HE6. Darstellungsschicht (presentation layer)
  2129. @HB
  2130. Während die Session-Schicht sich mit der Verwaltung von Sessions beschäf-
  2131. tigt und dabei auf den Inhalt der Zwischen den Prozessen auszutauschenden
  2132. Daten nicht eingeht, werden in der Darstellungsschicht gerade diese Daten
  2133. näher betrachtet.
  2134.  
  2135. Zweck dieser Ebene ist es, der Anwendungsebene die @HPInterpretation@HB der
  2136. Daten zu ermöglichen. In homogenen Systemen bestehen in dieser Hinsicht
  2137. nur geringe Schwierigkeiten. In heterogenen Systemen, das sind Systeme
  2138. mit Rechnern (und Software) unterschiedlicher Hersteller oder Bauart,
  2139. arbeiten kommunizierende Prozesse womöglich unter sehr verschiedenen
  2140. Voraussetzungen.
  2141.  
  2142. Die verwendeten Datenformate, Steuersprachen und Filestrukturen können
  2143. dabei so unterschiedlich sein, daß sie ohne vorherige @HPTransformation@HB nicht
  2144. interpretierbar wären. Als Beispiel sei hier die Umwandlung von Zeichen
  2145. aus dem ASCII in den EBCDIC-Code bzw. umgekehrt genannt.
  2146. @HBIn heterogenen Systemen besteht die Hauptaufgabe der Darstellungs-
  2147. schicht also in der Transformation von Daten und darin, sie an die
  2148. entsprechenden speziellen Gegebenheiten des Empfangsprozesses anzupassen.
  2149.  
  2150.  
  2151. @HE7. Anwendungsschicht (application layer)
  2152. @HB
  2153. Auf dieser höchsten Ebene führen die Anwendungsprozesse die Anwendungen
  2154. der Benutzer aus. Die Art und Weise, in der Prozesse hier kommunizieren,
  2155. ist völlig anwendungsspezifisch. Es kann daher in dieser Schicht keine
  2156. sinnvollen allgemeingültigen Standards geben.
  2157.  
  2158. Dennoch können zwei Gruppen von Anwendungsprotokollen unterschieden
  2159. werden:
  2160.  
  2161.    - Verwaltungs- und Systemprotokolle
  2162.  
  2163.    - Benutzergruppen spezifische Protokolle
  2164. @HBIn die erste Gruppe fällt
  2165.  
  2166.    - die Verwaltung des gesamten verteilten Systems,
  2167.  
  2168.    - die Koordinierung der parallelen Prozesse,
  2169.  
  2170.    - Schutz vor unerlaubtem Zugriff,
  2171.  
  2172.    - Überwachung der Betriebsmittelvergabe und
  2173.  
  2174.    - das Vermeiden von Deadlocks.
  2175.  
  2176. Konkret werden die meisten dieser Aufgaben vom Betriebssystem wahrgenom-
  2177. men. Diese Systemprozesse treten mit Hilfe der darunterliegenden Ebenen
  2178. miteinander in Kommunikation.
  2179.  
  2180. Innerhalb bestimmter Benutzergruppen ist es oft sinnvoll, Anwendungsproto-
  2181. kolle zu standardisieren (z. B. bei Datenbanken).
  2182.  
  2183.  
  2184.  
  2185.        @HBweiter mit ⌐Fremdnetze@BS___6¬
  2186. AHBAA #!!# Fremdnetze
  2187. @HEAnschluß an Fremdnetze
  2188. @HB
  2189. Während die Transportschicht des ⌐ISO-Referenz-Modell@BS___6¬s davon ausgeht, daß
  2190. Verbindungen auf allen Ebenen innerhalb eines wohldefinierten ⌐Netzwerk@BS___6¬es
  2191. zustande kommen, ist es in der Praxis oft wünschenswert, auf mehrere
  2192. Netzwerke, Zugriff zu haben, die an sich voneinander unabhängig sind.
  2193.  
  2194. Basieren die betroffenen Netze auf der gleichen Topologie in der Hard-
  2195. als auch in der Software (den Protokollen), so kann man sie einfach
  2196. mittels einer Bridge koppeln. Eine @HPBridge@HB ist eine Hardware-Einrichtung,
  2197. die mehrere Netze miteinander koppeln kann.
  2198.  
  2199. Sind die Topologien völlig unterschiedlich, so muß man ein Gateway ver-
  2200. wenden. Ein @HPGateway@HB ist in der Regel eine spezielle DV-Anlage
  2201. zwischen zwei Knoten in verschiedenen Netzwerken. Seine wesentliche Auf-
  2202. gabe besteht in der Protokoll-Umsetzung bzw. -Anpassung.
  2203.  
  2204.  
  2205. @HB
  2206.  
  2207.              weiter mit Hintergrundspeicher (⌐HSV@BS___7¬)
  2208.