netzwerkprotokoll auf basis einer tcp verbindung erstellen

Sengha

Mitglied
ich möchte ein eigenes netzwerkprotokoll auf basis einer tcp verbindung erstellen. ist die klasse java.net.Socket dafür das richtige?
 
Zuletzt bearbeitet von einem Moderator:

HoaX

Top Contributor
Ja, wobei ich das Protokoll versuchen würde nicht von TCP abhängig zu machen sondern nur von InputStream und OutputStream, dann kann man später leichter den Unterbau verändern/austauschen.
 

Empire Phoenix

Top Contributor
Jaein, wenn du genu weißst das TCP das richtige ist, kannst du das ganze minimal effizienter schreiben, wenn du nciht weißst wie der unterbau ist musst du sonst nämlich eine methode zur zuverläassigen datenübertraung einbauen, um vom unterbau unabhängig zu sein. Selbiges bietet dir aber tcp schon, womit du doppelt sichern würdest.
 

Sengha

Mitglied
Ja, wobei ich das Protokoll versuchen würde nicht von TCP abhängig zu machen sondern nur von InputStream und OutputStream, dann kann man später leichter den Unterbau verändern/austauschen.

und welche klasse könnte ich dann für eine verbindung nutzen, also auf basis des "Network-Layers" (IP-Protokoll) des OSI-Modells?
 

Empire Phoenix

Top Contributor
In java haste nur auf basis von UDP oder TCP möglich. (Ausser halt per native bibliotheken).
Aber wozu brauchst du ein eigenen Protokoll auf IP ebene?, klingt schwer noch konzeptfehler!

Am rande TCP/UDP halten sich nciht an das OSI modell, das osi modellist nur ein Konzept das nicht benutzt wird. TCP/UDP haben nur 4 ebenen, und die sind auch nicht so stark getrennt, weil die daten per pointer einfach durchgereicht werden, was streng nach dem model fehlerhaft ist, da müsste man alles von ebene zu ebene kopieren um eine trennung zu gewährleisten.
 
Zuletzt bearbeitet:

HoaX

Top Contributor
Am rande TCP/UDP halten sich nciht an das OSI modell, das osi modellist nur ein Konzept das nicht benutzt wird. TCP/UDP haben nur 4 ebenen, und die sind auch nicht so stark getrennt, weil die daten per pointer einfach durchgereicht werden, was streng nach dem model fehlerhaft ist, da müsste man alles von ebene zu ebene kopieren um eine trennung zu gewährleisten.
Quelle?

Ich halte das für ein Gerücht. Wieso sollte es nur 4 Schichten haben? Was ist mit z.B. DNS, welches auf TCP und UDP aufsetzt? Keine eigene Schicht? Und das Programm das die DNS-Abfrage sendet? ...

Und woher beziehst du die Information mit dem Pointer? Bei so vielen Stacks die es gibt sollte man sowas nicht pauschalisieren.
 

Empire Phoenix

Top Contributor
ich studiere den Mist? 2 te Semester Wirtschaftsinformatik, da hat man das dann schon gemacht.

TCP/IP versus OSI
ISO/OSI-7-Schichtenmodell
ect. sagt google.

Und das mittem Pointer is sehr simple, in jeder schicht werden zusätzliche header hinzugefügt, (wenn man mal vom end stück des ethernet layers absieht), er rest wird nur per pointer weitergereicht, weil es x mal schneller ist als jedes mal die daten zu kopieren.(natürlich tut das nciht ejde implementation , aber genug, die von windows zb)

DNS ist bereits ein Protokoll auf UDP basis, so wie zb bei CSS der Netzwerkcode. Die zusätzlichen layer sind über den netzwerkstack (sogar nach osi modell).
 
Zuletzt bearbeitet:

FArt

Top Contributor
Am rande TCP/UDP halten sich nciht an das OSI modell, das osi modellist nur ein Konzept das nicht benutzt wird
Das stimmt nicht. Wie du selber sagst, ist das ein Modell und kein Konzept. Es hält sich also niemand an dieses Konzept, sondern man kann Implementierungen auf dieses Modell abbilden.

Und dieses Modell kann auch auf TCP/IP angewendet werden, wenn auch dann eine "Schicht" der Implementierung nach eine oder mehrere Schichten des OSI Modells realisiert.
 

HoaX

Top Contributor
Der Furz hats gut zusammengefasst worauf ich hinaus wollte.

