q
Quem é o cliente? 1 O que inicia a conexão. Quem é o servidor?
1 O que “escuta” em uma porta e aguarda conexões.
No Unix/Linux, servidores também são chamados de daemons.
O modelo TCP/IP é baseado na arquitetura cliente/servidor. O cliente envia uma requisição
Cada host utiliza sua própria sequência de identificação, mas a resposta a cada data- grama pode carregar também uma confir- mação de recebimento que utiliza a sequência do outro host.
l
Ca pí tu lo 2 - I nt ro du çã o à a dm in is tr aç ão d e r ed es e a rq ui te tu ra T CP /IP (p ar te 2 )
ao servidor, que por sua vez processa essa requisição e retorna o resultado ao cliente. Nessa arquitetura, um servidor pode atender, simultaneamente, a diversas requisições de diferentes clientes.
Um servidor oferece seu serviço em uma porta padrão conhecida. Após ser inicializado, o servidor aguarda por requisições na sua porta. Por outro lado, o Sistema Operacional de um cliente escolhe uma porta aleatória não utilizada e solicita uma conexão com a porta padrão do servidor (no caso do TCP) ou envia diretamente pacotes para a porta do servidor (no caso do UDP). Uma conexão identifica de forma única o canal de comunicação estabelecido entre um processo cliente e um processo servidor. A conexão é identificada pelos endereços IP e pelas portas do cliente e do servidor.
Os servidores são implementados através de processos especiais conhecidos como
daemons. Em geral os daemons são conhecidos pelo nome do serviço acrescido da letra “d”.
q
Principais daemons ou portas:
1 21/tcp: ftp: usado para transferência de arquivos entre máquinas. 1 23/tcp: telnet: serviço de terminal remoto.
1 22/tcp: ssh: permite comunicação segura entre duas máquinas, utilizando meca- nismos de criptografia.
1 25/tcp: smtp: serviço de envio e recebimento de e-mails. 1 53/udp: dns: serviço de resolução de nomes.
1 80/tcp: www: servidor web http.
1 110/tcp: pop3: permite leitura e transferência remota de e-mails.
1 443/tcp; https: www seguro, permite transferência de páginas do servidor ao cliente sem que possam ser lidas por terceiros.
Acima podemos ver uma lista dos daemons, protocolos mais conhecidos e suas portas. Os protocolos são especificados em documentos denominados Request for Comments (RFCs), que descrevem os diferentes tipos de mensagens suportados pelos protocolos. A especificação de um protocolo assegura a compatibilidade das diversas implementações.
q
Algumas portas são padronizadas. 1 Exemplo: portas 21, 23, 80 e 110. No Linux/Unix:
1 Portas baixas: 0 a 1023, só o root pode usá-las. 1 Portas altas: 1024 a 65535.
As portas no intervalo de 0 a 1023 são conhecidas como portas restritas ou portas baixas. Os serviços que rodam nessas portas precisam ter permissão SUID = 0 (root), o que pode gerar graves consequências caso algum deles tenha qualquer problema de segurança. Atual- mente, os programas que usam tais portas procuram iniciar como root, apenas para ganhar acesso à porta e depois mudar o processo para um usuário sem tantos poderes. Por isso existem usuários chamados www, FTP, postmaster, Squid, Samba etc.
As portas de 1024 até 65535 são conhecidas como portas altas e são geralmente as portas aleatórias utilizadas pelos clientes. Como tais portas podem ser abertas por qualquer usuário, tornou-se comum usá-las também para serviços experimentais. No entanto, alguns desses serviços podem ser padronizados posteriormente e continuar a utilizar as portas
O modelo TCP/IP é baseado no conceito de portas e conexões para assegurar que dados recebidos por uma máquina sejam correta- mente repassados aos processos de destino.
l
Daemons Em Unix e outros sistemas operacio- nais multitarefas, um daemon, acrônimo de Disk And Execution MONitor (Monitor de Execução e de Disco) é um programa que roda de forma independente em background, em vez de ser controlado direta- mente por um usuário.Uma vantagem das RFCs é que elas são debatidas em fóruns de discussão que tornam pública a opinião dos profissio- nais mais importantes nesses assuntos: os implementadores.
Ad m in is tr aç ão d e S is te m as L in ux : R ed es e S eg ur an ça
altas. Por exemplo: Squid (proxy), ICQ ou VNC.
Um aplicativo cliente/servidor muito conhecido é o Telnet, usado para obter uma sessão interativa com outro host. O protocolo é bastante simples e consiste basicamente no envio de comandos pelo cliente e no envio dos resultados dos comandos pelo servidor. A sim- plicidade do protocolo permite sua utilização para testar outros protocolos. Por exemplo, pode-se testar um servidor web sem utilizar um browser. Para isso, basta saber os tipos de mensagens do protocolo a ser testado.
A seguir, dois exemplos: no primeiro, o Telnet é usado para leitura de e-mails, via Pop; no segundo, para uma requisição de página a um servidor web:
Exemplo 1:
# telnet 10.4.0.1 110
.Trying 10.4.0.1... Connected to 10.4.0.1. Escape character is ‘^]’. +OK QPOP (version 2.53) at localhost starting. USER cristina +OK Password required for cristina. PASS supersenha
+OK cristina has 2 messages (8614 octets). LIST +OK 2 messages (8614 octets)
1 886 2 7728 DELE 1
+OK Message 1 has been deleted. QUIT Exemplo 2:
# telnet www.rnp.br 80 Trying 200.130.25.20...
Connected to jupiter.sso.rnp.br. Escape character is ‘^]’. GET /index.html
<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”> <HTML><HEAD>
...
Connection closed by foreign host.
Os comandos digitados dentro do Telnet (em destaque) são as mensagens específicas dos protocolos. Os clientes oferecem uma interface com o usuário e, internamente, trocam men- sagens do protocolo específico com o servidor. A padronização dos protocolos viabiliza a existência de diversas implementações de clientes e servidores. Por exemplo, web browsers e servidores de e-mail. Dessa forma, os usuários têm total liberdade para escolher as imple- mentações que melhor atendam às suas necessidades.
Ca pí tu lo 2 - R ot ei ro d e A tiv id ad es
Roteiro de Atividades 2
Atividade 2.1 – Roteamento
Considere a seguinte topologia:
R2 Rede 10.0.0.0\24 Internet Rede 10.0.1.0\24 Rede 10.0.2.0\24 R1 R3 R4 H1
1. Atribua endereços às interfaces de conexão entre os roteadores R1, R2, R3 e R4, com
prefixo 192.168.0.X. Utilize a menor máscara de rede possível e atribua endereços para as interfaces das redes 10.0.X.0/24.
2. Construa a tabela de rotas dos roteadores R1, R2, R3, R4 e do host multi-homed H1;
também atribua endereços para as suas interfaces.
3. Construa a tabela de rotas do host 10.0.0.34.
4. Suponha que os roteadores R3 e R4 foram conectados um ao outro através de novas
interfaces de rede. O que mudará nas tabelas de roteamento?
5. Suponha que o roteador R2 parou de funcionar devido a um problema de hardware.
O que poderia ser feito para resolver o problema?