Definição de Pacote TCP/IP
Todos os dados transmitidos através da rede são divididos em pacotes. O uso de pacotes evita que um único micro monopolize a rede por muito tempo e torna mais fácil a correção de erros. Sempre que um pacote chega corrompido (devido a interferências no cabo, ou qualquer outro motivo), é solicitada uma retransmissão do pacote. Quanto pior a qualidade do cabo e maior o nÃvel de interferências, mais pacotes chegam corrompidos e precisam ser retransmitidos, o que reduz o desempenho da rede.
Dentro do pacote TCP/IP temos novos headers, que contém o endereço IP de origem, endereço IP de destino, porta de origem, porta de destino, códigos de verificações, número do pacote, campo para inclusão de opções e assim por diante. No total, temos 20 bytes para os headers do protocolo TCP e mais 20 bytes para os headers do protocolo IP, totalizando 40 bytes de headers por pacote. Desta forma, temos 1460 bytes de dados em um pacote de 1500 bytes e 536 bytes de dados em um pacote de 576 bytes.
À primeira vista, pode parecer estranho que sejam incluÃdos headers separados para o TCP e o IP, mas a verdade é que os dois são complementares e por isso não podem ser dissociados. É por isso que usamos o termo "TCP/IP", como se os dois protocolos fossem uma coisa só.
Os headers do protocolo IP incluem o endereço IP e origem e de destino, enquanto os headers do TCP incluem a porta de origem e de destino, por exemplo. Em resumo, podemos dizer que o IP se encarrega da entrega dos pacotes, enquanto o TCP se encarrega da verificação de erros, numeração de portas e tudo mais.
Os pacotes podem ter até 1500 bytes no total, onde temos até 1460 bytes de dados e 40 bytes dos headers. Arquivos e outros tipos de informações são transmitidas na forma de sequências de vários pacotes. Um arquivo de 15 KB, por exemplo, seria dividido em um total de 11 pacotes; os 10 primeiros contendo 1460 bytes cada um e o último contendo os últimos 760 bytes. É graças aos códigos de verificação e numeração dos pacotes que arquivos grandes podem ser transmitidos de forma Ãntegra mesmo através de conexões via modem ou links wireless, onde diversos pacotes são corrompidos ou perdidos. Basta retransmitir os pacotes extraviados ou danificados quantas vezes for necessário. :)
Embora os pacotes TCP/IP de 1500 bytes sejam os mais comuns, o tamanho pode variar de acordo com o meio de transmissão usado. No ADSL PPPoE, por exemplo, são utilizados pacotes de 1492 bytes, enquanto que nas conexões discadas são geralmente utilizados pacotes de apenas 576 bytes. Existem ainda casos de pacotes maiores, utilizados em situações especÃficas.
Dentro da rede local, temos (incluindo o preâmbulo do frame Ethernet) um total de 1526 bytes transmitidos para cada pacote TCP/IP de 1500 bytes. Em uma rede local, que trabalha a 100 ou 1000 megabits, isso não faz muita diferença, mas na internet isso seria um grande desperdÃcio. Por isso, os roteadores se encarregam de eliminar estas informações desnecessárias, retransmitindo apenas os pacotes TCP/IP propriamente ditos. É por isso disso que não é possÃvel criar regras de firewall baseadas em endereços MAC para pacotes vindos da Internet: os endereços MAC fazem parte das informações incluÃdas no frame Ethernet, que são descartadas pelos roteadores.