Halte ich jetzt nicht für eine vertrauenswürdige Quelle, jeder kann irgendwelchen Käse ins Internet stellen, wie in diesem Fall.
Schon ehr glaubwürdig, aber schießt du dir bei dem Link nicht in den eigenen Fuß? Unten wird TCP als Schicht 4 aufgeführt ...
Und das mittem Pointer is sehr simple, in jeder schicht werden zusätzliche header hinzugefügt, (wenn man mal vom end stück des ethernet layers absieht), er rest wird nur per pointer weitergereicht, weil es x mal schneller ist als jedes mal die daten zu kopieren.(natürlich tut das nciht ejde implementation , aber genug, die von windows zb)
a) Die MTU liegt meist bei ~1500Byte, die zu kopieren ist ein Klacks!
b) Du sagt korrekt, dass die Schichten eigene Header hinzufügen. Aber eben _Header_!. Das nutzende Programm weiß nicht wieviel Header kommen und schreibt seine Daten an die erste freie Stelle des reservierten Speichers. Und genauso geht es durch die nächsten Schichten. Dein IP-Stack nimmt sicherlich auch nur _einen_ Pointer entgegen für die Nutzdaten, und der muss die Daten in der richtigen Reihenfolge enthalten. Sonst müsste ja das "dümmere" IP ja alle Eigenarten von TCP/UDP/... kennen und alle Header die es gibt die man über einen Pointer übergeben könnte. Ebenfalls wäre es schlechtes Design. Daher widerspreche ich weiterhin deiner Behauptung mit den Pointern und zweifle das auch bei Windows an. Ich hoffe ich habe am WE Zeit das mal zumindest im Linuxkernel zu prüfen.

ich studiere den Mist? 2 te Semester Wirtschaftsinformatik, da hat man das dann schon gemacht.
... Mit Betonung auf Wirtschaft! ;)
 
Zuletzt bearbeitet:

Empire Phoenix

Top Contributor
blub lbub habe nie was andere gesagt, ging mir doch nru um die frage bzgl welches layer des osi models die ip eben is, weil es so wirkte das als ob der fragende das ganze 1zu1 übertragen wollte, und wollte halt nur darauf hinweisen dass für die praxis so relativ 100% irrelevant ist, weil man nunmal keine echte alternativ derzeit hat zu dem tcp/Udp Ip model.

Fact ist halt Tcp/Ip gabs vor dem OSI model, und die höheren eben werden nicht kopiert sondern nur durchgereicht, weil es schlichtweg schneller ist von mr aus per pointer,referenzen keksen würßten is egal geht nur darum das tcp nicht sauber zwischen layern trennt, während nach OSI nur eine kopie weitergereicht werden dürfte.

