DOUG LLOYD: In questo video andremo per parlare del controllo della trasmissione Protocollo, TCP. Se non hai guardato il video su protocollo Internet, IP, si potrebbe desiderare di farlo prima di guardare questo video perché i due sono abbastanza correlati. Così, il protocollo Internet, ancora una volta, un breve riassunto, questo è il protocollo che si muove informazioni da una macchina che invia un ricevente macchina tramite la rete. Allora, qual è il protocollo TCP? Mentre solo passando da un invio Macchina a ricevere la macchina, non è la storia completa. Sappiamo anche che il nostro programma, nostri computer, per esempio, sono in esecuzione più programmi, e avere più servizi in esecuzione su quelle macchine. E così, se vogliamo ottenere un pacchetto, o informazioni ad un programma specifico, su una specifica macchina, abbiamo bisogno di maggiori informazioni noi che solo ciò che permette di ottenere IP informazioni dal punto A al punto B. Quindi, TCP può essere pensato a dirigere il pacchetto al programma corretto, o il corretto il servizio, sulla macchina ricevente. E così è importante, come si potrebbe aspettare, sapere dove si suppone di andare, e ciò è il pacchetto per allo stesso tempo. E così, spesso, quando si parla di Transmission Control Protocol, il protocollo TCP, davvero sente spesso nella contesto, TCP taglio su IP, o semplicemente il protocollo TCP / IP. Questi due protocolli sono così interconnessi che, sono fondamentalmente trattata come una singola unità. Ma si tratta di due protocolli separati che fare due cose separate. Ancora una volta, IP è responsabile per ottenere da una macchina all'altra. E TCP è responsabile ottenerlo al programma corretto, o il servizio corretto su una macchina. E lo fa qualcosa altra cosa che IP non fa, che è garanzia di consegna. Quindi, se ora paio IP di una macchina affrontare con il cosiddetto numero di porta, e un numero di porta è come una specifica servizio o l'utilità, o un programma, è identificato su una macchina. Se ora abbiamo un IP indirizzo e un numero di porta, ora siamo in grado di identificare in modo univoco un particolare servizio esecuzione su una particolare macchina. Ecco, questo è il motivo per cui TCP e IP sono così spesso interconnessi, perché tale numero di porta di per sé non ha veramente significa nulla se avete bisogno di un il numero di porta, e la macchina che si sta parlando. Quello che la macchina dovrebbe essere mediante questo porta particolare, per esempio. L'altra cosa che fa TCP, come Ho detto, è garantisce la consegna. Così, oltre al specificando il numero di porta, esso indica anche il numero di i pacchetti, il protocollo Internet, IP, ha diviso i dati in. E ordina questi pacchetti in modo che può essere ricostruito sulla ricevente macchina, anche se in un received-- ordine diverso da quello sono stati inviati. Che può accadere perché IP è un protocollo senza connessione, e così diversi pacchetti possono prendere diversi percorsi attraverso il sistema. Alcuni di questi numeri di porta sono molto comunemente usato, e che sono stati standardizzati tutti i computer, come, praticamente ogni produttore di computer ora. Quindi qualcosa chiamato FTP, il protocollo di trasferimento file, che viene utilizzato per trasmettere file, come ci si potrebbe aspettare, da una macchina all'altra, che utilizza la porta 21 in modo convenzionale. E-mail, SMTP, utilizza la porta 25. DNS, Domain Name System, che abbiamo parlato nel nostro fondo internet video, utilizza la porta 53. Se stai navigando sempre il web, sei praticamente sempre utilizzando la porta 80, a meno che si sta navigando sul web in modo sicuro, navigazione web sicura, utilizzando la porta 443. Così che cosa è questo processo TCP / IP? Che cosa sta accadendo con di questi protocolli insieme? Bene, parliamo di esso. Quando un programma vuole inviare dati, TCP aiuta romperlo in pezzi, e comunica i pacchetti a software di rete del computer. Così prende i dati e che avvolge informazioni intorno ad esso che indica quale porta si suppone per andare, e ciò affinché pacchetto è fuori tutto. Quindi, fare un pacchetto di 10, due 10, tre 10, e così via. IP ottiene quei blocchi di dati che sono stati avvolti con il protocollo TCP, e avvolge ulteriori informazioni su dove il pacchetto dovrebbe andare. Potremmo chiamare questo l'IP strati circostanti il ​​pacchetto. Quindi, è una specie di, come, una di quelle bambole di nidificazione. Abbiamo i dati nel mezzo, e quindi TCP in cima, dicendogli dove il dati all'interno di TCP è dovrebbe andare, a quale porta o quale servizio su una macchina. Intorno a quel è il livello IP. Quale indirizzo IP, quale macchina, è in realtà sempre presente. Allora, quel pacchetto che è stato avvolto con tutti quegli strati, viene inviato tramite protocollo Internet attraverso il sistema di router, ottenendo dal punto A al punto B. Quando il ricevere la macchina, o un dispositivo, ottiene esso, esamina il PI strato, si dice, che è proprio così il mio indirizzo IP, quindi ci vuole fuori, una sorta di crepe dell'uovo, e si toglie il livello IP. Poi si vede che non c'è uno strato TCP, e si dice, OK, sembra che questo è andando a porta x, o la porta a. E a quanto pare si tratta di numero di pacchetto di otto di 15. Così che è bene sapere. Allora si può prendere questa informazione, togliere il livello TCP ora, sapendo che è per la porta x, ed è il numero di pacchetti di otto, e ottenere i dati al suo interno. E può preparare i dati a essere organizzata in modo corretto. E una volta tutti i si ricevono i dati, TCP può mano fuori al corretto il servizio, e dire, qui si va. Ecco i dati che hai ricevuto. Tale processo potrebbe apparire qualcosa come questo. Quindi cerchiamo di inviare una e-mail da un mittente ad un ricevitore. E diciamo questo email è piuttosto piccolo, così abbiamo solo bisogno di rompere in quattro pacchetti, e noi li una chiamata, B, C, e D. Bene, vogliamo spostare che primo pacchetto che cosa succede? Bene, prendiamo quel pezzo di dati, i dati che è parte del pacchetto A, e intorno che stiamo andando per avvolgere con uno strato TCP. Messaggi di posta elettronica, si possono ricordare, vengono inviati tramite la porta 25, e abbiamo quattro blocchi di dati, qui, che stiamo andando a utilizzare, e questo è il primo di essi. Quindi forse il nostro livello TCP contiene informazioni su, bene, siamo andando a porta 25, e questo numero di pacchetto è una delle quattro. Intorno a questo, così ora abbiamo tutto ciò che informazioni in bundle insieme, stiamo andando a dire dove vogliamo andare, quale macchina, quale indirizzo IP si suppone per ottenere questo pacchetto. E questo è parte del livello IP. E c'è altra informazione in là pure, tale come l'indirizzo di ritorno in caso qualcosa vada storto, sa dove inviare informazioni di nuovo, e così via. Ma il livello IP va intorno a tutto questo. Quella intera cosa è in bundle insieme, come una grande unità, e inviato attraverso un trasferimento IP. Così viene instradato attraverso il router rete, utilizzando il protocollo Internet. Il ricevitore riceve l'intera cosa. E allora si può iniziare a decostruire quello che sta succedendo qui. Sembra a livello IP, il strato esterno di questi dati, e dice, sì, questo è il mio IP indirizzo in modo che possiamo scartare tale. Posso, sorta di, ignorarlo, non ha bisogno di più, e si può guardare un livello più profondo. Si vede che, OK, questo è un dato che è destinato ad essere ricevuto sulla porta 25. È apparentemente la prima parte di quattro. Così, ho intenzione di tenerlo a mente, e guardare i dati, e inserirlo o meno dove Penso che sta per andare. Ora, a causa del protocollo Internet che non è necessariamente il caso che il pacchetto successivo ricevente ottiene, è pacchetto due. Infatti, il successivo cosa che il ricevente ottiene potrebbe essere il numero di pacchetti tre perché questi pacchetti ha preso percorsi diversi a causa di traffico diverso in rete. E così, io non ho intenzione di andare attraverso il diagramma di costruirlo di nuovo, ma pacchetto tre si muove, ottiene spogliato di distanza di tutti i suoi livelli, la Livello IP, il livello TCP, e il dato viene messo al posto giusto. E poi, diciamolo riceve pacchetto quattro. Ora diciamo, il gioco è fatto, si Non c'è niente di più dati. Che cosa sta andando a fare? IP non fa niente per noi. Ma TCP fa. TCP sa, beh, ho ricevuto una delle quattro, tre di quattro, e quattro di quattro. Non ricevo altri dati. Quindi qualcosa è andato storto. Ma posso garantire la consegna. Io so che pacchetto numero due è mancante. E così TCP può ora fare una richiesta, sorta di, in direzione inversa. Bundling la sua richiesta in modo molto simile, e inviandolo via IP, che, lo so, potevo portare a una sorta di loop infinito di tutti la perdita di pacchetti sulla strada. Ma è sufficiente dire che il protocollo TCP dice, mi manca un pacchetto. Ho bisogno di inviare informazioni indietro al mittente. Fortunatamente l'indirizzo IP del mittente è, una sorta di, infagottato nel livello IP. Fa parte di-- è il ritorno indirizzo sulla busta. E dico, mi manca il numero di pacchetti due, ti invitiamo a inviarlo di nuovo. Quando il mittente riceve tali informazioni, non deve inviare l'intera posta di nuovo. Ha solo bisogno di inviare quell'individuo pezzo di essa che mancava, così abbiamo potuto inviare il numero due pacchetti. E quando si ottiene, ora dice di TCP, Ho tutti i quattro pezzi di dati che ho bisogno. Quindi, posso montarli insieme, e prendere questo intero blocco di informazioni e passare lungo alla porta 25, dove sarà interpretato come una e-mail. E che-- in questo modo in cui abbiamo invia una e-mail dal mittente al ricevitore utilizzando il protocollo TCP / IP. Quindi, come ho detto, se in qualsiasi punto lungo la strada qualcosa è andato storto, TCP può trattare con esso. Si può fare una richiesta che il informazioni viene inviato di nuovo esso. E può ricostruire il messaggio. Ed una volta che è ricostruito il messaggio da tutti i pacchetti è ricevuto, allora può organizzarli e consegnarli al servizio corretto. Ecco, questo è il protocollo TCP in poche parole. Ecco come possiamo garantire invio di informazioni. Ricordate il protocollo TCP lavora frequentemente con IP, così questi due protocolli davvero non vanno di pari passo. Li abbiamo discusso in diversi video qui perché fanno cose diverse, ma sono così correlati, è solitamente usarli insieme. Sono Doug Lloyd. Questo è CS50.