Prof V Vargas, I S T Pg 1/97

Tamanho: px
Começar a partir da página:

Download "Prof V Vargas, I S T Pg 1/97"

Transcrição

1 Prof V Vargas, I S T Pg 1/97

2 Prof V Vargas, I S T Pg 2/97

3 Prof V Vargas, I S T Pg 3/97 Introdução a TCP / UDP {TCPIntroduction.doc} O objectivo da infra-estrutura da Internet é viabilizar aplicações distribuídas entre computadores e outros dispositivos - interligados por uma rede ou por várias redes interligadas entre si. Entre essas aplicações, contam-se: o Correio Electrónico, o acesso a Documentos da Web, a Transferência de ficheiros, o acesso a Máquinas remotas, a Compra em lojas electrónicas, etc A generalidade dessas aplicações manifesta requisitos comuns, como sejam: a robustez contra eventuais falhas da Rede, a sua disponibilidade mesmo aquando de elevado tráfego na Rede... Já outras aplicações, como seja a comunicação de áudio ou vídeo em tempo real, têm outras exigências Há que evitar aos desenhadores dessas aplicações o gastar tempo a reinventar a roda como seja conceber e codificar procedimentos de recuperação de eventuais erros nos Dados recebidos; pelo que, logo nos primórdios da comunicação entre computadores, foram concebidos dois protocolos, a saber: - TCP (Transmission Control Protocol, cfr RFC Sep 1981); - UDP (Unreliable Data Protocol, cfr RFC 768). Eles constituem a plataforma de base da Internet: o desenhador de uma aplicação distribuída sabe que já existe uma biblioteca de procedimentos (library) que, em particular, o liberta quase plenamente da preocupação com eventuais falhas. Pelo que faz sentido dedicar algum tempo àqueles dois protocolos. E exactamente o que será feito nas linhas seguintes. Designando de Entidade-TCP/UDP (ou, mais abreviadamente, Entidade) o hardware/software que em cada máquina materializa essa plataforma, a questão a abordar é: como funciona ela? como é o diálogo entre duas Entidades, sejam W e E, recorrendo a tais protocolos? e quais as interacções, em cada máquina, com os níveis adjacentes Superior/Utilizador(Aplicação) e Inferior/Nível-Rede(IP)? Sumário das características de TCP e UDP: São, ambos, protocolos do nível transporte (host-to-host, end-to-end) - no sentido de que providenciam uma plataforma de comunicação entre processos correndo entre máquinas distintas. A comunicação de Dados é feita através do encapsulamento dos respectivos octetos em Segmentos; que são enviados em ambas as direcções, eventualmente em simultâneo. Em ordem a proporcionar o acesso concorrente à Rede por parte dos vários processos correndo na máquina, ambos providenciam a multiplexagern da comunicação de Dados através do, em geral, único endereço-ip que lhe foi atribuído. Para tal, ambos providenciam um conjunto de Portos. Alguns deles estão pré-reservados para Aplicações específicas - mormente aquelas que mais frequentemente são usadas; ao menos para algumas delas (ex.: Correio Electrónico, Acesso à Web), eles são públicos. Cada par endereço-ip/porto é designado de socket. Um processo de Aplicação que queira aceder à Rede (através de TCP e/ou UDP) fá-lo sempre através de um socket. Nem TCP nem IIDP são picuinhas nos requisitos ao nível inferior: ambos aceitam um serviço de transporte de datagramas, isto é: susceptível a erros, perdas, duplicados e falhas na sequencialidade. Mas existem diferenças entre TCP e UDP... TCP providencia a comunicação de um fluxo contínuo de octetos de Dados que o transmissor encapsula em Segmentos a seu bel-prazer. TCP providencia uma comunicação robusta contra eventuais erros nas Redes; isto é, recupera de eventuais erros, incluindo perdas, duplicados ou falhas na sequencialidade nos Segmentos recebidos; e providencia controlo de fluxo, isto é: permite ao destino limitar o ritmo a que a fonte lhe envia Dados. No sentido de lograr tais controlos, TCP e orientado à conexão, isto é, subentende um princípio, um meio e um fim; no entrementes, inicializa e actualiza as variáveis de estado pertinentes a esses controlos. Uma conexão-tcp (ou, mais abreviadamente, conexão) é identificada por um par de sockets, um em cada máquina. Pelo que, através de um dado socket e ancorando-se em sockets remotos distintos! - poderão estar estabelecidas várias conexões. UDP, ao invés, é um protocolo não-orientado à conexão; procura servir o pedido de entrega de dados o melhor que lhe for possível, mas não providencia nem controlo de erro nem controlo de fluxo nem controlo de congestão.

4 Prof V Vargas, I S T Pg 4/97

5 Prof V Vargas, I S T Pg 5/97 Berkeley Sockets {BerkeleySockets.doc} Considere o leitor dois Programas de Aplicação, correndo em duas máquinas distintas, em vias de trocar dados entre si. A um deles, cabe a responsabilidade de iniciar a comunicação; ao outro, a de lhe responder favoravelmente; após o que trocarão os dados que entenderem Dados os papéis relativos assumidos no começo da conversação, e sem perda de generalização, será pacífico designá-los, respectivamente, de Cliente e Servidor. Que estratégia seguir em ordem a proporcionar a comunicação entre ambos? Eis uma constatação inicial: vista do interior de um qualquer daqueles Programas, a operação de enviar dados ao parceiro remoto assemelha-se à escrita em um ficheiro local: em ambos os casos, trata-se de "pegar" em dados no espaço RAM coberto pelo Programa e de os exportar para o exterior - para um ficheiro em disco ou para uma máquina remota Esta semelhança sugere naturalmente o seguinte: 1) tal como a escrita em um ficheiro envolve um descritor (obtido por fp=fopen()), assim será expectável associar à comunicação de dados um descritor para acompanhar a sua evolução; 2) e tal como, para designar esse ficheiro, se requere um pathname, assim para caracterizar o destino remoto se torna imprescindível uma identificação apropriada. Que "tijolos" deverão fazer parte dessa identificação "de um destino remoto"? Em primeiro lugar, é claro, o endereço-ip da máquina em que ele reside: a Rede precisa dele para encaminhar os dados até ela Mas ele nem sempre chega: poderão co-existir naquela máquina-destino vários processos correndo em simultâneo - e é preciso identificar com precisão a qual deles se destinam os dados que vão chegando da Rede: deverão os dados ser passados ao Servidor de Páginas-Web, ou ao Servidor de Correio-Electrónico, ou ao Servidor de Transferência-de- Ficheiros, ou a quê mais? Convirá então, ao menos, ter em conta também a qual desses Programas devem os dados ser entregues. O software maioritariamente usado na Internet para materializar estes conceitos dá pelo nome de Berkeley: o desenhador de uma aplicação distribuída sabe que já existe uma biblioteca de procedimentos (library) do Sistema Operativo que, em particular, o liberta quase totalmente da preocupação com eventuais falhas. Neste, o identificador dos recursos de comunicação (do nível Transporte) dá pelo nome de socket; e a discriminação, no seio de uma máquina, da fonte/destino dos dados, é um número inteiro que dá pelo nome de Porto. Considerados dois Programas em vias de comunicação, há naturalmente que ter em conta dois pares endereço- IP/Porto: - o par endereço-ip/porto que identifica o Cliente; - o par endereço-ip/porto que identifica o Servidor. Os endereços-ip tornam possível à Rede encaminhar os dados até à máquina onde reside o destino (Cliente ou Servidor) dos dados enviados; quanto aos Portos, eles discriminam, no seio da máquina onde aportarem esses dados, ao menos qual o Processo a que enfim devem ser entregues. Um Processo poderá, pelo mesmo Porto, comunicar com mais que um Processo remoto correndo na mesma máquina ou em máquinas distintas. Chegados a este ponto, é hora de generalizar o horizonte de reflexão: tal como um mesmo Programa pode aceder a vários ficheiros em simultâneo, cada qual com o seu descritor, assim ele pode comunicar com vários parceiros remotos "em simultâneo", através de vários sockets: 1) Por um lado, um mesmo Servidor poderá estar sendo acedido "em simultâneo" por vários Clientes (por exemplo, vários PCs geograficamente dispersos acedendo a uma Caixa-de-Correio comum). É óbvio que o par endereço-ip/porto do Cliente proporciona ao Servidor o conhecimento de qual a origem da informação submetida e, portanto, e se fôr caso disso, a quem, entre todos aqueles Clientes, devolver a subsequente réplica 2) Por outro lado, poderá um mesmo Cliente estar acedendo a vários Servidores "em simultâneo" (por exemplo, um computador acedendo, por difusão, aos Agentes de um Sistema-de-Informação distribuído). É óbvio que o par endereço-ip/porto do Servidor proporciona ao Cliente o conhecimento de qual o Servidor responsável pela réplica recebida.

