



Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Aprenda tudo que você precisa sobre TCP/IP
Tipologia: Notas de estudo
1 / 6
Esta página não é visível na pré-visualização
Não perca as partes importantes!




Um protocolo é um conjunto de regras que governam como computadores conversam a cada outro. TCP/IP é um protocolo extensamente usado e muito popular. Com TCP/IP, sistemas de computador diferentes podem trocar dados de maneira confiável em uma rede interconectada. As configurações desses protocolos tem como função controlar como a informação é passada de uma rede a outra, e como manipular o endereçamento contido nos pacotes, a fragmentação dos dados e a checagem de erros. Também provê um conjunto consistente de interfaces de programação de aplicativos(API) sustentando desenvolvimento de aplicativos. Isto significa que programas de software podem usar TCP/IP para trocar dados. Um exemplo disto é servidores de rede e browsers de rede, software de aplicativos que usam TCP/IP para trocar dados. Há dois tipos de protocolos para transmissão: Protocolos Orientados à Conexão Em uma transmissão orientada à conexão, é necessário que se faça uma chamada e conexão antes de cada transmissão. Nesse tipo de transmissão os pacotes não precisam possuir overheads, como ocorre nas transmissões não orientadas à conexão. Isso é possível pois logo no início da conexão, a origem e o destino trocam todas as informações necessárias à transmissão. Protocolos Não Orientados à Conexão O modo de transmissão não orientado à conexão conserva pouca informação durante uma conexão. A origem e o destino necessitam ter um prévio acerto de como sera a comunicação e as características do QOS - Quality of Service - já devem estar definidas. Esse modo de transmissão associa a cada pacote um endereço global, que identifica a origem e o destino do pacote. Nesse modo de transmissão, os sucessivos pacotes transferidos podem não ter qualquer relação, pois são considerados independentes uns dos outros. O modo de transmissão não orientado a conexão não dá importância a controles de fluxo nem realiza qualquer reconhecimento ou reenvio de pacotes. Através desse modo pode-se fazer uma comunicação com qualquer máquina sem precisar realizar uma conexão, sendo assim mais rápido. Em compensação, não tem-se a certeza do sucesso da transmissão e o acompanhamento do processo precisa ser mais eficaz_._ Host - Um computador que esteja ligado à rede IP e possua um número IP é chamado de host.Um host pode estar caracterizado por qualquer tipo de computador, desde um mainframe até um palmtop. Roteador : É um computador especial que é utilizado para conectar 2 ou mais redes distintas. Ele tem esse nome porque tem de "rotear" (ou redirecionar) os pacotes de uma rede para outra, atuando como um "guarda de trânsito" para os pacotes entre as redes. Gateway - Um gateway (ponte) é um componente que pode conectar diferentes redes, convertendo protocolos de diferentes níveis, ou exercer roteamento, no caso de um gateway IP. Ou seja, um gateway é sempre um componente intermediário numa rede. A principal diferença para o roteador é que o gateway não tem hardware especial para efetuar o roteamento. Usualmente os gateways conectam LANs e os roteadores, WANs. Em vários casos se utiliza um roteador em conjunto com um gateway.
O conceito de conectar computadores não similares em uma rede comum surgiu de pesquisa administrada pela Agência de Projetos de Pesquisa Avançada de Defesa(DARPA).. A arquitetura TCP/IP surgiu com a criação de uma rede patrocinada pelo Departamento de Defesa do governo dos Estados Unidos da América (DoD - Department of Defense). Uma das tarefas essenciais dessa rede seria manter comunicados, mesmo que apenas uma parte, órgãos do governo e universidades, numa ocorrência de guerras ou catástrofes que afetassem os meios de comunicação daquele país. Dessa necessidade, surgiu a ARPANET, uma rede que permaneceria intacta caso um dos servidores perdesse a conexão. A ARPANET necessitava então de um modelo de protocolos que assegurasse tal funcionalidade esperada, mostrando-se confiável, flexível e de fácil implementação. É então desenvolvida a arquitetura TCP/IP, que se torna um padrão de fato. A ARPANET cresceu e tornou-se a rede mundial de computadores - internet. A utilização (e facilidades) do padrão TCP/IP utilizado pelos fabricantes de outras redes, com a finalidade da conectividade com a internet. A normalização do TCP/IP chegou após a sua utilização em massa. Hoje, quando se menciona TCP/IP, vem imediata a associação com a internet, ocorrendo de modo idêntico o inverso: a internet está diretamente relacionada à arquitetura TCP/IP.
O modelo TCP/IP é constituído basicamente por 4 camadas: a camada de interface de rede , a camada de rede , a camada de transporte e a camada de aplicação. Tanto a camada de aplicação quanto a camada de interface de rede não possuem uma norma definida, devendo a camada de aplicação utilizar serviços da camada de transporte, e a camada de interface de rede prover a interface dos diversos tipos de rede com o protocolo (promovendo em conseqüência a interoperação entre as diversas arquiteturas de rede - Ethernet, Token Ring, ATM,etc.
Também chamada camada de abstração de hardware, tem como função principal a interface do modelo TCP/IP com os diversos tipos de redes (X.25, ATM, FDDI, Ethernet, Token Ring, Frame Relay, sistema de conexão ponto-a-ponto SLIP,etc.). Como há uma grande variedade de tecnologias de rede, que utilizam diferentes velocidades, protocolos, meios transmissão, etc. , esta camada não é normatizada pelo modelo, o que provê uma das grandes virtudes do modelo TCP/IP: a possibilidade de interconexão e interoperação de redes heterogêneas.
A camada de rede é a primeira (normatizada) do modelo. Também conhecida como camada Internet, é responsável pelo endereçamento, roteamento dos pacotes, controle de envio e recepção (erros, bufferização, fragmentação, seqüência, reconhecimento, etc.), etc. Dentre os protocolos da Camada de Rede, destaca-se inicialmente o IP (Internet Protocol), além do ARP, ICMP, RARP e dos protocolos de roteamento (RIP ,IGP, OSPF, Hello, EGP e GGP). A camada de rede é uma camada não orientada à conexão, portanto se comunica através de datagramas.
É formada pelos protocolos utilizados pelas diversas aplicações do modelo TCP/IP. Esta camada não possui um padrão comum. O padrão estabelece-se para cada aplicação. Isto é, o FTP possui seu próprio protocolo, o TELNET possui o seu próprio, bem como o SNMP, GOPHER, DNS, etc. É na camada de aplicação que se estabelece o tratamento das diferenças entre representação de formato de dados. O endereçamento da aplicação na rede é provido através da utilização de portas para comunicação com a camada de transporte. Para cada aplicação existe uma porta predeterminada.
A camada de transporte é uma camada fim-a-fim, isto é, uma entidade desta camada só se comunica com a sua entidade-par do host destinatário. É nesta camada que se faz o controle da conversação entre as aplicações intercomunicadas da rede. A camada de transporte utiliza dois protocolos: o TCP e o UDP. O primeiro é orientado à conexão e o segundo é não orientado à conexão. Ambos os protocolos podem servir a mais de uma aplicação simultaneamente. O acesso das aplicações à camada de transporte é feito através de portas que recebem um número inteiro para cada tipo de aplicação, podendo também tais portas serem criadas ao passo em que novas necessidades vão surgindo com o desenvolvimento de novas aplicações. A maneira como a camada de transporte transmite dados das várias aplicações simultâneas é por intermédio da multiplexação, onde várias mensagens são repassadas para a camada de rede (especificamente ao protocolo IP) que se encarregará de empacotá-las e mandar para uma ou mais interface de rede. Chegando ao destinatário o protocolo IP repassa para a camada de transporte que demultiplexa para as portas (aplicações) específicas.
Características de TCP/IP Abaixo estão algumas das características comuns de TCP/IP. Transferência de arquivo O protocolo de transferência de arquivo (aplicações FTP e cópia distante (RCP)) permitem usuários transferir arquivos entre os sistemas. Emulação terminal Telnet e rlogin provêem um método para estabelecer uma conexão interativa entre sistemas de computador. Transparente acesso e compartilhamento de arquivo distribuído O Sistema de Arquivo em Rede (NFS) usa o protocolo de IP para estender o sistema de arquivo suportando acesso aos diretórios e disco em outros sistemas de computador. Execução de comando distante Usando o shell remoto (rsh) e programas execução remota(rexec), os usuários podem rodar programas em computadores distantes e podem ver os resultados no próprio computador. Isto deixa usuários de computadores lentos tirar proveito de computadores mais rápidos correndo os programas no computador distante mais rápido. Impressão distante O comando UNIX lpr provê serviços de impressão distantes.
TCP/IP e OSI Os protocolos usados se assemelham ao modelo de OSI. O modelo Interconexão de Sistemas Abertos é um modelo de 7 camadas que se tratam com troca de dados de um computador para outro.
Aplicações geralmente desenvolvidas para TCP/IP usam vários dos protocolos. A soma das camadas usada é conhecida como a pilha protocolar. Programas de Aplicação de usuário comunicam com a camada de topo na pilha protocolar. Esta camada passa informação para a próxima mais baixa camada subseqüente da pilha, e tão cedo a informação é passada à mais baixa camada, a camada física que transfere a informação para a rede de destino. Os mais baixos níveis de camada do computador de destino passam a informação recebida para seus níveis mais altos que em troca passam os dados para a aplicação de destino. Cada camada protocolar executa várias funções que são independente das outras camadas. Cada camada comunica com camadas equivalentes em outro computador, por exemplo, a camada de sessão de dois computadores diferentes interage. Um programa aplicativo transferindo arquivos que usam TCP/IP , executa o seguinte, a camada de aplicação passa os dados para a camada de transporte do computador fonte a camada de transporte divide os dados em segmentos de TCP soma um header com um número sucessivo para cada segmento de TCP passa os segmentos TCP para a camada IP a camada IP cria um pacote com uma porção de dados que contém o segmento de TCP soma um header de pacote que contém endereços de IP da fonte e destino determina o endereço físico do computador de destino passa o pacote e endereço físico de destino para a camada de datalink a camada de datalink transmite o pacote de IP na porção de dados de um frame a camada datalink de computadores destino descarta o header de datalink e passa o pacote IP para a camada IP os camada de destinações IP checa o header do pacote IP e checksum se ok, descarta o header IP e passa o segmento TCP à camada TCP os camada de destinações TCP computa um checksum para o segmento TCP dados e header se ok, envia reconhecimento ao computador fonte descarta o header TCP e passa os dados para a aplicação
Endereços físicos e Endereços de Internet
TCP é full duplex, e nomeia para cada segmento um número subsequente que o fim receptor usa para assegurar todos os segmentos são recebidos na ordem correta. Na chegada do próximo segmento, o fim receptor envia um reconhecimento ao nodo que envia. Se o nodo que envia não recebe um reconhecimento dentro de um certo tempo, ele re-transmite o segmento.
Roteamento É o processo de escolha do caminho pelo qual o pacote deve chegar à estação destinatária. O roteamento pode ser direto ou indireto. Rotear é mover informações através de uma rede desde a origem até o destino, através de pelo menos 1 nodo intermediário.
O roteamento direto ocorre quando a estação destinatária do datagrama está na mesma sub-rede física da estação origem. A checagem é feita comparando o endereço IP do emissor e do destinatário constantes no datagrama IP. Nesse caso o conteúdo do datagrama recebe o endereço físico da estação e é enviado diretamente pela mesma sub-rede.
No caso do roteamento indireto, o emissor deve enviar para o gateway o datagrama com o endereço IP do destinatário. O gateway verificará se o destinatário pertence a uma das sub-redes a ele conectadas, e em caso positivo envia o pacote diretamente para a estação. Caso o gateway não localize o destinatário como um membro de uma das sub-redes a ele conectadas, ele envia o pacote para outro gateway (de acordo com sua tabela de roteamento), que verificará o mesmo, e assim por diante até encontrar o destinatário ou terminar o tempo de vida do pacote.
São a forma como os gateways localizam as diversas redes e estações. Podem ser: Roteamento Vector-Distance; Roteamento Link-State (shortest path first)
Os protocolos de roteamento padronizam a forma como os gateways trocam informações necessárias à execução dos algorítmos de roteamento. EGP (Exterior Gateway Protocol) Não está vinculado a nenhum algoritmo de roteamento, isto significa que os gateways que se comunicam não necessitam rodar o mesmo algoritmo. Define as informações a serem trocadas entre Gateways Exteriores. É elaborado para uma rede de sistemas autônomos numa topologia em árvore. As mensagens são associadas a cada sistema autônomo através de uma identificação no header da mensagem do EGP. Estas mensagens só trafegam em gateways vizinhos. Dois gateways tornam-se vizinhos quando trocam mensagens de Aquisição de Vizinho. Após isso, verificam o estado do vizinho através da mensagem de Disponibilidade e através da mensagem Alcance identificam quais redes podem ser acessadas a partir do vizinho. RIP (Routing Information Protocol) Desenvolvido na Universidade de Berkeley - California, permite a troca de informações com o algoritmo Vector-Distance em uma sub-rede dotada de difusão de mensagens. Um gateway executando RIP no modo ativo envia informações a cada 30 segundos ou quando solicitado. As mensagens contém informações de todas as tabela de roteamento do gateway. Estas informações são: O endereço IP da sub-rede e a distância do gateway (quantidade de gateways). As estações e gateways que recebem as mensagens atualizam sua tabela de acordo com o algoritmo vector-distance. OSPF Foi desenvolvido por um grupo de trabalho da Internet Engineering Task Force, para roteamento de grandes redes. Utiliza o algoritmo de roteamento SPF e possui várias vantagens: Roteamento de acordo com o tipo de serviço; Balanceamento de carga entre rotas do mesmo tamanho; Definição de rotas específicas para máquinas e redes; Modularização do SA, através da criação de áreas que contém gateways e redes. A topologia de tais áreas são conhecidas apenas nesta área. Definição de uma topologia de rede virtual que abstraia detalhes da rede real; Divulgação de mensagens recebidas de Gateways Exteriores. Quando gateways OSPF são inicializados, eles verificam junto com os gateways vizinhos, quem será o gateway mestre. O Gateway mestra será encarregado da notificação de informações de roteamento para todos os gateways da sub-rede. Como apenas o gateway mestre envia informações, o trafego é reduzido consideravelmente.
Servidores de Nome de Domínio Este é um sistema nomeamento hierárquico para identificar os hosts. Cada nome de host é formado de rótulos de domínio separados por pontos. Se sua máquina é conectada à Internet, você aponta nomes de domínio local aos computadores de host somente, e seu nome de domínio de nivel mais alto é nomeado a você pela organização que controla os nomes de domínio. Devem ser registrados nomes de domínio, assim eles não estão em conflito com um existente. Por exemplo, o nome de domínio apontado em CIT é, cit.ac.nz Um exemplo dos computadores de host em CIT são chamados cit1, cit2, e mail. Seus nomes de host no domínio são cit1.cit.ac.nz cit2.cit.ac.nz mail.cit.ac.nz Usuários tem também seus nomes apontados. Considere o usuário joe que têm uma conta na máquina de host de mail. O nome de domínio para este usuário é, [email protected] Hosts em seu domínio podem ser referidos pelo nome de host somente. Um host atua como um resolver de nome (servidor de nome de domínio de host) que soluciona nomes de máquina. Por exemplo, se você quer um ftp no host local ftp.cit.ac.nz, enviará um pedido ao servidor de domínio de nome que mandará de volta o endereço IP. O servidor de domínio de nome usa um arquivo especial chamado hosts para solucionar nomes de host e os Endereços IP. Este arquivo é um arquivo estático que deve ser atualizado periodicamente toda vez que mudanças são feitas.
Protocolo de Administração de Rede simples (snmp) Isto provê um meio para administrar um ambiente de rede. Cada host, roteador ou gateway rodando SNMP pode ser questionado por informação relacionada à rede.
Exemplos de informação são nomes de host pacotes transmitidos e recebidos erros informação de roteamento
Protocolo de Boot (bootp) Este serviço permite uma máquina local obter seu endereço de Internet de um servidor de boot designado. O servidor bootp tem uma lista de endereços de Ethernet e Endereços IP armazenada em um arquivo (bootptab). Quando recebe um pedido de uma máquina, olha este arquivo por um semelhante e responde com o endereço IP nomeado. O servidor de bootp usa tabelas estáticas para manter um vínculo entre o endereço Ethernet e endereço IP para computadores na rede. Obviamente, isto requer continua atualização com cartões de rede são mudados e computadores movidos dentro da organização.
TELNET (Terminal Virtual) FTP (File Transfer Protocol) SNMP (Simple Network Management Protocol) DSN (Domain Name System) SMTP (Simple Mail Tansfer Protocol) RPC (Remote Procedure Call) NFS (Network File System) As aplicações, no modelo TCP/IP, não possuem uma padronização comum. Cada uma possui um RFC próprio. O endereçamento das aplicações é feito através de portas (chamadas padronizadas a serviços dos protocolos TCP e UDP), por onde são passados as mensagens. Como já mencionado, é na camada de Aplicação que se trata a compatibilidade entre os diversos formatos representados pelos variados tipos de estações da rede. A comunicação entre as máquinas da rede é possibilitada através de primitivas de acesso das camadas UDP e TCP. Antes de iniciar o estabelecimento da conexão, são executadas as primitivas socket, que cria um ponto terminal de comunicação, e bind que registra o endereço da aplicação (número da porta). Para estabelecer a conexão (com o protocolo TCP), a aplicação servidora executa a primitiva listen enquanto que a cliente executa connect. A aplicação servidora usa o accept para receber e estabelecer a conexão. Já o UDP, como não é orientado à conexão, logo após o socket e o bind, utiliza as primitivas sendto e recvfrom. TELNET (Terminal Virtual) É um protocolo que permite a operação em um sistema remoto através de uma sessão de terminal. Com isso, a aplicação servidora recebe as teclas acionadas no terminal remoto como se fosse local. Utiliza a porta 23 do TCP. O TELNET oferece três serviços: Definição de um terminal virtual de rede, Negociação de opções (modo de operação, eco, etc.) e Transferência de dados. FTP (File Transfer Protocol) Provê serviços de transferencia, renomeação e eliminação de arquivos, além da criação, modificação e exclusão de diretórios. Para sua operação, são mantidas duas conexões: uma de dados e outra de controle. Não implementa segurança, o que deixa para o TCP, exceto as requisições de senhas de acesso a determinados arquivos (ou servidores FTP). As transferências de arquivos podem ser no modo TEXTO, onde há conversões de codificação para o sistema destinatário, e o modo BINÁRIO, onde não há nenhuma conversão e todos os bytes são transferidos como estão. SNMP (Simple Network Management Protocol) É utilizado para trafegar as informações de controle da rede. De acordo com o sistema de gerenciamento da arquitetura TCP/IP, existem o agente e o gerente que coletam e processam, respectivamente, dados sobre erros, problemas, violação de protocolos, dentre outros. Na rede existe uma base de dados denominada MIB (Management Information Base) onde são guardadas informações sobre hosts, gateways, interfaces individuais de rede, tradução de endereços, e softwares relativos ao IP, ICMP, TCP, UDP, etc. Através do SNMP pode-se acessar os valores dessas variáveis, receber informações sobre problemas na rede, armazenar valores, todos através da base do MIB.
DNS (Domain Name System) O DNS é um mecanismo para gerenciamento de domínios em forma de árvore. Tudo começa com a padronização da nomenclatura onde cada nó da arvore é separado no nome por pontos. No nível mais alto podemos ter: COM para organizações comerciais, EDU para instituições educacionais, GOV para instituições governamentais, MIL para grupos militares, ORG para outras organizações. O DSN possui um algoritmo confiável e eficiente para tradução de mapeamento de nomes e endereços. SMTP (Simple Mail Tansfer Protocol) Implementa o sistema de correio eletrônico da internet, operando não orientado à conexão, provê serviços de envio e recepção de mensagens do usuário. Tais mensagens são armazenadas num servidor de correio eletrônico onde o usuário destinatário está cadastrado, até que este solicite-a, quando são apagadas da área de transferência do sistema originador. O SMTP divide a mensagem em duas partes: corpo e cabeçalho que são separados por uma linha em branco. No cabeçalho existem uma seqüência de linhas que identificam o emissor, o destinatário, o assunto, e algumas outras informações opcionais. RPC (Remote Procedure Call) Implementa mecanismos de procedimentos de chamada remota, úteis no desenvolvimento de aplicações cliente-servidor com um nível maior de abstração. Um aplicação utiliza o RPC para fazer interface das suas funções. Assim as funções chamadas pelas aplicações são repassadas ao RPC que monta uma mensagens correspondente e envia para processamento remoto. O servidor, então processa as mensagens, executa a rotina e devolve os resultados para o RPC da estação, que reestrutura os dados e repassa à aplicação. Tudo isso implementa uma função virtualmente local, transparente para a aplicação. NFS (Network File System) O NFS supre uma deficiência do FTP que não efetua acesso on-line aos arquivos da rede. Desenvolvido pela SUN Microsystems, tem acesso através da porta 2049 do UDP. O NSF cria uma extensão do sistema de arquivos local, transparente para o usuário, e possibilita várias funções como as seguintes: Criação e modificação de atributos dos arquivos; Criação, leitura, gravação, renomeação e eliminação de arquivos; Criação, leitura e eliminação de diretórios; Pesquisa de arquivos em diretórios;