tcp ip model with different layers
Um guia completo para camadas do modelo TCP / IP:
Aprendemos tudo sobre Segurança de firewall em nosso tutorial anterior. Aqui, neste tutorial, aprenderemos sobre o modelo TCP / IP.
O modelo TCP / IP se refere ao protocolo de controle de transmissão e ao protocolo da Internet.
O modelo atual da Internet está usando esse modelo de rede para fins de comunicação. Leia o Tutoriais de treinamento em rede para uma compreensão clara do conceito.
Esses protocolos são simplesmente uma combinação das regras que regulam cada comunicação na rede. Estes, por sua vez, decidem o caminho a ser seguido para a comunicação entre a origem e o destino ou a internet.
O modelo TCP / IP consiste em quatro camadas que concluem o processo geral de comunicação. Neste tutorial, daremos uma olhada em profundidade na funcionalidade de cada camada.
Como um testador de software, é necessário ter empatia com o modelo TCP / IP, pois os aplicativos de software funcionam na camada superior, ou seja, a camada de aplicação deste modelo.
O que você aprenderá:
Arquitetura de rede
A arquitetura de quatro camadas é a seguinte:
Os protocolos e redes usados neste modelo de rede são mostrados na figura abaixo:
Vamos resumir os protocolos e os principais usos de cada camada no modelo TCP / IP com a ajuda do diagrama abaixo.
Funções de cada camada no modelo TCP / IP
A seguir estão listadas as várias funções de cada camada no modelo TCP / IP.
Camada de acesso à rede
As funções da camada de acesso à rede são fornecidas abaixo:
- Esta é a camada inferior do modelo TCP / IP e inclui todas as funcionalidades da camada física e da camada de link de dados do modelo de referência OSI.
- Assim, ele caracteriza os protocolos, hardware e mídia a serem usados para comunicação.
- Os pacotes de dados da camada da Internet são passados para essa camada para serem enviados ao destino por meio de uma mídia física.
- A principal tarefa dessa camada é combinar os bytes de dados em quadros e fornecer algum mecanismo para a transmissão de quadros de dados IP no meio físico.
- Ponto a ponto (PPP) é o protocolo usado para estabelecer um link ponto a ponto nas linhas alugadas. Também é implantado para fornecer conectividade entre o usuário final e provedores de serviços de Internet por meio de modems. Ele também suporta o provisionamento de endereços IP em links PPP.
- A maioria dos usuários finais prefere um link Ethernet que funcione apenas no protocolo de link de dados Ethernet. Assim, é criado o PPP sobre Ethernet, que permite que os quadros de dados encapsulados sejam enviados dentro dos quadros Ethernet.
- O PPPoE constrói inicialmente um túnel entre os dispositivos de rede do usuário final, como o roteador e o roteador ISP. Em seguida, o roteador envia quadros PPP por esse túnel, pois o túnel funciona como um link ponto a ponto entre os roteadores. Agora, os dados também são transmitidos por redes WAN devido a essa tecnologia.
- O PPP também usa o processo de autenticação para verificar a responsabilidade pelo uso de dados com o ISP. Os métodos incluem protocolo de autenticação de senha (PAP) e protocolo de autenticação de handshake de canal (CHAP).
Camada de Internet
- A segunda camada da parte inferior é a camada da Internet.
- Uma vez que os dados são segmentados por TCP ou UDP adicionando os cabeçalhos correspondentes no pacote de dados, ele os enviará para a camada inferior para comunicação posterior.
- O host de destino ao qual o pacote de dados é destinado pode residir em alguma outra rede cujo caminho pode ser alcançado passando por vários roteadores. É dever da camada da Internet atribuir os endereços lógicos e encaminhar os pacotes de dados de forma eficiente para a rede de destino.
- A camada da Internet (IP) é o protocolo mais popular usado para realizar essa tarefa.
protocolo de internet
O objetivo deste protocolo é rotear os pacotes de dados para o destino de acordo com as informações no cabeçalho do pacote, seguindo um conjunto de protocolos.
Ao adicionar um cabeçalho que contém o endereço IP da origem e do destino, o segmento recebido do TCP ou UDP é convertido em PDU conhecido como pacote. Quando o pacote chega ao roteador, ele examina o endereço de destino no cabeçalho e encaminha o pacote de acordo para o próximo roteador para alcançar o destino.
Vamos entender isso com um exemplo:
Na figura abaixo, quando o host A deseja se comunicar com o host B, ele não usará nenhum protocolo de roteamento, pois ambos estão no mesmo intervalo de rede com os endereços IP do mesmo conjunto.
Mas se o Host A deseja enviar um pacote ao Host C, com a ajuda do protocolo, ele descobre que o host de destino é de outra rede. Assim, o formato acima pesquisará a tabela de roteamento para descobrir o endereço do próximo salto para chegar ao destino.
Nesse caso, o host A alcançará o host C por meio do roteador A, B e C. Como o roteador C está conectado diretamente a uma rede de destino por meio de um switch, o pacote é entregue ao Host C.
O roteador obtém todas as informações relacionadas ao roteamento dos campos do cabeçalho IP. A camada de rede TCP / IP (camada de enlace de dados) será responsável pela entrega ponta a ponta dos pacotes de dados.
Fluxo de pacotes no protocolo da Internet
Cabeçalho IPV4
- Versão: O IPV4 tem a versão número 4.
- Comprimento do cabeçalho: Mostra o tamanho do cabeçalho.
- Campo DS: O campo DS significa campo de serviços diferenciados e é implantado para a construção de pacotes.
- Comprimento total: Ele denota o tamanho do cabeçalho mais o tamanho do pacote de dados.
- Identificação: Este campo é usado para fragmentação de pacotes de dados e para alocar cada campo e, assim, ajuda a construir o pacote de dados original.
- Bandeiras: Usado para denotar o procedimento de fragmentação.
- Deslocamento de fragmento: Ele indica o número do fragmento e o host de origem que os utiliza para reorganizar os dados fragmentados na ordem correta.
- Hora de partir: Isso é definido na extremidade do host de origem.
- Protocolo: Ele denota o protocolo que está usando para transmitir dados. O TCP tem o número do protocolo 6 e o UDP tem o número do protocolo 17.
- Header Checksum: Este campo é usado para detecção de erros.
- Endereço IP de origem: Ele salva o endereço IP do host final de origem.
- Endereço IP de destino: Ele salva o endereço IP do host de destino.
Discutiremos isso em detalhes em nossos próximos tutoriais.
Camada de transporte
- Esta é a terceira camada da parte inferior, pois é responsável pela transferência geral de dados e é útil para estabelecer uma conectividade lógica de ponta a ponta entre o host de origem e destino e os dispositivos em uma rede.
- Dois protocolos são usados para realizar essas tarefas:
- O primeiro é o protocolo de controle de transmissão (TCP), que é um protocolo confiável e baseado em conexão.
- O segundo é o protocolo de datagrama do usuário (UDP), que é um protocolo sem conexão.
- Antes de explorar esses dois protocolos em profundidade, discutiremos o conceito de NÚMERO DE PORTA que é usado por ambos os protocolos.
Número da porta:
Em uma rede, um dispositivo host pode enviar ou receber tráfego de várias fontes ao mesmo tempo.
Em tal situação, o sistema não reconhecerá a qual dos aplicativos os dados pertencem. Os protocolos TCP e UDP resolvem esses problemas colocando um número de porta em seus cabeçalhos. Os protocolos de camada de aplicativo bem conhecidos são alocados com o número da porta no intervalo de 1 a 1024.
Na extremidade de origem, cada sessão TCP ou UDP é alocada com um número de porta aleatório. O endereço IP, o número da porta e o tipo de protocolo usados em combinação reformam um soquete na extremidade de origem e de destino. Como cada socket é exclusivo, vários hosts podem enviar ou receber tráfego no mesmo intervalo de tempo.
A tabela a seguir mostra o número da porta atribuído a vários protocolos da camada de aplicativo correspondentes ao protocolo da camada de transporte.
Protocolo de Aplicação | Protocolo de Transporte | Número da porta |
---|---|---|
DNS | TCP, UDP | 53 |
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
FTP (controle) | TCP | vinte e um |
FTP (dados) | TCP | vinte |
SSH | TCP | 22 |
Telnet | TCP | 2,3 |
SMTP | TCP | 25 |
TFTP | UDP | 69 |
Sessão múltipla usando o número da porta
TCP
- Sempre que a camada de aplicação precisa circular o fluxo de grande tráfego ou dados, ela o envia para a camada de transporte, na qual o TCP realiza toda a comunicação ponta a ponta entre as redes.
- O TCP inicialmente configura um processo de handshake de três vias entre a origem e o destino e, em seguida, divide os dados em pequenos pedaços conhecidos como segmentos e inclui um cabeçalho em cada segmento e depois o encaminha para a camada da Internet.
A figura abaixo mostra o formato do cabeçalho TCP.
converter youtube para mp3 com mais de 20 minutos
- Aperto de mão de três vias: É o processo implantado pelo TCP para estabelecer uma conexão entre o host de origem e de destino na rede. É usado para realizar uma transmissão confiável de dados. Ele implanta sinalizadores SYN e ACK de bits de código do cabeçalho TCP para executar a tarefa. Ele fornece uma comunicação confiável realizando um reconhecimento positivo com retransmissão e também é conhecido como PAR. O sistema usando PAR irá retransmitir o segmento de dados até receber o ACK. Sempre que o receptor descarta os dados, o remetente deve retransmitir os dados até receber o ACK positivo do receptor.
Existem 3 etapas de handshaking de três vias, que são as seguintes:
- Passo 1: O host A de origem deseja estabelecer uma conexão com o host B de destino, ele transmite um segmento com o SYN e o número de seqüência, o que denota que o host A deseja iniciar uma sessão de comunicação com o Host B e com qual número de seqüência está definido nesse segmento.
- Passo 2: O host B responde à solicitação do host A com SYN e ACK definidos no bit de sinal. ACK denota a resposta do segmento recebido e SYN denota o número da sequência.
- Etapa 3: O host A reconhece a resposta do Host B e ambos estabelecem uma conexão segura entre eles e então começam a transmissão de dados por ela.
Conforme descrito na figura abaixo, no processo de handshake de três vias, primeiro o host de origem envia um cabeçalho TCP para o host de destino configurando o sinalizador SYN. Em resposta, ele recebe de volta o conjunto de sinalizadores de SYN e de confirmação. O host de destino pratica o número de sequência recebido mais 1 como o número de confirmação.
O TCP IP suporta o modelo cliente-servidor do sistema de comunicação.
Processo de handshake de três vias
- Segmentação de dados :
- Este é um dos recursos do protocolo TCP. A camada de aplicação envia um grande número de dados para transmissão do destino à camada de transporte. Mas a camada de transporte limita o tamanho dos dados a serem enviados de uma vez. Isso é feito dividindo os dados em pequenos segmentos.
- Para reconhecer a sequência de segmentos de dados, um número de sequência é usado no cabeçalho TCP e que descreve o número de bytes de todo o segmento de dados.
- Controle de fluxo:
- O host de origem enviará os dados em um cluster de segmentos. O cabeçalho TCP com um bit de janela é usado para descobrir a contagem dos segmentos que podem ser enviados em uma instância de tempo. É usado para evitar o tráfego insignificante no final do destino.
- Quando a sessão é iniciada, o tamanho da janela é minúsculo, mas conforme o tráfego aumenta com o tempo, o tamanho da janela pode se tornar enorme. O host de destino pode ajustar a janela de acordo para controlar o fluxo. Portanto, a janela é chamada de janela deslizante.
- A fonte só pode transmitir o número de segmentos permitidos pela janela. Para enviar mais segmentos, em primeiro lugar irá aguardar uma confirmação do terminal receptor assim que receber o ACK, para posteriormente poder aumentar o tamanho da janela de acordo com a sua necessidade.
- Na figura abaixo, o host de destino está aumentando o tamanho de 500 para 600 e depois para 800 depois de enviar o ACK de volta ao host de origem.
- Entrega confiável e recuperação de erros :
- Após o último segmento da janela decidida ser recebido pelo destino, ele deve enviar um ACK para a extremidade de origem. O sinalizador ACK é definido no cabeçalho TCP e o número ACK é colocado como o número de sequência do byte subseqüente presumido. Se o destino não receber os segmentos na ordem correta, ele não transmitirá o ACK de volta à origem.
- Isso explica a origem de que poucos dos segmentos são perdidos durante a transmissão e ele retransmitirá todos os segmentos.
- Na figura abaixo, foi ilustrado que quando a fonte não recebeu o ACK para o segmento com SEQ número 200, ela está retransmitindo os dados e após receber o ACK está enviando a próxima sequência do segmento de dados em de acordo com o tamanho da janela.
- Entrega ordenada :
- O TCP garante a entrega sequencial de dados ao destino. Ele entrega os dados na ordem em que os recebe da camada de aplicativo para entrega ao host de destino. Assim, para manter a entrega solicitada, ele usa o número de sequência durante a transmissão dos segmentos de dados.
- Término de Conexão :
- Quando a transmissão de dados entre a origem e o destino for concluída, o TCP concluirá a sessão enviando sinalizadores FIN e ACK e usará um handshake de quatro vias para fechá-la.
Janela deslizante TCP e entrega confiável
Protocolo de datagrama do usuário (UDP):
É o protocolo não confiável e sem conexão para transmissão de dados. Neste protocolo, ao contrário do TCP, ele não gera nenhum sinalizador ACK, portanto, o host de origem não esperará por uma resposta da extremidade de destino e transmitirá os dados sem qualquer atraso e aguardará o ACK.
Em um cenário de tempo real, o UDP é usado quando o descarte dos pacotes de dados é escolhido em vez da espera dos pacotes para retransmissão. Assim, é mais amplamente utilizado em jogos, assistir a vídeos online, bater papo, etc., onde o reconhecimento de dados não é uma preocupação. Nesses cenários, a verificação e a correção de erros ocorrem na camada do aplicativo.
Cabeçalho UDP:
- Porta de origem: Ele classifica as informações do pacote final de origem, que tem 16 bits de tamanho.
- Porto de destino : Também tem 16 bits de tamanho e é usado para classificar o tipo de serviço de dados no nó de destino.
- Comprimento : Indica o tamanho geral do datagrama UDP. O tamanho máximo do campo de comprimento pode ser o tamanho geral do próprio cabeçalho UDP.
- Checksum : Salva o valor do checksum avaliado pelo fim da fonte antes da transmissão. Se ele não tiver nenhum valor, todos os seus bits serão definidos como zero.
Aplicativos UDP :
- Ele provisiona datagramas, portanto, é apropriado para túnel de IP e sistema de arquivos de rede.
- Simples em uso, portanto, é usado em DHCP e protocolo de transferência de arquivo trivial.
- Ser sem estado o torna eficiente para aplicativos de mídia de streaming, como IPTV.
- Também adequado para voz sobre IP e programas de streaming em tempo real.
- Ele apóia o multicast, portanto, é apropriado para serviços de transmissão, como Bluetooth e protocolo de informações de roteamento.
Camada de aplicação
(i) Esta é a camada superior do modelo TCP / IP.
(ii) Ele executa todas as tarefas de uma camada de sessão, camada de apresentação e camada de aplicação do modelo TCP / IP.
(iii) Combina as funções de interface com vários aplicativos, codificação de dados, tradução de dados e acesso de provisões para os usuários se comunicarem com vários sistemas de rede.
Os protocolos de camada de aplicativo mais comuns são definidos a seguir:
# 1) TELNET: Significa protocolo de emulação de terminal. Geralmente pratica o acesso aos aplicativos finais remotos. O servidor telnet que atua como o host inicia um aplicativo de servidor telnet para estabelecer uma conexão com o host final remoto conhecido como cliente telnet.
Depois de estabelecida a conexão, ela é apresentada ao sistema operacional do servidor telnet. As pessoas na extremidade do servidor usam seu teclado e mouse para operar e acessar o host da extremidade remota por meio do TELNET.
# 2) HTTP: Significa protocolo de transferência de hipertexto. É a base da World Wide Web (WWW). Este protocolo é usado para trocar o hipertexto entre diferentes sistemas. É um tipo de protocolo de solicitação-resposta.
Por exemplo, Os navegadores da Web, como o Internet Explorer ou Mozilla, atuam como um cliente da web e o streaming do aplicativo no PC que hospeda o site agirá como um servidor da web.
Assim, o servidor que fornece os recursos como arquivos HTML e outras funções solicitadas pelo cliente retorna uma mensagem de resposta ao cliente que tem o conteúdo dos dados de status de conclusão e dados solicitados na linha de mensagem.
Os recursos HTTP são reconhecidos e posicionados na rede por localizadores de recursos uniformes (URL's) que implementam métodos de identificadores de recursos uniformes (URI) HTTP e https.
# 3) FTP: Significa protocolo de transferência de arquivos. É usado para compartilhar ou transferir os arquivos entre dois hosts. O host que executa o aplicativo FTP se comporta como o servidor FTP, enquanto o outro se comporta como o cliente FTP.
O host do cliente que solicita o compartilhamento de arquivos requer autenticação do servidor para acessar os dados. Uma vez autorizado, ele pode acessar qualquer tipo de arquivo do servidor, enviar ou receber arquivos.
# 4) SMTP: O protocolo de transporte de correio simples é um exercício para enviar e-mails. Quando configuramos o host para envio de e-mails, utilizamos SMTP.
# 5) DNS: Cada um dos dispositivos host em qualquer rede possui um endereço lógico exclusivo denominado endereço IP. Conforme já discutido, os endereços IP são um grupo de tantos números e não são fáceis de memorizar. Quando digitamos qualquer endereço da web em um navegador, como Google.com, estamos, na verdade, solicitando um host com um endereço IP.
Mas não precisamos memorizar o endereço IP da página da web que estamos solicitando, pois o DNS (servidor de nome de domínio) mapeia um nome em relação a cada endereço IP lógico e o armazena.
Assim, quando digitamos no navegador de qualquer página da web, ele envia a consulta DNS ao seu servidor DNS para mapear o endereço IP em relação ao nome. Depois de obter o endereço, uma sessão HTTP é construída com o endereço IP.
# 6) DHCP: Cada um dos dispositivos host em qualquer rede requer um endereço IP para comunicação com os outros dispositivos na rede. Ele obtém esse endereço por configuração manual ou usando um protocolo de configuração de host dinâmico (DHCP). Se estiver usando DHCP, o host será automaticamente atribuído com um endereço IP.
Suponha que uma rede seja composta por 10.000 dispositivos host. Então, alocar o endereço IP manualmente para cada host é muito difícil e demorado, portanto, usamos o protocolo DHCP para atribuir um endereço IP e outras informações aos dispositivos host conectados, como IP de máscara de sub-rede ou IP de gateway.
Os programas de teste de software funcionarão nesta camada do modelo TCP / IP, pois fornece aos usuários finais para testar os vários serviços e usar esses serviços.
Conclusão
Vimos os diferentes protocolos usados em cada camada do modelo TCP / IP para realizar as tarefas associadas à camada e seus benefícios em um sistema de comunicação.
Todos os protocolos definidos acima têm seu próprio significado e diferentes funções no teste e na aplicação das ferramentas de software.
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Tudo sobre Switches de Camada 2 e Camada 3 no Sistema de Rede
- Um guia completo para firewall: como construir um sistema de rede seguro
- Tudo sobre roteadores: tipos de roteadores, tabela de roteamento e roteamento IP
- O que é rede de longa distância (WAN): exemplos de rede WAN ao vivo
- O que são HTTP (protocolo de transferência de hipertexto) e protocolos DHCP?
- Protocolos de camada de aplicativo importantes: protocolos DNS, FTP, SMTP e MIME
- IPv4 vs IPv6: Qual é a diferença exata
- Qual é meu endereço IP e localização (verifique seu IP real aqui)