46
Telemedicina e e-Saúde 2012/2013 Comunicação na Internet 1 Comunicação na Internet Telemedicina e e-Saúde 2012/13 Pedro Brandão Referências Estes slides são baseados nos slides fornecidos com o livro “Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2007” o Tendo alterações por Prof Rui Prior e Pedro Brandão Telesaude 12/13 - Com. na Internet - pbrandao 2

Comunicação na Internet - FCUP - Departamento de ...pbrandao/aulas/1213/TeleSaude/slides/... · Estes slides são baseados nos slides fornecidos com o livro Computer Networking:

  • Upload
    vankien

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 1

Comunicação na Internet

Telemedicina e e-Saúde

2012/13

Pedro Brandão

Referências

Estes slides são baseados nos slides fornecidos com o livro “Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2007”

o Tendo alterações por Prof Rui Prior e Pedro Brandão

Telesaude 12/13 - Com. na Internet - pbrandao 2

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 2

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 3

Pilha protocolar da Internet (revisão) aplicação: aplicações em rede

transporte: transferência de dados entre processos

rede: encaminhamento dos datagramas entre a origem e o destino

ligação lógica: transferência de dados entre elementos de rede adjacentes

ligação física: bits no “cabo”

Telesaude 12/13 - Com. na Internet - pbrandao 4

Física

Lógica

Rede

Transporte

Aplicação

Ethernet, 802.11, etc

Ethernet, 802.11 (WiFi), etc

IP, ICMP, IGMP, etc

TCP, UDP, etc

FTP, SMTP, HTTP, etc

Exemplos

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 3

Protocolo de aplicação define

Tipos de mensagens trocadas o e.g., pedido, resposta

Sintaxe das mensagens o que campos contêm e como se

separam os campos

Semântica das mensagens o significado da informação

contida nos diferentes campos

Regras de como e quando devem os processos responder às mensagens

Protocolos abertos:

possibilitam interope-ração entre sistemas

e.g., HTTP, SMTP

definidos em RFCs

Protocolos fechados:

só tem aceso a eles quem o dententor dos direitos decidir

e.g., Skype

Telesaude 12/13 - Com. na Internet - pbrandao 2-5

Arquitecturas aplicacionais

Cliente-servidor

Peer-to-peer (P2P)

Híbridas de cliente-servidor e P2P

Telesaude 12/13 - Com. na Internet - pbrandao 2-6

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 4

Cliente – Servidor

servidor: o sempre ligado o endereço IP estático

cliente:

o comunica com o servidor o não precisa de estar

sempre ligado o pode ter endereço IP

dinâmico o não comunica

diretamente com outros clientes

Telesaude 12/13 - Com. na Internet - pbrandao 7

cliente/servidor

Peer-to-peer Pura

ausência de servidores

terminais comunicam diretamente entre si

os pares podem não estar sempre ligados e mudar de endereço IP

Telesaude 12/13 - Com. na Internet - pbrandao 8

peer-to-peer

Muito escalável, mas difícil de gerir…

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 5

0

0,5

1

1,5

2

2,5

3

3,5

0 5 10 15 20 25 30 35

Te

mp

o d

e d

istr

ibuiç

ão d

o fic

he

iro

Número de nós que pretendem o ficheiro

P2P

Client-Server

Comparação de arquiteturas: Cliente-Servidor vs. Peer-to-Peer

Telesaude 12/13 - Com. na Internet - pbrandao 9

Arquitetura Híbrida

Exemplo: Instant messaging (MSN, ...)

omensagens de texto enviadas diretamente (P2P)

o serviço central de deteção de presença e localização

• o utilizador regista o seu endereço IP no servidor central quando se liga

• o utilizador contata o servidor central para descobrir os endereços IP dos amigos

Telesaude 12/13 - Com. na Internet - pbrandao 10

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 6

Comunicação entre processos

Processo: instância dum programa a correr numa máquina

processos em máquinas diferentes comunicam através da troca de mensagens

Telesaude 12/13 - Com. na Internet - pbrandao

As aplicações P2P funcionam simultaneamente como clientes e servidores

Cliente: processo que inicia ativamente a comunicação Servidor: processo que espera passivamente ser contatado

11

Endereçamento de processos

para poder receber mensagens, um processo deve ter um identificador (endereço)

cada terminal tem um endereço IP de 32 bits

Q?: será o endereço IP do terminal suficiente para identificar de forma unívoca o processo? o não, porque há múltiplos

processos a correr no mesmo terminal

o identificador inclui tanto o endereço IP como o número da porta associado ao processo no terminal

Exemplos de portas: o Servidor web: 80 o Servidor de email: 25

para enviar um pedido HTTP ao servidor web www.dcc.fc.up.pt: o Endereço IP: 193.136.39.12 o Porta: 80

Telesaude 12/13 - Com. na Internet - pbrandao 12

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 7

Serviço TCP: orientado às conexões: exige o

estabelecimento prévio de conexão entre emissor e receptor

transporte fiável entre os processos emissor e receptor

controlo de fluxo: o emissor não envia mais rápido do que o receptor consegue processar

controlo de congestionamento: redução de débito quando a rede está sobrecarregada

não tem garantias de atraso máximo nem de débito mínimo

Serviço UDP: transporte não fiável entre os

processos emissor e receptor

