Autor |
Beitrag |
>M@steR<
Beiträge: 288
Erhaltene Danke: 3
|
Verfasst: Mo 16.09.13 03:30
Moderiert von Narses: Abgetrennt von [url=www.entwickler-ecke....m_7.html]hier[/url].
Hallo,
Narses hat folgendes geschrieben : | Vielleicht mal vorher lesen, bevor man das in so eine Vergleichskette wie da oben rein setzt... |
Mr_Emre_D hat folgendes geschrieben : | Gefährliches Halbwissen gehört ausgerottet! |
Es tut mir wirklich sehr leid, aber mehr als lesen kann ich nicht tun. Ich habe nach etwas googleln auch gefunden was ich vor ein paar Jahren, als ich auch auf der Suche nach dem „richtigen“ Protokoll war, in einem anderen Forum gelesen habe: forum.delphi-treff.d...postID=8068#post8068 (Post11) Die Leute dort scheinen leider nicht ganz so kompetent zu sein wie hier.
Aber man lernt ja nie aus. Daher wüsste ich auch gerne ob ich nun mit meiner Vermutung:
>M@steR< hat folgendes geschrieben : | Dass das HTTP Protokoll auf dem TCP Protokoll aufbaut ist mir durchaus bewusst. Genau daher nehme ich meine Vermutung das HTTP langsamer ist als TCP (ich habe es nie gemessen), da die Bytes die für das HTTP Protokoll benötigt werden mit über die TCP Verbindung geschickt werden müssen. Klar macht das bei DSL 150Mibs nicht viel aus. Genau aus diesem Grund habe ich ja oben geschrieben dass es scheinbar kein Problem zu sein scheint. Bei einer Modem Verbindung müsste das nach ein paar Hunderttausend Paketen jedoch auffallen, oder? |
Dass das HTTP Protokoll langsamer ist als das TCP Protokoll richtig liege, oder ob ich auch dort auf dem Holzweg bin? (Um mein gefährliches Halbwissen zu minimieren)
Allerdings bin ich mir nicht sicher ob ich dafür einen neuen Thread aufmachen soll, da ich das Gefühl habe, durch dieses heikle Thema Frolos Thread gekapert zu haben.
|
|
Narses
Beiträge: 10182
Erhaltene Danke: 1255
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 16.09.13 10:09
Moin!
>M@steR< hat folgendes geschrieben : | Dass das HTTP Protokoll langsamer ist als das TCP Protokoll richtig liege, oder ob ich auch dort auf dem Holzweg bin? |
Hier scheint dein Haupt-Verständnisproblem zu liegen: Das HTTP-Protokoll nutzt das TCP-Protokoll als Transportschicht. Wir sind hier in unterschiedlichen OSI-Schichten!
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Martok
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mo 16.09.13 10:44
Und Punkt Nummer 2 wenn man im Netzwerk ist: definiere
>M@steR< hat folgendes geschrieben : | Dass das HTTP Protokoll langsamer ist als das TCP Protokoll richtig liege, oder ob ich auch dort auf dem Holzweg bin? |
Du hast 3 Größen zur Auswahl: Datenrate, Latenz und (sobald du ein Protokoll definiert hast) Gesamtdauer einer Anfrage. Die ersten Beiden werden stark von der Physik des Kabels bestimmt, die letzte beinhaltet dann auch die Verarbeitung der Daten.
Die Datenrate nimmt man normalerweise nur in eine Richtung (also nicht im Duplexbetrieb). Die ist begrenzt durch die TCP-Window-Size, die Länge des Kabels und der theoretischen Bandbreite. Siehe Abschnitt über LFNs hier. Für die Latenz ("Ping") spielt die Window-Größe keine Rolle mehr, nur die Länge des Kabels, Anzahl der Router dazwischen und in geringerem Maße als man denken würde auch die Bandbreite (nämlich als minimale Länge eines Ethernetframes). Minimal ist die Latenz eben so groß wie es dauert, ein Ethernet-Frame von A nach B zu übertragen.
Das ist das, wo du z.B. TCP mit UDP oder tiefer im OSI-Modell iodine mit RFC1149 vergleichen kannst. Du kannst aber nach diesen Kriterien nicht sinnvoll sagen, ob IRC schneller wäre als HTTP - es ist beides TCP-basiert und damit dem Kabel egal.
Und wo man dann HTTP reinbringen kann, ist die Gesamtzeit für eine Anfrage. Man sieht ohne viel Nachdenken, dass ein SOAP-Request über HTTP immer länger in der Verarbeitung brauchen wird als z.B. ein tokenbasiertes binäres Protokoll, da der Overhead einfach größer ist. Da hat aber das Netzwerk nichts mit zu tun, denn die Daten sind ja schon da.
Über die Sache mit dem TCP vs UDP lass ich mich hier mal nicht weiter aus, da Narses das Thema so schön festgelegt hat, das wäre ggf. etwas für eine andere Themenabtrennung
EDIT: hab jetzt das oben verlinkte im DT gelesen. Man beachte das Jahr. Damals stimmte das noch teilweise (auch schon nicht mehr überall); mittlerweile kaum noch.
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Für diesen Beitrag haben gedankt: >M@steR<
|
|
Mr_Emre_D
Beiträge: 114
Erhaltene Danke: 14
|
Verfasst: Mo 16.09.13 17:27
Firefox ist schneller als Windows!
Für diesen Beitrag haben gedankt: FinnO
|
|
>M@steR<
Beiträge: 288
Erhaltene Danke: 3
|
Verfasst: Di 17.09.13 05:05
Narses hat folgendes geschrieben : | Vielleicht mal vorher lesen, ... |
>M@steR< hat folgendes geschrieben : | Dass das HTTP Protokoll auf dem TCP Protokoll aufbaut ist mir durchaus bewusst. |
Narses hat folgendes geschrieben : | Hier scheint dein Haupt-Verständnisproblem zu liegen: Das HTTP-Protokoll nutzt das TCP-Protokoll als Transportschicht. Wir sind hier in unterschiedlichen OSI-Schichten! |
Ich sage dazu jetzt einfach mal nichts.
Martok hat folgendes geschrieben : | Man sieht ohne viel Nachdenken, dass ein SOAP-Request über HTTP immer länger in der Verarbeitung brauchen wird als z.B. ein tokenbasiertes binäres Protokoll, da der Overhead einfach größer ist. |
Genau darauf wollt ich hinaus. Denn wenn ich zwei Protokolle miteinander vergleichen möchte, gehe ich einfach mal davon aus das ich dazu dieselbe Leitung verwende.
Mr_Emre_D hat folgendes geschrieben : | Firefox ist schneller als Windows! |
Was ich jedoch nicht verstehe, ist, warum ihr wegen meinem Fehler bezüglich UDP und TCP so ausrastet und euch über mich lustig macht (unter anderem in der Shoutbox [nein, ich bin nicht zu naiv um die Shoutbox zu lesen!])?
Ich habe nun mal kein IT studiert und bin einfach noch nicht so gut wie ihr. Aber ich lerne aus meinen Fehlern!
Und,
Ja, ich kenne das OSI-Modell.
Ja, ich kenne die RFC`s.
Nein, ich habe sie nicht gelesen.
Da ich es mehr als fragwürdig finde dass in einem Forum in dem eigentlich Wissen getauscht (vermittelt) werden sollte sich über Unwissenheit lustig gemacht wird, werde ich das Forum verlassen. (schade eigentlich) Ich bedanke mich bei allen die mir geholfen haben Delphi zu erlernen!
Ich wünsche euch dass ihr mal ein bisschen von eurem hohen Ross herunter kommt und die Nutzerzahlen im DF wieder steigen.
Account kann gelöscht werden.
Man sieht sich bei StackOverflow
|
|
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 17.09.13 07:35
|
|
Martok
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Di 17.09.13 11:53
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 17.09.13 13:42
|
|
Narses
Beiträge: 10182
Erhaltene Danke: 1255
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 17.09.13 14:37
Moin!
>M@steR< hat folgendes geschrieben : | Was ich jedoch nicht verstehe, ist, warum ihr wegen meinem Fehler bezüglich UDP und TCP so ausrastet und euch über mich lustig macht (unter anderem in der Shoutbox [nein, ich bin nicht zu naiv um die Shoutbox zu lesen!])?
[...]
Da ich es mehr als fragwürdig finde dass in einem Forum in dem eigentlich Wissen getauscht (vermittelt) werden sollte sich über Unwissenheit lustig gemacht wird, werde ich das Forum verlassen. (schade eigentlich) Ich bedanke mich bei allen die mir geholfen haben Delphi zu erlernen!
Ich wünsche euch dass ihr mal ein bisschen von eurem hohen Ross herunter kommt und die Nutzerzahlen im DF wieder steigen.
Account kann gelöscht werden.
Man sieht sich bei StackOverflow |
Du hast schon recht, wenn du den Ton in Bezug auf deine Äußerungen als unnötig ätzend empfindest, insofern möchte ich die Gelegenheit nutzen, hier nochmal an unsere Forenregeln zu erinnern (incl. mir ).
@all: das geht auch freundlicher!
Es steht dir selbstverständlich frei dich in einem Forum bzw. Community deiner Wahl zu engagieren. Wenn du allerdings glaubst, dass dich woanders wesentlich andere Reaktionen erwarten, wenn du Erklärungen lieferst, die ... sagen wir mal ... "Optimierungspotenzial" aufweisen, dann schomal viel Glück für die Zukunft.
Verbuche es unter "dumm gelaufen, wieder was gelernt" und gut.
cu
Narses
PS: Wenn du deinen Account tatsächlich löschen lassen möchtest (was ich schade fände), dann wende dich bitte nochmal per VA an das Team.
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
mandras
Beiträge: 430
Erhaltene Danke: 107
Win 10
Delphi 6 Prof, Delphi 10.4 Prof
|
Verfasst: Di 17.09.13 22:26
Es täte mir leid wenn wegen derartiger Reibereien hier ein Mitglied seinen Account löschen ließe.
|
|
IhopeonlyReader
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Di 17.09.13 22:41
Falls du es nicht verstanden hast, hier mal ein "alltägliches" Beispiel:
TCP sei die Post.
Wenn du etwas per TCP sendest, bekommst du Zettel, steckst sie in einen Brief, und steckst ihn in den Briefkasten, er wird zugestellt und kommt sicher an.
achja, die Post arbeitet mit Adressen und Hausnummern
Bei HTTP schreibst du die Zettel, und gibst sie dann erst an die Post weiter.
Dass HTTP dadurch langsamer ist ist klar, oder?
P.S:
Zettel = Daten (z.B. Stream)
Brief = Datenpaket ( engl. packet)
Adressen = IP
Hausnummer = Port
hoffe das ist nicht zu allgemein
Um das ganze richtig allgemein zu machen:
UDP wäre dann ein privater Zusteller, der alle Briefe in sein Auto packt. Ob er sich merken kann wo sie hingehören oder welcher zuerst kommt, ist nicht garantiert.
Eventuell kommt er ja nie an oder teilt die Briefe in einer falschen Reihenfolge aus :O
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Gausi
Beiträge: 8538
Erhaltene Danke: 475
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mi 18.09.13 11:46
Ich glaube, dein Vergleich hinkt ganz gewaltig. Den Unterschied zwischen TCP und UDP würde ich eher so beschreiben:
UDP: Du schickst einen Brief ab und hoffst, dass er ankommt. Danach schickst du weitere Briefe.
TCP: Du schickst einen Brief per Einschreiben mit Rückschein ab. Wenn kein Rückschein kommt, schickst du den Brief nochmal.
Wenn das darüberliegende Protokoll darauf angewiesen ist, dass alle Briefe sicher ankommen, aber zwischendurch Briefe (oder Rückscheine) verloren gehen, dann verlängert das natürlich die Kommunikation. Daher wohl auch die Aussage, das UDP schneller ist. Was ich auch generell nicht falsch finde. Allerdings hat diese Schnelligkeit auch den Nachteil, dass nicht alles ankommt. Zumindest ist das der Punkt, den ich bei "UDP=schnell, TCP=langsam" im Kopf habe. Oder bin ich da jetzt auch auf dem falshen Dampfer?
HTTP und andere Protokolle auf der Ebene würde ich auch nicht mit dem Abgeben des Briefes bei der Post vergleichen. Das entspricht imho eher dem, was in dem Brief (dem TCP-Datenpaket) drinsteht. Also ob das nun eine Rechnung, Geburtstagseinladung oder Werbung ist.
_________________ We are, we were and will not be.
|
|
Narses
Beiträge: 10182
Erhaltene Danke: 1255
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 18.09.13 13:08
Moin!
Gausi hat folgendes geschrieben : | UDP: Du schickst einen Brief ab und hoffst, dass er ankommt. Danach schickst du weitere Briefe.
TCP: Du schickst einen Brief per Einschreiben mit Rückschein ab. Wenn kein Rückschein kommt, schickst du den Brief nochmal. |
Das trifft es sogar sehr gut als Analogie!
Gausi hat folgendes geschrieben : | Wenn das darüberliegende Protokoll darauf angewiesen ist, dass alle Briefe sicher ankommen, aber zwischendurch Briefe (oder Rückscheine) verloren gehen, dann verlängert das natürlich die Kommunikation. Daher wohl auch die Aussage, das UDP schneller ist. Was ich auch generell nicht falsch finde. Allerdings hat diese Schnelligkeit auch den Nachteil, dass nicht alles ankommt. Zumindest ist das der Punkt, den ich bei "UDP=schnell, TCP=langsam" im Kopf habe. Oder bin ich da jetzt auch auf dem falshen Dampfer? |
Das kommt ganz darauf an, was du als Maß für "Geschwindigkeit" ansiehst. Um mal in deiner (wirklich guten! ) Analogie mit der Post zu bleiben: Die Briefe kommen gleich schnell an, wenn du sie gleichzeitig abschickst (benutzen ja das gleiche Medium). Fazit: TCP ist nicht "langsamer" als UDP. qed.
Wenn du den Transfer allerdings erst dann als abgeschlossen betrachtest, wenn der Rückschein da ist, dann hinkt die Analogie etwas, weil TCP ja mit einem sliding-window-Ansatz versucht, genau diese Rückmeldungen nicht als Bremse wirken zu lassen (was zwar wieder andere Probleme bereitet [das gefürchtete TCP-Sägezahn-Profil], aber das ist ein anderes Thema).
Gesamtfazit: TCP wirkt häufig gefühlt langsamer, weil man das Protokoll-Timing sogar als Mensch meistens "wahrnehmen" kann, wenn man in eine Timeout-Situation läuft. Da es bei UDP keine Timeouts gibt (aber eben auch keine Rückmeldung), verleitet das schnell zu der Schlussfolgerung, dass UDP "schneller" als TCP ist. Auf die Transferrate bezogen ist das aber sicher falsch (siehe Transportdauer Brief oben).
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
|