Arquitetura TCP-IP.pdf

47
UNIDERP Universidade para o Desenvolvimento do Estado e da Região do Pantanal Arquitetura TCP/IP Julho de 2004 Campo Grande – MS

Transcript of Arquitetura TCP-IP.pdf

Page 1: Arquitetura TCP-IP.pdf

UNIDERP Universidade para o Desenvolvimento do Estado e da Região do Pantanal

Arquitetura TCP/IP

Julho de 2004 Campo Grande – MS

Page 2: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Sumário Item Descrição Página

1. Introdução ........................................................................................................................... 05

1.1 O que é TCP/IP? ......................................................................................................... 05

1.2 Histórico .................................................................................................................... 05

1.3 Características ............................................................................................................ 05

1.4 Conceitos Básicos ....................................................................................................... 07

1.4.1 Endereçamento .................................................................................................. 07

1.4.2 Pacotes ............................................................................................................. 07

1.4.3 Protocolo ........................................................................................................... 08

2. Roteadores e Nós de Extremidade ......................................................................................... 09

2.1 Comportamento de Envio e Recebimento do Nó de Extremidade .................................... 09

2.2 Comportamento de Envio e Recebimento do Roteador .................................................. 09

2.3 Formato de um Endereço IP ........................................................................................ 10

2.4 Limites de endereçamento .......................................................................................... 10

2.5 Endereços reservados ................................................................................................. 11

2.4.1 Endereço de Rede .............................................................................................. 11

2.4.2 Endereço de Broadcast ....................................................................................... 11

2.4.3 Endereço de “LOOPBACK” ................................................................................... 11

2.4.4 Máscara de Rede ................................................................................................ 11

3. Subredes ............................................................................................................................. 13

3.1 Criando Subredes (Subnets) ........................................................................................ 13

3.2 Máscara de Subrede(Subnet Mask) .............................................................................. 13

3.2 Atribuição de Endereço IP a dispositivos TCP/IP ............................................................ 14

4. Arquitetura TCP/IP ............................................................................................................... 16

4.1 Camada de Interface de Rede ..................................................................................... 16

4.1.1 Mapeamento de endereços lógicos Internet em endereços físicos de rede .............. 16

4.1.2 Mapeamento de endereços físicos de rede em endereços lógicos Internet .............. 17

4.2 Camada de Inter-rede (ou somente Rede) .................................................................... 17

4.2.1 Datagrama IP .................................................................................................... 18

4.2.2 Roteamento de Datagramas ................................................................................ 18

4.3 Camada de Transporte ................................................................................................ 19

4.3.1 Protocolo UDP .................................................................................................... 19

4.3.2 Protocolo TCP .................................................................................................... 19

4.4 Camada de Aplicação .................................................................................................. 20

2

Page 3: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes 4.5 Encapsulamento de Dados .......................................................................................... 21

4.6 Arquitetura TCP/IP versus Arquitetura RM-OSI ............................................................. 21

5. Roteamento ......................................................................................................................... 22

5.1 Conceituação ............................................................................................................. 22

5.2 Vantagens do Roteamento .......................................................................................... 22

5.3 Mecanismos de Entrega de Dados ................................................................................ 23

5.3.1 Entrega Direta ................................................................................................... 23

5.3.2 Entrega Indireta ................................................................................................. 23

5.4 Máscara de Rede e Roteamento .................................................................................. 23

5.5 Tabela de Roteamento ................................................................................................ 24

5.6 Entradas na Tabela de Roteamento ............................................................................. 24

5.7 Algoritmo de Roteamento ............................................................................................ 25

6. DNS – “Domain Name Service” .............................................................................................. 26

6.1 Procedimentos para registro de nomes ......................................................................... 27

7. Aplicativos ........................................................................................................................... 29

7.1 Aplicativos de Login Remoto ........................................................................................ 29

7.1.1 TELNET ............................................................................................................. 29

7.2 Aplicativos de acesso e transferência de arquivos .......................................................... 29

7.2.1 FTP (File Transfer Protocol) ................................................................................ 30

7.2.2 TFTP (Trivial File Transfer Protocol) ..................................................................... 30

7.2.3 NFS (Network File System) ................................................................................. 30

7.2.1 Implementação .......................................................................................... 31

7.2.2 Estudos Adicionais ...................................................................................... 31

7.3 Aplicativos de Correio Eletrônico .................................................................................. 31

7.3.1 SMTP (SIMPLE MAIL TRANSPORT PROTOCOL) .................................................... 32

7.3.2 Extensão MIME para dados não ASCII ................................................................. 32

7.3.3 POP (Post Office Protocol”) / IMAP( "Internet Mail Access Protocol) ……………………. 32

7.3.4 HTTP (Hiper Text Transfer Protocol)/WWW (World Wide Web) …………………………… 33

7.4 Aplicativos de Gerenciamento da interligação em redes ................................................. 34

SNMP (Simple Network Management Protocol) ………………………………………………………….. 34

8. Redes Privadas .................................................................................................................... 36

8.1 Internet, internets, intranets e extranets ...................................................................... 36

8.2 Endereços reservados para redes Privadas ................................................................... 37

8.3 NAT - Network Address Translation (mascaramento) ..................................................... 37

8.4 Proxies e HTTP ……………………………………………………..................................................... 38

3

Page 4: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes 8.5 VPNs …..……………………………..………………………………..................................................... 39

9. Segurança da Interligação em redes ...................................................................................... 40

9.1 Introdução ................................................................................................................. 40

9.2 Necessidade de uma política de Informação ................................................................. 41

9.3 Mecanismos de autenticação ....................................................................................... 41

9.4 Mecanismos de privacidade ......................................................................................... 42

9.5 Firewalls e acesso à interligação em redes .................................................................... 42

9.6 Várias conexões e enlaces mais fracos ......................................................................... 42

9.7 Implementação do firewall e hardware de alta velocidade ............................................. 43

9.8 Filtros de nível de pacotes ........................................................................................... 43

9.9 Segurança e especificação de filtro de pacote ............................................................... 44

9.10 A conseqüência do acesso restrito a clientes ................................................................. 44

9.11 Acesso a serviços através do firewall ............................................................................ 44

9.12 Os detalhes da arquitetura de firewall .......................................................................... 45

9.13 Rede Stub .................................................................................................................. 46

9.14 Uma implementação alternativa de firewall ................................................................... 46

9.15 Monitoramento e registro no log .................................................................................. 46

4

Page 5: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Introdução

O que é o TCP/IP ?

O TCP/IP é uma família de protocolos utilizada nas comunicações de computador. TCP/IP é o acrônimo para Transmission Control Protocol / Internet Protocol. O TCP e o IP são protocolos individuais que podem ser discutidos de modo isolados, mas eles não são os únicos protocolos que compõem essa família. Pode acontecer de um usuário TCP/IP não utilizar o protocolo TCP propriamente dito, mais sim alguns outros da família. A Utilização do TCP/IP não deixa de ser apropriada porque o nome se aplica de modo genérico ao uso de qualquer protocolo da família TCP/IP. A família de protocolos TCP/IP inclui protocolos como o IP (Internet Protocol), ARP (Address Resolution Protocol), ICMP (Internet Control Message Protocol), UDP (User Datagram Protocol), TCP (Transmission Control Protocol), Telnet, SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System) e muitos outros. Histórico

- 1969, Defense Advanced Research Projects Agency (DARPA) cria m projeto de pesquisa para criar uma rede

experimental de comutação de pacotes – ARPANET – que deveria prover: robustez; confiabilidade; e

comunicação de dados independente de fornecedores.

- 1975, Devido ao grande sucesso, a ARPANET deixa uso experimental e passa a ter uso operacional; seu

desenvolvimento continua e a família de protocolos TCP/IP começa a ser concebida.

- 1979, Internet Control and Configuration Board define o projeto de um protocolo para interconexão de redes;

- 1980, TCP/IP torna-se padrão na ARPANET;

- 1983, TCP/IP adotado como padrão militar e a Defence Communication Agency pede a divisão da ARPANET:

Internet = ARPANET + MILNET

TCP/IP integrado ao BSD/UNIX e disponibilizado a baixo custo;

- 1985, Nacional Science Foundation (NSF) promove expansão da Internet para a comunidade científica

americana – NSFNET

- 1986 ... 1992, NSF disponibiliza acesso para comunidade científica fora dos Estados Unidos (chegando

inclusive ao Brasil);

- 1993 ... 1998, TCP/IP torna-se padrão ‘de fato’ para interconexão de redes de diferentes tecnologias; rede

passa a ser usada para os mais variados fins;

- 1997 ... 2000, Mundo usa massivamente a Internet, articula-se e implementa-se em alguns países a Internet 2

(inclusive o Brasil com a RNP2); comunicação em alta velocidade (155/622 Mbps em grosso, 256, 1024, 2048

Mbps no varejo).

Características

- Padrão de protocolos aberto, não associado a nenhum tipo específico de hardware (computador) ou sistema

operacional;

- Independente de hardware específico para acesso ao meio físico de transmissão (TCP/IP funciona sobre

Ethernet, Token-ring, linha discada, X.25, e qualquer outro tipo de meio de transmissão);

5

Page 6: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes - Esquema de endereçamento comum que permite a identificação única de um elemento da rede

(na rede local, ou no planeta);

- Protocolos de alto nível padronizados para disponibilização universal e consistente de serviços aos usuários.

- Documentação ampla acessível na própria rede sob a forma de “Request for Comments” – RFC’s que não

sofrem do rigor imposto aos relatórios técnicos formais. As RFC’s contêm as últimas versões das especificações

de todos os protocolos TCP/IP padrões;

- Interconexão cooperativa de redes, suportando serviços de comunicação universal (usada em uma rede local

ou em uma rede [inter] planetária);

- Utilização de tecnologia adequada às necessidades locais em cada rede;

- Independência de hardware e sistemas operacionais;

- Interconexão de redes se dá por meio de roteadores.

- Protocolos mais importantes:

TCP: Transmission Control Protocol

UDP: User Datagram Protocol

IP: Internet Protocol

- Criação de uma rede virtual única para os usuários:

6

Page 7: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes - Na realidade a rede real se apresenta como um conjunto de redes com diversas

arquiteturas/topologias, interligadas por roteadores:

Conceitos Básicos

Antes de iniciarmos a abordagem para entender como “funciona” o fluxo de informações em uma rede

baseada no TCP/IP, teremos que entender alguns termos e conceitos que serão discutidos.

Endereçamento

O conceito fundamental de interligação em rede é o endereçamento. Em uma ligação em rede, o endereço de um dispositivo é sua identificação exclusiva. Normalmente os endereços são numéricos e seguem um formato padrão bem definido (cada formato é definido no próprio documento de especificação). É preciso atribuir a todos os dispositivos em uma rede um identificador exclusivo que satisfaça ao formato padrão. Esse identificador é o endereço do dispositivo. Nas redes roteadas, o endereço contém, pelos menos, duas partes: uma rede e um nó (ou host).

Se dois dispositivos em uma rede tiverem endereços com o mesmo número de rede, eles serão alocados na mesma rede e, conseqüentemente no mesmo fio. Os dispositivos de um mesmo fio podem se comunicar diretamente uns com os outros, utilizando o protocolo da camada de enlace de dados (ou seja, a Ethernet, por exemplo). Apesar das possíveis diferenças entre conexões de outros meios físicos, os conceitos são os mesmos para as redes Token Ring, na FDDI ou em muitos outros meios físicos comuns.

