Mudanças entre as edições de "PJI3 20192"
Linha 251: | Linha 251: | ||
</font> | </font> | ||
{{Collapse bottom | Aula 2}} | {{Collapse bottom | Aula 2}} | ||
+ | |||
+ | =06/08/2019: Roteamento Estático= | ||
+ | |||
+ | {{Collapse top | Aula 3}} | ||
+ | <font size="3"> | ||
+ | |||
+ | = Subredes IP = | ||
+ | |||
+ | Uma subrede IP é representada por um ''prefixo de rede'' e uma ''máscara''. O prefixo são os ''N'' bits mais significativos comuns a todos os endereços IP contidos em uma subrede (lembre que um endereço IP tem 32 bits). A máscara informa quantos bits tem o prefixo. A combinação de prefixo de rede e máscara funciona da seguinte forma: | ||
+ | |||
+ | Imagine que exista uma subrede contendo os endereços de 192.168.2.0 até 192.168.2.255. Se representarmos esses endereços em binário, podemos ver que os 24 bits mais significativos são os mesmos para todos os endereços: | ||
+ | |||
+ | |||
+ | [[imagem:Pji-prefixo1.png|400px]] | ||
+ | |||
+ | |||
+ | A máscara de rede tem a forma de um endereço IP, porém com bits 1 na parte correspondente ao prefixo, e 0 no resto. Assim, para o exemplo acima a máscara de rede é ''255.255.255.0''. Outra forma de representar a máscara é simplesmente informar o tamanho em bits do prefixo, e no exemplo a máscara seria ''24''. Juntando o prefixo e a máscara, a subrede pode ser representada de uma destas duas formas: | ||
+ | * '''192.168.2.0/255.255.255.0''' | ||
+ | * '''192.168.2.0/24''' | ||
+ | |||
+ | |||
+ | Agora imagine que o prefixo tenha 28 bits, como mostrado nesta figura: | ||
+ | |||
+ | |||
+ | [[imagem:Pji-prefixo2.png|400px]] | ||
+ | |||
+ | |||
+ | Por ter um prefixo mais longo, o tamanho dessa subrede é menor. Isso significa que ela contém menos endereços IP, tanto que o primeiro endereço é ''192.168.2.0'' e o último é ''192.168.2.15''. Essa subrede poderia ser representada por: | ||
+ | * '''192.168.2.0/255.255.255.240''' | ||
+ | * '''192.168.2.0/28''' | ||
+ | |||
+ | |||
+ | Aproveitando esse exemplo, pode-se mostrar uma outra subrede que, apesar de não parecer, é diferente da anterior: | ||
+ | |||
+ | |||
+ | [[imagem:Pji-prefixo3.png|400px]] | ||
+ | |||
+ | |||
+ | Essa outra subrede contém endereços entre ''192.168.2.16'' e ''192.168.2.31''. Essa subrede poderia ser representada por: | ||
+ | * '''192.168.2.16/255.255.255.240''' | ||
+ | * '''192.168.2.16/28''' | ||
+ | |||
+ | = Encaminhamento IP = | ||
+ | |||
+ | Todo ''host'' é capaz de realizar uma função da camada de rede chamada de encaminhamento IP (''IP forwarding''). O encaminhamento é feito quando um ''host'' recebe um datagrama IP, e precisa decidir o que fazer com ele. O destino do datagrama depende do endereço de destino contido em seu cabeçalho IP. | ||
+ | # '''Se o endereço IP for o do próprio ''host''''': o conteúdo do datagrama é desencapsulado e entregue à camada superior. | ||
+ | # '''Se o endereço IP NÃO for o do próprio ''host''''': a tabela de rotas do ''host'' é consultada para buscar uma rota que satisfaça o endereço de destino. Caso ela exista, o datagrama é transmitido para o próximo roteador indicado nessa rota. | ||
+ | |||
+ | |||
+ | Uma rota serve para informar como se chega a um determinado destino. Um destino pode ser um único endereço IP, ou uma subrede (que contém um conjunto de endereços IP). Para que um pacote IP chegue a um destino, deve-se transmiti-lo para o próximo roteador em direção a esse destino. Esse próximo roteador também deve conhecer uma rota para tal destino, repetindo o mesmo procedimento. Ao menos duas informações compõem cada rota: | ||
+ | * '''O destino, que é expressado como uma subrede:''' Uma subrede é representada por um ''prefixo de rede'' e uma ''máscara''. | ||
+ | * '''O próximo roteador, expressado por um endereço IP:''' o endereço IP do próximo roteador (também chamado de ''gateway'', que significa ''portal'' em inglês), o qual deve pertencer à mesma subrede do equipamento que o especifica em uma rota. | ||
+ | |||
+ | |||
+ | No caso em que o endereço de destino não for o do próprio ''host'', esse endereço é comparado com cada rota existente na tabela de rotas. Rotas com máscaras de rede maiores são testadas primeiro (o tamanho de uma máscara é definido pela quantidade de bits 1 que ela possui), pois são rotas para subredes menores e, portanto, mais específicas. Se nenhuma rota servir, o datagrama é silenciosamente descartado. | ||
+ | |||
+ | A tabela de rotas a seguir foi obtida em um computador com sistema operacional Linux. | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M1:~$ route -n | ||
+ | Tabela de Roteamento IP do Kernel | ||
+ | Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface | ||
+ | 0.0.0.0 191.36.9.254 0.0.0.0 UG 0 0 0 enp0s25 | ||
+ | 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s25 | ||
+ | 191.36.9.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s25 | ||
+ | 192.168.2.64 191.36.9.1 255.255.255.192 U 0 0 0 enp0s25 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Supondo que esse ''host'' tenha que encaminhar um datagrama com endereço de destino 8.8.8.8, a busca por uma rota adequada seria esta: | ||
+ | # '''Rota para ''192.168.2.64/26''''': ao aplicar a máscara ''/26'' (''255.255.255.192'') ao endereço de destino ''8.8.8.8'', obtêm-se o prefixo ''8.8.8.0''. Como ele é diferente de ''192.168.2.64'', esta rota não serve. | ||
+ | # '''Rota para ''191.36.9.0/24''''': ao aplicar a máscara ''/24'' ao endereço de destino ''8.8.8.8'', obtêm-se o prefixo ''8.8.8.0''. Como ele é diferente de ''191.36.9.0'', esta rota não serve. | ||
+ | # '''Rota para ''169.254.0.0/16''''': ao aplicar a máscara ''/16'' ao endereço de destino ''8.8.8.8'', obtêm-se o prefixo ''8.8.0.0''. Como ele é diferente de ''169.254.0.0'', esta rota não serve. | ||
+ | # '''Rota para ''0.0.0.0/0''''': ao aplicar a máscara ''/0'' ao endereço de destino ''8.8.8.8'', obtêm-se o prefixo ''0.0.0.0''. Como ele é igual a ''0.0.0.0'' (prefixo da rota), esta rota será usada. | ||
+ | |||
+ | |||
+ | Se outro datagrama tiver endereço de destino 191.36.9.140, a busca pela rota seria: | ||
+ | # '''Rota para ''192.168.2.64/26''''': ao aplicar a máscara ''/26'' ao endereço de destino ''191.36.9.140'', obtêm-se o prefixo ''191.36.9.128''. Como ele é diferente de ''192.168.2.64'', esta rota não serve. | ||
+ | # '''Rota para ''191.36.9.0/24''''': ao aplicar a máscara ''/24'' ao endereço de destino ''191.36.9.140'', obtêm-se o prefixo ''191.36.9.0''. Como ele é igual a ''191.36.9.0'' (prefixo da rota), esta rota será usada. | ||
+ | |||
+ | = Roteamento estático = | ||
+ | |||
+ | Cada ''host'' ligado a Internet possui uma '''tabela de rotas'''. É pelo conteúdo dessa tabela que ele sabe como transmitir os pacotes para cada destino. Em seu computador, você pode visualizar essa tabela da seguinte forma: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | # Isto funciona em qualquer *nix que se preze ... | ||
+ | netstat -rn | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Ao se configurar uma interface de rede, cria-se uma rota automática para a subrede diretamente acessível via aquela interface. Isto se chama '''''roteamento mínimo'''''. Por exemplo, se uma interface de rede foi configurada com o endereço IP 192.168.10.1/24, sua tabela de rotas pode se apresentar assim: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M1:~> ifconfig eth1 192.168.10.1 netmask 255.255.255.0 | ||
+ | aluno@M1::~> netstat -rn | ||
+ | Kernel IP routing table | ||
+ | Destination Gateway Genmask Flags MSS Window irtt Iface | ||
+ | 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 | ||
+ | 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Rotas arbitrárias podem ser adicionadas manualmente a essa tabela. Uma rota possui estas informações: | ||
+ | * '''Subrede de destino''': isso se compõe de um prefixo de rede e uma máscara | ||
+ | * '''Próximo roteador''': o endereço IP do próximo roteador (''opcional'') | ||
+ | * '''Interface de rede''': a interface de rede por onde o datagrama deve ser transmitido (''opcional'') | ||
+ | * '''Métrica''': um número que informa o custo da rota (''opcional .. usado por protocolos de roteamento dinâmico'') | ||
+ | ''Obs:'' ao menos ''próximo roteador'' ou ''interface de rede'' precisam ser especificados. | ||
+ | |||
+ | |||
+ | Em sistemas Linux, rotas estáticas podem ser criadas com o comando [http://manpages.ubuntu.com/manpages/xenial/man8/route.8.html route]. A seguir mostram-se alguns exemplos de criação de rotas: | ||
+ | * ''Rota para uma subrede de destino através de um próximo roteador'': <syntaxhighlight lang=bash> | ||
+ | # route add -net prefixo/mascara gw IP_roteador | ||
+ | route add -net 192.168.10.0/24 gw 191.36.9.254 | ||
+ | </syntaxhighlight> | ||
+ | * ''Rota para um ''host'' específico através de um próximo roteador'': <syntaxhighlight lang=bash> | ||
+ | # route add -host IP_host gw IP_roteador | ||
+ | route add -host 192.168.10.5 gw 191.36.9.100 | ||
+ | </syntaxhighlight> | ||
+ | * ''Rota para um ''host'' específico através de uma interface de rede'': nesse caso, imagine que exista uma subrede que contém o IP do host, porém esse ''host'' específico está conectado a outra interface de rede.<syntaxhighlight lang=bash> | ||
+ | # route add -host IP_host gw IP_roteador | ||
+ | route add -host 192.168.10.5 dev eth1 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | A rota ''default'', por ser corriqueira, pode ser criada com uma palavra-chave especial no comando ''route''. Essa rota tem o seguinte significado: se o destino não estiver em minha própria subrede, e nenhuma outra rota específica existir para a subrede onde se encontra, então repasse o datagrama para o roteador indicado. O comando ''route'' pode ser usado assim: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | # adiciona a rota default, que passa pelo roteador 192.168.10.100 | ||
+ | route add default gw 192.168.10.100 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Outra forma de adicionar essa rota é: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | # este comando tem o mesmo efeito que o anterior ... | ||
+ | route add -net 0.0.0.0/0 gw 192.168.10.100 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Em [https://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/5_x/nx-os/unicast/configuration/guide/l3_cli_nxos/l3_route.html roteadores Cisco], os exemplos sobre rotas estáticas implicariam estes comandos: | ||
+ | * ''Rota para uma subrede de destino através de um próximo roteador'': <syntaxhighlight lang=text> | ||
+ | ip route 192.0.10.0/24 191.36.9.254 | ||
+ | </syntaxhighlight> | ||
+ | * ''Rota para um ''host'' específico através de um próximo roteador'': <syntaxhighlight lang=text> | ||
+ | ip route 192.168.10.5/32 191.36.9.100 | ||
+ | </syntaxhighlight> | ||
+ | * ''Rota para um ''host'' específico através de uma interface de rede'': nesse caso, imagine que exista uma subrede que contém o IP do host, porém esse ''host'' específico está conectado a outra interface de rede.<syntaxhighlight lang=text> | ||
+ | ip route 192.168.10.5/32 ethernet 1 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Finalmente, se for usado o roteador sem-fio TP-Link WDR4300, rotas estáticas podem ser adicionadas no menu ''Advanced Routing -> Static Routing List'' em sua interface de gerenciamento: | ||
+ | |||
+ | [[imagem:PJI3-Tplink-routes.png|700px]] | ||
+ | <br>''Criação de uma rota estática na interface de gerenciamento do roteador TP-Link WDR4300'' | ||
+ | |||
+ | = Atividades = | ||
+ | |||
+ | == Roteiro 02: Subredes e roteamento estático == | ||
+ | |||
+ | Estes experimentos devem ser realizados no [[Netkit2]], que deve ser executado na máquina real. | ||
+ | |||
+ | '''Para esquentar: uma rede mais simples:''' | ||
+ | # Transfira para seu computador [http://tele.sj.ifsc.edu.br/~msobral/pji3/lab3/rede0.conf o arquivo de configuração ''rede0.conf''] | ||
+ | # Execute o Netkit2, e no menu ''File->Load Only'' selecione o arquivo de configuração ''rede1.conf'' | ||
+ | # Use o menu ''File->Graph'' para visualizar a topologia da rede | ||
+ | # Use o menu ''Network->Start'' para iniciar a rede | ||
+ | # Sabendo que ''pc1'' está na subrede 192.168.1.0/28, ''pc2'' está na subrede 192.168.1.96/28, faça o seguinte: | ||
+ | ## Configure os endereços IP de todas as interfaces dos ''hosts'' dessa rede | ||
+ | ## Crie rotas estáticas nos ''hosts'' para que ''pc1'' e ''pc2'' consigam se comunicar | ||
+ | |||
+ | '''Praticamente a mesma rede, mas com um roteador a mais:''' | ||
+ | # Transfira para seu computador [http://tele.sj.ifsc.edu.br/~msobral/pji3/lab3/rede00.conf o arquivo de configuração ''rede00.conf''] | ||
+ | # Execute o Netkit2, e no menu ''File->Load Only'' selecione o arquivo de configuração ''rede1.conf'' | ||
+ | # Use o menu ''File->Graph'' para visualizar a topologia da rede | ||
+ | # Use o menu ''Network->Start'' para iniciar a rede | ||
+ | # Sabendo que ''pc1'' está na subrede 192.168.1.0/28, ''pc2'' está na subrede 192.168.1.96/28, faça o seguinte: | ||
+ | ## Configure os endereços IP de todas as interfaces dos ''hosts'' dessa rede | ||
+ | ## Crie rotas estáticas nos ''hosts'' para que ''pc1'' e ''pc2'' consigam se comunicar | ||
+ | |||
+ | |||
+ | '''Agora uma rede um pouco maior:''' | ||
+ | # Transfira para seu computador [http://tele.sj.ifsc.edu.br/~msobral/pji3/lab3/rede1.conf o arquivo de configuração ''rede1.conf''] | ||
+ | # Execute o Netkit2, e no menu ''File->Load Only'' selecione o arquivo de configuração ''rede1.conf'' | ||
+ | # Use o menu ''File->Graph'' para visualizar a topologia da rede | ||
+ | # Use o menu ''Network->Start'' para iniciar a rede | ||
+ | # Sabendo que ''pc1'' está na subrede 172.18.12.64/26, ''pc2'' está na subrede 192.168.5.32/27, e ''pc3'' está na subrede 10.0.10.0/24, faça o seguinte: | ||
+ | ## Configure os endereços IP de todas as interfaces dos ''hosts'' dessa rede | ||
+ | ## Crie rotas estáticas nos ''hosts'' para que ''pc1, pc2'' e ''pc3'' consigam se comunicar | ||
+ | |||
+ | |||
+ | '''Esta rede é ainda maior:''' | ||
+ | # Transfira para seu computador [http://tele.sj.ifsc.edu.br/~msobral/pji3/lab3/rede3.conf o arquivo de configuração ''rede3.conf''] | ||
+ | # Execute o Netkit2, e no menu ''File->Load Only'' selecione o arquivo de configuração ''rede3.conf'' | ||
+ | # Use o menu ''File->Graph'' para visualizar a topologia da rede | ||
+ | # Use o menu ''Network->Start'' para iniciar a rede | ||
+ | # Sabendo que ''pc1'' está na subrede 172.18.12.64/26, ''pc2'' está na subrede 192.168.5.32/27, ''pc3'' está na subrede 10.0.10.0/24, ''pc4'' está em 200.135.37.128/25 e ''pc5'' está em 150.162.33.0/24, faça o seguinte: | ||
+ | ## Configure os endereços IP de todas as interfaces dos ''hosts'' dessa rede | ||
+ | ## Crie rotas estáticas nos ''hosts'' para que ''pc1, pc2, pc3, pc4'' e ''pc5'' consigam se comunicar pelo caminho mais curto | ||
+ | ## Suponha que o link entre ''r1'' e ''r3'' tenha caído, modifique as rotas estáticas nos ''hosts'' para que ''pc1, pc2, pc3, pc4'' e ''pc5'' voltem a se comunicar pelo caminho mais curto | ||
+ | |||
+ | |||
+ | '''Por fim, esta rede tem algo de diferente:''' | ||
+ | # Transfira para seu computador [http://tele.sj.ifsc.edu.br/~msobral/pji3/lab3/multigw.conf o arquivo de configuração ''multigw.conf''] | ||
+ | # Execute o Netkit2, e no menu ''File->Load Only'' selecione o arquivo de configuração ''multigw.conf'' | ||
+ | # Use o menu ''File->Graph'' para visualizar a topologia da rede | ||
+ | # Use o menu ''Network->Start'' para iniciar a rede | ||
+ | # Sabendo que ''pc1'' está na subrede 172.18.8.128/26, ''pc2'' está na subrede 172.18.8.96/27, ''pc3'' está na subrede 10.0.10.0/28 e ''pc4'' está em 200.135.37.128/25, faça o seguinte: | ||
+ | ## Configure os endereços IP de todas as interfaces dos ''hosts'' dessa rede | ||
+ | ## Crie rotas estáticas nos ''hosts'' para que ''pc1, pc2, pc3 e pc4'' consigam se comunicar pelo caminho mais curto | ||
+ | |||
+ | === Roteamento estático entre redes das equipes === | ||
+ | |||
+ | [[imagem:PJI3-Rede-equipes-uplink.png|350px]] | ||
+ | |||
+ | |||
+ | # Transfira para seu computador [http://tele.sj.ifsc.edu.br/~msobral/pji3/lab3/redex.conf o arquivo de configuração ''redex.conf''] | ||
+ | # Execute o Netkit2, e no menu ''File->Load Only'' selecione o arquivo de configuração ''redex.conf'' | ||
+ | # Use o menu ''File->Graph'' para visualizar a topologia da rede | ||
+ | # Use o menu ''Network->Start'' para iniciar a rede | ||
+ | # O provedor lhe concedeu a subrede 192.168.X.0/24. Usando essa subrede, configure as subredes e todos endereços de computadores e roteadores de sua rede. Assim, você precisará subdividir a subrede 192.168.X.0/24 para obter as subredes menores necessárias para configurar sua rede. | ||
+ | ## Configure os endereços IP de todas as interfaces dos ''hosts'' dessa rede | ||
+ | ## Crie rotas estáticas nos ''hosts'' para que ''pc1, pc2'' e ''pc3'' consigam se comunicar | ||
+ | # Note que ''r3'' possui um link para a rede externa por meio da interface ''eth4''. Essa interface deve usar o endereço 192.168.1.10X/24. Configure as rotas necessárias para que os hosts de sua rede consigam se comunicar com os hosts das redes de seus colegas. | ||
+ | |||
+ | |||
+ | </font> | ||
+ | {{Collapse bottom | Aula 3}} |
Edição das 15h52min de 5 de agosto de 2019
Projeto Integrador III
Professora: Juliana Camilo (juliana.camilo@ifsc.edu.br)
Encontros: 3a feira/19:00, 5a feira/19:00
Atendimento paralelo Profa. Juliana: 3a e 6a feira 17:30 hrs às 18:30 hrs
Coordenadoria pedagógica (Graciane): graciane@ifsc.edu.br (3381-2890, 3381-2842)
PPC Curso Técnico Subsequente de Telecomunicações
30/07/2019: Apresentação da disciplina.
Aula 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Apresentação da disciplinaIntrodução ao problema de estudoA disciplina de Projeto Integrador 3 tem como assunto principal as tecnologias de enlace e rede que podem ser usadas para implantar redes locais e redes de acesso. Além disso, uma introdução à redes WAN faz parte do programa da disciplina.
AtividadeNesta primeira aula o objetivo é descrever as características do serviço a ser oferecido pelo provedor, e pensar na infraestrutura necessária para que seja implantado. Isso inclui investigar o que os provedores que já existem tem oferecido para seus clientes, e que tecnologias eles utilizam. Ao final da aula, deveremos ter:
Tabela de provedores existentes (Grande Florianópolis)
|
01/08/2019: Endereçamento IPv4. Configuração Estática e Dinâmica
Aula 2 |
---|
Configuração de endereçosO endereço IP de um host pode ser configurado de forma estática ou dinâmica. No primeiro caso, o usuário predefine o endereço IP no próprio equipamento. No segundo, o equipamento usa um protocolo especial de configuração para obter sua configuração de rede.
Configuração estáticaA configuração estática envolve um usuário gravar a configuração de rede de forma persistente na memória do host. Cada tipo de equipamento apresenta um procedimento diferente para armazenar a configuração de rede estática. Por exemplo, em computadores com sistema operacional Linux da família Debian (tais como Debian, Ubuntu, Mint e muitos outros), a configuração de rede fica armazenada no arquivo /etc/network/interfaces: iface eth0 inet static
address 10.1.23.19
netmask 255.255.255.0
gateway 10.1.23.254
router# configure terminal
router(config)# interface e0
router(config-if)# ip address 10.1.23.19 255.255.255.0
router(config-if)# exit
router(config)# ip route 0.0.0.0 0.0.0.0 10.1.23.254
router(config)# exit
router# write memory
router# write terminal
Building configuration...
Current configuration : 472 bytes
!
version 12.3
!
hostname Router
!
interface Ethernet0
ip address 10.1.23.19 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.23.254
Configuração dinâmicaUm host pode obter suas informações de rede dinamicamente por meio do protocolo DHCP (Dynamic Host Configuration Protocol). Desta forma, não há necessidade de o usuário saber as informações de rede necessárias para configurar corretamente seu equipamento. Isso torna possível também centralizar e automatizar a distribuição de endereços de rede para hosts. Se alguma das informações precisar ser modificada (ex: o roteador default), basta alterá-las no serviço DHCP para que toda a rede seja eventualmente reconfigurada. A maioria dos equipamentos de usuários vem de fábrica com configuração de rede dinâmica. Isso vale para computadores pessoais, em que os sistemas operacionais detectam as interfaces de rede e as configuram com DHCP, smartphones, tablets, câmeras IP, ATA e telefones IP, impressoras, e possivelmente outros equipamentos. Em computadores pessoais com sistemas operacionais Linux da família Debian, uma interface pode ser configurada dinamicamente se for declarada em /etc/network/interfaces desta forma: iface eth0 inet dhcp
Protocolo DHCPDHCP (Dynamic Host Configuration Protocol) é um protocolo para obtenção automática de configuração de rede, usado por computadores que acessam fisicamente uma rede. Esses computadores são tipicamente máquinas de usuários, que podem usar a rede esporadicamente (ex: usuários ocm seus laptops, com acesso via rede cabeada ou sem-fio), ou mesmo computadores fixos da rede. O principal objetivo do DHCP é fornecer um endereço IP, a máscara de rede, o endereço IP do roteador default e um ou mais endereços de servidores DNS. Assim, um novo computador que acesse a rede pode obter essa configuração sem a intervenção do usuário. Para esse serviço pode haver um ou mais servidores DHCP. Um computador que precise obter sua configuração de rede envia mensagens DHCPDISCOVER em broadcast para o port UDP 67. Um servidor DHCP, ao receber tais mensagens, responde com uma mensagem DHCPOFFER também em broadcast, contendo uma configuração de rede ofertada. O computador então envia novamente em broadcast uma mensagem DHCPREQUEST, requisitando o endereço IP ofertado pelo servidor. Finalmente, o servidor responde com uma mensagem DHCPACK, completando a configuração do computador cliente. Como a configuração tem um tempo de validade (chamado de lease time), o cliente deve periodicamente renová-la junto ao servidor DHCP, para poder continuar usando-a. O diagrama abaixo mostra simplificadamente esse comportamento:
O servidor DHCP identifica cada cliente pelo seu endereço MAC. Assim, o DHCP está fortemente relacionado a redes locais IEEE 802.3 (Ethernet) e IEEE 802.11 (WiFi). Servidor DHCPEm uma rede local em que hosts devem obter sua configuração de rede dinamicamente, deve haver ao menos um servidor DHCP. Esse serviço costuma estar disponibilizado em equipamentos de rede, tais como pontos de acesso sem-fio e roteadores. Por exemplo, o roteador sem-fio TP-Link WDR 4300 oferece esse serviço, que pode ser configurado e ativado por meio de sua interface de gerenciamento.
# tempos de concessão, em segundos
default-lease-time 600;
max-lease-time 7200;
# Algumas opções de uso comum
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 191.36.8.2, 191.36.8.3;
option domain-name "sj.ifsc.edu.br";
# subrede 192.168.1.0/24 com duas faixas de endereços a serem concedidos:
# 192.168.1.100 a 192.168.1.150
# 192.168.1.190 a 192.168.1.240
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.2.150;
range 192.168.1.190 192.168.2.240;
}
AtividadeObjetivo
Roteiro 01: configuração de endereçosTomando como base a rede do laboratório mostrada na figura, realize estes procedimentos em a máquina virtual "Gráfico-3":
|
06/08/2019: Roteamento Estático
Aula 3 |
---|
Subredes IPUma subrede IP é representada por um prefixo de rede e uma máscara. O prefixo são os N bits mais significativos comuns a todos os endereços IP contidos em uma subrede (lembre que um endereço IP tem 32 bits). A máscara informa quantos bits tem o prefixo. A combinação de prefixo de rede e máscara funciona da seguinte forma: Imagine que exista uma subrede contendo os endereços de 192.168.2.0 até 192.168.2.255. Se representarmos esses endereços em binário, podemos ver que os 24 bits mais significativos são os mesmos para todos os endereços:
Encaminhamento IPTodo host é capaz de realizar uma função da camada de rede chamada de encaminhamento IP (IP forwarding). O encaminhamento é feito quando um host recebe um datagrama IP, e precisa decidir o que fazer com ele. O destino do datagrama depende do endereço de destino contido em seu cabeçalho IP.
A tabela de rotas a seguir foi obtida em um computador com sistema operacional Linux. aluno@M1:~$ route -n
Tabela de Roteamento IP do Kernel
Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
0.0.0.0 191.36.9.254 0.0.0.0 UG 0 0 0 enp0s25
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s25
191.36.9.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s25
192.168.2.64 191.36.9.1 255.255.255.192 U 0 0 0 enp0s25
Supondo que esse host tenha que encaminhar um datagrama com endereço de destino 8.8.8.8, a busca por uma rota adequada seria esta:
Roteamento estáticoCada host ligado a Internet possui uma tabela de rotas. É pelo conteúdo dessa tabela que ele sabe como transmitir os pacotes para cada destino. Em seu computador, você pode visualizar essa tabela da seguinte forma: # Isto funciona em qualquer *nix que se preze ...
netstat -rn
aluno@M1:~> ifconfig eth1 192.168.10.1 netmask 255.255.255.0
aluno@M1::~> netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
Obs: ao menos próximo roteador ou interface de rede precisam ser especificados.
# adiciona a rota default, que passa pelo roteador 192.168.10.100
route add default gw 192.168.10.100
# este comando tem o mesmo efeito que o anterior ...
route add -net 0.0.0.0/0 gw 192.168.10.100
AtividadesRoteiro 02: Subredes e roteamento estáticoEstes experimentos devem ser realizados no Netkit2, que deve ser executado na máquina real. Para esquentar: uma rede mais simples:
Praticamente a mesma rede, mas com um roteador a mais:
Roteamento estático entre redes das equipes
|