6 Prof V Vargas, I S T Pg 6/97

7 Prof V Vargas, I S T Pg 7/97 Sockets UDP {UDPSockets.doc} Um serviço providenciado pela biblioteca de primitivas Berkeley-Sockets é o assim denominado UDP. No que se segue, abordam-se as etapas a cumprir na troca da informação entre dois parceiros suportada em sockets- Berkeley UDP; isso será feito acompanhando o diagrama temporal da figura Como se patenteia, ela envolve cinco primitivas, a saber: socket, bind, sendto, recvfrom e close. Socket: Previamente ao envio/recepção de dados, ambos - Programas Cliente e Servidor - têm que reservar (temporariamente) os recursos precisos. Fá-lo-ão invocando socket. Eis o modo comum de o fazer: UDPSock = socket ( PF_INET, SOCK_DGRAM, 0 ) ; Em caso de sucesso, é devolvido um valor inteiro, dito socket-udp, que identifica tais recursos - e, por conseguinte, a ser usado nas subsequentes primitivas. Note-se que (ao invés de fopen, que abre um ficheiro para escrita ou leitura) socket remete para um recurso que é full-duplex, isto é: que serve tanto para envio como para recepção de dados; e note-se também que (ao invés de fopen ("w"), que abre um ficheiro para escrita exclusiva por um Programa) a um Programa basta um único socket-udp para envio/recepção "em simultâneo" para/de quaisquer outros sockets-udp na Rede. Bind: Considere-se o caso particular do Servidor invocando a primitiva socket O valor de retorno é conhecido apenas dele mesmo: ninguém mais o conhece! Isso levanta uma questão: como pode o Cliente aceder-lhe, isto é: como pode ele indicar à infra-estrutura das comunicações o destino preciso dos dados que envia? Eis a resposta: o Servidor tem que tornar público, como que em uma lista telefónica, um identificador que o caracterize com exactidão (concretamente, o par endereço-ip/porto que o identifica); ademais, necessita associar dinâmicamente, ao socket previamente logrado, esse identificador. Para tal, deverá invocar bind. Simbolicamente, eis como: struct sockaddr_in Name = { AF_INET, INADDR_ANY, Port ) ; RetVal = Bind ( UDPSock, & Name, ) ; Em caso de sucesso (RetVal 0), subsequentes Dados recebidos na máquina, que venham endereçados ao Port referido, são passados, através de UDPSock, ao Programa em causa. SendTo: Para enviar dados, bastará verter em um buffer os dados a enviar e invocar sendto, passando como parâmetros: um apontador para esse Buffer, o respectivo comprimento útil e ainda o par endereço-ip/porto que identifica o destino desses dados. Simbolicamente, eis como: struct sockaddr_in Destin = { AF_INET, endereço-ip, Port ) ; /* Preenchimento de Data, resultando um comprimento total de DataSize octetos */ RetVal = sendto ( UDPSock, Data, DataSize, 0, & Destin, ) ; Em caso de sucesso, a Rede encarregar-se-á de transportar esses dados até à máquina com o endereço-ip assinalado; aí, serão entregues ao Programa que executou Bind com o Porto assinalado. RecvFrom: Para receber dados que cheguem da Rede, o Programa deve invocar recvfrom, passando como parâmetros: apontadores para um Buffer de recepção e para uma área, Source, a ser preenchida com o par endereço-ip/porto que identifica a fonte desses dados. Simbolicamente, eis como: RetVal = recvfrom ( UDPSock, Buffer, UbBufferSize, 0, & Source, ) ; O Programa pode aguardar uma interrupção apropriada (mediante a qual a máquina notifica o Programa de que tem dados a passar através do socket destino), para, só então, invocar recvfrom. Close: Enfim, o Programa deverá libertar os recursos envolvidos, invocando close.

8 Prof V Vargas, I S T Pg 8/97

