DE112016002952T5 - Systeme und Verfahren zum Verarbeiten von Paketen in einem Computernetz - Google Patents

Systeme und Verfahren zum Verarbeiten von Paketen in einem Computernetz Download PDF

Info

Publication number
DE112016002952T5
DE112016002952T5 DE112016002952.7T DE112016002952T DE112016002952T5 DE 112016002952 T5 DE112016002952 T5 DE 112016002952T5 DE 112016002952 T DE112016002952 T DE 112016002952T DE 112016002952 T5 DE112016002952 T5 DE 112016002952T5
Authority
DE
Germany
Prior art keywords
packet
mac address
port
computing device
packet forwarding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112016002952.7T
Other languages
English (en)
Inventor
Mark Lentczner
Zhiwei Cen
James Michael Bennett
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE112016002952T5 publication Critical patent/DE112016002952T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

Diese Offenbarung stellt Systeme und Verfahren zum Verarbeiten von Paketen bereit. Ein System kann eine erste Rechenvorrichtung, eine zweite Rechenvorrichtung und eine erste Paketweiterleitungsvorrichtung umfassen. Die erste Rechenvorrichtung und die zweite Rechenvorrichtung können jeweils mit einem jeweiligen Port der ersten Paketweiterleitungsvorrichtung kommunikationstechnisch gekoppelt sein. Jedem Port der ersten Paketweiterleitungsvorrichtung kann eine eindeutige MAC-Adresse zugeordnet sein. Die erste Paketweiterleitungsvorrichtung kann dazu ausgelegt ist sein, für ein erstes von der ersten Rechenvorrichtung empfangenes Paket zu bestimmen, dass eine Ziel-MAC-Adresse des ersten Pakets mit der MAC-Adresse übereinstimmt, die dem Port zugeordnet ist, an dem das erste Paket empfangen wurde, und als Antwort auf die Bestimmung das erste Paket an die zweite Rechenvorrichtung weiterzuleiten. Für ein zweites von der zweiten Rechenvorrichtung empfangenes Paket kann die erste Paketweiterleitungsvorrichtung dazu ausgelegt sein, das zweite Paket über den Port weiterzuleiten, dessen MAC-Adresse mit einer Quell-MAC-Adresse des zweiten Pakets übereinstimmt.

