Академический Документы
Профессиональный Документы
Культура Документы
UNICAMP
Centro de Computao
Rubens Queiroz de Almeida 01 Junho 2000
Histrico TCP/IP
Criado pelo DARPA em meados de 1970 Surgimento da ARPANET e da MILNET Integrao ao UNIX/BSD Surgimento da NSFNET Comit Organizador - IAB (Internet Activities Board) Documentao - RFCs e IENs SRI-NIC
Fluxo de Mensagens
Fluxo de Mensagens
Encapsulamento TCP/IP-Ethernet
Endereos Ethernet
Endereo nico no mundo, estabelecido pelo IEEE 6 bytes Codificado por hardware Ex. 00-00-1D - 00-26-A3 00-00-1D identifica o fabricante 00-26-A3 identifica o nmero de srie
Anncios
Endereamento IP (1)
Distribudos pelo SRI-NIC Representados em notao decimal Intervalo de 0.0.0.0 a 255.255.255.255 Nmero IP: Atribudo pelo InterNIC Nmero Computador: Atribudo localmente, pelo administrador de redes [End. IP]=[No. Rede]+[No. Computador]
Endereos Especiais
Todos 0s: Este computador nesta rede
Todos 1s: Todas as redes ou todos os computadores Loopback: Processamento de dados no sistema local (127.0.0.1)
Classes IP Reservadas
Parte do espao de endereamento reservada para uso interno, sem conectividade direta com a
Internet global 10.0.0.0 172.16 a 172.31 (16 classes B) 192.168.0 a 192.168.255 (256 classes C contguas)
Subnetting (1)
Mscara separa parte "rede" da parte "mquina" e segue o mesmo padro numrico do nmero IP Nmero de rede e de mquina com valor 0 so invlidos 127.0.0.1 reservado para teste de loopback Qualquer poro do endereo formada por 1s considerada um broadcast
Subnetting (2)
[Nmero Rede] [Nmero Subrede] [Nmero Computador] Interpretado apenas na rede local Transparente a redes remotas Escolha do administrador de redes
Utiliza-se uma nova mscara para identificar a nova parte de redes A nova poro do endereo usada para rede conhecida como subnet
Tipos de Subredes
Estticas - mscara fixa Fcil de se implementar e manter Desperdcio de endereos Variveis - mscara varivel,Variable Length Subnetting roteadores com suporte a mscaras variveis
Subnetting - Exemplos
Subnetting - Classe B
Subnetting - Classe B
Subnetting - Classe B
Subredes/Computadores - Classe B
+---------+---------------+--------+--------+------+ |# de bits| Mascara |Mascara |Subredes|Hosts | | | Decimal | Hexa | | |
+---------+---------------+--------+--------+------+ |2 |255.255.192.0 |FFFFC000| 2|16382 | |3 |255.255.224.0 |FFFFE000| 6| 8190 | |4 |255.255.240.0 |FFFFF000| 14| 4094 | |5 |255.255.248.0 |FFFFF800| 30| 2046 | |6 |255.255.252.0 |FFFFFC00| 62| 1022 | |7 |255.255.254.0 |FFFFFE00| 126| 510 | |8 |255.255.255.0 |FFFFFF00| 254| 254 | |9 |255.255.255.128|FFFFFF80| 510| 126 | |10 |255.255.255.192|FFFFFFC0| 1022| 62 | |11 |255.255.255.224|FFFFFFE0| 2046| 30 | |12 |255.255.255.240|FFFFFFF0| 4094| 14 | |13 |255.255.255.248|FFFFFFF8| 8190| 6 | |14 |255.255.255.252|FFFFFFFC| 16382| 2 | +---------+---------------+--------+--------+------+
Subredes/Computadores - Classe C
+---------+---------------+--------+-------+------+ |# de bits| Mscara | Mscara|Subnets|Hosts | | | Decimal | Hexa | | | +---------+---------------+--------+-------+------+ |2 |255.255.255.192|FFFFFFC0| 2| 62 | |3 |255.255.255.224|FFFFFFE0| 6| 30 | |4 |255.255.255.240|FFFFFFF0| 14| 14 | |5 |255.255.255.248|FFFFFFF8| 30| 6 | |6 |255.255.255.252|FFFFFFFC| 62| 2 | +---------+---------------+--------+-------+------+
Repetidores
nvel 1 OSI estende um segmento de rede regenera os sinais recebidos mximo 2 repetidores ( 4 em IRLs)
Pontes (Bridges)
nvel 2 OSI Armazena os frames Analisa o endereo de destino Transmite apenas se necessrio Transparente a protocolo de rede
Roteadores
nvel 3 OSI recebe somente frames a ele endereados toma deciso baseado no endereo de rede do pacote
tcpdump
tcpdump tcpdump -i eth0 tcpdump -i eth0 [ip|tcp|udp|icmp|arp|rarp] tcpdump -i eth0 port 23 tcpdump -i eth0 dst port 23 tcpdump -i eth0 src port 23
IP
Internet Protocol No confivel: entrega no garantida, sem controle de sequenciamento, no detecta erros nem informa o transmissor Connectionless: cada pacote tratado independentemente dos outros Bem intencionado: os pacotes s so descartados quando todos os recursos so exauridos Unidade bsica: datagrama - que quebrado em fragmentos para se adequar ao MTU do hardware
Cabealho Pacotes IP
ICMP (1)
Internet Control Message Protocol ICMP permite que gateways enviem mensagem de erro ou de controle para outros gateways ou mquinas Prov comunicao entre o protocolo Internet (IP) em uma mquina e o IP em outra
ICMP (2)
Muitas vezes no ajuda a localizar onde est o erro, pois ele responde apenas mquina que originou o pacote errneo e o erro pode estar em algum gateway no caminho. Pode ser perdido como qualquer outro pacote IP PING : pacote ICMP do tipo "echo request" e "echo reply "
ICMP - Traceroute
Determinao da rota que datagramas IP seguem de um computador a outro Baseado sobre os protocolos UDP e ICMP Modificao do campo TTL
Traceroute - Exemplo
# traceroute www.unicamp.br traceroute to obelix.unicamp.br (143.106.10.2), 30 hops max, 40 byte packets 1 super-gw (143.106.20.65) 1.118 ms 1.040 ms 0.961 ms 2 ccuec-gw (143.106.80.1) 1.859 ms 1.810 ms 1.749 ms 3 corp-gw.unicamp.br (143.106.2.52) 3.139 ms 2.037 ms 2.061 ms 4 obelix.unicamp.br (143.106.10.2) 2.645 ms * 2.567 ms
ICMP - Ping
# tcpdump -i eth0 icmp Kernel filter, protocol ALL, datagram packet socket tcpdump: listening on eth0 09:29:55.307166 > paris.unicamp.br > abc.unicamp.br: 09:29:55.308212 < abc.unicamp.br > paris.unicamp.br: 09:29:56.300823 > paris.unicamp.br > abc.unicamp.br: 09:29:56.302057 < abc.unicamp.br > paris.unicamp.br: 09:29:57.300683 > paris.unicamp.br > abc.unicamp.br: 09:29:57.301930 < abc.unicamp.br > paris.unicamp.br: 09:29:58.300653 > paris.unicamp.br > abc.unicamp.br: 09:29:58.301904 < abc.unicamp.br > paris.unicamp.br: 8 packets received by filter
Aplicaes de Rede
Processos clientes X servidores Servidores esto sempre ativos esperando conexes Clientes so criados assincronamente
Portas
Cada processo que deseja se comunicar com outro se identifica aos protocolos TCP/IP por meio de uma ou mais portas Portas so nmeros de 16 bits para identificar a qual aplicao ou protocolo de alto nvel as mensagens devem ser entregues Dois tipos: bem conhecidos (well known) e efmeros
Sockets (1)
Tipo especial de arquivo utilizado para solicitar servios de rede do sistema operacional Exemplo: [prot:end. local:proc. local] TCP/IP: [tcp:143.106.20.10:12345]
Sockets (2)
Associao: [prot:end. local:proc. local:end. remoto:proc. remoto] TCP/IP: [tcp:143.106.20.10:12345:200.200.20.10:25] Dois processos se comunicam atravs de sockets TCP
netstat -an
Conexes Internet Ativas (servidores e estabelecidos) Proto Recv-Q Send-Q Endereo Local Endereo Remoto tcp 1 0 143.106.20.75:3861 143.106.80.3:80 tcp 1 0 143.106.20.75:3860 143.106.80.3:80 tcp 1 0 143.106.20.75:3859 143.106.80.3:80 tcp 1 0 143.106.20.75:3857 143.106.80.3:80 tcp 63 0 143.106.20.75:3819 143.106.80.3:993 Estado ESPERANDO_FECHAR ESPERANDO_FECHAR ESPERANDO_FECHAR ESPERANDO_FECHAR ESPERANDO_FECHAR
0 81 0 53 0 0 0 0 0
0 0 0 0 0 0 0 0 0
Cabealho TCP
/etc/services
tcpmux echo echo discard discard systat daytime daytime netstat qotd msp msp chargen chargen ftp-data
1/tcp 7/tcp 7/udp 9/tcp 9/udp 11/tcp 13/tcp 13/udp 15/tcp 17/tcp 18/tcp 18/udp 19/tcp 19/udp 20/tcp
quote # message send protocol # message send protocol ttytst source ttytst source
/etc/inetd.conf
# [service_name] [sock_type] [proto] echo stream tcp echo dgram udp discard stream tcp discard dgram udp daytime stream tcp daytime dgram udp # ftp stream tcp nowait root telnet stream tcp nowait root [flags] nowait wait nowait wait nowait wait [user] root root root root root root [server_path] [args] internal internal internal internal internal internal in.ftpd -l -a in.telnetd
/usr/sbin/tcpd /usr/sbin/tcpd
UDP e TCP
UDP - User Datagram Protocol TCP - Transmission Control Protocol Nvel de transporte (sobre o IP)
TCP
Transmission Control Protocol Multiplexao: uso de portas de protocolo
Transferncia de dados contnua (stream) Confivel Controle de fluxo: janelas deslizantes, temporizao
Transmisso de Dados
UDP
User Datagram Protocol UDP no orientado a conexo e no tem tratamento de erros Utiliza portas de protocolo para identificar os processos comunicantes de maneira unvoca Protocolo leve, porm transfere a recuperao de erros para a aplicao NFS, DNS, NIS, TFTP, RPC, SNMP, LDAP
Cabealho UDP
ARP
ARP
% arp -a gilda.unicamp.br (143.106.30.16) at 8:0:5a:cd:56:f6 [ethernet] roma.unicamp.br (143.106.30.9) at 14:3:10:6:30:0 [ethernet] panoramix.unicamp.br (143.106.30.11) at 8:0:20:9:71:6f [ethernet]
ARP - Exemplo
# tcpdump -i eth0 arp Kernel filter, protocol ALL, datagram packet socket tcpdump: listening on eth0 09:36:36.427377 > arp who-has nbc.ccuec.unicamp.br tell paris.ccuec.unicamp.br (0:0:b4:3a:f9: 09:36:36.428096 < arp reply nbc.ccuec.unicamp.br is-at 0:40:5:1a:c9:f (0:0:b4:3a:f9:21)
RARP
Reverse Address Resolution Protocol enviam requisio broadcast recebe endereo IP fornecido por
mquinas diskless precisam saber seu nmero IP servidores RARP possuem banco de dados com mapeamento IP X Ethernet
Roteamento IP
Roteamento IP
netstat -r
Tabela de Roteamento IP do Kernel Destino Roteador MscaraGen. Opes 143.106.20.75 * 255.255.255.255 UH 143.106.20.64 143.106.20.75 255.255.255.192 UG 143.106.20.64 * 255.255.255.192 U 143.106.20.0 super-gw.ccuec. 255.255.255.192 UG 143.106.20.192 super-gw.ccuec. 255.255.255.192 UG 143.106.20.128 super-gw.ccuec. 255.255.255.192 UG 143.106.30.0 super-gw.ccuec. 255.255.255.192 UG 143.106.80.64 super-gw.ccuec. 255.255.255.192 UG 143.106.80.0 super-gw.ccuec. 255.255.255.192 UG 143.106.30.64 super-gw.ccuec. 255.255.255.192 UG 143.106.30.128 super-gw.ccuec. 255.255.255.192 UG 143.106.80.192 super-gw.ccuec. 255.255.255.192 UG 143.106.80.128 super-gw.ccuec. 255.255.255.192 UG 143.106.30.192 super-gw.ccuec. 255.255.255.192 UG 192.168.1.0 192.168.1.1 255.255.255.0 UG 192.168.1.0 * 255.255.255.0 U 127.0.0.0 * 255.0.0.0 U default super-gw.ccuec. 0.0.0.0 UG default super-gw.ccuec. 0.0.0.0 UG MSS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Janela 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 irtt 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Iface eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 eth0 lo eth0 eth0
Sistemas Autnomos
TELNET
Estabelece uma sesso de login remoto interativa Utiliza a porta 23 TCP O cliente ignora caracteres de controle com exceo de um que funcionar como escape Permite independncia de tipos de terminais Desvantagem: ineficincia. Cada caractere transmitido fora vrias trocas de contexto de processos dentro do sistema operacional local e remoto.
FTP
File Transfer Protocol Filosofia Cliente-Servidor Acesso Interativo Usurio especifica mquina destino, username e password Eficiente
FTP
Transferncia nem sempre pode ser revertida Duas portas de protocolo: Porta 20: Processo de transferncia dos dados Porta 21: Processo de controle (baseado em telnet) FTP annimo para arquivos pblicos
Bibliografia
Interneworking with TCP/IP - Douglas E. Comer TCP/IP Tutorial and Technical Overview - http://www.redbooks.ibm.com Netscape Open Directory: http://dmoz.org/Computers/Internet/Protocols/ TCP/IP Illustrated, Volume 1, W. Richard Stevens
Perguntas??