9 Prof V Vargas, I S T Pg 9/97 Segmentos UDP {UDPSegments.doc} A figura esquematiza o formato de um Segmento-UDP, cfr RFC 768. Dele, constam, sucessivamente: um Cabeçalho de quatro pares de octetos e um campo final de Dados "do utilizador". Eis os campos que compõem o cabeçalho: PortoDestino (um par de octetos): Destina-se a viabilizar, à Entidade-UDP remota - à qual é entregue o Segmento -, o encaminhar o Segmento até ao processo (mais precisamente, socket) a que ele de facto ultimamente se destina. Porto Fonte (um par de octetos): O campo pode ser posto a zeros. Se o não estiver, visa proporcionar, ao processo destino do Segmento, a identificação da origem deste; e, por conseguinte, e na ausência de outra informação, o processo (mais precisamente, socket) a que, se fôr o caso, deverá ser devolvida alguma eventual réplica a esse Segmento. Comprimento do Segmento (um par de octetos): Contém o comprimento total do Segmento, isto é: incluindo Cabeçalho e Dados. Check-Sum (um par de octetos): Visa proporcionar algum grau de fiabilidade à comunicação (cfr. RFC 1071). Eis a forma de cálculo (a seguir na origem): determinar o complemento-para-1 da soma em complemento-para-1 de todas as palavras de 16 bit do Segmento, prefixado por um Pseudo-Cabeçalho (cfr. adiante); se o resultado der 0..0, é considerado ser Na Entidade destino, a soma em complemento-para-1 de todas as palavras do Segmento (e Pseudo-Cabeçalho) deve resultar em 1 1. Se não der este resultado, o Segmento é considerado estando errado; todavia, a Entidade não procede a nenhuma recuperação de erro (por ex., via solicitação da retransmissão desse Segmento): o que fazer em semelhante ocorrência, cabe à Aplicação decidir O Pseudo-cabeçalho, que visa prevenir a entrega errada dos Segmentos, é extraído do Cabeçalho do Datagrama-IP: inclui os endereços fonte e destino, o campo Protocolo (por ex., 21 8 ) e o Comprimento do Segmento UDP. Se o Segmento não contiver um múltiplo de palavras de 16 bits, é, para efeitos de cálculo da CheckSum, acrescentado (padded) com zeros no fim do Segmento. Conforme aos requesitos da Aplicação em causa, a Entidade pode colocar a Check-Sum a Apreciação final: Como se patenteia, UDP reduz-se, grosso modo, a IP com dois Portos para prover a função de multiplexagem. Pelo que os Segmentos têm uma estrutura muito simples, o overhead reduz-se ao mínimo indispensável: em particular, não existem, no seu formato, campos de numeração: quer dizer que, na definição do serviço a prestar, não se teve em mente levar por diante recuperação de erros e proceder a controlo de fluxo e congestão. Na prática, os Segmentos poderão chegar ao destinatário por ordem diferente daquela por que foram transmitidos; poderão chegar duplicados ou até nem chegar e, a acontecer tais eventualidades, não há qualquer obrigação em disso alertar os Processos de Aplicação! Existem Aplicações que toleram esta Qualidade de Serviço mínima. Exemplos, são-no: a Gestão de Redes de Computadores, o Domain-Name-System, Aplicações em tempo real (como sejam Audio e Video, unicast ou multicast onde o acento é o tempo). Mas a esmagadora maioria das Aplicações requere níveis de Qualidade de Serviço bem maiores. Pense o leitor em Aplicações Financeiras, em Correio Electrónico, Transferência de Ficheiros, Navegação na Web Para estas e outras Aplicações, o ideal seria: que aquilo que é transmitido para a Rede seja recebido tal e qual, sem quaisquer erros Para elas, existe um outro Serviço, e um outro Protocolo, a saber: TCP, Transmission Control Protocol. É a ele que serão dedicadas as páginas seguintes deste texto.

10 Prof V Vargas, I S T Pg 10/97

11 Prof V Vargas, I S T Pg 11/97 Sockets TCP - I {TCPSockets.doc} Um serviço providenciado pela biblioteca de primitivas Berkeley-Sockets é o assim denominado TCP (cfr RFCs 793, 854, 1106, 1122, 1323, 2018, 2581, 3168). No que se segue, abordam-se as etapas a cumprir na troca da informação entre dois parceiros suportada em sockets-berkeley TCP; isso será feito acompanhando o diagrama temporal da figura Constata-se que ela envolve oito primitivas: socket, bind, listen, connect, accept, write, read e close. Antes, todavia, de avançar, quiçá valha a pena um relance ao acesso telefónico ao IST: quando alguém longíquo deseja telefonar a alguém no interior do IST, começa, primeiro, por marcar o número telefónico geral do IST ( ); quando a simpática telefonista o atender, "soletra-lhe" o número da extensão com que pretende falar; a telefonista procede então ao re-encaminhamento da chamada; doravante, os telefones exterior e interior ao IST estão directamente conectados: no que lhes diz respeito, está concluído o papel da telefonista. Quer dizer: no IST, há um telefone (o da telefonista), para uma função especial: aguardar por sinais vindos de algum telefone exterior ao IST, e proceder à sua conexão com a extensão requerida. Prevendo a eventualidade de vários Clientes pretenderem comunicar em simultâneo com um dado Servidor, o software Berkeley para TCP recorre a um funcionamento análogo: no Servidor, existe um socket especial dedicado a uma função especial: aguardar pedidos provenientes da Rede, e proceder ao estabelecimento da correspondente conexão Entre cada Cliente e o Servidor, a comunicação desenrola-se então em três fases: uma primeira de estabelecimento de conexão (handshake), uma segunda de transferência de dados, e uma terceira de terminação da conexão. Socket: Previamente ao envio/recepção de dados, ambos - Programas Cliente e Servidor - têm que reservar (temporariamente) os recursos precisos. Fá-lo-ão, invocando socket. Eis o modo comum de o fazer: TCPSock = socket ( PF_INET, SOCK_STREAM, 0 ) ; Em caso de sucesso, é devolvido um valor inteiro, dito socket-tcp, que identifica tais recursos - e, por conseguinte, a ser usado nas subsequentes primitivas. Tal como ocorre com sockets-udp, os socket-tcp são fullduplex, isto é: servem tanto para envio como para recepção de dados. Bind: Como já se discutiu a propósito de sockets-udp, e para que potenciais Clientes lhe possam aceder, o Servidor deve invocar bind: struct sockaddr_in Name = { AF_INET, INADDR_ANY, Port ) ; RetVal = Bind ( TCPSock, & Name, ) ; Em caso de sucesso (RetVal 0), subsequentes Dados recebidos na máquina, que venham endereçados ao Port referido, são passados ao Programa em causa. Listen: No Servidor, o socket assim criado e associado a um Porto é reservado para a utilização especial já acima mencionada: aguardar por pedidos de conexão provenientes da rede. Para o efeito, o Servidor deve invocar listen. Eis como: RetVal = listen ( TCPSock, ) ; Em caso de sucesso (RetVal 0), subsequentes pedidos de conexão recebidos na máquina, que venham endereçados ao Port referido, são passados, através de TCPSock, ao Programa em causa.

12 Prof V Vargas, I S T Pg 12/97

