TCP/IP

O Transmission Control Protocol e o Internet Protocol (TCP/IP) é um conjunto padrão de protocolos desenvolvido nos finais dos anos 70 pelo Defense Advanced Research Projects Agency (DARPA) como forma de comunicação entre diferentes tipos de computadores e redes de computadores. O TCP/IP é a força impulsionadora da Internet, e como tal este é o conjunto de protocolos mais populares da Terra.

Introdução ao TCP/IP

Os dois componentes do protocolo TCP/IP lidam com diferentes aspectos das redes de computadores. O Internet Protocol, o "IP" do TCP/IP é um protocolo independente da conexão que lida apenas com o encaminhamento de pacotes na rede utilizando o IP datagram como a unidade básica de informação na rede. O datagrama IP consiste num cabeçalho seguido de uma mensagem. O Transmission Control Protocol é o "TCP" do TCP/IP e permite aos computadores da rede estabelecer ligações que podem ser utilizadas para intercâmbio de séries de dados. O TCP também garante que os dados entre ligações são entregues e chegam a um computador da rede pela mesma ordem em que foram enviados de outro computador da rede.

Configuração de TCP/IP

A configuração do protocolo TCP/IP consiste em vários elementos que devem ser ajustados editando os ficheiros apropriados, ou aplicando soluções tais como o servidor Dynamic Host Configuration Protocol (DHCP) que por sua vez pode ser configurado para fornecer as configurações de TCP/IP correctas ao cliente, automaticamente. Os dados desta configuração devem ser ajustados correctamente por forma a facilitar o correcto funcionamento na rede do seu sistema Ubuntu.