delineação de mensagens: um datagrama UDP corresponde a uma mensagem

não tem estabelecimento prévio de conexões, fiabilidade, controlo de fluxo, controlo de congestionamento, garantias de atraso máximo ou de débito mínimo o Nem todas as aplicações necessitam

de tudo isto...

Telesaude 12/13 - Com. na Internet - pbrandao

Serviços de transporte usados pelas aplicações na Internet

13

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 14

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 8

HTTP: hypertext transfer protocol

Protocolo de camada de aplicação na web

modelo cliente/servidor

o cliente: browser que pede, recebe e mostra os objetos ao utilizador

o servidor: envia os objetos em resposta aos pedidos do browser

PC com Firefox

Servidor Apache

Mac com Safari

Telesaude 12/13 - Com. na Internet - pbrandao

HTTP — Panorama geral

15

Protocolos com manutenção de estado são complexos!

memória para estado se o servidor ou o cliente falham,

as suas visões do estado podem ficar inconsistentes e ter que ser ressincronizadas

aparte

HTTP — Panorama geral (cont.)

Usa o TCP: o cliente inicia a conexão

TCP para a porta 80 do servidor

o servidor aceita a conexão TCP do cliente

são trocadas mensagens HTTP (camada de aplicação) entre o browser (cliente HTTP) e o servidor web (servidor HTTP)

a conexão TCP é fechada

Sem estado o servidor não mantém

qualquer informação (estado) sobre os pedidos anteriores do cliente

Telesaude 12/13 - Com. na Internet - pbrandao 16

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 9

Mensagem HTTP de pedido

dois tipos de mensagens HTTP: pedido e resposta

Pedido HTTP: o Texto simples (formato humanamente legível)

GET /somedir/page.html HTTP/1.1

Host: www.someschool.edu

User-agent: Mozilla/5.0

Connection: close

Accept-language: pt

linha de pedido

cabeçalhos

Linha vazia indica fim da mensagem

Telesaude 12/13 - Com. na Internet - pbrandao

(mudança de linha extra)

17

Exemplo

HTTP/1.1 200 OK

Connection: close

Date: Thu, 06 Aug 1998 12:00:15 GMT

Server: Apache/1.3.0 (Unix)

Last-Modified: Mon, 22 Jun 1998 ...

Content-Length: 6821

Content-Type: text/html

linha de estado (código de estado e correspondente

descrição)

cabeçalhos

linha vazia

dados (e.g., o ficheiro HTML

pedido)

Telesaude 12/13 - Com. na Internet - pbrandao

dados dados dados dados...

Mensagem HTTP de resposta

18

Exemplo

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 10

Códigos de estado nas respostas HTTP

Enviados na primeira linha da resposta do servidor Alguns códigos: 200 OK

o sucesso, o obejcto pedido vai mais abaixo na mensagem

301 Moved Permanently o o objeto foi mudado para outro URL, especificado mais

abaixo no cabeçalho “Location:”

400 Bad Request o o servidor não entendeu o pedido

404 Not Found o o recurso pedido não existe no servidor

505 HTTP Version Not Supported

Telesaude 12/13 - Com. na Internet - pbrandao 19

Experimentar o HTTP à mão

1. Fazer telnet para um servidor web

Abre conexão TCP para a porta 80 (porta HTTP padrão) no servidor www.dcc.fc.up.pt. Tudo o que se escrever será enviado para a porta 80 do www.dcc.fc.up.pt

telnet www.dcc.fc.up.pt 80

2. Escrever o pedido HTTP

GET /~pbrandao/index.html HTTP/1.1

Host: www.dcc.fc.up.pt

Ao escrever isto (carregar 2x no enter), vai-se enviar este um pedido GET (básico mas completo) ao servidor HTTP

3. Observar a mensagem de resposta devolvida pelo servidor HTTP

Telesaude 12/13 - Com. na Internet - pbrandao 20

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 11

Web caches (proxy server)

utilizador configura browser para usar o proxy

o browser envia todos os pedidos HTTP ao proxy

objeto está na cache: proxy devolve-o directamente

caso contrário, pede objeto ao servidor original, devolve-o ao browser e guarda cópia local

Telesaude 12/13 - Com. na Internet - pbrandao 21

cliente

Proxy

cliente servidor original

servidor original

objetivo: satisfazer pedidos dos clientes sem recorrer ao servidor original (maior rapidez e poupança de recursos de rede)

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 22

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 12

Correio Electrónico (e-mail)

Agente de utilizador programa usado para ler e

escrever e-mail

Servidores de E-mail caixa de correio contém

mensagens recebidas fila de mensagens para

mensagens a enviar protocolo SMTP para enviar as

mensagens o “cliente”: servidor que

envia a mensagem o “servidor”: servidor que

recebe a mensagem

Telesaude 12/13 - Com. na Internet - pbrandao

servidor de e-mail

SMTP

SMTP

SMTP

fila de men- sagens a enviar

caixa de correio de um utilizador

servidor de e-mail

servidor de e-mail

agente de util.

agente de util.

agente de util.

agente de util.

agente de util.

agente de util.

23

Cenário: Alice envia mensagem ao Bob

1) No UA, a Alice escreve o texto da mensagem e o endereço do destinatário [email protected]

2) O UA da Alice envia a mensagem para o servidor dela; a mensagem é colocada na fila de saída