13 Prof V Vargas, I S T Pg 13/97 Sockets TCP - II {TCPSockets.doc} Eis o cenário a que arribaram as etapas precedentes: - no Cliente, existe um socket, que se poderá designar de ClientSock; - no Servidor, existe um socket, que, dado a sua função especial, se poderá designar de ListenSock. Está tudo pronto para se proceder ao estabelecimento de uma conexão entre ambos, se trocarem dados e enfim terminarem a conexão. Connect: Previamente ao envio de dados, um Cliente necessita estabelecer uma conexão com o Servidor. Fá-lo invocando connect, passando como parâmetro o par endereço-ip/porto que identifica o Servidor: struct sockaddr_in Destin = { AF_INET, endereço-ip, Port ) ; RetVal = connect ( ClientSock, & Destin, ) ; A Rede encarregar-se-á de transportar o pedido de conexão até à máquina com o endereço-ip referido; aí, são entregues ao Servidor pelo ListenSock. Se o pedido fôr aceite, a Rede encarregar-se-á de o assinalar ao Cliente, mais precisamente no ClientSock. Só então o connect assinalará sucesso (Se o Servidor não houver ainda executado listen, ele devolve Nack podendo eventualmente aguardar um pouco antes de se decidir a fazê-lo) Accept: O pedido de conexão pode, ou não, ser aceite pelo Servidor. Ele manifesta a sua disposição em o aceitar invocando, em tempo oportuno, accept. Eis como: UserSock = accept ( ListenSock ) ; Um eventual pedido de conexão que chegue ulteriormente será aceite. Em termos práticos, é criado um novo socket-tcp, dito UserSock; e, fica estabelecida uma conexão entre esse UserSock e o ClientSocket do Cliente responsável do connect que o Servidor está aceitando. Realce-se: entre os dois sockets, ClientSock e UserSock, pode, num dado momento, estar em curso uma e uma só conexão; mas, ancoradas a um mesmo socket, poderão estar decorrendo várias conexões simultâneas. Após a sequência de primitivas connect/accept, ambos os Programas - Cliente e Servidor - podem trocar dados; fazem-no, um e outro, através das primitivas Write e Read: Write: Para enviar dados, bastará verter em um buffer os dados a enviar e invocar write, passando como parâmetros (além de Sock): um apontador para esse Buffer e o respectivo comprimento útil. Simbolicamente, eis como: /* Preenchimento de Data, resultando um comprimento total de DataSize octetos */ RetVal = write ( TCPSock, Data, DataSize) ; em que TCPSock se volve em UserSock ou ClientSock, conforme respectivamente write esteja sendo invocado no Servidor ou no Cliente; a Rede encarregar-se-á de transportar esses dados até, respectivamente, ClientSock e UserSock. Read: Para receber dados que cheguem da Rede, um Programa deve invocar read, passando como parâmetro um apontador para um Buffer de recepção. Simbolicamente, eis como: RetVal = read ( TCPSock, Buffer, UbBufferSize ) ; Em que de novo TCPSock se volve em UserSock ou ClientSock. O Programa pode aguardar um sinal apropriado (mediante o qual a máquina notifica o Programa de que tem dados a passar através do TCPSock), para, só então, invocar read. Close: Enfim, ambos os Programas deverão libertar os recursos envolvidos, invocando close ( TCPSock ) sobre os sockets que não mais sejam necessários: sobre UserSock ou ClientSock quando a conexão findar, e sobre o ListenSock quando não mais estiver disposto a aceitar pedidos de conexão.

14 Prof V Vargas, I S T Pg 14/97

15 Prof V Vargas, I S T Pg 15/97 Segmentos TCP {TCPSegments.doc} A figura esquematiza o formato de um Segmento TCP. Dele, constam um Cabeçalho, de ao menos 20 octetos, e um campo Dados, para veicular até um máximo de MessageSegmentSize (MSS) octetos "do-utilizador/da- Aplicação". Eis os campos que compõem o cabeçalho: PortoDestino (um par de octetos): Destina-se a viabilizar, à entidade TCP destino - a que a Rede entrega o Segmento -, o encaminhar o Segmento até ao processo (mais precisamente, socket) a que ele de facto ultimamente se destina. Porto Fonte (um par de octetos): Visa proporcionar, ao processo destino do Segmento, a identificação da origem do Segmento; e, por conseguinte, o processo (mais precisamente, socket) a que, se fôr o caso, deverá ser devolvida alguma eventual réplica a esse Segmento. Número de Sequência e Acknowledge de bytes (quatro octetos cada): Visa proporcionar recuperação de erros de transmissão, cfr páginas adiante. Comprimento do Cabeçalho-TCP, em palavras de 32 bit (um par de octetos): Flags (seis bit: URG, PSH, ACK, SYN, FIN e RST), cfr páginas adiante: São em geral postas a '0', as excepções são as seguintes: - SYN '1': apenas nos dois primeiros Segmentos trocados no estabelecimento da conexão; no que segue, tais Segmentos serão simbolicamente representados por Syn; - ACK '1' (significando que o campo Acknowledge é válido): a partir do segundo Segmento trocado numa conexão; no que segue, e se não contiverem quaisquer octetos de Dados, tais Segmentos - ditos vazios - serão simbolicamente representados por Ack; - FIN '1': apenas nos dois últimos Segmentos trocados na terminação da conexão; no que segue, serão simbolicamente representados por Fin) - RST '1': para indicar o reset de uma conexão, ou a rejeição de uma tentativa de estabelecimento de uma conexão, ou a recepção de um Segmento inválido; no que segue, tais Segmentos serão simbolicamente representados por Rst; Crédito / Janela de recepção (dois octetos): Visa proporcionar controlo de fluxo, cfr páginas adiante. Check-Sum (um par de octetos): Visa proporcionar algum grau de fiabilidade à comunicação entre ambas as entidades TCP. A forma de cálculo é a mesma seguida a propósito dos Segmentos UDP. Apontador à cauda dos Dados Urgentes (dois octetos) Adicionado ao Número de Sequência do primeiro octeto, designa o Número de Sequência do octeto a seguir aos Dados Urgentes ; é válido se URG=1. Opções (n octetos, cfr páginas adiante) Padding (sucessâo de 0 s para garantir que o comprimento do cabeçalho é múltiplo de 32-bit) Apreciação final: Como se patenteia, existem, no formato dos Segmentos TCP, campos de numeração: isso significa que, na definição do serviço a prestar, se teve em mente levar por diante recuperação de erros e proceder a controlo de fluxo (e congestão).

16 Prof V Vargas, I S T Pg 16/97