Os elementos da configuração comum do TCP/IP e as suas finalidades são as seguintes

  • Endereço IP O endereço IP é um identificador único apresentado como quatro números decimais limitados entre zero (0) e duzentos e cinquenta e cinco (255), separados por pontos (.), cada um dos quatro números reprensenta oito (8) bits do endereço, para um comprimento total do endereço de trinta e dois (32) bits. Este formato é chamado dotted quad notation.

  • Netmask A Máscara de Sub-rede, (ou simplesmente netmask é uma máscara de bits, ou um conjuntos de marcas que separam as partes do endereço IP significativas para a rede, das significativas para a sub-rede. Por exemplo, numa rede classe C, a máscara de rede padrão é 255.255.255.0 o que mascára os três primeiros bytes do endereço IP e permite que o último byte se mantenha disponível para indicar os computadores na sub-rede.

  • Network Address The Network Address represents the bytes comprising the network portion of an IP address. For example, the host 12.128.1.2 in a Class A network would use 12.0.0.0 as the network address, where twelve (12) represents the first byte of the IP address, (the network part) and zeroes (0) in all of the remaining three bytes to represent the potential host values. A network host using the private IP address 192.168.1.100 would in turn use a Network Address of 192.168.1.0, which specifies the first three bytes of the Class C 192.168.1 network and a zero (0) for all the possible hosts on the network.

  • Broadcast Address The Broadcast Address is an IP address which allows network data to be sent simultaneously to all hosts on a given subnetwork rather than specifying a particular host. The standard general broadcast address for IP networks is 255.255.255.255, but this broadcast address cannot be used to send a broadcast message to every host on the Internet because routers block it. A more appropriate broadcast address is set to match a specific subnetwork. For example, on the private Class C IP network, 192.168.1.0, the broadcast address is 192.168.1.255. Broadcast messages are typically produced by network protocols such as the Address Resolution Protocol (ARP) and the Routing Information Protocol (RIP).

  • Porta de Ligação A Porta de Ligação Gateway, é o endereço IP pelo qual uma rede em particular ou um computador na rede pode ser alcançado. Se um computador da rede deseja comunicar com outro, e esse outro não está localizado na mesma rede, então uma porta de ligação tem que ser utilizada. Em muitos casos, o Endereço da Porta de Ligação será o de um router da mesma rede, que por sua vez fará a passagem do tráfego para outras redes ou computadores, tais como Servidores de Internet. O valor do endereço da Porta de Ligação tem que ser correcto, caso contrário o seu sistema não poderá comunicar com outros computadores fora da mesma rede.

  • Endereço dos Servidores de Nomes Os Endereços de Servidores de Nomes Nameserver Addresses representam os endereços IP dos sistemas dos Serviços de Nomes de Domínios Domain Name Service (DNS) que convertem (resolvem) o nome dos computadores em endereços IP. Existem três níveis de Endereços de Servidores de Nomes que podem ser especificados por ordem de precedência: O Servidor de Nomes Primário, o Servidor de Nomes Secundário e o Servidor de Nomes Terciário. Para que o seu sistema tenha capacidade de converter os nomes dos computadores nos respectivos endereços IP, tem que especificar Endereços de Servidores de Nomes válidos, para os quais tenha permissões para utilizar na configuração TCP/IP do seu sistema. Em muitos casos estes endereços podem ser, e são, fornecidos pelo seu fornecedor de serviços de rede, mas existem muitos servidores de nomes de acesso público e gratuito, tais como os servidores de nível 3 (Verizon) com endereços IP desde 4.2.2.1 até 4.2.2.6 .

    [Dica]

    O endereço IP, máscara de rede Netmask, endereço da rede Network Address, endereço de difusão Broadcast Addresse o endereço da porta de ligação Gateway Address são geralmente especificados através de directivas apropriadas no ficheiro /etc/network/interfaces . Os Endereços dos Servidores de Nomes Nameserver Addresses são geralmente especificados através das directivas nameserver no ficheiro /etc/resolv.conf . Para mais informação, consulte a página do manual do sistema para interfaces ou resolv.conf respectivamente, introduzindo os seguintes comandos na linha de comandos:

    Aceda à página do manual de sistema para interfaces com o seguinte comando:

    man interfaces
    

    Aceda à página do manual de sistema para resolv.conf com o seguinte comando:

                    
                      man resolv.conf
                    
                  

Encaminhamento IP

IP routing is a means of specifying and discovering paths in a TCP/IP network along which network data may be sent. Routing uses a set of routing tables to direct the forwarding of network data packets from their source to the destination, often via many intermediary network nodes known as routers. There are two primary forms of IP routing: Static Routing and Dynamic Routing.

Static routing involves manually adding IP routes to the system's routing table, and this is usually done by manipulating the routing table with the route command. Static routing enjoys many advantages over dynamic routing, such as simplicity of implementation on smaller networks, predictability (the routing table is always computed in advance, and thus the route is precisely the same each time it is used), and low overhead on other routers and network links due to the lack of a dynamic routing protocol. However, static routing does present some disadvantages as well. For example, static routing is limited to small networks and does not scale well. Static routing also fails completely to adapt to network outages and failures along the route due to the fixed nature of the route.

Dynamic routing depends on large networks with multiple possible IP routes from a source to a destination and makes use of special routing protocols, such as the Router Information Protocol (RIP), which handle the automatic adjustments in routing tables that make dynamic routing possible. Dynamic routing has several advantages over static routing, such as superior scalability and the ability to adapt to failures and outages along network routes. Additionally, there is less manual configuration of the routing tables, since routers learn from one another about their existence and available routes. This trait also eliminates the possibility of introducing mistakes in the routing tables via human error. Dynamic routing is not perfect, however, and presents disadvantages such as heightened complexity and additional network overhead from router communications, which does not immediately benefit the end users, but still consumes network bandwidth.

TCP e UDP

O TCP é um protocolo baseado na ligação, e oferece correcção de erros e a garantia de entrega de dados através daquilo que é conhecido como controlo de fluxo flow control. O controlo de fluxo determina quando é necessário parar o envio de dados, e reenviar dados já enviados devido a problemas, como por exemplo colisões, isto assegura a completa e correcta entrega dos dados. O TCP é tipicamente utilizado para troca de informações importantes como sejam as transacções de bases de dados.

O Protocolo de Datagrama do Utilizador User Datagram Protocol (UDP), por outro lado, é um protocolo independente da ligação connectionless que raramente lida com a transmissão de dados importantes, dado que não possui controlo de fluxo ou qualquer outro método que assegure uma entrega fiável dos dados. O UDP é habitualmente utilizado em aplicações como a transmissão de áudio e vídeo, visto ser consideravelmente mais rápido que o TCP, exactamente por não ter a correcção de erros e o controlo de fluxo, e em que a perda de alguns pacotes não é catrastófica.

ICMP

O Protocolo de Controlo de Mensagens da Internet Internet Control Messaging Protocol (ICMP) é uma extensão do Internet Protocol (IP) tal como definido no Request For Comments (RFC) #792 e suporta pacotes de rede que contenham informação de controlo, de erros e de mensagens. O ICMP é utilizado por aplicações de rede como o utilitário ping, que pode determinar a disponibilidade de um computador ou dispositivo de rede. Exemplos de algumas mensagens de erro devolvidas pelo ICMP que são úteis para computadores da rede ou dispositivos como os routers, incluem Destination Unreachable and Time Exceeded.

Serviços

Serviços Daemons são aplicações especiais do sistema que funcionam de forma contínua na rectaguarda e que aguardam pedidos para as funções que fornecem vindos das outras aplicações. Muitos serviços são centrados na rede; isto é, um grande número de serviços executados na rectaguarda de um sistema Ubuntu pode fornecer funcionalidades relacionadas com a rede. Alguns exemplos desses serviços de rede incluem o Hyper Text Transport Protocol Daemon (httpd), que fornece a funcionalidade de um servidor web; o Secure SHell Daemon (sshd), que fornece acesso remoto seguro e a capacidade de transferência de ficheiros; e o Internet Message Access Protocol Daemon (imapd), que fornece serviços de correio electrónico.