Btw der tcp stack hat halt nur 4 schichten, darauf kann man zwar die 7 schichten von osi pressen aber das wars auch.
------
Wozu antworte ich überhaupt, tendenziell wird jetzt eh was zu meiner rechtschreibung gesagt als irgetwas was dem Threadstarter hilft.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y UDP Chatprogramm auf Client/Server Basis Netzwerkprogrammierung 5
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
N Link aus einer E-Mail aufrufen Netzwerkprogrammierung 2
N Name eines Attributes aus einem festen String und einer Variablen generieren Netzwerkprogrammierung 5
O HTTP Einloggen auf einer Homepage Netzwerkprogrammierung 8
H Daten auf einer Webseite eintragen Netzwerkprogrammierung 11
Z Debug-Info einer JavaSE Applikation auf Webserver Netzwerkprogrammierung 0
S HTTP Würdet Ihr Euch bei einer intern genutzten Anwendung auf Cookies verlassen? Netzwerkprogrammierung 2
J Hilfe beim programmiern einer App zur Anmeldung im Wlan-Netzwerk Netzwerkprogrammierung 0
C Inhalt einer .JPG Datei in einen OutputStream schreiben? Netzwerkprogrammierung 10
D Überwachen einer SMB-Freigabe bei Änderungen im Dateisystem Netzwerkprogrammierung 0
L FTP Lesen einer Datei vom Server - Aufgehangen Netzwerkprogrammierung 0
M jsf-seite beim hinzufügen einer csv-datei in einen ordner aktualiseren Netzwerkprogrammierung 0
L Ratschlag zur Umsetzung einer client-server-Kommunikation Netzwerkprogrammierung 6
O HTTP Zugriff und Aktionen auf einer Webseite ausführen Netzwerkprogrammierung 9
S Automatischer Login auf einer Webseite Netzwerkprogrammierung 12
D JavaMail: HTML Code einer Mail Netzwerkprogrammierung 9
H Daten an Textfeld einer Webseite schicken Netzwerkprogrammierung 2
D Aus einer URL die Dateien lesen Netzwerkprogrammierung 5
Dit_ RMI RMI-Server und gleichzeitiger Aufruf einer Methode Netzwerkprogrammierung 14
T Ladezeit einer Seite mit HttpURLConnection und Bildern Netzwerkprogrammierung 2
M bild von einer url erzeugen Netzwerkprogrammierung 7
V Quelltaxt einer Website auslesen funktioniert nicht Netzwerkprogrammierung 2
V Angezeigten Text einer Website erfragen Netzwerkprogrammierung 4
P HttpClient - Daten einer Website "unvollständig" Netzwerkprogrammierung 5
A HTTP Download einer Datei mit "Statistiken" Netzwerkprogrammierung 2
S Port auf einer bestimmten IP-Adresse auslesen? Netzwerkprogrammierung 6
G Kryptische Zeichen beim Auslesen einer Website Netzwerkprogrammierung 11
Ollek Download einer Datei durch SFTP mit Java Netzwerkprogrammierung 12
B Frage zu einer Lösung (RMI) Netzwerkprogrammierung 2
H HTTP Einloggen auf einer HTML (php) Seite Netzwerkprogrammierung 6
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
L Größe einer Datei auslesen die im Netz liegt Netzwerkprogrammierung 4
DeviAn Über ein Linux Server ein Windows Server nach einer File fragen Netzwerkprogrammierung 6
F Entwicklung einer Software zur Steuerung und Überwachung von Netzwerkgeräten Netzwerkprogrammierung 4
R Versenden einer MIME-Datei per E-Mail [solved] Netzwerkprogrammierung 5
C Problem mit Übertragung einer Klasse in RMI Netzwerkprogrammierung 10
Pithecanthropus Konzeptionelle Ausarbeitung einer synchronen Kommunkation (Server/Client)) Netzwerkprogrammierung 6
A attachment einer Mail speichern Netzwerkprogrammierung 5
C Dateigröße einer Datei im Internet ermitteln Netzwerkprogrammierung 2
J programm zum autom. ausdruck einer webseite Netzwerkprogrammierung 2
E Parameter einer URLConnection Netzwerkprogrammierung 12
G Unvollständiges Laden einer Seite Netzwerkprogrammierung 2
M Rechner einer Domäne auslesen? Netzwerkprogrammierung 3
KNeuhaus (Windows) Authentication VON einer Java-App aus. Netzwerkprogrammierung 2
Rontu Problem beim Übertragen einer Datei Netzwerkprogrammierung 9
D Content einer email in sql-datenbank speichern Netzwerkprogrammierung 9
M RMI direkte Verbindung mit einer Mysql datenbank Netzwerkprogrammierung 13
T Quelltext einer Website auslesen Netzwerkprogrammierung 3
ven000m Frage aus einer mündl. Prüfung - wer kennt die Antwort? Netzwerkprogrammierung 6
J Funktion zum Maskieren der Sonderzeichen einer URL Netzwerkprogrammierung 2
J Zeilenweises auslesen aus einer Datei über Server Netzwerkprogrammierung 6
C RMI: Problem beim Aufruf einer Methode. Falsch gecastet? Netzwerkprogrammierung 8
D Problem beim holen einer PHP-Seite via HttpClient Netzwerkprogrammierung 19
C IP adresse anhand einer domain adresse auslesen / ermitteln Netzwerkprogrammierung 3
V Einen Eintrag aus einer Zip Datei von einem Server laden Netzwerkprogrammierung 2
N Dateigröße einer Datei auf einem HTTP-/Web-Server. Netzwerkprogrammierung 9
V Zuweisen einer InetAddress mit einem byte Netzwerkprogrammierung 5
D Anmelden an einer Windows-Domäne Netzwerkprogrammierung 2
M Suche Klasse um Paramater zu einer URL hinzuzufügen. Netzwerkprogrammierung 3
B Url-Link aus einer E-Mail aufrufen Netzwerkprogrammierung 2
M Quellcode einer HTML Seite erhalten Netzwerkprogrammierung 2
A Abbruch einer Verbindung erkennen? Netzwerkprogrammierung 3
G Performance einer verteilten RMI-Anwendung Netzwerkprogrammierung 4
B Laden einer *.csv Datei von einem Webserver (http-request) Netzwerkprogrammierung 8
clemson Größe einer Heruntergeladenen Datei Netzwerkprogrammierung 10
O Problem bei Überprüfung und Spliten von einer IP! Netzwerkprogrammierung 2
R Änderung einer Seite (Klasse URL) Netzwerkprogrammierung 2
I IP Adresse des Clients einer Socket Verbindung Netzwerkprogrammierung 2
G Redirects einer HttpURLConnection ermitteln Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben