Technologieaustausch

Netzwerkprogrammierung!

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Netzwerkprogrammierung

【1】Netzwerkentwicklungsarchitektur

(1) C/S-Architektur
C: Kunde (Kunde)

S: Server (Server)

APP – ist der Server

Die C/S-Architektur realisiert die Trennung der Front-End-Schnittstelle und der Back-End-Geschäftslogik durch die Interaktion zwischen der Client-Software und dem Server und bietet so ein stabiles und zuverlässiges Architekturmodell.

(2) B/S-Architektur
B: Browser (Webseite)

S: Server (Server)

Öffnen Sie QQ Music ----> Stellen Sie eine Anfrage an QQ Music

Rendern Sie Ressourcen im lokalen Browser

Die B/S-Architektur realisiert die Trennung der Front-End-Schnittstelle und der Back-End-Geschäftslogik durch die Interaktion zwischen Browser und Server und bietet so ein flexibles und skalierbares Architekturmodell.


(3) Vor- und Nachteile der B/S-Architektur und der C/S-Organisation


B/S-Architektur
Die Wartungs- und Upgrade-Methoden sind einfach: Ich muss nur die Ressourcen des Servers aktualisieren.

Auch die Kosten sind relativ gering und es gibt viele Möglichkeiten

Es sind zu viele Servicedaten vorhanden und die Auslastung ist hoch

C/S-Architektur
Der Druck auf den Server wurde verringert und dem Client werden einige Ressourcen zur Speicherung zugewiesen.

Die Speicherung und Verwaltung von Daten ist relativ transparent und die APP ist rückentwickelt

Hohe Kosten und aufwendige Wartung

C/S-Architektur ist der Mainstream-Trend


【2】Internetprotokoll


(1) Was ist Netzwerkprogrammierung?


Die Forschungsprämisse der Netzwerkprogrammierung basiert auf dem Internet

Bei der Netzwerkprogrammierung handelt es sich um das Schreiben von Code, der auf dem Internet basiert

(2) Das Medium der Netzwerkprogrammierung


Das Medium der Netzwerkprogrammierung ist das Computernetzwerk.

Netzwerkprotokolle sowie Netzwerkprogrammierungs-Frameworks und -Bibliotheken bilden die Grundlage für die Realisierung der Netzwerkprogrammierung.

【3】 Siebenschichtiges OSI-Protokoll


Standards für Netzwerkkommunikationsprotokolle
Anwendungsschicht: Verantwortlich für die Handhabung spezifischer Anwendungsprotokolle, einschließlich E-Mail, Dateiübertragung und Remote-Anmeldung.

Präsentationsschicht: Verantwortlich für die Darstellung und Kodierung von Daten sowie die Konvertierung und Komprimierung von Daten vor der Übertragung in verschiedene Systeme.

Sitzungsschicht: Verantwortlich für das Einrichten, Verwalten und Beenden von Sitzungen, einschließlich Funktionen wie der Synchronisierung des Datenaustauschs sowie der Erstellung und Wiederherstellung von Prüfpunkten.

Transportschicht: Verantwortlich für die End-to-End-Datenübertragung und die Bereitstellung zuverlässiger Datenübertragungsdienste, einschließlich Flusskontrolle, Überlastungskontrolle, Fehlerbehebung und erneute Datenübertragung.

Netzwerkschicht: Verantwortlich für die Weiterleitung von Datenpaketen und die Routerauswahl zwischen verschiedenen Computern sowie für die Bereitstellung von Funktionen wie logischer Adressierung und Überlastungskontrolle.

Datenverbindungsschicht: Überträgt Daten über Frames und ist für die zuverlässige Datenübertragung verantwortlich.

Physikalische Schicht: Verantwortlich für die Übertragung von Bitströmen auf physischen Medien, einschließlich Übertragungsmedien, physischen Schnittstellen und elektrischen Eigenschaften

Vorteil:
Leicht zu verstehen und umzusetzen: Da das OSI-Modell eine klare Schichtenstruktur aufweist, ist es leicht zu verstehen und umzusetzen

Gute Skalierbarkeit: Da diese Architektur verschiedene Schichten und Protokolle klar definiert, ist sie sehr skalierbar und neue Protokolle und Dienste können jederzeit hinzugefügt werden.