A atribuição correta de endereços dos dispositivos em uma rede torna necessário que todo dispositivo conectado à mesma rede (ou fio) seja configurado com o mesmo número de rede. Também, todo dispositivo que apresente o mesmo número de rede precisa ter um número de nó (ou host) diferente dos demais dispositivos que contenham o mesmo número de rede. Em suma, toda rede precisa ter um número de rede exclusivo. O número de rede e o de host tem que exclusivos dentro de uma sub-rede e da rede respectivamente.

Além dos endereços exclusivos de rede e de host, costuma-se utilizar endereços especiais para endereçarem vários nós ao mesmo tempo. Eles são denominados endereços de difusão (broadcast) ou de grupo (multicast).

Pacotes

Na maioria das redes TCP/IP, as informações enviadas são desmembradas em partes denominadas

pacotes (ou datagramas). Isso acontece por dois motivos principais: compartilhamento de recursos e detecção e correção de erros.

Se dois dispositivos estiverem se comunicando, nenhum outro dispositivo poderia se comunicar ao mesmo tempo. Nesse sentido, uma rede funciona com uma linha compartilhada. Caso dois dispositivos queiram compartilhar um grande volume de informações, seria injusto que eles monopolizassem a rede durante muito tempo, impedindo que informações mais urgentes fossem transmitidas. Quando um grande bloco de informações é desmembrado em blocos menores, cada bloco menor pode ser enviado individualmente, permitindo que outros dispositivos entrecruzem suas próprias mensagens entre os pacotes.

7

Page 8: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

A outra principal utilização dos pacotes é a detecção e correção de erros. Basicamente as redes são construídas de fios, ondas de rádio ou raios luminosos sujeitos a interferências que podem danificar um sinal enviado através deles. Saber lidar com essas mensagens adulteradas é uma questão importante da interligação de redes.

Se o meio físico da transmissão apresentar um taxa média de erros de um em um milhão de bits, então consideramos alto o limite prático para a quantidade de dados que pode ser enviada em uma transmissão. Imagine que dez milhos de bits sejam enviados. Normalmente, uma transmissão desse tamanho contém dez erros, a soma de verificação está errada e o emissor será orientado para retransmitir a mensagem. O tamanho da retransmissão é o mesmo da transmissão original. Então a média de erros será mesma: dez. A única solução para sair desse “loop” é desmembrar os dados em partes menores, cada uma com sua soma de verificação, que podem ser transmitidos individualmente. Protocolos

Cada um desses pacotes é um fluxo de dados. Para que uma comunicação seja estabelecida, esses

bytes devem conter significados associados a eles. Esse significado é fornecido pela especificação do protocolo. Um protocolo é um conjunto de regras que define o formato dos pacotes e a semântica de utilização desses pacotes.

A maioria desses pacotes tem um formato que inclui um cabeçalho e um corpo. Geralmente o cabeçalho contém informações, tais como o endereço de origem e o de destino. O comprimento do pacote e algum tipo de indicador que permita ao receptor decodificar o corpo. O corpo pode consistir de dados brutos (por exemplo, uma parte de um arquivo ou uma mensagem de correio eletrônico), ou conter outro pacote cujo formato seja definido pela própria especificação.

Mas, para compreender o protocolo, não é suficiente conhecer o formato de um pacote. Você também precisa saber o momento de enviar os pacotes, quais pacotes devem ser enviados e o que fazer quando eles forem recebidos. Muitos protocolos apresentam formatos bastante simples, mas sua utilização é muito complexa.

No mundo TCP/IP, a maioria das especificações de protocolo está disponível no modo on-line como RFCs (Request for Comments). Essas especificações são muito técnicas e direcionadas àqueles que desejem implementar esses protocolos. O local do site ftp.internic.net é um dos locais da Internet em que as RFCs encontram-se disponíveis para ftp anônimo.

8

Page 9: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Roteadores e Nós de Extremidade

As redes roteadas apresentam duas classes de dispositivos: nós de extremidade e roteadores. Os nós de

extremidade são dispositivos com os quais os usuários interagem (estações de trabalho, impressoras, servidores e outros dispositivos). Os roteadores são dispositivos que estabelecem uma conexão entre as redes. Eles são responsáveis por saber como toda a rede está conectada e como transmitir informações de uma parte da rede para outra. Os roteadores podem estar conectados a duas ou mais redes.

Existem inúmeros motivos para utilizar roteadores nas redes. Eles permitem que mais dispositivos sejam interconectados porque estendem o espaço de endereço disponível através de vários números de rede. Os roteadores ajudam a vencer as limitações físicas do meio físico estabelecendo a conexão de diversos cabos.

O principal objetivo da utilização de um roteador é manter um isolamento político. Os roteadores permitem que dois grupos de equipamentos se comuniquem entre si e, ao mesmo tempo, continuem fisicamente isolados. Isso é muito importante quando dois grupos são controlados por empresas diferentes. Muitos roteadores possuem funções de filtragem que permitem ao administrador de rede controlar com rigor quem utiliza a rede e o que é utilizado na rede. Os problemas que ocorrem em uma rede nem sempre causam o rompimento das outras.

Comportamento de Envio e Recebimento do Nó de Extremidade Quando um nó em uma rede TCP/IP contém um pacote IP e deseja envia-lo para um outro nó, ele

segue um único algoritmo de modo a decidir como proceder. O nó que está realizando a transmissão compara a parte de rede referente ao endereço destino com a do seu próprio endereço. Se as duas partes forem iguais, isso significa que os dois nós estão no mesmo fio, seja conectado ao mesmo cabo ou cabos separados por somente por repetidores ou pontes. Neste caso os nós podem se comunicar diretamente através da camada de enlace de dados. O nó de origem utiliza ARP para saber o endereço físico do nó de destino e encapsular o pacote IP em um quadro da camada de enlace de dados. Assim, é possível transmitir o pacote diretamente para o nó de destino.

Se as partes da rede forem diferentes, os dois nós estarão separados por pelo menos um roteador. Isso significa que o nó de origem não conseguirá transmitir o pacote sem utilizar um roteador como intermediário. O pacote é encapsulado em um quadro da camada de enlace de dados direcionado ao endereço físico de um roteador no mesmo fio. Se não houver um roteador no cabo, essa rede estará isolada e não será possível enviar pacotes para outras redes. O roteador transmite o pacote IP para a rede remota.

Quando um nó de extremidade recebe um pacote IP, ele compara o endereço de destino no pacote IP com o seu próprio endereço e com o endereço de broadcast IP com o qual está configurado. Se o endereço de destino corresponder a um desses endereços, o nó de extremidade aceitará o pacote e o processará posteriormente. O modo de processamento desse pacote varia em função do subprotocolo de IP em que ele está. Se o endereço destino não coincidir, o pacote será interrompido (ignorado).

Comportamento de Envio e Recebimento do Roteador Quando um nó estiver desempenhando o papel de um roteador e receber um pacote IP, ele examinará

o endereço IP de destino do pacote e irá compará-lo com o seu próprio endereço IP. Se os endereços forem iguais ou o endereço IP de destino for o mesmo que o de broadcast (difusão), o pacote será processado como seria para um nó de extremidade. Ao contrário do que acontece em um nó de extremidade, o roteador não interrompe automaticamente os pacotes que o nó de extremidade na rede estão enviando para o roteador a fim de serem encaminhados para outras redes. Todos o roteadores mantém tabelas de roteamento que indicam como atingir outras redes. O roteador compara a parte da rede referente ao endereço de destino com cada rede na tabela de roteamento. Se o roteador não conseguir localizar a rede de destino na tabela de roteamento correspondente, ele verificará a rota padrão (normalmente, ela é listada com uma rota para 0.0.0.0). Se essa rota não for localizada, o pacote será interrompido (e uma mensagem de destino inacessível ICMP será enviada para o endereço IP de origem no pacote interrompido).

9

Page 10: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

No TCP/IP, todos os protocolos são transportados por uma rede e encapsulados em pacotes IP. O IP é

um protocolo roteável. Isso significa que dois nós que estejam se comunicando com o IP não irão precisar estar conectados ao mesmo fio físico.

Formato de um Endereço IP Para que um protocolo roteável tenha uma capacidade de roteamento eficiente, o endereço deve ser

composto por duas partes. Os endereços TCP/IP apresentam dois componentes: um componente de rede e um componente de host (ou de nó). Os endereços utilizados com o TCP/IP são compostos por quatro bytes (32 bits) e denominados simplesmente endereço IP. Um exemplo seria 234.17.200.2. Como cada parte do endereço IP representa um byte, seu valor tem de estar entre 0 e 255, inclusive. Por exemplo, o endereço IP 190.270.45.1 talvez não fosse um endereço IP adequado porque 270 é maior do que 255 e, portanto, não caberia em um único byte.

Para uma utilização de endereço adequada, os endereços IP são divididos em classes. A comunidade definiu cinco classes de endereço, sendo que as três mais importantes de rede são A, B e C. Os endereços IP são divididos nessas 5 classes de acordo com o descrito abaixo:

A Classe A possui endereços suficientes para endereçar 128 redes diferentes com até 16.777.216 hosts (estações) cada uma. A Classe B possui endereços suficientes para endereçar 16.284 redes diferentes com até 65.536 hosts cada uma. A Classe C possui endereços suficientes para endereçar 2.097.152 redes diferentes com até 256 hosts cada uma. As máquinas com mais de uma interface de rede (caso dos roteadores ou máquinas interligadas a mais de uma rede, mas que não efetuam a função de roteamento) possuem um endereço IP para cada uma, e podem ser identificados por qualquer um dos dois de modo independente. Um endereço IP identifica não uma máquina, mas uma conexão à rede. Limites de endereçamento Classe Menor Endereço Maior Endereço A 1.0.0.0 127.255.255.255 B 128.0.0.0 191.255.255.255 C 192.0.0.0 223.255.255.255 D 224.0.0.0 239.255.255.255 E 240.0.0.0 247.255.255.255

10

Page 11: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Endereços reservados Alguns endereços são reservados para funções especiais: Endereço de Rede: Identifica a própria rede e não uma interface de rede específica, representada por todos os bits de máquina com o valor ZERO. Endereço de Broadcast: Identifica todas as máquinas na rede específica, representado por todos os bits de máquina com o valor UM. Observação: desta forma, para cada rede A, B ou C, o primeiro endereço e o último são reservados e não podem ser usados por interfaces de rede.

Endereço de “LOOPBACK”

O endereço 127.0.0.1 da classe A é reservado; É usado para testes do TCP / IP e para comunicação interprocessos em uma máquina local;

Quando uma aplicação usa o endereço de “loopback” como destino, o software do protocolo TCP/IP devolve os dados sem gerar tráfego na rede; É a forma simples de fazer com que um cliente local fale com o servidor local correspondente, sem que se tenha de alterar o programa cliente e/ou o programa servidor; Do ponto de vista do programador de aplicações, seu software funciona sempre do mesmo jeito, não importando se está ou não usando a rede de comunicação.

Máscara de Rede Serve para “extrair” a identificação de rede de um endereço IP através de uma operação simples de AND binário. Exemplo: Endereço IP: 200 . 237 . 190 . 21 AND Máscara de rede: 255 . 255 . 255 . 0 ===================== 200 . 237 . 190 . 0 Endereço de rede Para obter o endereço de máquina faz-se uma operação binária AND com o complemento da máscara de rede. Endereço IP: 200 . 237 . 190 . 21 AND Máscara de rede: 0 . 0 . 0 . 255 ===================== 0 . 0 . 0 . 21 Endereço de máquina Endereço de Difusão (“BROADCAST”)

Serve para endereçar simultaneamente todas as máquinas da rede (vale, em geral, somente para máquinas de uma mesma rede local); É formado colocando-se todos os bits da parte de endereçamento de máquina de um endereço IP com valor 1.

11

Page 12: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Exemplo

Exemplo final

Exemplo de uma rede Ethernet

12