3) O “lado cliente” do SMTP da Alice abre uma conexão para o servidor de e-mail do Bob

4) A mensagem é enviada através dessa conexão TCP

5) O servidor de e-mail do Bob põe a mensagem na caixa de correio dele

6) Posteriormente, o Bob usa o seu UA para ler a mensagem

Telesaude 12/13 - Com. na Internet - pbrandao

servidor de e-mail

servidor de e-mail

1

2 3 4 5 6

agente de util.

agente de util.

UA – User Agent

24

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 13

Exemplo de comunicação SMTP S: 220 hamburger.edu

C: HELO crepes.fr

S: 250 Hello crepes.fr, pleased to meet you

C: MAIL FROM: <[email protected]>

S: 250 [email protected]... Sender ok

C: RCPT TO: <[email protected]>

S: 250 [email protected] ... Recipient ok

C: DATA

S: 354 Enter mail, end with "." on a line by itself

C: Do you like ketchup?

C: How about pickles?

C: .

S: 250 Message accepted for delivery

C: QUIT

S: 221 hamburger.edu closing connection

Telesaude 12/13 - Com. na Internet - pbrandao 25

Protocolos de acesso ao e-mail

SMTP: entrega mensagens no servidor do destinatário

Protocolo de acesso: buscar e-mail à caixa de correio no servidor

o POP3: Post Office Protocol, versão 3

• download de mensagens

o IMAP: Internet Mail Access Protocol

• mais complexo

• manipulação de mensagens armazenadas no servidor

o HTTP: Gmail, Hotmail, etc.

servidor de email do emissor

SMTP SMTP protocolo de acesso

servidor de email do destinatário

Telesaude 12/13 - Com. na Internet - pbrandao 26

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 14

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 27

DNS: Domain Name System

Pessoas: múltiplos identificadores o Nos BI, NIF, passaporte

Máquinas na Internet: o endereço IP (32 bits), usado

no encaminhamento de datagramas (e.g., 194.117.24.35)

o nome, usado por humanos (e.g. www.google.pt)

Q: como se faz a tradução entre nome e endereço IP?

Domain Name System: base de dados distribuída

implementada como uma hierarquia de servidores de nomes

os protocolos de aplicação, para comunicar, resolvem os nomes (tradução nome/endereço)

o serviço fundamental na Internet, implementado como protocolo de aplicação

o complexidade nas extremi-dades da rede

Telesaude 12/13 - Com. na Internet - pbrandao 28

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 15

Base de Dados Distribuída e Hierárquica O cliente precisa de obter o IP de www.amazon.com. pergunta a um servidor de raiz, que lhe indica os

servidores DNS de com pergunta a um servidor de com, que lhe indica os

servidores DNS de amazon.com pergunta a um servidor de amazon.com, que lhe

responde com o endereço IP de www.amazon.com

Telesaude 12/13 - Com. na Internet - pbrandao 29

Servidores DNS de raiz

Servidores DNS de com

Serv. DNS

cmu.edu

Serv. DNS

mit.edu Serv. DNS

google.com

Serv. DNS

amazon.com

Serv. DNS

pbs.org

Servidores DNS de org Servidores DNS de edu

máquina que faz o pedido

khao.dcc.fc.up.pt

www.mit.edu

servidor DNS de raiz

servidor DNS local dns.dcc.fc.up.pt

1

2 3

4

5

6

servidor DNS com autoridade ns.mit.edu

7 8

servidor DNS TLD

Exemplo de resolução de nome

Máquina em dcc.fc.up.pt quer o endereço de www.mit.edu

Faz pergunta (recursiva) ao servidor DNS local

Este faz perguntas (iterativas) descendo na hierarquia

O servidor contactado dá referência doutro(s) servidor(es) a contactar

Telesaude 12/13 - Com. na Internet - pbrandao 30

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 16

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 31

Serviços e protocolos de transporte

fornecer um canal lógico de comunicação entre processos a correr em máquinas diferentes

protocolo de transporte a correr nos terminais o emissor: partir

mensagens de aplicação em segmentos, que passa à camada de rede

o receptor: reconstruir mensagens a partir dos segmentos e passá-las à camada de aplicação

Telesaude 12/13 - Com. na Internet - pbrandao

applicação transporte

rede lig. lógica lig. física

applicação transporte

rede lig. lógica lig. física

32

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 17

Protocolos de transporte na Internet

entrega fiável e ordenada: TCP o estabelecimento de conexões

o controlo de congestionamento

o controlo de fluxo

entrega não fiável e sem garantia de ordem: UDP o extensão simples do modelo

“melhor esforço” do IP

serviços indisponíveis: o garantia de atraso máximo

o garantia de débito mínimo

Telesaude 12/13 - Com. na Internet - pbrandao

applicação transporte

rede lig. lógica lig. física

rede lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

applicação transporte

rede lig. lógica lig. física

33

Camada de transporte vs. camada de rede camada de rede:

comunicação lógica entre máquinas

camada de transporte: comunicação lógica entre processos o usa o serviço da camada de

rede e, sobre ele, implementa um serviço de valor acrescentado

Analogia:

correio entre empresas

processos = funcionários

mensagens = cartas

máquinas = edifícios

protocolo de rede = serviço dos CTT

protocolo de transporte = encarregados pela distribuição interna do correio

