Trabalho de Teleinformática
Assunto: TCP/IP
Aluna : Sílvia Beatriz Neiva
Prof. : Otto
INTRODUÇÃO À COMUNICAÇÃO DE DADOS:
Um ambiente distribuído abrange vários recursos de sistema (dados, recursos computacionais, programas, ...) espalhados em várias localizações. estes recursos necessitam de um sistema de comunicações para poderem interagir entre si. Ou seja o sistema de comunicações será o mecanismo de distribuição para a troca de dados e informações de controle. Estes podem ser transparentes aos usuários finais ou visíveis o bastante para que se saiba qual a rede que oferece a interligação dos recursos. Seja qual for o caso, a comunicação entre os nós é indispensável e exige uma rede física para estabelecer a conexão com todos os nós de interação.
A arquitetura cliente/servidor é um subconjunto de processamento cooperativo, que, por sua vez, é um subconjunto de processamento distribuído. O compartilhamento dos recursos é um dos objetivos e benefícios da distribuição. Os sistemas interconectados formam uma rede que pode transmitir mensagens, ou pacotes de informações, entre locais de instalação, sistemas, terminais e programas diferentes. Vários conceitos tais como, pontes, gateways, camadas de enlace, ..., serão utilizados com muita freqüência durante a explicação, por este motivo alguns conceitos terão que ser explicados para melhor entendimento. Apresento aqui alguns desses conceitos, outros tais como endereçamento, protocolo, pacotes ..., será apresentado dentro do ítem TCP/IP.
1. As setes camadas do modelo de comunicação OSI:
O modelo OSI (Open System Interconnection) divide em sete tarefas diferentes o trabalho de deslocamento de dados de um ponto para o outro. Essas tarefas (camadas) são organizadas de modo hierárquico. Cada camada contribui para o agrupamento/separação de um pacote. Os dados movem-se pela rede de comunicação em feixe discreto de bits denominado pacotes. Cada pacote, por sua vez, é dividido em quatro partes: a primeira avisa às placas que um pacote está a caminho, a segunda (cabeçalho) informa o destino, a origem e o tipo de pacote (controle de dados ou de rede), a terceira indica os dados que o pacote está transportando e a última os bits finais de verificação de erros e os caracteres do pacote final.
É importante ressaltar que cada camada envia informações somente para aquelas logo acima ou abaixo delas e que elas só compreendem informações enviadas da mesma camada em outra pilha. Por exemplo, a camada três só enviará um pacote de entrada para a camada quatro após extrair todas as informações da camada três.
1.a. Camada física:
Esta camada gera os pulsos físicos, as correntes elétricas e os pulsos óticos envolvidos no deslocamento de dados da NIC (Network Interface Card) para os sistemas de comunicações. Não inclui o sistema de comunicações apenas a conexão com ela.
1.b. Camada de enlace de dados:
Esta é o primeiro nível que reúne os bits e trata os dados como pacote. Esse nível executa o agrupamento final dos pacotes que estão sendo enviados e realiza a primeira inspeção no recebimento dos pacotes. Ela ainda adiciona uma correção de erros para os pacotes que estão saindo e uma verificação de soma para os que estão chegando. Os pacotes incompletos ou com defeito são descartados.
1.c. Camada de rede:
Quando as redes locais (LANs) excedem um determinado tamanho ou área geográfica, precisam ser divididas em redes locais lógicas menores. Dispositivos denominados roteadores (discutido mais a frente), pontes e gateways são utilizados para dividir a rede local e criar sub-redes menores. Esta camada roteia os pacotes através de vários dispositivos de modo a garantir que um pacote chegará ao dispositivo e a sub-rede local corretamente.
Esse nível mantém tabelas de roteamento e determina a rota disponível mais rápida e o momento de utilizar rotas alternativas. Essa é a primeira camada em que um dispositivo começa a filtrar os pacotes que não serão enviados de uma rede para a outra a fim de reduzir o tráfego de toda a rede. O TCP/IP opera neste nível.
1.d. Camada de transporte:
O TCP (transmission Control Protocol) de TCP/IP trabalha nesta camada que é um nível de transição, ou seja, o último dos níveis que gerência os pacotes de roteamento e a recuperação de erros. Ela adapta qualquer deficiência que não possa ser resolvida no nível de rede.
1.e. Camada de Sessão:
Esta camada é o nível que mantém as transmissões "orientadas a conexão". Esta conexão garante que as mensagens serão enviados e recebidas com alto grau de segurança. Assume-se que os pacotes sejam seguros, ou seja não há verificação de erros.
1.f. Camada de apresentação:
Não é amplamente utilizado. O processamento nesta camada realiza qualquer conversão que possa ser exigida pela camada de aplicação para tornar os dados utilizáveis. Exemplos são os processos de compactação e criptografia. Vale ressaltar que estes poderão ser executados por aplicativos de usuários que estejam sendo executados acima da camada de aplicação. A tradução dos formatos de dados também pode ser feita aqui.
1.g. Camada de aplicações:
Ela trata dos assuntos de segurança e disponibilidade de recursos. Essa camada tende a lidar com transferência de arquivos e de jobs e com protocolos de terminais virtuais.
2. enlace (link):
Conexão direta entre dois ou mais sistemas.
3. Servidor (host):
Qualquer sistema ou dispositivo de computador que esteja associado à inter-rede. Sistema que executa as principais funções de um aplicativo e que controla o sistema de comunicações.
4. Nome de um objeto:
Em um sistema distribuído indica um sistema, um processo, ou nó.
Caminho que o tráfego de rede percorre da origem até o destino.
Dispositivo de computador que conecta duas ou mais redes físicas e encaminha pacotes para elas.
Computador que conecta várias redes TCP/IP para roteamento ou entrega de pacotes IP entre elas.
8. broadcast:
Pacote destinado a todos os hosts da rede.
9. datagrama:
Pacote de dados e informações sobre a entrega.
10. MAC (Media Acess Control):
Protocolo que controla o método de acesso de uma estação a rede.
O desenvolvimento d TCP/IP começou no meio da década de 70 pelo DARPA (Defense Advanced Research Projects Agency), visando a interconexão de várias redes locais e computadores. A implantação começou em 1980 e em 1983 todos os computadores ligados à ARP/Anet tinham que utilizar o TCP/IP. Uma vez que o TCP/IP é um protocolo não proprietário, muitos fabricantes de hardware e software começaram a utilizar o TCP/IP em seus produtos.
Até junho de 1993, todos os maiores fabricantes do mercado mundial de informática já tinham produtos baseados em TCP/IP, e diversas redes já o utilizavam.
Os protocolos de comunicação de dados são utilizados para coordenar a troca de informações entre dispositivos de redes diferentes. Eles estabelecem o mecanismo pelo qual cada dispositivo reconhece as informações úteis de qualquer dispositivo. O TCP/IP, Transmission Control Protocol/Internet, é uma família de protocolos utilizados nas comunicações de computação. O TCP e IP são protocolos individuais que podem ser discutidos de modo isolado, não sendo os únicos protocolos que constituem esta família. Cada protocolo em uma família permite a utilização de um determinado recurso de rede. A família de protocolos TCP/IP inclui protocolos como IP (Internet Protocol), ARP (Address Resolution Protocol), ICMP ( Internet Control Message Protocol), UDP (User Datagram Protocol), TCP(Transport Control Protocol), RIP (Routing Information Protocol), Telnet, SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System) ...
No TCP/IP, todos os protocolos são transportados por uma inter-rede IP, que é um protocolo roteável, e encapsulados em pacotes IP. Isto significa que dois nós que estejam se comunicando com IP não precisam estar conectados ao mesmo meio físico. Aqui apresento os outros conceitos fundamentais ao entendimento do TCP/IP:
1.Alguns conceitos importantes:
1.a.endereçamento:
Em uma interligação em rede, o endereço de um dispositivo é sua identificação exclusiva que normalmente são numéricos e seguem um formato padrão. Nas redes roteadas, o endereço contém, pelo menos, duas partes: uma rede (ou área) e um nó (host).
O termo rede refere-se a um conjunto de equipamentos que serão conectados ao mesmo fio físico ou um conjunto de fios conectados somente com pontes e repetidores. O termo inter-rede refere-se a uma ou mais redes conectadas por roteadores e não deve ser confundido com Internet. Esta remete a uma inter-rede específica que estabelece uma conexão com milhões de computadores.
Os dispositivos de um mesmo fio podem se comunicar diretamente uns com os outros, utilizando o protocolo da camada de enlace (link) de dados. a atribuição de endereços dos dispositivos em uma rede exige que todos tenham o mesmo número de rede e número de nó diferentes. Costuma-se também utilizar endereços especiais, de difusão (broadcast) ou de grupo (multicast), para endereçar vários nós ao mesmo tempo.
Temos em nosso caso dois tipos de endereços- o endereço da camada de rede e os da MAC (media Acess Control). Todos os endereços da camada de rede são endereço IP e são utilizados para estabelecer uma comunicação entre nós em uma rede inter-rede IP. Os endereços MAC são utilizados para estabelecer uma comunicação de um nó com outro em um mesmo fio representando o meio pelo qual as informações são transferidas de um dispositivo a outro.
1.b.pacotes:
Na maioria das redes, tais como as redes TCP/IP, as informações enviadas são desmembradas em partes denominadas pacotes (ou datagramas). Isso acontece por dois motivos: compartilhamento de recursos e detecção e correção de erros. Por exemplo, caso dois dispositivos queiram compartilhar um grande volume de informações, seria injusto que eles monopolizassem a rede durante muito tempo, impedindo que informações talvez mais urgentes fossem transmitidas. Quando um grande bloco de informações é desmembrada em blocos menores, cada bloco menor pode ser enviado individualmente, permitindo que outros dispositivos entrecruzem suas próprias mensagens entre os pacotes de conversão estendida. Na medida em que cada bloco é endereçado individualmente ao seu destino e contém informações suficientes para que o receptor grupe a mensagem, o desmembramento não criará maiores problemas.
Outra vantagem da utilização de pacotes é a detecção e correção de erros. Basicamente, as redes são constituídas de fios (ondas de rádio ou raios luminosos) sujeitos a interferências que podem danificar um sinal enviado através deles. Saber lidar com essas mensagens adulteradas é uma questão importante da interligação em rede. Algumas vezes ocorrem erros e o emissor é orientado para retransmitir a mensagem porém digamos que continuemos com uma grande quantidade de erros. Um jeito de resolver este problema é desmembrar os dados em pacotes menores pois estes individualmente terão menos erros.
1.c.protocolos:
Cada um desses pacotes é um fluxo de bytes. Para que uma comunicação seja estabelecida esses bytes devem conter significados associados a eles que será então dado pelo protocolo. Um protocolo é então um conjunto de regras que define o formato dos pacotes e a semântica de utilização desses pacotes. normalmente tem um cabeçalho e um corpo. O cabeçalho é quem normalmente contém informações, tais como endereço de origem e de destino, o comprimento do pacote e algum tipo de indicador que permita ao receptor decodificar o corpo. O corpo pode constituir em dados brutos, tais como uma parte de um arquivo, ou conter um outro pacote cujo formato seja definido pele própria especificação. Por exemplo um quadro de Ethernet possui os 6 primeiros bytes para identificação do endereço de destino, os próximos 6 bytes para endereço de origem, os próximos dois para o tipo e os últimos para dados ( estes podem possuir de 46 a 1500 bytes).
Além de conhecer o formato dos pacotes é também necessário saber o momento de enviá-los, quais devem ser enviados e o que fazer quando recebé-los.
No mundo TCP/IP, a maioria das especificações de protocolo está disponível no modo on-line como RFCs (Request for Comments- Documentos oficiais que contêm protocolos Internet, levantamentos, avaliações, idéias e comentários. Esses documentos encontram-se disponíveis por acesso on-line no NIC (Network Information Center)). O local de instalação ftp.internic.net é um dos locais da Internet em que as RFCs encontram-se disponíveis para FTP anônimo.
1.d.roteadores e nós de extremidade:
Os nós de extremidade são os dispositivos com os quais os usuários interagem: estações de trabalho, Pcs, impressoras e serviços de arquivos são alguns exemplos desses dispositivos. os roteadores são dispositivos que estabelecem uma conexão entre as redes podendo estar conectados a duas ou mais redes. Às vezes, um dispositivo, tal como um servidor de arquivos, também pode assumir o papel de roteador. geralmente o roteamento é uma tarefa que faz uso intensivo da CPU e por este motivo pode influenciar em muito o desempenho do equipamento. Por este motivo estes são muitas vezes equipamentos dedicados. Muitos roteadores possuem funções de filtragem que permitem ao administrador de rede controlar com rigor quem utiliza a rede e o que é utilizado na rede.
1.e.Envio e recebimento do nó de extremidade:
Quando um nó em uma rede TCP/IP contém um pacote IP e deseja enviá-lo para um outro nó, ele segue um único algoritmo de modo a decidir como proceder. O nó que está realizando a transmissão compara a parte da rede referente ao endereço de destino com seu próprio endereço, se forem iguais significa que estão no mesmo fio. O nó de origem utiliza o ARP (Adreess Resolution Protocol), que é um protocolo que vincula um endereço IP a um endereço físico de hardware, para saber o endereço da camada MAC do nó de destino e encapsular o pacote IP em um quadro da camada de enlace de dados. Assim poderá transmitir o pacote diretamente para o nó de destino.
Se as partes da rede forem diferentes, eles estarão separados por pelo menos um roteador. Neste caso o pacote é encapsulado eu um quadro da camada de enlace de dados direcionado ao endereço MAC de um roteador do mesmo fio. O roteador transmite então o pacote IP para a rede remota.
Quando um nó de extremidade recebe um pacote IP, ele compara o endereço de destino com seu próprio endereço e com o endereço de broadcast IP com que ele está configurado. Se o endereço de destino corresponder a um desses endereços, o nó de extremidade aceitará o pacote e o processará posteriormente caso ao contrário o pacote será interrompido.
1.f.Envio e recebimento do roteador:
Quando um nó estiver desempenhando o papel de roteador e receber um pacote IP, ele examinará o endereço IP de destino no pacote e irá compará-lo com seu próprio endereço IP. Se os endereços forem iguais ou o endereço IP de destino for o mesmo que o de broadcast o pacote será processado da mesma maneira como explicado para um nó de extremidade. Caso ao contrário, o roteador utilizará as tabelas de roteamento para saber como atingir outras redes. Caso o roteador não consiga localizar a rede de destino na tabela de roteamento ele verificará a rota padrão (normalmente ela é listada como uma rota para 0.0.0). Se mesmo assim não for localizada, o pacote será interrompido e uma mensagem de destino inacessível ICMP (Internet Control Message Protocol-protocolo de manutenção que trata as mensagens de erro a serem enviadas quando os datagramas são descartados ou quando há congestionamento no sistema) será enviada para o endereço IP de origem no pacote interrompido.
Depois de identificado a rota o roteador irá verificar a distância até a rede remota (0 indicará que a rede está diretamente conectada ao roteador). Nesse caso ele enviará uma solicitação ARP ao endereço IP de destino e irá encapsular o pacote IP no quadro da camada de enlace de dados direcionado ao endereço MAC de destino que foi devolvido como a resposta ARP. Caso a distância não seja 0 o pacote terá que percorrer pelo menos mais um roteador. nesse caso, o roteador utilizará o próximo campo de roteador, encapsulando o pacote IP no quadro da camada de enlace de dados direcionado ao endereço MAC do próximo roteador. Ou seja, um pacote IP percorre uma inter-rede, mantendo os mesmos endereços IP de origem e de destino mas adotando endereços MAC que serão alterados a cada ponto.
1.g.Formato de um endereço IP:
O endereço deve ser composto, como já dito anteriormente, por duas partes: um componente de rede e um componente de host (ou de nó). Os endereços utilizados com o TCP/IP são compostos por quatro bytes(32 bits) e são denominados endereços IP (e não TCP/IP). Esses endereços são gravados em uma notação de pontos padrão, ou seja, cada byte é gravado como um número decimal separado por pontos (o caracter de ponto final). Um exemplo seria 192.37.54.23. Como cada parte do endereço IP representa 1 byte, seu valor tem que estar entre 0 e 255 inclusive.
É importante ressaltar que a divisão das duas partes do endereço não é tão simples, pois houve preocupação, por parte dos projetistas dos protocolos TCP/IP, em não limitar excessivamente o tamanho das redes potenciais. Por este motivo eles optaram por um método de graduação de divisão de rede e de host. Assim se a divisão for de dois bytes para cada, nenhuma rede poderia conter mais de 2^16 hosts em cada uma e redes menores acabariam ocupando muito espaço de endereço utilizando somente uma fração dos nós disponíveis em qualquer rede.
Então para utilização adequada os endereços IP são divididos em classes. As três classes mais importantes de rede são A, B e C. Estas classes foram formadas de acordo com os poucos primeiros bits do endereço ( ou o valor do primeiro byte).
Os de classe A são aqueles em que o primeiro byte está entre 0 e 127, pois um bit será utilizado para identificação sobrando então sete bits para o ID da rede e para o ID do host (2^7=128 o que dá um intervalo entre 0 a 127), os de classe B estão entre 128 e 191, pois nesta classe só sobra 6 bits para o ID da rede e para o ID do host (2^6=64 o que dá um intervalo de 128 a 191) e os de classe C entre 192 e 223, pois neste sobram 5 bits.
2. Atribuição de endereços IP a dispositivos TCP/IP:
Se um emprese quiser estruturar uma inter-rede TCP/IP que nunca será conectada com outra redes TCP/IP fora desta empresa, será possível utilizar qualquer número de rede de classe A, B ou C que permita um número apropriado de hosts nela. Com este método você estará perdendo duas das principais vantagens de uma rede TCP/IP que são sua capacidade de conexão com o mundo externo e o compartilhamento de recursos entre empresas, tais como o estabelecimento de uma conexão com a Internet. Uma estratégia mais apropriada é entrar em contato com os serviços de registro da InterNIC na Network Solutions, Icc. e solicitar um número de rede, que será então atribuído oficialmente. Com isso você tem garantia de que o número de rede atribuído será exclusivo. As IDs de host estarão então disponíveis para serem atribuídas da forma que você achar mais adequado.
A maioria dos dispositivos IP exige uma configuração manual. A pessoa que estiver instalando o dispositivo tem que de obter o endereço IP exclusivo e correto e digitá-lo em eu console ou em um programa de configuração, normalmente junto com outras informações, tais como endereços IP de difusão, máscaras de sub-redes e endereços de gateway padrão.
Alguns locais de instalação aceitam uma configuração dinâmica dos dispositivos IP. os protocolos tais como BOOTP (Boot Protocol) e o DHCP (Dynamic Host Configuration Protocol), permitem a utilização de servidores centralizados para distribuir endereços IP exclusivos e outras informações de configuração na medida que seja necessário.
3. Maceramento de endereços IP para endereços MAC:
Atualmente, todas as comunicações de computador são realizadas a partir do deslocamento de um nó para outro em determinados tipos de enlace, tais como a Ethernet, Token Ring, FDDI e o PPP (Point-to-Point Protocol). Muitos enlaces aceitam a conexão de um ou mais nós e, portanto, exigem que todos os dados enviados por eles sejam endereçados a um destino específico. Esses endereços não possuem nenhuma relação com o endereço IP. Eles são completamente separados e acrescentados aos IP. Eles são endereços MAC (ou endereços físicos, de hardware ou de enlace). Ao contrário dos endereços IP atribuídos, a maioria dos endereços da camada MAC é estruturada no hardware pelo fabricante do dispositivo ou NIC ( network interface card).
Aqui será apresentado um exemplo com a rede Ethernet. neste tipo de rede todo os dispositivos possuem um endereço Ethernet interno. Esse endereço contém seis bytes que costumam ser gravados utilizando números hexadecimais. Os bytes são separados por dois pontos: 08:00:20:0A:8C:6D por exemplo. Esses endereços são atribuídos pela IEEE (Institute of Eletrical and Eletronics Engineers) e são exclusivos em todos os dispositivos Ethernet. esses endereços estão divididos em duas partes: a primeira ( 3 primeiros bates) consiste do código do fabricante.
Para que servem então os endereços IP? Primeiro, nem todo dispositivo tem um recurso Ethernet, ou seja os dispositivos que estejam conectados com fibra, Token-Ring e linhas seriais utilizarão o IP sem precisar de um endereço Ethernet. Segundo porque os endereços Ethernet, como já dito, são organizados pelo fabricante e não pela empresa proprietária impossibilitando a criação de um esquema de roteamento eficiente pois este seria baseado no fabricante e não no local aonde o equipamento está instalado. Os endereço IP são atribuídos baseados em uma topologia de rede. O último motivo, e o mais importante, é que os dispositivos podem ser removidos ou consertados mais facilmente quando existe um nível adicional de atribuição de endereço. Se uma placa Ethernet romper ela poderá ser substituída sem precisar de um novo endereço IP. Da mesma forma, caso um nó IP seja deslocado de uma rede para outra, será possível atribuir um novo endereço IP sem precisar de uma nova placa Ethernet.
O hardware de rede se comunica apenas com outro hardware de rede. Este costuma utilizar um sistema de atribuição de endereços que é apropriado a ele mas não é nem um pouco amistoso ao usuário.Os usuários e os serviços nas redes se comunicam com outro dispositivos e serviços.
Estes serviços poderiam ser acessados de um modo de fácil compreensão humana porém complicada para o Hardware ou vice-versa, foi então criado um método de mapeamento de atribuição de endereços no nível de usuários para o hardware.
É possível fornecer um mecanismo para os nós que possibilite a determinação dos endereços de hardware sem a intervenção do usuário. Para o TCP/IP este mecanismo é o ARP. quando um nó IP quer se comunicar com outro que contenha o mesmo número de rede, ele assume o seguinte: o mesmo número de rede implica um destino no mesmo fio.
Uma solicitação ARP solicita que todos os nós do fio informem o endereço Ethernet de um determinado endereço IP. Essa solicitação contém o endereço IP e o Ethernet de origem do emissor, bem como o endereço IP com o qual o emissor quer se comunicar (dentre outras coisas). Todo dispositivo Ethernet na rede aceita este pacote e, se o dispositivo receptor aceitar o IP, reconhece o pacote como uma solicitação ARP. Em seguida, o dispositivo receptor compara com o endereço IP configurado com o endereço IP que está sendo pesquisado.
Se os endereços coincidirem, o dispositivo receptor envia uma resposta ARP para o emissor (pelo endereço Ethernet na solicitação ARP, e não como uma difusão), incluindo seu endereço Ethernet. O emissor poderá, então, encapsular o pacote IP que deseja enviar em um pacote Ethernet com o endereço Ethernet de destino, como especificado na resposta ARP.
E por que o nó emissor não faz simplesmente a difusão do pacote que está enviando? Em uma rede de ocupada e de grande porte, isso exigiria que todo nó fosse interrompido para permitir o processamento de cada pacote na rede de modo a determinar se o pacote atingiu ou não o seu destino.
Para assegurar que as difusões sejam reduzidas, os nós de redes de difusão que estejam precisando utilizar o ARP mantêm uma lista de dos endereços IP e Ethernet que correspondem a eles. Isso é listado como o cache ARP e atualizado sempre que uma solicitação for enviada. Cada entrada no cache é mantida por um tempo determinado pelo implementador do software TCP/IP em uso. Este intervalo pode variar de segundos a horas.
4. Localização de um roteador pelos nós de extremidade:
Se quiser enviar um pacote para um nó em outra rede, o nó de extremidade solicitará a ajuda de um roteador. Caso dois nós da mesma rede queiram se comunicar, eles poderão encapsular os respectivos datagramas IP nos quadros de nível de enlace e enviá-los um para o outro. Quando o destino estiver em outra rede, ele estará em outro fio e não poderá ser acessado diretamente. O nó de extremidade encapsula o datagrama IP em um quadro de nível de enlace destinado a um roteador. Esse roteador determina então o local para onde deve enviar o próximo pacote. É preciso utilizar um roteador para contactar um nó que esteja localizado em outra rede. Por isso, é necessário que o roteador esteja na mesma rede que o nó de origem, do contrário, esse nó também precisará de um roteador para acessar o roteador.
Se você quiser transmitir um pacote para um nó em uma rede diferente, o nó de origem enviará ao roteador local um pacote IP não modificado, encapsulando-o em um pacote de nível de enlace direcionado ao endereço MAC do roteador. Através da utilização de um protocolo ARP, um nó de extremidade que conheça o endereço IP de um roteador pode conseguir o endereço Ethernet. É necessário que os nós de extremidade do TCP/IP sejam configurados manualmente com o endereço de, pelo menos um roteador (normalmente denominado gateway padrão). Algumas implementações permitem que o endereço do roteador seja adquirido de modo dinâmico. Nesse caso, o nó é configurado para verificar um determinado protocolo de roteamento, tal como o RIP.
5. Como os roteadores reconhecem a topologia de rede:
Os roteadores precisam saber quais as redes que podem ser acessadas e como acessá-las. Para isso, os roteadores armazenam as informações referentes à topologia da rede. Essa topologia costuma estar armazenada como uma tabela de roteamento que lista cada rede conhecida, informa a distância da rede e indica qual é o próximo roteador a enviar um pacote para acessar uma rede que não esteja conectada diretamente.
O "custo" de uma rede pode ser especificado de várias maneiras como por exemplo, pelo número de roteadores que um pacote tem que percorrer para chegar a uma rede.
Se a rede de destino ou padrão não aparecer na tabela de roteamento, então o pacote não poderá ser transmitido e será interrompido. Isto pode acontecer pelos seguintes motivos: o nó emissor se enganou ou foi configurado de maneira errada, o roteador foi configurado de maneira errada e não possui informações dessa rede, todas as rotas estão fora de funcionamento (um roteador distante do caminho apresentou defeito).
As tabelas de roteamento podem ser configuradas manualmente ou dinamicamente. A configuração manual é um método mais direto, porém são menos resistentes a mudanças de uma rede e não pode ser mantido em uma rede de grande porte. Já a aquisição dinâmica é realizada através do roteamento de um ou mais protocolos. No TCP/IP, o protocolo de roteamento mais utilizado é o RIP (que não pode ser confundido com o protocolo de roteamento IPX de mesmo nome), um protocolo simples que permite aos roteadores trocarem informações sobre as redes e as distâncias entre elas. Com essas informações , o roteador pode agrupar uma tabela de cada rede em uma inter-rede, permitindo, que os pacotes sejam enviados de uma rede para a outra. Isso significa que se a rede estiver conectada com uma rede universal, tal como a Internet, as tabelas de roteamento são enormes. Para resolver este problema são criadas condições que permitam "implantar" várias redes em uma rota padrão representada pelo número IP 0.0.0.0. Os roteadores que se referem à conectividade a uma rede 0.0.0.0 informam o seguinte "Se você não vir o número de rede em algum lugar, envie o pacote para mim."
Todos os roteadores de cada rede fazem a difusão (broadcast) das atualizações do RIP a cada 30 segundos. Como estas alterações podem influenciar bastante o desempenho das redes de grande porte ou das redes lentas, vários outros protocolos de roteamento, mais eficientes, têm sido desenvolvidos tal como o OSPF (Open Shortest Path First).
6. Localização e utilização de serviços:
No geral, a finalidade de todo o serviço de encapsulamento e roteamento é permitir aos usuários acessarem os serviços tais como: emulação de terminal, impressão, compartilhamento de arquivos, correio eletrônico... Os usuários não gostam de tratar dos números, mesmo que possuam estruturas sensitivas, tais com os endereços IP. Eles gostam de lidar com palavras que de preferência fazem eles lembrarem do "serviço" que querem executar. Por exemplo, ninguém gosta de dar telnet 192.34.50.3.. A maioria dos serviços do mundo TCP/IP é localizada por nomes conhecidos e podem ser encontrados publicados em livros, documentos de empresas...
7. TCP E UDC:
O TCP (Transmission Control Protocol) e o UDP (User Datagram Protocol) percorrem encapsulados nos pacotes IP de modo a oferecer acesso a determinados programas (serviços) que estão sendo executados em dispositivos de redes remotos.
Depois que os dados chegam a um determinado nó, é necessário um mecanismo que possibilite o serviço adequado dentro de um dispositivo para receber dados. Para direcionar os dados para o programa apropriado, é necessário um outro nível de atribuição de endereços. Cada serviço disponível em um nó é acessado por um endereço exclusivo denominado porta (ou socket). estas são identificadas por um número decimal simples. Por exemplo a porta 25 é o SMTP. Estes números estão contidos nos cabeçalhos TCP e UDC dos respetivos pacotes, que estão encapsulados dentro de pacotes IP.
As diferenças entre TCP e UDC são as seguintes: O UDC assim como o IP são protocolos baseados em datagrama, ou seja, existe uma quantidade máxima de dados que podem ser enviados em uma transmissão simples, já o TCP é um protocolo orientado por fluxo, ou seja, os usuário não precisam se preocupar com o tamanho máximo da transmissão. O próprio TCP cuida de quebrar a transmissão em partes menores, retransmitir as partes perdidas, reordenar os dados entregues fora de ordem e filtrar as partes extra resultantes de transmissões com defeito. Um aplicativo que utilize TCP exige mais memória e largura de banda para garantir que a transmissão será concluída de modo adequado. Outra diferença entre eles é a confiabilidade. O UDP e um protocolo não confiável, isto não implica que não possa ocorrer uma transmissão confiável. O aplicativo que esteja utilizando o UDP fica completamente responsável pelas retransmissões, filtragem... Já o TCP/IP, como dito acima, já é confiável. É importante ressaltar que esta condição não implica que ele garanta a entrega dos dados transmitidos e sim que ele envia os dados. Se a conectividade da rede for preservada durante a retransmissão, os dados chegam em ordem e sem serem danificados, caso ao contrário esse fato é comunicado ao aplicativo que estiver utilizando o TCP.
Exemplos de aplicativos que utilizam UDP: NFS, RIP, TFTP ( Trivial File Transfer Protocol) e SNMP (Simple Network Management Protocol). Exemplos que utilizam o TCP: FTP, Telnet, SMTP. As sessões que utilizam TCP normalmente exigem que o usuário forneça login.
8. ALGUNS PROTOCOLOS DE APLICAÇÃO TCP/IP
8.a. Telnet:
O protocolo Telnet permite que um usuário, de qualquer terminal, se conecte a qualquer outro computador da rede. Uma seção remota é iniciada ao se especificar o computador em que se deseja conectar. A partir deste momento, até o fim da seção, qualquer coisa digitada será enviada para o computador.
Geralmente, a conexão com o computador remoto se estabelece de forma análoga a uma conexão discada, ou seja, o sistema remoto solicita que o usuário forneça sua senha, da mesma forma que ele faria a um usuário que terminou a discagem. Ao encerrar a seção no computador remoto, o usuário tem seu contexto local restabelecido.
8.b. SMTP:
Permite enviar correspondências para usuários em outros computadores (hosts remotos). O sistema de correio pelo computador é uma forma de adicionar uma mensagem a um arquivo de correio (caixa postal) do outro usuário. O host que recebe deve estar executando o sendmail ou um programa equivalente como um daemon em segundo plano ativo na conhecida porta 25.
8.c. FTP:
O protocolo de transferência de arquivos, FTP, permite que um usuário de qualquer computador acesse ou envie arquivos para outro computador. Um problema que surge é o da segurança. Este é resolvido quando, no momento da conexão do usuário a outro computador, são pedidos uma USERID e uma PASSWORD. O FTP inclui funções de controle de usuário que tenham acesso de leitura e escrita para que possam criar, deletar ou copiar certos arquivos. Conversões de protocolos entre ASCII e EBCDIC podem ser executadas.
8.d.NFS:
Este serviço permite que um sistema acesse os arquivos de outro computador de uma forma mais transparente e integrada que FTP. Um sistema de arquivos em rede dá a ilusão de que discos e outros dispositivos de um sistema estejam diretamente conectados a outros sistemas. Não há necessidade de se utilizar um utilitário especial de rede no outro sistema.
O computador simplesmente reconhece alguns drives extras. Esses drives extras, ou virtuais, se referem aos discos do ambiente em rede. Este recurso é útil para diversas aplicações. Permite que de coloque discos maiores em alguns computadores, e permite o acesso dos demais a este espaço em disco.
Além do custo reduzido, este serviço permite o compartilhamento de arquivos entre diversas pessoas em computadores diferentes. Isto simplifica o sistema de manutenção e backup, pois não é necessário se preocupar com a atualização e backup para as diferentes máquinas.
O usuário dá o comando "MOUNT" associando dados que estão residentes e em um ou mais sistemas remotos com diretórios diferentes dos locais. Nenhuma informação é mantida pelo server em relação ao acesso de leitura e gravação. Com isso, o Servidor pode ser reinicializado sem nenhuma perda de funções para os clientes.
O NFS usa chamada de subrotinas Remotas como base da comunicação client/servidor. A função chamada de subrotinas (RPC) faz com que subrotinas remotas pareçam ser locais ao sistema cliente. RPC é usada para usuários que escrevem suas próprias aplicações de rede.
9.CONCLUSÃO:
Vimos que enquanto enquanto o UDC e o TCP foram mapeados como formas de atribuir endereços a serviços individuais dentro de um dispositivo de rede o IP é a forma de atribuir dispositivos específicos em uma inter-rede.
O TCP/IP é um protocolo flexível, rápido, com previsões para controle de rede. A interface com aplicativos é consistente, tornando estes independente de alterações nas camadas inferiores, e principalmente: O TCP/IP permite a ligação de hardware de fabricantes diferentes inclusive com tecnologias diferentes.
É importante ressaltar que os conceitos básicos de rede podem ser aplicados a qualquer família de protocolos, tais como: pacotes, protocolos, endereçamento, roteadores e nós de extremidade.