A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Parte I - Básico de IPv4 e Introdução ao Roteamento

Apresentações semelhantes


Apresentação em tema: "Parte I - Básico de IPv4 e Introdução ao Roteamento"— Transcrição da apresentação:

1 Parte I - Básico de IPv4 e Introdução ao Roteamento
TCP - Transmission Control Protocol

2 TCP - Transmission Control Protocol
Como vimos até agora o IP faz a entrega de informação baseado em um serviço não orientado à conexão, que devido à suas características próprias é conhecido como não confiável. Para que os problemas inerentes ao IP sejam superadas precisamos de um serviço fim-a-fim confiável, e que desempenhará este papel é o protocolo de transporte, conhecido como TCP.

3 TCP - Transmission Control Protocol
O TCP (Transmission Control Protocol - Protocolo de Controle de Transmissão), não é o único protocolo de transporte do modelo TCP/IP, além dele temos o UDP, que será estudado mais tarde. Vamos a partir de agora neste item descrever o protocolo TCP, o seu funcionamento e entender como ele consegue transformar a Internet em um ambiente confiável, apesar de ser usado o IP no nível rede.

4 TCP - Transmission Control Protocol
O TCP foi idealizado para que a entrega fim-a-fim dos dados seja feita de forma confiável, sendo que para isso ele deve realizar as seguintes operações:

5 TCP - Transmission Control Protocol
Compatibilização de Tamanho dos Segmentos: Quando temos que transmitir um bloco de dados entre aplicações, este pode ser muito grande para ser aceito pela camada rede, ou muito pequenos para que haja uma eficiência razoável no processo de transmissão. É função do TCP, segmentar em blocos menores ou em caso contrário buferizar os blocos pequenos, até que tenham um tamanho suficientemente grande para ser transmitidos.

6 TCP - Transmission Control Protocol
Garantia de Integridade dos Dados: Devido às características de falta de um serviço confiável de dados oferecido pela camada rede, o TCP foi concebido com mecanismos capazes de suprir a comunicação de mecanismos capazes de fim-a-fim gerar um serviço confiável. Para isso alguns algoritmos são essenciais:

7 TCP - Transmission Control Protocol
Checksum, que diferentemente do IP se estende à área de dados também. Implementação de uma numeração de seqüência para cada mensagem trocada, para garantir integridade na troca de informações. Estes são confirmados ao transmissor quando chegam íntegros no receptor.

8 TCP - Transmission Control Protocol
Implementação de fluxo “Full Duplex”na comunicação: o protocolo TCP implementa uma transmissão bidirecional simultânea, denominada full duplex, que permite uma aplicação enviar e receber dados simultaneamente, com tratamento individual para cada operação.

9 TCP - Transmission Control Protocol
Técnica Sliding Window: Também conhecida como janela deslizante, propicia o envio de vários segmentos de dados encapsulados em seus próprios datagramas IP, sem a necessidade de confirmação imediata, aumentando assim o throughput da transmissão. Devido à importância desse método irmos explorá-lo em detalhes:

10 TCP - Transmission Control Protocol
Funcionamento da Técnica Sliding Window: Para garantir a integridade dos dados foi colocado um número de seqüência em cada segmento TCP, e dissemos que este deve ser confirmado pelo receptor, isto pode ser ilustrado como na figura à seguir:

11 TCP - Transmission Control Protocol
Host A Host B Linha de Eventos Dados 1 Tx de dados Rx de dados ACK 1 Rx confirma dados Tx confirmação de dados Dados 2 Tx de dados Rx de dados ACK 2 Rx confirma dados Tx confirmação de dados

12 TCP - Transmission Control Protocol
O método exemplificado trabalha no conceito de fluxo half-duplex (transmissão seguida de confirmação), porém o transmissor não continua a transmissão de novo segmento antes de receber o ACK do receptor. Para melhorar o desempenho desse tipo de transmissão tornando-a full-duplex iremos implementar o ACK junto com os dados de receptor, técnica conhecida como piggyback (carona).

13 TCP - Transmission Control Protocol
Host A Host B Linha de Eventos Dados 1 Tx de dados Rx de dados Dados 2 + ACK 1 Rx de dados+conf. Tx confirmação de dados+conf. Dados 3 + ACK 2 Tx de dados+conf. Rx de dados+conf. ACK 3 Rx confirma dados Tx confirmação de dados

14 TCP - Transmission Control Protocol
Podemos otimizar ainda mais esta transmissão através da técnica sliding window. Se aumentarmos o número de segmentos transmitidos sem confirmação, podemos aumentar o throughput da rede.

15 TCP - Transmission Control Protocol
Dados 1 Tx de dados Rx de dados Dados 2 Tx de dados Rx de dados Dados 3 Tx de dados Rx de dados Dados1+ack2 Rx dados+conf. Tx dados+conf. Dados 4 Tx de dados Rx de dados Dados+ack4 Rx dados+conf. Tx dados+conf. Dados 5+ack1 Tx de dados+conf Rx de dados+conf Dados 6+ack2 Tx de dados+conf Rx de dados+conf Dados 7+ack2 Tx de dados+conf Rx de dados+conf Dados 8+ack2 Tx de dados+conf Rx de dados+conf Dados 9+ack2 Tx de dados+conf Rx de dados+conf ack9 RX da confirmação. Tx da confirmação

16 TCP - Transmission Control Protocol
Denominamos de tamanho da janela, como sendo o número máximos de segmentos de dados transmitidos e pendentes de confirmação. Esse número é determinado pelo TCP, que analisa a qualidade do canal, e implementa o melhor número de janela possível. O tamanho da janela é dinâmico e pode ser incrementado quando o canal permite ou diminuído caso seja necessário. E isto é feito em cima de uma conexão ativa.

17 TCP - Transmission Control Protocol
Vejamos no nosso exemplo, quando iniciamos a transmissão a janela estava vazia (e foi negociada no início da transmissão como sendo de valor 5), e depois de 2 quadros tínhamos dados prontos para sair do Host B para o Host A. Enviamos os dados e aproveitamos a carona e mandamos a confirmação dos quadros recebidos.

18 TCP - Transmission Control Protocol
Dois quadros confirmados Janela Início Janela Fim 1 2 3 4 5 6 7 8 9 10 1 2 Escorregamento da janela

19 TCP - Transmission Control Protocol
Utilização de Canalizações Virtuais: O TCP também é o responsável por multiplexar as aplicações que estão em andamento no Host no momento. Para isso ele utiliza da formação de canais virtuais (também conhecidos como pipes ou dutos). Isto é realizado estabelecendo-se canais lógicos entre fonte e destino.

20 TCP - Transmission Control Protocol
Esses canais são abertos no momento de uma solicitação de alguma aplicação, e desaparece quando termina a transferência desejada. Cada aplicação recebe um número lógico de identificação (denominado Port). Um par de Ports é que identifica um duto (canal lógico). Alguns Ports são colocados à disposição do Sistema operacional do Host que os distribui para as aplicações que estão rodando.