Telesaude 12/13 - Com. na Internet - pbrandao 34

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 18

Multiplexagem/desmultiplexagem

applicação

transporte

rede

lig. lógica

lig. física

P1 applicação

transporte

rede

lig. lógica

lig. física

applicação

transporte

rede

lig. lógica

lig. física

P2 P3 P4 P1

máquina 1 máquina 2 máquina 3

= processo = socket

entrega dos segmentos rece- bidos ao processo correcto

Desmultiplex. no receptor: recolher dados de múltiplos processos e adicionar cabe- çalhos (que depois são usados para desmultiplexar)

Multiplex. no emissor:

Telesaude 12/13 - Com. na Internet - pbrandao 35

Como funciona a desmultiplexagem?

a máquina recebe datagramas IP

o cada datagrama contém endereços IP de origem e de destino

o cada datagrama transporta um segmento da camada de transporte

o cada segmento tem indicação das portas de origem e de destino

a máquina usa os endereços IP e as portas de origem e de destino para enviar o segmento para o processo apropriado

Telesaude 12/13 - Com. na Internet - pbrandao

porta de orig. porta de dest.

32 bits

dados da aplicação

(mensagem)

outros campos do cabeçalho

formato dos segmentos TCP/UDP

36

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 19

Controlo de erros: soma de controlo

Emissor:

trata o conteúdo do segmento como uma sequência de inteiros de 16 bits

soma de controlo: adição dos inteiros que constituem o segmento (colocando zeros no próprio campo)

coloca o valor calculado no respectivo campo do cabeçalho

Receptor:

calcula soma de controlo do segmento recebido

compara o valor calculado com o recebido:

o diferentes – erro detectado

o iguais – não foram detectados erros

Telesaude 12/13 - Com. na Internet - pbrandao

objetivo: detectar “erros” (e.g., bits invertidos) no segmento recebido

Pode haver erros não detectados, mas a

probabilidade é muito baixa…

37

UDP: User Datagram Protocol [RFC 768]

protocolo de transporte extremamente simples

serviço “melhor esforço”; os segmentos UDP podem: o perder-se o ser entregues à aplicação

fora de ordem sem conexões:

o cada segmento UDP é tratado de forma independente

Telesaude 12/13 - Com. na Internet - pbrandao

Porque existe o UDP? sem conexões — poupa o

atraso de as estabelecer

simples: sem manutenção de estado no emissor e no receptor

cabeçalho pequeno

sem controlo de congestionamento: aplicações UDP podem enviar dados à cadência que necessitem

38

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 20

frequentemente usado em aplicações multimédia o tolerantes a perdas o sensíveis ao débito ou atraso

outros usos para o UDP o DNS

transferência fiável sobre UDP o a fiabilidade tem que ser

implementada na camada de aplicação

o recuperação de erros específica da aplicação!

Telesaude 12/13 - Com. na Internet - pbrandao

porta de orig. porta de dest.

32 bits

tamanho soma de controlo

dados da aplicação

(mensagem)

formato dum segmento UDP

Mais sobre o UDP

39

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 40

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 21

Telesaude 12/13 - Com. na Internet - pbrandao

Princípios da transferência fiável

Processo emissor

Processo receptor

Canal fiável

dados dados

a) serviço fornecido

Canal não-fiável

Protocolo de transferência de

dados fiável (emissor)

Protocolo de transf. de dados fiável

(receptor)

dados dados

pacote pacote

Processo emissor

dados

Processo receptor

dados

b) Implementação

Cam

ada

aplic

ação

Cam

ada

tran

spo

rte

41

Transferência fiável: problemas e soluções Pacotes podem perder-se Receptor confirma (ACK) a

recepção de cada segmento Se não receber confirmação

num dado tempo, o emissor retransmite o segmento

Pacotes podem conter erros Detectados através de

somas de controlo Pacotes com erros

ignorados (tratamento igual ao dos pacotes perdidos)

Recepção de duplicados (gerados pela rede ou retransmissões por perda de ACKs)

Segmentos são numerados ACK identifica o número do

último segmento recebido Também resolve o

problema do reordenamento

Telesaude 12/13 - Com. na Internet - pbrandao 42

O emissor envia um pacote e espera pela resposta do receptor

stop and wait

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 22

stop-and-wait: ausência de perdas

Telesaude 12/13 - Com. na Internet - pbrandao 43

emissor receptor

envia pkt0 pkt0

ACK0 pkt1

ACK1

recebe ACK0, envia pkt1

recebe ACK1, envia pkt2 pkt2

ACK2

...

recebe pkt0, envia ACK0

recebe pkt1, envia ACK1

recebe pkt2, envia ACK2

stop-and-wait: perda dum pacote

Telesaude 12/13 - Com. na Internet - pbrandao 44

emissor receptor

envia pkt0 pkt0

ACK0 pkt1 recebe ACK0, envia pkt1

recebe ACK1, envia pkt2

recebe pkt0, envia ACK0

recebe pkt1, envia ACK1

recebe pkt2, envia ACK2

pkt1

ACK1 pkt2

ACK2

...

X perdido

alarme, reenvia pkt1

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 23

stop-and-wait: perda dum ACK

Telesaude 12/13 - Com. na Internet - pbrandao 45

emissor receptor

envia pkt0 pkt0

ACK0

