PatentDe  


Dokumentenidentifikation DE60031480T2 05.07.2007
EP-Veröffentlichungsnummer 0001065859
Titel Verfahren und Vorrichtung zur Paketkopfteilverarbeitung
Anmelder Lucent Technologies Inc., Murray Hill, N.J., US
Erfinder Chen, Jie, Bridgewater, New Jersey 08807, US;
Kumar, Jit, Basking Ridge, New Jersey 07920-2127, US
Vertreter Klunker, Schmitt-Nilson, Hirsch, 80797 München
DE-Aktenzeichen 60031480
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 20.06.2000
EP-Aktenzeichen 003051919
EP-Offenlegungsdatum 03.01.2001
EP date of grant 25.10.2006
Veröffentlichungstag im Patentblatt 05.07.2007
IPC-Hauptklasse G06F 13/12(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse H04L 29/06(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]
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, bitserielle 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 Taktgeberkreuzungseinrichtung 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 Gesamtgröß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 abgetrennt. 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.


Anspruch[de]
System (231) zum selektiven Abtrennen von Kopfinformation eines Punkt-zu-Punkt-Protokolls von einem von einem Netzwerk empfangenen Paket, wobei das System (231) aufweist:

einen Sub-Protokoll-Detektor, der das Paket empfängt und daraus ein Sub-Protokoll identifiziert, das bezüglich dieses Paketes verwendet wird; und

gekennzeichnet durch:

eine Kopfabtrenneinrichtung, die mit dem Sub-Protokoll-Detektor gekoppelt ist und wenigstens einen Teil der Kopfinformation des Punkt-zu-Punkt-Protokolls von dem Paket abtrennt, basierend auf einer Identität des Sub-Protokolls, wie sie aus dem Paket bestimmt wird, um eine Gesamtgröße des Paketes zu reduzieren.
System (231) nach Anspruch 1, wobei die Kopfabtrennvorrichtung die Abtrennung wenigstens des genannten Teils der Kopfinformation des Punkt-zu-Punkt-Protokolls nur vornimmt, wenn das Paket als gut bestimmt worden ist, wenn es einem Prüfsummenfeld zugewiesen worden ist. System (231) nach Anspruch 1, wobei die Kopfabtrennvorrichtung die Gesamtheit der Kopfinformation des Punkt-zu-Punkt-Protokolls und Fehlerprüfbits von dem Paket auf der Basis der Identität des Sub-Protokolls abtrennt. System (231) nach Anspruch 1, wobei die Kopfabtrennvorrichtung selektiv außer Kraft setzbar ist, um wenigstens einen Teil der Kopfinformation des Punkt-zu-Punkt-Protokolls zu erhalten, wenn das für nachfolgende Netzwerkvermittlung nützlich ist. System (231) nach Anspruch 1, wobei der Sub-Protokoll-Detektor und die Kopfabtrennvorrichtung einem Kanal eines Mehrkanalpaketempfängers entsprechen. System (231) nach Anspruch 1, wobei die Kopfabtrennvorrichtung alternativ eine Abtrennung der wenigstens teilweisen Kopfinformation des Punkt-zu-Punkt-Protokolls von dem Paket auf der Basis eines Nutzlaststeuerregisters vornimmt. Integrierte Schaltung, aufweisend das System nach Anspruch 1 ausgeführt in digitaler Logik. Verfahren zum selektiven Abtrennen von Kopfinformation eines Punkt-zu-Punkt-Protokolls von einem von einem Netzwerk empfangenen Paket, wobei das Verfahren aufweist,

Identifizieren eines bezüglich des Paketes verwendeten Sub-Protokolls aus dem Paket; und

gekennzeichnet durch:

Abtrennen wenigstens eines Teils der Kopfinformation des Punkt-zu-Punkt-Protokolls aus dem Paket, basierend auf einer Identität des Sub-Protokolls, wie sie aus dem Paket bestimmt worden ist, um eine Gesamtgröße des Paketes zu reduzieren.
Verfahren nach Anspruch 8, wobei das Abtrennen ein Abtrennen wenigstens des Teils der Kopfinformation des Punkt-zu-Punkt-Protokolls nur aufweist, wenn das Paket als gut bestimmt worden ist, wenn es an ein Prüfsummenfeld verwiesen worden ist. Verfahren nach Anspruch 8, wobei das Abtrennen ein Abtrennen einer Gesamtheit der Kopfinformation des Punkt-zu-Punkt-Protokolls und von Fehlerprüfbits von dem Paket auf der Basis einer Identität des Sub-Protokolls aufweist. Verfahren nach Anspruch 8, ferner aufweisend ein selektives Überspringen des Abtrennens, um die wenigstens teilweise Kopfinformation des Punkt-zu-Punkt-Protokolls zu erhalten, wenn das für eine nachfolgende Netzwerkvermittlung nützlich ist. Verfahren nach Anspruch 8, wobei das Identifizieren und das Abtrennen ausgeführt werden mit Bezug auf einen Kanal eines Mehrkanalpaketempfängers. Verfahren nach Anspruch 8, wobei das Abtrennen alternativ ein Abtrennen wenigstens eines Teils der Kopfinformation des Punkt-zu-Punkt-Protokolls von dem Paket auf der Basis eines Nutzlaststeuerregisters aufweist. Verfahren nach Anspruch 8, wobei das Verfahren in einer digitalen Logik ausgeführt wird, die Teil einer integrierten Schaltung ist. Netzwerkadapter (100), aufweisend:

einen Paketempfangspfad mit einem System nach Anspruch 1;

eine Busschnittstelle (110);

eine Netzwerkschnittstelle (130);

einen zwischen der Busschnittstelle (110) und der Netzwerkschnittstelle (130) angeordneten Puffer (150), der zwischen der Busschnittstelle (110) und der Netzwerkschnittstelle (130) übertragene Pakete empfängt und speichert; und ein prozessorgesteuertes Datengerät (170), das mit dem Puffer (150) gekoppelt ist und eine Übertragung der Pakete durch den Adapter (100) handhabt, wobei das Datengerät (170) Datenregister, einen die Pakete von der Busschnittstelle (110) zu der Netzwerkschnittstelle (130) bringenden Paketübertragungspfad und den die Pakete von der Netzwerkschnittstelle (130) zu der Busschnittstelle (110) bringenden Paketempfangspfad aufweist.
Adapter (100) nach Anspruch 15, wobei die Kopfabtrennvorrichtung die wenigstens teilweise Abtrennung von Kopfinformation des Punkt-zu-Punkt-Protokolls nur durchführt, wenn das Paket als gut bestimmt worden ist, wenn es an ein Prüfsummenfeld verwiesen worden ist. Adapter (100) nach Anspruch 15, wobei die Kopfabtrennvorrichtung eine Gesamtheit der Kopfinformation des Punkt-zu-Punkt-Protokolls und von Fehlerprüfbits von dem Paket auf der Basis der Identität des Sub-Protokolls abtrennt. Adapter (100) nach Anspruch 15, wobei die Kopfabtrennvorrichtung selektiv außer Kraft setzbar ist, um den genannten Wenigstens-Teil der Kopfinformation des Punkt-zu-Punkt-Protokolls zu erhalten, wenn das für eine nachfolgende Netzwerkvermittlung nützlich ist. Adapter (100) nach Anspruch 15, wobei der Sub-Protokoll-Detektor und die Kopfabtrennvorrichtung einem Kanal eines Mehrkanalpaketempfängers entspricht. Adapter (100) nach Anspruch 15, wobei die Kopfabtrennvorrichtung alternativ wenigstens den Teil der Kopfinformation des Punkt-zu-Punkt-Protokolls von dem Paket auf der Basis eines Nutzlaststeuerregisters abtrennt. Adapter (100) nach Anspruch 15, wobei das System als digitale Logik und als Teil einer integrierten Schaltung ausgeführt ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com