Protocolo TCP/IP Introdução
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.
História de TCP/IP História de TCP/IP
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.
MODELO 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.
Camada de Interface de Rede
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.
Camada de Rede (IP)
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.
Camada de Aplicação
É
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.
Camada de Transporte
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.
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
Cada
computador em rede é nomeado um endereço físico que leva formas
diferentes em redes diferentes. Para redes de ETHERNET, o endereço
físico é um valor numérico de 6 bytes (ou 12 dígitos hexadecimais) (por
exemplo 080BF0AFDC09). Cada endereço de computadores Ethernet é único,
e corresponde ao endereço do cartão de rede físico instalado no
computador.
Endereços de Internet são endereços lógicos, e são independentes de qualquer hardware particular ou componente de rede.
O
protocolo TCP/IP implementa uma numeração lógica de rede, armazenado em
arquivos de configuração ,que uma máquina se identifica. Esta numeração
lógica é importante ao enviar informação a outros usuários a outras
redes, ou tendo acesso a máquinas remotamente. Endereços de Internet
são endereços lógicos, e são independentes de qualquer hardware
particular ou componente de rede. Consiste em um valor numérico de 4
bytes (32-bit) que identifica o número de rede e o número de
dispositivo na rede. O endereço IP de 4 bytes que é representado em
notação decimal pontilhada onde cada byte representa um valor entre 0 e
255, por exemplo, 127.46.6.11
Quando um computador quer trocar
dados com outro computador que usa TCP/IP, primeiro traduz o destino IP
em um endereço físico para enviar pacotes a outros computadores na rede
(isto é chamado resolução de endereço).
Além, computadores em uma
rede de TCP/IP cada tem nomes lógicos único como ICE.CIT.AC.NZ. Estes
nomes lógicos são conectados ao endereço de IP, neste exemplo, o
endereço IP de ice.cit.ac.nz é 156.59.20.50. O nome lógico também está
chamado o nome de domínio.
Quando um computador de cliente deseja comunicar com o host de
computador ICE, tem que traduzir seu nome lógico em seu endereço IP.
Faz isto por uma busca de nome de domínio que pergunta para um servidor
de nome de domínio o endereço IP do host de destino. O servidor de nome
de domínio tem um conjunto de tabelas estáticas que usa para achar o
endereço IP. Notavelmente, o servidor de nome de domínio é uma peça de
missão crítica de hardware, e se falha, todos os pedidos de procura não
podem ser respondidos e assim você não poderá conectar a qualquer
computador que usa seu nome de domínio. Uma vez o endereço IP é
conhecido, uma resolução de endereço é executada para devolver o
endereço físico do computador.
A
numeração de IP lógico é formada de um número de rede e um número
local. Para sites conectados à Internet, a porção de rede é nomeada
pela aplicação de uma companhia responsável para manter os Nomes de
Domínio Internet.
A construção de um endereço IP é dividida em
três classes. Qual classe é usada por uma organização depende do número
de máximo de postos de trabalho que são requeridos por aquela
organização. Cada nodo ou computador que usam TCP/IP dentro da
organização DEVE TER um único host parte do endereço IP.
Endereçamento Classe A
• primeiro byte especifica a porção de rede
• bytes restantes especificam a porção de host
• o bit de ordem mais alto do byte de rede sempre é 0
• valores de rede de 0 e 127 são reservados
• há 126 rede de classe A
• há mais de 16 milhões de valores de host para cada rede de classe A
Endereçamento Classe B
• os primeiros dois bytes especificam a porção de rede
• os últimos dois bytes especificam a porção de host
• os bits de ordem mais alta 6 e 7 da porção de rede são 10
• há mais de 16 mil redes classe de B
• há 65 mil nodos em cada rede classe de B
Endereçamento Classe C
• os primeiros três bytes especificam a porção de rede
• último byte especifica a porção de host
• os bits de ordem mais alta 5, 6 e 7 da porção de rede são 110
• há mais de 2 milhões de redes classe de C
• há 254 nodos em cada rede classe de C
Endereços IP reservados
Os Endereços IP seguintes são reservados para propósitos especiais, e não deve ser nomeado a qualquer host.
• Endereços de rede: A porção de host é setada toda em zero (129.47.0.0)
• Endereços de radiodifusão: A porção de host é setada toda em um (129.47.255.255)
• Endereços Loopback: 127.0.0.0 e 127.0.0.1
Internet para Tradução de Endereço Físico
Quando
um pacote de IP é enviado, é encapsulado (incluso) dentro da armação
física(frame) usada pela rede. O endereço IP é traçado sobre o endereço
físico que usa o Protocolo de Resolução de Endereço (arp) para redes
como Ethernet, token-ring, e Arcnet.
Quando um nodo quer enviar um
pacote de IP, determina o endereço físico do nodo de destino
radiodifundindo um pacote ARP que contém o endereço destino IP
primeiro. O nodo de destino responde mandando de volta seu endereço
físico ao nodo de requisição.
O Protocolo de Internet (IP)
Isto define o formato dos pacotes e como os dirigir quando envia ou recebe. A forma dos pacotes é chamada um datagrama de IP.
O Protocolo Internet de Controle de Mensagem (ICMP)
Pacotes
de ICMP contêm informação sobre fracassos na rede, como nodos
inoperantes e portais(gateways), congestão de pacote etc. O software IP
interpreta mensagens de ICMP. Mensagens de ICMP viajam freqüentemente
por muitas redes para alcançar o destino , assim eles são encapsulados
na porção de dados de um datagrama IP.
O Protocolo de Datagrama Usuário (UDP)
Isto
permite para os usuários trocar pacotes individuais sobre uma rede. Ele
define um conjunto de destinos conhecido como portas de protocolo. As
Portas são numeradas e o TCP/IP reserva de 1 a 255 para certas
aplicações. O datagrama de UDP é encapsulado em um ou mais datagramas
IP.
O Protocolo de Controle de Transmissão (TCP)
TCP é um
protocolo de entrega de fluxo confiável. Estabelece um circuito virtual
entre as duas aplicações, e envia um fluxo de bytes ao destino
exatamente na mesma ordem como eles deixaram a fonte.
Antes da transmissão começar, as aplicações em ambos fins obtêm uma porta de TCP, semelhante ao usado pelos UDP.
São
encapsulados segmentos TCP em um datagrama IP. Buffers TCP esperam o
fluxo de dados o bastante para preencher um datagrama grande antes de
enviá-lo.
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.
Roteamento Direto
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.
Roteamento Indireto
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.
Algorítmos de Roteamento
São a forma como os gateways localizam as diversas redes e estações. Podem ser:
a. Roteamento Vector-Distance;
b. Roteamento Link-State (shortest path first)
Protocolos de Roteamento
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:
a. Roteamento de acordo com o tipo de serviço;
b. Balanceamento de carga entre rotas do mesmo tamanho;
c. Definição de rotas específicas para máquinas e redes;
d.
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.
e. Definição de uma topologia de rede virtual que abstraia detalhes da rede real;
f. 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
é,
joe@mail.cit.ac.nz
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.
Aplicações
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:
a. Criação e modificação de atributos dos arquivos;
b. Criação, leitura, gravação, renomeação e eliminação de arquivos;
c. Criação, leitura e eliminação de diretórios;
d. Pesquisa de arquivos em diretórios;
e. Leitura dos atributos do sistema de arquivos.
Um
dos problemas do NFS é que não suporta acesso compartilhado aos
arquivos, portanto tais preocupações devem estar a cargo da aplicação.
O NFS utiliza o UDP, portanto tem embutidas várias rotinas de segurança para suprir a deficiência do protocolo.
Uma
porta pode ser vista como um canal de comunicações para uma máquina.
Pacotes de informações chegando a uma máquina não são apenas
endereçadas à maquina, e sim à máquina numa determinada porta. Você
pode imaginar uma porta como sendo um canal de rádio, com a diferença
fundamental de que um computador pode "ouvir" a todos os 65000 canais
possíveis ao mesmo tempo!
Entretanto, um computador geralmente não
está escutando a todas as portas, ele escuta umas poucas portas
específicas. E ele não vai responder a um pedido que chegue numa porta
a qual ele não esteja escuta.