A rede é um sistema de hardware e de software através do qual sistemas computacionais diferentes podem se comunicar. O tipo de comunicação que se pode efetuar varia, indo desde a simples transferência de uma mensagem ou de um arquivo de um sistema para outro a até a integração tão próxima de vários sistemas que eles podem passar a funcionar como um só sistema do ponto de vista do usuário. Hoje em dia a conexão à rede é parte essencial do uso de sistemas de informação, tanto que costumamos denominar os sistemas de informática em rede de ``sistemas de informação e comunicação''. Em lugares onde existem redes locais rápidas, como em empresas e universidades, o uso simultâneo de vários sistemas integrados através da rede, de forma completamente transparente para o usuário, é rotina.
A rede Internet funciona através de um sistema de troca de parcelas de informação na forma de pacotes, conhecido como comutação de pacotes (packet switching). Neste sistema, qualquer quantidade de informação que se queira transmitir de um ponto para outro é quebrada em um determinado número de pacotes de tamanho mais ou menos fixo. Cada pacote contém vários níveis de cabeçalhos (headers) contendo as informações sobre o endereço de destino do pacote. Esta informação de destino inclui não só o endereço da máquina de destino, mas também endereçamento de conexão relativo ao processo (e portanto ao usuário) que deve receber o pacote no sistema de destino. Os pacotes são todos enviados pela rede e recebidos pelo sistema no endereço de destino, que os lê e re-monta o conteúdo completo da informação.
A rede Internet pode ser compreendida como um sistema de interconexão de redes locais, integrando-as em uma única rede de alcance global, é daí que vem o seu nome (inter-network). O conceito de rede local, em sua forma mais simples, consiste de um conjunto de máquinas interligadas fisicamente de forma direta através de um sistema de transporte de pacotes de dados, que pode ser feito com fibras óticas ou cabos de cobre. Em geral estas máquinas estão próximas umas das outras, em um mesmo prédio ou em um conjunto de prédios contíguos, como é o caso do Instituto. Dentro desta rede local não é necessário estabelecer rotas de tráfego para os pacotes, pois cada máquina da rede pode se conectar diretamente a qualquer outra máquina da mesma rede local, sem que o tráfego entre as duas tenha de passar por qualquer outra máquina.
O roteamento do pacote no caminho intermediário entre duas redes locais é feito de forma automática pela rede, nem o sistema de origem nem o de destino sabem ou precisam saber qual é a rota que vai ser usada. Tudo que o sistema de origem precisa saber é para onde enviar um pacote que não seja parte de sua rede local. Em geral isto é feito através da definição de um ``portal padrão'' (default gateway), que é um sistema da rede local para o qual o sistema de origem envia qualquer pacote cujo destinatário não seja um sistema na rede local à qual ele está fisicamente ligado. Este default gateway é, em geral, um roteador, um sistema computacional dedicado ao roteamento de pacotes (router). É ele que tem as ligações físicas externas à rede local e também as regras de roteamento para saber para onde enviar os pacotes, dependendo do endereço de destino.
Entretanto, os detalhes do funcionamento da rede, que só mencionamos aqui como ilustração, não são importantes do ponto de vista do usuário. Tudo que ele precisa saber sobre a rede em si são os nomes e os endereços na rede do sistema onde ele está e do sistema com o qual ele quer se conectar. Este tipo de combinação nome-endereço tem a forma geral
onde <hostname> é o nome da máquina na rede local à qual ela está ligada diretamente e <network-domain-name> é o nome da rede local em si. Por exemplo, em nosso caso no Instituto de Física o servidor central do projeto Sócrates tem o hostname socrates e está ligado à rede acadêmica do Instituto, que tem como nome de domínio if.usp.br, de forma que o endereço completo da máquina na Internet é
Note que a situação é diferente com os sistemas da sala Pró-Aluno, pois eles estão em uma rede fechada que não é visível diretamente a partir da Internet, ou mesmo a partir do resto da rede local do Instituto. De todos os sistemas desta rede fechada apenas o servidor socrates faz parte da rede local do Instituto. Os micro-computadores da sala Pró-Aluno têm endereços completos dados, por exemplo, por
Neste caso vemos que pop01 é o hostname do micro e if.usp.br é o nome da rede do Instituto. Entretanto, neste caso isto é apenas uma forma de registrar que trata-se da sala Pró-Aluno do Instituto, pois em uma rede fechada o domínio é pura fantasia, talvez uma conveniência, mas não tem nenhuma função estrutural no funcionamento da rede.
Para examinar um segundo exemplo podemos apelar para um dos servidores centrais de nosso vizinho, o Instituto de Matemática e Estatística. Ele tem como hostname mafalda e está na rede ime.usp.br, de forma que o endereço completo da máquina na Internet é
Como vemos, os servidores socrates e mafalda estão em redes diferentes, duas sub-redes chamadas if e ime, da rede da Universidade de São Paulo, cujo domínio é usp.br. Como se vê, trata-se de um sistema hierárquico mas, mais uma vez, os detalhes não são relevantes para o usuário. O ponto é que, uma vez resolvidos os problemas técnicos de rede pelos gerentes dos sistemas, as duas máquinas saberão como se comunicar uma com a outra, independentemente dos detalhes de como elas estão ligadas fisicamente ou relacionadas logicamente.
Do ponto de vista da ação direta pelo usuário a comunicação entre as máquinas pode ser de um dos seguintes tipos gerais: transferência de arquivos; execução remota de comandos não-interativos; estabelecimento de sessões interativas remotas; transferência para sistemas remotos de dados gráficos através do sistema de janelas X11, que veremos em uma aula subsequente. Nas tarefas vamos passar por cada um destes tipos de operação de rede. Além disso, a integração de sistemas em rede pode incluir outros tipos de comunicação entre eles como, por exemplo, a exportação de áreas de disco e de impressoras de um para outro e a distribuição através da rede de certos tipos de informação de sistema. Também veremos alguns exemplos disto em nossa rede local aqui no Instituto, em particular na rede fechada da sala Pró-Aluno.