Resumo das Propriedades de UDP e de TCP
|
|
|
- Natan Barros Filipe
- 9 Há anos
- Visualizações:
Transcrição
1 Relembrando... Processos duma aplicação distribuída comunicam via mensagens. O formato e o significado destas mensagens depende do protocolo usado. As mensagens são transportadas entre processos através de redes de computadores. Para uma aplicação distribuída a rede pode ser abstraída como um canal de comunicação, com determinadas propriedades. Na Internet, os protocolos de transporte normalmente usados são TCP e UDP. 1 Resumo das Propriedades de UDP e de TCP Propriedade UDP TCP Abstracção Mens. Stream Baseado em Conexão N S Fiabilidade (perda & duplicação) N S Ordem N S Controlo de Fluxo N S Número de Receptores n 1 2
2 Sockets: Sumário Conceito (e história). Sockets UDP API de Java API da biblioteca C. (Comunicação multicast.) 3 Sockets Origem no (UNIX) BSD 4.1c ( 1982), mas adoptada (com variações) por quase todos sistemas operativos (incluindo Windows). Fornece uma interface para qualquer das camadas da Internet (em C): Sockets APLICACAO TCP UDP IP INTERFACE Programação com sockets é muito semelhante à programação de protocolos: sockets expõem a rede ao programador ausência total de transparência. 4
3 Conceito de socket socket: é um objecto (do sistema operativo) que representa o ponto de acesso a um canal de comunicação entre processos. Os passos para comunicação com sockets dependem do tipo de canal usado: Sem conexão (UDP) Com conexão (TCP) Para que um processo remoto possa estabelecer um canal com um socket, é necessário atribuir um nome ao socket: uma ficha telefónica não é suficiente para estabelecer uma chamada telefónica. 5 Passos para Comunicação com Sockets UDP 1. Criar um socket: 2. Atribuir-lhe um nome (opcional) Se um socket só receber mensagens de sockets a que enviou mensagens, não é necessário atribuir-lhe explicitamente um nome. 3. Transferir informação Enviar e receber mensagens. 6
4 Sockets: Sumário Conceito. Sockets UDP API de Java API da biblioteca C. (Comunicação multicast.) 7 Comunicação Sem Conexão em Java Java define 2 classes especificamente para comunicação sem conexão: DatagramSocket representa um socket UDP; DatagramPacket representa um datagrama UDP. Tipicamente, uma aplicação: Cria um DatagramSocket. Envia e recebe DatagramPackets através do DatagramSocket Para usar qualquer destas classes é conveniente conhecer a classe: InetAddress representa um endereço IP; e as suas subclasses Inet4Address e Inet6Address que representam os endereços IPv4 e IPv6, respectivamente. 8
5 Classe InetAddress Suporta um conjunto de métodos estáticos que permitem obter objectos InetAddress associados a um nome DNS ou a um endereço IP: static InetAddress getbyaddress(byte[] addr): o endereço deve estar na ordem da rede (MSB em addr[0]) static InetAddress getbyname(string host) static InetAddress getlocalhost() Inclui ainda um conjunto de métodos utilitários, p.ex.: String gethostname(inetaddress addr) String tostring() As subclasses Inet4Address herdam estes métodos e incluem ainda alguns métodos específicos. 9 Classe DatagramPacket Suporta um conjunto de construtores: DatagramPacket( byte[] buf, int length): constrói um datagrama para receber/enviar datagramas com até length bytes; DatagramPacket( byte[] buf, int length, InetAddress address, int port): constrói um datagrama e inicializa o endereço e o porto (destino). Oferece um conjunto de operações como p.ex.: InetAddress getaddress() extrai o endereço do socket remoto; int getport() extrai o porto do socket remoto; byte[] getdata() extrai os dados do datagrama; void setdata(byte[] buf) inicializa os dados do datagrama. 10
6 Classe DatagramSocket (1/2) Suporta um conjunto de construtores, alguns dos quais permitem: Atribuir um nome ao socket UDP criado. IMP.- Só é necessário atribuir o nome a um socket, se se pretender que receba mensagens de sockets remotos a que não enviou mensagens previamente. Suporta operações para: Enviar (quer unicast quer broadcast) datagramas. Receber datagramas. Configurar diferentes parâmetros dos sockets, como p.ex.: tamanho de buffers; valores de temporização. 11 Construtores: Classe DatagramSocket (2/2) DatagramSocket() Cria um socket UDP sendo o seu nome determinado pelo sistema. DatagramSocket(int port) Cria um socket UDP associado ao porto especificado. DatagramSocket(int port, InetAddress addr) Cria um socket UDP com o nome especificado. Métodos: void receive(datagrampacket p) recebe um datagrama UDP que é copiado para o seu argumento. void send(datagrampacket p) envia o datagrama UDP que lhe é passado como argumento; int getlocalport() retorna o porto local associado ao socket; 12
7 Comunicação Sem Conexão em Java: Exemplo import java.net.*; (1/2) public class EchoClient { public static void main(string[] args) throws IOException{ if (args.length!= 2) { System.out.println("Usage: java Echo <hostname> <string to return; } // send request DatagramSocket socket = new DatagramSocket(); byte[] sbuf = args[1].getbytes(); InetAddress address = InetAddress.getByName(args[0]); DatagramPacket packet = new DatagramPacket(sbuf, sbuf.length, address, 4445); socket.send(packet); 13 Comunicação Sem Conexão em Java: Exemplo (2/2) // get response byte[] rbuf = new byte[sbuf.length]; packet = new DatagramPacket(rbuf, rbuf.length); socket.receive(packet); // display response String received = new String(packet.getData()); System.out.println("Echoed Message: " + received); } } socket.close(); 14
Sockets e Threads em Java
Sockets e Threads em Java U N I V E R S I D A D E T E C N O L Ó G I C A F E D E R A L D O P A R A N Á D E P A R T A M E N T O A C A D Ê M I C O D E E L E T R Ô N I C A P R O F. V I T O R Y A N O Comunicação
Canais de Comunicação
Canais de Comunicação February 24, 2010 Sumário Comunicação via Mensagens Propriedades dum Canal de Comunicação Protocolos da Internet UDP TCP Aplicação Distribuída O que é? É uma aplicação que consiste
User Datagram Protocol
User Datagram Protocol UDP: Protocolo utiliza para distinguir para qual usuário ou aplicativo deve ser encaminhado um datagrama destinado a uma máquina que esteja executando mais de um processo. Problemas:
Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior
Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP Prof. Me. Sérgio Carlos Portari Júnior Conteúdo Programático Contextualizando: Aula anterior Camada Middleware Programar para SD
Programação Paralela e Distribuída. Prof. Cidcley T. de Souza
Programação Paralela e Distribuída Prof. Cidcley T. de Souza Conteúdo Parte I Introdução aos Sockets Tipos de Sockets Classes Java: InetAddress, Datagram Sockets, Stream Sockets, Output e Input Classes
Programação com Sockets
Programação com LP4 Ciência da Computação 1 Comunicação entre processos Nível mais baixo É um tipo particular de modelo de programação em redes utilizado em várias linguagens como: C, C++ e Java São estruturas
Redes de Computadores II. Programação com Sockets em Python
v.2016 Redes de Computadores II Programação com Sockets em Python Prof. Ricardo Couto A. da Rocha [email protected] UFG Regional de Catalão Camada de Transporte Arquitetura TCP/IP APLICAÇÃO TRANSPORTE REDE
Sistemas Distribuídos Java Sockets
Sistemas Distribuídos Java Sockets Departamento de Informática, UFMA Graduação em Ciência da Computação Francisco José da Silva e Silva 1 Introdução a Java Sockets Socket é o ponto final de um enlace de
Utilização das classes Java para comunicação TCP/IP e UDP/IP
Utilização das classes Java para comunicação TCP/IP e UDP/IP Programação com Objetos Distribuídos (C. Geyer) Java Sockets 1 Autor Autores Local Cláudio Geyer Maurício Lima Pilla Instituto de Informática
Programação Orientada por Objectos com Java. Ademar Aguiar. www.fe.up.pt/~aaguiar [email protected]. MRSC, Programação em Comunicações
Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar [email protected] 1 Java Networking java.net.* 141 Package java.net Java dispõe de diversas classes para manipular e processar informação
Sistemas Distribuídos
Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Introdução: Sockets Para estabelecer a Comunicação Interprocesso nos Sistemas Distribuídos,
Programação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn.
Programação em Rede Baseada em Java Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn.br/~affonso/cursos Definiçõs Básicas Uma rede é um conjunto de computadores
PROGRAMAÇÃO COM SOCKETS
unidade I Tecnologias de Redes de Computadores PROGRAMAÇÃO COM SOCKETS Olá! Na aula de hoje, faremos um estudo sobre sockets. Esta aula fornecerá uma boa base de como sockets são utilizados para a transmissão
Network Programming. Conceitos Básicos A classe InetAddress Programação de Socket TCP Programação de Socket UDP
Network Programming Conceitos Básicos A classe InetAddress Programação de Socket TCP Programação de Socket UDP Conceitos Básicos Internet e seus serviços TCP/IP IP UPD vs TCP InetAddress Classe usada para
Capítulo IV Comunicação entre processos
From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley 2001 Applications, services RMI and RPC request-reply protocol marshalling and external data representation
Programação com sockets (em Java)
com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission
Sistemas Distribuídos
Sistemas Distribuídos Aula 5 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Estrutura básica Uma aplicação
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ SOCKETS UDP, TCP E MULTICAST. Prof. Cesar Augusto Tacla
PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ SOCKETS UDP, TCP E MULTICAST Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla Sumário 1. Introdução a. Contexto: comunicação inter-processos
socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets
Programação de Sockets Mário Meireles Teixeira. UFMA-DEINF Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando s API de Sockets: introduzida no UNIX
Passagem de Mensagens
Passagem de Mensagens Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 22 de novembro de 2011 Francisco Silva (UFMA/LSD)
Computação Distribuída
Roteiro da aula Sockets 1. UDP (User Datagram Protocol) 2. TCP ( (Transmission Control Protocol) 3. IP Multicast Invocação de Método M Remoto usando CORBA 1. Introdução 2. Modelo de Objeto 3. Entender
Aula de Socket. Rafael De Tommaso do Valle
Aula de Socket Rafael De Tommaso do Valle 20 de agosto de 2009 Socket O que é um socket? É uma interface com qual processos em diferentes hosts se comunicam através da rede; Também chamado de interface
Programação de Sockets
Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets Socket API introduzida no BSD4.1 UNIX, 1981 explicitamente criados, usados e liberados
Redes de Computadores. Protocolos TCP/IP
Redes de Computadores Protocolos TCP/IP Sumário 2! Endereços IP (lógicos) Sub-redes! Endereços Ethernet (físicos)! Conversão de endereços IP/Ethernet! Pacotes IP! Números de portos! Segmentos UDP! Segmentos
Sockets em Java. Leonardo R. Nunes - [email protected]. 1. Introdução. 2. Sockets TCP/IP
Sockets em Java Leonardo R. Nunes - [email protected] 1. Introdução A comunicação entre processos de software tornou-se indispensável nos sistemas atuais. O mecanismo mais utilizado atualmente para
Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens
Roteiro... Conceitos de SD, vantagens e desvantagens Infra-estrutura de um SD Considerações de projeto Sistemas Distribuídos Aula 4 Karine de Pinho Peralta Modelos de Comunicação - comunicação entre processos
INF01018 Aula Prática 1 Cliente-Servidor e Multicast
1 / 30 INF01018 Aula Prática 1 Cliente-Servidor e Multicast Lucas Mello Schnorr, Alexandre Silva Caríssimi {lmschnorr,asc}@inf.ufrgs.br http://www.inf.ufrgs.br/ lmschnorr/ad/ INF01018 Sistemas Operacionais
Redes de computadores e a Internet. Prof. Gustavo Wagner. A camada de rede
Redes de computadores e a Internet Prof. Gustavo Wagner Capitulo Capítulo 4 A camada de rede NAT: Network Address Translation resta da Internet 138.76.29.7 10.0.0.4 rede local (ex.: rede doméstica) 10.0.0/24
Comunicação entre processos
Comunicação entre processos Processo: um programa em execução num sistema terminal (host) Processos em sistemas distintos comunicam trocando mensagens Processo Cliente: processo que inicia a comunicação
Sockets. André Restivo. April 29, Faculdade de Engenharia da Universidade do Porto. André Restivo (FEUP) Sockets April 29, / 27
Sockets André Restivo Faculdade de Engenharia da Universidade do Porto April 29, 2013 André Restivo (FEUP) Sockets April 29, 2013 1 / 27 Sumário 1 Introdução 2 Cliente/Servidor 3 API C++ 4 André Restivo
Comunicação entre Processos
Comunicação entre Processos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Introdução Comunicação entre Processos: Soquetes Comunicação por datagrama UDP Comunicação
Sockets com Java Parte I
Sockets com Java Parte I Neste artigo veremos como desenvolver aplicações em Java que podem comunicar-se via rede local ou via internet, usando sockets. Leia mais em: Sockets com Java Parte I http://www.devmedia.com.br/sockets-com-java-parte-i/
Protocolos de Rede. Protocolos em camadas
Protocolos de Rede Prof. Alexandre Beletti Protocolos em camadas Existem protocolos em diferentes camadas dos modelos de estudo (OSI e TCP/IP) Lembre-se de diferencias tipos de programas de tipos de protocolos
Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)
Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private
Sockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets
Sockets - Conceitos Básicos COMUNICAÇÃO ENTRE PROCESSOS Sockets! Sockets são uma forma de IPC (InterProcess Communication ) fornecida pela 4.3 BSD que fornecem comunicação entre processos residentes em
Mecanismos de Comunicação. Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/)
Mecanismos de Comunicação Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/) Sockets o que é? Um socket é um mecanismo de comunicação (dois sentidos) entre dois programas a funcionar
Programação de sockets com TCP
Programação de sockets Objetivo: aprender a construir aplicações cliente-servidor que se comunicam usando sockets SOCKET = API (Application Program Interface) Introduzida no BSD4.1 UNIX, 1981 * Explicitamente
Resolução de Endereços: ARP
Resolução de Endereços: ARP Instituto Superior de Engenharia de Lisboa Departamento de Engenharia de Electrónica e Telecomunicações e de Computadores Redes de Computadores Protocolo ARP Objectivo Mapeamento
Reader e Writer para streams de caracteres (texto).
Folha 1-1 Recordando POO: Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo
FUNDAMENTOS DE REDES DE COMPUTADORES Unidade IV Camada de Rede. Luiz Leão
Luiz Leão [email protected] http://www.luizleao.com Conteúdo Programático 4.1 Protocolo IP 4.2 Endereçamento IP 4.3 Princípios de Roteamento Introdução O papel da camada de rede é transportar pacotes
Protocolos da camada de redes. Professor Leonardo Larback
Protocolos da camada de redes Professor Leonardo Larback Protocolos da camada de redes Na camada de redes (modelo OSI) operam os protocolos IP, ARP, RARP, ICMP etc. Em conjunto a esses protocolos, abordaremos
FUNDAMENTOS DE REDES DE COMPUTADORES. Lista de Exercícios AV2-01. Luiz Leão
Luiz Leão [email protected] http://www.luizleao.com Questão 01 Quais dos protocolos abaixo pertencem a camada de aplicação? a) FTP, POP3, UDP b) TCP, SMTP, FTP c) FTP, UDP, HTTP d) HTTP, FTP, SMTP e)
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
INFO ARQ REDES. Prova 2 Bimestre. Obs: Questões RASURADAS são consideradas como ERRADAS GABARITO
INFO3 2018.1 ARQ REDES Prova 2 Bimestre Obs: Questões RASURADAS são consideradas como ERRADAS GABARITO NOME: MATRÍCULA: Q U E S T Õ E S O B J E T I V A S (Valor de cada questão: 0,7 pts) 1. [ExAEx] Não
Programação de Sockets
Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets API de Sockets introduzida no BSD4.1 UNIX, 1981 sockets são explicitamente criados, usados
AULA 3 - REDES. Prof. Pedro Braconnot Velloso
AULA 3 - REDES Prof. Pedro Braconnot Velloso Resumo da última aula Começo da Internet Princípios básicos Comutação pacotes x circuitos Protocolos Arquitetura em camadas Arquitetura TCP/IP APLICAÇÃO TRANSPORTE
Redes de Computadores e a Internet
Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2010 Capítulo 4:
15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado
Aplicações distribuídas: interação entre partes Processamento Paralelo Middleware Orientado a Objetos Prof. João Paulo A. Almeida ([email protected]) Rede A Rede B Rede C 2015/01 - INF02799 Sistema
Volnys Bernal 1. Trabalho Chat UDP. PSI 2653 Meios Eletrônicos Interativos I
2007-2017 Volnys Bernal 1 Trabalho PSI 2653 Meios Eletrônicos Interativos I 2007-2017 Volnys Bernal 2 Objetivo: Desenvolvimento de um programa chat UDP (cliente e servidor) Grupo Cada grupo deve escolher
ALOCAÇÃO DINÂMICA DE MEMÓRIA
INE5408 Estruturas de Dados Semestre 2008/1 Prof. Leandro J. Komosinski ALOCAÇÃO DINÂMICA DE Memória de Computador 1 byte = 8 bits (ex.: 00100110) 1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB Meu computador
Num sistema de objectos distribuídos, dois conceitos são fundamentais.
Folha 9-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
Redes de Computadores e Aplicações
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Redes de Computadores e Aplicações Aula 13 - Camada de Aplicação Visão Geral Prof. Diego Pereira
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Redes de Computadores
Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de
Exercício Programa Mini Web Server
2004-2017 Volnys Bernal 1 Exercício Programa PSI 2653 Meios Eletrônicos Interativos I 2004-2017 Volnys Bernal 2 Objetivo Desenvolvimento de um programa servidor WEB Composição do grupo 4 pessoas (obrigatório)
Sistemas Operacionais - Básico e Avançado - Prof. Celso Maciel da Costa Mestrado em Informática - PUCRS
Sistemas Operacionais - Básico e Avançado - Prof. Celso Maciel da Costa Mestrado em Informática - PUCRS Processo Usuário Processo Usuário SO IPC em um mesmo sistema 2 Processo Usuário Processo usuário
TRANSPORTE. Prof. Me. Hélio Esperidião
TRANSPORTE 1 Prof. Me. Hélio Esperidião DEFINIÇÃO Na arquitetura OSI, o serviço de transporte é realizado pela camada quatro. A camada de transporte fornece serviços à camada superior - de sessão Utiliza-se
Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol
Protocolos TCP e UDP Transmission Control Protocol Protocolo de transporte orientado à conexão. Transferência de dados confiável fim-a-fim recuperação de dados perdidos, duplicados organização dos dados
Programação Java (nível intermediário) 4. Polimorfismo
Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo
