9.1.2 TCP/IP
Transmission Control Protocol/Internet Protocol; 1. TCP/IP协议介绍 TCP/IP(又称TCP/IP协议簇)是一组用于实现网络互连的通信协议,其名称来源于该协议簇中两个重要的协议(IP协议和TCP协议)。基于TCP/IP的参考模型将协议分成四个层次,它们分别是网络
Transmission Control Protocol/Internet Protocol;
1. TCP/IP协议介绍
TCP/IP(又称TCP/IP协议簇)是一组用于实现网络互连的通信协议,其名称来源于该协议簇中两个重要的协议(IP协议和TCP协议)。基于TCP/IP的参考模型将协议分成四个层次,它们分别是网络接口层、网际互连层(IP层)、传输层(TCP层)和应用层。图17-4画出了TCP/IP模型以及该模型与OSI模型各层的对照关系。
图17-4 OSI模型与TCP/IP模型对照图
① 网络接口层:网络接口层与OSI参考模型中的物理层和数据链路层相对应。
② 网际互联层:网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。该层有四个主要协议:网际协议(IP)、地址解析协议(ARP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。IP协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传递服务。
③ 传输层:传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。TCP协议提供的是一种可靠的、面向连接的数据传输服务;而UDP协议供的是不可靠的、无连接的数据传输服务。
④ 应用层:应用层对应于OSI参考模型的会话层、表示层和应用层,为用户提供所需要的各种服务,例如FTP、Telnet、DNS、SMTP等。
2. OSI模型与TCP/IP模型比较说明
(1)OSI模型与TCP/IP模型比较说明
OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。OSI太复杂,TCP/IP简单却并不全面。OSI花了很长时间进行标准化,与此同时,TCP/IP已被广泛使用,已成为网络互联事实上的标准。
(2)OSI模型与TCP/IP模型
表17-1列出了OSI模型与TCP/IP模型的协议对照及协议说明。
表17-1 OSI模型与TCP/IP模型协议对照表
OSI中的层 |
功能 |
TCP/IP协议簇 |
应用层 |
文件传输,电子邮件,文件服务,虚拟终端 |
TFTP、HTTP、SNMP、FTP、SMTP、DNS、Telnet |
表示层 |
数据格式化,代码转换,数据加密 |
没有协议 |
会话层 |
解除或建立与别的接点的联系 |
没有协议 |
传输层 |
提供端对端的接口 |
TCP、UDP |
网络层 |
为数据包选择路由 |
IP、ICMP、OSPF、BGP、IGMP 、ARP、RARP |
数据链路层 |
传输有地址的帧以及错误检测功能 |
SLIP、PPP、MTU |
物理层 |
以二进制数据形式在物理媒体上传输数据 |
ISO2110、IEEE802、IEEE802.2 |
3. TCP/IP通信过程图
下图17-5画出了两台主机通过TCP/IP协议的通信过程,其中应用层使用的是FTP协议。除物理层是实际传输数据的,其他对等层只是虚拟通信(所以画的是虚线),对等层一般需要遵照相同的协议。上层传输数据只与相邻上下层有关系。TCP及以下层是由操作系统内核实现,是处理通信细节。而应用层程序是通过socket编程实现的,处理的是应用程序细节。
图17-5 TCP/IP通信过程图
4. TCP/IP数据包
TCP/IP数据包说明如图17-6所示。IP层传输单位是IP分组,属于点到点的传输;TCP层传输单位是TCP段,属于端到端的传输。
图17-6 TCP/IP数据包说明图
摘录自《深入浅出Linux工具与编程》

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wie setze ich das TCP/IP-Protokoll in Win10 zurück? Tatsächlich ist die Methode sehr einfach. Benutzer können die Eingabeaufforderung direkt eingeben und dann die Tastenkombination Strg + Umschalt + Eingabetaste drücken, um den Vorgang auszuführen, oder den Reset-Befehl zum Einrichten direkt ausführen Benutzern eine detaillierte Einführung zum Zurücksetzen des TCP/IP-Protokollstapels in Windows 10. Methode 1 zum Zurücksetzen des TCP/IP-Protokollstapels in Windows 10. Administratorrechte 1. Wir verwenden die Tastenkombination Win+R, um das Ausführungsfenster direkt zu öffnen, geben dann cmd ein und halten die Tastenkombination Strg+Umschalt+Eingabe gedrückt. 2. Oder wir können direkt im Startmenü nach der Eingabeaufforderung suchen und mit der rechten Maustaste klicken

TCP-Client Ein Client-Beispielcode, der das TCP-Protokoll verwendet, um einen kontinuierlichen Dialog zu erreichen: importsocket#Client-Konfiguration HOST='localhost'PORT=12345#Erstellen Sie einen TCP-Socket und stellen Sie eine Verbindung zum Server her client_socket=socket.socket(socket.AF_INET,socket . SOCK_STREAM)client_socket.connect((HOST,PORT))whileTrue:#Get user input message=input("Bitte geben Sie die zu sendende Nachricht ein:&

TCP ist eine Art Computernetzwerk-Kommunikationsprotokoll und ein verbindungsorientiertes Übertragungsprotokoll. In der Java-Anwendungsentwicklung wird die TCP-Kommunikation häufig in verschiedenen Szenarien verwendet, z. B. bei der Datenübertragung zwischen Client und Server, bei der Audio- und Videoübertragung in Echtzeit usw. Netty4 ist ein leistungsstarkes, hoch skalierbares und leistungsstarkes Netzwerkprogrammier-Framework, das den Datenaustauschprozess zwischen Server und Client optimieren kann, um ihn effizienter und zuverlässiger zu machen. Die spezifischen Implementierungsschritte bei der Verwendung von Netty4 für die TCP-Kommunikation lauten wie folgt: Einführung

Das hier erwähnte „verbindungsorientierte“ bedeutet, dass Sie eine Verbindung herstellen, die Verbindung verwenden und die Verbindung freigeben müssen. Der Verbindungsaufbau bezieht sich auf den bekannten TCP-Drei-Wege-Handshake. Bei der Nutzung einer Verbindung erfolgt die Datenübertragung in Form eines Versands und einer Bestätigung. Es gibt auch die Freigabe der Verbindung, bei der es sich um unsere gemeinsame TCP-Vierwellenwelle handelt.

Unter den TCP-Kommunikationsparteien werden der Einfachheit halber im Folgenden die Kommunikationsparteien durch A und B ersetzt. Wenn B gemäß dem TCP-Protokoll weiterhin Daten sendet, nachdem A die Verbindung geschlossen hat, empfängt B die RST-Antwort von A. Wenn B weiterhin Daten sendet, sendet das System ein SIGPIPE-Signal, um darüber zu informieren, dass die Verbindung getrennt wurde, und stoppt das Senden. Das Standardverarbeitungsverhalten des Systems für das SIGPIPE-Signal besteht darin, Prozess B beenden zu lassen. Das Standardverarbeitungsverhalten des Betriebssystems für das SIGPIPE-Signal ist sehr unfreundlich. Die TCP-Kommunikation ist ein Vollduplex-Kanal, der zwei Simplex-Kanälen entspricht, und jedes Ende der Verbindung ist für einen verantwortlich. Wenn das gegenüberliegende Ende „schließt“, obwohl die Absicht besteht, alle beiden Kanäle zu schließen, empfängt das lokale Ende nur das FIN-Paket. Gemäß den Bestimmungen des TCP-Protokolls, wenn a

Warum gibt es in diesem Blog die Verwendung einer TCP-Verbindung zum Senden mehrerer Dateien? Ich habe kürzlich einige verwandte Dinge gelesen. Es ist kein Problem, Socket einfach zum Programmieren zu verwenden, aber dies legt nur einige grundlegende Konzepte fest. Gegen das eigentliche Problem lässt sich noch immer nichts unternehmen. Wenn ich Dateien übertragen muss, stelle ich fest, dass ich scheinbar gerade die Daten gesendet habe (Binärdaten), aber einige Informationen über die Datei verloren gegangen sind (die Dateierweiterung). Und ich kann jedes Mal nur einen Socket verwenden, um eine Datei zu senden, und es gibt keine Möglichkeit, Dateien kontinuierlich zu senden (da ich darauf angewiesen bin, den Stream zu schließen, um das Senden von Dateien abzuschließen, was bedeutet, dass ich die Länge der Datei tatsächlich nicht kenne , also kann ich nur Dateien senden, da eine Socket-Verbindung eine Datei darstellt).

TCP und IP sind zwei verschiedene Protokolle im Internet: 1. TCP ist ein Transportschichtprotokoll, während IP ein Netzwerkschichtprotokoll ist. 2. TCP bietet Funktionen wie Segmentierung, Sortierung, Bestätigung und erneute Übertragung von Datenpaketen Das Protokoll ist für die Bereitstellung von Quell- und Zieladressen für Datenpakete verantwortlich. 3. TCP ist ein verbindungsorientiertes Protokoll, während das IP-Protokoll verbindungslos ist. 4. TCP bietet auch Flusskontrolle und Überlastungskontrolle.

Es gab einmal so eine klassische Interviewfrage: Was passiert im Prozess von der Eingabe der URL im Browser bis zur Anzeige der Seite? Ich glaube, dass die meisten Studenten, die sich vorbereitet haben, darauf antworten können, aber wenn Sie weiterhin fragen: Wenn der empfangene HTML-Code Dutzende von Bild-Tags enthält, auf welche Weise, in welcher Reihenfolge, wie viele Verbindungen hergestellt werden und welches Protokoll zum Herunterladen verwendet wird diese Bilder?
