Warum müssen wir die Daten hacken / chunken, während wir sie über das Netzwerk übertragen?

476
Darshan L

Wenn die Anwendung im Netzwerk einen Datenstrom generieren kann, warum können dann die Daten nicht als Datenstrom über das Netzwerk übertragen werden? Warum wird es stattdessen vor dem Senden über das Netzwerk gehackt / chunked?

2

2 Antworten auf die Frage

3
davidgo

Ich denke nicht, dass segmentiert das richtige Wort für das ist, was Sie beschreiben - eher paketisiert ist eher geeignet.

Es gibt viele Gründe, Daten in Pakete aufzuteilen, darunter:

  • Wenn ein Fehler auftritt, muss nur ein kleiner Datenblock erneut gesendet werden.
  • Wenn mehrere Geräte eine Verbindung gemeinsam nutzen (was fast immer der Fall ist - insbesondere wenn kleine Netzwerke zu größeren Netzwerken zusammengefasst werden), können durch das Aufteilen von Daten in Pakete mehrere Verbindungen mehr oder weniger gleichzeitig arbeiten.
  • In ähnlicher Weise können mehrere Anwendungen eine einzige Verbindung gemeinsam nutzen.
  • In ähnlicher Weise - zum Beispiel im Fall von VOIP oder interaktivem Verkehr - ermöglicht die Verwendung von Paketen, dass zwei Personen gleichzeitig miteinander kommunizieren können (denken Sie an Vollduplex statt Halbduplex).
  • Wenn eine Zwischenverbindung ausfällt oder überlastet ist und mit einer anderen Verbindung gemeinsam genutzt wird, müssen die Daten getrennt werden, um diese Verbindungen zu nutzen.
  • Auf Hardwareebene sind in Chunks gesendete Daten einfacher und effizienter.

Die Segmentierung unterscheidet sich - Computer werden in Gruppen zusammengefasst, und Sie können den Zugriff / die Zugriffskontrolle zwischen verschiedenen Computergruppen konzentrieren und Flexibilität beim Routing bieten.

Gute Antwort - Ich würde mehr Wert darauf legen, einen Link "gemeinsam zu nutzen" - [paketvermittelt] (https://en.wikipedia.org/wiki/Packet_switching) vs [leitungsvermittelt] (https://en.wikipedia.org) / wiki / Circuit_switching). Wenn Sie die "_hardware level_" angerissen haben, sollten Sie außerdem die Pufferung / MTUs / erwähnen, wo sich die Daten befinden, sobald sie empfangen wurden / etc ... Attie vor 6 Jahren 0
Sie erwähnten - "Auf Hardwareebene sind in Chunks gesendete Daten einfacher und effizienter". Könnte dazu mehr Details liefern? Wie ist es effizienter, Daten als Chunks zu senden? Ich bin gerade neugierig geworden, das zu verstehen. Darshan L vor 6 Jahren 0
Ich bin kein Hardware-Experte, aber im allgemeinsten Sinne - das Rechnen kann als eine Möglichkeit angesehen werden, Berechnungen durchzuführen / Speicherblöcke zu verschieben. Dadurch, dass die CPU einen Block von -say - 1500 Bytes - auf die Netzwerkkarte pushen kann und die Übertragung in einem Vorgang entladen wird, muss sie 1500 Mal weniger Arbeit leisten, als wenn sie kontinuierlich 1 Byte gleichzeitig senden / streamen müsste , während Sie beobachten, ob es in Ordnung ist, den nächsten zu senden. Sobald Sie mehr als 1 Byte (eigentlich 1 Bit) senden, paketieren Sie Daten - es ist nur eine Frage, wie groß die Pakete sind. davidgo vor 6 Jahren 0
3
psusi

Vielleicht ist es am besten, die Paketvermittlung mit der Methode zu vergleichen, die sie ersetzt hat: Leitungsvermittlung. Die Schaltung wird von den Telefonen verwendet. Wenn Sie einen Anruf tätigen möchten, müssen Sie das Telefon abnehmen und einen Anruf tätigen, warten, bis der Anruf angenommen wird. Dann haben Sie bis zum Auflegen eine feste Verbindung zu dieser Person, über die Sie so viele oder wenige Daten senden können wie du willst. Sie können erst dann mit anderen Personen kommunizieren, wenn Sie auf dieser Strecke auflegen und eine neue einrichten, und wenn Sie nicht viel Daten senden, verschwenden Sie viel Kapazität der Leitung.

Mit der Paketvermittlung können Sie mit jedem und überall Daten austauschen, ohne sich mit dem Auf- und Abbau von Schaltkreisen zu beschäftigen. Keine verschwendete Kapazität zum Öffnen von Leitungen, die nicht genutzt werden, und Sie können mehrere Gespräche gleichzeitig führen.