Page 13: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Subredes

A estrutura de endereçamento IP pode ser mudada localmente (a critério do administrador de rede), usando-se bits de endereçamento de máquina como um adicional para endereçamento de rede;

Para tanto, deve-se definir uma máscara de rede “não padrão” que permita extrair os endereços de rede e de máquina corretamente.

Criando Subredes (Subnets)

Subredes são usadas para dividir uma rede grande em subredes menores. As subredes são criadas com diversos propósitos: • Conectar diferentes redes físicas. As redes tornam-se subredes de uma grande rede conectadas por

roteadores; • Distinção entre diferentes LANs; • Isolamento de partes da rede. Pode-se querer restringir o tráfego em uma subrede para segurança

de dados. Para criar endereços em uma rede com subnets, o administrador da rede deve decidir o número de subredes

necessárias e o número de máquinas (hosts) conectado a cada subrede.

A base do endereço IP consiste no par: <endereço de rede><endereço de host> Subnets são endereçadas como uma extensão do número da rede. Sendo assim para endereçarmos as subnets de uma rede, utilizamos a parte <endereço do host> como um <endereço de rede local> ou <endereço da subnet>. Os endereços IP passam então a ser interpretados como:

<endereço de rede><endereço de subnet><endereço de host>

Máscara de Subrede(Subnet Mask) Máscara de subrede é uma máscara que tem a função de simplificar o roteamento de pacotes de informação em uma rede. Da mesma forma que um endereço IP, uma máscara de subrede tem 32 bits divididos em 4 bytes. Em uma máscara de subrede utiliza-se o dígito 1 para especificar bits de rede e de subrede enquanto o dígito 0 é usado ara especificar bits de host. Por exemplo, o administrador da classe B 150.165 (que comporta aproximadamente 256 x 256 máquinas) pode “tirar” 8 bits do endereço de máquina e “acrescentar” 8 bits no endereço de rede, passando a dispor das redes: 150 . 165 . 1 . 0 150 . 165 . 2 . 0 . . . 150 . 165 . 254 . 0 Cada subrede dispõe de endereços de máquina variando de 1 a 254; A máscara de subrede usada passaria a ser 255 . 255 . 255 . 0.

13

Page 14: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Algo semelhando pode ser feito com a classe C 200.237.190.0, “tirando-se” 3 bits do endereço de máquina, “colocando-os” no endereço de rede:

A máscara de subrede usada passaria a ser 255.255.255.224.

Observa-se que um endereço IP deve ser atribuído a cada interface de comunicação de um equipamento ligado em rede. Na figura anterior, o roteador está conectado em ambas as redes R1 e R2, tendo em cada uma um endereço.

Atribuição de Endereço IP a dispositivos TCP/IP Os endereços podem ser atribuídos de várias maneiras. Se uma empresa quiser estruturar uma rede

TCP/IP que nunca será conectada com outras redes TCP/IP fora dessa empresa, então será possível utilizar qualquer número de rede de classe A, B ou C que permita um número apropriado de hosts nela. Esse método é extremamente limitado porque duas das principais vantagens de uma rede TCP/IP são sua capacidade de conexão com o mundo externo e o compartilhamento de recursos entre as empresas, tais como o estabelecimento de uma conexão com a Internet. Uma estratégia mais apropriada seria entrar em contato com a InterNIC na Network Solution, Inc. ou Fapesp e solicitar um número de rede, que então será atribuído a um

14

Page 15: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes requerente será exclusivo. Todas as identificações de máquinas (hosts) naquela rede estão disponíveis para serem atribuídas da maneira como o cessionário considerar mais adequada. Somente a partir daí e que será possível iniciar a atribuição de endereços IP de máquina (hosts) específicos dentro da empresa.

A maioria dos dispositivos IP exige uma configuração manual. A pessoa que tiver instalando o dispositivo tem de obter um IP exclusivo e correto e digita-lo em um console ou programa de configuração, normalmente junto de outras informações, tais como endereço IP de difusão (broadcast), máscara de subrede e endereços de gateway padrão.

Alguns locais de instalação aceitam uma configuração dinâmica dos dispositivos IP. Os protocolos, tais como BOOTP (Boot Protocol) e DHCP (Dynamic Host Configuration Protocol), permitem a utilização de servidores centralizados para distribuir endereços IP exclusivos e outras informações de configuração a medida em que seja necessário.

15

Page 16: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Arquitetura TCP/IP

- A arquitetura TCP/IP – Internet é organizada em quatro camadas (ou níveis) conceituais, construídas sobre

uma quinta camada que não faz parte do modelo – chamada intra-rede – como mostrado abaixo.

Camada de Interface de Rede Fornece o serviço de entrega de dados entre máquinas diretamente conectadas entre si; Em geral, desempenha as funções de enlace de dados e de acesso físico do padrão RM-OSI. Suas funções compreendem: . Recebe datagramas IP da camada rede (ou inter-rede) e os transmite sobre a tecnologia de rede física disponível; . Faz o encapsulamento de datagramas IP em quadros da rede (eventualmente com fragmentação); . Faz o mapeamento de endereços lógicos Internet em endereços físicos de equipamentos na rede; . Em geral é implementada através de gerentes (“drivers”) de dispositivos; . Permite a implantação do TCP/IP sobre qualquer hardware de rede ou sistema de comunicação de dados (Ethernet, Token Ring, FDDI, X25, Frame Relay, ATM, linhas seriais, etc.). Em linhas seriais é comum o uso do protocolo SLIP, PPP ou outro protocolo proprietário. Mapeamento de endereços lógicos Internet em endereços físicos de rede Endereços IP são lógicos (só existem em software). Para usar a rede física é necessário que se faça o mapeamento do endereço lógico no endereço físico. Codificando o endereço físico no endereço IP;

16

Page 17: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Usando o protocolo ARP – “Address Resolution Protocol” – Através de uma mensagem de difusão (“broadcast”) uma máquina pergunta na rede qual o endereço físico correspondente a um determinado endereço IP. Somente a máquina referenciada responde à solicitação.

Funciona eficientemente porque há uma tabela de mapeamento ARP em cada máquina da rede. A máquina que faz uma pergunta na rede já informa seu endereço IP e seu endereço físico; as máquinas que ouvem a pergunta armazenam essa informação nas suas tabelas ARP. Mapeamento de endereços físicos de rede em endereços lógicos Internet De modo semelhante ao ARP, um serviço de mapeamento de endereços físicos em endereços lógicos Internet pode ser disponibilizado através do protocolo RARP – “Reverse Address Resolution Protocol”. Usado por estações sem disco (“diskless”). Através de uma mensagem de difusão uma máquina pergunta qual o endereço lógico Internet corresponde ao seu endereço físico. Uma máquina da rede configurada como servidor RARP vai responder a pergunta, consultando uma base de dados.

Camada de Inter-rede (ou somente Rede) A camada de inter-rede fornece o serviço de entrega de datagramas IP, sobre o qual é baseada a rede TCP/IP. É o ‘tijolo’ de construção da Internet. Suas funções compreendem: . Montagem de datagramas IP a partir de segmentos recebidos da camada de transporte (fragmentação de segmentos); . Montagem de segmentos para a camada de transporte a partir de datagramas IP recebidos da camada de acesso ao meio físico (desfragmentação de segmentos); . Transmissão de dados sem conexão e não confiável (modo datagrama); . Identificação de máquina de origem e máquina de destino; . Encaminhamento (roteamento) de datagramas IP através da rede lógica; . Integração de diversas redes físicas formando uma única rede lógica.

17

Page 18: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Datagrama IP

Version: versão do IP (atualmente 4); Hlen: tamanho do cabeçalho do datagrama; ToS: tipo do serviço (precedência normal/controle, baixo retardo, alta eficiência, alta confiabilidade), sem garantia de cumprimento; Total Length: tamanho total do datagrama (máximo de 64 Kbytes); Ident: identificação do datagrama (único para cada datagrama); Flags: controle de fragmentação (habilita/desabilita fragmentação, marca de fim do datagrama original); Fragmentation Offset: deslocamento do fragmento; TTL: tempo de vida do datagrama (inicia em N, decrementa a cada passagem por um roteador; chegando em 0 (zero), o datagrama é descartado e é gerada uma mensagem de erro); Protocol: protocolo de nível superior (TCP, UDP); Header checksun verificação de integridade do datagrama; Source Address: endereço origem (máquina emissora); Dest Address: endereço destino (máquina receptora); Options: opções de teste e depuração: . Record Route Option: datagrama guarda endereços de roteadores intermediários por onde passou; . Source Route Option: sistema origem define rota que um datagrama deve seguir; . Timestamp Option: datagrama guarda informação sobre data e hora que chegou aos roteadores intermediários; Padding: preenchimento; Data: dados transportados. Roteamento de Datagramas Roteamento refere-se à forma de encaminhamento dos datagramas através da rede. Nessa tarefa são identificados dois elementos básicos: máquinas emissoras/receptoras (“hosts”) e máquinas intermediárias (“routers” e “gateways”).

18

Page 19: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Camada de Transporte A camada de transporte fornece o serviço de comunicação fim-afim (computador-a-computador) confiável. Suas funções compreendem: . Montagem de segmentos para a camada de rede a partir de mensagens vindas da camada de aplicação (fragmentação); . Montagem de mensagens para a camada de aplicação a partir de segmentos vindos da camada de rede (desfragmentação); . Transmissão de dados sem conexão e não confiável (protocolo UDP) ou com conexão e confiável (cria circuito virtual através do protocolo TCP); . Retransmissão temporizada, sequenciamento de segmentos (max. de 64 KB cada), controle de fluxo (através de janela deslizante); . Armazenamento temporário (“buffering”) na recepção e transmissão; . Identificação de processos origem e destino. Protocolo UDP Transporte de dados baseado em serviço sem conexão (“conection less”); Baixa sobrecarga; Não confiável; Sem detecção de erros; Sem controle de seqüência; Bom para pequenas quantidades de dados a transmitir; Bom para aplicações do tipo consulta / resposta; Bom para aplicações que tem seus próprios mecanismos de entrega confiável.

Campos: Source/Destination Port: porta de origem/destino (identificam os processos envolvidos na conexão); Message Lenght: tamanho do segmento; Checksun: verificação de erro; Data: início dos dados Protocolo TCP Baseado em seqüências de bytes não estruturados (“streams”); Transporte de dados baseado em serviço com conexão (“virtual circuit”): . Estabelecimento de conexão; . Transferência de dados; . Encerramento de conexão; Maior sobrecarga; Confiável; Com detecção e correção de erros; Com controle de seqüência; Necessário para maiores quantidades de dados a transmitir; Necessário para aplicação do tipo interativa; Necessário para aplicação que não tem seu próprio mecanismo de entrega confiável.

19

Page 20: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Source/Destination Port: porta de origem/destino (identificam os processos envolvidos na conexão); Sequence Number: posição do segmento dentro da seqüência de bytes da/para a aplicação; Acknowledgment Number: número do próximo byte esperado no destino; Hlen: tamanho do cabeçalho; Reserved: reservado; Code bits: finalidade do segmento: . URG: campo Urgent Pointer é válido; . ACK: campo Ack number é válido; . PSH: segmento requer um push; . RST: reset a conexão; . SYN: sincronize números de seqüência; . FIN: origem terminou sua seqüência de bytes Window: tamanho da janela deslizante (número de segmentos enviados em seqüência antes de receber reconhecimento); Checksun: verificação de erro no segmento; Urgent Pointer: posição onde os dados urgentes se encontram no segmento; Options: tamanho (opcional) máximo de segmento (“Maximum Segment Size”); Padding: preenchimento; Data: dados do segmento. Camada de Aplicação TELNET – “Terminal Network Protocol”: provê o serviço de terminal remoto através da rede; FTP – “File Transfer Protocol”: provê o serviço de transferência de arquivos; SMTP – “Simple Mail Transport Protocol”: provê o serviço de correio eletrônico; DNS – “Domain Name Service”: provê o serviço de mapeamento de nomes em números IP (e vice-versa); NFS – “Network File System”: provê o serviço de compartilhamento de sistemas de arquivos através da rede; SNMP – “Simple Network Management Protocol”: provê o serviço de gerenciamento de equipamentos de forma remota.

