INTRODUÇÃO ÀS REDES DE COMPUTADORES

Documentos relacionados
INTRODUÇÃO ÀS REDES DE COMPUTADORES

INTRODUÇÃO ÀS REDES DE COMPUTADORES

Redes de Computadores. Trabalho de Laboratório Nº7

REDES DE COMPUTADORES

Cliente-servidor com Sockets TCP

A Camada de Transporte

TCP - estabelecimento de conexão

INTRODUÇÃO ÀS REDES DE COMPUTADORES

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Redes de Computadores. TCP Orientação à Conexão. Prof. Othon M. N. Batista Mestre em Informática

INTRODUÇÃO ÀS REDES DE COMPUTADORES

6 de Julho de Exercício 23 Para que servem portas na camada de transporte?

Cliente-servidor com Sockets TCP

Redes de Computadores. Camada de Transporte

Camada de Transporte, protocolos TCP e UDP

TCP - multiplexação/demultiplexação

CCNA 1 Conceitos Básicos de Redes. Módulo 11 Camada de Transporte TCP/IP Camada de Aplicação

Programação TCP/IP. Protocolos TCP e UDP

Prof. Marcelo Cunha Parte 5

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Módulo 3 Nível Transporte

P L A N O D E D I S C I P L I N A

Camada de Transporte. Prof. Leonardo Barreto Campos

Teleprocessamento e Redes

Camada de Transporte. Protocolos TCP e UDP

Programação com sockets (em Java)

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de Página

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

Redes de Computadores

CAMADA DE TRANSPORTE

TECNOLOGIAS WEB AULA 2 PROF. RAFAEL DIAS

Programação com Sockets TCP e UDP - Cliente. Gustavo Leitão

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Redes de computadores e a Internet. Capítulo3. Camada de transporte

1 Capturando uma rajada de uma transferência TCP de seu computador a um servidor remoto

INTRODUÇÃO ÀS REDES DE COMPUTADORES

Tecnologia de Redes. Protocolo TCP

Redes de Computadores

UNIVERSIDADE. Sistemas Distribuídos

Redes de Computadores. Arquitetura de Protocolos Profa. Priscila Solís Barreto

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

REDES DE COMPUTADORES. Departamento de Informática da Faculdade de Ciências e Tecnologia da UNL 2008 / 2009

UMA ABORDAGEM SOBRE A INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES SOCKETS E A IMPLEMENTAÇÃO DE UM SERVIDOR HTTP

Redes de Computadores. Prof. André Y. Kusumoto

Redes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza

Módulo 9 Conjunto de Protocolos TCP/IP e endereçamento IP

Capítulo 4 TCP/IP FIREWALLS.

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

INTRODUÇÃO ÀS REDES DE COMPUTADORES

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

REDES DE COMPUTADORES Camada de Transporte. Alexandre Augusto Giron

Ficha da Unidade Curricular (UC)

Programação de Sockets em C/C++

1 Redes de Computadores - TCP/IP Luiz Arthur

Capítulo 1 PROTOCOLOS FUNDAMENTAIS DA INTERNET

Curso: Sistemas de Informação Disciplina: Redes de Computadores Prof. Sergio Estrela Martins

4. Protocolos Teóricos e Protocolos de Controlo de Ligação Protocolos ARQ; Especificação de Protocolos; Eficiência ARQ.

REDES DE COMPUTADORES

Tecnologia de Redes de Computadores

TECNOLOGIA WEB INTERNET PROTOCOLOS

Introdução. Redes de computadores

Sistemas Distribuídos

Redes de computadores e a Internet. Capítulo 3. Camada de transporte

Camada de rede. Camada de enlace. Meio Físico

TCP - controle de fluxo

TCP: Visão geral RFCs: 793, 1122, 1323, 2018, TCP: nos. de seq. e ACKs. TCP: estrutura do segmento. TCP: Tempo de Resposta (RTT) e Temporização

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

TCP - controle de fluxo

Camadas da Arquitetura TCP/IP

Transferência de Arquivos FTP

Camada de transporte. Serviços

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

Rede de Computadores II

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Teleprocessamento e Redes

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Padrão TCP/IP UNIVERSIDADE FEDERAL DE OURO PRETO CAMPUS JOÃO MONLEVADE

Redes de Computadores

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 27 de Janeiro de 2006 Exame de 2ª Época A

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus

Camada de Transporte

INTRODUÇÃO ÀS REDES DE COMPUTADORES

Redes de Telecomunicações (11382)

REDES DE COMPUTADORES

Redes de Computadores e a Internet

Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO

TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo

Redes de Computadores

Internet. Professor: Francisco Silva

Fluxos Multimédia Armazenados

REDES DE COMPUTADORES

Redes de Computadores. Revisões

Transcrição:

INTRODUÇÃO ÀS REDES DE COMPUTADORES CAMADA DE TRANSPORTE Teresa Vazão 2

INTRODUÇÃO Fiabilidade na net.. 1973 Vincent Cerf and Robert Kahn: Inventores do protocolo TCP Vincent Cerf é o Chief Internet- Evangelist, na Google! Rpbert Khan, Bell- Labs, MIT e DARPA 3

SUMARIO Camada de transporte Função da camada de transporte Protocolo UDP Protocolo TCP 4

CAMADA DE TRANSPORTE Transporte Funções da camada de transporte Protocolo UDP Protocolo TCP Transmission Control Protocol Interacção bidireccional entre Sistemas Terminais Protocolo de transporte complexo 5

Protocolo TCP Gestão das ligações Estabelecimento da ligação Idenaficação dos Sistemas Terminais envolvidos na comunicação Negociação de parâmetros Reserva de recursos Transferencia de dados Fiavel Controlo de fluxo Controlo de congestão Terminação da ligação Libertação de recursos 6

Gestão das ligações processo geral de estabelecimento 1. Pedido de ligação: ST A Connec0on request Cliente envia um pedido de ligação para o servidor 1 ConnecLon- request 2. Ligação concedida Connec0on granted Servidor atribui a ligação ao cliente 3. Ligação confirmada 3 ConnecLon granted 2 Connec0on confirmed ConnecLon confirned Cliente confirma a ligação atribuída pelo servidor 4 7

Gestão das ligações Lpos de segmentos 1. Pedido de ligação: Connec0on request Segmento SYN =1 (S=1, A=0) Não tem campo de dados 2. Ligação concedida Connec0on granted Segmento SYNACK =1, (S=1, A=1) Não tem campo de dados 3. Ligação confirmada Connec0on confirmed Segmento SYN =0, (S=0, A=1) Pode ter campo de dados 1 3 ST A Connecaon- request SYN=1, ACK=0 Connecaon granted SYN=1, ACK=1 Connecaon confirned SYN=0, ACK=1 2 4 8

Gestão das ligações números de sequência 1. Pedido de ligação: Connec0on request: SYN=1 Segmento SYN =1 (S=1, A=0) Nº de seq. original: client_isn 2. Ligação concedida Connec0on granted: SYNACK=1 AN = client_isn+1 SN. original: server_isn 3. Ligação confirmada Connec0on confirmed: SYN=0 AN = server_isn+1 Reserva buffers e variáveis 1 3 ST A Connecaon- request SYN=1, ACK=0 SN: client_isn Connecaon granted SYN=1, ACK=1 AN=client_isn+1 SN=server_isn Connecaon confirned SYN=0, ACK=1 AN=server_isn+1 2 4 9

Gestão das ligações processo geral de terminação 1. Pedido de terminação (cliente) Cliente envia um pedido de fim de ligação: FIN=1 Cancela recursos 2. Terminação confirmada Servidor confirma o fim da ligação: FIN=1, ACK=1 3. Pedido de terminação (servdior) Servidor envia um pedido de fim de ligação: FIN=1 Cancela recursos 4. Terminação confirmada (cliente) Clientes confirma o fim da ligação: FIN=1, ACK=1 Espera um tempo até terminar Tempo de espera Fecho 1 4 ST A FIN ACK FIN ACK 2 3 Fecho 10

Protocolo TCP Gestão dos temporizadores O processo de retransmissão está muito sujeito ao valor do temporizador Valor correcto depende: Estado da rede Distância entre o emissor e o receptor Caminho usado na comunicação Ajustar dinamicamente em função do estado da rede 11

Mecanismo de fiabilidade: gestão do temporizador RTO: Retransmission Time Out Tempo que o receptor espera antes de retransmiar um segmento Curto Retransmissão desnecessária Longo Reacção lenta à perda de segmentos T1 = ameout 1 3 ST A 8 Bytes (dados), SN=92 20 Bytes (dados), SN=100 AN=100 8 Bytes (dados), SN=92 AN=120 2 ST B T2 RTO = RTT + Δ 4 5 AN=120 12

Mecanismo de fiabilidade: gestão do temporizador RTT: Round- Trip- Time Tempo desde o envio dum segmento até à recepção do ACK respecavo Varia significaavamente ao longo do tempo Média ponderada das úlamas medidas T1 = ameout 1 3 ST A 8 Bytes (dados), SN=92 20 Bytes (dados), SN=100 AN=100 8 Bytes (dados), SN=92 AN=120 2 ST B T2 avgrtt(k+1)=α RTT(k+1) + (1- α) avgrtt(k) 4 5 AN=120 13