21 TCP - Transmission Control Protocol
Vamos agora ver o formato do Pacote TCP. Data Options (If Any) Padding Checksum Urgent Pointer Hlen Reserved Code Bits Window Acknowledgement Number Sequence Number Source Port Destination Port

22 TCP - Transmission Control Protocol
Descrição dos Campos do TCP: Source Port e Destination Port: Compostos de 16 bits cada , identificam o port de origem e o port destino respectivamente. Esses campos somados aos respectivos endereços IP identificam o Canal Virtual.

23 TCP - Transmission Control Protocol
Sequence Number: Campo composto de 32 bits, utilizado para efetuar o controle de fluxo do protocolo TCP. O seu funcionamento é um pouco diferente do normalmente usado em protocolos que usam este parâmetro, o seu funcionamento será mostrado mais adiante, quando vermos como o TCP controla a transmissão.

24 TCP - Transmission Control Protocol
Acknowledgement Number: Composto de 32 bits, usado em conjunto com o sequence number, é usado para confirmar o recebimento dos segmentos.

25 TCP - Transmission Control Protocol
Hlen: Composto de 4 bits, especifica o tamanho do Header TCP. Ele existe por causa do campo Options (que é variável).

26 TCP - Transmission Control Protocol
Reserved: Composto por 6 bits. Atualmente sem uso, está reservado para implementações futuras.

27 TCP - Transmission Control Protocol
Code Bits: Composto de 6 bits. Utilizado para determinar a função (ou funções) do pacote e seu conteúdo, conforme a tabela à seguir:

28 TCP - Transmission Control Protocol

29 TCP - Transmission Control Protocol
URG: Quando setado em 1, sinaliza que o campo Urgent Pointer deve ser lido pois contém dados válidos. ACK: Quando setado em 1, sinaliza que o Header envia uma confirmação válida. (Campo Acknowledgement Number).

30 TCP - Transmission Control Protocol
PSH: Quando setado em 1, avisa o receptor que os dados podem ser entregues diretamente à aplicação. Uma resposta afirmativa a este comando significa que o receptor mandou todos os dados à aplicação correspondente. SYN: Quando setado em 1, sinaliza um pedido de conexão para outro TCP.

31 TCP - Transmission Control Protocol
FIN: Quando setado em 1, sinaliza um pedido de desconexão. Este comando é unidirecional, se um TCP finaliza a sua transmissão enviando um FIN para a outra máquina (que deve confirmar), porém pode continuar enviando até que cesse a sua atividade, quando manda o seu próprio comando FIN.

32 TCP - Transmission Control Protocol
Window: Composto de 16 bits, contém o tamanho da janela que o transmissor está apto à trabalhar. O receptor que avaliar este campo irá comparar com o suas próprias aptidões e se a sua janela for maior, deve diminuí-la, se for menor envia para o outro lado a sua própria janela, se for igual nada muda. Assim a janela adotada será sempre a menor entre os envolvidos na conexão.

33 TCP - Transmission Control Protocol
Checksum: Composto de 16 bits, utilizado para checar erros, não só do Header TCP, mas também da sua área de dados. O algoritmo usado é bastante eficiente, e consegue controlar todos os erros que porventura tenham sido transparentes às camadas inferiores.

34 TCP - Transmission Control Protocol
Urgent Pointer: Composto de 16 bits, sinaliza à aplicação que o campo Data possui uma informação urgente, que deve ser processada antes que qualquer outra que esteja em fila. Além o seu valor aponta para o último octeto dessa informação urgente.

35 TCP - Transmission Control Protocol
Options: Possui tamanho variável dependendo das opções utilizadas. Atualmente é usada apenas para a facilidade MSS (Maximum Segment Size), porém pode ser fruto de futuras implementações do TCP.

36 TCP - Transmission Control Protocol
MSS (Maximum Segment Size): As máquinas conectadas através de uma conexão TCP, fazem uso desta facilidade para negociar tamanho máximo dos segmento de dados que serão utilizados. Este deve levar em conta o MTU, mas pode levar em consideração outros fatores como a capacidade de bufferização de uma máquina em particular na rede.

37 TCP - Transmission Control Protocol
Padding: Possui tamanho variável, serve para que, juntamente com o campo Options, o tamanho desses dois campos juntos tenha 32 bits. O enchimento deste campo é sempre com 1s.

38 TCP - Transmission Control Protocol
Data: Possui tamanho variável, é usado para acomodar a informação de nível superior (camada aplicação do TCP/IP). É sempre múltiplo de 8 bits.

39 TCP - Transmission Control Protocol
A partir de agora vamos ver como o TCP realiza as funções que estamos prometendo, desde o início deste assunto. Vamos descrever o funcionamento pelas funções realizadas por este protocolo.

40 TCP - Transmission Control Protocol
Reconhecimentos e Retransmissões: O reconhecimento do TCP não é referenciada em relação ao número do bloco transmitido (como ocorre no nível 2), o algoritmo usado agora é número de octetos válidos no buffer do Receptor. Assim se recebermos corretamente um bloco de dados com 1000 octetos, a confirmação será usando o número 1000 (Sequence Number), para explicitar a quantidade de dados validados no receptor.

41 TCP - Transmission Control Protocol
Um exemplo é muitas vezes mais explicativo do que palavras, assim observe a figura abaixo. Seq. Number: 0 Seq. Number: 1000 Seq. Number: 2000 Imagine que o TCP mande 3 blocos de dados começando com o número de seqüência 0. O blocos possuirão os números de seqüência conforme apresentado acima.

42 TCP - Transmission Control Protocol
Digamos que o TCP destino perceba um erro no segundo bloco, ele enviará para o TCP origem uma solicitação de retransmissão baseado no número da linha onde inicia o problema, no caso, 1000. Seq. Number: 0 Seq. Number: 1000 Seq. Number: 2000 O TCP origem enviará um novo bloco numerado em 1000 (representando o bloco 1000 à 1999). Porém essa técnica possui um inconveniente, o bloco sem erros numerado como 2000 (2000 à 2999), será igualmente retransmitido, pois a origem não tem como saber se ele está validado ou não.

43 TCP - Transmission Control Protocol
Para evitar essa retransmissão redundante, o TCP receptor pode, ao receber o bloco numerado como 1000 (1000 à 1999), enviar um reconhecimento (ack) numerado como 3000. Seq. Number: 0 Seq. Number: 1000 (Retransmitido) Seq. Number: 2000 Esse procedimento é particularmente importante pois o TCP origem ao receber este ack irá pular o bloco 2000 (2000 à 2999) e irá voltar a transmitir à partir de 3000.

44 TCP - Transmission Control Protocol
Time Out de Recepção: Toda vez que um bloco de dados é enviado, o TCP dispara um contador, que é resetado somente quando a confirmação (positiva ou negativa) deste bloco chegar. Se for positiva, o TCP libera o contador da janela em mais uma posição. E continua a transmitir, se houver dados na aplicação.

