Animazione TCP/IP , Comunicazione TCP, UDP
Comunicazione TCP, UDPTCP e UDP sono regole per il controllo della comunicazione dei dati. TCP gestisce la comunicazione in modo più rigoroso rispetto a UDP. Pertanto, TCP è adatto per comunicazioni che richiedono precisione e UDP è adatto per comunicazioni che richiedono velocità.Durante la comunicazione, i dati vengono suddivisi in piccoli pezzi chiamati pacchetti. Quindi un'intestazione TCP o UDP viene aggiunta a ogni pacchetto.* Dettagli TCPTCP stabilisce prima una connessione tra i PC di origine e di destinazione. I dati vengono quindi inviati sotto forma di pacchetto, che il destinatario riceve e assembla nel suo stato originale.Quindi controlla le informazioni nell'intestazione TCP con i dati effettivi per assicurarti che non ci siano errori. Dopo la conferma, il destinatario risponderà ogni volta.Se c'è un problema di comunicazione, gli stessi dati verranno inviati di nuovo.* Contenuto delle intestazioni TCP e UDP'Porte di origine e destinazione': numero di porta del PC'Numero di sequenza': numero di dati in uscita. Viene incrementato di 1 per ogni byte.'ACK No.': aggiungi 1 al numero di sequenza ricevuto'MSS (option)': dimensione massima dei dati (byte) del pacchetto.'Window': la dimensione dei dati da inviare sequenzialmente senza attendere ACK. (Esempio) Window (2000 byte) = MSS (1000 byte) * 2'Checksum': valore per verificare l'accuratezza dei dati
TCPComunicazione TCP standard* 'Per [(S) No.00]''No.00' indica il numero di sequenza nell'intestazione TCP.'(S)' significa numero di sequenza lato server e '(P)' significa lato PC.1.Quando il PC accede al server web, inizialmente viene stabilita la connessione TCP per la comunicazione tra PC e server.2.Questa connessione è chiamata '3 way hand shake'. Ogni numero di sequenza iniziale e dimensione MSS vengono determinati durante la creazione della connessione.3.È in corso la creazione della connessione TCP4.PC : Vai al sito web 'http://www.ogumo.co.jp'.(SYN) Richiede la connessione TCP. [(P)No.4600] 5.Server : (ACK) OK. [(P)No.4601] (SYN) Richiedo anche la connessione TCP. [(S)No.6800] 6.PC : (ACK) OK. [(S)No.6801] 7.PC : Connessione stabilita.8.Server : Connessione stabilita.9.Quando il PC o il server ha inviato un 'SYN', ogni numero di sequenza iniziale è stato impostato in modo casuale.PC(4600),Server(6800)10.PC : (PSH) Richiedi i dati del sito web.11.Avvia la comunicazione dei dati del sito web.12.PC : La dimensione della richiesta è di 1 pacchetto, l'importo è di 10 byte. [(P)No.4601-4610] 13.Richiesta e risposta tra PC e server14.Server : (ACK) OK. [(P)No.4611] (PSH) Invia i dati del sito web.(1 pacchetto, l'importo è 1000 byte) [(S)No.6801-7800] 15.PC : Abbiamo ricevuto la metà dei dati del sito web.16.PC : (ACK) OK. [(S)No.7801] 17.Server : (PSH) Invia la seconda metà dei dati del sito (1 pacchetto, 1000 byte). [(S)No.7801-8800] 18.PC : Dati del sito web ottenuti.19.PC : (ACK) OK. [(S)No.8801] 20.Fine connessione21.PC : (FIN) Esci dalla visualizzazione del sito web.La dimensione di questa richiesta è 1 pacchetto, l'importo è 1 byte. [(P)No.4611] 22.Server : (ACK) OK. [(P)No.4612] 23.Server : (FIN) Chiudi connessione. [(S)No.8801] 24.PC : (ACK) OK. [(S)No.8802] 25.Server : Connessione chiusa.26.PC : La comunicazione è terminata.TCP guaioSi verificano problemi durante la comunicazione TCP.* 'Per [(S) No.00]''No.00' indica il numero di sequenza nell'intestazione TCP.'(S)' significa numero di sequenza lato server e '(P)' significa lato PC.1.Per brevità, inizia con una connessione di comunicazione già stabilita.2.Quando il PC o il server ha inviato un 'SYN', ogni numero di sequenza iniziale è stato impostato in modo casuale.PC[4600],Server[6800].Questi numeri aumentano di 1 durante una stretta di mano a 3 vie.3.PC : (PSH) Richiedi i dati del sito web.4.Avvia la comunicazione dei dati del sito web.5.PC : La dimensione della richiesta è di 1 pacchetto, l'importo è di 10 byte. [(P)No.4601-4610] 6.Richiesta e risposta tra PC e server7.Server : (ACK) OK. [(P)No.4611] (PSH) Invia i dati del sito web.(1 pacchetto, l'importo è 1000 byte) [(S)No.6801-7800] 8.Mancano alcuni dati.9.PC : Impossibile ripristinare i dati.10.PC : La quantità effettiva di dati ricevuti è 800 byte. È diminuita di 200 byte.11.PC : Numero di sequenza perso [(S)No.7601-7800] 12.PC : Si è verificato un errore di convalida dei dati sul Checksum. In questo caso, il PC non può inviare un ACK.13.Server : (PSH) Poiché ACK non viene restituito dopo un certo periodo di tempo, lo stesso pacchetto viene inviato di nuovo. [(S)No.6801-7800] 14.PC : (ACK) OK. [(S)No.7801] 15.Server : (PSH) Invia i dati del sito web.(1 pacchetto, l'importo è 1000 byte) [(S)No.7801-8800] 16.PC : Dati del sito web ottenuti.17.PC : (ACK) OK. [(S)No.8801] 18.PC : Pacchetto ACK perso.19.Server : (PSH) Poiché ACK non viene restituito dopo un certo periodo di tempo, lo stesso pacchetto viene inviato di nuovo. [(S)No.7801-8800] 20.PC : (ACK) Dati del sito web ottenuti.21.Server : ACK ricevuto. [(S)No.8801] Tutti i dati del sito web sono stati inviati.22.La terminazione della connessione è stata omessa.TCP WindowL'impostazione di 'Window size' consente la comunicazione continua.* 'Per [(S) No.00]''No.00' indica il numero di sequenza nell'intestazione TCP.'(S)' significa numero di sequenza lato server e '(P)' significa lato PC.1.Per brevità, inizia con una connessione di comunicazione già stabilita.2.Il numero di sequenza, MSS e la 'Window size' vengono decisi quando viene stabilita la connessione.Window = MSS * 2.Pertanto, i dati del sito vengono inviati due volte di seguito senza ricevere un ACK.3.Avvia la comunicazione dei dati del sito web.4.PC : (PSH) Richiedi i dati del sito web.5.PC : La dimensione della richiesta è di 1 pacchetto, l'importo è di 10 byte. [(P)No.4601-4610] 6.Richiesta e risposta tra PC e server7.Invia i dati del sito continuamente in base alle 'Window size' prima di ricevere ACK.8.Server : (ACK) OK. [(P)No.4611] (PSH) Invia i dati del sito web.(1 pacchetto, l'importo è 1000 byte) [(S)No.6801-7800] 9.Server : (PSH) Invia il prossimo pacchetto. [(S)No.7801-8800] 10.PC : (ACK) Abbiamo ricevuto la metà dei dati del sito web.11.Server : ACK ricevuto. [(S)No.7801] 12.PC : (ACK) Dati del sito web ottenuti.13.Server : ACK ricevuto. [(S)No.8801] Tutti i dati del sito web sono stati inviati.14.La terminazione della connessione è stata omessa.15.Il tempo di comunicazione è stato ridotto impostando la 'Window size'.TCP Window guaioAlcuni problemi si verificano quando è impostata la 'Window size'.* 'Per [(S) No.00]''No.00' indica il numero di sequenza nell'intestazione TCP.'(S)' significa numero di sequenza lato server e '(P)' significa lato PC.1.Per brevità, inizia con una connessione di comunicazione già stabilita.2.Il numero di sequenza, MSS e la 'Window size' vengono decisi quando viene stabilita la connessione.Window = MSS * 2.Pertanto, i dati del sito vengono inviati due volte di seguito senza ricevere un ACK.3.Avvia la comunicazione dei dati del sito web.4.PC : (PSH) Richiedi i dati del sito web.5.PC : La dimensione della richiesta è di 1 pacchetto, l'importo è di 10 byte. [(P)No.4601-4610] 6.Richiesta e risposta tra PC e server7.Invia i dati del sito continuamente in base alle 'Window size' prima di ricevere ACK.8.Server : (ACK) OK. [(P)No.4611] (PSH) Invia i dati del sito web.(1 pacchetto, l'importo è 1000 byte) [(S)No.6801-7800] 9.PC : Dati del sito web ottenuti. [(S)No.6801-7600] Mancano alcuni dati.10.Server : (PSH) Invia il prossimo pacchetto. [(S)No.7801-8800] 11.Mancano alcuni dati.12.Server : Il server sta aspettando il primo ACK. [(S)No.7801] 13.PC : (ACK) Abbiamo ottenuto la seconda metà dei dati del sito web. [(S)No.7801-8800] 14.PC : Viene restituito solo il secondo ACK. 'ACK No.' indica che il PC richiede il primo pacchetto. [(S)No.6801] 15.PC : Se un diverso pacchetto di dati del sito viene inviato al PC, verrà restituito lo stesso ACK. [(S)No.6801] 16.Server : Se lo stesso ACK viene restituito più volte di seguito o si verifica un timeout, il server invia nuovamente il pacchetto. [(S)No.6801-7800] 17.Server : (PSH) Invia di nuovo lo stesso pacchetto perché il numero ACK passato è stato ancora inviato. [(S)No.6801-7800] 18.PC : (ACK) Dati del sito web ottenuti. [(S)No.6801-7800] 19.Server : ACK ricevuto. [(S)No.8801] Tutti i dati del sito web sono stati inviati.20.La terminazione della connessione è stata omessa.21.Se i dati non vengono inviati correttamente nel modo di attesa del ricevitore per i dati mancano e mantiene per dire al mittente con la stessa ACK No.UDPComunicazione UDP. Questo esempio è sotto forma di video web passati.1.Prima di poter iniziare a scaricare i dati video con UDP, il tuo PC deve usare TCP per accedere al sito web che pubblica il video. Spiegherò brevemente su TCP.2.PC : (PSH) Richiedi i dati del sito web.3.Server : (ACK)+(PSH) Invia i dati del sito web.4.PC : (ACK) Dati del sito web ottenuti.5.La connessione è stabilita e i dati del sito vengono scaricati tramite TCP. I dati video non sono stati ancora scaricati.6.PC : (PSH) Fare clic sul pulsante per riprodurre il video.7.Server : (ACK) OK.8.Questa connessione è per la comunicazione TCP. UDP non ne ha bisogno. Non la mostrerò qui a scopo illustrativo.9.Questa applicazione video invia i dati tramite UDP.10.Server : Questa applicazione video invia i dati tramite UDP.11.PC : Ottieni e visualizza i dati video.12.Server : Invia i dati successivi senza controllare i dati o attendere una risposta.13.Server : Questa applicazione video invia i dati tramite UDP.14.I dati video vengono inviati uno dopo l'altro.15.PC : Ottieni e visualizza i dati video.16.Server : Questa applicazione video invia i dati tramite UDP.17.La comunicazione UDP è terminata improvvisamente a causa della manipolazione del PC. D'ora in poi, i dati verranno inviati con TCP.18.PC : (PSH) Premere il pulsante di fine.19.Server : (ACK) OK.20.PC : Ho finito di guardare il video.UDP guaioSi verificano problemi durante la comunicazione UDP.1.Prima di poter iniziare a scaricare i dati video con UDP, il tuo PC deve usare TCP per accedere al sito web che pubblica il video. Spiegherò brevemente su TCP.2.PC : (PSH) Richiedi i dati del sito web.3.Server : (ACK)+(PSH) Invia i dati del sito web.4.PC : (ACK) Dati del sito web ottenuti.5.La connessione è stabilita e i dati del sito vengono scaricati tramite TCP. I dati video non sono stati ancora scaricati.6.PC : (PSH) Fare clic sul pulsante per riprodurre il video.7.Server : (ACK) OK.8.Questa connessione è per la comunicazione TCP. UDP non ne ha bisogno. Non la mostrerò qui a scopo illustrativo.9.Questa applicazione video invia i dati tramite UDP.10.Server : Questa applicazione video invia i dati tramite UDP.11.PC : Ottieni e visualizza i dati video.12.Server : Invia i dati successivi senza controllare i dati o attendere una risposta.13.Server : Questa applicazione video invia i dati tramite UDP.14.I dati video vengono inviati uno dopo l'altro.15.PC : Ottieni e visualizza i dati video.16.Server : Questa applicazione video invia i dati tramite UDP.17.Se i dati vengono persi, non verranno controllati da UDP.18.Tuttavia, poiché la quantità di dati è registrata nell'intestazione UDP, è possibile che l'applicazione la riconosca e la configuri per risolvere il problema.19.La comunicazione UDP è terminata improvvisamente a causa della manipolazione del PC. D'ora in poi, i dati verranno inviati con TCP.20.PC : (PSH) Premere il pulsante di fine.21.Server : (ACK) OK.22.PC : Ho finito di guardare il video.
|