introdução ao protocolo tcp/ip - lee.eng.uerj.brgil/redesii/tcp_ip.pdf · o tcp/ip pode ser usado...

52
Introdução ao Protocolo TCP/IP Prof. Gil Pinheiro UERJ/FEN/DETEL

Upload: others

Post on 11-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Introdução ao Protocolo TCP/IP

Prof. Gil Pinheiro

UERJ/FEN/DETEL

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

2

Introdução ao Protocolo TCP/IP

• Protocolo Inter Redes

• Histórico

• Estrutura do Protocolo TCP/IP

• Equipamentos de Interconexão

• Endereçamento na Rede TCP/IP

• Serviços da Rede TCP/IP

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

3

Protocolo Inter Redes

• Contexto: Várias redes locais distribuídas geograficamente e isoladas entre si

• Problema: Interligar e integrar as redes locais

• Cada rede local deve suportar diversos protocolos

• Exemplos: vários departamentos e unidades de uma empresa, vários campi de uma universidade, vários servidores da Internet

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

4

Protocolo Inter Redes

Rede 2

Rede 3?

Rede 1

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

5

Protocolo Inter Redes

R

R

R

Rede 2

Rede 3

Rede 1

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

6

Protocolo Inter Redes

• Cada usuário enxerga as redes interligadas como uma única rede

• Os elementos de ligação entre as redes chamam-se roteadores

• Cada roteador deve conhecer a estrutura das redes interligadas

• Cada estação é um nó independente da rede

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

7

Tipos de Comunicação entre Estações

• Unicast– transmissão direta entre duas estações

• Multicast - transmissão para um grupo restrito de estações

• Broadcast- transmissão para todas as estações de uma rede

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

8

Histórico do Protocolo TCP/IP

• Surgiu com a rede ARPA-NET

• Objetivo estratégico militar (desenvolver uma rede de alta confiabilidade, que pudesse operar mesmo num contexto catastrófico)

• O TCP/IP começou a partir do protocolo IP ao qual foram sendo agregados outros protocolos (UDP, TCP FTP, TELNET, SMTP, ...) e serviços

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

9

Camadas do TCP/IP

Aplicação

Apresentação

Sessão

Transporte

Rede

Enlace

Físico

Aplicação

Transporte

Inter-redes (Internet - IP)

Intra-rede (Host to Host)

ISO/OSI

TCP/IP

Suporte a diversos tipos de rede (anel, barramentos, etc)

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

10

O TCP/IP pode ser usado com diversos tipos de redes

• Camadas Física / Enlace– IEEE 802.3 (Ethernet – 10 Mbps)

– IEEE 802.3u (Fast Ethernet – 100 Mbps)

– IEEE 802.3z (Gigabit Ethernet – 1 Gbps)

– IEEE 802.4 (Token Bus)

– IEEE 802.5 (Token Ring)

– Serial (EIA-232 / 485): usando os protocolos SLIP, CSLIP e PPP

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

11

Estrutura de Protocolos TCP/IPP

roto

colo

sR

edes

Aplicação

Transporte

Rede

Físico +EnlaceETHERNET

TCP UDP

IP

TELNET SMTPFTP

Camada (Modelo OSI)

HTTP

TOKEN-BUS TOKEN-RING

SNMP ......

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

12

Alguns protocolos TCP/IP

• IP = Internet Protocol

• UDP = User Datagram Protocol

• TCP = Transport Control Protocol

• FTP = File Transfer Protocol

• HTTP = Hypertext Transport Protocol

• SNMP = Simple Network Management Protocol

• SMTP = Simple Mail Transfer Protocol

• TELNET = emulação de terminal

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

13

Estruturas de Informação

• Camada 1 � Seqüência de bits / sinal

• Camada 2 � Quadro

• Camada 3 (Protocolo IP ) � Datagrama IP

• Camada 4 – Protocolo UDP � Datagrama UDP

– Protocolo TCP � Segmento TCP

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

14

Protocolo IP

• É o protocolo básico de toda a estrutura do TCP/IP (é utilizado pelos outros protocolos do TCP/IP)