45 TCP - Transmission Control Protocol
Se for negativa, o TCP retransmite o bloco com problemas, e espera novamente confirmação. Se não houver confirmação de tipo nenhum, o contador de time-out gerará uma retransmissão do bloco (pressupõe-se a perda de um datagrama). Isso pode acontecer algumas vezes seguidas à partir das quais o TCP encerra a conexão.

46 TCP - Transmission Control Protocol
O valor desse time-out é calculado pelo TCP, que procura, à partir das características que a rede está mostrando naquele momento, um valor ideal.

47 TCP - Transmission Control Protocol
Estabelecimento de Conexão IP: O método usado pelo TCP, para estabelecer a conexão (gerar o duto ou canal virtual) sobre uma rede não orientada à conexão como o IP, é conhecido como “Aperto de Mão Triplo”. Este procedimento pode ser iniciado por qualquer uma das partes envolvidas. Vejamos o exemplo à seguir:

48 TCP - Transmission Control Protocol
Host A Host B Linha de Eventos Mensagens na Rede SEQ(20), FLAGS(SYN) Recepção do Pedido de conexão Solicitação de conexão SEQ(70), FLAGS(ACK,SYN), ACK(21) Confirmação de conexão Recepção de ACK para conexão SEQ(21), FLAGS(ACK), ACK(71) Envio de confirm. para o ACK de conexão Recepção do ACK

49 TCP - Transmission Control Protocol
Fluxo da Troca de Dados TCP: Para mostrar isso observe a seqüência a seguir.

50 TCP - Transmission Control Protocol
Host A (eventos) Host B (eventos) Seq(100), Flags (Syn) Pedido de Conexão Rx do Pedido de Conexão Seq(300),Flags (ACK,SYN), ACK(101) Confirmação OK Conexão OK Dados +confirm. Seq(101), Flags(ACK), ACK(301), Data(50) Dados +confirm. Seq(301),Flags (ACK), ACK(151), Data (10) Dados + confirm. Dados + confirm. Seq(151), Flags(ACK), ACK(311), Data(20) Dados +confirm. Dados +confirm. Dados +confirm. Seq(171), Flags(ACK), ACK(311), Data(30) Dados +confirm. Seq(311),Flags (ACK), ACK(201), Data (89) Dados + confirm. Dados + confirm. Seq(400),Flags (ACK), ACK(201), Data (50) Dados + confirm. Dados + confirm. Seq(450),Flags (ACK), ACK(201), Data (50) Dados + confirm. Dados + confirm. Seq(500),Flags (ACK), ACK(201), Data (50) Dados + confirm. Dados + confirm. Datagrama perdido por falha na rede. Dados + pedido de retransm. Seq(201), Flags(ACK), ACK(500), Data(49) Dados + pedido de retransm. Seq(500),Flags (ACK), ACK(250), Data (100) Dados + confirm. de retransm. Dados + confirm. de retransm. Seq(250), Flags(FIN,ACK), ACK(600) Confirm.+ finaliz. Confirm.+ finaliz. Seq(600),Flags (FIN,ACK), ACK(251) Confirma a desconexão Confirma a desconexão Seq(251), Flags(FIN,ACK), ACK(601) Desconexão OK. Desconexão OK.

51 TCP - Transmission Control Protocol
Well Known Ports: Alguns Ports TCP são previamente reservados para aplicações conhecidas, isso facilita o processo, pois não há a necessidade de se negociar nada com a aplicação, basta ser solicitada uma conexão pelo port (também conhecido como socket) certo, que o TCP irá proceder conforme as necessidades já conhecidas da aplicação solicitante.

52 TCP - Transmission Control Protocol
Abaixo relacionamos os Ports (Sockets) conhecidos e a aplicação à que estão reservados. Obs.: Conforme a tabela, no arquivo Word97 socket.doc.

53 Parte I - Básico de IPv4 e Introdução ao Roteamento
UDP - User Datagram Protocol

54 UDP - User Datagram Protocol
Protocolo criado para complementar as funções do TCP/IP, e substitui o TCP, em situações onde a aplicação não deva gerar um volume grande de dados na Internet. Protocolos de aplicação como o SNMP (gerência), TFTP(transferência de arquivos) e o RTP(Voz sobre IP), usam o serviço de transporte do UDP.

55 UDP - User Datagram Protocol
Se formos analisar o serviço UDP em comparação com o TCP, veremos que o UDP é muito inferior. Porém gera um overhead muito baixo na rede, pois possui um Header muito pequeno. Para algumas aplicações o serviço de transporte oferecido pelo TCP pode ser simplificado em prol dessa eficiência melhorada.

56 UDP - User Datagram Protocol
O UDP não implementa confirmações (acknowledgements), janelas (windows), nem sequenciamento. Portanto o serviço UDP é não confiável como o é o do IP. O UDP apenas especifica um controle de transporte à nível de identificação de Ports (Sockets).

57 UDP - User Datagram Protocol
Vemos abaixo o Header UDP. DATA UDP MESSAGE LENGTH UDP CHECKSUM UDP SOURCE PORT UDP DESTINATION PORT Header UDP

58 UDP - User Datagram Protocol
UDP SOURCE PORT: Campo composto de 16 bits, e identifica o número do port da aplicação origem (alocado no Host origem). Este campo é opcionalmente preenchido, porém para aplicações onde o destino deve responder alguma coisa, ele deve estar preenchido.

59 UDP - User Datagram Protocol
UDP DESTINATION PORT: Composto de 16 bits, é utilizado para alocar o port destino da aplicação que desejamos usar. Podemos usar ports padrão (Well Known Ports) ou podemos solicitar um port vago para a aplicação desejada.

60 UDP - User Datagram Protocol
UDP MESSAGE LENGTH: Composto de 16 bits, especifica o tamanho total da mensagem UDP. No caso, o Header mais os dados da respectiva aplicação.

61 UDP - User Datagram Protocol
UDP CHECKSUM: Campo composto de 16 bits, é opcional, ficando à cargo da aplicação (TFTP, BOOTP, RTP, etc.) a solicitação do seu uso. Este checksum é calculado tomando como base o header UDP e nos Dados. Lembrando que o UDP não possui mecanismos de retransmissão ou de controle de fluxo, então a aplicação que deve implementar algo neste sentido (se necessitar).

62 UDP - User Datagram Protocol
Campo de tamanho variável, contém os dados da camada superior (aplicação), que usam o serviço UDP para serem transportados na rede.

63 UDP - User Datagram Protocol
Funcionamento: A principal função do UDP é a de proporcionar o serviço de multiplexação/demultiplexação de dados da aplicação, e controlar a sua entrega aos ports corretos. O objetivo é eliminar todo o controle de forma a liberar o processamento da máquina para outras coisas, além de gerar um overhead mínimo.