20

Page 21: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Encapsulamento de Dados

Arquitetura TCP/IP versus Arquitetura RM-OSI

21

Page 22: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Roteamento

Conceituação Roteamento é o mecanismo através do qual duas máquinas em comunicação “acham” e usam um caminho ótimo (o melhor) através de uma rede. O processo envolve: Determinar que caminhos estão disponíveis; Selecionar o “melhor” caminho para uma finalidade particular; Usar o caminho para chegar aos outros sistemas; Ajustar o formato dos dados (datagramas) às tecnologias de transporte disponíveis (MTU, MSS, etc.). Na arquitetura TCP/IP, o roteamento é baseado no endereçamento IP, particularmente, na parte de identificação de rede de um endereço IP. Toda a tarefa é desenvolvida na camada Inter-rede da pilha de protocolos TCP/IP.

Vantagens do Roteamento Melhor escolha de rota: com o uso de protocolos de roteamento modernos, podem-se ter múltiplos caminhos operando em paralelo, distribuindo tráfego (multiplexando caminhos) de acordo com critérios especificados pelo administrador da rede ou dos próprios softwares envolvidos; Adaptação a diferentes tecnologias de redes físicas: sistemas de comunicação de longa distância (ponto-a-ponto) e sistemas de comunicação de curta distância (os mais variados), com características de performance e forma de transmissões variadas podem ser integrados facilmente; Confiança e controle: roteadores normalmente não propagam dados oriundos de difusão (“broadcast” ou “multicast”) em nível de enlace de dados; agem como barreiras entre redes distintas prevenindo a propagação de alguns tipos de falhas (por exemplo, uma tempestade de difusão) ou mesmo de alguns tipos de acessos indevidos (baseado em endereços de origem/destino dos dados); Reportagem de erro: roteadores usam o protocolo ICMP (“Internet Control Message Protocol”) para relatar/tratar condições de erro (por exemplo, congestionamento de rede).

22

Page 23: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Mecanismos de Entrega de Dados Entrega Direta: feita quando a máquina destino encontra-se na mesma rede física da máquina origem; nesse caso faz-se o mapeamento do endereço lógico (IP) para o endereço físico (Ethernet, Token-ring, ATM), seguido da entrega dos dados.

Entrega Indireta: feita quando a máquina destino não se encontra na mesma rede física da máquina origem; nesse caso os dados são enviados para o roteador (“gateway”) mais próximo, e assim sucessivamente até atingirem a máquina destino.

Máscara de Rede e Roteamento Para saber como entregar um datagrama, a máquina/roteador origem precisa saber se a máquina/roteador destino pertence a uma rede diretamente conectada ou não. Isso é feito através de uma operação de AND binário do endereço IP próprio, e do endereço IP destino, com a máscara de rede. Se a identificação de rede do endereço IP local for igual à identificação de rede do endereço IP destino, origem e destino estão na mesma rede física.

23

Page 24: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Máscara de Rede (255.255.255.224)

Endereço IP Byte 3 e 2 Byte 1 e 0 (3 bits) Byte 0 (5 bits) Endereço de Rede

Tabela de Roteamento Cada máquina/roteador da rede precisa dispor de informações sobre a(s) rede(s) a(is) qual(is) está conectada. Tais informações permitem à máquina/roteador fazer a entrega de dados como visto anteriormente. A esse conjunto de informações dá-se o nome de Tabela de Roteamento; A tabela de roteamento deve guardar informações sobre que conexões estão disponíveis para se atingir uma determinada rede e alguma indicação de performance ou custo do uso de uma dada conexão; Antes de enviar um datagrama, uma máquina/roteador precisa consultar a tabela de roteamento para decidir por qual conexão de rede enviá-lo; Obtida a resposta, a máquina faz a entrega do datagrama de forma direta (destino em rede diretamente conectada) ou através de um roteador (destino não em rede diretamente conectada).

Entradas na Tabela de Roteamento As entradas da tabela de roteamento fornecem informações sobre roteamento para redes lógicas; cada entrada tem (basicamente) a forma:

Cada entrada especifica uma rede destino, a máscara de rede e o próximo roteador a ser usado para se chegar à rede destino; Para redes diretamente conectadas, o endereço IP do roteador destino é o endereço da interface de conexão à rede; Algumas entradas podem especificar (ocasionalmente) o endereço IP de uma máquina destino;

24

Page 25: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes É comum a existência de uma entrada para a rede destino “default”, cujo roteador indicado deve receber o datagrama cujo endereço destino não pertença a nenhuma das redes destino registradas na tabela (indicada como rede 0.0.0.0 com máscara 0.0.0.0).

Algoritmo de Roteamento Dada a tabela de roteamento e um datagrama a ser encaminhado (roteado): Extrair o endereço IP destino (IP-dest) do datagrama; Para cada entrada i da tabela de roteamento (Di, Mi, Ri): Calcular o endereço IP da rede destino (IPR-dest) fazendo IPR-dest = IP-dest AND Mi; Fim para Se IPR-dest = Di, encaminhe o datagrama para o roteador Ri; Se não encontrar nenhuma alternativa para encaminhamento do datagrama, declare “Erro de Roteamento”.

25

Page 26: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

DNS – “Domain Name Service” O esquema de endereçamento TCP/IP prevê que cada elemento da rede seja identificado de forma única através de um número – o endereço IP; - Trabalhar com números é mais natural para as máquinas, mas as pessoas preferem trabalhar com nomes; é muito mais fácil lembrar, por exemplo, que informações sobre a Universidade Federal da Paraíba estão disponíveis na máquina www.ufpb.br ao invés da máquina 150.165.132.1. Para isso ser possível é necessário existir um mecanismo de tradução de nomes para endereços numéricos. Esse mecanismo é o DNS (Domain Name System). - É um diretório de nomes e números em que um usuário poderia digitar um nome e ter um número retornado (ou vice-versa) de um arquivo de texto. - O DNS pode ser entendido de forma bastante simples como sendo uma tabela muito, muito grande, mas similar às que estamos acostumados a lidar quando compomos uma planilha ou quando lidamos com bases relacionais. O formato desse tabela seria algo semelhante ao que segue: Name NS MX A Ibm.com Ns.Watson.ibm.com,

Ns.almedem.ibm.com Ns.Watson.ibm.com 204.146.81.99,

198.133.16.99, 198.133.17.99, 204.146.80.99

Linuxtoday.com Ns1.internet.com, Ns3.internet.com

Mail.linuxtoday.com 63.236.72.248

NS: indica os servidores de nomes associados ao domínio. MX: indica os servidores SMTP responsáveis pelo recebimento de e-mail do domínio em questão. A: Indica o endereço associado a um nome. - Além das colunas indicadas, há outras que omitimos para facilitar a visualização. Quando uma entidade, uma empresa, ou uma pessoa registra um domínio na Internet (por exemplo “uniderp.br”, “uol.com.br”, e assim por diante), ela torna-se a “responsável” por todas as linhas da tabela DNS derivadas desse domínio (isto é, aquelas onde o nome se refere esse domínio, como por exemplo www.linux.org no caso de domínio linux.org) - É importante observar que o administrador de um domínio pode definir a sua própria política de criação de nomes para esse domínio. É hábito que todo domínio possua um “www” associado ao endereço do servidor WEB, mas a associação do nome “www” ao serviço http é convencional e não compulsória. - Guardar uma tabela com todos os nomes e números de máquinas da Internet em cada máquina conectada à rede é impossível (não só pelo tamanho, como pela impossibilidade de atualização da base para mantê-la consistente); - Como resolver o problema? Criar um mecanismo (ou serviço) que permita que o mapeamento de nomes em números seja feito de forma distribuída, com muitos computadores (servidores) na rede “tomando conta” de quantidades mais manipuláveis de nomes; - Idéia! Organizar a Internet em Domínios Administrativos e criar um banco de dados hierárquico, distribuído, onde exista um ou mais servidores em cada nível da hierarquia, responsáveis por fornecer informações sobre nomes que se situam abaixo desse ponto da hierarquia (apenas um nível). - A definição de domínios administrativos e a imposição de que não se cadastre equipamentos e subdomínios com o mesmo nome em um domínio, evita a utilização de um mesmo nome para mais de um equipamento na rede; - O nome de todo equipamento na rede vai ser composto de um nome local (que pode se repetir em domínios diferentes), seguido por uma hierarquia de domínios; o nome completo do equipamento passa a ser seu ‘Nome de Domínio Totalmente Qualificado’ – “Fully Qualified Domain Name – FQDN”;

26

Page 27: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

t t t

Procedimentos para registro de nomes

