Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROTOCOLOS DE TRANSPORTE DA INTERNET - Coggle Diagram
PROTOCOLOS DE TRANSPORTE DA INTERNET
UDP
O UDP é um protocolo rápido na entrega das mensagens no destino, realizando a multiplexação e demultiplexação; além disso,
ele oferece um mecanismo de verificação de erros nessa entrega.
campos do cabeçalho de um segmento UDP
Quando a mensagem chega ao destino, o UDP pode entregá-la para a aplicação correta por meio do campo “
porta destino
”. Já a “
porta origem
” é importante para a aplicação que recebe a mensagem, pois ela torna possível saber o número da porta para a qual a resposta deve ser enviada.
É por meio desses campos que o UDP realiza a multiplexação e a demultiplexação.
O campo
tamanho
especifica o tamanho do segmento, incluindo o cabeçalho. Como se trata de um campo de 16 bits, isso significa que o maior segmento UDP será de:
2^16 = 65.536 bytes (64 KBytes)
O campo
soma de verificação
tem a função de garantir que a mensagem chegue ao destino livre de erros. Para tanto, o UDP calcula o CRC dela e o envia neste campo. No destino, o CRC é novamente calculado e comparado. Se ambos forem iguais, a mensagem é considerada livre de erros e entregue na aplicação destino.
O UDP é um protocolo sem estado e
não orientado à conexão
. Descrito pela RFC 768, ele é projetado tanto para pequenas transmissões de dados quanto para aqueles que não requerem um mecanismo de transporte confiável.
Cabe ao programador cuidar da garantia de entrega (ex: DNS) no código da própria aplicação.
Um processo pode ter um ou mais endereços de transporte (conhecidos como portas na arquitetura TCP/IP) pelos quais dados passam da rede para o processo – e vice-versa. Desse modo, a camada de transporte do hospedeiro destino os entrega diretamente a uma porta.
TCP
O TCP é orientado à conexão, sendo indicado para aplicações que precisam trocar uma grande quantidade de dados por meio de uma rede com múltiplos roteadores.
O TCP oferece um fluxo de bytes fim a fim confiável, podendo ser utilizado, inclusive, em redes de baixa confiabilidade.
Na transmissão, ele aceita fluxos de dados da aplicação: dividindo-os em partes de, no máximo, 64 KBytes, ele envia cada uma em um datagrama IP distinto.
Quando os datagramas IP com dados TCP chegam ao hospedeiro destino, eles são, em seguida, enviados à entidade TCP, que restaura o fluxo de dados original.
A camada de rede
(protocolo IP) não oferece nenhuma garantia de que os datagramas serão entregues corretamente
. Portanto, cabe ao TCP administrar os temporizadores e retransmitir os datagramas sempre que for necessário. Cabendo a ele reorganizá-los em mensagens na sequência correta
três aspectos fundamentais da TCP:
Modelo de serviço TCP
O serviço TCP é obtido
quando tanto o transmissor quanto o receptor criam pontos terminais
; denominados portas, eles são identificados por um número de 16 bits.
É necessário que uma conexão seja explicitamente estabelecida entre um hospedeiro transmissor e um receptor.
Todas as conexões TCP são:
Full-duplex
Dados podem ser enviados e recebidos por ela simultaneamente.
Ponto a ponto
Interliga diretamente dois hospedeiros, não permitindo a participação de um terceiro na conversação.
Uma conexão TCP é um fluxo de dados, e não de mensagens.
Isso significa que as fronteiras das mensagens não são preservadas de uma extremidade à outra.
Quando uma aplicação passa dados para a entidade TCP, ela pode enviá-los imediatamente ou armazená-los em um buffer de acordo com suas necessidades.
As entidades TCP transmissoras e receptoras trocam dados na forma de segmentos. Um segmento consiste em um cabeçalho fixo de 20 bytes mais uma parte opcional, seguido de zero ou mais bytes de dados. O software TCP decide qual deve ser o tamanho dos segmentos, podendo:
Acumular dados de várias escritas em um único segmento.
Dividir os dados de uma única escrita em vários segmentos.
CABEÇALHO DE SEGMENTO TCP
Cada segmento TCP começa com um cabeçalho de formato fixo – podendo ser seguido por opções de cabeçalho – de 20 bytes. Depois das opções, é possível haver 65.515 bytes de dados.
Gerenciamento de conexão TCP
As conexões estabelecidas no TCP utilizam um esquema conhecido como three way handshake. Para estabelecer uma conexão, um lado aguarda passivamente, enquanto o outro solicita uma especificando o endereço de rede (endereço IP) e a porta com a qual deseja se conectar.
É enviado então um segmento TCP com o bit SYN ativado e o bit ACK desativado. Quando ele chega ao destino, a entidade TCP do destino verifica se existe um processo aguardando na porta destino. Se não existir, ela enviará uma resposta com o bit RST ativado para rejeitar a conexão.
No entanto, se algum processo estiver na escuta dessa porta, a ele será entregue o segmento TCP recebido. Em seguida, tal processo poderá aceitar ou rejeitar a conexão. Se ele aceitar, um segmento de confirmação será retornado.
Portas conhecidas
Para que uma aplicação possa acessar outra remota, é necessário conhecer o endereço do hospedeiro no qual ela se encontra. Ele serve, portanto, para que se consiga chegar ao hospedeiro remoto.
Como o protocolo de transporte do destino consegue saber para qual de suas aplicações deve entregar a mensagem?
A resposta é o conceito de porta, que é responsável por identificar a aplicação no destino.
Como podemos identificar a porta utilizada pela aplicação?
Empregar um sistema no qual a aplicação é registrada toda vez que inicializa para o cliente poder consultar sua porta.
Usar sempre o mesmo endereço de forma que as aplicações a iniciarem a conversação saibam de antemão com qual endereço trocar mensagens.
Uma porta TCP ou UDP é identificada por um número inteiro de 16 bits.