Description

  • Querverweis auf verwandte Anmeldungen
  • Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr. 14/854939 mit dem Titel ”SYSTEMS AND METHODS FOR PROCESSING PACKETS IN A COMPUTER NETWORK”, die am 15. September 2015 eingereicht wurde und die hier durch Bezugnahme vollständig mit aufgenommen ist.
  • Hintergrund
  • Informationen werden über Computernetze übertragen. Die Informationen sind als Bits dargestellt, die auf Pakete aufgeteilt sind. Die Pakete werden zwischen Netzvorrichtungen wie etwa Switches und Router übertragen, wodurch sich die Informationen in den Computernetzen verbreiten. Jedes Paket wird von seiner Quelle an ein Ziel übertragen, das in den Header-Informationen des jeweiligen Pakets angegeben ist. Quelle und Ziel eines Pakets können sich jeweils in anderen Teilen des Netzes befinden. Zwischen der Quelle und dem Ziel kann es verschiedene mögliche Routen geben.
  • Zusammenfassung
  • In einigen Aspekten bezieht sich die Offenbarung auf ein System. Das System kann eine erste Rechenvorrichtung, eine zweite Rechenvorrichtung und eine erste Paketweiterleitungsvorrichtung umfassen. Die erste Rechenvorrichtung und die zweite Rechenvorrichtung können jeweils mit einem jeweiligen Port der ersten Paketweiterleitungsvorrichtung kommunikationstechnisch gekoppelt sein. Die erste Paketweiterleitungsvorrichtung kann dazu ausgelegt sein, für ein erstes von der ersten Rechenvorrichtung empfangenes Paket zu bestimmen, ob eine Ziel-MAC-Adresse des ersten Pakets dem Port zugeordnet ist, an dem das erste Paket empfangen wurde. Die erste Paketweiterleitungsvorrichtung kann zudem dazu ausgelegt sein, als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse des ersten Pakets dem Port zugeordnet ist, an dem das erste Paket empfangen wurde, das erste Paket an die zweite Rechenvorrichtung weiterzuleiten. Für ein zweites von der zweiten Rechenvorrichtung empfangenes Paket kann die erste Paketweiterleitungsvorrichtung dazu ausgelegt sein, das zweite Paket über den Port weiterzuleiten, der einer Quell-MAC-Adresse des zweiten Pakets zugeordnet ist.
  • In einigen Implementierungen ist die erste Paketweiterleitungsvorrichtung ferner dazu ausgelegt, als Antwort auf die Bestimmung, dass die Quell-MAC-Adresse des zweiten Pakets keinem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, das zweite Paket zu verwerfen. In einigen Implementierungen ist die erste Paketweiterleitungsvorrichtung für ein drittes von der ersten Rechenvorrichtung empfangenes Paket dazu ausgelegt, zu bestimmen, ob das dritte Paket entweder ein Broadcast- oder ein Multicast-Paket ist, eine Ziel-MAC-Adresse des dritten Pakets in eine MAC-Adresse, die dem Port zugeordnet ist, an dem das dritte Paket empfangen wurde, zu ändern und das dritte Paket an die zweite Rechenvorrichtung weiterzuleiten.
  • In einigen Implementierungen basiert eine MAC-Adresse, die mindestens einem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, auf einer IP-Adresse der ersten Paketweiterleitungsvorrichtung und einer Zahl, die den mindestens einen Port eindeutig identifiziert. In einigen Implementierungen enthält eine MAC-Adresse, die mindestens einem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, die IP-Adresse der ersten Paketweiterleitungsvorrichtung und die Zahl, die den mindestens einen Port eindeutig identifiziert.
  • In einigen Implementierungen ist die erste Paketweiterleitungsvorrichtung ferner dazu ausgelegt, zu bestimmen, ob eine Ziel-MAC-Adresse eines vierten von der ersten Rechenvorrichtung empfangenen Pakets nicht dem Port zugeordnet ist, an dem das vierte Paket empfangen wurde, und ob die Ziel-MAC-Adresse des vierten Pakets weder eine Broadcast-MAC-Adresse noch eine Multicast-MAC-Adresse ist, und als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse des vierten Pakets nicht dem Port zugeordnet ist, an dem das vierte Paket empfangen wurde, und die Ziel-MAC-Adresse des vierten Pakets weder eine Broadcast-MAC-Adresse noch eine Multicast-MAC-Adresse ist, das vierte Paket zu verwerfen.
  • In einigen Implementierungen kann das System eine dritte Rechenvorrichtung umfassen, die mehrere Ports enthält. Die dritte Rechenvorrichtung kann mit einem jeweiligen Port der ersten Paketweiterleitungsvorrichtung kommunikationstechnisch gekoppelt sein. Die erste Paketweiterleitungsvorrichtung kann ferner dazu ausgelegt sein, zu bestimmen, ob eine Ziel-MAC-Adresse eines fünften Pakets, das von der dritten Rechenvorrichtung empfangen wurde, einer Vorrichtungs-ID der dritten Rechenvorrichtung zugeordnet ist. Die erste Paketweiterleitungsvorrichtung kann ferner dazu ausgelegt sein, als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse eines fünften Pakets der Vorrichtungs-ID der dritten Rechenvorrichtung zugeordnet ist, das fünfte Paket an die zweite Rechenvorrichtung weiterzuleiten.
  • In einigen Implementierungen ist die dritte Rechenvorrichtung dazu ausgelegt ist, zu bestimmen, ob eine Quell-MAC-Adresse eines sechsten Pakets, das von der ersten Paketweiterleitungsvorrichtung empfangen wurde, dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die dritte Rechenvorrichtung kommunikationstechnisch gekoppelt ist, und das sechste Paket über den Port der dritten Rechenvorrichtung, der der Quell-MAC-Adresse des sechsten Pakets zugeordnet ist, weiterzuleiten. In einigen Implementierungen ist die erste Rechenvorrichtung ferner dazu ausgelegt, sicherzustellen, dass jedes Paket, das die zweite Rechenvorrichtung als Ziel hat, eine Ziel-MAC-Adresse aufweist, die dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die erste Rechenvorrichtung kommunikationstechnisch gekoppelt ist. In einigen Implementierungen ist die zweite Rechenvorrichtung ferner dazu ausgelegt, sicherzustellen, dass jedes Paket, das die erste Rechenvorrichtung als Ziel hat, eine Quell-MAC-Adresse aufweist, die dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die erste Rechenvorrichtung kommunikationstechnisch gekoppelt ist.
  • In einigen Aspekten bezieht sich die Offenbarung auf ein Verfahren zur Verarbeitung von Paketen. Das Verfahren kann ein Empfangen eines ersten Pakets von einer ersten Rechenvorrichtung durch eine erste Paketweiterleitungsvorrichtung umfassen. Das Verfahren kann ein Bestimmen durch die erste Paketweiterleitungsvorrichtung, ob eine Ziel-MAC-Adresse des ersten Pakets dem Port zugeordnet ist, an dem das erste Paket empfangen wurde, umfassen. Das Verfahren kann ein Weiterleiten des ersten Pakets an die zweite Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse des ersten Pakets dem Port zugeordnet ist, an dem das erste Paket empfangen wurde. Das Verfahren kann ein Senden eines zweiten Pakets an die erste Paketweiterleitungsvorrichtung durch die zweite Rechenvorrichtung umfassen. Das Verfahren kann ein Weiterleiten des zweiten Pakets über den Port, der einer Quell-MAC-Adresse des zweiten Pakets zugeordnet ist, durch die erste Paketweiterleitungsvorrichtung umfassen.
  • In einigen Implementierungen kann das Verfahren ein Bestimmen durch die erste Paketweiterleitungsvorrichtung, ob eine Quell-MAC-Adresse des zweiten Pakets keinem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, und als Antwort auf die Bestimmung, dass die Quell-MAC-Adresse des zweiten Pakets keinem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, ein Verwerfen des zweiten Pakets durch die erste Paketweiterleitungsvorrichtung umfassen.
  • In einigen Implementierungen kann das Verfahren ein Empfangen eines dritten Pakets von der ersten Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung umfassen. Das Verfahren kann ein Bestimmen durch die erste Paketweiterleitungsvorrichtung, ob das dritte Paket entweder ein Broadcast- oder ein Multicast-Paket ist, umfassen. Das Verfahren kann ein Ändern einer Ziel-MAC-Adresse des dritten Pakets in eine MAC-Adresse, die dem Port zugeordnet ist, an dem das dritte Paket empfangen wurde, durch die erste Paketweiterleitungsvorrichtung umfassen. Das Verfahren kann ein Weiterleiten des dritten Pakets an die zweite Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung umfassen.
  • In einigen Implementierungen basiert eine MAC-Adresse, die mindestens einem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, auf einer IP-Adresse der ersten Paketweiterleitungsvorrichtung sowie einer Zahl, die den mindestens einen Port eindeutig identifiziert. In einigen Implementierungen enthält eine MAC-Adresse, die mindestens einem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, die IP-Adresse der ersten Paketweiterleitungsvorrichtung sowie die Zahl, die den mindestens einen Port eindeutig identifiziert.
  • In einigen Implementierungen kann das Verfahren ein Empfangen eines vierten Pakets von der ersten Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung umfassen. Das Verfahren kann ein Bestimmen durch die erste Paketweiterleitungsvorrichtung, ob eine Ziel-MAC-Adresse des vierten Pakets nicht dem Port zugeordnet ist, an dem das vierte Paket empfangen wurde, und die Ziel-MAC-Adresse des vierten Pakets weder eine Broadcast-MAC-Adresse noch eine Multicast-MAC-Adresse ist, umfassen. Das Verfahren kann als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse des vierten Pakets nicht dem Port zugeordnet ist, an dem das vierte Paket empfangen wurde, und die Ziel-MAC-Adresse des vierten Pakets weder eine Broadcast-MAC-Adresse noch eine Multicast-MAC-Adresse ist, ein Verwerfen des vierten Pakets durch die erste Paketweiterleitungsvorrichtung umfassen.
  • In einigen Implementierungen kann das Verfahren ein Empfangen eines fünften Pakets von einer dritten Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung umfassen. Die dritte Rechenvorrichtung kann mehrere Ports enthalten. Das Verfahren kann ein Bestimmen durch die erste Paketweiterleitungsvorrichtung, ob eine Ziel-MAC-Adresse des fünften Pakets, das von der dritten Rechenvorrichtung empfangen wurde, einer Vorrichtungs-ID der dritten Rechenvorrichtung zugeordnet ist, umfassen. Das Verfahren kann als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse eines fünften Pakets der Vorrichtungs-ID der dritten Rechenvorrichtung zugeordnet ist, ein Weiterleiten des fünften Pakets an die zweite Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung umfassen.
  • In einigen Implementierungen kann das Verfahren ein Senden eines sechsten Pakets an die dritte Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung umfassen. Das Verfahren kann ein Bestimmen durch die dritte Rechenvorrichtung, ob eine Quell-MAC-Adresse eines Pakets, das von der ersten Paketweiterleitungsvorrichtung empfangen wurde, dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die dritte Rechenvorrichtung kommunikationstechnisch gekoppelt ist, umfassen. Das Verfahren kann ein Weiterleiten des Pakets über den Port der dritten Rechenvorrichtung, der der Quell-MAC-Adresse des sechsten Pakets zugeordnet ist, durch die dritte Rechenvorrichtung umfassen.
  • In einigen Implementierungen kann das Verfahren ein Sicherstellen durch die erste Rechenvorrichtung, dass jedes Paket, das die zweite Rechenvorrichtung zum Ziel hat, eine Ziel-MAC-Adresse aufweist, die dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die erste Rechenvorrichtung kommunikationstechnisch gekoppelt ist, umfassen. In einigen Implementierungen kann das Verfahren ein Sicherstellen durch die erste Rechenvorrichtung, dass jedes Paket, das die erste Rechenvorrichtung zum Ziel hat, eine Quell-MAC-Adresse aufweist, die dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die erste Rechenvorrichtung kommunikationstechnisch gekoppelt ist, umfassen.
  • Kurzbeschreibung der Zeichnungen
  • Die oben genannten und verwandte Objekte, Merkmale und Vorteile der vorliegenden Offenbarung sind unter Bezugnahme auf die folgende genaue Beschreibung und gemeinsam mit den begleitenden Figuren leichter verständlich, wobei:
  • 1A ein Blockdiagramm eines beispielhaften Systems zum Weiterleiten von Paketen ist;
  • 1B ein Blockdiagramm ist eines weiteren beispielhaften Systems zum Weiterleiten von Paketen ist;
  • 2 ein Blockdiagramm einer beispielhaften Paketweiterleitungsvorrichtung, die in 1A gezeigt ist, ist;
  • 3 ein Ablaufdiagramm ist, das ein beispielhaftes Verfahren zum Weiterleiten von Paketen veranschaulicht;
  • 4 ein Ablaufdiagramm ist, das ein weiteres beispielhaftes Verfahren zum Weiterleiten von Paketen veranschaulicht;
  • Der Klarheit halber ist möglicherweise nicht jede Komponente in jeder Figur bezeichnet. Die Zeichnungen sollen nicht maßstabgetreu sein. Ähnliche Bezugszeichen und Bezeichnungen in den verschiedenen Figuren geben ähnliche Elemente an
  • Genaue Beschreibung
  • Die Systeme und Verfahren der Offenbarung beziehen sich auf die Verarbeitung von Paketen. Insbesondere beschreibt die Offenbarung eine Art von Paketweiterleitungsvorrichtung, die die Netzsicherheit verbessern kann, indem es auf der Portebene eine Kontrolle von Paketen, die zwischen Hostvorrichtungen und Routingvorrichtungen versendet werden, ermöglicht. Die Paketweiterleitungsvorrichtung kann mehrere Downstreamports und einen Upstreamport enthalten und alle Pakete zwischen den Downstreamports und dem Upstreamport derart weiterleiten, dass sich die Upstreamvorrichtung der Herkunft aller Pakete sicher sein kann, die es von den Hostvorrichtungen empfängt. Im Allgemeinen kann sich die Herkunft eines Pakets auf den Ursprung des Pakets und den Satz an Downstreamports von Paketweiterleitungsvorrichtungen, über die das Paket auf seinem Weg zu der Upstreamvorrichtung lief, beziehen. Die Upstreamvorrichtung und die Paketweiterleitungsvorrichtung können ferner dazu ausgelegt sein, es der Upstreamvorrichtung zu ermöglichen, den Satz an Ports von Paketweiterleitungsvorrichtungen auszuwählen, durch die ein von der Upstreamvorrichtung gesendetes Paket abgehen wird.
  • 1A ist ein Blockdiagramm, das ein beispielhaftes System 100 zum Weiterleiten von Paketen veranschaulicht. Das System 100 enthält mehrere Hostvorrichtungen 102a102h (im Allgemeinen als Hostvorrichtungen 102 bezeichnet), drei Paketweiterleitungsvorrichtungen 110a110c (im Allgemeinen als Paketweiterleitungsvorrichtungen 110 bezeichnet) und eine Routingvorrichtung 122. Das System 100 kann zudem ein Netz 124 umfassen, das mit der Routingvorrichtung 122 verbunden ist. In einigen Implementierungen kann das Netz 124 ein großes externes Computernetz wie etwa das Internet sein. Die Routingvorrichtung 122 kann beispielsweise eine Gatewayvorrichtung eines Unternehmensnetzes sein, die Internetzugang für die Hostvorrichtungen 102 bereitstellt. In einigen anderen Implementierungen kann das Netz 124 ein anderes Computernetz sein.
  • Die Paketweiterleitungsvorrichtung 110a enthält drei Downstreamports 114a114c und einen Upstreamport 118a. Ebenso enthält die Paketweiterleitungsvorrichtung 110b drei Downstreamports 114d114f und einen Upstreamport 118b, während die Paketweiterleitungsvorrichtung 110c drei Downstreamports 114g114i sowie einen Upstreamport 118c enthält. Die Downstreamports 114a114i werden im Allgemeinen als Downstreamports 114 bezeichnet, während die Upstreamports 118a118c im Allgemeinen als Upstreamports 118 bezeichnet werden. Die Bezeichnung eines Ports entweder als ”Upstreamport” oder als ”Downstreamport” bezieht sich nicht auf die Richtung, in der Pakete durch die Ports laufen können. Stattdessen bezieht sie sich auf die relative Position der Ports in der Gesamthierarchie des Systems 100. Das heißt, dass Upstreamports 118 näher an der Routingvorrichtung 122 liegen, während Downstreamports 114 näher an den Hostvorrichtungen 102 liegen.
  • Die Paketweiterleitungsvorrichtungen 110a und 110b sind über ihre jeweiligen Upstreamports 118a und 118b direkt mit der Routingvorrichtung 122 verbunden. Der Upstreamport 118c der Paketweiterleitungsvorrichtung 110c ist mit dem Downstreamport 114f der Paketweiterleitungsvorrichtung 110b verbunden. Somit sind die Paketweiterleitungsvorrichtung 110b und die Paketweiterleitungsvorrichtung 110c in einer ”kaskadierten” Anordnung miteinander verbunden. Als Ergebnis müssen Pakete, die zwischen der Routingvorrichtung 122 und der Paketweiterleitungsvorrichtung 110c laufen, auch die Paketweiterleitungsvorrichtung 110b durchlaufen. Der Downstreamport 114f der Paketweiterleitungsvorrichtung 110b kann auch als Kaskadenport bezeichnet werden, da er mit der kaskadierten Paketweiterleitungsvorrichtung 110c und statt einer Hostvorrichtung 102 verbunden ist. Die kaskadierte Anordnung der Paketweiterleitungsvorrichtungen 110b und 110c kann dafür sorgen, dass sich mehr Hostvorrichtungen 102 mit der Routingvorrichtung 122 verbinden lassen als dies mit der Paketweiterleitungsvorrichtung 110b allein möglich wäre, da die Paketweiterleitungsvorrichtung 110c zusätzliche Downstreamports 114 bereitstellt, die sich jeweils mit einer zusätzlichen Hostvorrichtung 102 verbinden lassen. In einigen Implementierungen kann das System 100 mehr als zwei Ebenen mit kaskadierten Paketweiterleitungsvorrichtungen 110 enthalten. Das System 100 kann beispielsweise drei, vier, fünf oder mehr Ebenen an kaskadierten Paketweiterleitungsvorrichtungen 110 enthalten.
  • In einigen Implementierungen kann der Downstreamport 114f ein dedizierter Kaskadenport sein (d. h. ein Port, der ausschließlich mit einer kaskadierten Paketweiterleitungsvorrichtung 110 wie etwa der Paketweiterleitungsvorrichtung 110c und nicht direkt mit einer Hostvorrichtung 102 verbunden werden sollte). In einigen anderen Implementierungen können beliebige der Downstreamports 114 der Paketweiterleitungsvorrichtung 110b als Kaskadenport ausgelegt sein und die Wahl des Downstreamports 114f, der als Kaskadenport dienen soll, kann willkürlich sein. Die Paketweiterleitungsvorrichtung 110b kann beispielsweise eine Tabelle pflegen, die angibt, welcher ihrer Downstreamports 114 ein Kaskadenport ist. Wenn eine Paketweiterleitungsvorrichtung 110 mit einem Downstreamport 114 gekoppelt wird, kann die Tabelle aktualisiert werden, um anzugeben, dass der Downstreamport 114, mit dem die kaskadierte Paketweiterleitungsvorrichtung 110 verbunden ist, ein Kaskadenport ist. Das Pflegen von Informationen, die dem als Kaskadenport dienenden Downstreamport 114 entsprechen, kann beim Verarbeiten von Paketen helfen, die von der Routingvorrichtung 122 empfangen werden, wie es weiter unten beschrieben ist.
  • Jedes Hostvorrichtung 102 ist mit einem jeweiligen Downstreamport 114 einer der Paketweiterleitungsvorrichtungen 110 verbunden. Obwohl alle Paketweiterleitungsvorrichtungen 110 als drei Downstreamports 114 enthaltend gezeigt sind, gilt es zu verstehen, dass diese Konfiguration ausschließlich Anschauungszwecken dient. In anderen Implementierungen kann jede Paketweiterleitungsvorrichtung 110 eine höhere Zahl von Downstreamports 114 enthalten. In einigen Implementierungen kann jede Paketweiterleitungsvorrichtung 110 beispielsweise 16, 32, 64 oder 128 Downstreamports 114 enthalten. In einigen Implementierungen kann jede Paketweiterleitungsvorrichtung 110 bis zu 255 Downstreamports 114 enthalten.
  • Die Paketweiterleitungsvorrichtungen 110 können dazu ausgelegt sein, eine Steuerung des Netzverkehrs zwischen der Routingvorrichtung 122 und den Hostvorrichtungen 102 auf Portebene zu ermöglichen, so dass sich die Routingvorrichtung 122 sicher sein kann, über welchen Downstreamport 114 ein eingehendes Paket ankam. Somit kann die Routingvorrichtung 122 die Quelle eines Pakets verfolgen, was zu erhöhter Sicherheit in dem System 100 führen kann. Wenn die Routingvorrichtung 122 beispielsweise ein Paket empfängt, das bösartige Nutzdaten enthält, kann die Hostvorrichtung 102, von der das bösartige Paket gesendet wurde, identifiziert werden. Das Identifizieren der Hostvorrichtung 102 kann es ermöglichen, Korrekturmaßnahmen zu ergreifen, wie beispielsweise das Entfernen der Hostvorrichtung 102 aus dem System 100 oder das Reparieren der Hostvorrichtung 102. Die Paketweiterleitungsvorrichtungen 110 können ferner dazu ausgelegt sein, es der Routingvorrichtung 122 zu ermöglichen, auszuwählen, von welchem Downstreamport 114 ein ausgehendes Paket abgehen wird. In einigen Implementierungen kann die Routingvorrichtung 122 so einen Lastausgleich in dem System 100 implementieren.
  • Damit die Routingvorrichtung 122 die Herkunft eingehender Pakete bestimmen und den Downstreamport 114, von dem die jeweiligen ausgehenden Pakete abgehen werden, auswählen kann, kann jeder Downstreamport 114 der Paketweiterleitungsvorrichtungen 110 einer oder mehreren MAC-Adressen zugeordnet sein. Jeder Downstreamport 114, der direkt mit einer Hostvorrichtung 102 verbunden ist, kann beispielsweise einer eindeutigen MAC-Adresse zugeordnet sein, die diesem Downstreamport 114 zugewiesen ist. Die einem Downstreamport 114 zugeordnete MAC-Adresse kann nicht nur in Bezug auf die MAC-Adressen der anderen Downstreamports 114 der gleichen Paketweiterleitungsvorrichtung 110 eindeutig sein, sondern auch in Bezug auf die Downstreamports 114 der anderen Paketweiterleitungsvorrichtungen 110. Jede Hostvorrichtung 102 kann dazu ausgelegt sein, Pakete, die für eine Paketweiterleitungsvorrichtung 110 bestimmt sind, mit einer Ziel-MAC-Adresse zu adressieren, die mit den jeweiligen Downstreamports 114 übereinstimmen, mit denen die Hostvorrichtungen 102 verbunden sind. Im Gegensatz zu der Paketweiterleitungsvorrichtung 110a verfügt ein typischer Netzknoten (wie etwa ein Switch) im Allgemeinen über eine einzelne MAC-Adresse und Hostvorrichtungen adressieren Pakete, die für diesen Knoten bestimmt sind, mit der gleichen Ziel-MAC-Adresse, und zwar unabhängig davon, mit welchen Ports die Hostvorrichtungen verbunden sind. Da jede Hostvorrichtung 102 in dem System 100 mit einem jeweiligen Downstreamport 114 verbunden ist und alle Downstreamports 114, die direkt mit einer Hostvorrichtung 102 verbunden sind, einer eindeutigen MAC-Adresse zugeordnet sind, kann basierend auf den in dem Header des Pakets enthaltenen Zielinformationen bestimmt werden, dass ein Paket, das an der Routingvorrichtung 122 über die Paketweiterleitungsvorrichtungen 110 ankommt, von einer bestimmten Hostvorrichtung 102 stammt.
  • In einigen Implementierungen kann die MAC-Adresse, die einem Downstreamport 114 einer Paketweiterleitungsvorrichtung 110 zugeordnet ist, auf Informationen basieren, die die Paketweiterleitungsvorrichtung 110 gegenüber den anderen Paketweiterleitungsvorrichtungen 110 eindeutig identifiziert; zudem kann die MAC-Adresse auf Informationen basieren, die den Downstreamport 114 gegenüber den anderen Downstreamports 114 der Paketweiterleitungsvorrichtung 110 eindeutig identifiziert. In einigen Implementierungen können die Informationen, die jeweilige Paketweiterleitungsvorrichtungen 110 eindeutig identifizieren (manchmal als eine Vorrichtungs-ID bezeichnet), beispielsweise aus einer IPv4-Adresse bestehen, die der Paketweiterleitungsvorrichtung 110 zugeordnet ist. In einigen anderen Implementierungen lassen sich andere identifizierende Informationen verwenden, um die jeweiligen Paketweiterleitungsvorrichtungen 110 voneinander zu unterscheiden. Die Paketweiterleitungsvorrichtungen 110 lassen sich beispielsweise durch Werte wie Seriennummern oder eine andere Hardwareadresse (z. B. MAC-Adresse) unterscheiden, die den einzelnen Paketweiterleitungsvorrichtungen 100 zugeordnet sind. In einigen Implementierungen können die Informationen, die die Downstreamports 114 an jeweiligen Paketweiterleitungsvorrichtungen 110 eindeutig identifizieren, aus einer beliebigen Nummer bestehen, die den einzelnen Downstreamports 114 einer bestimmten Paketweiterleitungsvorrichtung 110 eindeutig zugeordnet ist, sich jedoch möglicherweise nicht von der Nummer unterscheiden, die einem Downstreamport 114 einer anderen Paketweiterleitungsvorrichtung 110 zugeordnet ist. Ein Downstreamport 114 kann beispielsweise durch eine ganze Zahl zwischen 1 und der Zahl von Ports in der Paketweiterleitungsvorrichtung 100 eindeutig identifiziert werden. In einigen Implementierungen kann jeder Port einer ganzen Zahl zwischen 1 und 255 zugeordnet sein.
  • In einigen Implementierungen kann der Satz an Informationen, der einen Downstreamport 114 gegenüber allen anderen Downstreamports 114 in dem System 100 eindeutig identifiziert (d. h. die Informationen, die die Paketweiterleitungsvorrichtung 110 eindeutig gegenüber den anderen Paketweiterleitungsvorrichtungen 110 identifizieren, und die Informationen, die den Downstreamport 114 gegenüber den anderen Downstreamports 114 des Paketweiterleitungsvorrichtung 110 eindeutig identifizieren), die Form einer MAC-Adresse haben, die den jeweiligen Downstreamports 114 zugeordnet ist, die direkt mit einer Hostvorrichtung 102 verbunden sind. Da dieser Satz an Informationen für jeden Downstreamport 114 in dem System 100 eindeutig ist, können die entsprechenden MAC-Adressen in dem System 100 ebenfalls eindeutig sein. In einigen Implementierungen kann die einem Downstreamport 114 zugeordnete MAC-Adresse beispielsweise auf der IP-Adresse, die der Paketweiterleitungsvorrichtung 110 zugeordnet ist, an der sich der Downstreamport 114 befindet, sowie auf einer Zahl, die den Downstreamport 114 gegenüber den anderen Downstreamports der Paketweiterleitungsvorrichtung 110 eindeutig identifiziert, basieren.
  • In einigen Implementierungen kann die einem Downstreamport 114 zugeordnete MAC-Adresse die IP-Adresse, die der Paketweiterleitungsvorrichtung 110 zugeordnet ist, an dem sich der Downstreamport 114 befindet, sowie die Zahl, die den Downstreamport 114 gegenüber den anderen Downstreamports 114 der Paketweiterleitungsvorrichtung 110 eindeutig identifiziert, enthalten. Typischerweise besteht eine MAC-Adresse aus einer 48-Bit-Zahl, die sich als Folge von 12 Hexadezimalziffern ausdrücken lässt. In einigen Implementierungen können die ersten zwei Hexadezimalziffern einer MAC-Adresse auf bestimmte Werte beschränkt sein. Die einem Downstreamport 114 zugeordnete MAC-Adresse kann für die ersten beiden Hexadezimalziffern beliebige gültige Werte enthalten. Gültige Werte für die ersten beiden Hexadezimalziffern der einem Downstreamport 114 zugeordneten MAC-Adresse können beispielsweise 02 oder 0E enthalten. Die folgenden acht Hexadezimalziffern der einem Downstreamport 114 zugeordneten MAC-Adresse können der IPv4-Adresse der Paketweiterleitungsvorrichtung 110, an der sich der Downstreamport 114 befindet, entsprechen, während die letzten beiden Hexadezimalziffern eine Zahl zwischen 1 und der Zahl der Downstreamports 114, die von der Paketweiterleitungsvorrichtung 110 unterstützt werden, sein können. In diesem Beispiel werden die ersten zehn Hexadezimalziffern der MAC-Adressen, die den Downstreamports 114 einer bestimmten Paketweiterleitungsvorrichtung 110 zugeordnet sind, identisch sein und können als gemeinsames Präfix für alle Downstreamports 114 der Paketweiterleitungsvorrichtung 110 dienen. Die letzten beiden Hexadezimalziffern werden sich an jedem Downstreamport 114 der Paketweiterleitungsvorrichtung 110 unterscheiden.
  • In einigen Implementierungen können Downstreamports 114, die in kaskadierter Form mit anderen Paketweiterleitungsvorrichtungen 110 und nicht direkt mit Hostvorrichtungen 102 verbunden sind (beispielsweise der Downstreamport 114f, der mit der Paketweiterleitungsvorrichtung 110c verbunden ist), keiner jeweiligen MAC-Adresse zugeordnet sein. Stattdessen können diese Downstreamports 114 den MAC-Adressen der Downstreamports 114 der kaskadierten Paketweiterleitungsvorrichtung 110 zugeordnet sein, mit denen sie verbunden sind. Der Downstreamport 114f kann beispielsweise nicht einer eigenen MAC-Adresse zugeordnet sein, sondern den MAC-Adressen der Downstreamports 114g114i der kaskadierten Paketweiterleitungsvorrichtung 110c. In einigen Implementierungen kann ein Downstreamport 114 den MAC-Adressen aller Downstreamports 114 einer mehrstufigen Kaskade von Paketweiterleitungsvorrichtungen 110 zugeordnet sein. So kann ein bestimmter Downstreamport 114 im Allgemeinen einer oder mehreren MAC-Adressen zugeordnet sein, die eine eindeutige MAC-Adresse, die diesem Downstreamport 114 zugeordnet ist, sowie die MAC-Adressen von Downstreamports 114 an kaskadierten Paketweiterleitungsvorrichtungen 110, die mit diesem Downstreamport 114 verbunden sind, enthalten können.
  • In einigen Implementierungen können die Paketweiterleitungsvorrichtungen 110 Pakete gemäß eines Satzes an Regeln verarbeiten, die so gewählt sind, dass es einer Upstreamvorrichtung (z. B. Routingvorrichtung 122) ermöglicht wird, die Herkunft der einzelnen von den Hostvorrichtungen 102 an die Upstreamvorrichtung übertragenen Pakete zu ermitteln. Diese Regeln, die zum Teil auf den MAC-Adressen, die den Downstreamports 114 zugeordnet sind, über welche Pakete übertragen werden, basieren können, sind weiter unten erörtert.
  • In einigen Implementierungen können die Paketweiterleitungsvorrichtungen 110 dazu ausgelegt sein, es der Routingvorrichtung 122 zu ermöglichen, den Downstreamport 114 auszuwählen, von dem ein von der Routingvorrichtung 122 übertragenes Paket abgehen wird. Die Routingvorrichtung 122 kann beispielsweise dazu ausgelegt sein, Pakete, die für die Hostvorrichtung 102a bestimmt sind, so zu erzeugen, dass eine Quell-MAC-Adresse der erzeugten Pakete mit der MAC-Adresse übereinstimmt, die dem Downstreamport zugeordnet ist, mit dem das Hostvorrichtung 102a verbunden ist (d. h. Downstreamport 114a). Die Paketweiterleitungsvorrichtung 110a kann dazu ausgelegt sein, zu bestimmen, dass die Quell-MAC-Adresse des von der Routingvorrichtung 122 empfangenen Pakets der MAC-Adresse zugeordnet ist (z. B. mit dieser übereinstimmt), die dem Downstreamport 114a zugeordnet ist, und das Paket als Antwort auf diese Bestimmung über den Downstreamport 114a weiterzuleiten. Wenn die Paketweiterleitungsvorrichtung 110a bestimmt, dass die Quell-MAC-Adresse des von der Routingvorrichtung 122 empfangenen Pakets keinem der Downstreamports 114a114c zugeordnet ist, kann die Paketweiterleitungsvorrichtung 110a dazu ausgelegt sein, das Paket zu verwerfen. In diesem Beispiel leitet die Paketweiterleitungsvorrichtung 110a ein Paket daher basierend auf der Quell-MAC-Adresse des Pakets weiter und verwirft Pakete, deren Quell-MAC-Adresse keinem der eigenen Downstreamports 114a114c zugeordnet ist. So lassen sich Angriffe durch eine Vorrichtung verhindern, die ein Paket mit einer Quell-MAC-Adresse erzeugt, die so gefälscht ist, dass sie mit der Adresse des Routingvorrichtung 122 und einer Ziel-MAC-Adresse einer der Hostvorrichtungen 102 übereinstimmt. Solch ein Paket wird verworfen, da die Quell-MAC-Adresse keine MAC-Adresse ist, die einem der Downstreamports 114 der Paketweiterleitungsvorrichtung 110 zugeordnet ist.
  • 1B ist ein Blockdiagramm eines weiteren beispielhaften Systems 101 zum Weiterleiten von Paketen. Wie das in 1 dargestellte System 100 enthält das System 101 die Routingvorrichtung 122, die mit dem Netz 124 verbunden ist. Das System 101 enthält zudem drei Hostvorrichtungen 102i102k (im Allgemeinen als Hostvorrichtungen 102 bezeichnet) und zwei Paketweiterleitungsvorrichtungen 110d und 110e (im Allgemeinen als Paketweiterleitungsvorrichtungen 110 bezeichnet). Die Paketweiterleitungsvorrichtungen 110d und 110e ähneln den Paketweiterleitungsvorrichtungen 110a110c von 1, während die Hostvorrichtungen 102i102k den Hostvorrichtungen 102 von 1 ähneln. Die Paketweiterleitungsvorrichtung 110d enthält beispielsweise drei Downstreamports 114j114l und einen Upstreamport 118d, während die Paketweiterleitungsvorrichtung 110e drei Downstreamports 114m114o und einen Upstreamport 118e enthält. Die Downstreamports 114j114o werden im Allgemeinen als Downstreamports 114 bezeichnet, während die Upstreamports 118d und 118e im Allgemeinen als Upstreamports 118 bezeichnet werden.
  • Die Paketweiterleitungsvorrichtungen 110d und 110e sind über ihre jeweiligen Upstreamports 118d und 118e direkt mit der Routingvorrichtung 122 verbunden. Das System 101 unterscheidet sich von dem in 1 dargestellten System 100 dadurch, dass es im System 101 mehrere Wege zwischen den jeweiligen Hostvorrichtungen 102 und der Routingvorrichtung 122 gibt. Die Hostvorrichtung 102i kann beispielsweise über den Downstreamport 114j oder den Downstreamport 114k, die Hostvorrichtung 102j über den Downstreamport 114l oder den Downstreamport 114m und die Hostvorrichtung 102k über den Downstreamport 114n oder den Downstreamport 114o erreicht werden. Wie oben in Verbindung mit 1A erläutert ist jedem Downstreamport 114, der direkt mit einer Hostvorrichtung 102 verbunden ist, eine eindeutige MAC-Adresse zugeordnet.
  • Die den Downstreamports 114 zugeordneten eindeutigen MAC-Adressen ermöglichen es der Routingvorrichtung 122, einen bestimmten Weg zu den einzelnen Hostvorrichtungen 102 auszuwählen. Wie oben erörtert kann die Routingvorrichtung 122 beispielsweise dazu ausgelegt sein, ein Paket zu erzeugen, dessen Quell-MAC-Adresse mit der MAC-Adresse des Downstreamports 114 übereinstimmt, durch den das Paket abgehen soll. Daher kann die Routingvorrichtung 122 eine bestimmte Route für ein Paket auswählen, indem es als Quell-MAC-Adresse des Pakets die MAC-Adresse des Downstreamports 114 festlegt, der entlang der gewünschten Route liegt.
  • In einigen Implementierungen kann die Routingvorrichtung 122 eine Route basierend auf einem Lastausgleichsschema auswählen. Die Routingvorrichtung 122 kann ein Paket oder einen Fluss von Paketen beispielsweise selektiv über die Paketweiterleitungsvorrichtung 110d durch den Downstreamport 114j oder den Downstreamport 114k an die Hostvorrichtung 102l weiterleiten, indem sie in dem Quell-MAC-Adressfeld des entsprechenden Pakets die Kennung des gewünschten Ports spezifiziert. So lässt sich verhindern, dass die Downstreamports 114j oder 114k überlastet werden. Die oben beschriebene Funktion kann besonders in hierarchischen Netzen nützlich sein, die über komplexere Switch-Fabrics verfügen (z. B. Rechenzentrumsnetzen), die verschiedene Routen zwischen Aggregationsknoten und verschiedenen Serverracks bereitstellen.
  • Es ist zu beachten, dass die Topologie des Systems 101 nur Anschauungszwecken dient. In einigen Implementierungen kann das System 101 beispielsweise zusätzliche Paketweiterleitungsvorrichtungen 110 enthalten, von denen einige in einer Kaskadenform angeordnet sein können. Jede Hostvorrichtung 102 kann ferner mit mehr als zwei Downstreamports 114 oder lediglich einem einzigen Downstreamport 114 verbunden sein.
  • Jede Paketweiterleitungsvorrichtung 110 in dem System 100, das in 1A gezeigt ist, und in dem System 101, das in 1B gezeigt ist, kann im Allgemeinen beliebige Arten von Vorrichtungen enthalten, die zur Kommunikation mit anderen Vorrichtungen (z. B. anderen Paketweiterleitungsvorrichtungen 110) geeignet sind. Die jeweiligen Paketweiterleitungsvorrichtungen 110 können beispielsweise aus einem Computer, einem Router, einem Switch, einem Server oder einer beliebigen Kombination aus diesen Elementen bestehen. Ebenso können die Hostvorrichtungen 102 und die Routingvorrichtung 122 ebenfalls aus einem Computer, einem Router, einem Switch, einem Server oder einer beliebigen Kombination aus diesen Elementen bestehen. Die Paketweiterleitungsvorrichtungen 110, die Hostvorrichtungen 102 und die Routingvorrichtung 122 können jeweils mindestens einen Prozessor, einen Speicher und eine Netzkarte enthalten. In einigen Implementierungen kann das Netz 124 das Internet sein und das System 100 kann ein Rechenzentrum repräsentieren, das mit dem Internet verbunden ist. Die Hostvorrichtungen 102 können beispielsweise dazu ausgelegt sein, von dem Rechenzentrum gehostete Daten zu speichern und Anfragen nach Daten über die Paketweiterleitungsvorrichtungen 110 und die Routingvorrichtung 122 empfangen und beantworten. Im Allgemeinen können Rechenzentren eine große Vielfalt an Computernetzverkehr unterstützen, darunter Datenverkehr, der mit einer echtzeitbasierten Bereitstellung von Inhalt verbunden ist, Cloud-Rechendiensten, die von Anwendern persönlicher oder mobiler Rechenvorrichtungen aufgerufen werden, Datenspeicher, Datenindizierung, Datensicherung, Übertragung von Massendaten und Datenzugriff. In einigen anderen Implementierungen kann das System 100 ein Unternehmensnetz repräsentieren, das mit dem Internet oder einem anderen externen Netz verbunden ist.
  • 2 ist ein Blockdiagramm der beispielhaften Paketweiterleitungsvorrichtung 110b von 1A. Wie oben erläutert enthält die Paketweiterleitungsvorrichtung 110b Downstreamports 114d114f (im Allgemeinen als Downstreamports 114 bezeichnet) und einen Upstreamport 118b. Die Paketweiterleitungsvorrichtung 110b enthält zudem ein MAC-Adressen-Bekanntmachungsmodul 201, ein Headermodifizierungsmodul 204, ein Paketweiterleitungsmodul 206 und einen Speicher 208.
  • In einigen Implementierungen kann das MAC-Adressen-Bekanntmachungsmodul 201 dazu ausgelegt sein, an jede mit einem Downstreamport 114 verbundene Vorrichtung Informationen zu senden, in denen die eindeutige MAC-Adresse der Downstreamports 114 enthalten ist, die direkt mit Hostvorrichtungen verbunden sind. Das MAC-Adressen-Bekanntmachungsmodul 201 kann beispielsweise die MAC-Adressen, die den Downstreamports 114d und 114e zugeordnet sind, an die jeweils mit diesen Ports verbundenen Vorrichtungen senden.
  • In einigen Implementierungen kann das MAC-Adressen-Bekanntmachungsmodul 201 dazu ausgelegt sein, die entsprechenden MAC-Adressen als Antwort auf das Empfangen einer Anfrage von den Vorrichtungen, die mit den Downstreamports 114 verbunden sind, an die jeweiligen Downstreamports 114 zu senden. Das MAC-Adressen-Bekanntmachungsmodul 201 kann beispielsweise dazu ausgelegt sein, auf von verbundenen Hostvorrichtungen empfangene Adressauflösungsprotokoll-Anfragen (ARP-Anfragen) zu antworten. Eine Vorrichtung, die mit einem Downstreamport 114d verbunden ist, kann beispielsweise eine ARP-Anfrage an die Paketweiterleitungsvorrichtung 110b senden. Das MAC-Adressen-Bekanntmachungsmodul 201 kann auf die ARP-Anfrage antworten, indem es Informationen, die der MAC-Adresse des Downstreamports 114d entsprechen, an die Vorrichtung sendet, die mit dem Downstreamport 114d verbunden ist. ARP-Anfragen können von den Vorrichtungen, die mit dem Downstreamport 114e verbunden sind, empfangen und verarbeitet werden. Darum können Vorrichtungen, die mit verschiedenen Downstreamports 114 der Paketweiterleitungsvorrichtung 110b verbunden sind, verschiedene Antworten auf ARP-Anfragen erhalten. Im Gegensatz dazu sind typische Netzvorrichtungen dazu ausgelegt, auf ARP-Anfragen mit einer einzelnen Adresse zu antworten, und zwar unabhängig von dem Port, mit dem die Vorrichtung verbunden ist, die die ARP-Anfrage initiiert. Das MAC-Adressen-Bekanntmachungsmodul 201 kann zudem dazu ausgelegt sein, die MAC-Adressen seiner Downstreamports 114 über seinen Upstreamport 118b bekanntzumachen. Wie oben beschrieben ist der Downstreamport 114f, der mit einer anderen Paketweiterleitungsvorrichtung 110c und nicht mit einer Hostvorrichtung 102 verbunden ist (siehe 1A), möglicherweise keiner MAC-Adresse zugeordnet, kann jedoch den MAC-Adressen der Downstreamports 114 anderer Paketweiterleitungsvorrichtungen zugeordnet sein, die mit der Paketweiterleitungsvorrichtung 110b in Kaskadenform verbunden sind (beispielsweise der Downstreamports 114 der Paketweiterleitungsvorrichtung 110c, siehe 1A). Das MAC-Adressen-Bekanntmachungsmodul kann also auch dazu ausgelegt sein, die MAC-Adressen dieser Ports über seinen Upstreamport 118b bekanntzumachen.
  • Das Paketweiterleitungsmodul 206 kann dazu ausgelegt sein, Pakete basierend auf einem Satz von Regeln weiterzuleiten, die im Folgenden unter Bezugnahme auf 3 und 4 beschrieben sind. Für ein Paket, das von einer Hostvorrichtung über einen Downstreamport 114 direkt empfangen wird, kann das Paketweiterleitungsmodul 206 beispielsweise dazu ausgelegt sein, zu bestimmen, ob die Ziel-MAC-Adresse eines empfangenen Pakets dem Downstreamport 114 zugeordnet ist, an dem das Paket empfangen wurde. In einigen Implementierungen können die den einzelnen Downstreamports 114 zugeordneten MAC-Adressen im Speicher 208 gespeichert werden. Das Paketweiterleitungsmodul 206 kann diese Informationen aus dem Speicher 208 abrufen und die Ziel-MAC-Adresse eines über einen Downstreamport 114 empfangenen Pakets mit den Informationen vergleichen, um zu bestimmen, ob das Paket über den Upstreamport 118 weitergeleitet werden soll.
  • Das Headermodifizierungsmodul 204 kann dazu ausgelegt sein, Informationen, die in dem Header eines von der Paketweiterleitungsvorrichtung 110b empfangenen Pakets enthalten sind, zu modifizieren. In einigen Implementierungen kann es erforderlich sein, die Header-Informationen eines Pakets so zu modifizieren, das eine Routingvorrichtung 122, die in 1A gezeigt ist, die Herkunft eines Pakets bestimmen kann, das aus der Downstreamrichtung kommt (z. B. den Satz an Downstreamports 114 von Paketweiterleitungsvorrichtungen 110, die das Paket durchlaufen hat). In einigen Implementierungen kann eine Hostvorrichtung beispielsweise ein Paket senden, das über eine Ziel-MAC-Adresse verfügt, die das Paket als Broadcast- oder Multicast-Paket identifiziert. Wenn das Paket von der Routingvorrichtung jedoch unverändert empfangen wird, nachdem es die Paketweiterleitungsvorrichtung 110b durchlaufen hat, kann die Routingvorrichtung nicht den Downstreamport 114 bestimmen, über den das Paket gelaufen ist. Zur Behebung dieses Problems kann das Headermodifizierungsmodul 204 dazu ausgelegt sein, zu bestimmen, ob ein vom einem der Downstreamports 114 empfangenes Paket ein Broadcast- oder Multicast-Paket ist, und, wenn ja, den Header des Pakets zu modifizieren. Der Header des Pakets kann so modifizieren werden, dass er eine Ziel-MAC-Adresse enthält, die mit der Ziel-MAC-Adresse übereinstimmt, die dem Downstreamport 114 zugeordnet ist, an dem das Paket empfangen wurde, so dass die Routingvorrichtung die Herkunft des Pakets bestimmen kann, indem sie das Ziel-MAC-Adressfeld des Pakets überprüft.
  • In einigen Implementierungen kann das Paketweiterleitungsmodul 206 dazu ausgelegt sein, die Ziel-MAC-Adresse des empfangenen Pakets zu bestimmen und die Ziel-MAC-Adresse mit einer Liste von Ziel-MAC-Adressen, die Broadcast- und Multicast-Paketen zugeordnet sind, zu vergleichen. So eine Liste kann beispielsweise in dem Speicher 208 gepflegt werden. Wenn ein empfangenes Paket ein Broadcast- oder Multicast-Paket ist, kann das Paketweiterleitungsmodul 206 das Paket an das Headermodifizierungsmodul 204 senden, das dazu ausgelegt sein kann, das in dem Header des Pakets enthaltene Zielfeld so zu verändern, dass es mit der MAC-Adresse übereinstimmt, die dem Downstreamport 114 zugeordnet ist, an dem das Paket empfangen wurde. Das Paketweiterleitungsmodul 206 kann das veränderte Paket an die Routingvorrichtung senden. Sobald die Routingvorrichtung das modifizierte Paket empfangt, kann die Routingvorrichtung den Downstreamport 114 bestimmen, über den das Paket übertragen wurde, indem sie das Zielfeld des empfangenen Pakets überprüft.
  • In einigen Implementierungen kann das Paketweiterleitungsmodul 206 bestimmen, ob es ein über einen kaskadierten Downstreamport 114 empfangenes Paket weiterleiten soll. Die Paketweiterleitungsvorrichtung 110b kann beispielsweise eine Liste von MAC-Adressen speichern, die den Downstreamports 114 aller kaskadierten Paketweiterleitungsvorrichtungen 110 zugeordnet sind, welche sich zwischen den Downstreamports 114d114f der Paketweiterleitungsvorrichtung 110b und einer oder mehreren Hostvorrichtungen 102 befinden. Solch eine Liste kann beispielsweise in dem Speicher 208 gespeichert werden. Das Paketweiterleitungsmodul 206 kann dazu ausgelegt sein, die Ziel-MAC-Adresse eines über einen Downstreamport 114 empfangenen Pakets mit den in der Liste gespeicherten MAC-Adressen zu vergleichen. Wenn eine Übereinstimmung bestimmt wird, kann das Paketweiterleitungsmodul 206 das Paket über den Upstreamport 118b weiterleiten. Wird keine Übereinstimmung bestimmt, kann das Paket verworfen werden. In einigen anderen Implementierungen kann die Paketweiterleitungsvorrichtung 110b eine Liste der gemeinsamen Präfixe von MAC-Adressen speichern, die den Downstreamports 114 aller kaskadierten Paketweiterleitungsvorrichtungen 110 zugeordnet sind, die zwischen den Downstreamports 114d114f der Paketweiterleitungsvorrichtung 110b und einer oder mehreren Hostvorrichtungen 102 liegen. Wie oben erörtert kann ein gemeinsamer Präfix ein Abschnitt der MAC-Adressen sein (z. B. die ersten zehn Hexadezimalziffern), der für alle Downstreamports 114 einer Paketweiterleitungsvorrichtung 110 gleich ist. So kann das Paketweiterleitungsmodul 206 bestimmen, ob ein über einen kaskadierten Downstreamport 114 empfangenes Paket effizienter weitergleitet werden kann, indem es eine Übereinstimmung zwischen dem Präfix der Ziel-MAC-Adresse eines empfangenen Pakets und dem gemeinsamen Präfix einer kaskadierten Paketweiterleitungsvorrichtung 110 bestimmt, statt zu bestimmen, ob es eine Übereinstimmung zwischen der gesamten Ziel-MAC-Adresse des empfangenen Pakets und der eindeutigen MAC-Adresse, die einem Downstreamport 114 an einer beliebigen der kaskadierten Paketweiterleitungsvorrichtungen 110 zugeordnet ist, gibt.
  • In einigen Implementierungen kann das Paketweiterleitungsmodul 206 dazu ausgelegt sein, ein Paket, das es von einer Upstreamvorrichtung (wie etwa der in 1A dargestellten Routingvorrichtung 122 oder einer anderen Paketweiterleitungsvorrichtung 110) direkt empfangen hat, über einen Downstreamport 114 weiterzuleiten. Das Paketweiterleitungsmodul 206 kann beispielsweise dazu ausgelegt sein, zu bestimmen, ob die Quell-MAC-Adresse des empfangenen Pakets irgendeinem Downstreamport 114 zugeordnet ist. In einigen Implementierungen können die den jeweiligen Downstreamports 114 zugeordneten MAC-Adressen in dem Speicher 208 gespeichert werden. Das Paketweiterleitungsmodul 206 kann diese Informationen aus dem Speicher 208 abrufen und die Quell-MAC-Adresse eines über einen Upstreamport 118 empfangenen Pakets mit diesen Informationen vergleichen. Wenn eine Übereinstimmung bestimmt wird, kann das Paketweiterleitungsmodul 206 dazu ausgelegt sein, das empfangene Paket über den Downstreamport 114, der der Quell-MAC-Adresse des empfangenen Pakets zugeordnet ist, weiterzuleiten. Eine Zuordnung kann beispielsweise dann bestimmt werden, wenn eine MAC-Adresse eines Downstreamports 114 mit der Quell-MAC-Adresse des empfangenen Pakets übereinstimmt oder der Downstreamport 114 mit einer weiteren Paketweiterleitungsvorrichtung 110 verbunden ist, die einen Downstreamport aufweist, dessen MAC-Adresse mit der Quell-MAC-Adresse des empfangenen Pakets übereinstimmt. Daher kann das Paketweiterleitungsmodul 206 als Antwort auf die Bestimmung einer Übereinstimmung zwischen der Quelladresse des empfangenen Pakets und einer MAC-Adresse, die dem kaskadierten Downstreamport 114 zugeordnet ist, ein von einer Upstreamvorrichtung empfangenes Paket über den entsprechenden Downstreamport 114 weiterleiten. In einigen Implementierungen kann der Downstreamport 114 ein kaskadierter Downstreamport 114 sein, der mit einer weiteren Paketweiterleitungsvorrichtung 100 verbunden ist, die einen Downstreamport aufweist, dessen MAC-Adresse mit der Quell-MAC-Adresse des empfangenen Pakets übereinstimmt. Wenn keine Übereinstimmung bestimmt wird, kann das Paketweiterleitungsmodul 206 dazu ausgelegt sein, das Paket zu verwerfen.
  • In einigen Implementierungen kann das Paketweiterleitungsmodul 206 ein Paket an ein kaskadiertes Paketweiterleitungsvorrichtung 110 weiterleiten, und zwar als Antwort auf die Bestimmung, dass die Quell-MAC-Adresse des Pakets nicht mit der MAC-Adresse übereinstimmt, die einem beliebigen der Downstreamports 114 zugeordnet ist, die direkt mit Hostvorrichtungen verbunden sind, ohne zu bestimmen, dass die Quell-MAC-Adresse des Pakets mit den Quell-MAC-Adressen übereinstimmt, die mit den Downstreamports 114 aller kaskadierten Paketweiterleitungsvorrichtungen übereinstimmen, die zwischen den Downstreamports 114d114f der Paketweiterleitungsvorrichtung 110b und einer oder mehreren Hostvorrichtungen 102 liegen. Wenn das Paket die letzte Paketweiterleitungsvorrichtung 110 in der Kaskade erreicht, kann diese Paketweiterleitungsvorrichtung basierend auf ihrer eigenen Überprüfung der Quell-MAC-Adresse des Pakets bestimmen, ob sie das Paket verwerfen oder weiterleiten soll.
  • In einigen Implementierungen können das MAC-Adressen-Bekanntmachungsmodul 201, das Headermodifizierungsmodul 204 und das Paketweiterleitungsmodul 206 jeweils als Spezial-Logikschaltungen implementiert sein, wie etwa als feldprogrammierbare Gatteranordnung (FPGA) oder anwendungsspezifische integrierte Schaltung (ASIC). In anderen Implementierungen können das MAC-Adressen-Bekanntmachungsmodul 201, das Headermodifizierungsmodul 204 und das Paketweiterleitungsmodul 206 als ein oder mehrere Softwaremodule implementiert sein, die auf einem computerlesbaren Medium gespeichert sind und auf einem oder mehreren Allzweckprozessoren ausgeführt werden. In einigen Implementierungen können einige oder alle Funktionen des MAC-Adressen-Bekanntmachungsmoduls 201, des Headermodifizierungsmoduls 204 und des Paketweiterleitungsmoduls 206 in einem einzigen Modul zusammengefasst bzw. weiter auf kleinere Module aufgeteilt sein. Die Paketweiterleitungsvorrichtung 110b kann auch andere Kommunikationshardware enthalten, die nicht in 2 dargestellt ist, beispielsweise eine Netzkarte, zusätzliche Speichermodule und Eingabe-/Ausgabevorrichtungen.
  • Es ist zu beachten, dass beliebige der im System 100 enthaltenen Paketweiterleitungsvorrichtungen 110, die in 1A und 1B dargestellt sind, Module enthalten können, die jenen ähneln, die oben in Verbindung mit der Paketweiterleitungsvorrichtung 110b beschrieben sind. Die Paketweiterleitungsvorrichtung 110a und die Paketweiterleitungsvorrichtung 110d können beispielsweise jeweils ein jeweiliges MAC-Adressen-Bekanntmachungsmodul 201, ein jeweiliges Headermodifizierungsmodul 204, ein jeweiliges Paketweiterleitungsmodul 206 und einen entsprechenden Speicher 208 enthalten. Die in anderen Paketweiterleitungsvorrichtungen 110 enthaltenen Module können auf ähnliche Weise arbeiten, wie es oben in Verbindung mit den Modulen der Paketweiterleitungsvorrichtung 110b beschrieben ist.
  • 3 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren 300 zum Weiterleiten von Paketen veranschaulicht. In einigen Ausführungen kann der Prozess 300 dazu verwendet werden, dass durch eine Paketweiterleitungsvorrichtung wie etwa den Paketweiterleitungsvorrichtungen 110, die in 1A und 1B dargestellt sind, von einer Rechenvorrichtung wie etwa einer der in 1A und 1B dargestellten Hostvorrichtungen 102 empfangene Pakete verarbeitet werden. Zusammengefasst umfasst der Prozess 300 ein Empfangen eines Pakets von einer ersten Rechenvorrichtung durch eine Paketweiterleitungsvorrichtung (Phase 302). Der Prozess 300 umfasst ein Bestimmen, ob das empfangene Paket entweder ein Broadcast-Paket oder ein Multicast-Paket ist (Phase 304). Wenn das Paket ein Broadcast-Paket oder ein Multicast-Paket ist, umfasst der Prozess 300 ein Ändern einer Ziel-MAC-Adresse des Pakets in die MAC-Adresse des Ports, an dem das Paket empfangen wurde (Phase 306), und ein Weiterleiten des modifizierten Pakets an die zweite Rechenvorrichtung (Phase 308). Wenn das Paket weder ein Broadcast-Paket noch ein Multicast-Paket ist, umfasst der Prozess 300 ein Bestimmen, ob eine Ziel-MAC-Adresse des Pakets dem Port zugeordnet ist, an dem das Paket empfangen wurde (Phase 310). Wenn die Ziel-MAC-Adresse des Pakets dem Port zugeordnet ist, an dem das Paket empfangen wurde, umfasst der Prozess 300 ein Weiterleiten des Pakets an die zweite Rechenvorrichtung (Phase 312). Wenn die Ziel-MAC-Adresse des Pakets nicht dem Port zugeordnet ist, an dem das Paket empfangen wurde, umfasst der Prozess 300 ein Verwerfen des Pakets (Phase 314).
  • Unter erneuter Bezugnahme auf 3 umfasst der Prozess 300 ein Empfangen eines Pakets von einer ersten Rechenvorrichtung durch eine Paketweiterleitungsvorrichtung (Phase 302). In einigen Implementierungen kann die erste Rechenvorrichtung eine Hostvorrichtung wie etwa eine der in 1A und 1B dargestellten Hostvorrichtungen 102 sein und über einen Downstreamport der Paketweiterleitungsvorrichtung mit der Paketweiterleitungsvorrichtung verbunden sein. In einigen anderen Implementierungen kann die erste Rechenvorrichtung eins weitere Paketweiterleitungsvorrichtung sein, das zwischen der ersten Paketweiterleitungsvorrichtung und einer Hostvorrichtung liegt. In wieder anderen Implementierungen kann die erste Rechenvorrichtung eine Rechenvorrichtung sein, die möglicherweise versucht, sich als eine der Hostvorrichtungen auszugeben, beispielsweise durch Fälschen (oder Spoofen) der Quell-MAC-Adresse des Pakets derart, dass diese mit der Quell-MAC-Adresse einer der Hostvorrichtungen übereinstimmt. Der Prozess 300 kann dazu verwendet werden, Pakete zu verwerfen, die sich nicht ordnungsgemäß an eine Upstream-Routingvorrichtung wie etwa die in 1A und 1B dargestellte Routingvorrichtung 122 richten, und es der Routingvorrichtung zu ermöglichen, die Herkunft von Paketen, die von der Paketweiterleitungsvorrichtung weitergeleitet werden, zu bestimmen.
  • Der Prozess 300 umfasst ein Bestimmen, ob das empfangene Paket entweder ein Broadcast-Paket oder ein Multicast-Paket ist (Phase 304). In einigen Implementierungen können bestimmte Ziel-MAC-Adressen für Broadcast- oder Multicast-Pakete reserviert sein, die beispielsweise für Sicherheitsverhandlungen zwischen Netzvorrichtungen, ARP-Anfragen, Routererkennung oder Bekanntmachungen von Routingprotokollen verwenden werden können, ohne darauf beschränkt zu sein. Wenn bestimmt wird, dass das Paket ein Broadcast-Paket oder ein Multicast-Paket ist, umfasst der Prozess 300 ein Ändern einer Ziel-MAC-Adresse des Pakets in die MAC-Adresse des Ports, an dem das Paket empfangen wurde (Phase 306). Würde ein Broadcast- oder Multicast-Paket unverändert an die Routingvorrichtung weitergeleitet werden, könnte die Routingvorrichtung möglicherweise weder die jeweilige Hostvorrichtung, von der das Paket stammt, noch den Downstreamport der Paketweiterleitungsvorrichtung, durch den das Paket empfangen wurde, bestimmen. So könnte eine weitere Hostvorrichtung beispielsweise die in dem Paket verwendeten Quell-IP- und Quell-MAC-Adressen spoofen. Zur Behebung dieses Problem kann die Paketweiterleitungsvorrichtung das Zielfeld des Pakets so ändern, dass es die MAC-Adresse des Downstreamports enthält, an dem das Paket ankam. In einigen Implementierungen kann der Inhalt des Pakets noch immer angeben, dass das Paket ein Multicast- oder Broadcast-Paket ist, obwohl die Ziel-MAC-Adresse von der Paketweiterleitungsvorrichtung modifiziert worden ist.
  • Der Prozess 300 umfasst ein Weiterleiten des modifizierten Pakets an eine zweite Rechenvorrichtung (Phase 308). In einigen Implementierungen kann die zweite Rechenvorrichtung die Routingvorrichtung 122 sein, die in 1A und 1B dargestellt ist. Wie oben erläutert kann jeder Downstreamport der Paketweiterleitungsvorrichtung, der direkt mit einem Host verbunden ist, eine eindeutige MAC-Adresse aufweisen. Wenn die zweite Rechenvorrichtung das modifizierte Paket empfängt, kann die zweite Rechenvorrichtung somit den Downstreamport bestimmen, über den das Paket lief, indem sie die modifizierte Ziel-MAC-Adresse des empfangenen Pakets überprüft.
  • Wenn das Paket weder ein Broadcast-Paket noch ein Multicast-Paket ist, umfasst der Prozess 300 ein Bestimmen, ob die Ziel-MAC-Adresse des Pakets dem Port zugeordnet ist, an dem das Paket empfangen wurde (Phase 310). Die Bestimmung kann beispielsweise dadurch erfolgen, dass die Ziel-MAC-Adresse des empfangenen Pakets mit den MAC-Adressen verglichen wird, die dem Port zugeordnet sind, an dem das Paket empfangen wurde. Wenn die Ziel-MAC-Adresse des Pakets dem Port zugeordnet ist, an dem das Paket empfangen wurde, umfasst der Prozess 300 ein Weiterleiten des Pakets an die zweite Rechenvorrichtung (Phase 312). In einigen Implementierungen werden über einen kaskadierten Downstreamport (d. h. einen Downstreamport, der mit einer weiteren Paketweiterleitungsvorrichtung verbunden ist) empfangene Pakete ohne Inspektion an den Upstreamport weitergeleitet, da das Paket bereits von der kaskadierten Paketweiterleitungsvorrichtung ordnungsgemäß verarbeitet worden war, bevor das kaskadierte Paketweiterleitungsvorrichtung das Paket weiterleitete.
  • In einigen Implementierungen kann ein Weiterleiten des Pakets auf der Basis der Bestimmung, dass die Ziel-MAC-Adresse des Pakets dem Downstreamport zugeordnet ist, an dem das Paket empfangen wurde, dabei helfen, Angriffe durch Vorrichtungen zu verhindern, die möglicherweise versuchen, sich als eine Hostvorrichtung auszugeben. In einigen Implementierungen sind die Hostvorrichtungen beispielsweise dazu ausgelegt, für die zweite Rechenvorrichtung bestimmte Pakete derart zu erzeugen, dass eine Ziel-MAC-Adresse der Pakete mit der MAC-Adresse des Downstreamports einer Paketweiterleitungsvorrichtung übereinstimmt, mit dem die jeweiligen Hostvorrichtungen verbunden sind. Wenn die Ziel-MAC-Adresse des Pakets nicht dem Port zugeordnet ist, an dem das Paket empfangen wurde, kann die Paketweiterleitungsvorrichtung auf diese Weise bestimmen, dass das Paket nicht von der entsprechenden Hostvorrichtung stammt, und das Paket verwerfen (Phase 314). Daher wird ein Paket, dessen Quell-MAC-Adresse so gefälscht wurde, dass sie mit der Adresse einer Hostvorrichtung übereinstimmt, nicht weitergeleitet, es sei denn, das Paket enthält ferner die korrekte Ziel-MAC-Adresse (d. h. eine MAC-Adresse, die dem Downstreamport zugeordnet ist, an dem das Paket von der Paketweiterleitungsvorrichtung empfangen wurde). Ebenso wird ein an einem Downstreamport empfangenes Paket, dessen Quell-MAC-Adresse so gefälscht wurde, dass sie mit der Adresse einer Upstreamvorrichtung übereinstimmt, auch nicht weitergeleitet, es sei denn, das Paket enthält ferner die korrekte Ziel-MAC-Adresse (d. h. eine MAC-Adresse, die dem Downstreamport zugeordnet ist, an dem das Paket von der Paketweiterleitungsvorrichtung empfangen wurde). Die Wahrscheinlichkeit, dass ein Paket mit einer gefälschten Quell-MAC-Adresse die zweite Rechenvorrichtung erreicht, wird somit verringert.
  • In einigen Implementierungen kann es das Weiterleiten des Pakets auf der Basis der Bestimmung, ob die Ziel-MAC-Adresse des Pakets dem Downstreamport zugeordnet ist, an dem das Paket empfangen wurde, einer Upstreamvorrichtung wie etwa der Routingvorrichtung 122, die in 1A dargestellt ist, ermöglichen, die Quelle eines bösartigen Pakets zu ermitteln. Wenn die Upstreamvorrichtung beispielsweise ein Paket empfängt, das bösartige Nutzdaten enthält (z. B. als Folge einer Virusinfektion), kann die Hostvorrichtung, von der das bösartige Paket gesendet wurde, basierend auf der Ziel-MAC-Adresse des Pakets identifiziert werden und es kann eine Korrekturmaßnahme zum Entfernen oder Reparieren der Hostvorrichtung durchgeführt werden.
  • 4 ist ein Ablaufdiagramm, das ein weiteres beispielhaftes Verfahren 400 zum Weiterleiten von Paketen veranschaulicht. In einigen Implementierungen kann der Prozess 400 dazu verwendet werden, um durch eine Paketweiterleitungsvorrichtung wie etwa die Paketweiterleitungsvorrichtungen 110 von 1A und 1B von einer Rechenvorrichtung wie etwa der in 1A und 1B dargestellten Hostvorrichtung 122 empfangenen Pakete zu verarbeiten. Kurz zusammengefasst umfasst der Prozess 400 ein Empfangen eines Pakets von einer zweiten Rechenvorrichtung durch eine Paketweiterleitungsvorrichtung (Phase 402). Der Prozess 400 umfasst ein Bestimmen, ob eine Quell-MAC-Adresse des Pakets einem beliebigen Downstreamport der Paketweiterleitungsvorrichtung zugeordnet ist (Phase 404). Wenn die Quell-MAC-Adresse des Pakets einem Downstreamport der Paketweiterleitungsvorrichtung zugeordnet ist, umfasst der Prozess 400 ein Weiterleiten des Pakets über den Downstreamport, dessen MAC-Adresse mit der Quell-MAC-Adresse des Pakets übereinstimmt (Phase 406). Wenn die Quell-MAC-Adresse des Pakets keinem Downstreamport der Paketweiterleitungsvorrichtung zugeordnet ist, umfasst der Prozess 400 ein Verwerfen des Pakets (Phase 408).
  • Unter erneuter Bezugnahme auf 4 umfasst der Prozess 400 ein Empfangen eines Pakets von einer zweiten Rechenvorrichtung durch eine Paketweiterleitungsvorrichtung (Phase 402). In einigen Implementierungen kann die zweite Rechenvorrichtung eine Routingvorrichtung wie etwa die Routingvorrichtung 122, die in 1A und 1B dargestellt ist, sein, die der Paketweiterleitungsvorrichtung vorgeschaltet ist und über einen Upstreamport der Paketweiterleitungsvorrichtung mit der Paketweiterleitungsvorrichtung verbunden ist. In einigen anderen Implementierungen kann die zweite Rechenvorrichtung eine kaskadierte Paketweiterleitungsvorrichtung sein. Der Prozess 400 kann verwendet werden, um es der Upstream-Routingvorrichtung zu ermöglichen, einen Port der Paketweiterleitungsvorrichtung auszuwählen, durch den das Paket abgehen wird.
  • Der Prozess 400 umfasst ein Bestimmen, ob eine Quell-MAC-Adresse des Pakets einem beliebigen Downstreamport der Paketweiterleitungsvorrichtung zugeordnet ist (Phase 404). Die Bestimmung kann beispielsweise vorgenommen werden, indem die Quell-MAC-Adresse des empfangenen Pakets mit den MAC-Adressen verglichen wird, die den jeweiligen Downstreamports der Paketweiterleitungsvorrichtung zugeordnet sind. Wie oben erörtert kann ein Downstreamport sowohl einer MAC-Adresse, die diesem Downstreamport zugeordnet ist, als auch den MAC-Adressen von Downstreamports kaskadierter Paketweiterleitungsvorrichtungen zugeordnet sein, die mit diesem Downstreamport verbunden sind. Wenn die Quell-MAC-Adresse des Pakets einem Downstreamport der Paketweiterleitungsvorrichtung zugeordnet ist, umfasst der Prozess 400 ein Weiterleiten des Pakets über den Downstreamport, der der Quell-MAC-Adresse des Pakets zugeordnet ist (Phase 406). Das Weiterleiten des Pakets auf der Basis der Bestimmung einer Zuordnung zwischen der Quell-MAC-Adresse des Pakets und einem der Downstreamports der Paketweiterleitungsvorrichtung kann dabei helfen, Angriffe durch Hostvorrichtungen zu verhindern, die möglicherweise versuchen, sich als weitere Hostvorrichtung auszugeben. Die Auswahl eines Downstreamports, von dem ein Paket abgehen wird, wird von der Upstream-Routingvorrichtung statt von der Paketweiterleitungsvorrichtung getroffen. Die Paketweiterleitungsvorrichtung wird jedes von der Routingvorrichtung empfangene Paket über den Downstreamport weiterleiten, dessen MAC-Adresse der Quell-MAC-Adresse des Pakets zugeordnet ist, und zwar unabhängig von der Zieladresse des Pakets. Die Routingvorrichtung kann eine Zielhostvorrichtung auswählen, die ein Paket empfangen soll, indem sie als Ziel-MAC-Adresse des Pakets die MAC-Adresse festlegt, die dem Downstreamport zugeordnet ist, für den die Zielhostvorrichtung ausgewählt wird. Als Folge wird verhindert, dass eine weitere Hostvorrichtung, die versucht, für die Zielhostvorrichtung bestimmte Pakete zu empfangen, beispielsweise durch Bekanntmachung einer MAC-Adresse, die mit der MAC-Adresse der Zielhostvorrichtung übereinstimmt, solche Pakete empfangen kann. Im Gegensatz dazu leiten die meisten Netzvorrichtungen Pakete basierend auf der Ziel-MAC-Adresse des Pakets und nicht auf der Quell-MAC-Adresse weiter und leiten daher mit einer größeren Wahrscheinlichkeit Pakete an Hostvorrichtungen weiter, die auf bösartige Weise vorgeben, eine Zielhostvorrichtung zu sein.
  • Implementierungen des Gegenstands und die in dieser Beschreibung beschriebenen Operationen können in digitalen elektronischen Schaltungen oder in Computersoftware, die in einem physischen Medium, Firmware oder Hardware verkörpert ist, implementiert werden, einschließlich der in dieser Beschreibung offengelegten Strukturen und ihrer strukturellen Äquivalente oder in Kombinationen von einer oder mehrerer davon. Implementierungen des in dieser Beschreibung beschriebenen Gegenstands können als ein oder mehrere Computerprogramme auf einem physischen Medium, d. h. als ein oder mehrere Module von Computerprogrammbefehlen, die auf einem oder mehreren Computerspeichermedien zur Ausführung durch eine Datenverarbeitungsvorrichtung oder die Steuerung des Betriebs einer Datenverarbeitungsvorrichtung codiert sind, implementiert werden. Ein Computerspeichermedium kann eine maschinell lesbare Speichervorrichtung, ein maschinell lesbarer Speicherträger, eine Speichervorrichtung mit wahlfreiem oder seriellem Zugriff oder eine Kombination aus einem oder mehreren davon sein oder in ihnen enthalten sein. Das Computerspeichermedium kann eine oder mehrere unterschiedliche physische Komponenten oder Medien (z. B. mehrere CDs, Disks oder andere Speichervorrichtungen) sein bzw. darin enthalten sein. Das Computerspeichermedium kann konkret und nichttransitorisch sein.
  • Ein Computerprogramm (auch bezeichnet als Programm, Software, Softwareanwendung, Script oder Code) kann in einer beliebigen Form von Programmiersprache geschrieben sein, einschließlich kompilierter Sprachen, interpretierter Sprachen, deklarativer Sprachen und verfahrensorientierter Sprachen, und das Computerprogramm kann in jeder beliebigen Form eingesetzt werden, darunter als unabhängiges Programm oder als ein Modul, eine Komponente, eine Subroutine, ein Objekt oder eine andere Einheit, die zur Verwendung in einer Rechenumgebung geeignet ist. Ein Computerprogramm kann, muss aber nicht, einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei, die andere Programme oder Daten enthält (z. B. ein oder mehrere Scripts, die in einem Dokument in Auszeichnungssprache gespeichert sind), in einer einzelnen Datei speziell für das betreffende Programm oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Bibliotheken, Unterprogramme oder Teile von Code speichern) gespeichert sein. Ein Computerprogramm kann auf einem Computer oder mehreren Computern, die an einem Standort angeordnet sind oder über mehrere Standorte verteilt sind und über ein Kommunikationsnetz verbunden sind, eingesetzt oder ausgeführt werden.
  • Die Prozesse und Logikabläufe, die in dieser Beschreibung beschrieben sind, können von einem oder mehreren programmierbaren Prozessoren durchgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Aktionen durch Bearbeiten von Eingabedaten und Erzeugen einer Ausgabe durchzuführen. Die Prozesse und Logikabläufe können auch von Spezial-Logikschaltungen durchgeführt werden und die Vorrichtung kann als eine solche Spezial-Logikschaltung wie etwa als feldprogrammierbare Gatteranordnung (FPGA) oder anwendungsspezifische integrierte Schaltung (ASIC) implementiert sein. Solch eine Spezial-Logikschaltung kann als Computerprozessor bezeichnet werden, selbst wenn es sich nicht um einen Universalprozessor handelt.
  • Obwohl diese Patentschrift viele spezifische Implementierungsdetails enthält, sollten diese nicht als Beschränkungen des Umfangs einer Erfindung oder des Beanspruchbaren ausgelegt werden, sondern vielmehr als Beschreibungen von Merkmalen, die für bestimmte Ausführungsformen spezifisch sein können. Bestimmte Merkmale, die in dieser Beschreibung im Zusammenhang mit getrennten Ausführungsformen beschrieben sind, können auch in Kombination in einer einzelnen Ausführungsform implementiert werden. Umgekehrt können verschiedene Merkmale, die im Zusammenhang mit einer einzelnen Ausführungsform beschrieben sind, auch in mehreren Ausführungsformen getrennt oder in jeder geeigneten Unterkombination implementiert werden. Obwohl darüber hinaus Merkmale oben so beschrieben sein können, dass sie in bestimmten Kombinationen agieren und sogar anfänglich derart beansprucht werden, können ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen aus der Kombination herausgenommen werden und die beanspruchte Kombination kann auf eine Unterkombination oder Variation einer Unterkombination ausgerichtet werden.
  • Obwohl Operationen in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, sollte dies ebenfalls nicht dahingehend verstanden werden, dass es erforderlich ist, dass solche Operationen in der gezeigten Reihenfolge oder in sequentieller Reihenfolge ausgeführt werden oder dass alle dargestellten perationen durchgeführt werden, um wünschenswerte Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung vorteilhaft sein. Darüber hinaus sollte die Trennung verschiedener Systemmodule und Komponenten in den oben beschriebenen Ausführungsformen nicht so verstanden werden, dass eine solche Trennung in allen Ausführungsformen erforderlich ist, und es sollte verstanden werden, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zusammen in einem einzigen Softwareprodukt integriert werden können oder in mehreren Softwareprodukten verpackt werden können.
  • Verweise auf ”oder” können als einschließend ausgelegt werden, so dass jegliche Begriffe, die mit ”oder” beschrieben werden, einen, mehr als einen oder alle der beschriebenen Begriffe anzeigen können. Die Bezeichnungen ”erste/r/s”, ”zweite/r/s”, ”dritte/r/s” usw. stehen nicht unbedingt für eine Reihenfolge und werden im Allgemeinen nur verwendet, um zwischen gleichen oder ähnlichen Objekten oder Elementen zu unterscheiden.
  • Somit sind bestimmte Implementierungen des Gegenstandes beschrieben worden. Andere Ausführungsformen liegen innerhalb des Umfangs der folgenden Ansprüche. Zum Beispiel können in einigen Fällen die in den Ansprüchen aufgeführten Aktionen in einer anderen Reihenfolge ausgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Weiterhin erfordern die in den begleitenden Figuren dargestellten Prozesse nicht notwendigerweise die bestimmte gezeigte Reihenfolge oder sequentielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. In bestimmten Implementierungen können Multitasking oder Parallelverarbeitung verwendet werden.