pkt1

ACK1

recebe ACK0, envia pkt1

recebe ACK1, envia pkt2 pkt2

ACK2

...

recebe pkt0, envia ACK0

recebe pkt1, envia ACK1

recebe pkt2, envia ACK2

pkt1

ACK1 X

perdido

recebe pkt1, detecta dup., envia ACK1 alarme, reenvia pkt1

stop-and-wait: alarme prematuro

Telesaude 12/13 - Com. na Internet - pbrandao 46

emissor receptor

envia pkt0 pkt0

ACK0 recebe ACK0, envia pkt1

recebe ACK1, envia pkt2

recebe pkt0, envia ACK0

recebe pkt1, detecta dup., envia ACK1

recebe pkt2, envia ACK2

pkt1

ACK2

alarme, reenvia pkt1

pkt1

ACK1

recebe pkt1, envia ACK1

ACK1

recebe ACK1 (dup),ignora-o

recebe ACK2, envia pkt3 pkt3

ACK3

...

recebe pkt3, envia ACK3

ACK1 pkt2 ACK1

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 24

transmissão do 1º bit do pacote, t = 0

emissor

receptor

RTT

trans. do último bit do pacote, t = L / R

chegada do primeiro bit chegada do último, envio do

ACK

chegada do ACK, envio do

pacote seguinte, t = RTT + L / R

Telesaude 12/13 - Com. na Internet - pbrandao

Operação do stop-and-wait

47

stop-and-wait funciona, mas com desempenho péssimo

ex.: ligação de 1 Gbps com 15 ms de atraso de propagação e pacotes de 8000 bits:

Telesaude 12/13 - Com. na Internet - pbrandao

Uemissor: utilização – fracção do tempo em que o emissor efectivamente está a transmitir

1KB pacote a cada 30 ms débito 33kB/s quando R= 1 Gbps o protocolo de rede limita o uso dos recursos físicos!!!

s 8bps10

bits80009

R

Ldtrans

Desempenho do stop-and-wait

0.027% 0.00027008.30

008.0

ms

ms

RLRTT

RLUemissor

48

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 25

Utilização triplicou!

transmissão do 1º bit do pacote, t = 0

emissor

receptor

RTT

trans. do último bit do pacote, t = L / R

chegada do 1º bit do 1º pacote último bit do 1º pacote, envio do ACK

chegada do ACK, envio do

pacote seguinte, t = RTT + L / R

último bit do 2º pacote, envio do ACK último bit do 3º pacote, envio do ACK

Telesaude 12/13 - Com. na Internet - pbrandao

Pipelining: maior utilização

0.08% 0.0008008.30

008.033

ms

ms

RLRTT

RLUemissor

49

Protocolos com Pipelining Go-back-N: Emissor pode ter até N

pacotes em trânsito (sem receber ACK)

Receptor envia ACKs cumulativos o Não envia ACK se houver

um “buraco”

Emissor tem tempori-zador para o pacote mais antigo ainda não confirmado o Se expirar, retransmite esse

e todos os subsequentes

Selective Repeat:

Emissor pode ser até N pacotes em trânsito (sem receber ACK)

Receptor confirma pa-cotes individualmente

Emissor mantém um temporizador por cada pacote não confirmado o Se expirar, retransmite

apenas esse pacote

Telesaude 12/13 - Com. na Internet - pbrandao 50

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 26

Pipelining: Go-Back-N Emissor:

número de sequência no cabeçalho

“janela” de até N pacotes consecutivos não confirmados

ACK(n): confirma a recepção de todos os pacotes até ao n (inclusive) — confirmação cumulativa emissor pode receber ACKs duplicados

alarme(n): retransmite pacote n e todos os enviados posteriormente a recepção de um ACK novo (não duplicado) faz reiniciar o temporizador

base próx. nº de seq.

janela de tamanho N

já confirmados

enviados mas não confirmados

disponíveis mas não enviados

indisponíveis

Telesaude 12/13 - Com. na Internet - pbrandao 51

Go-Back-N em acção emissor receptor

envia pkt0

envia pkt2

recebe pkt0, envia ACK0

recebe pkt1, envia ACK1 X

envia pkt1

envia pkt3 (espera)

recebe ACK 0, envia pkt4

recebe ACK1, envia pkt5

recebe pkt3, ignora-o, envia ACK1

reenvia pkt2

reenvia pkt3

reenvia pkt4

reenvia pkt5

recebe pkt4, ignora-o, envia ACK1

recebe pkt5, ignora-o, envia ACK1

alarme recebe pkt2, envia ACK2

recebe pkt3, envia ACK3

recebe pkt4, envia ACK4

recebe pkt5, envia ACK5

Demonstração GBN

Telesaude 12/13 - Com. na Internet - pbrandao 52

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 27

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 53

orientado a conexões: o estabelecimento da

conexão inicializa estado do emissor e receptor antes da troca de dados

controlo de fluxo: o emissor não sobrecarrega

o receptor

controlo de congestionamento: o emissor não sobrecarrega

a rede

ponto-a-ponto: o um emissor, um receptor

sequência de bytes fiável: o sem delimitação de mensagens

pipelined: o mecanismos de controlo de

fluxo e congestionamento determinam o tamanho da janela

conexão bidireccional: o fluxo de dados nos dois

sentidos na mesma conexão

