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.