Mecanismo de fiabilidade: gestão do temporizador RTT: Round- Trip- Time - exemplo α=0.5 avgrtt(1) = 0.5xRTT(1) RTT: gaia.cs.umass.edu to fantasia.eurecom.fr 350 avgrtt (2) = 0.5xRTT(2) + 0.5xavgRTT(1) = 0.5xRTT(2) + 0.5 2 xrtt(1) avgrtt (3) = 0.5xRTT(3) + 0.5xavgRTT(2) = 0.5xRTT(3) + 0.5 2 xrtt(2) + 0.5 3 xrtt(1) RTT (milliseconds) 300 250 200 avgrtt (4) = 0.5xRTT(4) + 0.5xavgRTT(3) = 0.5xRTT(4) + 0.5 2 xrtt(3) + 0.5 3 xrtt(2)+0,5 4 xrtt(1) 150 100 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 time (seconnds) avgrtt (5) = 0.5xRTT(5) + 0.5xavgRTT(4) = 0.5xRTT(5) + 0.5 2 xrtt(4) + 0.5 3 xrtt(3)+0,5 4 xrtt(2) +0,5 5 xrtt(1) SampleRTT Estimated RTT 14

Mecanismo de fiabilidade: gestão do temporizador Cálculo do RTO tem em consideração a variancia do RTT devrtt(k+1)=(1- β) devrtt(k)+β RTT(k+1)- avgrtt(k) Finalmente: RTO(k+1)=avgRTT(k+1)+4 devrtt(k+1) Valores recomendados: α=0.125, β=0.25 15

Protocolo TCP Programação com sockets Propriedades gerais Interface de sockets para acesso ao sistema operaavo Sockets do domínio Internet: AF_INET Sockets do apo stream: SOCK_STREAM Primiavas simples: accept, listen, sendto, recvfrom 16

CAMADA DE TRANSPORTE protocolo UDP Programação com sockets: funcionalidades Efectua Endereçamento Detecção de erros Recuperação de erros Sequenciação Controlo de fluxo Controlo de congestão 17

CAMADA DE TRANSPORTE protocolo UDP Programação com sockets: exemplo Cliente (PC) tdp- client.py Servidor (VM- Ubuntu) tdp- server.py IP: 192.168.56.1 Porto: x IP: 192.168.56.101 Porto: 5005 Sonda: captura na interface192.168.56.1 Filtro: ip.addr==192.168.56.101 && udp.port==7007 Sonda: captura na interface192.168.56.101 Filtro: ip.addr==192.168.56.1 && udp.port==7007 18

CAMADA DE TRANSPORTE protocolo UDP Programação com sockets: exemplo # tcp- client.py 1. import socket 2. ClientMsg = Hello World! 3. BUFFER_SIZE=1024 4. ClientSock=socket.socket(socket.AF_INET, socket.sock_stream) 5. ClientSock.connect (( 192.168.56.101, 7007)) 6. ClientSock.send(ClientMsg) 7. print Message to server:, ClientMsg 8. ServerMessage= ClientSock.recv (BUFFER_SIZE) 9. print Message from server:, ServerMsg 10. ClientSock.close () 19

CAMADA DE TRANSPORTE protocolo UDP Programação com sockets: exemplo # tcp- server.py 1. import socket 2. ServerMsg = Nice to meet you :)! 3. BUFFER_SIZE=20 # usual e 1024, mas queremos respostas rapidas! 4. ServerSock=socket.socket(socket.AF_INET, socket.sock_dgram) 5. ServerSock.bind ((,7007)) 6. ServerSock.listen () 7. NewClientSock, addr = ServerSock.accept() 8. Print Connecaon address:, addr 9. while 1: 10. ClientMessage = NewClientSock.recv (BUFFER_SIZE) 11. if not ClientMessage: break; 12. print Message from client:, ClientMessage 13. NewClientSock.send (ServerMessage) 14. NewClientSock.close () 20

30 anos de Internet: ARPANET transitou para a arquitectura TCP/IP em 1 de Janeiro de 1983 21

SUMARIO Bibliografia James Kurose, Keith Ross, Computer Network: a Top- Down Approach Featuring the Internet (edição 2) Cap. 2: The web and HTTP: secção 2.2 - completa File Transfer: FTP: secção 2.3 - completa Electronic mail e Internet: secção 2.4 completa DNS secção 2.5 Socket Programming with TCP: secção 2.6.1 Socket Programming with UDP: secção 2.7 IETF RFCs The Trivial File Transfer Protocol: RFC 1350 e RFC 2347 e RFC 2348 (extensões) 22