Telesaude 12/13 - Com. na Internet - pbrandao

TCP: Transmission Control Protocol

54

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 28

TCP: Estabelecimento de conexão

É necessária a troca de 3 segmentos TCP para estabelecer uma conexão

Flags SYN e SYN+ACK

Estabelecimento dos números de sequência iniciais

Telesaude 12/13 - Com. na Internet - pbrandao 55

TCP: Terminação de conexão

É necessária a troca de 4 segmentos TCP para fechar uma conexão

Fluxo bidireccional 2 operações de fecho (para cada sentido)

Telesaude 12/13 - Com. na Internet - pbrandao 56

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 29

TCP: nos de sequência e ACKs

Número de sequência: número do primeiro

byte de dados do segmento

ACK: número do próximo

byte esperado do outro lado

ACKs cumulativos

Telesaude 12/13 - Com. na Internet - pbrandao

Terminal A Terminal B

Utilizador escreve ‘C’

terminal confirma recepção

do ‘C’ ecoado

terminal confirma recepção de ‘C’ e ecoa-o

tempo exemplo com terminal remoto

57

TCP: cenários de retransmissão

Terminal A

tempo alarme prematuro

Terminal B Terminal A

perda

perda de confirmação

Terminal B

X alar

me

tempo

(Seq

=92

alar

me)

Se

q=9

2 al

arm

e

SendBase = 100

SendBase = 120

SendBase = 120

SendBase = 100

Telesaude 12/13 - Com. na Internet - pbrandao 58

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 30

TCP: cenários de retransmissão

Terminal A

perda

confirmação cumulativa

Terminal B

X (ala

rme)

tempo

SendBase = 120

Telesaude 12/13 - Com. na Internet - pbrandao 59

Controlo de fluxo no TCP

Dados recebidos são armazenados num espaço próprio (buffer) até serem consumidos pela aplicação

Aplicação pode consumi-los lentamente

adaptar a taxa de envio à de consumo por parte da aplicação

para evitar extravasar o buffer do receptor

controlo de fluxo

dados

do IP

aplicação

(processo)

espaço livre

dados rece- bidos e ain- da não con-

sumidos

janela do receptor

buffer do receptor

Controlo de fluxo no TCP Receptor anuncia o espaço livre

de que dispõe (janela de recepção)

Emissor limita a quantidade de dados em trânsito a essa janela

Telesaude 12/13 - Com. na Internet - pbrandao 60

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 31

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 61

Congestionamento lin débito a que a aplicação envia os dados

(sem cabeçalhos nem retransmissões) lout goodput

o Os dados que a aplicação recebe por unidade de tempo (não contanto com cabeçalhos nem retransmissões)

Telesaude 12/13 - Com. na Internet - pbrandao 62

Terminal A

lin : dados originais

Terminal B

lout

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 32

dois emissores, dois receptores

um router, fila com capacidade ilimitada

sem retransmissões

atrasos enormes por causa do congestionamento

capacidade máxima atingível

espaço ilimitado na fila de espera

Terminal A lin : dados originais

Terminal B

lout

atr

aso

Telesaude 12/13 - Com. na Internet - pbrandao

Causas e consequências do congestionamento: cenário 1

63

Causas e consequências do congestionamento: cenário 2 um router, fila de capacidade limitada

retransmissão pelo emissor de pacotes perdidos

Telesaude 12/13 - Com. na Internet - pbrandao

espaço limitado na fila de espera

Terminal A lin : dados originais

Terminal B

lout

l'in : dados originais mais retransmissões

64

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 33

Causas e consequências do congestionamento: cenário 2 Omnisciente: lin = lout

o emissor “adivinha” se o router tem espaço na fila de espera e só transmite se tiver (A)

retransmissões “perfeitas” (apenas quando há perdas): l‘in > lout o emissor só retransmite pacotes que realmente se perderam (aprox.

temporizador muito longo) (B)

retransmissões desnecessárias de pacotes atrasados tornam, em relação ao caso “perfeito”, l‘in maior para o mesmo lout o Ex.: cada pacote é transmitido, em média, duas vezes (C)

Telesaude 12/13 - Com. na Internet - pbrandao 65

R/2

R/2 lin

lout

(A)

R/2

R/2 lin

lout

R/3

(B)

R/2

R/2 lin

lout

R/4

(C)

Q: o que acontece quando

lin e l’in aumentam?

Causas e consequências do congestionamento: cenário 3 quatro emissors

caminhos com + que 1 salto

retransmissões por tem-porizador

espaço limitado na fila de espera

Terminal A lin : dados originais

Terminal B lout

l'in : dados originais mais retransmissões

Telesaude 12/13 - Com. na Internet - pbrandao 66

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 34

Causas e consequências do congestionamento: cenário 3

Mais uma consequência do congestionamento: Quando se perde um pacote, a capacidade utilizada a

montante para o transmitir foi desperdiçada!

Telesaude 12/13 - Com. na Internet - pbrandao 67

Controlo de Congestionamento

Sintomas de congestionamento: Q?

oatrasos elevados (filas de espera nos routers)

opacotes perdidos (extravasamento das filas)

Controlo de congestionamento: adaptar a taxa de emissão à capacidade disponível na rede

oNão tem nada que ver com o controlo de fluxo!

Telesaude 12/13 - Com. na Internet - pbrandao 68

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 35

