-
TECHNISCHES GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung richtet sich allgemein auf Netzwerkwerkprotokolle
und -adapter und genauer auf ein System und ein Verfahren dafür, die Kopfinformation
eines Punkt-zu-Punkt-Protokolls ("PPP")
von Paketen, die von einem Netzwerk empfangen werden, selektiv abzutrennen.
-
HINTERGRUND DER ERFINDUNG
-
Netzwerkadapter
schaffen die Schnittstelle zwischen einem Computernetzwerk und den
verschiedenen individuellen Computersystemen ("Stationen"), die in dem Netzwerk sind. Sie haben
oft die Form von entfernbaren Karten, die sich in dem Chassis der
Computersysteme selber befinden.
-
Netzwerkadapter
haben eine Netzwerkschnittstelle, die mit einem physischen Transportmedium
gekoppelt ist, das Daten über
das Netzwerk überträgt. Übliche physische
Transportmedien in heutigen Netzwerken umfassen analoge Telefonleitungen
(in diesem Fall wird der Netzwerkadapter ein "Modem" genannt), Integrated Services Digital
Network("ISDN")-Leitungen, bitserielle
Highlevel Data Link Control("HDLC")-Leitungen, International
Standards Organisation("ISO")-X.25-Signalleitungen, Ethernet®-Leitungen
und optische Synchronous Optical Network/Synchronous Digital Hierarchy("SONET/SDH")-Fasern.
-
Netzwerkadapter
haben auch eine Busschnittstelle, die mit einem Bus in dem Computersystem
gekoppelt ist. Viele Busstandards werden heute verwendet, aber einige
der weiter verbreiteten sind Peripheral Card Interconnect ("PCI"), Small Computer
Systems Interface ("SCSI") und Universal Serial Bus
("USB").
-
Zwischen
der Netzwerkschnittstelle und der Busschnittstelle ist ein Puffer
angeordnet. Selten sind das Computernetzwerk und das Computersystem
in der Lage, mit der gleichen Rate Daten zu übertragen. Der Puffer speichert
Daten vorübergehend,
während sie
zwischen der Netzwerkschnittstelle und der Busschnittstelle bewegt
werden, um sicherzustellen, dass die schnellere der beiden eine
Stelle hat, an der sie ihre Daten platziert, bis die langsamere
der beiden aufholt.
-
Schließlich weisen
Netzwerkadapter einen Prozessor auf, der den Datenfluss zwischen
der Netzwerkschnittstelle, dem Puffer und der Busschnittstelle verwaltet.
Der Prozessor verarbeitet ferner die Daten in dem Puffer, um sicherzustellen,
dass sie in der korrekten Form für
die Übertragung
zu ihrem nächsten
Zielort sind.
-
In
Bezug auf Computernetzwerke ist die "Form" der
Daten (fortan der Klarheit halber als "Nutzlast" bezeichnet) als Protokollstapel definiert,
in dem die Nutzlast eingekapselt ist. Das Stapeln ist ein organisatorisches
Konzept, das es ermöglicht,
verschiedene erforderliche Aufgaben auszuführen, um die Nutzlast über das
Computernetzwerk so zu übertragen,
dass sie unter verschiedenen Schichten, die den Stapel bilden, verteilt
wird. Das Open Systems Interconnection("OSI")-Referenzmodell
legt einen idealisierten siebenschichtigen Protokollstapel dar, der
aus (1) einer physischen Schicht (das tatsächliche physische Medium, das
die Nutzlast trägt,
wie z.B. Ethernet®), (2) einer Datenverbindungsschicht (die
dafür verantwortlich
ist, sicherzustellen, dass die Nutzlast nicht auf Unsinn reduziert
wird, wenn sie über
das physische Medium übertragen
wird), (3) einer Netzwerkschicht (die dafür verantwortlich ist, sicherzustellen,
dass die Nutzlast korrekt von der Quelle über das Computernetzwerk zum
Zielort weitergeleitet wird), (4) einer Transportschicht (die dafür zuständig ist,
die Nutzlast intakt zu halten, so dass sie an ihrem Zielort rekonstruiert
werden kann), (5) einer Sitzungsschicht (am üblichsten in lokalen Netzwerken
verwendet, um die Konkurrenzsituation für die gleichen Ressourcen zwischen
zwei Computersystemen zu handhaben), (6) einer Präsentationsschicht (die
steuert, wie die Nutzlast präsentiert
wird) und (7) einer Anwendungsschicht (die Aufgaben auf höherem Niveau,
wie z.B. Dateiübertragung,
elektronische Post und Hypertext, einen Stapel des World Wide Web,
handhabt) besteht.
-
Das
Punkt-zu-Punkt-Protokoll ("PPP") ist ein häufig verwendeter
Datenverbindungsschichtprotokollstandard für das Bewirken des Einwahl-Zugangs zum
Internet und wird von den Requests for Comments ("RFCs") 1661 und 1662 von
Internet Engineering Task Force ("IETF")
definiert und auf spezielle physische Schichten in den RFCs 1598
(X.25), 1618 (ISDN) und 1619 (SONET/SDH) angewendet. Alle diese
RFCs sind hierin durch Bezugnahme aufgenommen. PPP ist ein Multiprotokollmechanismus
für die
Einrahmung, der eine Nutzlast in Pakete mit einer vermittlungsfähigen Größe einteilt
und für
die Verwendung über
Modems, bitse rielle HDLC-Leitungen, SONET/SDH und andere physische
Schichten geeignet ist. Im Gegensatz zu HDLC, das bitorientiert ist,
ist PPP zeichenorientiert.
-
Protokolle
erfordern, dass diese Information an die Nutzlast "angehängt" und damit über das Computernetzwerk übertragen
und am Zielendpunkt davon "abgetrennt" wird. Da dies notwendigerweise einen
Overhead zu der Übertragung
der Nutzlast hinzufügt
und da die Übertragungsgeschwindigkeit
in Computernetzen von größter Bedeutung
ist, bleibt die Minimierung des Protokoll-Overheads, ohne die Minimierung
der Integrität
der Nutzlast zu beinhalten, ein schwer fassbares Ziel in Protokollkonstruktion und
-verwaltung.
-
Dieses
Ziel ist genauso wichtig auf dem Gebiet von Netzwerkadaptern, in
denen eine weitere Optimierung bezüglich der PPP möglich ist.
Dementsprechend besteht in der Technik ein Bedarf an einer Weise,
den Overhead zu reduzieren, den ein PPP einem Computernetzwerk auferlegt.
-
US-A-5894557
minimiert den erforderlichen Aufwand, der für die Integration eines neuen Übertragungsmediums
und eines neuen Netzwerkdiensts in ein Betriebssystem erforderlich
ist. Diese und andere Aufgaben werden durch die Implementierung
der Link Control Protocol(LCP)-Schicht als ein Betriebssystemdienst
erreicht, der einen Satz von Netzwerkprotokollverbindungen zu einem
Satz von Kommunikationsmedienverbindungs-Routing-Nachrichten zwischen
entsprechenden Verbindungen multiplext. Die LCP-Funktion ist isoliert
durch einen Satz von Netzwerkschnittstellen und einen Satz von Kommunikationsmedienverbindungen.
Die Erfindung ermöglicht,
dass das Network Control Protocol (NCP) und die Datagramm-Unterstützung unabhängig von
der LCP-Unterstützung
sind, so lange die NCP- und Datagramm-Implementierungen mit den
von dem LCP-Betriebssystemdienst geschaffenen Schnittstellen übereinstimmen,
die den Austausch von Statusinformation ermöglichen. Das LCP und das NCP
sind Sub-Protokolle des Punkt-zu-Punkt-Protokolls (PPP).
-
EP-A-0685951
schafft Exchangeable Line Interface Device(LID)-Module, um es dem
Rahmenrelayschaltsystem zu ermöglichen,
Schnittstellen mit einem speziellen Datenanschluss zu bilden. Daten, die
in einen Rahmenrelaynetzwerkknoten kommen, um über ein Netzwerk geschickt
zu werden, werden geprüft
und, wenn ein Fehler in der Integrität des Datenrahmens detektiert
wird, verworfen.
-
WO
9641434 A schafft ein Verfahren und eine Vorrichtung für das Verteilen
der Protokollverarbeitung unter einer Mehrzahl von Rechenplattformen.
Anstatt den Rufdurchsatz unter Verwendung von teurer Hardwarevorrichtungen
zu erhö hen,
lehrt WO 9641434 A die Ermöglichung
der Leistung von Protokollverarbeitung in existierenden Rechenplattformen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung erkennt, dass, abhängig von der Identität von Sub-Protokollen (die
höherer
Schichten) PPP-Information abgetrennt und dadurch von dem Overhead
entfernt werden kann. Als Antwort auf diese Erkenntnis sieht die
vorliegende Erfindung ein System und ein Verfahren dafür, PPP-Kopfinformation
von einem Paket, das von einem Netzwerk (wie z.B. einem Computernetzwerk) empfangen
wurde, selektiv abzutrennen, und einen Netzwerkadapter, der das
System oder das Verfahren beinhaltet, vor. In einer Ausführungsform
weist das System auf: (1) einen Sub-Protokoll-Detektor, der das
Paket empfängt
und davon ein Sub-Protokoll identifiziert, das bezüglich des
Pakets angewendet wird und (2) eine mit dem Sub-Protokoll-Detektor
gekoppelte Kopfabtrenneinrichtung, die auf der Basis einer Identität des Sub-Protokolls
wenigstens einen Teil der PPP-Kopfinformation von dem Paket abtrennt,
um dadurch eine Gesamtgröße des Pakets
zu reduzieren.
-
Gemäß einem
Aspekt der vorliegenden Erfindung ist ein System für das selektive
Abtrennen von Punkt-zu-Punkt-Protokoll-Kopfinformation wie in Anspruch
1 definiert vorgesehen.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung ist ein Verfahren für das selektive Abtrennen
von Punkt-zu-Punkt-Protokoll-Kopfinformation wie in Anspruch 2 definiert
vorgesehen.
-
Die
vorliegende Erfindung führt
deshalb das umfassende Konzept ein, PPP-Information abzutrennen, wenn die Umstände so sind,
dass das Sub-Protokoll in dem Paket ausreichende Information enthält, um es
dem Paket zu ermöglichen,
erfolgreich an seinen Zielort gesendet zu werden. Die vorliegende
Erfindung genießt
eine wesentliche Nützlichkeit,
weil unter solchen Umständen
die PPP-Information zu einem Überschuss
führt und
Bandbreite verbraucht, die anderweitig für das Tragen von Nutzlast verwendet
werden kann.
-
In
einer Ausführungsform
der vorliegenden Erfindung trennt die Kopfabtrenneinrichtung den
wenigstens einen Teil der PPP-Kopfinformation nur dann ab, wenn
das Paket als gut befunden wird. Die PPP-Information selber kann
analysiert werden, um zu bestimmen, ob das Paket als ein Ganzes
gut oder schlecht ist.
-
In
einer Ausführungsform
der vorliegenden Erfindung trennt die Kopfabtrenneinrichtung eine
Gesamtheit der PPP-Kopfinformation einschließlich der Fehlerprüfbits davon
auf der Basis der Identität
des Sub-Protokolls von dem Paket ab. Obwohl für den breiten Umfang der vorliegenden
Erfindung nicht notwendig, ist dies der Fall in einer darzustellenden
und zu beschreibenden Ausführungsform.
-
In
einer Ausführungsform
der vorliegenden Erfindung ist die Kopfabtrenneinrichtung selektiv
außer
Kraft setzbar, um den wenigstens einen Teil der PPP-Kopfinformation unabhängig von
der Identität des
Sub-Protokolls zu empfangen. Obwohl nicht von der vorliegenden Erfindung
gefordert, ermöglicht
dieses Merkmal eine Rückwärtskompatibilität.
-
In
einer Ausführungsform
der vorliegenden Erfindung entsprechen der Sub-Protokoll-Detektor und die Kopfabtrenneinrichtung
einem Kanal eines Mehrkanalpaketempfängers. Auch wenn das nur eine
Ausführungsform
der vorliegenden Erfindung ist, hat eine darzustellende und zu beschreibende Ausführungsform
vier Kanäle,
von denen jeder unabhängige
Systeme für
das selektive Abtrennen der PPP-Kopfinformation von Paketen hat,
die diese Kanäle
durchlaufen.
-
In
einer Ausführungsform
der vorliegenden Erfindung trennt die Kopfabtrenneinrichtung den
wenigstens einen Teil der PPP-Kopfinformation auf der Basis eines
Nutzlaststeuerregisters von dem Paket ab. Unter manchen Umständen sollte
ein Nutzlaststeuerregister die Kopfabtrennung verwalten. In solchen
Fällen
kann es vorteilhaft sein, einen solchen Nutzlaststeuerregister zu
bevorzugen.
-
In
einer Ausführungsform
der vorliegenden Erfindung ist das System in digitaler Logik und
als ein Teil einer integrierten Schaltung ausgeführt. Der Fachmann wird jedoch
verstehen, dass die Prinzipien der vorliegenden Erfindung nicht
auf digitale oder integrierte Schaltungen beschränkt sind und in Software oder
Hardware von jedem beliebigen Typ ausgeführt werden können.
-
Das
Vorhergehende hat auf ziemlich umfassende Weise bevorzugte und alternative
Merkmale der vorliegenden Erfindung umrissen, so dass der Fachmann
die folgende detaillierte Beschreibung der Erfindung besser verstehen
kann. Zusätzliche
Merkmale der Erfindung, die den Gegenstand der Ansprüche der
Erfindung bilden, sind untenstehend beschrieben. Der Fachmann sollte
erkennen, dass die offenbarte Konzeption und spezielle Ausführungsform
leicht als Basis für
das Konstruieren oder das Modifizieren von anderen Strukturen für das Ausführen derselben
Zwecke der vorliegenden Erfindung verwendet werden können. Der
Fachmann sollte auch bemerken, dass solche äquivalenten Konstruktionen nicht
vom Umfang der Ansprüche
in ihrer breitesten Form abweichen.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Für ein vollständigeres
Verständnis
der vorliegenden Erfindung wird jetzt Bezug auf die folgenden Beschreibungen
in Verbindung mit den begleitenden Zeichnungen genommen. In denen
zeigen:
-
1 ein
hochgradig schematisches Blockdiagramm eines Netzwerkadapters, der
das System oder das Verfahren der vorliegenden Erfindung und ihr
umliegendes Umfeld beinhalten kann.
-
2 ein
Blockdiagramm eines Datengeräts,
das sich in dem Netzwerkadapter aus 1 finden
kann und ein System für
das selektive Abtrennen der PPP-Kopfinformation von einem Paket
enthält, das
von einem Computernetzwerk empfangen wird, das gemäß den Prinzipien
der vorliegenden Erfindung konstruiert ist;
-
3 ein
Diagramm eines gemäß dem in den
RFCs 1661 und 1662 dargelegten PPP-Standard formatierten Pakets;
-
4 ein
detaillierteres Blockdiagramm des PPP-Abtrennungsblocks aus 2;
-
5 ein
Ablaufdiagramm eines Verfahrens für das selektive Abtrennen von
Punkt-zu-Punkt-Protokoll-Kopfinformation von einem Paket, das von
einem Computernetzwerk empfangen wird, das gemäß den Prinzipien der vorliegenden
Erfindung ausgeführt
ist; und
-
6 einen
Plan von Registern, die verwendet werden können, um das Abtrennen von
PPP-Information in einem Vierkanal-PPP-Abtrennblock zu steuern.
-
DETAILLIERTE BESCHREIBUNG
-
Zunächst ist
mit Bezug auf 1 ein hochgradig schematisches
Blockdiagramm eines Netzwerkadapters dargestellt, der allgemein
mit 100 bezeichnet ist, der das System oder das Verfahren
der vorliegenden Erfindung beinhalten kann.
-
Der
Adapter 100 ist so dargestellt, dass er eine Busschnittstelle 110 aufweist,
die es ermöglicht, dass
der Adapter 100 mit dem Bus eines bestimmten Computersystems 120 (der
für die
Erfindung ein Umfeld darstellt) gekoppelt ist. Obwohl das Computersystem 120 als
ein Personalcomputer (PC) dargestellt ist und der Adapter 100 mit
einem PCI-Bus 125 davon gekoppelt ist, ist die vorliegende
Erfindung nicht auf einen bestimmten Typ, eine bestimmte Architektur oder
Klasse des Computersystems 120 oder des Busses 125 beschränkt. Ferner
muss das Computersystem 120 nicht als ein Client oder Server wirken,
obwohl es kann. Das Computersystem 120 kann ein Router,
ein Gateway oder jedes beliebige andere System sein, das vorteilhaft
mit einem Computernetzwerk gekoppelt sein kann. Natürlich ist
die vorliegende Erfindung nicht auf Computernetzwerke beschränkt; jedes
beliebige Netzwerk kann eine für die
Ausführung
der Prinzipien der vorliegenden Erfindung geeignete Umgebung bilden.
-
Der
Adapter 100 ist ferner so dargestellt, dass er eine Netzwerkschnittstelle 130 aufweist,
die es ermöglicht,
dass der Adapter 100 mit dem physischen Transportmedium
eines Computernetzwerks 140 (der für die Erfindung ein Umfeld
darstellt) gekoppelt ist. Obwohl das Computernetzwerk 140 als das
Internet dargestellt ist und der Adapter 100 mit einem
physischen Transportmedium 145 davon in Form von SONET/SDH
gekoppelt ist, ist die vorliegende Erfindung nicht auf einen bestimmten
Typ oder eine bestimmte Architektur von Computernetzwerk 140 oder
physischem Transportmedium 145 beschränkt. Der Adapter 100 kommuniziert
mit dem Computernetzwerk 140 über vier (nicht gezeigte) logische
Anschlüsse,
obwohl die vorliegende Erfindung nicht darauf beschränkt ist.
-
Der
Adapter 100 weist einen Puffer 150 auf, der zwischen
der Busschnittstelle 110 und der Netzwerkschnittstelle 130 angeordnet
ist. Der Puffer 150 empfängt und hält (speichert) Daten (in der
Form von Paketen) vorübergehend,
wenn sie zwischen der Busschnittstelle 110 und der Netzwerkschnittstelle 130 übermittelt
werden, um sicherzustellen, dass die schnellere der zwei einen Ort
hat, an den sie ihre Daten tun kann, bis die langsamere der zwei
aufholt. Der Puffer 150 hat typischerweise die Form eines Speichers
mit wahlfreiem Zugriff (RAM) mit einem oder mehren Lese-Anschlüssen und
einem oder mehreren Schreib-Anschlüssen, abhängig von der erwünschten
Geschwindigkeit, mit der der Adapter 100 laufen soll, und
vielleicht der Anzahl von Kanälen,
die der Adapter 100 unterstützt.
-
Der
Adapter 100 weist auch einen Prozessor 160 auf.
Der Prozessor 160 verwaltet den Datenfluss zwischen der
Busschnittstelle 110, dem Puffer 150 und der Netzwerkschnittstelle 130.
Der Prozessor 160 verarbeitet ferner die Daten in dem Puffer 150, um
sicherzustellen, dass sie in der korrekten Form für die Übertragung
zu ihrem nächsten
Zielort sind. Der Puffer 150 ist so dargestellt, dass er
mit einem Datengerät 170 gekoppelt
ist.
-
Jetzt
ist mit Bezug auf 2 ein Blockdiagramm des Datengeräts 170 aus 1 dargestellt. Das
Datengerät 170 kann
als eine hybride Erweiterung des Puffers 150 und des Prozessors 160 gedacht
werden. Das Datengerät 170 enthält Register 210 (einen
schnellen Spezialspeicher, der Steuerdaten enthalten kann, wie beschrieben
werden wird) und Leitungen für
das Anhängen
der Protokollinformation an und das Abtrennen der Protokollinformation
von Nutzlasten, die durch das Datengerät 170 laufen. Diese
Leitungen sind in 2 als eine Sendeleitung 220 bzw.
eine Empfangsleitung 230 dargestellt. Die Sendeleitung 220 handhabt
von der Busschnittstelle empfangene Pakete 110, die an
die Netzwerkschnittstelle 130 (beide aus 1)
zu senden sind. Die Struktur und Funktion der Sendeleitung 220 können für den Zweck
der vorliegenden Erfindung als herkömmliche angenommen werden,
obwohl die vorliegende Erfindung nicht auf herkömmliche Sendeleitungen beschränkt ist.
-
Die
Empfangsleitung 230 handhabt von der Netzwerkschnittstelle 130 empfangene
Pakete, die an die Busschnittstelle 110 zu senden sind,
und ist detaillierter dargestellt als die Sendeleitung 220.
In Richtung des Paketflusses empfängt und verarbeitet ein PPP-Abtrennblock 231 eingangs
Pakete. Das System und Verfahren für die vorliegende Erfindung werden
vorteilhaft in dem PPP-Abtrennblock 231 platziert oder
ausgeführt.
-
Als
Nächstes
prüft ein
Modul für
zyklische Redundanzprüfung
("CRC" von englisch: cyclical
redundancy check) 232 CRC-Codes, um zu bestimmen, ob die
Nutzlasten fehlerfrei sind oder nicht.
-
Als
Nächstes
arbeitet eine Vorentschlüsselungseinrichtung 233 entsprechend
dem bekannten ISO X.43-Standard, um Pakete für das Entschlüsseln und
Einrahmung vorzubereiten. An dieser Stelle werden alternative Einrahmungseinrichtungen
angewendet, abhängig
von dem Protokoll, das in dem Computersystem (120 aus 1)
verwendet wird. Separate Einrahmungseinrichtungen sind für Lucent 's Simplified Data
Link (eine SDL-Einrahmungseinrichtung 234), Asynchronous
Transfer Mode (eine ATM-Einrahmungseinrichtung 235) und
HDLC (eine HDLC-Einrahmungseinrichtung 236)
dargestellt.
-
Als
Nächstes
formatiert eine Nachentschlüsselungseinrichtung 237 die
Pakete in Anlehnung an die entsprechende Einrahmung. Ein Round-Robin-Puffer 238 hält die Pakete
vorläufig,
bis sie mit dem Computersystem (120 aus 1)
synchronisiert werden können.
Die Synchronisation wird in einer Taktgeberkreu zungseinrichtung 239 ausgeführt. Letztendlich
platziert eine Empfangsablaufsteuerung 240 die Pakete auf
dem Bus des Computersystems (125 aus 1).
-
Das
Datengerät 170 der 1 und 2 ist vorzugsweise
in digitaler Form in einer integrierten Schaltung ausgeführt. Der
Fachmann wird jedoch verstehen, dass das Datengerät 170 in
jeder beliebigen für
eine besondere Anwendung geeigneten Form ausgeführt sein kann.
-
Jetzt
ist mit Bezug auf 3 ein Diagramm eines Pakets
(oder "Rahmens") dargestellt, das
entsprechend dem in den RFCs 1661 und 1662 dargelegten PPP-Standard formatiert
ist. Das PPP-Paket, allgemein als 300 bezeichnet, weist
ein Flagfeld 310 (vier Byte), ein Adressfeld 320 (vier
Byte), ein Steuerfeld 330 (vier Byte), ein Protokollfeld 340 (ein
oder zwei Byte), ein Nutzlastfeld 350 (mit einer ausgehandelten
Länge,
aber oft 1500 Byte) und ein Prüfsummenfeld 360 (oft
zwei, aber manchmal vier Bytes) auf.
-
Das
Kennzeichnungsfeld 310 bezeichnet einfach den Anfang des
Pakets 300. Das Adressfeld 320 legt die Adresse
der Zielstation für
das Paket fest. Da PPP ein Datenverbindungsschichtprotokoll ist
und somit nichts mit der Identität
der Zielstation zu tun hat, enthält
das Adressfeld 320 einen Wert, der bestimmt, dass alle
Stationen auf dem Computernetzwerk das Paket 300 akzeptieren
sollen.
-
Das
Steuerfeld 330 legt die Nummer des Pakets 300 fest.
Da PPP ein Datenverbindungsschichtprotokoll ist und somit nicht
erforderlicherweise zuverlässig
sein muss, enthält
das Steuerfeld 330 einen Wert, der das Paket 300 als
nicht nummeriert bestimmt.
-
Das
Protokollfeld 340 enthält
die Identität des
bezüglich
des Pakets 300 verwendeten Protokolls (wie z.B. ein Link
Control Protocol oder "LCP"; NetWare Control
Protocol oder "NCP"; Internetprotokoll
oder "IP; " Novells Internet
Packet Exchange oder "IPX"; oder AppleTalk®).
Wie dem Fachmann bewusst ist, hat jedes Protokoll drei (in der dargestellten
Ausführungsform)
ihm zugeordnete Sub-Protokolle,
die in Beziehung zu Protokollen auf höheren Ebenen stehen, die in
Verbindung mit dem bestimmten Protokoll angewendet werden können. Jedes Sub-Protokoll
hat seinen eigenen Code, der in dem Protokollfeld 340 festgelegt
ist. Wenn zum Beispiel das Protokoll IP ist, kann das Sub-Protokoll
IP-Daten (mit einem Code von 0x0021), ein IP-Netzwerk (mit einem
Code von 0x8021) oder eine IP-Verbindungsschichtsteuerung (mit einem
Code von 0xC021) sein.
-
Das
Nutzlastfeld 350 enthält
die von dem Paket 300 getragene Nutzlast und ist somit
bezüglich seines
möglichen
Inhalts nicht beschränkt.
Schließlich
enthält das
Prüfsummenfeld 360 Fehlerprüfbits, die
bezüglich
des Rests des Pakets 300 verwendet werden können, um
darin enthaltene Fehler zu identifizieren und möglicherweise zu reparieren.
-
Jetzt
ist mit Bezug auf 4 ein detaillierteres Blockdiagramm
des PPP-Abtrennungsblocks 231 aus 2 dargestellt.
Wieder in die Richtung des Paketflusses bewirkt ein Eingangszwischenspeicher 410 eine
Zwischenspeicherung von empfangenen Zeichen bei der ansteigenden
Flanke eines Taktsignals 411. Eine erste Logikschaltung 420 empfängt die Zeichen
seriell und findet den Start eines gegebenen PPP-Pakets (wie z.B.
das Paket 300 aus 3) durch
das Identifizieren des Flagfelds (310 aus 3).
-
Ausgelöst durch
die erste Logikschaltung 420 bestimmt eine zweite Logikschaltung 430,
ob der PPP-Kopf des Pakets in unkomprimierter oder komprimierter
Form ausgedrückt
ist. PPP-Köpfe,
die die volle Adresse, Steuerung und Protokollfelder enthalten,
werden als unkomprimiert betrachtet. Diejenigen, die weniger als
alle drei Felder enthalten (wie z.B. nur das Protokollfeld) werden
als komprimiert betrachtet.
-
Eine
dritte Logikschaltung 440, die als den Sub-Protokoll-Detektor
der vorliegenden Erfindung enthaltend betrachtet werden kann, bestimmt
auf der Basis der Identität
des Sub-Protokolls, welcher Teil des Pakets abgetrennt werden sollte
und welche Teile geschickt (übertragen)
werden sollten. Zeichen, bezüglich
derer die dritte Logikschaltung 440 beschließt, sie
zu übertragen,
werden in einer vierten Logikschaltung 450 verarbeitet,
die als die Kopfabtrenneinrichtung der vorliegenden Erfindung enthaltend
betrachtet werden kann, und werden für die Übertragung von dem PPP-Abtrennblock 231 an
einen Ausgangszwischenspeicher 460 weitergegeben. Ein Speicher 470 hält Aufzeichnungen,
wie z.B. den vorherigen Status, vorherige Daten und vorherige Nutzlastmarkierer
in den Registern. Der Ausgangszwischenspeicher 460 und
der Speicher 470 arbeiten beide an der ansteigenden Flanke
des Taktsignals 411.
-
Jetzt
ist mit Bezug auf 5 ein Ablaufdiagramm eines allgemein
als 500 bezeichneten Verfahrens des selektiven Abtrennens
der Punkt-zu-Punkt-Protokoll-Kopfinformation
von einem Paket (wie z.B. das Paket 300 aus 3)
dargestellt, das von einem gemäß den Prinzipien
der vorliegenden Erfindung ausgeführten Computernetzwerk empfangen
wird.
-
Die
Verarbeitung beginnt in einem Startblock 510, in dem ein
von dem Sub-Protokoll-Detektor
zu analysierendes Paket dadurch empfangen wird. Der Sub- Protokoll-Detektor
identifiziert das bezüglich
des Pakets verwendete Sub-Protokoll in einem Schritt 520 durch
das Lesen des Protokollfelds des Pakets.
-
An
dieser Stelle muss eine Entscheidung getroffen werden, ob wenigstens
ein Teil der PPP-Kopfinformation von dem Paket und optional wenigstens manche
der Fehlerprüfbits
in dem Prüfsummenfeld abgetrennt
werden sollen. Dementsprechend geht das Verfahren 500 zu
einem Entscheidungsschritt 530 über, in dem das Paket bezüglich des
Prüfsummenfelds
geprüft
wird, um zu bestimmen, ob es gut ist. Wenn das Paket als schlecht
beurteilt wird, kann das ganze PPP-Paket auf der Basis der Nutzlaststeuerregistereinstellung
entweder verworfen oder als ein schlechtes Paket gekennzeichnet
werden.
-
Wenn
das Paket als gut beurteilt wird (was das üblichere Ergebnis ist), geht
die Verarbeitung zu einem Entscheidungsschritt 550 über, wobei
das Sub-Protokoll getestet wird, um zu bestimmen, ob es für die Kopfabtrennung
qualifiziert ist. Für
die Prüfung wird
das Sub-Protokoll, identifiziert in Schritt 520, in der
dargestellten Ausführungsform
mit einer gespeicherten Liste von Sub-Protokoll-Codes verglichen.
In einem speziellen Beispiel können,
wenn der Sub-Protokollwert 0x0021 (IP-Daten) ist, die PPP-Kopfinformation
(die die Adress-, die Steuerungs- und
die Protokollfelder enthält)
und das Prüfsummenfeld
(das die Fehlerprüfbits
enthält)
abgetrennt werden. Ansonsten sollten, wenn der Sub-Protokollwert
0x8021 (IP-Netzwerk) oder 0xC021 (IP-Verbindungsschicht) ist, die
PPP-Kopfinformation und das Prüfsummenfeld
erhalten und nicht abgetrennt werden (weil sie zum Zweck der anschließenden Netzwerkvermittlung,
des Routings und des Einstellens von Verbindungen nützlich bleiben).
-
Wenn
der Wert des Sub-Protokoll-Felds anzeigt, dass die PPP-Kopfinformation
und das Prüfsummenfeld
nicht abgetrennt werden sollten, folgert das Verfahren 500 in
dem Endschritt 540 daraus, zu welcher Zeit das Paket für das weitere
Verarbeiten in der Empfangsleitung (230 aus 2)
nicht abgetrennt übertragen
wird. Ansonsten geht, wenn der Wert des Sub-Protokollfelds anzeigt,
dass die PPP-Kopfinformation und das Prüfsummenfeld abgetrennt werden
sollten, das Verfahren 500 zu einem Schritt 560 über, in
dem die PPP-Kopfinformation und das Prüfsummenfeld abgetrennt werden.
Das Verfahren 500 folgert dann in dem Endschritt 540,
zu welcher Zeit das Paket ohne die abgetrennte PPP-Kopfinformation
und das Prüfsummenfeld
für das
weitere Verarbeiten in der Empfangsleitung (230 aus 2) übertragen
wird. Das Paket wird deshalb in der Gesamt größe reduziert, wobei sein Overhead verringert
wird und die effektive Bandbreite des Busses des Computersystems
(125 aus 1) reduziert wird.
-
Tatsächlich ist
unter der Annahme, dass die PPP-Kopfinformation unkomprimiert ist,
das Protokollfeld zwei Byte, das Nutzlastfeld 1500 Byte, und das
Prüfsummenfeld
zwei Byte, wird die Größe des Pakets
um mehr als 1% verkleinert, ohne dass es zu einer Verringerung der
Transportzuverlässigkeit kommt.
Sogar noch drastischere Verringerungen werden mit Paketen erfahren,
die kleinere Nutzlasten tragen.
-
Jetzt
wird wieder mit Bezug auf 6 ein Plan
von Registern dargestellt, der allgemein als 600 bezeichnet
wird und verwendet werden kann, um das Abtrennen der PPP-Information
in einem Vierkanal-PPP-Abtrennblock zu steuern. Die Register 610, 620, 630, 640 entsprechen
vier logischen Kanälen, über die
das Datengerät
mit dem Computernetzwerk (140 aus 1) kommunizieren
kann und können
ein Teil der Register 210 aus 2 sein.
-
Das
Register 610 ist so dargestellt, dass es "ppp-rx hdr-stripoff0" genannt wird, dem
logischen Kanal 0 entspricht und eine Rücksetzstandardeinstellung von
0x0000 hat. Das Register 620 ist so dargestellt, dass es
als "ppp-rx hdr-stripoff1" bezeichnet wird,
dem logischen Kanal 1 entspricht und eine Rücksetzstandardeinstellung von
0x0000 hat. Das Register 630 ist so dargestellt, dass es
als "ppp-rx hdr-stripoff2" bezeichnet wird,
dem logischen Kanal 2 entspricht und eine Rücksetzstandardeinstellung von 0x0000
hat. Das Register 640 ist so dargestellt, dass es als "ppp-rx hdr-stripoff3," bezeichnet wird,
dem logischen Kanal 3 entspricht und eine Rücksetzungsstandardeinstellung
von 0x0000 hat.
-
Jedes
Register 610, 620, 630, 640 arbeitet so,
dass es das Abtrennen ("Abstreifen") auf die folgende
Art steuert: wenn auf ein besonderes Sub-Protokoll gestoßen wird
(wie in dem bezüglich 5 dargelegten
Beispiel), werden die PPP-Kopfinformation und
das Prüfsummenfeld
abgetrennt, sonst nicht. Wenn ein gegebenes Register 610, 620, 630, 640 nicht
eingestellt ist (seinen Rücksetzungsstandardwert
von 0x0000 enthält),
wird es außer
Kraft gesetzt. Das Abtrennen hängt
nicht mehr von der Sub-Protokollidentität ab und die PPP-Kopfinformation
und das Prüfsummenfeld
werden stattdessen auf der Basis des Inhalts eines Nutzlaststeuerregisters
(das nicht gezeigt ist, aber ein Bit enthält, das, wenn es auf 0 eingestellt
wird, fordert, dass die PPP-Kopfinformation und die Prüfsummenfelder
abgetrennt werden, und wenn es auf 1 eingestellt wird, fordert,
dass die PPP-Kopfinformation und die Prüfsummenfelder erhalten werden)
selektiv ab getrennt. Folglich kann das Abtrennen dadurch übersprungen
werden, um den mindestens einen Teil der PPP-Kopfinformation und der
Prüfsummenfelder
unabhängig
von der Identität des
Sub-Protokolls zu erhalten.