Claims (20)

  1. System, das Folgendes umfasst: eine erste Rechenvorrichtung; eine zweite Rechenvorrichtung; und eine erste Paketweiterleitungsvorrichtung, wobei die erste Rechenvorrichtung und die zweite Rechenvorrichtung jeweils mit einem jeweiligen Port der ersten Paketweiterleitungsvorrichtung kommunikationstechnisch gekoppelt sind und wobei, für ein erstes von der ersten Rechenvorrichtung empfangenes Paket, die erste Paketweiterleitungsvorrichtung zu Folgendem ausgelegt ist: Bestimmen, dass eine Ziel-MAC-Adresse des ersten Pakets dem Port zugeordnet ist, an dem das erste Paket empfangen wurde; und Weiterleiten des ersten Pakets an die zweite Rechenvorrichtung als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse des ersten Pakets dem Port zugeordnet ist, an dem das erste Paket empfangen wurde; und für ein zweites von der zweiten Rechenvorrichtung empfangenes Paket, die erste Paketweiterleitungsvorrichtung dazu ausgelegt ist, das zweite Paket über den Port weiterzuleiten, der einer Quell-MAC-Adresse des zweiten Pakets zugeordnet ist.
  2. System nach Anspruch 1, wobei die erste Paketweiterleitungsvorrichtung ferner dazu ausgelegt ist, als Antwort auf die Bestimmung, dass die Quell-MAC-Adresse des zweiten Pakets keinem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, das zweite Paket zu verwerfen.
  3. System nach Anspruch 1, wobei, für ein drittes von der ersten Rechenvorrichtung empfangenes Paket, die erste Paketweiterleitungsvorrichtung zu Folgendem ausgelegt ist: Bestimmen, dass das dritte Paket entweder ein Broadcast- oder ein Multicast-Paket ist; Ändern einer Ziel-MAC-Adresse des dritten Pakets in eine MAC-Adresse, die dem Port zugeordnet ist, an dem das dritte Paket empfangen wurde; und Weiterleiten des dritten Pakets an die zweite Rechenvorrichtung.
  4. System nach Anspruch 1, wobei eine MAC-Adresse, die mindestens einem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, auf einer IP-Adresse der ersten Paketweiterleitungsvorrichtung und einer Zahl, die den mindestens einen Port eindeutig identifiziert, basiert.
  5. System nach Anspruch 4, wobei eine MAC-Adresse, die mindestens einem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, die IP-Adresse der ersten Paketweiterleitungsvorrichtung und die Zahl, die den mindestens einen Port eindeutig identifiziert, enthält.
  6. System nach Anspruch 1, wobei die erste Paketweiterleitungsvorrichtung ferner zu Folgendem ausgelegt ist: Bestimmen, dass eine Ziel-MAC-Adresse eines vierten von der ersten Rechenvorrichtung empfangenen Pakets nicht dem Port zugeordnet ist, an dem das vierte Paket empfangen wurde, und dass die Ziel-MAC-Adresse des vierten Pakets weder eine Broadcast-MAC-Adresse noch eine Multicast-MAC-Adresse ist; und Verwerfen des vierten Pakets als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse des vierten Pakets nicht dem Port zugeordnet ist, an dem das vierte Paket empfangen wurde, und die Ziel-MAC-Adresse des vierten Pakets weder eine Broadcast-MAC-Adresse noch eine Multicast-MAC-Adresse ist.
  7. System nach Anspruch 1, das ferner Folgendes umfasst: eine dritte Rechenvorrichtung, die mehrere Ports enthält, wobei die dritte Rechenvorrichtung mit einem jeweiligen Port der ersten Paketweiterleitungsvorrichtung kommunikationstechnisch gekoppelt ist und die erste Paketweiterleitungsvorrichtung ferner zu Folgendem ausgelegt ist: Bestimmen, dass eine Ziel-MAC-Adresse eines fünften Pakets, das von der dritten Rechenvorrichtung empfangen wurde, einer Vorrichtungs-ID der dritten Rechenvorrichtung zugeordnet ist; und Weiterleiten des fünften Pakets an die zweite Rechenvorrichtung als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse eines fünften Pakets der Vorrichtungs-ID der dritten Rechenvorrichtung zugeordnet ist.
  8. System nach Anspruch 1, wobei die dritte Rechenvorrichtung zu Folgendem ausgelegt ist: Bestimmen, dass eine Quell-MAC-Adresse eines sechsten Pakets, das von der ersten Paketweiterleitungsvorrichtung empfangen wurde, dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die dritte Rechenvorrichtung kommunikationstechnisch gekoppelt ist; und Weiterleiten des sechsten Pakets über den Port der dritten Rechenvorrichtung, der der Quell-MAC-Adresse des sechsten Pakets zugeordnet ist.
  9. System nach Anspruch 1, wobei die erste Rechenvorrichtung ferner dazu ausgelegt ist, sicherzustellen, dass jedes Paket, das die zweite Rechenvorrichtung zum Ziel hat, eine Ziel-MAC-Adresse aufweist, die dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die erste Rechenvorrichtung kommunikationstechnisch gekoppelt ist.
  10. System nach Anspruch 1, wobei die zweite Rechenvorrichtung ferner dazu ausgelegt ist, sicherzustellen, dass jedes Paket, das die erste Rechenvorrichtung zum Ziel hat, eine Quell-MAC-Adresse aufweist, die dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die erste Rechenvorrichtung kommunikationstechnisch gekoppelt ist.
  11. Verfahren zum Verarbeiten von Paketen, das Folgendes umfasst: Empfangen eines ersten Pakets von einer ersten Rechenvorrichtung durch eine erste Paketweiterleitungsvorrichtung; Bestimmen durch die erste Paketweiterleitungsvorrichtung, dass eine Ziel-MAC-Adresse des ersten Pakets dem Port zugeordnet ist, an dem das erste Paket empfangen wurde; Weiterleiten des ersten Pakets an eine zweite Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse des ersten Pakets dem Port zugeordnet ist, an dem das erste Paket empfangen wurde; Senden eines zweiten Pakets an die erste Paketweiterleitungsvorrichtung durch die zweite Rechenvorrichtung; Weiterleiten des zweiten Pakets über den Port, der einer Quell-MAC-Adresse des zweiten Pakets zugeordnet ist, durch die erste Paketweiterleitungsvorrichtung.
  12. Verfahren nach Anspruch 11, das ferner Folgendes umfasst: Bestimmen durch die erste Paketweiterleitungsvorrichtung, dass eine Quell-MAC-Adresse des zweiten Pakets keinem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, und Verwerfen des zweiten Pakets durch die erste Paketweiterleitungsvorrichtung als Antwort auf die Bestimmung, dass die Quell-MAC-Adresse des zweiten Pakets keinem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist.
  13. Verfahren nach Anspruch 11, das ferner Folgendes umfasst: Empfangen eines dritten Pakets von der ersten Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung; Bestimmen durch die erste Paketweiterleitungsvorrichtung, dass das dritte Paket entweder ein Broadcast- oder ein Multicast-Paket ist; Ändern einer Ziel-MAC-Adresse des dritten Pakets in eine MAC-Adresse, die dem Port zugeordnet ist, an dem das dritte Paket empfangen wurde, durch die erste Paketweiterleitungsvorrichtung; und Weiterleiten des dritten Pakets an die zweite Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung.
  14. Verfahren nach Anspruch 11, wobei eine MAC-Adresse, die mindestens einem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, auf einer IP-Adresse der ersten Paketweiterleitungsvorrichtung sowie einer Zahl, die den mindestens einen Port eindeutig identifiziert, basiert.
  15. Verfahren nach Anspruch 14, wobei eine MAC-Adresse, die mindestens einem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, die IP-Adresse der ersten Paketweiterleitungsvorrichtung und die Zahl, die den mindestens einen Port eindeutig identifiziert, enthält.
  16. Verfahren nach Anspruch 11, das ferner Folgendes umfasst: Empfangen eines vierten Pakets von der ersten Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung; Bestimmen durch die erste Paketweiterleitungsvorrichtung, dass eine Ziel-MAC-Adresse des vierten Pakets nicht dem Port zugeordnet ist, an dem das vierte Paket empfangen wurde, und dass die Ziel-MAC-Adresse des vierten Pakets weder eine Broadcast-MAC-Adresse noch eine Multicast-MAC-Adresse ist; Verwerfen des vierten Pakets durch die erste Paketweiterleitungsvorrichtung als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse des vierten Pakets nicht dem Port zugeordnet ist, an dem das vierte Paket empfangen wurde, und dass die Ziel-MAC-Adresse des vierten Pakets weder eine Broadcast-MAC-Adresse noch eine Multicast-MAC-Adresse ist.
  17. Verfahren nach Anspruch 11, das ferner Folgendes umfasst: Empfangen eines fünften Pakets von einer dritten Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung, wobei die dritte Rechenvorrichtung mehrere Ports enthalten kann; Bestimmen durch die erste Paketweiterleitungsvorrichtung, dass eine Ziel-MAC-Adresse des fünften Pakets, das von der dritten Rechenvorrichtung empfangen wurde, einer Vorrichtungs-ID der dritten Rechenvorrichtung zugeordnet ist; und Weiterleiten des fünften Pakets an die zweite Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung als Antwort auf die Bestimmung, dass die Ziel-MAC-Adresse eines fünften Pakets der Vorrichtungs-ID der dritten Rechenvorrichtung zugeordnet ist.
  18. Verfahren nach Anspruch 11, das ferner Folgendes umfasst: Senden eines sechsten Pakets an die dritte Rechenvorrichtung durch die erste Paketweiterleitungsvorrichtung; Bestimmen durch die dritte Rechenvorrichtung, dass eine Quell-MAC-Adresse eines Pakets, das von der ersten Paketweiterleitungsvorrichtung empfangen wurde, dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die dritte Rechenvorrichtung kommunikationstechnisch gekoppelt ist; und Weiterleiten des Pakets über den Port der dritten Rechenvorrichtung, der der Quell-MAC-Adresse des sechsten Pakets zugeordnet ist, durch die dritte Rechenvorrichtung.
  19. Verfahren nach Anspruch 11, das ferner ein Sicherstellen durch die erste Rechenvorrichtung, dass jedes Paket, das die zweite Rechenvorrichtung zum Ziel hat, eine Ziel-MAC-Adresse aufweist, die dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die erste Rechenvorrichtung kommunikationstechnisch gekoppelt ist, umfasst.
  20. Verfahren nach Anspruch 11, das ferner ein Sicherstellen durch die erste Rechenvorrichtung, dass jedes Paket, das die erste Rechenvorrichtung zum Ziel hat, eine Quell-MAC-Adresse aufweist, die dem Port der ersten Paketweiterleitungsvorrichtung zugeordnet ist, mit dem die erste Rechenvorrichtung kommunikationstechnisch gekoppelt ist, umfasst.