Controlo de Congestionamento no TCP: additive increase, multiplicative decrease (AIMD) Princípio: aumentar a taxa de transmissão gradualmente

até à ocorrência de perdas “apalpar terreno” o additive increase: aumentar a janela de congestionamento

(CongWin) em 1 MSS* por RTT até ocorrer perda o multiplicative decrease: reduzir CongWin a metade quando

ocorre uma perda

Telesaude 12/13 - Com. na Internet - pbrandao 69

8 Kbytes

16 Kbytes

24 Kbytes

time

congestion

window

tempo

janela

de c

ongestio

nam

ento

* MSS = tamanho máximo dum segmento

objetivo: se uma ligação de estrangulamento com capacidade R é partilhado por K sessões TCP, cada uma deve, idealmente, ter débito médio R/K

Conexão TCP 1

ligação de estrangulamento com capacidade R

Conexão TCP 2

Equidade no TCP

Telesaude 12/13 - Com. na Internet - pbrandao 70

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 36

Porque razão é o TCP justo? Duas sessões a “competir” pela capacidade da ligação: Crescimento linear nas duas conexões recta com declive 1

Decrescimento multiplicativo reduz o débito proporcionalmente

R

R

distribuição equitativa da capacidade

Débito da conexão 1

crescimento linear perda: redução das janelas a metade

crescimento linear perda: redução das janelas a metade

Telesaude 12/13 - Com. na Internet - pbrandao 71

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 72

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 37

Camada de Rede transportar segmentos da

máquina de origem para a de destino

encapsula os segmentos em datagramas no lado do emissor

no receptor, entrega segmentos à camada de transporte

protocolos da camada de rede em todos os terminais e routers

o router examina os cabeçalhos de todos os datagramas IP que o atravessam

Telesaude 12/13 - Com. na Internet - pbrandao 73

aplicação transporte

rede lig. lógica lig. física

aplicação transporte

rede lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

rede

lig. lógica lig. física

Duas funções-chave da camada de rede

reenvio: passagem dos pacotes da entrada do router para a saída adequada

encaminhamento: determinação da rota seguida pelos pacotes da origem ao destino

o algoritmos de encaminhamento

Analogia:

encaminhamento: planeamento de uma viagem da origem ao destino

reenvio: processo de passagem por um ponto de ligação (e.g., do metro para o autocarro)

Telesaude 12/13 - Com. na Internet - pbrandao 74

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 38

1

2 3

0111

valor no cabeçalho

do pacote que chega

algoritmo de

encaminhamento

tabela local de encam.

valor no cab. lig. saída

0100

0101

0111

1001

3

2

2

1

Interacção entre encaminhamento e reenvio

Telesaude 12/13 - Com. na Internet - pbrandao 75

Encaixe do prefixo mais longo 4 mil milhões de endereços possíveis no IPv4

o Impraticável manter tabela com todos

Solução: agrupar destinos com prefixo idêntico o Usar entrada com prefixo mais longo (mais específica) de

entre as que encaixam

Telesaude 12/13 - Com. na Internet - pbrandao 76

Encaixe do prefixo Interface de saída 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 senão (prefixo vazio) 3

Exemplos

Que interface?

Que interface? DA: 11001000 00010111 00011000 10101010

DA: 11001000 00010111 00010110 10100001

3,4 x 1038 em IPv6

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 39

A camada de rede na Internet

Telesaude 12/13 - Com. na Internet - pbrandao 2-77

Funções da camada de rede nos routers e terminais:

Protocolo IP • endereçamento • formato dos datagramas • tratamento dos pacotes

Protocolo ICMP • relatórios de erro • “sinalização” entre routers

camadada de transporte: TCP, UDP

camada de ligação lógica

camada de ligação física

camada de rede

Protocolos de encaminhamento • selecção de percursos • RIP, OSPF*, BGP

tabela de encaminhamento

* Também colocado na camada lógica

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 78

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 40

Endereçamento IP: introdução

Endereço IP: identifi- cador de 32 bits para interface de rede o os routers têm múltiplas

interfaces

o os terminais normalmente apenas uma

o um endereço IP por cada interface

Telesaude 12/13 - Com. na Internet - pbrandao

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2 223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 1 1

decimal binário

79

128 bits em IPv6

Sub-redes

Endereço IP: o parte de subrede (bits mais

significativos)

o parte de nó (bits menos significativos)

O que é uma subrede? o conjunto de interfaces com a

mesma parte de subrede do endereço IP

o nós podem atingir-se fisicamente sem necessidade de intervenção de um router

Telesaude 12/13 - Com. na Internet - pbrandao

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2 223.1.3.1

223.1.3.27

rede constituída por 3 sub-redes

subrede

80

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 41

Endereçamento IP: CIDR

CIDR: Classless InterDomain Routing

o parte de subrede de comprimento arbitrário

o formato: a.b.c.d/x, onde x é o nº de bits na parte de subrede

11001000 00010111 00010000 00000000

200.23.16.0/23

Telesaude 12/13 - Com. na Internet - pbrandao

parte de subrede

parte do nó

81

Encaminhamento – Tabelas

Telesaude 12/13 - Com. na Internet - pbrandao 82

Net 1

R1

Net 2

R2

Net 3

R3

Net 4

Net 5

Destino Next Hop