17 Prof V Vargas, I S T Pg 17/97 "Stream" de Octetos {OctetStream.doc} UDP é um protocolo orientado à Transacção: um dos interlocutores envia para a Rede um Segmento e, no destino, o Bloco de Octetos em que se volve o seu conteúdo "Dados" é entregue ao utilizador de-uma-vez-só. Ainda que, antes ou depois, aquele tenha transmitido algum outro Segmento UDP, são preservadas as fronteiras desses Blocos: as Entidades-UDP jamais procedem à concatenação de Segmentos-UDP consecutivos. Em poucas palavras: por cada sendto na origem, é necessário e suficiente um único recvfrom no destino Já TCP, por seu turno, é um protocolo orientado ao "Stream" de Octetos: o interlocutor fonte envia para a Rede um fluxo de Octetos, agregados em um ou vários Segmentos e, no destino, e à medida que aí aportam os Segmentos, o seu conteúdo "Dados" fica disponível para ser recolhido. Nem sempre existe uma correspondência um-a-um entre writes e Segmentos! Um Segmento pode resultar de um ou vários write Com o que um write da fonte pode volver-se em vários read no destino e vice-versa: para vários write na fonte poderá ser bastante um único read no destino Na figura, encontram-se esquematizadas algumas destas possibilidades: A) W invoca um único write, que dá origem a um único Segmento que se propaga até E e aí é recolhido com um único read B-E) W invoca vários write; a Entidade-TCP local concatena-os a todos em um único Segmento que se propaga até E e aí é recolhido com um único read Nota: a querer-se lograr uma maior eficiência no uso dos recurso da Rede, a concatenação figurada torna-se uma candidata natural; o custo é, é claro, o maior tempo de resposta ao nível da Aplicação F-J) W invoca vários write, que dão origem a outros tantos Segmentos que se propagam até E; quando o primeiro aí chega, vem a ser recolhido com um read; mas, quando chega a altura de invocar de novo read, já os restantes Segmentos chegaram: o seu conteúdo é lido de uma vez só Nota: a vantagem desta filosofia é clara: minimiza as interrupções exercidas sobre o Utilizador Isso ainda é mais notório se a Entidade-TCP fizer o seguinte: alerta o Utilizador para a disponibilidade de Dados somente após ter recebido um número "significativo" deles; o custo é, é claro, o maior tempo de resposta ao nível da Aplicação K) W invoca um único write, que dá origem a dois Segmentos que se propagam até E e aí são recolhidos com outros tantos read L-M) W invoca dois write; que dão origem a outros tantos Segmentos que se propagam até E - onde chegam por ordem diferente da inicial; a Entidade-TCP em E espera que chegue o primeiro, para só então sinalizar o utilizador, pelo que a ele basta um único read para recolher o conteúdo "Dados" emitido por W Resumidamente, TCP permite a comunicação unicast (entre dois pontos da Rede): não proporciona multicast nem broadcast. As fronteiras entre os Blocos em que a fonte fornece os Dados não são sempre preservadas. E o tempo de trânsito é variável, imprevisível, maior ou menor E realce-se que, por mor de simplicidade, não se entrou em linha de conta com a eventualidade de erros ou perdas na Rede Na vida real, isso acontece, é claro - mas, a este respeito, TCP traz boas notícias para as Aplicações: ele tem em curso medidas para a recuperação dessas anomalias Elas envolvem números de sequência, acknowledges, timeouts e retransmissões - e, portanto, mais tempo ainda A Dimensão dos Segmentos: Não se pode perder de vista a eficiência com que se usam recursos: computadores terminais, linhas e nós/gateways da Rede. A este respeito, convém reparar: Segmentos muito grandes originam fragmentação (e correspondente complexidade) ao nível-ip de outra parte, Segmentos pequenos levam a um desempenho assaz baixo: os protocolos IP-e-TCP acarretam um cabeçalho conjunto de pelo menos 40 octetos por cada conteúdo "Dados da Aplicação" Além de que é maior o tempo gasto pela CPU com cada Segmento. Daí o ocorrido aquando da invocação das operações K (uma fragmentação em vários Segmentos) e B-E ( uma concatenação em um único Segmento).

18 Prof V Vargas, I S T Pg 18/97

19 Prof V Vargas, I S T Pg 19/97 Push e Dados Urgentes {PushAndUrgent.doc} O diagrama temporal ultimamente apresentado realçou dois casos de espera da Entidade-TCP: - quando, após o Utilizador lhe ter requerido a transmissão de Dados para a Rede, a Entidade aguarda (um pouco) que ele lhe entregue mais Dados: em tal caso, ela poderá ir congregando-os a todos em um único Segmento - por conseguinte aumentando a eficiência do uso dos recursos da Rede; - quando, após a Rede lhe ter entregue Dados a transferir ao Utilizador, a Entidade aguarda (um pouco) que ela lhe entregue mais Dados: a vir isso a suceder, e tendo-os acumulado a todos em um único Buffer, bastará uma única interrupção para sinalizar a sua chegada - por conseguinte melhorando a eficiência do uso do processador da máquina Tal espera não é sempre benvinda: casos haverá em que convirá apressar a Entidade Para o efeito, TCP proporciona duas flags, a saber: Push e Urgent Data. Push: Como forma de requerer o envio imediato dos Dados por parte da Entidade, o Utilizador deve solicitá-lo adequadamente na primitiva write. A Entidade responde preenchendo "de imediato" um Segmento com os Dados ainda em espera, e fixando a On a flag Push. Na figura, encontra-se esquematizado este mecanismo: A-B) W invoca dois write, deixando à Entidade a decisão acerca do momento em que procederá ao envio para a Rede; no caso, ela envia-os aquando da invocação do segundo write D-F) W invoca quatro write, acompanhando o último deles com a solicitação do seu envio imediato para a Rede; a Entidade responde preenchendo um Segmento com os Dados em espera, e colocando a On a flag Push. D-F) W invoca quatro write, acompanhando o último deles com a solicitação do seu envio imediato para a Rede; a Entidade responde preenchendo de imediato um Segmento com os Dados em espera, e colocando a On a flag Push. G-J) W invoca quatro write, acompanhando o terceiro e o último deles com a solicitação do seu envio imediato para a Rede. Acontece que, aquando do terceiro write, a linha de saída para a Rede se encontra ocupada (busy), pelo que há que aguardar; após o quarto write, essa situação já se esvaneceu, pelo que a Entidade prossegue preenchendo um Segmento com os Dados em espera, e colocando a On a flag Push. Nota: na recepção de um Segmento com a flag Push a On, a Entidade destino deve passá-los ao Utilizadordestino de imediato; todavia, a sinalização de que a flag Push foi recebida a On, fica ao critério do programador da Entidade: ela pode, ou não, ser sinalizada. Ademais, não existe obrigação em lhe reportar o ponto exacto do fluxo de octetos em que o Utilizador-fonte invocou a função Push. Dados Urgentes: Em ordem a sinalizar à Entidade-destino Dados a processar rapidamente, o Utilizador deve solicitá-lo adequadamente na primitiva write. A Entidade local responde fixando a On a flag Urgent e designando, no campo Apontador à cauda dos Dados Urgentes, o termo dos dados urgentes; no destino, a Entidade reage alertando o Utilizador. Na figura, encontra-se esquematizado este mecanismo: K) W invoca um write sem requerer o mecanismo Urgent; a Entidade envia o correspondente Segmento No destino, a sua recepção não se faz acompanhar de nenhum alerta: os Dados são passados ao Utilizador quando este resolver por si "ver se já chegou algo" L ) W invoca um write requerendo o mecanismo Urgent; a Entidade envia o correspondente Segmento No destino, a sua recepção desencadeia de imediato um alerta ao Utilizador: ele pode de imediato invocar a primitiva read para os recolher

20 Prof V Vargas, I S T Pg 20/97

Redes de Computadores. Camada de Transporte

Redes de Computadores. Camada de Transporte Redes de Computadores Camada de Transporte Objetivo! Apresentar as características da camada de transporte da arquitetura TCP/IP! Apresentar os serviços fornecidos pela camada de transporte! Estudar os

Leia mais

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

Redes de Computadores. Trabalho de Laboratório Nº7 Redes de Computadores Curso de Eng. Informática Curso de Eng. de Electrónica e Computadores Trabalho de Laboratório Nº7 Análise do tráfego na rede Protocolos TCP e UDP Objectivo Usar o Ethereal para visualizar

Leia mais

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

Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II Qualidade em Servicos de Rede Prof. Eduardo Maronas Monks Roteiro de Laboratorio Camada de Transporte Parte II 1) Explicar os seguintes mecanismos e conceitos do protocolo TCP: 1. Slow Start O algoritmo

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II UDP Prof: Ricardo Luís R. Peres Tem como objetivo prover uma comunicação entre dois processos de uma mesma sessão que estejam rodando em computadores dentro da mesma rede ou não.

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

Capítulo 7 CAMADA DE TRANSPORTE