A estrutura hierárquica do DNS faz com que o registro de um domínio (isto é, a inclusão de mais um domínio na tabela DNS global) só pode ser feito junto à entidade responsável pelo domínio hierarquicamente acima do que se deseja registrar. O domínio .br está sob a responsabilidade da FAPESP (Fundação de Amparo à Pesquisa do Estado de São Paulo), e por isso o registro de nomes que terminem em.br como .com.br ou .org.br deve ser feito junto a ela. Historicamente o registro de nomes foi sempre feito através do envio de formulários pelo correio eletrônico, mas recentemente a FAPESP criou uma interface web para o registro e a manutenção de nomes (http://registro.br).

Empresas, entidades e pessoas jurídicas no Brasil via de regra registram nomes .br ou alternativamente .com ou .org ou .net. Os domínios .com, .org e .net não estão sob a autoridade da FAPESP, e o registro de domínios nesse caso deve ser feito junto a Internic (http://www.internic.net) ou mais precisamente junto aos "registrars" que ela credenciou. Esses registrars oferecem interfaces web através das quais o domínio pode ser registrado.

Quais são as exigências para o registro de um domínio? Isso depende da entidade responsável, e em geral envolve o pagamento de taxas. No Brasil, as normas para registro de domínios são determinadas pelo Comitê Gestor (http://www.cg.org). Além disso, todo domínio precisa ter um contato administra ivo e um con a otécnico (isto é pessoas que respondam por esse domínio). - Domínios na Internet refletem uma organização institucional e/ou geográfica; nos Estados Unidos tem-se, por exemplo:

- No Brasil, tem-se uma organização semelhante, acrescentando-se o sufixo.br aos domínios anteriores:

27

Page 28: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes - Toda vez que alguém (em geral, software de aplicação) precisa descobrir o endereço IP associado a algum nome na rede, faz uma consulta padrão (consulta ao DNS direto) começando na raiz da hierarquia, descendo pelos ramos até encontrar a informação procurada ou descobrir que a mesma não existe na rede (ou não está cadastrada nos servidores de nomes).

- De modo semelhante, alguém pode querer saber qual é o nome associado à algum endereço IP. Nesse caso, faz uma consulta padrão (consulta ao DNS reverso) também começando pela raiz da hierarquia.

28

Page 29: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Aplicativos

Aplicativos de Login Remoto

Veremos que os serviços de alto nível fornecem maior funcionalidade às comunicações e permitem que

os usuários e programas interajam com serviços automatizados em maquinas remotas e usuários remotos.

Veremos também que os protocolos de alto nível são implementados com programas aplicativos e vamos

compreender como eles dependem do nível dos serviços da rede.

TELNET

A seqüência de protocolos TCP/IP inclui um protocolo simples de terminal remoto denominado TELNET.

O TELNET oferece um serviço de uso remoto de computadores através da rede e permite que um usuário em

uma máquina A abra uma conexão TCP com uma máquina B (situado em outro site ou não) e passe a usá-la

como se estivesse conectado à mesma localmente.

Grande parte da rica funcionalidade associada ao TCP/IP resulta de uma grande variedade de serviços de alto nível fornecidos pelos programas aplicativos. Os protocolos de alto nível de Login Remoto usados por esses programas são voltados para serviços básicos: remessa não confiável de datagrama e stream de transmissão confiável. Os serviços geralmente seguem o modelo cliente/servidor em que os servidores operam em portas de protocolos identificadas para que os clientes saibam como contatá-los. Aplicativos de acesso e transferência de arquivos

Muitos sistemas de redes fornecem computadores com capacidade para acessar arquivos em máquinas remotas. Os projetistas exploraram uma variedade de abordagens ao acesso remoto. Por exemplo, alguns projetos usam acesso a arquivo remoto para reduzir o custo total. Nesses sistemas de arquitetura, um sistema de arquivo centralizado e único fornece armazenamento secundário para um conjunto de computadores baratos sem armazenagem de disco local.

29

Page 30: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes FTP (File Transfer Protocol)

A transferência de arquivos é um dos aplicativos TCP/IP usados com mais freqüência e responde por grande parte do tráfego da rede. O FTP usa cópia integral de arquivo e permite que o usuário liste diretórios na máquina remota e também faça a transferência de arquivos em ambas as direções.

Com um protocolo de transporte fim a fim confiável como TCP, a transferência de arquivos pode parecer trivial. No entanto, os detalhes da autorização, denominação e representação entre máquinas heterogêneas fazem com que o protocolo se torne complexo.

- Acesso interativo - Especificação de formato (ASCII ou EDCDIC) - Controle de autenticação

Geralmente, tanto o cliente como o servidor cria um processo separado para tratar da transferência de dados. Considerando que os detalhes exatos da arquitetura do processo dependam do Sistema Operacional usado, a figura abaixo ilustra o conceito:

TFTP (Trivial File Transfer Protocol)

A pilha de protocolos TCP/IP contém um protocolo de transferência de arquivos que fornece serviço a preço acessível e sem sofisticação.

O TFTP restringe a operações para simples transferências de arquivos e não fornece autenticação.

O lado do transmissor transmite um arquivo em blocos de 512 bytes (tamanho fixo) e aguarda a confirmação de cada bloco antes de enviar o próximo.

Diferente do FTP o TFTP não requer um serviço de transporte stream confiável. Ele roda acima do UDP ou em qualquer outro sistema de entrega não confiável, usando time out e retransmissão para assegurar a chegada dos dados. O TFTP fornece uma alternativa simples e limitada ao TFP para aplicativos que precisam apenas de transferência de arquivos. Por ser suficientemente pequeno para estar contido na ROM, o TFTP pode ser usado para inicialização de máquinas sem disco.

NFS (Network File System) Desenvolvido inicialmente pela SUN Microsystem, o NFS fornece acesso de arquivo on-line

compartilhado que é transparente e integrado. Muitos sites TCP/IP usam NFS para interconectar seus sistemas de arquivo de computadores.

Da perspectiva de usuário, o NFS é praticamente invisível. Um usuário pode executar um programa aplicativo arbitrário e usar arquivos não indica se eles são locais ou remotos.

30

Page 31: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Implementação

É implementado através de chamadas remotas de procedimentos (RPC). Seguindo uma Arquitetura cliente/servidor; não guardando nenhuma informação em relação ao estado dos arquivos abertos em uso pelos clientes. NFS apresenta as seguintes vantagens:

- Transparência: o usuário final não sabe (e precisa?) onde os arquivos ficam realmente armazenados;

- Unificação de comandos: os comandos de manipulação de arquivos locais e remotos são exatamente os mesmos;

- Redução de espaço local: não é preciso dispor de muito espaço em disco em todas as máquinas da rede (ex. todos os aplicativos podem residir em uma única máquina);

- Independência de sistema operacional; - Consistência no uso de bases de dados.

Estudos Adicionais

FTP ([RFC 959], [RFC 913], [RFC 1068]) TFTP ([RFC 783] e [RFC 906]) NFS ([RFC 1094], [RFC 1057], [RFC 1014])

Aplicativos de Correio Eletrônico

Muitos usuários têm seu primeiro contato com redes de computadores através do correio eletrônico (e-mail), ou seja, quando enviam mensagens para um site remoto ou recebem mensagem deste. É o serviço aplicativo mais utilizado. Na realidade, é somente através dele que muitos usuários de computadores acessam as redes.

Trata-se de um serviço popular porque oferece um método rápido e conveniente de transferência de informações, além de acomodar, com um único mecanismo, de pequenas notas até grandes quantidades de memorandos. Não deve ser novidade que existem mais usuários enviando arquivos pelo correio eletrônico do que pelos protocolos de transferência de arquivos.

31

Page 32: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

SMTP (SIMPLE MAIL TRANSPORT PROTOCOL)

O serviço de correio eletrônico permite a troca de informação (mensagem, documentos e assim por diante) de forma rápida e conveniente entre dois pontos distintos na rede, mesmo que o destino não esteja ativo no momento do envio da informação.

O serviço é bastante semelhante ao serviço de correio postal podendo ser feitas, inclusive, várias analogias entre elementos atuantes no correio postal e no eletrônico:

- Nome e endereço do remetente; - Nome e endereço do destinatário; - Agente de coleta/exibição de correspondência; - Agente de despacho e recepção de correspondência; - Agente de entrega de correspondência.

Extensão MIME para dados não ASCII

O protocolo SMTP básico é orientado para a transmissão de caracteres ASCII puros, não admitindo a transferência de mensagens que contenham caracteres do conjunto ASCII estendido (programas executáveis, imagens, documentos formatados via Word, entre outros).

MIME – “Multipurpose Internet Mail Extensions” é uma extensão que supre essa deficiência do SMTP; basicamente ele permite a transferência de qualquer tipo de dados através do SMTP, codificando-os em uma representação de 7 bits usando a codificação base64.

A extensão MIME só pode ser usada se ambas as interfaces de usuário forem capazes de codificá-la e decodificá-la. POP (Post Office Protocol”) / IMAP( "Internet Mail Access Protocol)

POP/IMAP é um serviço geralmente disponível em servidores de correio eletrônico para permitir aos

usuários acesso às suas caixas postais a partir de estações remotas (em geral, com sistema operacional diferente do usado no servidor);

POP/IMAP permite que o usuário recupere e remova mensagens da sua caixa postal no seu servidor de correio eletrônico a partir de qualquer máquina conectada na Internet;

32

Page 33: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

IMAP oferece funcionalidades adicionais, permitindo a criação/manutenção de pastas de mensagens no próprio servidor.

HTTP (Hiper Text Transfer Protocol)/WWW (World Wide Web)

O sistema WWW define um mecanismo de busca e recuperação de informação baseado no conceito de hipertexto/hipermídia;

Através dele é possível à recuperação de informação na forma de texto, imagens (estáticas e animadas) e sons na rede, em uma estrutura cliente/servidor onde o servidor armazena um conjunto de arquivos de dados que são transferidos para o cliente (disponível em várias plataformas) sob demanda;

Os arquivos de dados (texto) são armazenados no servidor na linguagem HTML (“HyperText Makup Language”);

O sistema propõe uma forma de identificação de servidores, serviços e arquivos de modo universal através do localizador universal de recursos (“Universal Resource Locator – URL”);

Protocolo indica o serviço desejado; pode ser: - http: para “Hypertext Transfer Protocol”; - ftp: para “File Transfer Protocol” - mailto: para correio eletrônico - telnet: para terminal remoto - file: para arquivo local

Servidor[:porta] indica o endereço (FDQN ou IP) do servidor desejado (e a porta, opcionalmente; “default” é 80);

Caminho: indica o caminho (“path”) dentro do sistema de arquivos do servidor; Arquivo: indica o arquivo desejado; Exemplos:

- http://www.dsc.ufcg.edu.br - http://www.acme.com.br - ftp://ftp.mcafee.com

33

Page 34: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

O cliente WEB disponibiliza para o usuário, através de um navegador (“browser”), um mecanismo de busca, transferência e apresentação de dados contidos em servidores WEB;

Diversos navegadores estão disponíveis: - Mosaic; - Netscape; - Internet Explorer.

Aplicativos de Gerenciamento da interligação em redes

Além de protocolos que fornecem serviços em nível de rede e programas aplicativos que utilizam esses serviços, uma interligação em redes precisa de um software que permita aos administradores detectar problemas, controlar roteamentos e localizar computadores que estejam violando os padrões do protocolo. Chamamos a tais atividades gerenciamento da interligação em redes.

Em uma interligação em redes TCP/IP, os roteadores IP formam os comutadores ativos que os

administradores precisam examinar e controlar. Como os roteadores conectam-se a redes heterogêneas, os

protocolos para gerenciamento da interligação em redes operam em nível de aplicativo e comunicam-se

usando os protocolos de nível de transporte TCP/IP.

SNMP (Simple Network Management Protocol)

Os protocolos de gerenciamento de rede especificam a comunicação entre o programa cliente de

gerenciamento de rede chamado pelo administrador e o programa do servidor de rede que está sendo executado em um host ou roteador. Além de definir a forma e o significado das mensagens trocadas e a representação de nomes e valores daquelas mensagens, os protocolos de gerenciamento de rede também definem relações administrativas entre os roteadores que estão sendo gerenciados.

O protocolo padrão de gerenciamento de redes TCP/IP é o SNMP. O SNMP define um protocolo de gerenciamento de baixo nível que fornece duas operações básicas: buscar o valor de uma variável ou armazenar um valor de uma variável. No SNMP, todas as operações ocorrem como efeitos colaterais do armazenamento de valores em variáveis. O SNMP define o formato de mensagens que trafegam entre o computador de um administrador e uma entidade gerenciada.

O padrão que acompanha o SNMP define o conjunto de variáveis que uma entidade gerenciada mantém. O padrão é conhecido como Management Information Base, ou MIB. As variáveis MIB são descritas usando ANSI.1, umas notações precisas, legíveis para o homem, para nomes e objetos. A ANSI.1 usa um espaço de nome hierárquico para assegurar que todos os nomes da MIB sejam únicos globalmente, embora ainda permita que subgrupos atribuam partes do espaço de nome.

34

Page 35: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

A MIB (Management Information Base) para TCP/IP classifica as informações de gerenciamento em 8 categorias:

Categoria da MIB Inclui Informação sobre Sistema O Sistema Operacional do roteador ou do host Interfaces Interfaces de rede específicas Conv. End. Conversão de endereço (por exemplo, mapeamento ARP) IP Software do Protocolo Internet ICMP Software do Protocolo de Controle de Mensagens da Internet TCP Software do Protocolo de Controle de Transmissão UDP Software do Protocolo de Datagrama do Usuário EGP Software do Protocolo de Gateway Externo

Exemplos de variáveis da MIB:

Variáveis do MIB Categoria Significado SysUpTime Sistema Tempo desde a última reinicialização IfNumber Interfaces Número de interfaces de rede IfMTU Interfaces MTU para uma interface especial IpDefaultTTL IP Valor que o IP usa em campo de tempo de vida IplnReceives IP Número de datagramas recebidos IpForwDatagra IP Número de datagramas enviados IpOutNoRoutes IP Número de falhas de roteamento IpReasmOks IP Número de datagramas remontados IpFragOks IP Número de datagramas fragmentados IpRoutingTable IP Tabela de roteamentos IP IcmplnEchos ICMP Número de solicitações ECHO ICMP recebidas TcpRtoMin TCP Tempo mínimo de retransmissão permitido pelo TCP/IP TcpMaxConn TCP Conexões máximas de TCP/IP permitidas TcplnSegs TCP Número de segmentos recebidos pelo TCP UdplnDatagrams UDP Número de datagramas de UDP recebidos EgplnMsgs EGP Número de mensagens EGP recebidas

35

Page 36: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Redes Privadas

Internet, internets, intranets e extranets

O termo "internet", ao mesmo tempo em que denota a rede mundial que estamos acostumados a utilizar para enviar e-mails, acessar o Altavista, comprar livros, etc, é também um termo genérico que significa "rede de redes IP". Se montarmos, por exemplo, três pequenas LANs corporativas, cada uma utilizando IP, e as interligarmos com linhas telefônicas, teremos criado uma rede de redes IP (ainda que minúscula), que pode ser chamada de "internet". Douglas Comer costuma utilizar o termo "Internet" (com "I" maiúsculo) para denotar a rede mundial, e o termo "internet" (com "i" minúsculo) para denotar genericamente uma rede de redes IP. Essa convenção, entretanto não é necessariamente seguida por todas as pessoas.

O termo "intranet" denota uma rede IP, eventualmente com os mesmos serviços oferecidos pela "Internet" (SMTP, HTTP, etc), mas para fins internos (por exemplo, correio eletrônico interno de uma empresa, sistema de informações interno, etc). Note que do ponto de vista de TCP/IP, o termo "intranet" não acrescenta nada, visto que ele quer qualificar apenas o conteúdo da comunicação, e não os mecanismos utilizados por ela.

O termo "extranet" por sua vez denota uma "intranet" oferecida para um público externo à corporação, mas restrito. Seria o caso, por exemplo, onde uma empresa abre o acessa à sua intranet ou à parte dela para uma outra empresa. Assim como o termo "intranet", o termo "extranet" também não acrescenta nada ao TCP/IP entendido tecnicamente.

A situação típica para uma empresa ou organização que se conecte a Internet é a de possuir uma rede privada (que chamaremos de "rede interna") oferecendo serviços internos (um servidor de disco, um servidor de base de dados, etc) e um link com a Internet para que a partir da rede interna seja possível utilizar serviços da Internet (envio de e-mails, acesso a páginas web, etc). Essa empresa ou organização poderá também oferecer serviços para a Internet, como por exemplo, um servidor de nomes respondendo pelos nomes da empresa ou organização (algo como www.empresa.com), um servidor SMTP operando como o MX para os domínios da empresa ou organização e um servidor web.

Esse tipo de situação cria uma certa quantidade de problemas típicos que o profissional que trabalha com Internet deve conhecer. Os mais comuns são:

As máquinas da rede interna terão que ter o TCP/IP configurado e, portanto, será necessário escolher os endereços que serão utilizados.

Para as máquinas da rede interna fazerem resolução de nomes, em geral será conveniente oferecer a elas um servidor de nomes que cacheie os registros que forem sendo consultados a fim de acelerar as consultas de nomes.

Para as máquinas da rede interna fazerem o despacho de e-mails para a Internet, via de regra é conveniente que exista um servidor SMTP local utilizado pelas máquinas internas, e que cuide do despacho para os destinatários finais ou para um relay.

Para as máquinas da rede interna fazerem acesso web, em geral será conveniente criar um servidor Proxy HTTP que cacheie as páginas que forem sendo acessadas a fim de evitar o download múltiplo de páginas muito consultadas, e com isso obter uma economia de banda.

O oferecimento dos serviços DNS, SMTP e HTTP à Internet cria a necessidade de se implantar esses serviços, o que corresponde à eventual necessidade de um hardware específico, e ao conhecimento dos softwares utilizados (Sendmail, IIS, etc). Se for oferecido SMTP, então um serviço de download de e-mails como o POP também terá que ser implantado.

A conectividade física com a Internet cria a possibilidade de ataques tanto às máquinas que oferecem serviços para a Internet quanto para as máquinas destinadas exclusivamente para uso interno.

36

Page 37: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Endereços reservados para redes Privadas

A exaustão do espaço de endereçamento IP da Internet tornou conveniente a reserva de alguns endereços para uso em redes privadas. Esses endereços são:

10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 Como são eles utilizados na prática? suponha que uma empresa implante uma rede IP para uso interno.

Se essa rede estiver totalmente isolada da Internet, então em princípio ela pode utilizar quaisquer endereços IPv4 para configurar as interfaces. Em geral entretanto as redes privadas não estão totalmente isoladas da Internet, e dispõe no mínimo de uma conexão discada, e nesse caso não poderemos utilizar IPs já outorgados para outros.

Como é difícil ou talvez impossível obter para essa rede endereços IP "oficiais" (roteáveis), pode-se optar pelo uso desses networks reservados para redes privadas, pois se garante que esses endereços não estão em uso na Internet. Ou seja, não existe na Internet nenhum servidor web configurado com IP 172.16.14 e nenhum servidor SMTP com endereço 10.5.6.7.

Assim, é importante nesses casos utilizar esses endereços reservados. Para dar um exemplo, uma rede privada pequena poderia utilizar o endereço de rede 192.168.1.0 com máscara 255.255.255.0. O administrador irá então configurar as interfaces das máquinas com IPs da forma 192.168.1.X. Essas máquinas poderão estar fisicamente conectadas à Internet, mas não poderão ser atingidas por pacotes originados na Internet. De fato, os roteadores da Internet não saberão encontrar endereços que não foram oficialmente outorgados a ninguém, e que inclusive podem estar sendo utilizados simultâneamente em muitas redes privadas diferentes ao longo do mundo.

Se, entretanto a rede possuir ao menos um IP "oficial", as máquinas configuradas com IPs de rede interna poderão acessar a Internet como clientes através do mecanismo de mascaramento (nat) indicando essa máquina que possui o IP oficial como gateway. NAT - Network Address Translation (mascaramento)

Como vimos anteriormente, uma máquina IP cujas interfaces estejam configuradas com endereços reservados para redes privadas não pode participar da Internet porque não existirão as rotas de retorno. O mascaramento soluciona parcialmente este problema, desde que exista ao menos uma interface (dentre todas as máquinas da rede privada, que chamaremos de "rede interna") um IP "oficial" (isto é, roteável).

O mascaramento consiste em utilizar a máquina com o IP oficial como gateway para a Internet, configurando-a para substituir o endereço do remetente no cabeçalho IP de cada pacote por ela repassado para a Internet pelo seu próprio endereço oficial. Dessa maneira, os pacotes gerados pelo servidor acessado poderão ser regularmente roteados de volta até atingir o gateway. Quando isso acontece, o gateway destroca o endereço de destino desses pacotes (que neste momento é o seu próprio) colocando no seu lugar o endereço do remetente original. Assim, do ponto de vista do servidor externo, o acesso foi gerado pelo gateway e não pelo cliente com o IP de rede interna.

Ao receber um pacote da Internet, como procede o gateway para determinar se esse pacote é dirigido para ele mesmo ou se deve ser re-roteado? Isso é feito através da alocação, no gateway, de uma porta exclusiva para cada conexão TCP gerada por um cliente da rede interna. Uma tabela é mantida associando essa porta única com o IP e a porta de origem da conexão. Assim, os pacotes gerados pelo cliente ao passarem pelo gateway terão tanto o IP de origem quanto a porta de origem trocados. No momento em que a conexão é encerrada aquela porta alocada no gateway fica livre para ser reutilizada. Para evitar um esgotamento das

37

Page 38: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes portas no gateway, implementa-se também a liberação das portas de conexões que tenham permanecido sem atividade por um certo tempo (por exemplo, dez minutos).

O mascaramento tem várias limitações. Uma delas é que o cliente da rede interna nunca pode ser a parte passiva da conexão (isto é, aquela que mantém a porta em listen) porque o seu IP não é roteável (isso até certo ponto pode ser considerado bom do ponto de vista de segurança). Essa deficiência pode eventualmente ser contornada pelo uso de mapeadores de portas. Uma outra limitação é que alguns protocolos não operam corretamente com o mascaramento, ou só operam corretamente se o gateway mascarador tiver um suporte específico para esses protocolos. Um desses protocolos é o FTP. O FTP utiliza duas conexões TCP, uma para comandos e outra para dados. A conexão de comandos é estabelecida primeira. É através dela que usamos os comandos PROMPT, ASC, etc. Por vezes conseguimos conectar um servidor ftp e executar comandos como ASC, mas não comandos como DIR ou GET. Esse sintoma via de regra indica a existência de um gateway mascarador onde o suporte para FTP não existe ou não está ativado.

Proxies e HTTP

Um Proxy é alguém (um computador) que se faz passar por um outro (computador). O modo mais simples de se entender isso é no contexto de circuito virtual, que no caso do TCP/IP são circuitos ou canais ou conexões TCP.

Um canal TCP tem sempre exatamente duas extremidades, uma ativa, que tomou a iniciativa (chamada cliente) e a outra passiva, que aguardava a solicitação do cliente (o servidor).

Há situações onde o cliente não pode ou não deseja identificar-se como tal. Isso ocorre quando ele está numa rede protegida por um firewall, ou quando ele não possui um endereço IP "oficial" da Internet.

Pois bem, num caso como esse, o cliente solicita a uma outra máquina que se faça passar por cliente. Essa outra máquina fará, portanto o papel de intermediário. Ela abrirá o canal TCP com o servidor, mas redirecionará todo o tráfego proveniente do servidor para o cliente oculto, e todo tráfego proveniente do cliente oculto será redirecionado para o servidor.

O recurso de poder usar um Proxy em geral necessita estar previsto no cliente. Por exemplo, os browsers web costumam ter na sua configuração o servidor Proxy como um item (no Netscape veja o menu Options/Network Preferences/Proxies).

Apesar de serem noções bastante diferentes, é difícil entender porque usar um Proxy é diferente de mascarar IP, pois a funcionalidade de ambos é semelhante. Para se compreender a distinção, é necessário ter uma boa noção de como é a implementação do TCP/IP numa máquina, e os vários papéis que tipicamente são desempenhados pelo "layer" TCP/IP e pelas aplicações.

No contexto de circuitos virtuais, no caso do Proxy existem efetivamente dois canais TCP, um entre cliente e Proxy, e outro entre Proxy e servidor. No caso do mascaramento de IP, só há um canal TCP, e o gateway mascarador simplesmente troca nos frames os endereços e as portas do remetente ou do destinatário, dependendo do caso, a fim de que o servidor pense que o cliente é o gateway.

Isso significa, por exemplo, que no caso do mascaramento, o gateway comporta-se apenas como um roteador de pacotes, enquanto no caso do Proxy ele remonta (no caso de TCP) o stream que o cliente envia antes de retransmiti-lo ao servidor, e vice-versa, tendo, portanto um overhead maior.

Proxies são comumente utilizados para HTTP e, neste caso, além de operar como intermediário, o Proxy também pode cachear as páginas web obtidas no seu winchester. Dessa forma, uma segunda requisição de uma mesma página não irá baixá-la novamente do servidor remoto, mas irá recuperá-la do winchester. Alguns proxies adicionam recursos muitos úteis, como por exemplo, a possibilidade de se realizar buscas nas páginas cacheadas.

38

Page 39: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

VPNs

O entendimento da operação do TCP/IP em comunicação serial e do conceito de canal virtual torna imediato o entendimento da noção de VPN, ou ao menos de uma das suas modalidades.

Vimos nas notas sobre comunicação serial que para se fazer com que duas máquinas se comunicassem via IP bastou existir um mecanismo que transportasse bytes de uma para outra. Sobre esse mecanismo podemos implementar um software que realize o envio ou o recebimento de pacotes através do SLIP ou do PPP. Bem, um canal TCP é um mecanismo de envio de bytes entre dois computadores. Assim, um canal TCP que atravesse parte da Internet pode ser utilizado para encapsular SLIP ou PPP (por exemplo).

Nesse caso, os pacotes referentes ao canal TCP utilizado para o encapsulamento (e que chamaremos de túnel) transportam na sua área de dados a mesma seqüência de bytes que seria trocada num link SLIP ou PPP, e que no caso incluirá os cabeçalhos dos pacotes encapsulados. Assim, será gerado um overhead de comunicação, pois teremos cabeçalhos duplicados.

Por outro lado, o encapsulamento cria algumas vantagens. Uma primeira vantagem é que as aplicações que criam o túnel podem incluir filtros que criptografem e/ou comprimam os dados que estão sendo enviados por ele. Se repararmos nos exemplos dados de servidor e cliente TCP minimais, veremos que não há dificuldade nisso, pois basta anteceder a chamada dos serviços de envio ou de recebimento com a desses filtros. Dessa maneira podemos adicionar criptografia ao nível do IP atingindo dessa forma todos os serviços de rede utilizados, mesmo aqueles que originalmente não previam suporte para criptografia.

Uma segunda vantagem é que o roteamento do tráfego encapsulado independe do roteamento da Internet (estamos supondo que o túnel utiliza a Internet), visto que o roteamento da Internet atua sobre os cabeçalhos dos pacotes da conexão TCP usada como túnel, e não sobre os cabeçalhos encapsulados. Estes são manipulados apenas pelas aplicações que lêem e escrevem nas duas pontas do túnel. Essas aplicações criam interfaces virtuais nas máquinas em que estão operando, associam a elas IPs, adicionam rotas nessas máquinas apontando para essas interfaces virtuais, e passam a operar como gateways nas extremidades do túnel. Dessa forma, é possível criar uma rede IP privada com uma estrutura de roteamento independente da Internet, mas utilizando a Internet como carrier, o que é vantajoso em termos de custo operacional.

39

Page 40: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Segurança da Interligação em redes Introdução

Assim como os pertences precisam de cadeados para que fiquem seguros, os computadores e redes de dados necessitam de dispositivos para garantir a segurança da informação. A segurança em um ambiente de interligação em redes é ao mesmo tempo importante e difícil. Primeiramente, porque a informação tem importância significativa – ela pode ser comprada e vendida diretamente ou usada indiretamente para criar novos produtos e serviços que produzem lucros elevados. A segurança em uma interligação em redes é difícil porque requer um entendimento da ocasião e do modo como os participantes (usuários, computadores, serviços e redes) podem confiar um no outro, assim como uma compreensão dos detalhes técnicos do hardware da rede e dos protocolos. A segurança de toda uma interligação em redes pode ser comprometida por um único computador. Mais importante: como o TCP/IP suporta uma grande variedade de usuários, serviços e redes, e como uma interligação em redes pode abranges muitos limites políticos e organizacionais, os indivíduos e as organizações participantes talvez não concordem em nível de confiança ou de políticas para manipular os dados.

Proteção de Recursos

Os termos segurança de rede e segurança de informação referem-se, em geral, à certeza de que as informações e os serviços disponíveis em uma rede não podem ser acessados por usuários não autorizados. Segurança implica proteção, inclusive garantia da integridade dos dados, proteção contra acesso não-autorizado dos recursos do computador, pessoas investigando ou fazendo ligações clandestinas de escuta, e contra a interrupção de serviços. Naturalmente, assim como nenhuma rede também está totalmente segura. As organizações esforçam para tornar seguros edifícios e escritórios: embora uma organização não possa impedir totalmente o crime, medidas básicas de segurança o podem desencorajar tornando-o significativamente mais difícil de ser impetrado.

Fornecer segurança de informações requer proteção não apenas dos recursos físicos como dos recursos abstratos. Recursos físicos incluem dispositivos de armazenagem passiva, tais como fitas magnéticas e discos, e também dispositivos ativos, como computadores de usuários. Em um ambiente de rede, a segurança física estende-se a cabos, pontes e roteadores que constituem a infra-estrutura da rede. Na realidade, embora a segurança raramente seja mencionada, ela desempenha, na maioria das vezes, um papel preponderante no plano da segurança geral. Obviamente, a segurança física pode impedir a escuta telefônica. Uma segurança física eficaz pode também eliminar ataques que impliquem sabotagem (exemplo: desativar um roteador para fazer com que os pacotes sejam roteados através de um trajeto alternativo e menos seguro).

Proteger um recurso abstrato como a informação via de regra é mais difícil do que fornecer segurança física, porque a informação é algo abstrato. A integridade dos dados (isto é, proteção contra mudanças não-autorizadas) é crucial; também o é a disponibilidade de dados (isto é, a garantia de que pessoas de fora não tenham a capacidade de impedir o acesso legítimo aos dados através da saturação do tráfego de uma rede). Como a informação pode ser copiada à medida que trafega por uma rede deve incluir a garantia de privacidade. Já que as informações podem ser acessadas e transferidas em alta velocidade, pode ser difícil perceber a diferença entre um acesso legítimo e um ilegítimo quando estiver ocorrendo uma transferência. Mais importante, enquanto a segurança física geralmente classifica pessoas e recursos em categorias amplas (por exemplo, proibir o acesso privativo a todos que não sejam funcionários), a segurança para a informação geralmente precisa ser mais restritiva (isto é, certas partes do registro de um funcionário só estão disponíveis para o departamento pessoal, outras somente para a chefia e outras para o setor de contabilidade).

40

Page 41: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes Necessidade de uma política de Informação

Antes que uma organização possa reforçar a segurança da rede, ela deve analisar os riscos e desenvolver uma política clara em relação ao acesso e à proteção das informações. Essa política deverá explicitar quem terá acesso a cada setor da informação, as regras que alguém deve observar ao difundir a informação entre terceiros e uma declaração de como a organização vai reagir às violações.

Apesar de parecer óbvio a necessidade de uma política, muitas organizações tentam tornar segura sua rede sem que antes tenha definido o que significa segurança. Nas organizações que adotam uma política de informação comum, os funcionários podem não estar a par dela, das motivações que levaram a organização a adotar tal política ou das conseqüências de sua violação. Estabelecer uma política de informações e educar os empregados é de suma importância porque:

Geralmente, as pessoas são o ponto mais suscetível em um esquema de segurança. Um trabalhador malicioso, descuidado ou alheio à política de informação de uma organização pode comprometer até a melhor segurança.

Uma política de informações deve ser ampla o suficiente para abranger as informações contidas no papel e também as informações armazenadas no computador, bem como deve englobar aspectos como as informações “que entram” e as “que saem” da organização. Além disso, uma política deve incluir detalhes como informações confiadas à organização por clientes, durante o curso normal do desenrolar de seus negócios, e aquelas que podem ser deduzidas ou partem dos clientes através de seus pedidos de mercadorias e serviços.

Depois de definida uma política de informações, alcançar o nível desejado de segurança pode ser complicado porque isso significa reforçar a política em toda a organização. As dificuldades surgem ao se lidar com organizações externas e o trabalho de interligação em redes torna essa interação conveniente e freqüente. Em particular, como uma interligação em redes pode incluir várias organizações, as políticas tendem a se chocar. Considere, por exemplo, três organizações A, B e C. Suponha que a política de A permita que a informação seja exportada para B, mas não para C. Se a política de B permite exportar para C, as informações podem fluir de A a C, através de B. Mais importante, apesar de o resultado final poder comprometer a segurança, nenhum funcionário de nenhuma organização violaria a política de sua organização.

Mecanismos de autenticação

Os mecanismos de autenticação solucionam o problema de examinar a identificação. Exemplificando, muitos servidores são configurados para rejeitar uma solicitação, a menos que ela se origine de um cliente autorizado. Quando um cliente faz o primeiro contato, o servidor deve conhecer a sua identidade; uma forma fraca de autenticar o conjunto de redes interligadas consiste em usar os endereços IP. Ao usar esse tipo de autenticação, um administrador configura um servidor com uma lista de endereços de origem IP válidos. O servidor examina os endereços de origem IP em cada solicitação de entrada e só aceita solicitações de computadores clientes que constem da lista autorizada.

A autenticação IP de origem é fraca porque pode ser rompida facilmente. Em uma interligação em redes onde os datagramas passam através de redes e de roteadores intermediários, a autenticação de origem pode ser atacada em uma das máquinas intermediárias. Por exemplo, suponha que um impostor adquira controle sobre um roteador R que está entre um cliente válido e um servidor. Para acessar o servidor, o impostor primeiro altera rotas em R para direcionar o tráfego de volta a si próprio. Ele então gera uma solicitação usando um endereço do cliente autorizado como um endereço de origem. O servidor aceitará a solicitação e enviará a resposta ao cliente autorizado. Quando essa resposta alcançar o roteador comprometido, R, ela será enviada através da rota incorreta ao impostor, onde poderá ser interceptada. Se o impostor enviar todo o tráfego, exceto respostas a solicitações ilegítimas, nem o cliente em o servidor detectará a invasão.

Um esquema de autorização que use um endereço IP de uma máquina remota para autenticar sua identidade não previne ataques de impostores através de uma interligação em redes insegura; isso porque um impostor que obtém o controle de um roteador intermediário pode personificar um cliente autorizado.

Curiosamente, os clientes enfrentam o mesmo problema que os servidores porque um impostor pode também personificar um servidor.

41

Page 42: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Mecanismos de privacidade A criptografia pode também tratar de problemas de privacidade. Exemplificando, se um transmissor e

um receptor usarem um esquema de criptografia de chave pública, o transmissor ode assegurar que somente o receptor de destino poderá ler a mensagem. Para isso, o transmissor usa a chave pública do receptor para codificar a mensagem, e o receptor usa sua chave particular para decodificá-la. Já que somente o receptor de destino tem a chave particular necessária, nenhuma outra pessoa pode decodificar a mensagem. Assim, a privacidade pode ser reforçada mesmo se uma terceira pessoa obtiver uma cópia dos datagramas quando eles passarem entre o transmissor e o receptor.

Mecanismos como criptografia de chave pública podem ser usados para ajudar a resolver os problemas de autenticação, autorização e privacidade. Tanto o software do cliente quanto do servidor devem ser modificados para usar tais mecanismos.

Firewalls e acesso à interligação em redes Os mecanismos que controlam o acesso à interligação em redes lidam com o problema de filtrar uma

rede ou organização em particular de uma comunicação indesejada. Tais mecanismos podem ajudar a prevenir que estranhos: obtenham informações, alterem informações ou interrompam a comunicação em uma interligação em redes interna de uma organização. Especificamente, o controle de acesso bem-sucedido requer uma combinação cuidadosa de restrições na topologia da rede, preparação das informações intermediárias e filtros de pacotes.

Uma técnica única surgiu como a base para o controle de acesso à interligação em redes. A técnica coloca um bloco conhecido como firewall de interligação em redes na entrada da parte da interligação que deve ser protegida. Uma organização pode colocar um firewall na sua conexão da Internet global para protegê-la de acesso indesejado. Um firewall divide uma interligação em redes em duas regiões informalmente denominadas interior e exterior.

À parte da interligação em Redes da Organização

Firewall da organização

Restante da interligação em Redes

A colocação conceitual de um firewall de interligação em redes que protege redes internas da organização, roteadores, computadores e dados contra comunicação indesejável de estranhos.

Várias conexões e enlaces mais fracos Embora o quadro na figura acima pareça simples, os detalhes podem complicar a construção do firewall.

Em particular, uma interligação em redes de uma organização pode ter várias conexões externas. Várias conexões externas apresentam um problema especial para a segurança. A organização deve formar um perímetro de segurança instalando um firewall em cada conexão externa. Mais importante, para garantir a eficácia do perímetro, a organização deve coordenar todos os firewalls para usar exatamente as mesmas restrições de acesso. Por outro lado, pode ser possível “ludibriar” as restrições impostas por um firewall entrando na interligação em redes da organização através de outra diferente.

Enganar um firewall pode ser intencional ou não. Naturalmente, alguém com a intenção de obter acesso escolherá atacar o ponto mais fraco – se a organização tiver uma conexão desprotegida, um intruso achará mais

42

Page 43: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes fácil localiza-la e usa-la do que subverter o mecanismo de segurança em uma conexão protegida. De fato, a idéia de que um sistema de segurança só é tão forte quanto seu ponto mais fraco é bastante conhecida e foi denominado axioma de elo mais fraco.

Lamentavelmente, coordenar vários firewalls pode ser difícil. Restrições necessárias a um site não parecem importantes para outros. Por isso, os responsáveis por firewalls de interligação em redes de uma organização devem coordenar seus esforços cuidadosamente. Podemos resumir a importância de um perímetro de segurança uniforme.

Implementação do firewall e hardware de alta velocidade Em teoria, um firewall simplesmente bloqueia qualquer comunicação não-autorizada entre os

computadores da organização e computadores fora dela. Na prática, os detalhes dependem da tecnologia de rede, da capacidade da conexão, da carga do tráfego e da política da organização.

Um firewall precisa da capacidade de potência de computação suficiente para examinar todas as mensagens que chegam e saem. Como é preciso examinar cada datagrama que vai entre as partes internas e externas da interligação em redes, o firewall da organização deve lidar com programas com a mesma velocidade de conexão.

Para funcionar na velocidade da rede, um firewall deve ter hardware e software ideais para isso. Felizmente, muitos roteadores comerciais incluem um mecanismo de filtragem de alta velocidade, que pode ser usado para executar grande parte do trabalho necessário.

Filtros de nível de pacotes

Muitos roteadores comerciais oferecem um mecanismo que aumenta o roteamento normal e permite que o administrador exerça um controle mais rigoroso sobre o processamento de pacotes. Informalmente chamado de filtro de pacote, o mecanismo requer que o administrador pode escolher filtrar (isto é, bloquear) todos os datagramas que chegam de origem específica ou aqueles usados por um aplicativo específico, enquanto opta por rotear outros datagramas até o seu destino.

2 R 1r r

Interface Origem IP Destino IP Protocolo Porta

2 * * TCP *

2 * * TCP *

1 128.5.*.* * TCP *

2 * * UDP *

2 * * UDP *

2 * * TCP *

O filtro bloqueia todos os datagramas que saem, originários de quale destinados a um servidor de correio eletrônico remoto (TCP porta

Interio

Exterio

de Origem Porta de Destino

21

23

25

43

69

79

quer host da rede classe B 128.5.0.0 25). O filtro bloqueia também os

43

Page 44: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes datagramas que chegam destinados a FTP (TCP porta 21), TELNET (TCP porta 23), Whois (UDP porta 43), TFTP (UDP porta 69) ou FINGER (TCP porta 79).

Segurança e especificação de filtro de pacote

Apesar de a mesma configuração de filtro especificar uma pequena lista de serviços que devem ser

bloqueados, tal abordagem não funciona bem para um firewall eficaz. Existem três razões para isso. Primeira, o número de portas conhecidas (well-Know ports) é grande e está aumentando. Assim, um administrador deve precisar atualizar tal lista continuamente, porque um simples erro de omissão pode deixar um firewall vulnerável. Segunda, muito do tráfego de uma interligação de redes não trafega para e de uma porta conhecida (well-know port). Além dos programadores que podem optar por números de portas para seus aplicativos cliente/servidor privativos, serviços como Remote Procedure Call (RPC) designam gateways automaticamente. Terceira, listar portas de serviços conhecidos deixa o firewall vulnerável ao envelopamento, técnica na qual um datagrama é temporariamente encapsulado em outro, para a transferência através de parte de uma interligação em redes. O envelopamento é usado para ludibriar a segurança fazendo com que um host ou um roteador de dentro aceite datagramas encapsulados de um estranho, remova uma camada de encapsulação e envie o datagrama para o serviço que, de outro modo, seria restringido pelo firewall.

Como um firewall pode usar um filtro de pacote com eficácia? A resposta é inverter a idéia de um filtro: em vez de especificar os datagramas que devem ser filtrados, um firewall deve ser configurado para bloquear todos os datagramas, exceto aqueles destinados a redes específicas, hosts e portas de protocolo para as quais a comunicação externa tenha sido aprovada. Um administrador deve partir do pressuposto que a comunicação não é permitida, e depois deve examinar cuidadosamente a política de informação da organização antes de habilitar qualquer porta. De fato, muitos filtros de pacotes permitem que um administrador especifique um conjunto de datagramas a serem admitidos, em vez de um conjunto de datagramas a serem bloqueados.

A conseqüência do acesso restrito a clientes

Uma proibição geral relacionada aos datagramas que chegam em uma porta de protocolo desconhecida

parece resolver muitos problemas potenciais de segurança, já que impede que estranhos acessem servidores arbitrários na organização.

Se um firewall de uma organização restringe os datagramas que chegam, exceto para portas que correspondam aos serviços que a organização torna disponíveis externamente, um aplicativo arbitrário dentro da organização não pode tornar-se cliente de um servidor fora dela.

Acesso a serviços através do firewall

Nos casos em que um firewall é necessário para prevenir acesso involuntário, os usuários internos precisam de um mecanismo seguro que forneça acesso a serviços externos. Esse mecanismo forma a segunda maior peça da arquitetura firewall.

Em geral, uma organização pode fornecer acesso seguro apenas para serviços externos através de um computador seguro. Em vez de tentar tornar seguros todos os sistemas de computador da organização (tarefa árdua), uma organização geralmente associa um computador seguro a cada firewall. Como um computador deve ser extremamente forte para servir de canal de comunicação seguro, geralmente ele é chamado bastion host.

44
Page 45: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Interligação em Redes Externa

Desvio ativad

O bastion host proporciona o acesso seguro a sdatagramas com destinos arbitrários.

Para permitir o acesso seguro, o firewall tem stráfego de entra exceto: (1) os datagramas destinadotornar disponíveis ao acesso externo e (2) os datagrainterna bloqueia o tráfego de entrada, exceto os datagfirewalls contém também um desvio manual, que permitparte do tráfego ou o trafego integral entre um host daque desejam obter a máxima segurança possível nunca

Para entender a operação de um bastion hostorganização precise acessar um servidor FTP externo impede que o computador do usuário receba datagramcliente FTP diretamente. O usuário deve executar o clieFTP no bastion host. Após copiar o arquivo para o bastarquivo entre o bastion host e seu computador local. Dde alguma aplicação de login remoto e a outra é a utiliza

Os detalhes da arquitetura de firewall

Cada barreira de firewall necessita de um roteaos roteadores e um bastion host. Por exemplo, uma ouma linha serial pode preferir implementar um firewall,

Interligação em Redes Externa

(Internet Global)

H

R

Interligação em Redes Interna

o manualmente

ervidores externos sem exigir que a organização admita

uas barreiras ideais. A barreira externa bloqueia todo o s a serviços do bastion host que a organização decida mas destinados a clientes do bastion host. A barreira ramas que têm origem no bastion host. A maioria dos e que os administradores temporariamente passem uma organização e outro externo. Em geral, as organizações ativam um desvio desse tipo. , considere o serviço FTP. Suponha que um usuário da para obter uma cópia de um arquivo. Como o firewall as de entrada, o usuário não pode ativar o software do nte FTP diretamente. O usuário deve executar o cliente ion host, o usuário pode executar uma transferência de uas abordagens são utilizadas: a primeira é a utilização ção de aplicações clientes específicas.

dor que tenha filtro de pacote. As redes interconectam rganização que se conecta a Internet global através de com mostra a figura abaixo.

R1Interligação em Redes Interna

2

Bastion host

Bastion Host

45

Page 46: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes

Como mostra a figura, o roteador R2 implementa a barreira externa, ou seja, filtra todo o tráfego, exceto os datagramas destinados ao bastion host, H. O roteador R1 implementa a barreira interna que isola de estranhos o resto da interligação em redes associada, bloqueando todos os datagramas que entram, exceto aqueles que se originam no bastion host.

Apesar de o bastion host ser essencial para a comunicação através de um firewall, a segurança do firewall depende da segurança do bastion host. Um intruso que explora uma falha de segurança no sistema operacional do bastion host pode ter acesso dentro de um firewall.

Rede Stub

Pode parecer que a figura acima contenha uma rede supérflua que conecta os dois roteadores e o bastion host. Tal rede é geralmente conhecida como rede stub porque consiste em um fio curto (stubby) ao quais somente três computadores se conectam.

A rede stub isola a organização do tráfego de datagrama que entra. Em particular, como o roteador R2 admite todos os datagramas que são destinados ao bastion host, um estranho pode enviar um número arbitrário de tais datagramas da rede stub. Se uma conexão externa for lenta em relação à capacidade de uma rede stub, um fio físico pode ser desnecessário. No entanto, uma rede stub geralmente é uma maneira barata de uma organização se proteger da interrupção do serviço de uma rede de produção interna.

Uma implementação alternativa de firewall

Suponha que uma companhia tenha mais de uma conexão externa, mas deseja ter um único firewall.

Bastion Host H

Conexões Externas

Interligação em Redes Interna

Usar um firewall para várias conexões pode reduzir o custo. Paravárias conexões geralmente usam um roteador por conexão, lembre-se doutro. Quando vários sites externos conectam-se através de um único firoteador por conexão externa pode evitar o fluxo não desejado de pacote

Monitoramento e registro no log

O monitoramento é um dos aspectos mais importantes de um

rede responsável por um firewall precisa estar ciente das tentativas de firewall relate os incidentes, um administrador pode não perceber os prob

O monitoramento pode ser ativo ou passivo. No primeiro cassempre que um incidente ocorre. A grande vantagem desse tipo administrador fica a par do problema em potencial imediatamente. A gr

R1

R2

R3 R4 R5

compreender por que os firewalls com e que todos os sites desconfiam um do rewall, uma arquitetura que possua um s de um site externo a outro.

projeto de firewall. O administrador da burlar a segurança; a não ser que um lemas.

o, um firewall notifica o administrador de monitoramento é a rapidez - o ande desvantagem é o monitoramento

46

Page 47: Arquitetura TCP-IP.pdf

Tecnologia em Redes de Computadores Arquitetura TCP/IP Prof. Cleber Costa Gomes ativo geralmente produz tantas informações que o administrador não pode compreendê-la ou se dar conta delas.

No monitoramento passivo, um firewall registra a ocorrência de cada incidente em um arquivo de disco. Esse tipo de monitoramento geralmente registra as informações sobre trafego normal (isto é, simples características) assim como os datagramas não filtrados. O administrador pode acessar o registro a qualquer hora. Muitos administradores usam um programa de computador. A principal vantagem do monitoramento passivo surge a partir de seus registros dos acontecimentos – um administrador pode consultar o registro para observar as tendências e, ao perceber um problema de segurança, revê o histórico dos acontecimentos que ocasionaram o problema. Mais importante, um administrador pode analisar o registro periodicamente (ou seja, diariamente) para determinar se as tentativas de acessar a organização aumentam ou diminuem com o passar do tempo.

47