64 UDP - User Datagram Protocol
Encapsulamento do Protocolo UDP Mensagem UDP UDP Header UDP DATA Datagrama IP DATAGRAM Header DATAGRAM DATA Area UDP Header UDP DATA Quadro de nível 2 FRAME DATA Area FRAME Header Tailer DATAGRAM Header UDP UDP DATA

65 Parte I - Básico de IPv4 e Introdução ao Roteamento
Aplicações mais Comuns

66 Aplicações mais Comuns (TELNET)
Telnet é uma aplicação que possibilita a conexão de um computador com sistemas remotos. Ele consiste de duas partes (o lado cliente e o lado servidor), ver figura à seguir.

67 Aplicações mais Comuns (TELNET)
Hardware Físico e Protocolos de Acesso ao Meio IP ICMP TCP UDP K R B O S X ANS.1 CMOT M P F C I V D DOMAIN NAME SERVICE A E P S L P I E C C A I Ç A Õ L E I S Z A D.

68 Aplicações mais Comuns (TELNET)
O uso fundamental do TELNET é o compartilhamento de recursos, no ambiente de rede. Quando necessitamos estabelecer uma conexão de forma a comandar remotamente um Host, a partir do Host local, a aplicação que pode fazer isso é o TELNET. Com isso podemos por exemplo mandar uma máquina remota abrir um aplicativo, fazer uma tarefa (job), e esperar o resultado já processado no Host local.

69 Aplicações mais Comuns (TELNET)
Assim o TELNET viabiliza o acesso remoto à múltiplas fontes de processamento no ambiente da rede corporativa. Vejamos o exemplo à seguir para entender melhor o que foi exposto:

70 Aplicações mais Comuns (TELNET)
Consideremos uma pequena rede composta de 3 servidores (Hosts A, B e C). O Host A é dedicado à programas de treinamento. O Host B é dedicado à Banco de Dados de Clientes e Fornecedores. O Host C é usado para controlar terminais que acessam os serviços da rede.

71 Aplicações mais Comuns (TELNET)
Host C TCP/IP Programas de Treinamento Banco de Dados de Clientes de Fornecedores Host A Host B

72 Aplicações mais Comuns (TELNET)
Nesta configuração a maior parte dos usuários fazem uso dos serviços do servidor C. Porém pela rede podem fazer uso dos serviços dos servidores A e B. Bastando para isso digitar TELNET A ou B. Por exemplo para fazer uso de um programa de treinamento deverá digitar TELNET A, no prompt adequado.

73 Aplicações mais Comuns (TELNET)
Quando isso acontece o Host C acessa (através do cliente TELNET local) o servidor TELNET do Host A, e simplificando os processos. O Host A responde através do seu servidor TELNET, à solicitação de conexão, estabelecendo uma sessão lógica. O prompt do computador A é então exibido.

74 Aplicações mais Comuns (TELNET)
Host C TCP/IP Programas de Treinamento Banco de Dados de Clientes de Fornecedores Host A Host B

75 Aplicações mais Comuns (TELNET)
Banco de Dados de Clientes Banco de Dados de Fornecedores Programas de Treinamento Host A Host B TCP/IP TCP/IP TCP/IP Host C

76 Aplicações mais Comuns (TELNET)
Depois desse procedimento a tela do terminal do usuário é a tela do Host A, e todo comando dado é aceito diretamente por A. Assim se rodarmos um aplicativo, este estará sendo processado em A. O resultado será mostrado em C, que repassa para o terminal de usuário.

77 Aplicações mais Comuns (TELNET)
Neste momento estamos verdadeiramente comandando remotamente a máquina A, que obedece cada comando editado em C. O próximo exemplo mostra como este comando pode ser usado via Internet.

78 Aplicações mais Comuns (TELNET)
Rede Corporativa Biblioteca UFRGS Servidor na Biblioteca Internet Rede Corporativa CRT O seu micro

79 Aplicações mais Comuns (TELNET)
No seu browser (no exemplo foi usado o Internet Explorer 5.0), digite telnet://asterix.ufrgs.br , esse é o endereço do servidor na biblioteca da UFRGS. O que estamos dizendo esta ilustrado à seguir.

80

81 Aplicações mais Comuns (TELNET)
Com esse procedimento se abrirá automaticamente um programa acessório do Windows, chamado Telnet. A tela resultante é mostrada à seguir.

82

83 Aplicações mais Comuns (TELNET)
Use o login e a password indicadas: login: sabibib O resultado é visto na tela seguinte.

84

85 Aplicações mais Comuns (TELNET)
A partir daí você é que comanda remotamente o servidor da biblioteca da UFRJ. Se quiser pode brincar um pouco, não vamos continuar porque fugimos do escopo do trabalho. Para sair use o comando hgdsfhwegfjwe

86 Aplicações mais Comuns (TELNET)
Vamos agora nos aprofundar um pouco mais nos conceitos de TELNET. Considerando características intrínsecas à este protocolo. A primeira coisa à ser considerada é que o TELNET é um protocolo, mas também é um aplicativo. Ou seja por TELNET entendemos o protocolo da pilha TCP/IP e também o aplicativo Telnet do Windows que nos ajudou a fazer a conexão.

87 Aplicações mais Comuns (TELNET)
Sob a perspectiva de aplicativo, o TELNET permite que o usuário chame um programa (Ex.Telnet), e com ele efetue uma conexão remota com outro Host. Veja a figura à seguir.

88 Aplicações mais Comuns (TELNET)
Banco de Dados de Clientes Banco de Dados de Fornecedores Programas de Treinamento Host A Host B TELNET Servidor TELNET Cliente TELNET Servidor TELNET Cliente TCP/IP TCP/IP TCP/IP Telnet A TELNET Cliente Host C TELNET Servidor

89 Aplicações mais Comuns (TELNET)
O que podemos ver é que quando digitamos o comando TELNET A, estamos acessando o aplicativo em C, que usa o protocolo Cliente TELNET, para acessar o Servidor TELNET na máquina A. Cabe salientar que tanto o Servidor como o Cliente TELNET, estão implementadas em todos os Hosts que possuem a pilha TCP/IP.

90 Aplicações mais Comuns (TELNET)
O TELNET possui comandos que são usados para controlara a conexão, estes são particularmente importantes quando temos máquinas Unix, ou Linux, onde não temos menus para fazer o controle da conexão. À seguir mostramos os principais comandos TELNET.

91 Aplicações mais Comuns (TELNET)
close - Fecha a conexão atual. display - Exibe os parâmetros operacionais em uso pelo TELNET. Esses parâmetros podem ser modificados e dependem de cada instalação. mode - Indica se as entradas devem ser feitas uma linha ou um caractere de cada vez. open - Este comando deve ser introduzido antes do nome do host de destino, a fim de que a sessão possa ser estabelecida. quit - Encerra a sessão TELNET.