Capítulo 7 CAMADA DE TRANSPORTE Capítulo 7 CAMADA DE TRANSPORTE SERVIÇO SEM CONEXÃO E SERVIÇO ORIENTADO À CONEXÃO Serviço sem conexão Os pacotes são enviados de uma parte para outra sem necessidade de estabelecimento de conexão Os pacotes

Leia mais

Camada de Transporte. Protocolos TCP e UDP

Camada de Transporte. Protocolos TCP e UDP Camada de Transporte Protocolos TCP e UDP Protocolo UDP Protocolo de transporte da Internet sem gorduras Serviço best effort, segmentos UDP podem ser: perdidos entregues fora de ordem para a aplicação

Leia mais

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

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Número: Nome: Duração: 1 hora O teste é sem consulta O teste deve ser resolvido

Leia mais

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

6 de Julho de 2015. Exercício 23 Para que servem portas na camada de transporte? Lista de Exercícios Camada de Transporte GBC-056 Arquitetura de Redes de Computadores Bacharelado em Ciência da Computação Universidade Federal de Uberlândia 6 de Julho de 2015 Exercício 1 Para que serve

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Redes de Comunicações Capítulo 6.1

Redes de Comunicações Capítulo 6.1 Capítulo 6.1 6.1 - Técnicas de Comutação 1 WAN s Wide Area Networks Uma WAN é uma rede dispersa por uma grande área física, sob o controlo de uma administração única e baseada em circuitos dedicados (exemplo:

Leia mais

Camada de Transporte, protocolos TCP e UDP

Camada de Transporte, protocolos TCP e UDP Camada de Transporte, protocolos TCP e UDP Conhecer o conceito da camada de transporte e seus principais protocolos: TCP e UDP. O principal objetivo da camada de transporte é oferecer um serviço confiável,

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Técnicas de comutação Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Maio de 2006 WAN s Wide Area Networks Uma WAN é uma rede dispersa por uma grande área

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

A Camada de Transporte

A Camada de Transporte A Camada de Transporte Romildo Martins Bezerra CEFET/BA s de Computadores II Funções da Camada de Transporte... 2 Controle de conexão... 2 Fragmentação... 2 Endereçamento... 2 Confiabilidade... 2 TCP (Transmission

Leia mais

2 Controle de Congestionamento do TCP

2 Controle de Congestionamento do TCP 2 Controle de Congestionamento do TCP 17 2 Controle de Congestionamento do TCP A principal causa de descarte de pacotes na rede é o congestionamento. Um estudo detalhado dos mecanismos de controle de congestionamento

Leia mais

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

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Prof. Silvana Rossetto (DCC/IM/UFRJ) 1 13 de julho de 2010 Questões 1. Qual é a diferença fundamental entre um roteador

Leia mais

Redes de Computadores. Camada de Transporte de Dados: protocolos TCP e UDP Prof. MSc Hugo Vieira L. Souza

Redes de Computadores. Camada de Transporte de Dados: protocolos TCP e UDP Prof. MSc Hugo Vieira L. Souza Redes de Computadores Camada de Transporte de Dados: protocolos TCP e UDP Prof. MSc Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados para o todo ou quaisquer

Leia mais

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

4. Protocolos Teóricos e Protocolos de Controlo de Ligação Protocolos ARQ; Especificação de Protocolos; Eficiência ARQ. 4. Protocolos Teóricos e Protocolos de Controlo de Ligação Protocolos ARQ; Especificação de Protocolos; Eficiência ARQ. Redes de Comunicações/Computadores I Secção de Redes de Comunicação de Dados Protocolos

Leia mais

Capítulo 7 CAMADA DE TRANSPORTE

Capítulo 7 CAMADA DE TRANSPORTE Capítulo 7 CAMADA DE TRANSPORTE INTRODUÇÃO (KUROSE) A Camada de Rede é uma peça central da arquitetura de rede em camadas A sua função é a de fornecer serviços de comunicação diretamente aos processos

Leia mais

Introdução. Algumas terminologias. Camada de Enlace de Dados. Prof. Leandro Pykosz Leandro@sulbbs.com.br

Introdução. Algumas terminologias. Camada de Enlace de Dados. Prof. Leandro Pykosz Leandro@sulbbs.com.br Camada de Enlace de Dados Prof. Leandro Pykosz Leandro@sulbbs.com.br Introdução A função desta camada parece trivial, pois a máquina A coloca os bits no meio e a máquina B tem que retirar de lá, porem

Leia mais

Prof. Rafael Gross. rafael.gross@fatec.sp.gov.br

Prof. Rafael Gross. rafael.gross@fatec.sp.gov.br Prof. Rafael Gross rafael.gross@fatec.sp.gov.br Todo protocolo define um tipo de endereçamento para identificar o computador e a rede. O IP tem um endereço de 32 bits, este endereço traz o ID (identificador)

Leia mais

ELEMENTOS DE PROTOCOLOS DE TRANSPORTE. Fabricio Sousa

ELEMENTOS DE PROTOCOLOS DE TRANSPORTE. Fabricio Sousa ELEMENTOS DE PROTOCOLOS DE TRANSPORTE Fabricio Sousa Elementos de protocolos de transporte 2 Serviço de transporte implementado por um protocolo de transporte usado entre duas entidades de transporte Em

Leia mais

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre Exercícios de Revisão Redes de Computadores Edgard Jamhour Segundo Bimestre Exercicio 1: Considere a seguinte configuração de rede estruturada em VLANs 220.0.0.2/24 C VLAN 2 B VLAN 1 A VLAN 1 VLAN 1,2,3

Leia mais

3 Qualidade de serviço na Internet

3 Qualidade de serviço na Internet 3 Qualidade de serviço na Internet 25 3 Qualidade de serviço na Internet Além do aumento do tráfego gerado nos ambientes corporativos e na Internet, está havendo uma mudança nas características das aplicações

Leia mais

Um sistema SMS 1 simplificado

Um sistema SMS 1 simplificado 1 Introdução Um sistema SMS 1 simplificado Projecto de Redes de Computadores I - 2007/2008 LEIC IST, Tagus Park 10 de Setembro de 2007 Pretende-se com este projecto que os alunos implementem um sistema

Leia mais

Módulo 8 Ethernet Switching

Módulo 8 Ethernet Switching CCNA 1 Conceitos Básicos de Redes Módulo 8 Ethernet Switching Comutação Ethernet 2 Segmentação de Redes Numa Ethernet o meio de transmissão é compartilhado Só um nó pode transmitir de cada vez. O aumento

Leia mais

Redes de Computadores

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

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Protocolo é a linguagem usada pelos dispositivos de uma rede de modo que eles consigam se comunicar Objetivo Transmitir dados em uma rede A transmissão

Leia mais

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL Documento: Tutorial Autor: Iuri Sonego Cardoso Data: 27/05/2005 E-mail: iuri@scripthome.cjb.net Home Page: http://www.scripthome.cjb.net ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

Leia mais

Redes de Computadores (RCOMP 2014/2015)

Redes de Computadores (RCOMP 2014/2015) Redes de Computadores (RCOMP 2014/2015) Desenvolvimento de aplicações de rede UDP e TCP 1 Protocolo UDP ( User Datagram Protocol ) Tal como o nome indica, trata-se de um serviço de datagramas, ou seja

Leia mais

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

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor Comunicação em Sistemas Distribuídos Paradigma / Os processos em um SD estão lógica e fisicamente separados. Precisam se comunicar para que possam interagir O desempenho de um SD depende criticamente do

Leia mais

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Controle de Congestionamento Professor Rene - UNIP 1 Revisão... Segmento A unidade de dados trocada entre as entidades de transporte é denominada

Leia mais

Cliente-servidor com Sockets TCP

Cliente-servidor com Sockets TCP Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2006/2007 c 2000 2006 Paulo Sérgio Almeida Cliente-servidor com Sockets

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

Leia mais

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Informática I Aula 22 http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Critério de Correção do Trabalho 1 Organização: 2,0 O trabalho está bem organizado e tem uma coerência lógica. Termos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre

Leia mais

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

CCNA 2 Conceitos Básicos de Roteadores e Roteamento CCNA 2 Conceitos Básicos de Roteadores e Roteamento Capítulo 10 - TCP/IP Intermediário 1 Objetivos do Capítulo Descrever o TCP e sua função; Descrever a sincronização e o controle de fluxo do TCP; Descrever

Leia mais

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho. Entregue três questões de cada prova. Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

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

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP SMTP "Protocolo de transferência de correio simples (ou em inglês Simple Mail Transfer Protocol ) é o protocolo padrão para envio de e- mails através da

Leia mais

CAMADA DE TRANSPORTE

CAMADA DE TRANSPORTE Curso Técnico de Redes de Computadores Disciplina de Fundamentos de Rede CAMADA DE TRANSPORTE Professora: Juliana Cristina de Andrade E-mail: professora.julianacrstina@gmail.com Site: www.julianacristina.com

Leia mais

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação?

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação? Índice Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação? Como efectuar uma operação de confirmação de estimativas? Como aceder ao Serviço de Certificação

Leia mais

Aula 6 Modelo de Divisão em Camadas TCP/IP

Aula 6 Modelo de Divisão em Camadas TCP/IP Aula 6 Modelo de Divisão em Camadas TCP/IP Camada Conceitual APLICATIVO TRANSPORTE INTER-REDE INTERFACE DE REDE FÍSICA Unidade de Dados do Protocolo - PDU Mensagem Segmento Datagrama /Pacote Quadro 01010101010100000011110

Leia mais

Teleprocessamento e Redes

Teleprocessamento e Redes Teleprocessamento e Redes Aula 19: 29 de junho de 2010 1 camada de transporte camada de rede 2 Questão 1 (Kurose/Ross) camada de transporte camada de rede Um processo em um host C tem um socket UDP com

Leia mais

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet: Comunicação em uma rede Ethernet A comunicação em uma rede local comutada ocorre de três formas: unicast, broadcast e multicast: -Unicast: Comunicação na qual um quadro é enviado de um host e endereçado

Leia mais

Márcio Leandro Moraes Rodrigues. Frame Relay

Márcio Leandro Moraes Rodrigues. Frame Relay Márcio Leandro Moraes Rodrigues Frame Relay Introdução O frame relay é uma tecnologia de chaveamento baseada em pacotes que foi desenvolvida visando exclusivamente a velocidade. Embora não confiável, principalmente

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - MODELO DE REFERÊNCIA TCP (RM TCP) 1. INTRODUÇÃO O modelo de referência TCP, foi muito usado pela rede ARPANET, e atualmente usado pela sua sucessora, a Internet Mundial. A ARPANET é de grande

Leia mais

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

A máscara de sub-rede pode ser usada para dividir uma rede existente em sub-redes. Isso pode ser feito para: Fundamentos: A máscara de pode ser usada para dividir uma rede existente em "s". Isso pode ser feito para: 1) reduzir o tamanho dos domínios de broadcast (criar redes menores com menos tráfego); 2) para