DE112016002952.7T 2015-09-15 2016-09-14 Systeme und Verfahren zum Verarbeiten von Paketen in einem Computernetz Withdrawn DE112016002952T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/854,939 2015-09-15
US14/854,939 US10187218B2 (en) 2015-09-15 2015-09-15 Systems and methods for processing packets in a computer network
PCT/US2016/051734 WO2017048841A1 (en) 2015-09-15 2016-09-14 Systems and methods for processing packets in a computer network

Publications (1)

Publication Number Publication Date
DE112016002952T5 true DE112016002952T5 (de) 2018-03-15

Family

ID=56997577

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202016107382.0U Active DE202016107382U1 (de) 2015-09-15 2016-09-14 Systeme für die Verarbeitung von Paketen in einem Computernetzwerk
DE112016002952.7T Withdrawn DE112016002952T5 (de) 2015-09-15 2016-09-14 Systeme und Verfahren zum Verarbeiten von Paketen in einem Computernetz

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE202016107382.0U Active DE202016107382U1 (de) 2015-09-15 2016-09-14 Systeme für die Verarbeitung von Paketen in einem Computernetzwerk

Country Status (11)

Country Link
US (2) US10187218B2 (de)
EP (1) EP3300546B1 (de)
JP (2) JP6700318B2 (de)
KR (2) KR102367307B1 (de)
CN (1) CN107710700B (de)
DE (2) DE202016107382U1 (de)
DK (1) DK3300546T3 (de)
GB (1) GB2555339B (de)
HK (1) HK1244370A1 (de)
TW (2) TWI805279B (de)
WO (1) WO2017048841A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567379B2 (en) * 2017-06-26 2020-02-18 Bank Of America Corporation Network switch port access control and information security
US10425473B1 (en) * 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US11038887B2 (en) * 2017-09-29 2021-06-15 Fisher-Rosemount Systems, Inc. Enhanced smart process control switch port lockdown
CN110233799B (zh) 2018-03-05 2021-10-26 华为技术有限公司 一种端口配置的方法和通信设备
US10911296B2 (en) * 2018-03-23 2021-02-02 Juniper Networks, Inc. Targeted selection of cascade ports
CN111147372B (zh) * 2018-11-05 2021-05-18 华为技术有限公司 下行报文发送、转发方法和装置
US11296783B2 (en) 2019-03-27 2022-04-05 Juniper Networks, Inc. Managing satellite devices within a branch network
CN112787932B (zh) * 2019-11-05 2022-09-02 华为技术有限公司 一种用于生成转发信息的方法、装置和系统
KR102309116B1 (ko) * 2021-09-07 2021-10-08 프라이빗테크놀로지 주식회사 데이터 플로우 기반 애플리케이션의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089326B2 (en) * 1997-10-14 2006-08-08 Alacritech, Inc. Fast-path processing for receiving data on TCP connection offload devices
US7430164B2 (en) * 1998-05-04 2008-09-30 Hewlett-Packard Development Company, L.P. Path recovery on failure in load balancing switch protocols
GB2358761B (en) 2000-01-25 2002-03-13 3Com Corp Multi-port network communication device with selective mac address filtering
GB2362289B (en) * 2000-05-10 2002-04-03 3Com Corp Distributed multicast routing in packet-based communication network devices
US8949471B2 (en) * 2000-11-02 2015-02-03 Oracle America, Inc. TCP/UDP acceleration
US7463639B1 (en) * 2001-09-26 2008-12-09 Junpier Networks, Inc. Edge devices for providing a transparent LAN segment service and configuring such edge devices
US7532588B2 (en) * 2003-02-19 2009-05-12 Nec Corporation Network system, spanning tree configuration method and configuration program, and spanning tree configuration node
US7590114B1 (en) * 2003-03-24 2009-09-15 Marvell International Ltd Efficient IP multicast bridging in ethernet switches
US9014195B2 (en) 2003-05-02 2015-04-21 Vitesse Semiconductor Corporation Packet forwarding method and system
JP4464766B2 (ja) * 2004-03-03 2010-05-19 株式会社日立製作所 マルチキャスト配信制御装置
US7801125B2 (en) * 2004-10-22 2010-09-21 Cisco Technology, Inc. Forwarding table reduction and multipath network forwarding
US20060165108A1 (en) * 2005-01-21 2006-07-27 Mr. Sezen Uysal Method and system for unidirectional packet processing at data link layer
US7688756B2 (en) * 2005-10-05 2010-03-30 Nortel Networks Limited Provider link state bridging
CN101102264B (zh) * 2006-07-04 2011-07-20 华为技术有限公司 一种以太网转发数据的方法和一种以太网系统
US7957332B1 (en) * 2006-11-15 2011-06-07 Marvell International Ltd. Memory efficient filtering
IL189514A (en) 2007-02-14 2011-12-29 Marvell Israel Misl Ltd Logical mediation system and method
US8116310B2 (en) * 2007-11-24 2012-02-14 Cisco Technology, Inc. Reducing packet flooding by a packet switch
JP5402926B2 (ja) * 2008-05-16 2014-01-29 日本電気株式会社 通信装置、通信方法および通信制御プログラム
US8134922B2 (en) * 2008-09-12 2012-03-13 Cisco Technology, Inc. Reducing flooding in a bridged network
CN101409685B (zh) * 2008-12-01 2010-10-27 杭州华三通信技术有限公司 基于虚拟局域网映射的转发方法及接入设备
US8645567B2 (en) * 2009-01-28 2014-02-04 Broadcom Corporation Method and system for packet filtering for local host-management controller pass-through communication via network controller
ES2361545B1 (es) 2009-02-24 2012-05-08 Universidad De Alcala De Henares Procedimiento de encaminamiento de tramas de datos y puente de red.
US8274980B2 (en) * 2009-02-26 2012-09-25 International Business Machines Corporation Ethernet link aggregation
JPWO2010106772A1 (ja) * 2009-03-17 2012-09-20 日本電気株式会社 分散処理システム及び分散処理方法
JP2010226455A (ja) * 2009-03-24 2010-10-07 Sony Corp ネットワーク通信装置
JP5392003B2 (ja) * 2009-03-30 2014-01-22 富士通株式会社 中継装置、状態通知方法、および、コンピュータプログラム
US8175107B1 (en) * 2009-08-18 2012-05-08 Hewlett-Packard Development Company, L.P. Network routing based on MAC address subnetting
JP2012034353A (ja) * 2010-06-28 2012-02-16 Panasonic Corp ネットワーク通信装置、通信方法および集積回路
US9608939B2 (en) * 2010-12-22 2017-03-28 Juniper Networks, Inc. Methods and apparatus to reduce forwarding state on an FCoE-to-FC gateway using port-specific MAC addresses
WO2012124035A1 (ja) * 2011-03-11 2012-09-20 富士通株式会社 通信装置および通信方法
US9444743B2 (en) * 2011-04-04 2016-09-13 Nec Corporation Network system, switch and connected terminal detection method
US8619635B2 (en) * 2011-06-29 2013-12-31 Telefonaktiebolaget L M Ericsson (Publ) E-tree using two pseudowires between edge routers with enhanced forwarding methods and systems
US9729431B1 (en) * 2011-08-16 2017-08-08 Marvell International Ltd. Using standard fields to carry meta-information
US20130064246A1 (en) * 2011-09-12 2013-03-14 Cisco Technology, Inc. Packet Forwarding Using an Approximate Ingress Table and an Exact Egress Table
US20140241368A1 (en) * 2011-10-21 2014-08-28 Nec Corporation Control apparatus for forwarding apparatus, control method for forwarding apparatus, communication system, and program
CN103918225A (zh) * 2011-10-28 2014-07-09 日本电气株式会社 环形网络中的节点设备和路径切换控制的方法
CN103297354B (zh) * 2012-03-02 2017-05-03 日电(中国)有限公司 服务器互连系统、服务器和数据转发方法
JP5466723B2 (ja) * 2012-03-07 2014-04-09 株式会社Nttドコモ ホスト提供システム及び通信制御方法
JP5888036B2 (ja) * 2012-03-16 2016-03-16 富士通株式会社 中継装置、情報処理システム、中継方法および中継プログラム
JP5928197B2 (ja) * 2012-06-29 2016-06-01 富士通株式会社 ストレージシステム管理プログラム及びストレージシステム管理装置
US9036638B2 (en) * 2012-08-09 2015-05-19 International Business Machines Corporation Avoiding unknown unicast floods resulting from MAC address table overflows
CN103227843B (zh) * 2012-08-31 2016-05-04 杭州华三通信技术有限公司 一种物理链路地址管理方法及装置
US8875256B2 (en) * 2012-11-13 2014-10-28 Advanced Micro Devices, Inc. Data flow processing in a network environment
CN103873368B (zh) * 2012-12-11 2017-09-15 新华三技术有限公司 以太网报文转发方法和接入设备
CN104022960B (zh) * 2013-02-28 2017-05-31 新华三技术有限公司 基于OpenFlow协议实现PVLAN的方法和装置
US9294396B2 (en) * 2013-03-12 2016-03-22 Dell Products L.P. Port extender
US9397912B2 (en) * 2013-03-13 2016-07-19 Arista Networks, Inc. Method and system for active fabric management using unicast reachability monitoring
CN104283811B (zh) * 2013-07-09 2017-10-03 新华三技术有限公司 报文转发方法和装置
EP3073698A4 (de) * 2013-12-13 2016-11-23 Huawei Tech Co Ltd Verfahren zur verarbeitung einer adressauflösungsprotokollnachricht, forwarder und steuerung
US20150172222A1 (en) * 2013-12-16 2015-06-18 James Liao Data center ethernet switch fabric
WO2015095996A1 (en) 2013-12-23 2015-07-02 Telefonaktiebolaget L M Ericsson(Publ) Technique for network service availability
US9628382B2 (en) 2014-02-05 2017-04-18 Intel Corporation Reliable transport of ethernet packet data with wire-speed and packet data rate match
US9647883B2 (en) * 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
CN105099960B (zh) * 2014-04-30 2018-03-16 国际商业机器公司 用于实现服务链的方法和装置
CN105099847B (zh) * 2014-05-05 2019-01-08 新华三技术有限公司 一种多归属接入方法和装置
US9762489B2 (en) * 2014-09-24 2017-09-12 Cisco Technology, Inc. Local packet switching at a satellite device
US9942144B1 (en) * 2014-09-30 2018-04-10 Juniper Networks, Inc. Fibre channel over ethernet (FCoE) link aggregation group (LAG) support in data center networks
CN106209554B (zh) * 2015-05-04 2019-12-13 新华三技术有限公司 跨虚拟可扩展局域网的报文转发方法和设备