Verbesserte Protokollinteroperabilität: Da das OSI-Modell klare Leitlinien für verschiedene Protokolle bietet, kann es die Interoperabilität zwischen Geräten verschiedener Hersteller und Lieferanten fördern.

Reduzierte Komplexität: Das OSI-Modell weist im Vergleich zu anderen Architekturen eine geringere Komplexität auf, da die Funktionalität jeder Schicht festgelegt ist.

Mangel:


Zu theoretisch: Das OSI-Modell ist zu theoretisch, was seinen Einsatz in praktischen Implementierungen einschränkt.

Mangelnde Flexibilität: Da das OSI-Modell auf jeder Ebene spezifische Funktionen definiert, mangelt es ihm an Flexibilität und kann sich nicht vollständig an die Anforderungen verschiedener Netzwerkumgebungen anpassen.

Zu umständlich: Da das OSI-Modell in 7 Schichten unterteilt ist, führt dies in der Praxis zu einer erhöhten Protokollkomplexität und einem erhöhten Ressourcenverbrauch.

Hohe Implementierungskosten: Da das OSI-Modell die Verwendung einer großen Anzahl von Protokollen und Geräten erfordert, um die Kommunikation zwischen verschiedenen Schichten zu erreichen, sind die Implementierungskosten hoch.

【4】 Fünfschichtiges TCP-Protokoll


Anwendungsschicht: Verantwortlich für die Abwicklung der Kommunikation zwischen Netzwerkanwendungen.

Transportschicht: Das Transportschichtprotokoll stellt ein End-to-End-Protokoll bereit, um eine zuverlässige Übertragung von Daten im Netzwerk sicherzustellen.

Netzwerkschicht: kümmert sich um die Übertragung und Weiterleitung von Daten im Netzwerk.

Datenverbindungsschicht: Bietet zuverlässige Datenübertragung im physischen Netzwerk. Es kapselt Datenpakete in Frames und überträgt sie über physische Medien.

Physikalische Schicht: Verantwortlich für die Übertragung von Bitströmen auf physischen Medien, einschließlich Übertragungsmedien, physischen Schnittstellen und elektrischen Eigenschaften

Vorteil:
Einfach und klar: Das fünfschichtige TCP/IP-Protokoll ist einfach und klar, leicht zu verstehen und zu implementieren.

Starke Offenheit: Das TCP/IP-Protokoll ist ein offener Standard mit guter Kompatibilität und Skalierbarkeit.

Stabil und zuverlässig: Das TCP-Protokoll bietet zuverlässige Datenübertragungsdienste, um die Datenintegrität und -zuverlässigkeit sicherzustellen.

Hohe Flexibilität: Das TCP/IP-Protokoll unterstützt eine Vielzahl unterschiedlicher Anwendungen wie E-Mail, Dateiübertragung, Webbrowsing usw.

Hohe Sicherheit: Das TCP/IP-Protokoll bietet einige Sicherheitsmechanismen wie IPSec, SSL usw., um Datensicherheit und Datenschutz zu gewährleisten.

Mangel:


Hohe Komplexität: Die Implementierung des TCP/IP-Protokolls ist relativ komplex und erfordert ein tiefgreifendes Verständnis der Prinzipien von Netzwerkprotokollen und verwandten Technologien.

Begrenzte Leistung: Um die Zuverlässigkeit der Daten sicherzustellen, führt das TCP-Protokoll zu einer gewissen Verzögerung und einem gewissen Overhead und ist nicht für Anwendungen mit hohen Echtzeitanforderungen geeignet.

Unzureichende Sicherheit: Einige Sicherheitsmechanismen im TCP/IP-Protokoll sind anfällig für Angriffe und es müssen zusätzliche Maßnahmen ergriffen werden, um die Sicherheit zu gewährleisten.

Eingeschränkte Zuverlässigkeit: Obwohl das TCP/IP-Protokoll zuverlässige Datenübertragungsdienste bereitstellt, können bei einer Überlastung des Netzwerks Probleme wie Paketverlust und Verzögerung auftreten, und es müssen einige Maßnahmen ergriffen werden, um diese zu lösen.

