FK. 0 Denunciar post Postado Fevereiro 24, 2012 Opa, estou começando a estudar redes de computadores e percebi que é importante o entendimento do modelo OSI. Estou com dúvidas em algumas camadas deste modelo. A camada de aplicação, qual a diferença em protocolos da camada de aplicação e uma aplicação de software? A camada sessão, até onde entendi, estabelece, administra ou encerra um tipo de conexão com outro computador, seja ela local ou remota. É isso ? Se for, então ela tem que ir lá no outro computador buscar informações de como essa conexão irá ser feita ? E na recepção de dados, ela encerra essa conexão ? Se não me engano, a camada de transporte envia uma mensagem de erro ou sucesso chamada Acknowledge, ou seja, novamente ele enviou uma informação para o outro computador ? --- Li isso também em um artigo: "A camada de rede é resposável pelo endereçamento dos pacotes, convertendo endereços lógicos em endereços físicos." Endereço lógico é o IP né ? Da onde ele pegou esse IP ? Veio de outra camada ? --- Se a camada de transporte empacota os dados, porque a camada link de dados transforma esses pacotes em quadros ? Os quadros tem informações como: endereços de origem e destino, dados de controle, dados e o calculo CRC lá. Como ele consegue o endereço de destino antes de enviar dados para o destino? O que é dados de controle ? --- Foi mal por esse monte de pergunta, mas se alguém pudesse responder, ficaria grato. Vlw Compartilhar este post Link para o post Compartilhar em outros sites
Wellington Oliveira 0 Denunciar post Postado Fevereiro 25, 2012 Fala Fernando, beleza? Opa, estou começando a estudar redes de computadores e percebi que é importante o entendimento do modelo OSI. Boa sacada velho, isso aí, entender oque ocorre com os dados em cada camada deste modelo de referência é essencial para que um profissional de redes saiba identificar e solucionar problemas em uma rede de computadores. Saber "de cor e salteado" o modelo OSI é basicamente um requisito, não só para profissionais de redes. A camada de aplicação, qual a diferença em protocolos da camada de aplicação e uma aplicação de software? É na camada de aplicação que ficam alguns protocolos necessários para que as aplicações/softwares que rodam no PC possam estabelecer comunicação com outros computadores. Dando um exemplo bem simples, um navegador de Internet. O navegador com todas as suas funções, botões, janelas e etc é um conjunto de funcionalidades que pertencem a aplicação em si, ou seja, o software. Através dele que você irá gerar requisições para visualizar páginas WEB. Quando o navegador precisa acessar um conteúdo da Internet, dados são enviados para o protocolo HTTP, que está justamente na camada de aplicação, a partir dai os dados vão "descendo" as outras camadas para que outros protocolos realizem suas funções, até que os dados chegem ao destino final e voltem pra você. Note que não importa qual aplicação, ou seja, qual navegador estou usando (IE, Firefox, dentre outros), sempre que algum deles precisar acessar sites, os dados serão enviados para o protocolo HTTP, ou HTTPS, enfim. A camada sessão, até onde entendi, estabelece, administra ou encerra um tipo de conexão com outro computador, seja ela local ou remota. É isso ?Se for, então ela tem que ir lá no outro computador buscar informações de como essa conexão irá ser feita ? E na recepção de dados, ela encerra essa conexão ? Sim, a camada de sessão "negocia" a melhor forma da camada de transporte realizar a transmissão. Antes que ocorra a troca de informações entre aplicações de diferentes computadores da rede, a camada de sessão age para sincronizar dados e definir como será feita a comunicação. Se não me engano, a camada de transporte envia uma mensagem de erro ou sucesso chamada Acknowledge, ou seja, novamente ele enviou uma informação para o outro computador ? Bom, vamos separar um pouco as coisas aqui. Quem envia o chamado "Ack" quando há um fluxo de dados na rede não é a camada de transporte propriamente dita, essa função é feita pelo protocolo TCP (Transmission Control Protocol) que provê uma comunicação "segura" entre dois computadores. O TCP é um protocolo que roda na camada de aplicação, assim como o UDP (User Datagram Protocol) que é um protocolo que provê uma comunicação "não confiável" entre dois pontos. Seria interessante você estudar bastante estes dois protocolos, saber de suas funções e diferenças entre eles. Li isso também em um artigo: "A camada de rede é resposável pelo endereçamento dos pacotes, convertendo endereços lógicos em endereços físicos."Endereço lógico é o IP né ? Da onde ele pegou esse IP ? Veio de outra camada ? Sim, o IP é o endereço lógico. O endereço IP de origem utilizado pela camada de rede é o endereço que está setado na sua placa de rede, seja através de DHCP ou configurado manualmente. O endereço IP de destino é decidido na camada de aplicação. Voltando ao exemplo do site, geralmente, você não digita no navegador o endereço IP dos sites que você quer acessar, você vai pelo nome do domínio (www.google.com.br, www.terra.com.br), estes nomes de domínio são traduzidos para endereços IP através de um protocolo chamado DNS. Ou seja, sempre que os dados chegam na camada de rede ela já tem a informação de qual é o IP de origem e o IP de destino. Oque a camada de rede ainda precisa "saber" para encaminhar os dados para outro computador é o endereço MAC, essa descoberta é feita através do protocolo ARP, que roda também nesta camada. Se a camada de transporte empacota os dados, porque a camada link de dados transforma esses pacotes em quadros ?Os quadros tem informações como: endereços de origem e destino, dados de controle, dados e o calculo CRC lá. Como ele consegue o endereço de destino antes de enviar dados para o destino? O que é dados de controle ? Tudo vai depender de qual tecnologia de "camada 2" você está utilizando. Usando o padrão Ethernet por exemplo, o MTU (Maximum Transmission Unit) é de 1500Bytes. Existem outras tecnologias de camada 2, como por exemplo, frame-relay, PPP entre outras, cada uma com suas MTUs e especificações. Num fluxo de dados entre dois computadores, teremos várias "divisões" das informações. Na camada de transporte são gerados segmentos, na camada de rede são gerados pacotes e na camada de enlace são gerados quadros. O endereço de destino "MAC" é descoberto na camada 3 (rede) pelo protocolo ARP. Dados de controle são utilizados para "sincronizar" a transmissão, por exemplo, o padrão Ethernet utiliza 8 Bytes para mandar um sequência de zeros e uns para indicar a outra máquina que está sendo iniciada a transmissão do próximo ou do primeiro quadro na rede. Bom, acho que é isso cara, espero que ajudado de alguma forma. Qualquer coisa posta aí, vamos conversando. Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
FK. 0 Denunciar post Postado Fevereiro 26, 2012 Iaew Wellington, Cara, muito obrigado pelas respostas, achei que pelo número de perguntas ninguém fosse responder. Esqueci totalmente essa questão de DNS e IP. Eu já sabia sobre, mas como não vi em detalhes ainda, acabei esquecendo. Esses dias estive pensando: Acho que pra mim entender o modelo OSI é melhor eu estudar os protocolos TCP/IP e outros protocolos que dai vai facilitar o entendimento né, então acabei de perceber que é realmente isso que devo fazer. Todas as minhas perguntas praticamente seriam respondidas se eu tivesse olhado o protocolo TCP/IP. Uma dúvida em relação a camada de sessão: O que significa sincronizar dados ? Quando você se refere a: "definir como será feita a conexão", quais são as "formas" de conexão a ser feita ?Isso quer dizer que pode ser local ou remota ? Última dúvida: Toda vez que eu tento definir o que é protocolo, eu sempre me enrrolo. Vi em vários lugares que um protocolo é como uma "linguagem" padrão onde dois computadores que saibam "falar" essa linguagem, poderão se comunicar e transferir dados. Mas quero entender isso mais a fundo, em questão de "código", um protocolo é um software ? uma DLL ? To meio confuso com essa questão de protocolo. Valeu pelas respostas cara ! :grin: Compartilhar este post Link para o post Compartilhar em outros sites
Wellington Oliveira 0 Denunciar post Postado Fevereiro 26, 2012 Cara, suas dúvidas tão muito parecidas com as minhas no primeiro semestre de facul...hehe, eu literalmente deixava os profs loucos, sempre fui muito "curioso", tipo, não me conformava em aprender o básico das coisas, sempre quis saber como funcionam as coisas a fundo, nos mínimos detalhes. Isso sempre me trouxe ótimos benefícios :) Continue assim. Bom, referente a camada de sessão, o sincronizar seria definir uma forma de comunicação que seja "compatível" com os dois computadores que estão participando da transmissão. Por exemplo, meu computador vai transferir dados via FTP para um servidor, oque a camada de sessão vai fazer neste caso é definir se a transmissão vai ocorrer em simplex (direção única) half-duplex (nas duas direções, não simultaneamente) ou full-duplex (nas duas direções simultaneamente). Podemos dizer que de certa forma essa camada mantém o controle de todas as transmissões que estão ocorrendo na máquina, quando digo "controle" me refiro ao status de cada conexão, se está ativa, se está com falha, se será necessária uma nova conexão para transmitir um novo fluxo de dados, dentre outros. E sim, a conexão pode ser local ou remota. Sobre a questão do protocolo, já fiz exatamente esta pergunta pro meu professor na facul, ele me respondeu (meio enrolado) isso mesmo, que se trata de um "idioma" que dois computadores devem ter em comum para poder trocar dados. Bom, até aí beleza, entendi, o protocolo deve ser o mesmo na duas máquinas senão não tem como, de que adianta transmitir os dados de uma forma Y se a máquina do outro lado só entende X. Com a experiência que tenho, posso te responder o seguinte: Um protocolo é um conjunto de regras e métodos que padronizam uma comunicação entre dois pontos, permitindo que ambos os lados entendam os dados que estão sendo transmitidos. Não deixa de ser um software, com seus devidos binários e DLLs, alguns parte do sistema operacional e que dificilmente teremos que instalar algum dia (HTTP por exemplo). Você já deve ter ouvido falar em RFC's, cada protocolo tem uma RFC que descreve oque este protocolo deve "atender" e qual é a função dele. Agora, o jeito que os "desenvolvedores" fazem para atender aos requisitos da RFC não importa, oque é importante nesse caso é que o software/aplicativo/dll/binário atinga os requisitos descritos e propostos pela RFC. Por exemplo, eu poderia criar um telefone IP que suporta o protocolo SIP, a forma que vou "implementar" as regras do protocolo não importa, o objetivo é que este software ou hardware que eu desenvolvi siga as regras que estão na RFC e que ele consiga falar SIP com outro telefone, sacou? Se você tiver curiosidade em ver, esse é o site que possui um repositório de RFCs: http://www.ietf.org/rfc.html RFC do protocolo TCP: http://datatracker.ietf.org/doc/rfc793/ E sem essa de "última dúvida" hein mano..rs, vamos trocando idéias....:) Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
FK. 0 Denunciar post Postado Fevereiro 27, 2012 Iaew, Eu já tinha visto essa questão de simplex, half-simplex, full-dulplex, mas não sabia que era essa camada que especificava isso. Talvez nas definições que encontrei na internet dizia isso de outra forma mas não entendi. Eu até olhava esse site do RFC mas não entendo muito inglês. Vou guardar esse link e quando eu terminar o curso de inglês que eu to fazendo, eu volto a ver esse site, mas vou pesquisar alguns links em português desse RFC. :grin: Com essa definição de protocolo que você passou, entendi bem mais agora. Então, valeu ai pelas respostas, acabou minhas dúvidas. uheashua Vlw cara !! :clap: Compartilhar este post Link para o post Compartilhar em outros sites