92 Aplicações mais Comuns (TELNET)
send - Possibilita a transmissão de caracteres especiais. set - Este comando é utilizado para definir certos parâmetros de uma sessão TELNET. status - Fornece informações sobre a conexão e os parâmetros operacionais em uso na sessão atual. toggle - Permite modificar alguns parâmetros operacionais. z - Este comando suspende o prompt telnet>. ? - Lista os comandos TELNET válidos.

93 Aplicações mais Comuns (TELNET)
Apenas uma última consideração sobre o TELNET. Ele não possui nenhum controle de segurança, ou seja, o servidor TELNET nunca recusará um pedido do cliente TELNET. O login e password que vimos no exemplo é por conta do Sistema Operacional. Isso pode ser inseguro em determinadas circunstâncias. A solução para isso está no Rlogin.

94 Aplicações mais Comuns (Rlogin)
Alguns ambientes Unix, implementam uma facilidade de login remoto denominado Rlogin. Neste caso só são aceitas conexões de Hosts “conhecidos”, ou seja, equipamentos especificados a priori e dentro de padrões pré-definidos. Esta aplicação permite que o administrador da rede defina as máquinas usuárias da mesma, bem como suas identificações (nome, senha, domínio, etc.).

95 Aplicações mais Comuns (Rlogin)
Uma observação importante é que o Rlogin é restrito ao ambiente Unix, onde é usado por suprir esta falta de segurança do TELNET. Porém para qualquer outra máquina o TELNET é que é implementado na pilha TCP/IP.

96 Aplicações mais Comuns (FTP - File Transfer Protocol)
O FTP é uma aplicação que permite a transferência de arquivos entre dois Hosts que possuam os componentes TCP/IP necessários para esse fim. O nome transferência não é no sentido normalmente usado, estamos na verdade fazendo uma cópia de um arquivo para uma máquina remota. Como o TELNET, ele é composto por um cliente e um servidor.

97 Aplicações mais Comuns (FTP - File Transfer Protocol)
Hardware Físico e Protocolos de Acesso ao Meio IP ICMP TCP UDP K E R B O S X ANS.1 CMOT M L N C I V D DOMAIN NAME SERVICE A E P S L P I E C C A I Ç A Õ L E I S Z A D.

98 Aplicações mais Comuns (FTP - File Transfer Protocol)
O FTP é considerada uma aplicação voltada para o usuário, e possui uma operação bastante simples. A figura à seguir mostra uma conexão FTP.

99 Aplicações mais Comuns (FTP - File Transfer Protocol)
Banco de Dados de Clientes Banco de Dados de Fornecedores Programas de Treinamento Host A Host B FTP Servidor FTP Cliente FTP Servidor FTP Cliente TCP/IP TCP/IP TCP/IP FTP A FTP Cliente Host C FTP Servidor

100 Aplicações mais Comuns (FTP - File Transfer Protocol)
As funções básicas do FTP são: Copiar um arquivo de um Host para outro Copiar múltiplos arquivos de um Host para outro. Pode criar e/ou remover diretórios no Host destino. Possibilita a identificação do diretório atual no Host destino.

101 Aplicações mais Comuns (FTP - File Transfer Protocol)
Permite concatenar um arquivo do Host remoto com um arquivo armazenado no Host local. Permite concatenar um arquivo local com um arquivo armazenado no Host remoto.

102 Aplicações mais Comuns (FTP - File Transfer Protocol)
Banco de Dados de Clientes Banco de Dados de Fornecedores Programas de Treinamento Host A Host B FTP Servidor FTP Cliente FTP Servidor FTP Cliente TCP/IP TCP/IP TCP/IP FTP A FTP Cliente Host C FTP Servidor Banco de Dados Local

103 Aplicações mais Comuns (FTP - File Transfer Protocol)
Além de implementar estas funções, o FTP permite a introdução de comandos em um cliente. Alguns comandos válidos FTP são mostrados à seguir.

104 Aplicações mais Comuns (FTP - File Transfer Protocol)

105 Aplicações mais Comuns (FTP - File Transfer Protocol)
Esses comandos, na maioria são comandos do shell do Unix, ou seja, são comandos do Sistema operacionais, que ficam disponibilizados pelo FTP. Alguns são explicados agora: get - Este comando é utilizado para “pegar” um arquivo armazenado no computador remoto.

106 Aplicações mais Comuns (FTP - File Transfer Protocol)
put - Este comando é utilizado para “colocar” um arquivo contido no Host fonte (onde foi solicitado o cliente) no Host destino (onde foi solicitado o servidor). open - Depois deste comando o cliente FTP pedirá o nome do Host destino. close - Encerra a conexão lógica entre Host fonte e destino.

107 Aplicações mais Comuns (FTP - File Transfer Protocol)
Vamos fazer um exemplo de utilização do FTP, como no caso do TELNET. Abra o browser, e digite na linha de comando ftp://ftp.unicamp.br O que você vê como resultado é.

108

109

