DOUG LLOYD: Neste vídeo nós vamos para falar sobre o Controle de Transmissão Protocolo TCP. Se você ainda não assistiu a vídeo sobre protocolo de Internet, IP, você pode querer fazê-lo antes de assistir a este vídeo porque os dois são bastante inter-relacionados. Assim, o protocolo de Internet, mais uma vez, um rápido resumo, que é o protocolo que se move informações a partir de uma máquina que envia a um receptor máquina através da rede. Então, qual é TCP? Embora apenas se deslocam de um envio Máquina para receber máquina, não é a história completa. Também sabemos que o nosso programa, os nossos computadores, por exemplo, estiver executando vários programas, e ter vários serviços em execução nessas máquinas. E assim, se queremos obter um pacote, ou informações para um programa específico, em uma máquina específica, precisamos de mais informações IP que apenas o que nos permite chegar informações a partir do ponto A ao ponto B. Assim, o TCP pode ser pensado como dirigir o pacote para o programa correto, ou o correto serviço, na máquina receptora. E por isso é importante, como você pode esperar, sei onde é suposto ir, e que o pacote está para ao mesmo tempo. E assim, com frequência, quando você fala sobre Transmission Control Protocol, TCP, muitas vezes você realmente ouvi-lo no contexto, TCP cortar IP, ou apenas TCP / IP. Estes dois protocolos são tão inter-relacionados que, eles são, basicamente, tratados como uma única unidade. Mas eles são dois protocolos distintos que fazer duas coisas separadas. Mais uma vez, IP é responsável por obter ela de uma máquina para outra. E TCP é responsável por começá-lo para o programa correto, ou o serviço correcto em uma máquina. E ele faz algo outra coisa que não faz IP, que é a entrega de garantia. Então, se nós agora par IP da máquina abordar com o número da porta assim chamada, e um número de porta é como um específico serviço ou utilidade, ou programa, é identificado numa máquina. Se agora temos um IP endereço acrescido de um número de porta, agora podemos identificar com exclusividade um determinado serviço rodando em uma máquina particular. Então é por isso TCP e IP são tão freqüentemente inter-relacionadas, porque esse número de porta por si só não faz realmente nada dizer, se você precisa de um número da porta, ea máquina que você está falando. Que máquina é suposto estar usando essa porta particular, por exemplo. A outra coisa que o TCP faz, como Eu disse, é que garante a entrega. Assim, para além especificando o número da porta, ele também indica quantas pacotes, o protocolo de Internet, IP, tem dividido os dados. E ordena os pacotes para que eles pode ser reconstruído na recepção máquina, mesmo que received-- numa ordem diferente daquela em que foram enviados. O que pode acontecer, porque IP é um protocolo sem conexão, e assim por pacotes diferentes pode levar caminhos diferentes através do sistema. Alguns desses números de porta são muito comumente usado, e eles foram padronizados em todos os computadores, como, praticamente todos os fabricante de computadores agora. Então algo chamado FTP, o protocolo de transferência de arquivos, que é usado para transmitir arquivos, como você poderia esperar, a partir de uma máquina para outra, que usa a porta 21 convencionalmente. Email, SMTP, utiliza a porta 25. DNS, sistema de nomes de domínio, o que nós falou em nossa cartilha internet vídeo, utiliza a porta 53. Se você está sempre navegando a web, você está muito bem sempre usando a porta 80, a menos que você está navegando na web com segurança, navegação na web segura, usando a porta 443. Então, qual é este processo TCP / IP? O que está acontecendo com ambos destes protocolos juntos? Bem, vamos falar sobre isso. Quando um programa deseja enviar dados, TCP ajuda a quebrá-lo em pedaços, e comunica esses pacotes para software de rede do computador. Por isso, leva os dados e que envolve informações em torno dele que indica qual porta é suposto ir para, e o fim de que pacote está fora de tudo. Então, faça um pacote de 10, dois de 10, três dos 10, e assim por diante. IP recebe os blocos de dados que foram quebradas com TCP, e envolve mais informações sobre onde o pacote é suposto ir. Podemos chamar isso de o IP camadas que cercam o pacote. Então, é uma espécie de, como, uma daquelas bonecas. Temos os dados no meio, e, em seguida, TCP em cima, dizendo-lhe onde o dados dentro do TCP é deveria ir, para que porto ou o serviço em uma máquina. Ao redor, que é a camada IP. O endereço IP, o que a máquina, está realmente ficando esta. Portanto, esse pacote que tem sido embrulhado com todas essas camadas, é enviado através do protocolo internet através do sistema de roteadores, obtendo do ponto A ao ponto B. Quando o receber máquina, ou dispositivo, recebe -lo, ele olha para o IP camada, ele diz, sim é isso meu endereço IP, por isso leva fora, tipo de rachaduras do ovo, e tira a camada IP. Em seguida, ele vê que há uma camada TCP, e ele diz, OK, parece que este é indo para a porta x, y ou porta. E, aparentemente, é packet número oito dos 15. Então, isso é bom saber. Assim, então ele pode ter essa informação, descolar a camada TCP agora, sabendo que é para a porta x, e é packet número oito, e obter os dados dentro. E pode preparar os dados para ser organizados de maneira correta. E uma vez que toda a os dados são recebidos, TCP pode entregá-lo para o correcto serviço, e dizer, aqui você vai. Aqui está os dados que você recebeu. Esse processo pode parecer algo assim. Então, vamos enviar um e-mail um emissor para um receptor. E digamos que este e-mail é muito pequena, por isso, só precisa quebrá-lo em quatro pacotes, e nós vamos chamá-los de A, B, C, e D. Bem, queremos avançar que primeiro pacote que acontece? Bem, nós levamos esse pedaço de dados, Os dados que é parte do pacote de A, e em torno de que vamos para envolvê-lo com uma camada TCP. E-mails, você pode recordar, são enviados através da porta 25, e nós temos quatro blocos de dados, aqui, que nós vamos estar usando, e esta é a primeira delas. Então, talvez a nossa camada TCP contém informações sobre, bem, nós estamos indo para a porta 25, e este é um número de pacote de quatro. Em torno disso, então agora temos tudo o que informações empacotados juntos, vamos dizer que queremos que ele ir, o equipamento, o que endereço IP é suposto a obter este pacote. E isso é parte da camada IP. E há outras informações lá também, como como o endereço de retorno em caso algo der errado, ele sabe para onde enviar informação para trás, e assim por diante. Mas a camada IP passa em torno de tudo isso. Essa coisa toda é empacotado em conjunto, como uma unidade grande, e enviado através de uma transferência IP. Por isso, é roteado através do roteador rede, usando o protocolo de internet. E o receptor recebe a coisa inteira. E então ele pode começar a desconstruir o que está acontecendo aqui. Ele olha para a camada IP, o camada exterior destes dados, e diz, sim, esse é o meu IP endereço para que possamos descartar isso. Eu posso, tipo, ignorá-lo, não é mais necessário, e ele pode olhar um nível mais profundo. Ele vê que, OK, este é dados que destina-se a ser recebidos na porta 25. É, aparentemente, a primeira parte de quatro. Então, eu vou manter isso em importa, e olhar para os dados, e slot-lo mais ou menos onde Eu acho que vai ir. Agora, devido ao protocolo de internet não é necessariamente o caso que o próximo pacote a receptor recebe, é de pacotes dois. Na verdade, o próximo coisa que o receptor recebe pode ser o número de pacotes três porque estes pacotes tomou caminhos diferentes, porque de tráfego diferente na rede. E assim, eu não estou indo para ir através do diagrama de construí-la -se outra vez, mas três pacotes movimentos, fica arrancada de todas as suas camadas, o Camada IP, a camada TCP, e os dados é colocado no lugar certo. E então, vamos dizer que recebe o pacote de quatro. Agora vamos dizer, é isso, é não recebe mais dados. O que é que vai fazer? IP não fazer nada para nós. Mas TCP faz. TCP sabe, bem, eu recebi um dos quatro, três de quatro, e quatro de quatro. Eu não estou recebendo mais dados. Então, alguma coisa deu errado. Mas eu posso garantir a entrega. Eu sei que pacote número dois está faltando. E assim TCP pode agora fazer um pedido, mais ou menos, no sentido inverso. Agregação de seu pedido da mesma maneira, e enviá-lo via IP, que, eu sei, poderia levar a algum tipo de loop infinito de todos descartar pacotes no caminho. Mas basta dizer que o TCP diz, eu estou faltando um pacote. Eu preciso enviar informações de volta ao remetente. Felizmente endereço IP do remetente é, tipo de, agasalhados na camada IP. É parte de-- é o retorno endereço no envelope. E dizer, eu estou faltando número do pacote dois, você pode por favor reenvie. Quando o remetente recebe que a informação, ele não tem que enviar Todo o e-mail novamente. Ele só precisa enviar esse indivíduo pedaço dele que estava faltando, para que pudéssemos enviar o número de pacotes dois. E quando ele recebe-lo, agora TCP diz, Eu tenho todos os quatro pedaços de dados que eu preciso. Então, eu posso montá-los juntos, e levar todo esse bloco de informações e passá-lo para a porta 25, onde ele será interpretado como um e-mail. E isso-- desta forma nós temos enviar um e-mail do emissor ao receptor utilizando TCP / IP. Então, como eu disse, se em algum momento ao longo do caminho algo deu errado, TCP pode lidar com isso. Ele pode fazer um pedido para que o informações é enviado de volta para ele. E pode reconstituir a mensagem. E uma vez que é reconstruída a mensagem de todos os pacotes é recebida, então ele pode organizá-los e entregá-los para o serviço correto. Então, isso é TCP em poucas palavras. É assim que nós garantimos entrega de informação. Lembre-se do TCP freqüentemente trabalha com IP, Portanto, estes dois protocolos realmente andam de mãos dadas. Discutimos-los em vários vídeos aqui, porque eles fazem coisas diferentes, mas eles são tão inter-relacionados, eles normalmente você vai usá-los juntos. Eu sou Doug Lloyd. Este é CS50.