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

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

Introdução ao TCP/IP História z1969 - Advanced Research Project Agency (ARPA) financia a pesquisa e o desenvolvimento de uma rede experimental de comutação.

Apresentações semelhantes


Apresentação em tema: "Introdução ao TCP/IP História z1969 - Advanced Research Project Agency (ARPA) financia a pesquisa e o desenvolvimento de uma rede experimental de comutação."— Transcrição da apresentação:

1 Introdução ao TCP/IP História z Advanced Research Project Agency (ARPA) financia a pesquisa e o desenvolvimento de uma rede experimental de comutação de pacotes (ARPANET) zO objetivo era estudar técnicas para implementar sistemas de comunicação de dados robustos e independentes de fornecedores

2 zARPANET foi tão bem sucedida que várias organizações ligadas à rede passaram a usá-la cotidianamente z ARPANET deixa o caráter experimental, transformando-se em uma rede operacional, quando a Defense Communications Agency (DCA) assume o seu controle Introdução ao TCP/IP História

3 zOs protocolos TCP/IP foram desenvolvidos como padrões militares.Todos os hosts na rede tiveram que se converter para os novos protocolos zDARPA financiou a implementação do TCP/IP na versão Berkley (BSD) Unix zO termo internet se popularizou Introdução ao TCP/IP História 1983

4 z ARPANET divide-se em MILNET e uma nova (e menor) ARPANET z A National Science Foundation (NSF) cria a NSFNet e a conecta a internet z NSF cria um novo e mais rápido backbone e uma topologia em três camadas que incluem o backbone, redes regionais e redes locais Introdução ao TCP/IP História

5 z ARPANET encerra suas atividades z NSFNet deixa de ser o principal backbone da Internet Introdução ao TCP/IP História

6 zO que hoje é conhecido como a Internet originou-se de um experimento usado principalmente por cientistas e desenvolvedores zO crescimento da Internet ultrapassou todas as expectativas dos seus criadores zAs agências e redes envolvidas na criação da Internet não representam um papel importante, hoje Introdução ao TCP/IP História

7 TCP/IP Defined zTransmission Control Protocol/Internet Protocol: Uma família de protocolos de rede que foram usados para construir a Internet. Também conhecidos como a suíte de protocolos DoD ou ARPANET.

8 TCP/IP In a Nutshell: zUm conjunto de protocolos que permite que computadores possam se comunicar, não importando o fabricante ou o sistema operacional

9 Aplicação Transporte Rede (network) Enlace (data link) Telnet, FTP, mail, etc TCP, UDP IP, ICMP, IGMP Device Driver e placa de rede Os 4 níveis do TCP/IP

10 zLink layer (Data link layer) Este nível abrange o driver de dispositivo no SO e a correspondente placa de rede. Trata dos detalhes de hardware necessários para o interfaceamento físico com a rede Os 4 níveis do TCP/IP

11 zNetwork Layer (Internet Layer) Gerencia o movimento (comutação) e o roteamento dos pacotes na rede. Os 4 níveis do TCP/IP

12 zNível de Transporte Proporciona um fluxo de dados entre dois hosts, para o nível de aplicação. Dois protocolos de transporte podem ser empregados: TCP: Confiável. Sequencia os dados recebidos do nível de aplicação, agrupando-os em segmentos. Estabelece conexões (three way handshake). Confirma recepção dos segmentos enviados. UDP: Não-confiável. Envia pacotes de dados (datagramas) de um host para outro, sem garantia de entrega. A sobrecarga desse protocolo é menor que a do TCP Os 4 níveis do TCP/IP

13 zNível de Aplicação Este nível trata dos detalhes específicos de cada aplicação. Algumas aplicações padrão em TCP/IP incluem: yTelnet yFTP ySMTP ySNMP Os 4 níveis do TCP/IP

14 zEncapsulamento Quando uma aplicação envia dados usando TCP/IP, ela os envia através de cada nível da pilha de protocolos. yCada nível adiciona sua informação aos dados da camada superior. yNo final, os dados são enviados como uma seqüência de bits, pela rede

15 Encapsulamento no TCP/IP IP Layer Link Layer Application Layer TCP Layer User Data Application Header User Data TCP Header Application Data TCP Header Application Data IP Header Application Data TCP Header IP Header Ethernet Header Ethernet Trailer TCP Segment IP Datagram Ethernet Frame 46 to 1500 bytes Ethernet Encapsulamento

16 The 4 layers of TCP/IP zDemultiplexação yQuando um quadro ethernet é recebido por um host ele começa a subir nas camadas de protocolos yCada camada procura seu respectivo cabeçalho e decide o que fazer com os dados, antes de passá-los para o próximo nível

17 TCP/IP Networking Protocols

18 Internet Protocol IP - Features zO protocolo padrão (nível de rede) empregado pela suíte de protocolos TCP/IP zIP define as regras para encapsular o tráfego da rede em datagramas, assim como a movimentação (roteamento) desse tráfego zIP também é responsável pela fragmentação dos dados, quando necessário, e pela reconstrução dos datagramas no destino

19 Datagrama IP

20 Version (versão): Indica qual é a versão do IP que está sendo usado. (normalmente IPv4) Header Length (comprimento do cabeçalho): Indica quantas palavras de 4 bytes existem no cabeçalho Type of Service-TOS (tipo de serviço): Indica o nível de serviço associado ao datagrama (*) Datagram Length (comprimento do datagrama): comprimento, em bytes, do datagrama - incluindo o cabeçalho (max 65,535 bytes) Datagram Identification (identificação do datagrama): Identifica, univocamente, um datagrama enviado para um host (*) Datagrama IP

21 Flags: bits indicadores. O primeiro não é usado. O Don’t Fragment (DF) e More Fragment (MF) controlam o modo como um datagrama é fragmentado Fragment Offset: Indica qual é o fragmento Time to Live (TTL): Indica por quantos roteadores um datagrama pode passar antes de ser descartado (max TTL é 255) Protocol: Indica qual é o protocolo de camada superior que usa o datagrama IP Header Checksum: Armazena o resultado de um cálculo efetuado sobre os bits do cabeçalho. Tem por objetivo permitir que o destino averigue a integridade dos dados recebidos Datagrama IP

22 Source/Destination IP Addresses (Endereços IP fonte/destino): Endereços IP (32bits) do host que envia o datagrama (fonte) e do host que receberá o datagrama (destino) Options (opções): As opções (*) atualmente definidas raramente são usadas. Existem opções para segurança, armazenamento de rota, roteamento mandatório, timestamp, etc. Data (dados): São os dados transportados pelo datagrama IP. São atribuídos pelos protocolos de camadas superiores (*) Datagrama IP

23 Internet Protocol Packet Analysis IP Header Version: 4 Header Length: 20 bytes Service Type: 0x00 Datagram Length: 40 bytes Identification: 0x5850 Flags: MF=off, DF=on Fragment Offset: 0 TTL: 32 Encapsulated Protocol: TCP Header Checksum: 0x9658 Source IP Address: (broken) Destination IP Address: (testbed)

24 Traceroute zNão existe garantia de que dois datagramas IP seguirão o mesmo caminho, da origem ao destino, embora usualmente isto aconteça zTraceroute é uma ferramenta que ajuda a traçar o caminho seguido pelos datagramas IP, de um host a outro

25 Traceroute - How it works zEnvia um datagrama IP com TTL igual a 1 para o host destino zO primeiro roteador a lidar com esse datagrama, decrementa o TTL para 0, descarta o datagrama e envia uma mensagem ICMP (time exceeded) para o host origem zTraceroute então envia um outro datagrama, com TTL igual a 2, permitindo alcançar um outro roteador zEsse processo continua, até que os datagramas alcancem o host destino

26 Traceroute zExemplo de saída de um traceroute: # traceroute victim.com traceroute to victim ( ), 30 hops max, 40 byte packets 1 satan ( ) 20ms 10ms 10ms 2 victim ( ) 120ms 120ms 120ms  Para cada TTL, 3 datagramas serão enviados. Os tempos são registrados na saída do traceroute.

27 Transmission Control Protocol TCP - Características zTCP é um protocolo de transporte (nível 4) zOferece uma conexão confiável entre dois hosts zProporciona um ‘circuito virtual’ entre dois hosts zToda comunicação exige confirmação (acknowledge) de recepção

28 Transmission Control Protocol TCP - Features zTCP empacota os dados em segmentos, que contém os dados e informação de controle de sessão zOs segmentos podem chegar fora da ordem em que foram enviados zNúmeros de seqüência são empregados para reordenar os segmentos

29 Números de Seqüência Packet Analysis Packet 49 TCP: port ftp-data -> seq= ack= DATA: 1460 bytes Packet 50 TCP: port ftp-data -> seq= ack= DATA: 1460 bytes Packet 51 TCP: port ftp-data -> seq= ack= DATA: 1460 bytes Packet 52 TCP: port ftp-data -> seq= ack= DATA: 1460 bytes ftp transfer tcpdump output

30 zMaximiza a performance de uma conexão, assegurando-se que os segmentos não sejam muito pequenos ou muito grandes zCONFIÁVEL Transmission Control Protocol

31 zCircuitos Virtuais - Conexões TCP comportam-se como uma conexão full- duplex zConexões confiáveis - Segmentos TCP tem garantia de entrega. Se a entrega não for possível, a aplicação é notificada zOtimização de performance - TCP pode modificar variáveis de transmissão, de acordo com as condições da rede

32 Transmission Control Protocol

33 Transmission Control Protocol TCP Header Source Port/Destination Port: 16-bit port number do host origem e do host destino Sequence Number: 4-byte number assinalado pelo TCP, começando com um valor randômico. Acknowledgement Number: Confirma o último segmento enviado pelo host Header Length: Tamanho do cabeçalho em palavras de 4-bytes

34 Transmission Control Protocol TCP Header Flags: usados para negociar e gerenciar uma conexão: URG: Indica que segmento enviado tem caráter de urgência ACK: Indica que o ack no segmento é válido PSH: (PUSH) indica que os dados devem ser passados para a aplicação assim que possível RST: Reseta a conexão SYN: Sincroniza número de seqüência para iniciar uma conexão. FIN: Encerramento normal de conexão 16-Bit Window Size: O número de bytes que o receptor está disposto a aceitar, sem confirmação.

35 Transmission Control Protocol TCP Header 16-Bit TCP Checksum: um checksum do segmento TCP 16-Bit Urgent Pointer: usado somente se o flag URG estiver acionado Options: A opção mais comum é o Maximum Segment Size (MSS) que determina o maior tamanho de segmento que o host origem pode receber Data: opcional. Quando conexões estão sendo estabelecidas, nenhum dado é enviado

36 Transmission Control Protocol Packet Analysis TCP Header Source Port: 22 (ssh) Destination Port: 1714 ( ) Sequence Number: Acknowledgement Number: Header Length: 20 bytes (data=0) Flags: URG=off, ACK=on, PSH=off RST=off, SYN=off, FIN=off Window Advertisement: bytes Checksum: 0xD102 Urgent Pointer: 0

37 TCP - Estabelecendo uma conexão Three Way Handshake 1: Envia SYN ISN=x 2: Envia SYN ISN=y, ACK x+1 3: Envia ACK ISN y+1 Client Server SYN ACK SYN / ACK 4: Conexão estabelecida

38 TCP Three Way Handshake Packet Analysis - Parte Packet 1 TIME: 19:50: ( ) LINK: 00:40:05:E3:09:D0 -> 00:00:C5:38:0D:27 type=IP IP: strife -> testbed hlen=20 TOS=00 dgramlen=44 id=2864 MF/DF=0/0 frag=0 TTL=64 proto=TCP cksum=E641 TCP: port > ftp seq= ack= hlen=24 (data=0) UAPRSF= wnd=512 cksum=FBEC urg=0 DATA: The requesting client sends a SYN (synchronize) segment specifying the port number of the server it wishes to connect to and the client’s ISN (Initial Sequence Number).

39 TCP Three Way Handshake Packet Analysis - Parte Packet 2 TIME: 19:50: ( ) LINK: 00:00:C5:38:0D:27 -> 00:40:05:E3:09:D0 type=IP IP: testbed -> strife hlen=20 TOS=00 dgramlen=44 id=5FF4 MF/DF=0/1 frag=0 TTL=64 proto=TCP cksum=6EB1 TCP: port ftp -> seq= ack= hlen=24 (data=0) UAPRSF= wnd=17520 cksum=7FCB urg=0 DATA: The server responds with a SYN segment including the servers own ISN. An ACK (acknowledge) is also sent with the clients ISN plus one.

40 TCP Three Way Handshake Packet Analysis - Parte Packet 3 TIME: 19:50: ( ) LINK: 00:40:05:E3:09:D0 -> 00:00:C5:38:0D:27 type=IP IP: strife -> testbed hlen=20 TOS=00 dgramlen=40 id=2865 MF/DF=0/1 frag=0 TTL=64 proto=TCP cksum=A644 TCP: port > ftp seq= ack= hlen=20 (data=0) UAPRSF= wnd=32120 cksum=5E80 urg=0 DATA: The client acknowledges the servers SYN and sends an ACK segment with the Servers ISN plus one.

41 User Datagram Protocol UDP - Características zUDP é um protocolo de transporte zNão detecta erros, não tem confirmação de entrega, não estabelece conexões zproporciona uma entrega sem conexão entre dois hosts zUDP tem um baixo overhead

42 User Datagram Protocol

43 User Datagram Protocol UDP Formato do Datagrama Source Port Number: 16-bit port number do host origem. Usa portas randômicas (acima de 1024) Destination Port Number: 16-bit port number do host destino. Usa portas conhecidas 16-Bit UDP Length: Indica o comprimento do datagrama UDP, incluindo o cabeçalho 16-Bit UDP Checksum: checksum calculado a partir de todo datagrama UDP

44 UDP Packet Analysis UDP Header Source Port: 2167 ( ) Destination Port: 53 (domain) Datagram Length: 37 bytes (Header=8, Data=29) Checksum: 0xD5B0

45 zLivros TCP/IP Illustrated Volume 1 W. Richard Stevens Addison-Wesley 1994 ISBN: TCP/IP Network Administration - 2nd Edition Craig Hunt O’Reilly & Associates 1998 ISBN: Introdução ao TCP/IP Referências

46 zWWW TCP/IP FAQ Frequently Asked Questions ( ) Part 1 of 2 faq/part1/faq.html TCP/IP FAQ Frequently Asked Questions ( ) Part 1 of 2 faq/part1/faq.html

47 zFerramentas ethereal É uma ferramenta que permite colocar uma placa de rede em modo promíscuo, capturando tráfego de rede para posterior exibição. Existem versões para Win32 e os mais variados sabores de *ix, incluindo Linux.

48 Roteamento IP


Carregar ppt "Introdução ao TCP/IP História z1969 - Advanced Research Project Agency (ARPA) financia a pesquisa e o desenvolvimento de uma rede experimental de comutação."

Apresentações semelhantes


Anúncios Google