Nicht für groß angelegte Bereitstellungen geeignet: Da das TCP/IP-Protokoll Probleme bei der Netzwerkverwaltung und -wartung nicht gut berücksichtigt, können bei groß angelegten Netzwerkbereitstellungen einige Probleme auftreten.

【5】Ethernet-Protokoll


Standardisiert die Standards für unseren Internetzugang

Ist eine von vielen kabelgebundenen LAN-Technologien, die für die Datenkommunikation in Computernetzwerken verwendet werden.

Es definiert die Kommunikationsregeln und -formate für die physikalische Schicht und die Datenverbindungsschicht zwischen Computern.

Ethernet-ProtokollMerkmale
Flexibilität, Geschwindigkeit, Einfachheit, Zuverlässigkeit, Fehlertoleranz, Skalierbarkeit, Zuverlässigkeit

【6】IP-Protokoll


Es handelt sich um ein Netzwerkkommunikationsprotokoll

Das TCP/IP-Protokoll ist ein Netzwerkschichtprotokoll, das für die Übertragung von Datenpaketen von der Quelladresse zur Zieladresse verantwortlich ist.

Es definiert, wie Daten über das Internet übertragen und weitergeleitet werden

IP-ProtokollMerkmale: Keine Verknüpfung, einfach und flexibel, Paketübertragung, Routing, IP-Adresse, Versionsnummer, Protokolltyp

【7】Mac-Adresse


Netzwerkkarte

Sie wird auch als physikalische Adresse bezeichnet und bezieht sich auf die weltweit eindeutige Adresse, die Netzwerkgeräten (wie Computern, Routern, Switches, Netzwerkkarten) bei der Herstellung zugewiesen wird.

Suchen Sie nach einem Feld namens „Physical Address“ oder „MAC Address“

【8】Übertragung


Datenaustausch innerhalb desselben LAN

【9】TCP-Protokoll


Streaming-Protokoll

Zuverlässig, basierend auf einem Übertragungskanal. Der Kanal darf nur dann eingerichtet werden, wenn er den Spezifikationen entspricht

(1) Drei-Wege-Handshake


1. Der Client sendet eine Verbindungsanfrage an den Server (mit der Identität des Clients aaa).

2. Der Server empfängt die Verbindungsanforderung des Clients und sendet eine Anfrage an den Client zurück (mit der Server-ID und der Client-ID bbb).

3. Client und Server stellen eine Verbindung her

(2) Viermal winken


1. Der Client sendet eine Trennungsanforderung an den Server

2. Der Server empfängt die Anfrage des Clients und verarbeitet die unvollständigen Daten weiter.

3. Senden Sie eine Trennungsanforderung an den Client

4. Der Client empfängt die Trennungsanforderung vom Server und trennt die Verbindung

【10】UDP-Protokoll


Telegrammvereinbarung

Das UDP-Protokoll ist ein Protokoll auf der Transportschicht

Merkmale
Verbindungslos: Für UDP muss vor dem Senden von Daten keine Verbindung hergestellt werden.

Einfach und schnell: Der Protokollheader von UDP ist relativ klein. Der Kommunikationsaufwand ist minimal, sodass Übertragungen relativ schnell erfolgen.

Unzuverlässigkeit: UDP bietet keine Zuverlässigkeitsgarantien und die Übertragungsreihenfolge von Datenpaketen ist nicht garantiert.

Unterstützt Broadcast und Multicast: Alle mit dem LAN verbundenen Geräte können Broadcasts durchführen

Geeignet für Echtzeitanwendungen:

【11】Socket-Protokoll ist für Echtzeitanwendungen geeignet


So stellen Sie eine TCP-/UDP-Verbindung her

Was ist Socket:
Scoket kann als abstrakter Endpunkt verstanden werden, der zum Herstellen von Netzwerkverbindungen sowie zum Senden und Empfangen von Daten verwendet werden kann.

Scocket ist eine Programmierschnittstelle zur Implementierung der Netzwerkkommunikation. Sie ermöglicht Anwendungen die Übertragung von Daten und Klassenkameraden zwischen verschiedenen Computern über das Netzwerk.