Net 1 R1

Net 2 Entrega directa

Net 3 Entrega directa

Net 4 R3

Net 5 R1

14.0.0.0

R1

145.12.0.0

R2

192.170.1.0

R3

192.170.20.0

81.0.0.0

145.12.0.1 14.0.0.1

81.0.0.1

145.12.0.7 192.170.1.1 192.170.1.7 192.170.20.1

Destino Máscara Next Hop

14.0.0.0 255.0.0.0 145.12.0.1

145.12.0.0 255.255.0.0 Entrega directa

192.170.1.0 255.255.255.0 Entrega directa

192.170.20.0 255.255.255.0 192.170.1.7

81.0.0.0 255.0.0.0 145.12.0.1

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 42

Sumário

Camada de aplicação o Princípios das aplicações

em rede o Web e HTTP o Correio electrónico o Serviço de nomes

Camada de transporte o Serviços da camada de

transporte o Transferência fiável o TCP o Controlo de

congestionamento

Camada de rede o objetivo e funções o Internet Protocol (IP) o NAT

Telesaude 12/13 - Com. na Internet - pbrandao 83

NAT: Motivação

Escassez de endereços IPs

o Pequenas / médias empresas com ligação ADSL, cabo querem IPs para as suas máquinas (também utilizadores domésticos).

o Cada um pode ter mais do que uma máquina por trás.

Telesaude 12/13 - Com. na Internet - pbrandao 84

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 43

Utilização Endereços privados não são permitidos na

internet. Routers não fazem encaminhamento destes IPs o 10.0.0.0 – 10.255.255.255 /8 o 172.16.0.0 – 172.31.255.255 /12 o 192.168.0.0 - 192.168.255.255 /24

Telesaude 12/13 - Com. na Internet - pbrandao 85

192.168.100.0/24 192.168.100.0/24

195.170.3.45 193.34.56.200

internet

Datagramas com origem (ou destino) nesta rede têm o

endereço de origem (destino) na gama 192.168.100.0/24 Todos os datagrams que

saem da rede local têm o mesmo endereço IP de origem: 193.34.56.200

Vantagens

Utilização de endereços privados nas Intranets

Possibilidade de fusão entre redes com endereços duplicados

Podem mudar-se os endereços na rede local sem necessidade de notificar o mundo exterior

Facilidade de mudança de ISP

Os nós na rede local não são directamente endereçáveis a partir do exterior, o que pode ser uma vantagem do ponto de vista da segurança

Telesaude 12/13 - Com. na Internet - pbrandao 86

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 44

Telesaude 12/13 - Com. na Internet - pbrandao

192.168.100.0/24

195.31.30.45

193.34.56.205 internet

192.168.100.20

NAT router

DA: 195.31.30.45 :22 SA: 192.168.100.20 :2050

•Acrescentar entrada para porta 54053

192.168.100.25

DA: 195.31.30.45 :22 SA: 193.34.56.205 :54053

DA: 193.34.56.205 :54053 SA: 195.31.30.45 :22

DA: 192.168.100.20 :2050 SA: 195.31.30.45 :22

DA: 195.31.30.45 :22 SA: 192.168.100.25 :4560

DA: 195.31.30.45 :22 SA: 193.34.56.205 :64056

tcp 64056 22 195.31.30.45 4560 192.168.100.25

tcp 54053 22 195.31.30.45 2050 192.168.100.20

Protocolo Porta

NAT

Porta

Externa

Endereço

externo

Porta

privada

Endereço

Privado

• Consultar tabela para porta 54053

87

Problema da travessia do NAT

um cliente quer ligar-se ao servidor com o endereço 192.168.100.20

o o endereço 192.168.100.20 é local à LAN (o cliente não pode usá-lo como endereço de destino)

o apenas visível externamente o endereço NAT: 193.34.56.205

uma solução possível: configuração estática no router NAT para encaminhar conexões iniciadas de fora para uma dada porta para o servidor

Telesaude 12/13 - Com. na Internet - pbrandao 2-88

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 45

Telesaude 12/13 - Com. na Internet - pbrandao 89

195.31.30.45

internet

192.168.100.20

NAT router

192.168.100.0/24

193.34.56.205

192.168.100.25

tcp 9080 80 192.168.100.25

tcp 7022 22 192.168.100.20

Protocolo Porta

NAT

Porta

Externa

Endereço

externo

Porta

privada

Endereço

Privado

DA: 193.34.56.205:7022 SA: 195.31.30.45 :6899

• Consultar tabela para porta 7022 DA: 192.168.100.20 :22

SA: 195.31.30.45 :6899

NAT: Objecções

Existem várias objecções à utilização de NAT: o Endereço IP não identifica univocamente uma

máquina. o Connectionless para connection-oriented: caixas

NAT têm de manter a informação sobre as conexões.

o Caixa NAT modifica a camada IP baseado na assunção da formatação da camada superior (quebra das regras de camadas protocolares).

o Problemas para as aplicações “Peer to Peer” Ver RFC 2993 – Architectural Implications of

NAT

Telesaude 12/13 - Com. na Internet - pbrandao 90

Telemedicina e e-Saúde 2012/2013

Comunicação na Internet 46

FIM DA COMUNICAÇÃO NA INTERNET

Telesaude 12/13 - Com. na Internet - pbrandao