110 Aplicações mais Comuns (FTP - File Transfer Protocol)
No sistema operacional como o Windows (que é totalmente gráfico, para conseguirmos usar os recursos do FTP, precisamos instalar na máquina programas aplicativos que façam esta função de acessar a pilha TCP/IP. Exemplos são o CuteFTP, o Getright, etc. Você pode conseguir estes, e muitos outros em

111 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
O FTP é um protocolo alta confiabilidade, e por isso é altamente complexo. Porém podemos imaginar situações em que tenhamos máquinas que não tem disponível uma área de armazenamento de informações grande (por exemplo diskless), ou que tenham uma performance muito baixa, e que por isso fica impraticável a implementação do FTP.

112 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
Nestes casos cabe melhor o protocolo TFTP, que é muito mais simples, e que usa o serviço de transporte do UDP, o que possibilita a sua implementação em uma ROM ou RAM, mesmo em máquinas limitadas neste aspecto.

113 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
Funcionamento: Não necessita de um serviço de transporte confiável. Os arquivos transmitidos são segmentados em blocos, de tamanho fixo, de 512 bytes. Cada bloco aguarda a confirmação da recepção (feita pelo próprio TFTP), para prosseguir.

114 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
A conexão TFTP ocorre com o envio do primeiro bloco, que definirá se o arquivo à ser transferido será lido (servidor  cliente) ou será escrito (cliente  servidor). Esse primeiro bloco é visto abaixo. READ REQ.(1) FILENAME MODE WRITE REQ.(2) Requisição de Leitura Requisição de Escrita

115 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
Os campos desses blocos são interpretados assim: READ ou WRITE REQUEST: Composto por 16 bits e define se desejamos abrir uma escrita (valor 2) ou se desejamos abrir uma leitura (valor 1). FILENAME: Variável, contém o nome do arquivo que desejamos transferir. 0: Este campo delimita o fim de FILENAME e o início de MODE.

116 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
MODE: Variável e especifica o status do cliente (se é somente escrita, somente leitura ou ambos).

117 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
Logo após a conexão, passamos à fase de transferência de dados. O pacote de dados é visto abaixo. DATA (3) BLOCK# DATA OCTETS Dados

118 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
Descrição dos campos: DATA: Composto de 16 bits, se o valor igual a 3 identifica que o bloco de informação é de dados à serem transferidos. BLOCK#: Composto de 16 bits, contém uma numeração seqüencial, representando o número do bloco transmitido. DATA OCTETS: Contém a informação transferida propriamente dita. Contém sempre 512 octetos.

119 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
Para cada bloco transmitido é feita uma confirmação (sem janela). Esta confirmação é feita com o bloco ACKNOWLEDGE, que é mostrado abaixo. ACK (4) BLOCK# ACK

120 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
Os campos do bloco ACK é mostrado à seguir: ACK: Composto de 16 bits, possui valor 4 para caracterizar um ACK. BLOCK: Contém 16 bits, serve para identificar o número do bloco confirmado.

121 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
Por fim é previsto uma forma de recuperação de erros automática com a mensagem ERROR. O mensagem ERROR é mostrada abaixo: ERROR(5) ERROR CODE ERROR MESSAGE Mensagem ERROR

122 Aplicações mais Comuns (TFTP - Trivial File Transfer Protocol)
Os campos da mensagem ERROR são descritos abaixo: ERROR: Composto de 16 bits, se possui valor 5 identifica que a mensagem é de erro. ERROR CODE: Composto de 16 bits, contém o código do erro encontrado pelo receptor. ERROR MESSAGE: Variável, é identificado o seu fim pelo byte 0 final, contém um diagnóstico de falha e uma cópia de alguns dados da mensagem rejeitada.

123 Aplicações mais Comuns (NFS - Network File System)
Protocolo Desenvolvido pela SUN Microsystems Incorporated, provê acesso à arquivos que são compartilhados on-line, de forma transparente aos usuários e totalmente integrado como o sistema operacional e softwares aplicativos. Para o usuário esta aplicação é totalmente transparente, pois ele é incapaz de saber se aquilo que está executando está ou não em sua máquina, ele apenas solicita e todo o sistema se encarrega de executar, sem o detalhamento para o usuário.

124 Aplicações mais Comuns (NFS - Network File System)
O NFS se interfaceia diretamente com o sistema operacional da máquina que estamos trabalhando. Isso é o grande ponto relativo à sua transparência. Vamos então à partir de agora descrever a implementação deste protocolo.

125 Aplicações mais Comuns (NFS - Network File System)
Implementação: O NFS implementa uma interface entre o Sistema Operacional e os arquivos remotos, sendo que quando um programa aplicativo é executado, ele aciona o sistema operacional, que solicita ao NFS que faça a recuperação de dados, abertura ou armazenamento de determinado arquivo.

126 Aplicações mais Comuns (NFS - Network File System)
Deve ficar claro que o Sistema Operacional é quem decide, mediante o pedido da aplicação, se acionará o sistema de arquivos local ou o NFS, de acordo com a localização dos arquivos desejados. Observe a figura a seguir:

127 Aplicações mais Comuns (NFS - Network File System)
Aplicação S.O. Arquivo local do sistema NFS cliente Disco Local Conexão Internet com o servidor NFS da(s) máquina(s) remota

128 Aplicações mais Comuns (NFS - Network File System)
S.O. Arquivo local do sistema NFS servidor Disco Local Aplicação cliente

129 Aplicações mais Comuns (NFS - Network File System)
Quando o arquivo está localizado na máquina remota, o Sistema Operacional usa o protocolo NFS para contatar o NFS servidor na máquina remota, liberando a operação solicitada. Quando o Host (servidor) remoto receber a requisição, processa a mesma e encaminha a resposta ao cliente NFS, que a passa ao S.O. , que por sua vez o entrega para aplicação solicitante.

130 Aplicações mais Comuns (NFS - Network File System)
Ao invés de ser definido como uma unidade, o Protocolo NFS foi concebido como dois segmentos independentes: RPC (Remote Procedure Call) - Procedimento de Chamada Remota. XDR (External Data Representation) - Representação Externa de Dados.

131 Aplicações mais Comuns (NFS - Network File System)
Esta divisão foi estrategicamente efetuada para permitir a utilização com outros softwares, ou protocolos. O NFS em si já é bastante poderoso, para prover em si um serviço transparente para o usuário, que busca os recursos de que necessita, sem se preocupar com a sua localização física. Mas com o RPC e XDR, os programadores podem construir programas distribuídos.

132 Aplicações mais Comuns (NFS - Network File System)
Por exemplo podemos criar programas que sejam executados em parte em uma máquina e em parte em outra, o RPC será usado para gerenciar e sincronizar a comunicação. Com o XDR podemos fazer conversões automáticas de dados, permitindo aos programadores utilizarem transmissões de dados entre máquinas heterogêneas, sem a necessidade de escreverem procedures especiais de conversão.

133 Aplicações mais Comuns (NFS - Network File System)
Este protocolo é bastante complexo para o nível que desejamos explorar neste curso. Mas um projeto bastante interessante e complexo está disponível na Web, e se chama projeto Beowulf (Supercomputação barata), que usa o protocolo NFS, e várias máquinas em rede rodando Linux, e softwares especiais, rodam aplicativos tão rápido como Supercomputadores. Se quiser procure no endereço eletrônico

134 Aplicações mais Comuns (SMTP - Simple Mail Transfer Protocol)
O SMTP efetua um mecanismo para transferência de mensagens de correio eletrônico. O conceito de remetente e destinatário utilizado pelo SMTP é paralelo ao relacionamento cliente/servidor usado no TELNET e no FTP. A estrutura básica do correio eletrônico é mostrado a seguir.

135 Aplicações mais Comuns (SMTP - Simple Mail Transfer Protocol)
HOST A HOST B Agente do Usuário Caixa de Correio Eletrônico Agente de Transferência da Mensagem Área da Fila das Mensagens

136 Aplicações mais Comuns (SMTP - Simple Mail Transfer Protocol)
Agente do Usuário: é o componente que dá início à execução do programa de correio eletrônico. Ele é chamado através de um comando e oferece um editor para que o usuário possa criar a mensagem à ser enviada. Caixa de Correio Eletrônico: Local onde ficam armazenadas as mensagens recebidas, uma cópia das enviadas, e as que ainda não foram mandadas. Agente de Transferência da Mensagem: Elemento responsável por transferir a mensagem.

137 Aplicações mais Comuns (SMTP - Simple Mail Transfer Protocol)
Funcionamento: Depois de criada, a mensagem é passada para o Agente de Transferência. Este componente estabelece a conexão com o host remoto e efetua a transmissão da mensagem. No host remoto, um outro Agente de Transferência aceita a mensagem e a armazena na fila de mensagens do destinatário. O destinatário visualiza a mensagem ativando o Agente do Usuário em sua máquina.

138 Aplicações mais Comuns (SMTP - Simple Mail Transfer Protocol)
Além do SMTP, existem outros protocolos de correio eletrônico (em geral todos são muito fáceis de usar). Um protocolo bastante interessante é o X.400 (ISO X.400). Este difere do SMTP, principalmente pela característica de rastrear a mensagem e convertê-la para diferentes mídias (correio de voz, fax, etc.).

139 Aplicações mais Comuns (SMTP - Simple Mail Transfer Protocol)
Comandos mais comuns: hello - Este comando identifica o remetente para o destinatário. mail - Inicia o SMTP. send - Faz com que a mensagem seja enviada diretamente para o destinatário desejado, caso este esteja conectado. soml - Determina que a mensagem seja enviada diretamente para o terminal destinatário, assumindo-se que ele está conectado. Caso contrário, a mensagem será armazenada na caixa de correio do usuário.

140 Aplicações mais Comuns (SMTP - Simple Mail Transfer Protocol)
help - Solicita uma linha de comandos suportados pelo sistema de correio eletrônico do host ao qual o destinatário se encontra conectado. rcpt - Este comando é usado para identificar um ou vários destinatários. turn - Transforma o destinatário em remetente. saml - Executa duas operações: envia uma mensagem para a caixa de correio do destinatário e se encarrega de exibí-la na tela, caso ele se encontre conectado

141 Aplicações mais Comuns (KERBEROS)
O protocolo KERBEROS foi desenvolvido pelo MIT (Massachussets Intitute of Technology), para oferecer um serviço de segurança de redes bastante eficiente. Veja em O KERBEROS pressupõe que o ataque cracker, hacker ou freaker se dá durante o processo de transferência de dados, sendo que evitar vírus, tais como o trojan ou back orifice é responsabilidade dos antivirus instalados.

142 Aplicações mais Comuns (KERBEROS)
A palavra KERBEROS, vem do nome em inglês de Cérberos (Cachorro de três cabeças que guardava as portas do mundo dos mortos, para que ninguém entrasse sendo vivo ou saísse sendo morto). Símbolo do Protocolo KERBEROS

143 Aplicações mais Comuns (KERBEROS)
Este protocolo Trabalha com os conceitos de Autenticação, Criptografia e Certificação. Passemos às definições: Autenticação: Processo no qual o usuário de um Host pede autorização à um servidor KERBEROS, para acessar um arquivo ou aplicação remota (ou, até mesmo, residente no próprio sistema).

144 Aplicações mais Comuns (KERBEROS)
Durante a Autenticação o usuário usa uma senha (password) que o caracteriza, apenas cabe salientar que esta senha é independente da senha com que este usuário acessa à rede. Quanto à esta senha o servidor KERBEROS não permite que seja trivial (tal como, 1234, o próprio nome ou sobrenome, password, kerberos, frutas, animais, estrelas, etc.). Isso evita que um cracker use o seu histórico de senhas para descobrir a sua.

145 Aplicações mais Comuns (KERBEROS)
Além da senha, o Host passará para o Servidor KERBEROS um ticket com todas as informações sobre o usuário que está se conectando. Esse processo de passagem do ticket com a senha é criptografado com chave pública (criptografia assimétrica), que veremos mais tarde como funciona.

146 Aplicações mais Comuns (KERBEROS)
Criptografia: O KERBEROS irá utilizar-se de um algoritmo de criptografia de no mínimo 90 bit (PGP - Pretty Good Privacy), mas normalmente usa chaves públicas de 128 bits. O funcionamento disso será visto daqui à pouco. Além disso depois de feita a conexão com a aplicação remota os dados trafegam na linha criptografados. O que inibe a ação de usuários intermediários que utilizem de ferramentas Snifer, pois para ele o que passa pela rede é lixo.

147 Aplicações mais Comuns (KERBEROS)
Certificação: Esta ferramenta é utilizada para garantir que os dados recebidos são realmente de quem pensamos que seja. Um dos ataques mais freqüentes dos Snifers, é quando ele não podendo ler os dados corrompe a mensagem original, aumentando ou diminuindo ela (ou mesmo introduzindo vírus). Neste caso o Kerberos introduz um Checksum que detecta mensagens corrompidas, e quando estas forem detectadas, dispara um processo de traçar a rota para isolar um possível suspeito para este ato.

148 Aplicações mais Comuns (KERBEROS)
Outro ataque comum é quando o Snifer usa o seu endereço IP, fingindo que é você para introduzir mensagens inseguras na rede. Para isso todo pacote entregue é autenticado com o ticket de usuário, assim quando detectamos um pacote embora com endereço IP correto, mas sem o ticket, é imediatamente disparado um processo parecido com o anterior.

149 Aplicações mais Comuns (KERBEROS)
O KERBEROS é portanto uma aplicação para aumentar a segurança das redes. Existe um concorrente bastante comum para o KERBEROS que é o Firewall. A filosofia do Firewall é diminuir o acesso de uma máquina ou grupo delas aos serviços de rede, na verdade para ele a máquina mais segura é aquela que não está conectada à rede.

150 Aplicações mais Comuns (KERBEROS)
A principal utilização do Firewall é contra ataques externos (por usuários que não pertencem à rede). Mas sabemos hoje que a maioria dos ataques é interno. Nisto o KERBEROS é mais interessante que o sistema Firewall.

151 Aplicações mais Comuns (KERBEROS)
Devido à importância, que está a cada dia aumentando, vamos ver como funciona um processo de criptografia. O objetivo da criptografia é de transformar os dados transmitidos em um formato irreconhecível por terceiros. Porém o receptor e o transmissor possuem uma “chave criptográfica”, que opera como um código secreto, codificando e decodificando a mensagem através de um algoritmo.

152 Aplicações mais Comuns (KERBEROS)
Exemplo: Imagine que queiramos mandar a mensagem texto: “redes de computadores”. O algoritmo que usaremos será de transpor cada letra do texto em uma posição para frente no alfabeto. O resultado disso será: “sfeft ef dpnqvubepsft”, o que é muito mais difícil de ser entendido para quem não possui a chave de descritografação.

153 Aplicações mais Comuns (KERBEROS)
O exemplo usado foi bastante simples, mas já mostra o potencial do que estamos dizendo. Precisamos é lógico de algoritmos mais complicados, e que mesmo que sejam conhecidos, desencorajem qualquer ataque pela dificuldade de ser feita a procura da chave.

154 Aplicações mais Comuns (KERBEROS)
Vamos definir Chave: É uma seqüência de bits (zeros e uns) utilizada para codificar os dados em outro formato. Deve ser tal que a aplicação dela de novo recupera os dados originais. Usamos para isso a operação lógica XOR (Ou Exclusivo). 0  0 = 0 0  1 = 1 1  0 = 1 1  1 = 0

155 Aplicações mais Comuns (KERBEROS)
Como exemplo vamos utilizar uma chave pública de 11 bits “ ”. Imagine uma mensagem original “ ”, teremos: Mensagem original Chave Mensagem criptograf.

156 Aplicações mais Comuns (KERBEROS)
Para recuperar os dados originais, basta aplicar novamente a chave, com a mesma operação Ou Exclusivo (faça como exercício). Vamos em frente com a nossa teoria e vamos definir o que é um algoritmo simétrico e um algoritmos assimétrico.

157 Aplicações mais Comuns (KERBEROS)
Algoritmo Simétrico: Um algoritmo é dito simétrico se o transmissor e o receptor se usam da mesma chave para cifrar e decifrar a mensagem (como no nosso exemplo). Para isso tanto o transmissor quanto o receptor devem conhecer a chave utilizada. Isso pode ser feito quando ambos sabem de antemão qual é a chave, ou devemos informar ao receptor qual a chave que será usada pelo transmissor.

158 Aplicações mais Comuns (KERBEROS)
No primeiro caso, chave previamente conhecida, temos um problema de segurança se alguém no meio do caminho descobre qual é a chave (pois como ela não muda ele pode ficar tentando), se descobrir , perdemos todo o esquema de segurança montado. No segundo caso, chave informada, temos também um ponto falho de segurança, pois como iremos informar a chave ao receptor, se no meio do caminho temos o ataque.

159 Aplicações mais Comuns (KERBEROS)
Chave Secreta Arquivo Original Arquivo Criptografado Algoritmo de Criptografia Transmissor Chave Secreta Arquivo Original (descriptografado) Arquivo Criptografado Algoritmo de Criptografia Receptor

160 Aplicações mais Comuns (KERBEROS)
Chave Assimétrica: São conhecidos também como “chave pública”. Utilizam duas chaves, uma para cifrar (chave pública) e outra para decifrar (chave privada). As chaves públicas são divulgadas e as chaves privadas são mantidas em segredo. Uma mensagem enviada cifrada com a chave pública só poderá ser decifrada com a chave privada do receptor.

161 Aplicações mais Comuns (KERBEROS)
Uma forma básica de operação desse sistema, pode ser: Cada Usuário cria dois números extensos, conhecidos como chaves. Uma das chaves (número) é privada e mantida em segredo pelo usuário. A outra chave (número é pública e pode ser conhecida por todos. Tanto a chave pública como a privada, são usadas em conjunto para codificar e para decodificar a mensagem.

162 Aplicações mais Comuns (KERBEROS)
A mensagem criptografada com uma das chaves só pode ser decifrada com a outra chave. Podem ser criptografados, qualquer tipo de arquivo: documentos, fotos, arquivos de som, etc. Exemplo: O método utiliza duas chaves diferentes associadas. A chave privada (secreta) é sorteada aleatoriamente, a chave pública é calculada à partir dela. O processo é unidirecional, ou seja, é impossível (ou muito difícil) calcular a chave privada à partir da pública.

163 Aplicações mais Comuns (KERBEROS)
O emissor quer enviar uma mensagem criptografada para o receptor, e utiliza para isso a chave pública (recebida) do receptor para criptografar a mensagem. O receptor recebe a mensagem e a descriptografa usando a sua chave privada (secreta).

164 Aplicações mais Comuns (KERBEROS)
O algoritmo mais popular desse tipo é o RSA, sendo usado com chaves (números) com mais de 90 bits, atualmente é usual 128 bits. O funcionamento desse algoritmo é baseado em cálculos com números primos. A chave pública nesse caso é o produto de dois números primos muito grandes. As chaves privadas são os números primos (grandes) que multiplicados geram a chave pública.

165 Aplicações mais Comuns (KERBEROS)
Por definição, números primos são aqueles que só são divisíveis por eles mesmos e por 1. Exemplos de números primos: 2, 3, 5, 7, 11, 13, 19, Para obtermos números primo, o único método conhecido é o da eliminação. Escrevemos a seqüência numérica e eliminamos os múltiplos de 2, os múltiplos de 3, de 5 etc. 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 15, 16 17, 18, 19, 20 ,21, 22, 23, 24, 25, 26 ,27, ...

166 Aplicações mais Comuns (KERBEROS)
O método se baseia em que essa procura é demorada (tente continuar a seqüência). Mais demorado ainda é o processo de decomposição de um número composto pela multiplicação de dois primos (principalmente se forem grandes). Podemos dizer que existem métodos rápidos para multiplicar números primos (gerando a chave pública), mas para decompor em seu fatores primos, só existe o método de exaustão baseado em tentativas e erros.

167 Aplicações mais Comuns (KERBEROS)
O método se baseia nisso, para inibir qualquer tentativa de decompor a chave pública nas chaves privadas, que a gerou. Na verdade para chaves de 128 bits, calculasse que a pesquisa exaustiva pode durar até anos. Mesmo com computadores muito rápidos.

168 Aplicações mais Comuns (KERBEROS)
Chave Pública do Receptor Arquivo Original Arquivo Criptografado Algoritmo de Criptografia Transmissor Chave Privada do Receptor Arquivo Original (descriptografado) Arquivo Criptografado Algoritmo de Criptografia Receptor

169 Aplicações mais Comuns (KERBEROS)
Descrevemos como usar esse algoritmo. O receptor (destinatário) gera dois números primos elevados e calcula o seu produto. Os números primos originais são mantidos em segredo (chave privada). O produto desses número é feito público (chave pública), e enviado ao transmissor, junto com o nome do receptor. O transmissor gera um novo produto, da chave pública, com outro número primo aleatório. E cifra a mensagem com esse novo número.

170 Aplicações mais Comuns (KERBEROS)
A mensagem é enviada para o receptor com esta nova chave (composta pela chave pública, mais o número primo aleatório do transmissor). O receptor terá de decompor em fatores primos para poder decifrar a mensagem, porém como ele detém as chave privadas, ele possui métodos rápidos de solução do problema. O receptor aplica o algoritmo e descriptografa a mensagem.

171 Aplicações mais Comuns (SNMP-Simple Network Management Protocol)
O SNMP é um protocolo de gerenciamento de rede, que tem como objetivo de prover a troca de informações entre o gerenciador (cliente) e os gateways/hosts (servidores). Os aplicativos de gerenciamento de rede são normalmente conhecidos como (NMS - Network Management System)

172 Aplicações mais Comuns (SNMP-Simple Network Management Protocol)
O SNMP utiliza o processo de busca/colocação (fetch/store) na troca de informações com os servidores. Estas informações, que estão residentes na MIB (Base de Dados Gerenciais) do servidor, podem ser desde simples informações estatísticas, até os dados de configuração do elemento gerenciado.

173 Aplicações mais Comuns (SNMP-Simple Network Management Protocol)
Comando usado pelo cliente para atualizar a MIB do Gateway STORE FETCH Servidor Gateway Cliente Workstation Busca de atualização da base de dados


Carregar ppt "Parte I - Básico de IPv4 e Introdução ao Roteamento"

Apresentações semelhantes


Anúncios Google