Also Published As

Publication number Publication date
CN107710700A (zh) 2018-02-16
DE202016107382U1 (de) 2017-02-22
US10187218B2 (en) 2019-01-22
EP3300546B1 (de) 2019-11-27
EP3300546A1 (de) 2018-04-04
JP6700318B2 (ja) 2020-05-27
DK3300546T3 (da) 2020-03-02
TWI805279B (zh) 2023-06-11
TW201720108A (zh) 2017-06-01
KR102367307B1 (ko) 2022-02-23
GB2555339A (en) 2018-04-25
WO2017048841A1 (en) 2017-03-23
TW202226791A (zh) 2022-07-01
KR102064919B1 (ko) 2020-01-10
JP2018527776A (ja) 2018-09-20
GB2555339B (en) 2021-05-05
HK1244370A1 (zh) 2018-08-03
KR20200003948A (ko) 2020-01-10
TWI761312B (zh) 2022-04-21
KR20180017172A (ko) 2018-02-20
US10855480B2 (en) 2020-12-01
GB201720965D0 (en) 2018-01-31
US20180198634A1 (en) 2018-07-12
JP2020099058A (ja) 2020-06-25
US20190149345A1 (en) 2019-05-16
JP6872647B2 (ja) 2021-05-19
CN107710700B (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
DE112016002952T5 (de) Systeme und Verfahren zum Verarbeiten von Paketen in einem Computernetz
DE69727447T2 (de) Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung
DE202016107377U1 (de) Systeme zur Auslagerung von Netzwerkfunktionen über Paket-Trunking
DE69608300T2 (de) Verfahren zur aufstellung von beschränkten rundsendgruppen in einem vermittlungsnetz
DE102015102871B4 (de) Technologien für verteilten Leitweglenkungstabellennachschlag
DE102013209118B4 (de) Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk
DE69434330T2 (de) Übertragungsvorrichtgung und verfahren
DE69123149T2 (de) Nachrichtweglenking-Apparat
DE69834122T2 (de) Verbindingsunterstützung in einer hochleistungsnetzwerkvorrichtung
DE10297269B4 (de) Kennzeichnung von Paketen mit einem Nachschlageschlüssel zur leichteren Verwendung eines gemeinsamen Paketweiterleitungs-Cache
DE69636126T2 (de) Verteilte verbindungsorientierte dienste für vermittelte fernmeldenetz
DE69328666T2 (de) Verfahren und Gerät um eine Anzahl Rechner als einen einzigen Host auf dem Netz erscheinen zu lassen
DE69802259T2 (de) Verfahren und vorrichtung zur einrichtung eines anzapfpunktes in einem schaltnetzwerk
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
DE60100927T2 (de) Verbesserter Internet Protocolpaketrouter
WO2007012559A1 (de) Netzknoteneinheit und verfahren zur weiterleitung von datenpaketen
DE112013002272T5 (de) ARP/ND-Cache vor Denial-Of-Service-Angriffen schützen
DE60133175T2 (de) Kommunikationsnetz
DE102018204861A1 (de) Einzelner Umsetzungstabelleneintrag für symmetrische Flüsse
DE60215416T2 (de) Zeigerbasierte binäre Suchmaschine und dafür geeignetes Verfahren
DE202014010912U1 (de) Konsistentes Hashing anhand genauer Übereinstimmung mit Anwendung für Hardware-Lastausgleich
DE60316158T2 (de) Filter zur verkehrstrennung
DE68921373T2 (de) Transparente Lastteilung für parallele Netzwerke.
DE112015000297B4 (de) Feststellen, ob ein Kurz- oder Langnachrichtenformat verwendet wird, um Zoneninformationen in einem Netzwerk zu übertragen
DE112018002716B4 (de) Virtuelles Kanalrouting

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R120 Application withdrawn or ip right abandoned