• Fornece um envio não confiável de mensagens (usando datagramas IP) entre estações da rede

• A confiabilidade, se necessária, deverá ser provida pelas camadas superiores da rede. Ex.: TCP

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

15

Formato do Datagrama IP

IHLVersion Total length

4 bytes

Type of service

Identification Fragment Offset

Time to live Header checksumProtocol

IP Source Address

Data

MF

IP Destination Address

Fixo(20 bytes)

Options (if any)Variável(0 a 40 bytes)

Cabeçalho

DF

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

16

Formato do Datagrama IP• Version - versão do datagrama

• IHL - tamanho do cabeçalho em palavras de 32 bits (de 20 a 60 bytes)

• Type of service - host informa a sub-rede o tipo de serviço, existem combinações de maior velocidade ou confiabilidade. Permite o roteador selecionar entre uma conexão com alta velocidade mas com alto retardo (satélite) ou uma linha privativa (baixa velocidade e baixo retardo) Ex.: FTP - confiabilidade, Voz - rapidez

• Total length - incluindo cabeçalho e dados

• Identification - permite identificar datagrama fragmentado. Todos os fragmentos de um mesmo datagrama possuem mesma identificação

• DF (Bit) - Don’t Fragment, informa aos rotadores não fragmentar. CPU destino não possui capacidade de desfragmentar. Útil para pacotes de boot remoto (carga da memória de uma estação e rede).

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

17

Formato do Datagrama IP• MF (Bit) - More Fragments, todos os fragmentos de um datagrama

exceto o último tem esse bit igual a 1, permite saber se todos os fragmentos chegaram.

• Fragment Offset - número de sequência de um datagrama. Permite saber a ordem dos fragmentos de um datagrama para a remontagem.

• Time to live - contador usado para limitar tempo de vida de um datagrama. Permite vida máxima de 255 segundos ou 255 hops, evita que datagramas fiquem vagando em caso de falha nas tabelas de roteamento.

• Protocol - permite identificar o protocolo utilizado, ex.: TCP, UDP• Header checksum – seqüência de verificação do cabeçalho apenas,

para detectar erros. É calculado a cada hop, pois o Time to live se altera neste caso.

• Source address – endereço de rede e do host de origem

• Destination address - endereço de rede e do host de destino

• Options - campo preenchido com informações experimentais

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

18

Endereço IP

• Composto de: endereço de rede + endereço do host• Cada nó da rede (host ou roteador) possui um endereço

IP• Hosts da mesma rede possuem mesmo endereço de

rede• Tamanho de 32 bits (4 bytes)• Representação “Dotted decimal notation” - Ex.:

164.85.238.26 (A455EE1A hexadecimal)• Os endereços IP são controlados mundialmente pelo

NIC (Network Information Center)

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

19

Classes de Endereço IP

• Os endereços IP são de 5 classes

• Classes A, B e C- permitem respectivamente até 126 redes com 16 milhões de hosts, até 16.382 redes com 65536 hosts, até 2 milhões de redes com 254 hosts

• Classe D- para multicast, endereçamento de grupos de hosts

• Classe E- para uso futuro

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

20

Formatos de Endereço IP

Rede0A Host

Rede1 0B Host

Rede1 1 0C Host

Endereço para Multicast1 1 1 0D

Reservado para uso futuro1 1 1 1 0E

32 bits

Classe

1.0.0.0 a127.255.255.255

128.0.0.0 a191.255.255.255

192.0.0.0 a223.255.255.255

224.0.0.0 a239.255.255.255

240.0.0.0 a247.255.255.255

Endereços de host

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

21

Endereços IP Especiais

• 0.0.0.0 - host local, endereço de inicialização

• 255.255.255.255 - difusão na rede local

• 127.x.x.x - loopback host local

0 0 0 0 ... 0 0 Host

• Um host desta rede

1 1 1 1 ........ 1 1Rede

• Difusão em uma rede remota

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

22

Rede Classe A

• Primeiro byte: 0 a 127

• Máscara de rede máxima: 255.0.0.0

• Pode conter até 224 - 2 estações

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

23

Rede Classe A

Host 10.25.11.1 Host 10.25.11.4

Host 140.25.11.3

Host 10.25.11.2

Rede 10.25

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

24

Rede Classe B

• Primeiro byte: 128 a 191

• Máscara de rede máxima: 255.255.0.0

• Pode conter até 216 - 2 estações

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

25

Rede Classe B

Host 140.20.10.3 Host 140.20.15.10

Host 140.20.32.3

Host 140.20.1.2

Rede 140.20

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

26

Rede Classe C

• Primeiro byte: 192 a 223

• Máscara de rede máxima: 255.255.255.0

• Pode conter até 28 - 2 estações

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

27

Rede Classe C

Host 220.10.4.11 Host 220.10.5.4

Host 220.10.41.13

Host 220.10.1.21

Rede 220.10

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

28

Protocolo UDP

• Serviço não confiável de envio de dados• Utiliza o protocolo IP (é uma extensão

deste)• Sem conexão• Características: entrega de pacotes

desordenados, não elimina pacotes repetidos, controle de fluxo e pode haver perdas de pacotes

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

29

Funcionamento do UDP

• Recebe requisição da camada superior e entrega à camada IP

• Cada operação de saída gera um único datagrama UDP, que será encapsulado num datagrama IP

• Na estação receptora, a camada UDP recebe o datagrama IP, envia os dados à camada UDP, que repassa-os à camada superior

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

30

Encapsulamento do Datagrama UDP

UDP HeaderIP Header UDP Data

20 bytes 8 bytes

Datagrama UDP

Datagrama IP

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

31

Formato do Datagrama UDP

UDP Source Port

4 bytes

UDP Message Length

Data

Fixo(8 bytes)

Cabeçalho

UDP Destination Port

UDP Checksum

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

32

Protocolo TCP

• Serviço confiável de envio de dados fim-a-fim

• Utiliza o protocolo IP (não confiável)

• Utiliza circuito virtual

• Informações de camadas superiores são segmentadas

• Características: entrega de pacotes em seqüência, elimina pacotes repetidos, controle de fluxo e controle de erros

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

33

Funcionamento do TCP

• Etapas:– Estabelecimento da conexão– Envio dos dados (com seqüenciamento, correção de

erros, eliminação de duplicatas e controle de fluxo)– Encerramento da conexão

• Modo Full-Duplex• Método de envio do tipo de janela deslizante• Usa algoritmo three-way handshake na fase de

estabelecimento da conexão

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

34

Encapsulamento do Segmento TCP

TCP HeaderIP Header TCP Data

20 bytes 20 bytes

Segmento TCP

Datagrama IP

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

35

Formato do Segmento TCP

TCP Source Port

4 bytes

Sequence Number

HLEN

Acknowledgement Number

RESERVED WINDOW

Data (if any)

CHECKSUM

Fixo(20 bytes)

Options (if any)

Cabeçalho

TCP Destination Port

Code Bits

URGENT POINTER

PADDINGVariável(0 a 40 bytes)

Code Bits: URG, ACK, PSH, RST, SYN, FIN

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

36

Equipamentos de Interconexão

• Repetidor (Hub) � Camada 1

• Ponte (Bridge) � Camada 2

• Comutador (Switch) � Camada 2

• Roteador (Router) � Camada 3

• Gateway � Camada 6

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

37

Repetidores / Hubs

• Dispositivo de camada 1• Repetidor � amplia o sinal, permitindo

aumentar o segmento da rede• Propaga todo o sinal do segmento (sinal e

ruído) � mesmo domínio de colisão• Podem ser conversores de meio físico (fibra

ótica / cabo elétrico)• Hub � Repetidor multiporta

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

38

Rede com Hub

Hub

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

39

Ponte (Bridge)

• Dispositivo de camada 2• Analisa o endereço MAC do quadro• Permite isolar o tráfego entre dois segmentos de

rede (dois domínios de colisão)• Só propaga pacotes para o segmento de rede se o

endereço MAC do host pertencer ao segmento• Reconhece automaticamente os endereços MAC

dos hosts em cada segmento de rede• Monta tabela de hosts de cada segmento

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

40

Comutador de Rede

• Dispositivo de camada 2• É semelhante funcionalmente à Ponte, porém possui várias

portas• Analisa os endereços MAC que chegam a uma porta• Permite subdividir uma rede em diversos domínios de

colisão ou isolar os hosts, um em cada porta• Só propaga pacotes para uma porta se o endereço MAC do

host pertencer ao segmento ou ao host ligado à porta• Reconhece automaticamente os endereços MAC dos hosts

em cada porta do Comutador• Monta tabela com um ou mais hosts ativos em cada porta

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

41

Redes com Comutador

Rede 1

Rede 2

Comutador

Hub

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

42

Roteador

• Dispositivo de camada 3• Analisa o endereço de rede do pacote• Possuem uma tabela com a configuração da rede• Enviam os pacotes através dos links, para outros

roteadores, até que cheguem à rede destinatária• Utilizam protocolos especiais para comunicar-se

com outros roteadores e para descobrir a arquitetura da rede

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

43

Redes com Roteadores

R

R

R

Rede 2

Rede 3

Rede 1

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

44

Gateway

• Dispositivo que abrange até a camada 7

• Permite integrar redes com protocolos e velocidades diferentes

• Exemplos: – Gateway MODBUS/TCP x MODBUS/RTU

– Gateway HART x MODBUS/RTU

– Gateway HART x Fieldbus Foundation

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

45

Gateway MODBUS / TCP x RTU

Rede EthernetRede EthernetTCP/IPTCP/IP

Gateway Gateway Modbus TCPModbus TCP

Controlador com porta serial Controlador com porta serial ModbusModbus/RTU/RTU

ModbusModbus/RTU /RTU sobre RSsobre RS--232232

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

46

Gateway MODBUS / TCP x RTU

MODBUS - AP

TCP

IP

MODBUS - AP

MODBUS – Camada 2

EIA-232

MODBUS/TCP MODBUS/RTU

LLC / MAC

Ethernet – Camada 1

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

47

Gateway HART x MODBUS / TCP

Comandos HART

HART – Camada 2

HART – Camada 1

MODBUS/TCP HART

MODBUS - AP

TCP

IP

Ethernet – Camada 1

LLC / MAC

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

48

Roteamento de Pacotes na Rede

• Problema: como os pacotes alcançarão a rede destinatária?

• É efetuado pela camada IP do TCP/IP• Consiste em verificar na tabela de roteamento,

qual o caminho (rota) adequado e enviar o pacote através dessa rota

• Caminho adequado: – Endereço da rede onde está a estação destino– Endereço da estação destino

• O roteamento pode ser estático e dinâmico

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

49

Interligação de Redes

Host 220.10.4.11Host 130.20.5.4

Host 130.20.41.13

Host 220.10.1.21

220.10.1.1130.20.5.10

Roteador

Host 10.3.41.4

Host 10.3.41.13

10.3.41.1

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

50

Obtendo o endereço de Enlace (MAC)

• Endereço MAC: formato mais comum é do IEEE 802

• É necessário descobrir o endereço MAC, tipicamente para efetuar o último salto

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

51

Tradução de endereços IP x Endereço Físico (MAC)

• Protocolos utilizados ARP e RARP

• Dado o IP, obter o MAC:– ARP = Address Resolution Protocol

• Dado o MAC, obter o IP:– RARP = Reverse ARP

• Exemplo prático

Rev. 01/10/2008 GIL PINHEIRO - Redes de Comunicação

52

ARP – Address Resolution Protocol

• Para obter o endereço MAC de uma máquina na sub-rede local

• Pedido de consulta enviado em broadcast na sub-rede local (LAN)

• Host que detêm o endereço (ou proxy) responde com o endereço

• Todos os hosts podem responder a requisições ARP (inclusive impressoras de rede)