Leia mais

Funções específicas de cada camada do modelo OSI da ISO.

Funções específicas de cada camada do modelo OSI da ISO. Funções específicas de cada camada do modelo OSI da ISO. 1ª Camada - Física - Grupo Rede Física Esta camada traduz os bits a enviar em sinais elétricos, de tensão ou corrente. Ela fornece os meios de hardware

Leia mais

DIFERENÇAS ENTRE HUB, SWITCH E ROOTER

DIFERENÇAS ENTRE HUB, SWITCH E ROOTER ESCOLA SECUNDÁRIA DE AROUCA CURSO OPERADOR DE INFORMÁTICA (2) Educação e Formação de Adultos DIFERENÇAS ENTRE HUB, SWITCH E ROOTER 1º PERÍODO Sara Matias ICORLI 2008/2009 Muita gente sabe que hub, switch

Leia mais

Capítulo 4 - Roteamento e Roteadores

Capítulo 4 - Roteamento e Roteadores Capítulo 4 - Roteamento e Roteadores 4.1 - Roteamento Roteamento é a escolha do módulo do nó de origem ao nó de destino por onde as mensagens devem transitar. Na comutação de circuito, nas mensagens ou

Leia mais

TCP - multiplexação/demultiplexação

TCP - multiplexação/demultiplexação TCP Protocolo de controle de transmissão (Transmission Control Protocol) Definido em diversas RFCs (793, 1122, 1323, 2018 e 2581) Diversos flavors (tipos) Serviços Multiplexação/demultiplexação Detecção

Leia mais

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

Redes de Computadores. Protocolos de comunicação: TCP, UDP Redes de Computadores Protocolos de comunicação: TCP, UDP Introdução ao TCP/IP Transmission Control Protocol/ Internet Protocol (TCP/IP) é um conjunto de protocolos de comunicação utilizados para a troca

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Veja abaixo um exemplo de um endereço IP de 32 bits: 10000011 01101011 00010000 11001000

Veja abaixo um exemplo de um endereço IP de 32 bits: 10000011 01101011 00010000 11001000 4 Camada de Rede: O papel da camada de rede é transportar pacotes de um hospedeiro remetente a um hospedeiro destinatário. Para fazê-lo, duas importantes funções da camada de rede podem ser identificadas:

Leia mais

Comunicação de Dados de Autenticação e Credenciais de Acesso para Resposta ao Inquérito

Comunicação de Dados de Autenticação e Credenciais de Acesso para Resposta ao Inquérito Mais informação Acesso ao Sistema de Transferência Electrónica de dados de Inquéritos (STEDI). Onde se acede ao sistema de entrega de Inquéritos? Deverá aceder ao sistema através do site do GEP www.gep.mtss.gov.pt

Leia mais

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

Tópicos em Sistemas Distribuídos. Modelos de Comunicação Tópicos em Sistemas Distribuídos Modelos de Comunicação Comunicação em SD Comunicação entre processos Sockets UDP/TCP Comunicação em grupo Broadcast Multicast Comunicação entre processos Conceitos básicos

Leia mais

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação?

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação? Índice Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação? Como efectuar uma operação de confirmação de estimativas? Como aceder ao Serviço de Certificação

Leia mais

Plataforma de Benefícios Públicos Acesso externo

