mikrocontroller.net

Forum: PC Hard- und Software Wieso ist TCP full-duplex?


Autor: Thomas Finke (thomas-hn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich setze mich momentan mit TCP (Transmission Control Protocol) 
auseinander. Nun steht in den RFCs (793 und 1323), dass TCP full-duplex 
ist.
Das will ich jedoch so nicht glauben, denn zum Beispiel im Ethernet kann 
zu jedem Zeitpunkt doch immer nur ein Paket übertragen werden. Somit 
kann auch TCP nicht gleichzeitig senden und empfangen, oder?!?!

Kann mir da bitte jemand auf die Sprünge helfen?

Danke,

Thomas

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat Ethernet (mit Twisted Pair Kabeln) nicht vier Leitungen? Ein Paar 
für TX, das andere für RX? Dann ist es doch kein Problem.

Autor: Andre F (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TCP hat erstmal nichts mit Ethernet zu tun.
Möglich wäre z.B. auch eine übertragung per Avian Carrier (gibt's sogar 
ne RFC zu) Siehe: http://de.wikipedia.org/wiki/IPoAC. Also völlig ohne 
Ethernet.

Autor: Thomas Finke (thomas-hn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ob wir da nun Ethernet oder sonstwas als darunterliegende Schicht 
haben. Die Frage ob TCP full-duplex ist wäre aber immer noch zu klären.

Überigens: Ich glaube auch nicht, dass "Avian Carrier" full-duplex 
arbeiten kann ;-)

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Die Frage ob TCP full-duplex ist wäre aber immer noch zu klären.

Es ist. Aus Sicht des Programmierers. Was die Netzwerktransportschicht 
daraus macht, steht auf einem anderen Blatt.

Im Übrigen ist Ethernet schon seit geraumer Zeit full duplex. Nämlich 
seit man Ethernet-Switches statt Hubs verwendet. Nur im 
Microcontroller-Sektor hält sich half duplex standhaft, weil sich die 
Leute alle zu fein sind, das entsprechende Protokoll zwischen Adapter 
und Switch zu implementieren und ein nicht konfigurierbarer Switch daher 
auf half duplex entscheidet.

Autor: noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast wie schon oben gesagt 2 Adernpaare, die gleichzeitig senden und 
empfangen können und zwei Buffer: TX, RX.

Ethernet ist im Gegensatz zu ATM asynchron, so können Datenpakete über 
verschiedene Routen (in der praxis wohl kaum gegeben) ankommen und somit 
mit verschiedenen Laufzeiten, jedoch wie schon oben gesagt in beide 
Richtungen gleichzeitig.

4 Leitungen machen aber eine fullduplex Verbindung aus.
Wie z.B: rs482 mit 2 Adern -> half duplex
         rs422 mit 4 Adern -> full duplex

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noname wrote:
> Ethernet ist im Gegensatz zu ATM asynchron, so können Datenpakete über
> verschiedene Routen (in der praxis wohl kaum gegeben) ankommen

Ethernet macht kein Routing, das passiert erst auf Layer 3 (IP).

Ob die Reihenfolge der Pakete verändert werden kann, hängt vom 
Routingverfahren ab (Virtueller Kanal (ATM) vs. Paketvermittlung (IP)).

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ethernet macht kein Routing, das passiert erst auf Layer 3 (IP).

Na doch, wie sollen sonst Switche funktionieren?

Markus

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Ethernet-Switch ist eine Bridge, kein Router. Siehe z.B.: 
http://www.erg.abdn.ac.uk/users/gorry/course/lan-p...

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein Ethernet-Switch ist eine Bridge, kein Router.

Wenn man den Begriff "Routing" exklusiv für Layer-3 Geräte verwenden 
möchte, dann hast Du natürlich recht. Wenn man unter "Routing" aber ganz 
allgemein  die Wegfindung von Paketen versteht, dann trifft das sehr 
wohl auch auf Switches zu.

Wie sollte die Wegfindung auf Layer2 auch sonst heißen? Das Paket wurde 
über 5 Geräte hinweg zum Ziel geswitched?

Markus

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus wrote:
>> Ein Ethernet-Switch ist eine Bridge, kein Router.
>
> Wenn man den Begriff "Routing" exklusiv für Layer-3 Geräte verwenden
> möchte, dann hast Du natürlich recht.

So ist das nun mal definiert.

> Wenn man unter "Routing" aber ganz
> allgemein  die Wegfindung von Paketen versteht, dann trifft das sehr
> wohl auch auf Switches zu.

Eine Bridge hat keine Ahnung von der Netztopologie und kennt keine 
Routen, sie weiss einfach nur: Geraet A ist an Port 1, Geraet B ist an 
Port 2, also muss ich ein Paket das an Geraet B adressiert ist an Port 2 
ausgeben.

> Wie sollte die Wegfindung auf Layer2 auch sonst heißen? Das Paket wurde
> über 5 Geräte hinweg zum Ziel geswitched?

Wie waer's mit "weitergeleitet"?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Eine Bridge hat keine Ahnung von der Netztopologie

Doch, tut sie (Spanning Tree Protokoll), aber das wird nur dazu benutzt, 
Schleifen zu erkennen und die entsprechenden Ports abzuschalten, nicht 
um den Durchsatz zu erhöhen.

Ich kann hier auch den Unterschied zwischen einem kleinen Router ohne 
Routingprotokolle und einem Switch nicht so wirklich sehen. Der Router 
weiß halt, alles an Gruppe (Netz) A muss an Port A und alles an Gruppe B 
muss an Port B, während der Switch eben nicht mit Gruppen, sondern mit 
einzelnen Geräten arbeitet.

Um aber zur Ausgangsfrage zurückzukommen: Es gibt beim Ethernet 
normalerweise keine alternativen Wege, deswegen sollten sich Pakete auch 
nicht überholen können. Es gibt aber Switche, die Kanalbündelung 
beherrschen. Ich weiß nicht, ob die die Pakete zwingend in 
Originalreihenfolge auf der Gegenseite ankommen müssen.

Markus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.