Plataforma de Benefícios Públicos Acesso externo Índice 1. Acesso à Plataforma... 2 2. Consulta dos Programas de Beneficios Públicos em Curso... 3 3. Entrar na Plataforma... 4 4. Consultar/Entregar Documentos... 5 5. Consultar... 7 6. Entregar Comprovativos

Leia mais

Redes de Computadores (RCOMP 2014/2015)

Redes de Computadores (RCOMP 2014/2015) Redes de Computadores (RCOMP 2014/2015) Transmissão de Dados Digitais Comunicação em rede 1 Transmissão de dados Objetivo: transportar informação mesmo que fosse usado um meio de transporte clássico seria

Leia mais

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Conexão de Redes. Protocolo TCP/IP. Arquitetura Internet.

Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Protocolo TCP/IP. Conexão de Redes. Protocolo TCP/IP. Arquitetura Internet. Origem: Surgiu na década de 60 através da DARPA (para fins militares) - ARPANET. Em 1977 - Unix é projetado para ser o protocolo de comunicação da ARPANET. Em 1980 a ARPANET foi dividida em ARPANET e MILINET.

Leia mais

Subcamada MAC. O Controle de Acesso ao Meio

Subcamada MAC. O Controle de Acesso ao Meio Subcamada MAC O Controle de Acesso ao Meio Métodos de Acesso ao Meio As implementações mais correntes de redes locais utilizam um meio de transmissão que é compartilhado por todos os nós. Quando um nó

Leia mais

Nível Transporte (Modelo Internet) {TCP.doc} UDP TCP

Nível Transporte (Modelo Internet) {TCP.doc} UDP TCP Prof V Vargas, IST Nível Transporte (Modelo Internet) 03/11/11, Page 1 of 9 Nível Transporte (Modelo Internet) {TCP.doc} 1. [07T1] Explique como são realizadas as funções de multiplexagem fornecidas pelo

Leia mais

IBM Managed Security Services for Agent Redeployment and Reactivation

IBM Managed Security Services for Agent Redeployment and Reactivation Descrição de Serviços IBM Managed Security Services for Agent Redeployment and Reactivation EM ADIÇÃO AOS TERMOS E CONDIÇÕES ESPECIFICADOS ABAIXO, ESSA DESCRIÇÃO DE SERVIÇOS INCLUI AS IBM MANAGED SECURITY

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Comunicação de Dados

Comunicação de Dados UNISUL 2013 / 1 Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática 1 Comunicação de Dados Aula 6 Agenda Projeto da camada de enlace de dados Detecção e correção de erros Protocolos

Leia mais

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino. Redes de Computadores Transporte Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Camada de transporte Sua função é: Promover uma transferência de dados confiável e econômica

Leia mais

Serviço de datagrama não confiável Endereçamento hierárquico. Facilidade de fragmentação e remontagem de pacotes

Serviço de datagrama não confiável Endereçamento hierárquico. Facilidade de fragmentação e remontagem de pacotes IP Os endereços IP são números com 32 bits, normalmente escritos como quatro octetos (em decimal), por exemplo 128.6.4.7. A primeira parte do endereço identifica uma rede especifica na interrede, a segunda

Leia mais

Avanços na transparência

Avanços na transparência Avanços na transparência A Capes está avançando não apenas na questão dos indicadores, como vimos nas semanas anteriores, mas também na transparência do sistema. Este assunto será explicado aqui, com ênfase

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

Tutorial do módulo Carteira Nacional de Militante

Tutorial do módulo Carteira Nacional de Militante Tutorial do módulo Carteira Nacional de Militante 1. Como iniciar o programa O módulo da Carteira de Militante deve ser acessado através dos seguintes endereços: http://www.pcdob.org.br/redevermelha. É

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Voltando ao exemplo da calculadora... Rede local

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Ao ligar o equipamento, você verá a mensagem abaixo, o objetivo dela é fazer a configuração mínima para LOGAR ao servidor da Internet.

Ao ligar o equipamento, você verá a mensagem abaixo, o objetivo dela é fazer a configuração mínima para LOGAR ao servidor da Internet. MANUAL DE OPERAÇÃO DO NET MACHINE VOCÊ NÃO NECESSITA MAIS DE UM COMPUTADOR PARA CONVERSAR COM ALGUÉM QUE ESTA NO MIRC NET MACHINE É UM PLACA ELETRÔNICA DE BAIXO CUSTO A PLACA TAMBEM PODE MANDAR E LER E-MAILS

Leia mais

Regulamento de Vigilâncias de Provas Escritas de Avaliação do DEEC

Regulamento de Vigilâncias de Provas Escritas de Avaliação do DEEC Regulamento de Vigilâncias de Provas Escritas de Avaliação do DEEC Autores: Aprovação: Comissão Executiva do DEEC Comissão Executiva do DEEC Data: 3 de Fevereiro de 2011 Distribuição: Docentes do DEEC

Leia mais

Redes e Telecomunicações

Redes e Telecomunicações Redes e Telecomunicações Comunicação Processo pelo qual uma informação gerada num ponto (origem) é transferida para outro ponto (destino) Telecomunicações Telecomunicação do grego: tele = distância do

Leia mais

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz Camadas de Transporte, Sessão & Apresentação Redes de Computadores Prof. Leandro C. Pykosz Função A camada de Transporte fica entre as camadas de nível de aplicação (camadas 5 a 7) e as de nível físico

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

Um pouco sobre Pacotes e sobre os protocolos de Transporte

Um pouco sobre Pacotes e sobre os protocolos de Transporte Um pouco sobre Pacotes e sobre os protocolos de Transporte O TCP/IP, na verdade, é formado por um grande conjunto de diferentes protocolos e serviços de rede. O nome TCP/IP deriva dos dois protocolos mais

Leia mais

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Existem inúmeras ferramentas (software) baseadas em RdP que permitem desenvolver modelar e analisar sistema de RdP. Algumas

Leia mais

Arquitetura TCP/IP. Parte VI Entrega de pacotes sem conexão (IP) Fabrízzio Alphonsus A. M. N. Soares

Arquitetura TCP/IP. Parte VI Entrega de pacotes sem conexão (IP) Fabrízzio Alphonsus A. M. N. Soares Arquitetura TCP/IP Parte VI Entrega de pacotes sem conexão (IP) Fabrízzio Alphonsus A. M. N. Soares Tópicos Conceitos Pacote (ou datagrama) IP Formato Campos do cabeçalho Encapsulamento Fragmentação e

Leia mais

Operador de Computador. Informática Básica

Operador de Computador. Informática Básica Operador de Computador Informática Básica Instalação de Software e Periféricos Podemos ter diversos tipos de software que nos auxiliam no desenvolvimento das nossas tarefas diárias, seja ela em casa, no

Leia mais

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão 2.0 - Atualização 26/01/2009 Depto de TI - FASUL Página 1 MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento Toledo PR Página 1 INDICE 1. O QUE É O SORE...3 2. COMO ACESSAR O SORE... 4 2.1. Obtendo um Usuário e Senha... 4 2.2. Acessando o SORE pelo

Leia mais