Escolar Documentos
Profissional Documentos
Cultura Documentos
5º e 4º Ciência Da Computação (CC) - CORREÇÃO 1..docx-Report
5º e 4º Ciência Da Computação (CC) - CORREÇÃO 1..docx-Report
Instruções
Este relatório apresenta na próxima página uma tabela na qual cada linha associa o conteúdo do arquivo
de entrada com um documento encontrado na internet (para "Busca em arquivos da internet") ou do
arquivo de entrada com outro arquivo em seu computador (para "Pesquisa em arquivos locais"). A
quantidade de termos comuns representa um fator utilizado no cálculo de Similaridade dos arquivos sendo
comparados. Quanto maior a quantidade de termos comuns, maior a similaridade entre os arquivos. É
importante destacar que o limite de 3% representa uma estatística de semelhança e não um "índice de
plágio". Por exemplo, documentos que citam de forma direta (transcrição) outros documentos, podem ter
uma similaridade maior do que 3% e ainda assim não podem ser caracterizados como plágio. Há sempre a
necessidade do avaliador fazer uma análise para decidir se as semelhanças encontradas caracterizam ou
não o problema de plágio ou mesmo de erro de formatação ou adequação às normas de referências
bibliográficas. Para cada par de arquivos, apresenta-se uma comparação dos termos semelhantes, os
quais aparecem em vermelho.
Veja também:
Analisando o resultado do CopySpider
Qual o percentual aceitável para ser considerado plágio?
=================================================================================
Arquivo 1: 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx (6703 termos)
Arquivo 2: https://pt.wikipedia.org/wiki/TCP/IP (5349 termos)
Termos comuns: 228
Similaridade: 1,92%
O texto abaixo é o conteúdo do documento 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx
(6703 termos)
Os termos em vermelho foram encontrados no documento https://pt.wikipedia.org/wiki/TCP/IP (5349
termos)
=================================================================================
Sorocaba, SP
2024
SUMARIO
1. OBJETIVO DO TRABALHO4
2. INTRODUÇÃO5
3. REFERENCIAL TEÓRICO7
3.1 SOQUETE DE REDE7
3.2 SOQUETES UDP10
3.3 SOQUETE TCP10
3.4 ARQUITETURA EM CAMADAS12
3.5 CAMADA DE APLICAÇÃO13
3.6 CAMADA DE APRESENTAÇÃO13
3.7 CAMADA DE SESSÃO13
3.8 CAMADA DE TRANSPORTE13
3.9 CAMADA DE REDE14
3.10 CAMADA DE LINK OU MAC14
3.11 CAMADA FÍSICA14
3.12 MODELO ETHERNET14
3.13 PROTOCOLOS15
3.14 FUNÇÕES DO PROTOCOLOS17
3.15 PROTOCOLOS DE CAMADAS18
3.16 PROTOCOLO TCP18
3.17 PROTOCOLO UDP19
3.18 PROTOCOLO HTTP20
3.19 PROTOCOLO HTTPS21
3.20 PROTOCOLO IP22
3.21 PROTOCOLO DE ROTEAMENTO22
3.22 PROTOCOLO FTP22
3.23 HIERARQUIAS DE REDE23
3.24 HARDWARE25
3.25 SWITCHES26
3.26 HUBS26
3.27 ROTEADORES26
3.28 CABEAMENTO ESTRUTURADO27
3.29 PRINCIPAIS NORMAS DE CABEAMENTO27
3.30 TIPOS DE CABEAMENTO28
3.31 CABO COAXIAL28
3.32 CABO PAR TRANÇADO28
3.33 CABO DE FIBRA ÓPTICA29
3.34 SERVIÇOS DE REDE29
3.35 CLASSIFICAÇÃO DE SERVIÇOS29
3.36 SERVIÇOS ORIENTADOS A CONEXÃO30
3.37 SERVIÇOS SEM CONEXÃO:30
4. DESENVOLVIMENTO31
4.1 CÓDIGO DO SERVIDOR31
1. OBJETIVO DO TRABALHO
O relatório deve incluir o uso de primitivos de soquete Berkeley ou componentes derivados deles para
comunicação de dados. Deve abordar todos os elementos utilizados no desenvolvimento do projeto, bem
como o impacto deste trabalho na formação da equipe. Além disso, é importante discutir a
interdisciplinaridade envolvida no projeto devido ao nível de detalhe, funcionalidade, tratamento de erros,
implementação de funcionalidades adicionais e relatórios adicionais no sistema, que serão apresentados
no desenvolvimento.
2. INTRODUÇÃO
O grupo desenvolveu uma ferramenta de comunicação em rede utilizando Java e C#. Camila Goulart
Madosaki as atividades práticas supervisionadas estão estruturadas da seguinte forma. A equipe criou
uma aplicação que permite que duas ou mais pessoas se comuniquem em rede utilizando o protocolo TCP
/IP, ferramenta que será utilizada em situações que envolvem o meio ambiente. O tema escolhido pelo
grupo foi a preservação e sustentabilidade do meio ambiente. Estudo da topologia do sistema. O
documento apresenta uma referência teórica, na qual aborda um extenso sistema de comunicação que
conecta diversas redes de computadores. O sistema de comunicação consistirá de um arranjo topológico
interconectando módulos de processador individuais através de links físicos, dispositivos de transmissão
ou redes de transporte e um conjunto de regras para organizar. Existem muitos dispositivos diferentes em
muitas formas e recursos que podem ser interconectados e compartilhados através de métodos de acesso
, protocolos e requisitos de segurança. Os métodos de comunicação podem ser: linhas telefônicas, cabos,
comunicações via satélite ou sem fio. O objetivo de uma rede de computadores é permitir que os
computadores troquem dados e compartilhem recursos de hardware e software. A classificação dos
tamanhos de rede é: PAN, LAN, MAN, WAN A topologia de uma rede mostra como as máquinas estão
conectadas entre si. De acordo com a topologia, a rede pode ser dividida em: rede ponto a ponto, rede em
estrela, rede em anel e rede em árvore. O cabeamento estruturado refere-se aos vários tipos de cabos
instalados em uma residência ou empresa para distribuição de áudio, vídeo, telefone e dados. Esses fios
costumam ser agrupados, assim como cabos de rede, cabos de áudio de fibra óptica e outras
combinações personalizadas para distribuir itens por todo o ambiente. Cabeamento estruturado é um
termo genérico que inclui várias formas de cabos colocados em uma casa ou escritório para distribuição
de sinais de áudio, vídeo, telefone e dados. Tais fios, normalmente, são postos juntos em grupos, desde
cabos de rede passando por cabos de áudio de fibra óptica e muitas outras combinações personalizadas
que levam os itens a serem distribuídos por todo o ambiente. Um protocolo de comunicação é um acordo
utilizado na comunicação entre duas ou mais partes com o intuito de estabelecer como será a
comunicação entre elas. Simplificando, seria mais ou menos isso: um conjunto de regras. De maneira
simplificada, um protocolo poderia ser definido como regras que "governam" a sintaxe, a semântica e a
sincronia da comunicação. A evolução das ferramentas de comunicação em rede impulsiona inovação e
desenvolvimento tecnológico, permitindo responder a emergentes necessidades dos utilizadores e das
organizações na criação de novas aplicações, serviços e soluções.
3. REFERENCIAL TEÓRICO
"Unix Network Programming" (2003) ou Programação de rede Unix por W. Richard Stevens. Considerado
um clássico na área de programação de redes, este livro fornece uma introdução abrangente ao assunto.
Ele não cobre apenas o uso de soquetes em sistemas Unix, mas também fornece uma compreensão
sólida dos conceitos subjacentes à comunicação em rede. Este livro é conhecido por sua abordagem
prática e clara e exemplos de código detalhados e explicativos. Além disso, "TCP/IP Illustrator" (1994) do
mesmo autor, W. Richard Stevens, é outro livro altamente recomendado para aprender os fundamentos do
protocolo TCP/IP, que é a base das comunicações de rede na Internet. Este livro complementa muito bem
a programação de rede Unix, fornecendo uma compreensão mais profunda dos protocolos de rede.
Ambos os livros são recursos valiosos para estudantes, profissionais de TI e desenvolvedores
interessados em aprender programação de redes e soquetes. Especificamente, na computação, os
soquetes podem ser usados em conexões de rede de computadores para fornecer um link de
comunicação bidirecional entre dois programas. As conexões de soquete tiveram origem em 1980, quando
a agência governamental dos EUA ARPA (Advanced Research Projects Agency) forneceu recursos
financeiros à Universidade da Califórnia, Berkeley, para fornecer uma implementação UNIX do pacote de
protocolo TCP/IP. O produto desenvolvido posteriormente ficou conhecido como Berkeley Sockets
Interface ou simplesmente Berkeley Sockets. Frequentemente recomendado para aprender sobre
soquetes e programação de redes é "Unix Network Programming" de W. Richard Stevens (2003). Este
livro é considerado um clássico no campo da programação de redes e oferece uma cobertura abrangente
sobre o assunto. Os soquetes foram desenvolvidos especificamente para aplicações cliente/servidor, onde
o cliente e o servidor podem estar em máquinas diferentes e se comunicarem através de um protocolo de
transporte, o que significa que quando a aplicação interage com o software do protocolo, ela deve ser
informada que se trata de um cliente ou servidor. Para estabelecer uma conexão, apenas o endereço de
destino e o número da porta são necessários. Existem dois modos de transmissão de soquete: modo
baseado em conexão e modo sem conexão. Os soquetes baseados em conexão funcionam como
telefones: eles estabelecem uma conexão e depois suspendem a conexão. Os soquetes sem conexão
funcionam como correio: a entrega não é garantida e diferentes itens de correio podem chegar em uma
ordem diferente daquela em que foram enviados. A escolha do modo de transporte de soquete dependerá
das necessidades da sua aplicação. Se a confiabilidade for importante, o modo baseado em conexão
deverá ser usado. Por exemplo, um servidor de arquivos precisa que todos os seus dados cheguem ao
usuário na ordem correta. A operação sem conexão será mais rápida e eficiente, mas não há garantia. O
método de conexão adota o protocolo TCP. Um soquete neste modo de operação deve ser conectado ao
destino antes que os dados possam ser transferidos. Quando conectado, o soquete usa a interface de
fluxo: open-read-write-close. Um soquete também é uma abstração computacional que mapeia
diretamente para uma porta de transporte por meio de um protocolo TCP ou UDP e um endereço de rede.
Por sua vez, o soquete se abstrai e pode utilizar qualquer um dos métodos TCP ou UDP já mencionados.
Com este conceito é possível identificar de forma única uma aplicação ou servidor numa rede de
comunicações IP. No documento RFC (Request for Comments) relacionado ao TCP ou UDP, um soquete
em um computador é definido como uma combinação de endereço IP, protocolo e número de porta do
protocolo. Soquetes e RPC possuem a funcionalidade para implementar aplicativos. Funcionalidades de
rede, mas são implementadas de maneiras diferentes, por exemplo, imagine que você precisa desenvolver
uma aplicação de servidor que funcione como uma "sala" de chat. Essencialmente, a aplicação receberá
chamadas do cliente (em uma determinada porta) e então se o cliente enviar uma mensagem, o servidor
enviará essa mensagem para todos os outros clientes.
Ou imagine, por exemplo, que você tem um sensor de temperatura instalado em seu computador e possui
um aplicativo de servidor que controla o sensor, fornecendo informações sobre o clima. A aplicação cliente
pode conectar-se remotamente à aplicação servidora e obter essas informações. Tudo isso pode ser
desenvolvido usando soquetes
Geralmente, há um aplicativo que cria o soquete do servidor e outro aplicativo que implementa o cliente.
Existem dois tipos principais de soquetes: Socket_Stream (também conhecido como TCP) ou SOCK
_DGRAM (também conhecido como UDP). Os soquetes TCP garantem a confiabilidade da comunicação
(entrega de pacotes garantida), enquanto os soquetes UDP não garantem a entrega de pacotes no nível
da camada de transporte)
A comunicação entre processos também pode ocorrer via UDP. No entanto, o UDP é um serviço sem
conexão. O remetente insere explicitamente o endereço IP e a porta do destino no formato IP:porta (por
exemplo: 192.168.0.1:80). O servidor deve extrair o endereço IP e a porta (soquete) do remetente do
datagrama recebido. Os dados recebidos podem ser recebidos fora de ordem ou até mesmo perdidos. Só
então os dados são encaminhados para as camadas superiores, da camada de transporte (protocolo UDP
) para a camada de aplicação (qualquer aplicação).
Esses Datagram Soquete ou DataGrama, por serem UDP, possuem comunicação não orientada à
conexão e não são confiáveis, pois os dados enviados neste tipo podem não chegar ao destino final da
forma como foram enviados, e não há garantia de sua chegada. Streaming de áudio e vídeo sob demanda
e jogos multijogador são exemplos de aplicativos de soquete de datagrama. Neste tipo de transferência, a
perda de pequenas quantidades de dados não traz consequências graves para o processo. Tanto o
Socket UDP quanto o Socket TCP usam o protocolo IP para rotear dados pela rede.
No protocolo TCP, um soquete cria uma conexão de streaming bidirecional entre os endereços 'hostC
:portC' e 'hostS:portS', ou seja, entre a aplicação cliente em execução na máquina 'hostC' e também pode
controlar a porta 'portC' e outro aplicativo de servidor em execução no computador 'hostS', observando a
porta 'portS' de 'hostS'. Sabemos também que o protocolo TCP é orientado à conexão e por isso garante
que os dados enviados do cliente para o servidor cheguem ao seu destino na respectiva porta. Esta forma
de comunicação com soquetes TCP utiliza soquetes de fluxo, que representam uma forma de
comunicação bidirecional confiável e orientada à conexão.
Os dados enviados através deste tipo de Socket estarão seguros e chegarão da mesma forma que foram
enviados, pois o protocolo TCP é responsável por ?entregar? os dados da mesma forma que foram
enviados e sem erros. Por exemplo: os navegadores usam este aplicativo sobre protocolos HTTP, que
normalmente funcionam no soquete 80. Um soquete é uma abstração de um endereço de comunicação
através do qual os processos se comunicam. Cada endereço possui um identificador exclusivo que
consiste no endereço da máquina e no identificador local da porta utilizada pelo processo.
Este identificador de porta é usado para mapear os dados recebidos pela máquina para um processo
(aplicação) específico. O processo de comunicação no modo orientado à conexão é o seguinte: o servidor
é colocado em uma porta específica e aguarda uma conexão com essa porta. O cliente deve saber
antecipadamente o nome IP do servidor e a porta correspondente na qual o servidor está aguardando
conexões.
Conforme na figura 2.
Se não houver problemas, o servidor aceita a conexão gerando um soquete em uma porta livre do lado do
servidor, criando assim um canal de comunicação entre o cliente e o servidor. É importante observar que a
porta original está livre para receber outras solicitações de conexão. A imagem abaixo demonstra o
mesmo canal de comunicação.
O modelo de referência OSI foi criado pela ISO em 1978 para construir sistemas de conexão entre
dispositivos através da padronização de protocolos e padrões, que é um padrão global e modelo
conceitual desde 1984. Este modelo propõe um esquema de trabalho conjunto entre hardware e software
para permitir a comunicação entre dispositivos. No entanto, o modelo OSI é mais teórico do que prático.
livro amplamente recomendado sobre arquitetura em camadas é "Patterns of Enterprise Application
Architecture" (Padrões de Arquitetura de Aplicações Corporativas) de Martin Fowler(2003). Embora o livro
não se concentre exclusivamente na arquitetura em camadas, aborda vários padrões arquiteturais comuns
, incluindo a arquitetura em camadas, e fornece uma compreensão sólida dos princípios e práticas
envolvidos na construção de sistemas de software escaláveis e robustos.
É responsável por definir o formato de troca de dados entre computadores, atuando como conversor de
protocolos, criptografia, compactação de dados, entre outras tarefas.
Uma sessão é um canal de comunicação entre dois aplicativos executados em computadores diferentes. A
camada de sessão é responsável por gerenciar conversas entre aplicações para que elas possam abrir,
usar e fechar sessões. É nesta camada que são executadas as funções de reconhecimento de nomes e
segurança.
É responsável pela integridade dos pacotes de informações e garante uma comunicação confiável. Esta
integridade é conseguida graças ao sinal ACK enviado entre as duas partes (sinal que confirma que a
comunicação ocorreu corretamente, do receptor ao transmissor). O protocolo TCP é executado nesta
camada
É usado para identificar o endereço de um sistema em uma rede e realmente transferir dados. A camada
de rede deve conhecer o meio físico da rede e empacotar as informações de forma que a camada de
enlace possa enviá-las para a camada física. Em muitas redes, esta camada não verifica a integridade da
informação, apenas a encapsula.
É utilizado para definir como a informação é transmitida através da camada física e garante o bom
funcionamento desta camada. Se houver erros na transmissão de informações no meio físico, como cabos
danificados ou colisões de dados, a camada MAC deverá tratar esses erros ou comunicá-los às camadas
superiores.
Consiste em hardware como cabos, fibras ópticas e conectores usados ??para conectar diferentes
sistemas de rede. Nesta camada, as informações são codificadas na forma de sinais elétricos
Um livro recomendado sobre o modelo Ethernet é "Ethernet: The Definitive Guide" (2000) de Charles E.
Spurgeon. Este livro fornece uma visão geral abrangente da tecnologia Ethernet, incluindo seu histórico,
capacidades, padrões e protocolos relacionados. As redes Ethernet podem transportar até 1.500 bytes de
dados. Portanto, o sistema operacional configura automaticamente o protocolo IP para criar um datagrama
de 1.500 bytes em vez de 65.535 bytes (o tamanho real do datagrama é 1.497 porque a camada LLC usa
3 ou 5 bytes para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, o que equivale à
Interface de Rede do modelo TCP/IP. Sobre o modelo Ethernet é "Ethernet: The Definitive Guide" de
Charles E. Spurgeon(2000). Este livro oferece uma visão abrangente da tecnologia Ethernet, incluindo sua
história, funcionamento, padrões e protocolos associados. A camada LLC (Logical Link Control) é
responsável por adicionar informações sobre qual protocolo da camada Internet é responsável pela
geração dos dados. Desta forma, durante o processo de recepção de dados, o computador receptor pode
saber qual protocolo deve ser utilizado na camada Internet para receber os dados. A camada MAC (Media
Access Control) é responsável pela montagem dos frames que serão enviados para a rede. Esta camada
é responsável por adicionar os endereços MAC de origem e destino ao pacote (o endereço físico da placa
de rede). Quando os pacotes são enviados para uma rede diferente da rede local, o endereço MAC
inserido como destino será o endereço MAC do roteador a ser usado. Os protocolos que definem esta
camada são IEEE 802.3 (para redes com cabos físicos) e IEEE 802.11 (no caso de redes sem fio). A
camada física é a camada mais baixa do modelo TCP/IP. É responsável por converter os frames gerados
pela camada MAC em sinais elétricos (para redes com cabos físicos) ou sinais eletromagnéticos (para
redes sem fio). No IEEE, a camada física é definida pelo mesmo protocolo da camada MAC. Segundo
BEZERA (2008), o padrão Ethernet especifica a camada de enlace e a camada física. No final do
empacotamento, os dados conterão cabeçalhos para todas as camadas do modelo TCP/IP, bem como
cabeçalhos para a subcamada Ethernet.
3.13 PROTOCOLOS
Os protocolos de rede desempenham diversas funções essenciais para garantir a comunicação eficiente
entre dispositivos. Uma dessas funções é a fragmentação dos dados a serem transmitidos em pequenos
pedaços chamados pacotes. Cada pacote contém informações de endereçamento que especificam a
origem e o destino. Este protocolo organiza as fases de estabelecimento, controle, fluxo e encerramento
da troca de informações.
As funções específicas dos protocolos variam conforme a camada do modelo OSI, mas algumas funções
podem ser executadas em múltiplas camadas, ainda que com diferentes contextos e objetivos (MPR/JAR,
2003).
As principais funções dos protocolos incluem:
Endereçamento: Especificação clara do ponto de destino da mensagem.
Estabelecimento: Criação de um canal lógico fechado entre a fonte e o destino.
Numeração e Sequência: Individualização de cada mensagem por meio de números sequenciais.
Confirmação de Recepção: Garantia de que o destinatário recebeu a mensagem, com ou sem erro.
Controle de Erro: Detecção e correção de erros na transmissão.
Retransmissão: Reenvio de mensagens em caso de falha na recepção.
O conjunto de protocolos utilizados para comunicação entre computadores pela Internet, também
conhecido como conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo norte-
americano para permitir a comunicação entre diferentes redes constituídas por diversos tipos de
computadores. A família de protocolos TCP/IP é particularmente popular porque não pertence a nenhum
fornecedor específico. Portanto, é amplamente apoiado pelo mercado
TCP significa Transmission Control Protocol e refere-se ao sistema mais comum para envio de pacotes na
Internet. Quando você visita um site, seu computador envia dados para o servidor, solicitando que o
servidor envie o conteúdo da página para a máquina que você está usando ? as informações enviadas de
volta são ?emendadas? pelo navegador para exibir o que você deseja
Segundo Scrimger et al., as principais características do TCP são: (2 002) são a transferência de dados,
robustez, controle de fluxo, multiplexação, conexões lógicas e o fato de ser full duplex.
Streaming de dados: o aplicativo pode confirmar se todos os segmentos de dados transmitidos pelo TCP
atingiram o destino esperado e informar se a operação foi bem-sucedida
Robustez: Se os segmentos chegarem fora de ordem, o TCP do receptor irá agrupá-los
Controle de fluxo: O receptor envia uma mensagem confirmando o recebimento ao receber um segmento
Multiplex: uso paralelo das portas de comunicação
Conexão lógica: Identificada pelos processos de envio e recebimento, através de uma combinação de
mecanismos TCP
Full duplex: os dados podem ser transmitidos em ambas as direções simultaneamente
O TCP também emprega seu próprio sistema de numeração para garantir que os pacotes enviados
cheguem ao seu destino na ordem correta. Caso o pacote não seja recebido corretamente pelo receptor, a
informação é enviada novamente até chegar ao seu destino com segurança ? e o mais importante, há
uma verificação de erros para garantir que nenhuma informação foi corrompida durante a transmissão
É exatamente isso que se destaca neste protocolo: confiabilidade. Graças ao TCP, os downloads que você
faz não são corrompidos por flutuações na velocidade da conexão, e as páginas visitadas pelo navegador
raramente carregam algum elemento acidentalmente ? a menos, é claro, que uma das máquinas seja
usada para trocar dados no processo. estiver temporariamente off-line, você receberá uma mensagem de
erro e não poderá acessar o conteúdo desejado.
UDP (User Datagram Protocol) é o ?irmão? do protocolo TCP e também se baseia no envio de pacotes de
informações, mas elimina todas as partes de verificação de erros das outras tecnologias. O objetivo desta
opção é acelerar o processo de envio de dados, pois todas as etapas de comunicação necessárias para
verificar a integridade do pacote (e reenviar o pacote, se necessário) causam lentidão.
Quando o protocolo UDP é ativado, ele simplesmente envia as informações para o receptor sem se
preocupar se as informações foram recebidas corretamente - caso ocorra um erro, o próximo pacote
programado pelo sistema simplesmente será enviado, e o pacote anterior não será capaz recuperar.
Embora este método de operação aumente o risco de erros, garante uma comunicação rápida entre os
dois computadores.
Pelas suas características, este protocolo é amplamente utilizado em situações onde a correção de erros
não é totalmente necessária. Por exemplo, durante a transmissão de um vídeo ao vivo, é mais
interessante que uma pessoa perca certas partes ou tenha que lidar com distorções de imagem e áudio do
que esperar para receber um pacote perdido ? o que pode acabar com o fator ?tempo?. . real".
O protocolo UDP fornece um serviço de entrega sem conexão e não é confiável ao usar IP para transmitir
datagramas entre máquinas( COMER,2006)
O UDP também é amplamente utilizado em jogos online ? se você perder alguns pacotes, o personagem
da outra parte pode ?teletransportar-se? para a tela, mas você não tem motivo para receber os dados
perdidos porque o jogo continuará mesmo que eles não cheguem para você . O que importa é o que está
acontecendo agora, não o que aconteceu há poucos minutos, então não faz sentido confiar na verificação
de erros, que só aumentará a latência para os participantes.
HTTP é um protocolo da camada de aplicação que usa a porta de rede 80. Permite a transmissão de
dados na forma de texto simples, hipertexto, áudio, vídeo, etc. É utilizado em ambientes onde há uma
transição rápida de um documento para outro, como uma página da Internet. Este protocolo possui
características semelhantes aos protocolos FTP e SMTP e permite a transferência de arquivos utilizando
serviços TCP. Porém, é muito mais simples que o FTP, usando apenas uma conexão TCP, porta 80.
Através desta porta, os dados são transmitidos entre o cliente e o servidor
As mensagens HTTP não estão diretamente disponíveis aos usuários. Eles são interpretados pelo cliente
HTTP ? o navegador. A ideia do HTTP é que o cliente envie uma solicitação ao servidor na forma de uma
mensagem, e o servidor envie uma resposta ao cliente na forma de uma mensagem.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) é uma extensão do protocolo HTTP usado para
comunicação segura na World Wide Web. Ele utiliza uma combinação de criptografia SSL/TLS para
garantir a confidencialidade e integridade dos dados transmitidos entre o cliente (geralmente um
navegador da web) e o servidor web.
Quando uma conexão HTTPS é estabelecida, o servidor web envia um certificado digital para o cliente,
que contém uma chave pública. O cliente usa essa chave pública para criptografar uma chave de sessão
simétrica, que é então enviada de volta ao servidor. A partir desse ponto, a comunicação entre o cliente e
o servidor é criptografada usando essa chave de sessão.
O HTTPS oferece várias vantagens sobre o HTTP tradicional, incluindo:
1.Segurança dos dados: A criptografia SSL/TLS protege os dados durante a transmissão, impedindo que
terceiros interceptem ou modifiquem as informações transmitidas.
2.Autenticação do servidor: O uso de certificados digitais permite que o cliente verifique a identidade do
servidor, garantindo que este seja realmente quem afirma ser.
3.Integridade dos dados: Os dados transmitidos por meio do HTTPS são protegidos contra alterações não
autorizadas durante a transmissão.
4.Confiança do usuário: A presença do cadeado verde e do "https://" na barra de endereço do navegador
transmite confiança aos usuários, indicando que a conexão é segura.
O uso do HTTPS é essencial para proteger informações sensíveis, como dados de login, informações de
pagamento e outras informações pessoais dos usuários durante a comunicação na web. Nos dias de hoje,
é amplamente adotado e incentivado por organizações e empresas em todo o mundo.
3.20 PROTOCOLO IP
Este protocolo é responsável por endereçar o pacote para transmissão, adicionando um cabeçalho,
permitindo que o pacote seja roteado pela rede até ser entregue ao destino correto. Os pacotes IP contêm
o endereço IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar
erros e um TTL (informação em segundos) sobre quanto tempo um pacote pode permanecer na rede para
evitar loops infinitos de tráfego). Slinger et al. (2002, p. 107) Um endereço IP é semelhante ao endereço
que você usa para enviar e-mail. ?O endereço deve conter todos os dados necessários para a entrega.
Caso contrário, a carta não chegará ao destino correto.
O roteamento de pacotes pode ser estático ou dinâmico. Em pequenas redes locais, é utilizado o
roteamento estático, o que significa que o caminho que um datagrama percorre para chegar ao seu
destino é sempre o mesmo. Na Internet, o roteamento é dinâmico, o que significa que os roteadores
podem alterar a rota de um pacote a qualquer momento se um caminho melhor para o destino estiver
disponível. A melhor rota é aquela que requer menos saltos (roteadores intermediários), mas rotas mais
curtas não são necessariamente mais rápidas.
O protocolo FTP é usado para acessar arquivos remotos na Web, bem como no servidor de arquivos local
de uma empresa. Quando baixamos arquivos, geralmente usamos o protocolo FTP. Também pode ser
usado para fazer upload de arquivos do seu computador para a web. O protocolo FTP permite transferir
arquivos pela Internet. Existem vários programas gratuitos na Internet que fornecem serviços FTP. Com
ele você pode transferir arquivos, autenticar usuários e gerenciar arquivos e diretórios, segundo Falbriard
(2002), os protocolos utilizados nas redes de comunicação definem conjuntos de regras que coordenam e
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks"(2020) de Russ White e Ethan Banks. Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas.
Como você viu, um protocolo é um conjunto de regras sobre como ocorre a comunicação entre as partes.
Para reduzir a complexidade de um projeto, a maioria das redes foi organizada em uma série de níveis ou
camadas e colocadas dentro de um nível. O número, nome, conteúdo e funcionalidade de cada camada
variam de rede para rede. Entretanto, em todas as redes, o objetivo de cada camada é fornecer
determinados serviços às camadas superiores.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas
A camada N de uma máquina se comunica com a camada N de outra máquina. Para isso, baseia-se em
um conjunto de convenções e regras que permitem gerenciar essa comunicação, o que é denominado
protocolo de camada N, ou protocolo N, abreviadamente.
Em máquinas diferentes, entidades na mesma camada são chamadas de "pares." Esses pares se
comunicam utilizando um protocolo específico. Contudo, os dados não são transferidos diretamente entre
os pares devido à ausência de um meio físico direto entre eles. Cada camada transmite os dados para a
camada imediatamente inferior até alcançar a camada final. Na última camada, a comunicação é realizada
através do hardware da rede, que é o meio físico de transmissão de dados. Em cada par, existe uma
interface que define as operações e serviços que a camada inferior deve fornecer à camada superior
adjacente.
A arquitetura de rede consiste em uma coleção de camadas que formam a estrutura da rede. A
especificação arquitetônica deve conter informações suficientes para permitir o desenvolvimento correto
da rede, tanto do ponto de vista de software quanto de hardware. No entanto, os detalhes de
implementação de cada camada e a especificação detalhada da interface não fazem parte da definição da
arquitetura da rede; em vez disso, é um conjunto de regras que controla o formato e o significado das
informações trocadas pelas entidades pares dentro de uma camada. As entidades utilizam protocolos para
implementar suas definições de serviço e têm a liberdade de modificar seus protocolos, desde que não
alterem os serviços visíveis aos seus usuários.
3.24 HARDWARE
Um livro atual sobre hardware de redes de computadores é "Computer Networking Problems and Solutions
: An innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este
livro oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando
questões de projeto, operação e solução de problemas em redes hierárquicas
Hardware de rede, ou equipamento de rede, refere-se ao equipamento que facilita e suporta a utilização
de redes de computadores, ou seja, o meio físico necessário à comunicação entre os diversos
componentes participantes da rede.
Switches;
Roteadores;
Concentradores;
Repetidores;
Adaptadores de rede;
Modem;
Gateway;
Bridge;
Firewall;
Pontos de acesso sem fio;
Entre outros hardwares relacionados
3.25 SWITCHES
Um switch é um dispositivo usado para encaminhar pacotes de dados entre diferentes nós. Possuem
portas semelhantes a um hub (concentrador), a principal diferença é que o switch segmenta a rede
internamente, pois cada porta corresponde a um domínio de colisão diferente, eliminando assim colisões
entre pacotes vindos de diferentes segmentos de rede.
3.26 HUBS
3.27 ROTEADORES
Um roteador é um dispositivo que encaminha pacotes de dados entre redes de computadores, criando um
conjunto de redes sobrepostas. Os roteadores se conectam a duas ou mais linhas de dados de redes
diferentes. Os roteadores têm muitas funções, mas a mais comum que todos conhecem é a possibilidade
de conexões sem fio. As redes sem fio são amplamente utilizadas hoje em dia porque são mais práticas.
Sua principal desvantagem está relacionada ao hacking, pois os hackers podem ver onde existe a rede
sem fio e, portanto, comprometer facilmente a rede e os computadores que possam estar conectados a ela
.
O cabeamento estruturado é uma abordagem padronizada para cabeamento de rede que leva em
consideração padrões de segurança (como ANSI e EIA/TIA), melhores práticas e melhor utilização dos
recursos do equipamento, permitindo o redirecionamento através de diferentes caminhos dentro da
mesma estrutura de cabeamento para rotear os fios. entre diferentes pontos. A comunicação é uma das
principais características do cabeamento estruturado, conceito que surgiu nos serviços técnicos de voz,
mas, graças à sua ampla adoção por empresas e organizações criadas por meio da padronização,
rapidamente se tornou a solução para os mais diversos serviços de dados.
A maioria dos padrões são internacionais, por isso são desenvolvidos por instituições e associações
respeitáveis, como IEEE (Instituto de Engenheiros Elétricos e Eletrônicos), TIA (Associação da Indústria de
Telecomunicações) e EIA (Associação da Indústria Eletrônica).
ANSI/TIA/EIA-1005 ? Telecommunications Infrastructure Standard for Industrial Premises;
ANSI/TIA-606-A ? Admi nistration Standard for Commercial Telecommunications Infrastructure;
ANSI/TIA-607-B ? Telecommunications Grounding (Earthing) and Bonding for Customer Premises;
ANSI/TIA-758-A ? Customer-Owned Outside Plant Telecommunications Infrastructure Standard;
ANSI/TIA-862 ? Building Automation Systems Cabling Standard for Commercial Buildings;
IEEE-100BASE-TX ? Fast Ethernet;
TIA 569 -B ? Commercial Building Standard for Telecommunications Pathways and Spaces;
TIA/EIA-568-C.0 ? Generic Telecommunications C abling for Customer Premises;
TIA/EIA-568-C.3 ? Optical Fiber Cabling Components Standard.
TIA-942 ? Telecommunications Infrastructure Standard for Data Center;
Todos esses padrões definem o tipo de cabo utilizado, bem como os limites e requisitos
(distância, segmentos, frequência etc.) que a estrutura deve atender para garantir o
funcionamento adequado.
Os mais comuns que utilizamos hoje são os cabos trançados e de fibra óptica, que são escolhidos com
base nos objetivos do negócio, ou seja, o tipo de rede com a qual estamos lidando.
Consiste em fio de cobre condutor coberto com material isolante e rodeado por uma camada de blindagem
. Utilize conectores BNC. Apesar da sua capacidade de reduzir o impacto de influências e sinais externos
nos sinais que transmite, caiu em desuso e só existe em algumas redes mais antigas por serem mais
propensas a maus contactos, terem conectores mais caros e serem menos flexíveis.
O cabo de par trançado é sem dúvida o cabo mais conhecido e ?masterizado? entre os especialistas em
TI, principalmente por ser o cabo utilizado para implementação de redes há muitos anos. Uma de suas
maiores vantagens é o baixo custo e a facilidade de aquisição de produtos prontos ou sob medida.
Os cabos de fibra óptica são projetados para atender tecnologias mais modernas e oferecem uma série de
vantagens, a começar pelo fato das fibras ópticas serem imunes a interferências eletromagnéticas e, claro
, pela capacidade de transmitir dados em altas taxas. O tipo mais rápido de transmissão existente converte
um sinal de dados em luz, e um receptor que recebe a luz converte esse sinal novamente em dados. Por
outro lado, pode transmitir grandes quantidades de informação com atenuação muito baixa, mas é caro
para adquirir e manter. Eles são divididos em monomodo que só consegue fornecer um sinal por vez,
menor dispersão e pode ficar muitos quilômetros entre um relé e outro e multimodo
Um livro contemporâneo sobre serviços de rede é "Networking for Systems Administrators" (2017), de
Michael W. Lucas. Esta obra aborda diversos aspectos relacionados à configuração, administração e
manutenção de serviços de rede como DNS, DHCP, FTP, SSH e email. Destina-se especialmente a
administradores de sistemas que necessitam gerenciar e manter infraestruturas de rede.
Um serviço de rede é um conjunto de operações implementadas por um protocolo através de uma
interface e fornecidas à camada superior. Ele define as operações que uma camada pode realizar sem se
preocupar com a execução específica dessas operações. Os serviços podem ser classificados em
orientados à conexão ou não. Os serviços relacionados à família TCP são orientados à conexão, enquanto
os serviços associados à família UDP não possuem essa característica.
Os serviços de rede podem ser divididos em duas categorias principais: serviços orientados à conexão e
serviços sem conexão. Além desses, existem outros tipos de serviços, como DHCP, que atribui
automaticamente um endereço IP válido para cada dispositivo conectado à rede, e DNS, que permite o
uso de strings em vez de endereços IP numéricos para identificar recursos na Internet.
Os serviços orientados à conexão utilizam o protocolo TCP. Antes do envio de dados, ocorre um processo
de handshaking, que estabelece uma conexão confiável entre os hosts. Esse processo prepara o receptor
para a recepção de dados. Durante essa conexão, é possível verificar se todos os pacotes foram
entregues corretamente e, se necessário, solicitar o reenvio de pacotes perdidos. Esse mecanismo
garante uma transmissão de dados confiável. Adicionalmente, o controle de fluxo e o gerenciamento de
congestionamento são realizados para assegurar que o receptor não seja sobrecarregado e que a rede
não sofra com congestionamentos.
Os serviços sem conexão utilizam o protocolo UDP. Nesse caso, não há um processo de handshaking, o
que significa que não é possível garantir que todos os pacotes cheguem ao destino, pois não se
estabelece uma conexão prévia. Consequentemente, não há criação de um canal seguro para a
transferência de dados. Embora esse método seja mais rápido devido à ausência do processo de
handshaking, ele é menos confiável e não oferece as funcionalidades de controle de fluxo e
gerenciamento de congestionamento presentes no TCP. Exemplos de aplicações que utilizam UDP
incluem vídeo e teleconferências pela Internet.
4. DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Um livro brasileiro atualmente muito utilizado para estudo de desenvolvimento de ferramentas para
comunicação em rede é "Redes de Computadores e a Internet: Uma Abordagem Top-Down" de James F.
Kurose e Keith W. Ross(2010), na sua versão traduzida para o português. Este livro é amplamente no
estudo do tema em redes de computadores no Brasil.
O desenvolvimento de uma ferramenta para comunicação em rede é de extrema importância por várias
razões:
Comunicação Eficiente: Permite a comunicação rápida e eficiente entre diferentes dispositivos, usuários ou
sistemas em uma rede, facilitando a troca de informações, compartilhamento de recursos e colaboração
em tempo real.
Integração de Sistemas: Uma ferramenta de comunicação em rede pode integrar sistemas heterogêneos,
permitindo que eles se comuniquem e compartilhem dados de maneira harmoniosa, melhorando a
interoperabilidade e a eficiência operacional.
Acesso Remoto: Facilita o acesso remoto a recursos e informações, permitindo que usuários acessem
dados ou sistemas de qualquer lugar, a qualquer momento, desde que estejam conectados à rede, o que
aumenta a flexibilidade e a mobilidade.
Colaboração: Promove a colaboração e o trabalho em equipe, possibilitando a comunicação instantânea e
a troca de informações entre colegas, equipes de trabalho ou parceiros de negócios, independentemente
da localização geográfica.
Distribuição de Recursos: Permite a distribuição eficiente de recursos, como impressoras, servidores de
arquivos, bancos de dados e dispositivos de armazenamento, dentro de uma rede, otimizando o uso dos
recursos disponíveis.
Monitoramento e Gerenciamento: Facilita o monitoramento e o gerenciamento de dispositivos, sistemas e
infraestrutura de rede, permitindo a detecção precoce de problemas, manutenção proativa e otimização do
desempenho da rede.
Segurança da Informação: Uma ferramenta de comunicação em rede pode implementar recursos de
segurança, como criptografia, autenticação, controle de acesso e monitoramento de tráfego, para proteger
os dados e garantir a confidencialidade, integridade e disponibilidade das informações.
Inovação e Desenvolvimento Tecnológico: O desenvolvimento contínuo de ferramentas para comunicação
em rede impulsiona a inovação e o desenvolvimento tecnológico, permitindo a criação de novas aplicações
, serviços e soluções que atendam às necessidades em constante evolução dos usuários e organizações.
Em resumo, o desenvolvimento de uma ferramenta para comunicação em rede é essencial para facilitar a
comunicação, promover a colaboração, otimizar o uso de recursos, garantir a segurança da informação e
impulsionar a inovação e o desenvolvimento tecnológico.
6. CONSIDERAÇÕESFINAIS
Neste capítulo, observamos três conceitos principais: Primeiro, um soquete é um ponto de comunicação
usado para transferir dados pela Internet entre aplicações executadas em máquinas diferentes. A
programação de aplicações socket é feita utilizando um conjunto de primitivas, que são funções que
permitem acesso a serviços de transporte e são fornecidas pela camada de transporte. Eles são
comumente usados ??em programação para Internet e pertencem a um grupo de primitivos chamados
Berkeley Sockets.
Essas funções são usadas para programar aplicativos cliente e servidor (embora existam algumas
diferenças de programação entre os dois) e, embora existam muitas, apenas as primitivas básicas
necessárias inicialmente para desenvolver uma aplicação cliente/servidor serão usadas, em segundo lugar
, vemos que a arquitetura TCP/IP é independente da tecnologia usada para transmitir quadros e introduz
dois níveis de endereçamento: IP, que permite o endereçamento de rede, e portas, que permitem o
endereçamento de processos. Por sua vez, os protocolos de aplicação fornecem padronização entre
mensagens trocadas entre clientes e servidores para permitir a interoperabilidade entre produtos de
diferentes fabricantes.
Finalmente, o modelo em camadas fornece uma estratégia comum para múltiplas tecnologias de
transporte, incluindo TCP/IP. Idealmente, o modelo em camadas define que os protocolos da mesma
camada são concorrentes (não são usados ??ao mesmo tempo) e os protocolos de camadas diferentes
são complementares (seus cabeçalhos podem ser empilhados).
REFERÊNCIAS
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed.
Pearson, 2010.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de Computadores: Das LANs
, MANs e WANs às Redes ATM. Editora Campus, 1997. p. 28.
TAROUCO, Liane M. R. Redes de Computadores Locais e de Longa Distância. Editora McGraw-Hill, 1986.
p. 53.
TORRES, G. Redes de Computadores: Das LANs, MANs e WANs às Redes ATM. Axcel Books, 2003.
WHITE, R.; BANKS, E. Computer Networking Problems and Solutions: An Innovative Approach to Building
Resilient, Modern Networks. Wiley, 2020.
ANEXOS
37
=================================================================================
Arquivo 1: 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx (6703 termos)
Arquivo 2: https://blog.betrybe.com/tecnologia/protocolo-tcp-ip (2767 termos)
Termos comuns: 135
Similaridade: 1,44%
O texto abaixo é o conteúdo do documento 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx
(6703 termos)
Os termos em vermelho foram encontrados no documento
https://blog.betrybe.com/tecnologia/protocolo-tcp-ip (2767 termos)
=================================================================================
Sorocaba, SP
2024
SUMARIO
1. OBJETIVO DO TRABALHO4
2. INTRODUÇÃO5
3. REFERENCIAL TEÓRICO7
3.1 SOQUETE DE REDE7
3.2 SOQUETES UDP10
3.3 SOQUETE TCP10
3.4 ARQUITETURA EM CAMADAS12
3.5 CAMADA DE APLICAÇÃO13
3.6 CAMADA DE APRESENTAÇÃO13
3.7 CAMADA DE SESSÃO13
3.8 CAMADA DE TRANSPORTE13
3.9 CAMADA DE REDE14
3.10 CAMADA DE LINK OU MAC14
3.11 CAMADA FÍSICA14
3.12 MODELO ETHERNET14
3.13 PROTOCOLOS15
3.14 FUNÇÕES DO PROTOCOLOS17
3.15 PROTOCOLOS DE CAMADAS18
3.16 PROTOCOLO TCP18
3.17 PROTOCOLO UDP19
3.18 PROTOCOLO HTTP20
3.19 PROTOCOLO HTTPS21
3.20 PROTOCOLO IP22
3.21 PROTOCOLO DE ROTEAMENTO22
3.22 PROTOCOLO FTP22
3.23 HIERARQUIAS DE REDE23
3.24 HARDWARE25
3.25 SWITCHES26
3.26 HUBS26
3.27 ROTEADORES26
3.28 CABEAMENTO ESTRUTURADO27
3.29 PRINCIPAIS NORMAS DE CABEAMENTO27
3.30 TIPOS DE CABEAMENTO28
3.31 CABO COAXIAL28
3.32 CABO PAR TRANÇADO28
3.33 CABO DE FIBRA ÓPTICA29
3.34 SERVIÇOS DE REDE29
3.35 CLASSIFICAÇÃO DE SERVIÇOS29
3.36 SERVIÇOS ORIENTADOS A CONEXÃO30
3.37 SERVIÇOS SEM CONEXÃO:30
4. DESENVOLVIMENTO31
4.1 CÓDIGO DO SERVIDOR31
1. OBJETIVO DO TRABALHO
O relatório deve incluir o uso de primitivos de soquete Berkeley ou componentes derivados deles para
comunicação de dados. Deve abordar todos os elementos utilizados no desenvolvimento do projeto, bem
como o impacto deste trabalho na formação da equipe. Além disso, é importante discutir a
interdisciplinaridade envolvida no projeto devido ao nível de detalhe, funcionalidade, tratamento de erros,
implementação de funcionalidades adicionais e relatórios adicionais no sistema, que serão apresentados
no desenvolvimento.
2. INTRODUÇÃO
O grupo desenvolveu uma ferramenta de comunicação em rede utilizando Java e C#. Camila Goulart
Madosaki as atividades práticas supervisionadas estão estruturadas da seguinte forma. A equipe criou
uma aplicação que permite que duas ou mais pessoas se comuniquem em rede utilizando o protocolo TCP
/IP, ferramenta que será utilizada em situações que envolvem o meio ambiente. O tema escolhido pelo
grupo foi a preservação e sustentabilidade do meio ambiente. Estudo da topologia do sistema. O
documento apresenta uma referência teórica, na qual aborda um extenso sistema de comunicação que
conecta diversas redes de computadores. O sistema de comunicação consistirá de um arranjo topológico
interconectando módulos de processador individuais através de links físicos, dispositivos de transmissão
ou redes de transporte e um conjunto de regras para organizar. Existem muitos dispositivos diferentes em
muitas formas e recursos que podem ser interconectados e compartilhados através de métodos de acesso
, protocolos e requisitos de segurança. Os métodos de comunicação podem ser: linhas telefônicas, cabos,
comunicações via satélite ou sem fio. O objetivo de uma rede de computadores é permitir que os
computadores troquem dados e compartilhem recursos de hardware e software. A classificação dos
tamanhos de rede é: PAN, LAN, MAN, WAN A topologia de uma rede mostra como as máquinas estão
conectadas entre si. De acordo com a topologia, a rede pode ser dividida em: rede ponto a ponto, rede em
estrela, rede em anel e rede em árvore. O cabeamento estruturado refere-se aos vários tipos de cabos
instalados em uma residência ou empresa para distribuição de áudio, vídeo, telefone e dados. Esses fios
costumam ser agrupados, assim como cabos de rede, cabos de áudio de fibra óptica e outras
combinações personalizadas para distribuir itens por todo o ambiente. Cabeamento estruturado é um
termo genérico que inclui várias formas de cabos colocados em uma casa ou escritório para distribuição
de sinais de áudio, vídeo, telefone e dados. Tais fios, normalmente, são postos juntos em grupos, desde
cabos de rede passando por cabos de áudio de fibra óptica e muitas outras combinações personalizadas
que levam os itens a serem distribuídos por todo o ambiente. Um protocolo de comunicação é um acordo
utilizado na comunicação entre duas ou mais partes com o intuito de estabelecer como será a
comunicação entre elas. Simplificando, seria mais ou menos isso: um conjunto de regras. De maneira
simplificada, um protocolo poderia ser definido como regras que "governam" a sintaxe, a semântica e a
sincronia da comunicação. A evolução das ferramentas de comunicação em rede impulsiona inovação e
desenvolvimento tecnológico, permitindo responder a emergentes necessidades dos utilizadores e das
organizações na criação de novas aplicações, serviços e soluções.
3. REFERENCIAL TEÓRICO
"Unix Network Programming" (2003) ou Programação de rede Unix por W. Richard Stevens. Considerado
um clássico na área de programação de redes, este livro fornece uma introdução abrangente ao assunto.
Ele não cobre apenas o uso de soquetes em sistemas Unix, mas também fornece uma compreensão
sólida dos conceitos subjacentes à comunicação em rede. Este livro é conhecido por sua abordagem
prática e clara e exemplos de código detalhados e explicativos. Além disso, "TCP/IP Illustrator" (1994) do
mesmo autor, W. Richard Stevens, é outro livro altamente recomendado para aprender os fundamentos do
protocolo TCP/IP, que é a base das comunicações de rede na Internet. Este livro complementa muito bem
a programação de rede Unix, fornecendo uma compreensão mais profunda dos protocolos de rede.
Ambos os livros são recursos valiosos para estudantes, profissionais de TI e desenvolvedores
interessados em aprender programação de redes e soquetes. Especificamente, na computação, os
soquetes podem ser usados em conexões de rede de computadores para fornecer um link de
comunicação bidirecional entre dois programas. As conexões de soquete tiveram origem em 1980, quando
a agência governamental dos EUA ARPA (Advanced Research Projects Agency) forneceu recursos
financeiros à Universidade da Califórnia, Berkeley, para fornecer uma implementação UNIX do pacote de
protocolo TCP/IP. O produto desenvolvido posteriormente ficou conhecido como Berkeley Sockets
Interface ou simplesmente Berkeley Sockets. Frequentemente recomendado para aprender sobre
soquetes e programação de redes é "Unix Network Programming" de W. Richard Stevens (2003). Este
livro é considerado um clássico no campo da programação de redes e oferece uma cobertura abrangente
sobre o assunto. Os soquetes foram desenvolvidos especificamente para aplicações cliente/servidor, onde
o cliente e o servidor podem estar em máquinas diferentes e se comunicarem através de um protocolo de
transporte, o que significa que quando a aplicação interage com o software do protocolo, ela deve ser
informada que se trata de um cliente ou servidor. Para estabelecer uma conexão, apenas o endereço de
destino e o número da porta são necessários. Existem dois modos de transmissão de soquete: modo
baseado em conexão e modo sem conexão. Os soquetes baseados em conexão funcionam como
telefones: eles estabelecem uma conexão e depois suspendem a conexão. Os soquetes sem conexão
funcionam como correio: a entrega não é garantida e diferentes itens de correio podem chegar em uma
ordem diferente daquela em que foram enviados. A escolha do modo de transporte de soquete dependerá
das necessidades da sua aplicação. Se a confiabilidade for importante, o modo baseado em conexão
deverá ser usado. Por exemplo, um servidor de arquivos precisa que todos os seus dados cheguem ao
usuário na ordem correta. A operação sem conexão será mais rápida e eficiente, mas não há garantia. O
método de conexão adota o protocolo TCP. Um soquete neste modo de operação deve ser conectado ao
destino antes que os dados possam ser transferidos. Quando conectado, o soquete usa a interface de
fluxo: open-read-write-close. Um soquete também é uma abstração computacional que mapeia
diretamente para uma porta de transporte por meio de um protocolo TCP ou UDP e um endereço de rede.
Por sua vez, o soquete se abstrai e pode utilizar qualquer um dos métodos TCP ou UDP já mencionados.
Com este conceito é possível identificar de forma única uma aplicação ou servidor numa rede de
comunicações IP. No documento RFC (Request for Comments) relacionado ao TCP ou UDP, um soquete
em um computador é definido como uma combinação de endereço IP, protocolo e número de porta do
protocolo. Soquetes e RPC possuem a funcionalidade para implementar aplicativos. Funcionalidades de
rede, mas são implementadas de maneiras diferentes, por exemplo, imagine que você precisa desenvolver
uma aplicação de servidor que funcione como uma "sala" de chat. Essencialmente, a aplicação receberá
chamadas do cliente (em uma determinada porta) e então se o cliente enviar uma mensagem, o servidor
enviará essa mensagem para todos os outros clientes.
Ou imagine, por exemplo, que você tem um sensor de temperatura instalado em seu computador e possui
um aplicativo de servidor que controla o sensor, fornecendo informações sobre o clima. A aplicação cliente
pode conectar-se remotamente à aplicação servidora e obter essas informações. Tudo isso pode ser
desenvolvido usando soquetes
Geralmente, há um aplicativo que cria o soquete do servidor e outro aplicativo que implementa o cliente.
Existem dois tipos principais de soquetes: Socket_Stream (também conhecido como TCP) ou SOCK
_DGRAM (também conhecido como UDP). Os soquetes TCP garantem a confiabilidade da comunicação
(entrega de pacotes garantida), enquanto os soquetes UDP não garantem a entrega de pacotes no nível
da camada de transporte)
A comunicação entre processos também pode ocorrer via UDP. No entanto, o UDP é um serviço sem
conexão. O remetente insere explicitamente o endereço IP e a porta do destino no formato IP:porta (por
exemplo: 192.168.0.1:80). O servidor deve extrair o endereço IP e a porta (soquete) do remetente do
datagrama recebido. Os dados recebidos podem ser recebidos fora de ordem ou até mesmo perdidos. Só
então os dados são encaminhados para as camadas superiores, da camada de transporte (protocolo UDP
) para a camada de aplicação (qualquer aplicação).
Esses Datagram Soquete ou DataGrama, por serem UDP, possuem comunicação não orientada à
conexão e não são confiáveis, pois os dados enviados neste tipo podem não chegar ao destino final da
forma como foram enviados, e não há garantia de sua chegada. Streaming de áudio e vídeo sob demanda
e jogos multijogador são exemplos de aplicativos de soquete de datagrama. Neste tipo de transferência, a
perda de pequenas quantidades de dados não traz consequências graves para o processo. Tanto o
Socket UDP quanto o Socket TCP usam o protocolo IP para rotear dados pela rede.
No protocolo TCP, um soquete cria uma conexão de streaming bidirecional entre os endereços 'hostC
:portC' e 'hostS:portS', ou seja, entre a aplicação cliente em execução na máquina 'hostC' e também pode
controlar a porta 'portC' e outro aplicativo de servidor em execução no computador 'hostS', observando a
porta 'portS' de 'hostS'. Sabemos também que o protocolo TCP é orientado à conexão e por isso garante
que os dados enviados do cliente para o servidor cheguem ao seu destino na respectiva porta. Esta forma
de comunicação com soquetes TCP utiliza soquetes de fluxo, que representam uma forma de
comunicação bidirecional confiável e orientada à conexão.
Os dados enviados através deste tipo de Socket estarão seguros e chegarão da mesma forma que foram
enviados, pois o protocolo TCP é responsável por ?entregar? os dados da mesma forma que foram
enviados e sem erros. Por exemplo: os navegadores usam este aplicativo sobre protocolos HTTP, que
normalmente funcionam no soquete 80. Um soquete é uma abstração de um endereço de comunicação
através do qual os processos se comunicam. Cada endereço possui um identificador exclusivo que
consiste no endereço da máquina e no identificador local da porta utilizada pelo processo.
Este identificador de porta é usado para mapear os dados recebidos pela máquina para um processo
(aplicação) específico. O processo de comunicação no modo orientado à conexão é o seguinte: o servidor
é colocado em uma porta específica e aguarda uma conexão com essa porta. O cliente deve saber
antecipadamente o nome IP do servidor e a porta correspondente na qual o servidor está aguardando
conexões.
Conforme na figura 2.
Se não houver problemas, o servidor aceita a conexão gerando um soquete em uma porta livre do lado do
servidor, criando assim um canal de comunicação entre o cliente e o servidor. É importante observar que a
porta original está livre para receber outras solicitações de conexão. A imagem abaixo demonstra o
mesmo canal de comunicação.
O modelo de referência OSI foi criado pela ISO em 1978 para construir sistemas de conexão entre
dispositivos através da padronização de protocolos e padrões, que é um padrão global e modelo
conceitual desde 1984. Este modelo propõe um esquema de trabalho conjunto entre hardware e software
para permitir a comunicação entre dispositivos. No entanto, o modelo OSI é mais teórico do que prático.
livro amplamente recomendado sobre arquitetura em camadas é "Patterns of Enterprise Application
Architecture" (Padrões de Arquitetura de Aplicações Corporativas) de Martin Fowler(2003). Embora o livro
não se concentre exclusivamente na arquitetura em camadas, aborda vários padrões arquiteturais comuns
, incluindo a arquitetura em camadas, e fornece uma compreensão sólida dos princípios e práticas
envolvidos na construção de sistemas de software escaláveis e robustos.
É responsável por definir o formato de troca de dados entre computadores, atuando como conversor de
protocolos, criptografia, compactação de dados, entre outras tarefas.
Uma sessão é um canal de comunicação entre dois aplicativos executados em computadores diferentes. A
camada de sessão é responsável por gerenciar conversas entre aplicações para que elas possam abrir,
usar e fechar sessões. É nesta camada que são executadas as funções de reconhecimento de nomes e
segurança.
É responsável pela integridade dos pacotes de informações e garante uma comunicação confiável. Esta
integridade é conseguida graças ao sinal ACK enviado entre as duas partes (sinal que confirma que a
comunicação ocorreu corretamente, do receptor ao transmissor). O protocolo TCP é executado nesta
camada
É usado para identificar o endereço de um sistema em uma rede e realmente transferir dados. A camada
de rede deve conhecer o meio físico da rede e empacotar as informações de forma que a camada de
enlace possa enviá-las para a camada física. Em muitas redes, esta camada não verifica a integridade da
informação, apenas a encapsula.
É utilizado para definir como a informação é transmitida através da camada física e garante o bom
funcionamento desta camada. Se houver erros na transmissão de informações no meio físico, como cabos
danificados ou colisões de dados, a camada MAC deverá tratar esses erros ou comunicá-los às camadas
superiores.
Consiste em hardware como cabos, fibras ópticas e conectores usados ??para conectar diferentes
sistemas de rede. Nesta camada, as informações são codificadas na forma de sinais elétricos
Um livro recomendado sobre o modelo Ethernet é "Ethernet: The Definitive Guide" (2000) de Charles E.
Spurgeon. Este livro fornece uma visão geral abrangente da tecnologia Ethernet, incluindo seu histórico,
capacidades, padrões e protocolos relacionados. As redes Ethernet podem transportar até 1.500 bytes de
dados. Portanto, o sistema operacional configura automaticamente o protocolo IP para criar um datagrama
de 1.500 bytes em vez de 65.535 bytes (o tamanho real do datagrama é 1.497 porque a camada LLC usa
3 ou 5 bytes para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, o que equivale à
Interface de Rede do modelo TCP/IP. Sobre o modelo Ethernet é "Ethernet: The Definitive Guide" de
Charles E. Spurgeon(2000). Este livro oferece uma visão abrangente da tecnologia Ethernet, incluindo sua
história, funcionamento, padrões e protocolos associados. A camada LLC (Logical Link Control) é
responsável por adicionar informações sobre qual protocolo da camada Internet é responsável pela
geração dos dados. Desta forma, durante o processo de recepção de dados, o computador receptor pode
saber qual protocolo deve ser utilizado na camada Internet para receber os dados. A camada MAC (Media
Access Control) é responsável pela montagem dos frames que serão enviados para a rede. Esta camada
é responsável por adicionar os endereços MAC de origem e destino ao pacote (o endereço físico da placa
de rede). Quando os pacotes são enviados para uma rede diferente da rede local, o endereço MAC
inserido como destino será o endereço MAC do roteador a ser usado. Os protocolos que definem esta
camada são IEEE 802.3 (para redes com cabos físicos) e IEEE 802.11 (no caso de redes sem fio). A
camada física é a camada mais baixa do modelo TCP/IP. É responsável por converter os frames gerados
pela camada MAC em sinais elétricos (para redes com cabos físicos) ou sinais eletromagnéticos (para
redes sem fio). No IEEE, a camada física é definida pelo mesmo protocolo da camada MAC. Segundo
BEZERA (2008), o padrão Ethernet especifica a camada de enlace e a camada física. No final do
empacotamento, os dados conterão cabeçalhos para todas as camadas do modelo TCP/IP, bem como
cabeçalhos para a subcamada Ethernet.
3.13 PROTOCOLOS
Os protocolos de rede desempenham diversas funções essenciais para garantir a comunicação eficiente
entre dispositivos. Uma dessas funções é a fragmentação dos dados a serem transmitidos em pequenos
pedaços chamados pacotes. Cada pacote contém informações de endereçamento que especificam a
origem e o destino. Este protocolo organiza as fases de estabelecimento, controle, fluxo e encerramento
da troca de informações.
As funções específicas dos protocolos variam conforme a camada do modelo OSI, mas algumas funções
podem ser executadas em múltiplas camadas, ainda que com diferentes contextos e objetivos (MPR/JAR,
2003).
As principais funções dos protocolos incluem:
Endereçamento: Especificação clara do ponto de destino da mensagem.
Estabelecimento: Criação de um canal lógico fechado entre a fonte e o destino.
Numeração e Sequência: Individualização de cada mensagem por meio de números sequenciais.
Confirmação de Recepção: Garantia de que o destinatário recebeu a mensagem, com ou sem erro.
Controle de Erro: Detecção e correção de erros na transmissão.
Retransmissão: Reenvio de mensagens em caso de falha na recepção.
O conjunto de protocolos utilizados para comunicação entre computadores pela Internet, também
conhecido como conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo norte-
americano para permitir a comunicação entre diferentes redes constituídas por diversos tipos de
computadores. A família de protocolos TCP/IP é particularmente popular porque não pertence a nenhum
fornecedor específico. Portanto, é amplamente apoiado pelo mercado
TCP significa Transmission Control Protocol e refere-se ao sistema mais comum para envio de pacotes na
Internet. Quando você visita um site, seu computador envia dados para o servidor, solicitando que o
servidor envie o conteúdo da página para a máquina que você está usando ? as informações enviadas de
volta são ?emendadas? pelo navegador para exibir o que você deseja
Segundo Scrimger et al., as principais características do TCP são: (2 002) são a transferência de dados,
robustez, controle de fluxo, multiplexação, conexões lógicas e o fato de ser full duplex.
Streaming de dados: o aplicativo pode confirmar se todos os segmentos de dados transmitidos pelo TCP
atingiram o destino esperado e informar se a operação foi bem-sucedida
Robustez: Se os segmentos chegarem fora de ordem, o TCP do receptor irá agrupá-los
Controle de fluxo: O receptor envia uma mensagem confirmando o recebimento ao receber um segmento
Multiplex: uso paralelo das portas de comunicação
Conexão lógica: Identificada pelos processos de envio e recebimento, através de uma combinação de
mecanismos TCP
Full duplex: os dados podem ser transmitidos em ambas as direções simultaneamente
O TCP também emprega seu próprio sistema de numeração para garantir que os pacotes enviados
cheguem ao seu destino na ordem correta. Caso o pacote não seja recebido corretamente pelo receptor, a
informação é enviada novamente até chegar ao seu destino com segurança ? e o mais importante, há
uma verificação de erros para garantir que nenhuma informação foi corrompida durante a transmissão
É exatamente isso que se destaca neste protocolo: confiabilidade. Graças ao TCP, os downloads que você
faz não são corrompidos por flutuações na velocidade da conexão, e as páginas visitadas pelo navegador
raramente carregam algum elemento acidentalmente ? a menos, é claro, que uma das máquinas seja
usada para trocar dados no processo. estiver temporariamente off-line, você receberá uma mensagem de
erro e não poderá acessar o conteúdo desejado.
UDP (User Datagram Protocol) é o ?irmão? do protocolo TCP e também se baseia no envio de pacotes de
informações, mas elimina todas as partes de verificação de erros das outras tecnologias. O objetivo desta
opção é acelerar o processo de envio de dados, pois todas as etapas de comunicação necessárias para
verificar a integridade do pacote (e reenviar o pacote, se necessário) causam lentidão.
Quando o protocolo UDP é ativado, ele simplesmente envia as informações para o receptor sem se
preocupar se as informações foram recebidas corretamente - caso ocorra um erro, o próximo pacote
programado pelo sistema simplesmente será enviado, e o pacote anterior não será capaz recuperar.
Embora este método de operação aumente o risco de erros, garante uma comunicação rápida entre os
dois computadores.
Pelas suas características, este protocolo é amplamente utilizado em situações onde a correção de erros
não é totalmente necessária. Por exemplo, durante a transmissão de um vídeo ao vivo, é mais
interessante que uma pessoa perca certas partes ou tenha que lidar com distorções de imagem e áudio do
que esperar para receber um pacote perdido ? o que pode acabar com o fator ?tempo?. . real".
O protocolo UDP fornece um serviço de entrega sem conexão e não é confiável ao usar IP para transmitir
datagramas entre máquinas( COMER,2006)
O UDP também é amplamente utilizado em jogos online ? se você perder alguns pacotes, o personagem
da outra parte pode ?teletransportar-se? para a tela, mas você não tem motivo para receber os dados
perdidos porque o jogo continuará mesmo que eles não cheguem para você . O que importa é o que está
acontecendo agora, não o que aconteceu há poucos minutos, então não faz sentido confiar na verificação
de erros, que só aumentará a latência para os participantes.
HTTP é um protocolo da camada de aplicação que usa a porta de rede 80. Permite a transmissão de
dados na forma de texto simples, hipertexto, áudio, vídeo, etc. É utilizado em ambientes onde há uma
transição rápida de um documento para outro, como uma página da Internet. Este protocolo possui
características semelhantes aos protocolos FTP e SMTP e permite a transferência de arquivos utilizando
serviços TCP. Porém, é muito mais simples que o FTP, usando apenas uma conexão TCP, porta 80.
Através desta porta, os dados são transmitidos entre o cliente e o servidor
As mensagens HTTP não estão diretamente disponíveis aos usuários. Eles são interpretados pelo cliente
HTTP ? o navegador. A ideia do HTTP é que o cliente envie uma solicitação ao servidor na forma de uma
mensagem, e o servidor envie uma resposta ao cliente na forma de uma mensagem.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) é uma extensão do protocolo HTTP usado para
comunicação segura na World Wide Web. Ele utiliza uma combinação de criptografia SSL/TLS para
garantir a confidencialidade e integridade dos dados transmitidos entre o cliente (geralmente um
navegador da web) e o servidor web.
Quando uma conexão HTTPS é estabelecida, o servidor web envia um certificado digital para o cliente,
que contém uma chave pública. O cliente usa essa chave pública para criptografar uma chave de sessão
simétrica, que é então enviada de volta ao servidor. A partir desse ponto, a comunicação entre o cliente e
o servidor é criptografada usando essa chave de sessão.
O HTTPS oferece várias vantagens sobre o HTTP tradicional, incluindo:
1.Segurança dos dados: A criptografia SSL/TLS protege os dados durante a transmissão, impedindo que
terceiros interceptem ou modifiquem as informações transmitidas.
2.Autenticação do servidor: O uso de certificados digitais permite que o cliente verifique a identidade do
servidor, garantindo que este seja realmente quem afirma ser.
3.Integridade dos dados: Os dados transmitidos por meio do HTTPS são protegidos contra alterações não
autorizadas durante a transmissão.
4.Confiança do usuário: A presença do cadeado verde e do "https://" na barra de endereço do navegador
transmite confiança aos usuários, indicando que a conexão é segura.
O uso do HTTPS é essencial para proteger informações sensíveis, como dados de login, informações de
pagamento e outras informações pessoais dos usuários durante a comunicação na web. Nos dias de hoje,
é amplamente adotado e incentivado por organizações e empresas em todo o mundo.
3.20 PROTOCOLO IP
Este protocolo é responsável por endereçar o pacote para transmissão, adicionando um cabeçalho,
permitindo que o pacote seja roteado pela rede até ser entregue ao destino correto. Os pacotes IP contêm
o endereço IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar
erros e um TTL (informação em segundos) sobre quanto tempo um pacote pode permanecer na rede para
evitar loops infinitos de tráfego). Slinger et al. (2002, p. 107) Um endereço IP é semelhante ao endereço
que você usa para enviar e-mail. ?O endereço deve conter todos os dados necessários para a entrega.
Caso contrário, a carta não chegará ao destino correto.
O roteamento de pacotes pode ser estático ou dinâmico. Em pequenas redes locais, é utilizado o
roteamento estático, o que significa que o caminho que um datagrama percorre para chegar ao seu
destino é sempre o mesmo. Na Internet, o roteamento é dinâmico, o que significa que os roteadores
podem alterar a rota de um pacote a qualquer momento se um caminho melhor para o destino estiver
disponível. A melhor rota é aquela que requer menos saltos (roteadores intermediários), mas rotas mais
curtas não são necessariamente mais rápidas.
O protocolo FTP é usado para acessar arquivos remotos na Web, bem como no servidor de arquivos local
de uma empresa. Quando baixamos arquivos, geralmente usamos o protocolo FTP. Também pode ser
usado para fazer upload de arquivos do seu computador para a web. O protocolo FTP permite transferir
arquivos pela Internet. Existem vários programas gratuitos na Internet que fornecem serviços FTP. Com
ele você pode transferir arquivos, autenticar usuários e gerenciar arquivos e diretórios, segundo Falbriard
(2002), os protocolos utilizados nas redes de comunicação definem conjuntos de regras que coordenam e
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks"(2020) de Russ White e Ethan Banks. Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas.
Como você viu, um protocolo é um conjunto de regras sobre como ocorre a comunicação entre as partes.
Para reduzir a complexidade de um projeto, a maioria das redes foi organizada em uma série de níveis ou
camadas e colocadas dentro de um nível. O número, nome, conteúdo e funcionalidade de cada camada
variam de rede para rede. Entretanto, em todas as redes, o objetivo de cada camada é fornecer
determinados serviços às camadas superiores.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas
A camada N de uma máquina se comunica com a camada N de outra máquina. Para isso, baseia-se em
um conjunto de convenções e regras que permitem gerenciar essa comunicação, o que é denominado
protocolo de camada N, ou protocolo N, abreviadamente.
Em máquinas diferentes, entidades na mesma camada são chamadas de "pares." Esses pares se
comunicam utilizando um protocolo específico. Contudo, os dados não são transferidos diretamente entre
os pares devido à ausência de um meio físico direto entre eles. Cada camada transmite os dados para a
camada imediatamente inferior até alcançar a camada final. Na última camada, a comunicação é realizada
através do hardware da rede, que é o meio físico de transmissão de dados. Em cada par, existe uma
interface que define as operações e serviços que a camada inferior deve fornecer à camada superior
adjacente.
A arquitetura de rede consiste em uma coleção de camadas que formam a estrutura da rede. A
especificação arquitetônica deve conter informações suficientes para permitir o desenvolvimento correto
da rede, tanto do ponto de vista de software quanto de hardware. No entanto, os detalhes de
implementação de cada camada e a especificação detalhada da interface não fazem parte da definição da
arquitetura da rede; em vez disso, é um conjunto de regras que controla o formato e o significado das
informações trocadas pelas entidades pares dentro de uma camada. As entidades utilizam protocolos para
implementar suas definições de serviço e têm a liberdade de modificar seus protocolos, desde que não
alterem os serviços visíveis aos seus usuários.
3.24 HARDWARE
Um livro atual sobre hardware de redes de computadores é "Computer Networking Problems and Solutions
: An innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este
livro oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando
questões de projeto, operação e solução de problemas em redes hierárquicas
Hardware de rede, ou equipamento de rede, refere-se ao equipamento que facilita e suporta a utilização
de redes de computadores, ou seja, o meio físico necessário à comunicação entre os diversos
componentes participantes da rede.
Switches;
Roteadores;
Concentradores;
Repetidores;
Adaptadores de rede;
Modem;
Gateway;
Bridge;
Firewall;
Pontos de acesso sem fio;
Entre outros hardwares relacionados
3.25 SWITCHES
Um switch é um dispositivo usado para encaminhar pacotes de dados entre diferentes nós. Possuem
portas semelhantes a um hub (concentrador), a principal diferença é que o switch segmenta a rede
internamente, pois cada porta corresponde a um domínio de colisão diferente, eliminando assim colisões
entre pacotes vindos de diferentes segmentos de rede.
3.26 HUBS
3.27 ROTEADORES
Um roteador é um dispositivo que encaminha pacotes de dados entre redes de computadores, criando um
conjunto de redes sobrepostas. Os roteadores se conectam a duas ou mais linhas de dados de redes
diferentes. Os roteadores têm muitas funções, mas a mais comum que todos conhecem é a possibilidade
de conexões sem fio. As redes sem fio são amplamente utilizadas hoje em dia porque são mais práticas.
Sua principal desvantagem está relacionada ao hacking, pois os hackers podem ver onde existe a rede
sem fio e, portanto, comprometer facilmente a rede e os computadores que possam estar conectados a ela
.
O cabeamento estruturado é uma abordagem padronizada para cabeamento de rede que leva em
consideração padrões de segurança (como ANSI e EIA/TIA), melhores práticas e melhor utilização dos
recursos do equipamento, permitindo o redirecionamento através de diferentes caminhos dentro da
mesma estrutura de cabeamento para rotear os fios. entre diferentes pontos. A comunicação é uma das
principais características do cabeamento estruturado, conceito que surgiu nos serviços técnicos de voz,
mas, graças à sua ampla adoção por empresas e organizações criadas por meio da padronização,
rapidamente se tornou a solução para os mais diversos serviços de dados.
A maioria dos padrões são internacionais, por isso são desenvolvidos por instituições e associações
respeitáveis, como IEEE (Instituto de Engenheiros Elétricos e Eletrônicos), TIA (Associação da Indústria de
Telecomunicações) e EIA (Associação da Indústria Eletrônica).
ANSI/TIA/EIA-1005 ? Telecommunications Infrastructure Standard for Industrial Premises;
ANSI/TIA-606-A ? Admi nistration Standard for Commercial Telecommunications Infrastructure;
ANSI/TIA-607-B ? Telecommunications Grounding (Earthing) and Bonding for Customer Premises;
ANSI/TIA-758-A ? Customer-Owned Outside Plant Telecommunications Infrastructure Standard;
ANSI/TIA-862 ? Building Automation Systems Cabling Standard for Commercial Buildings;
IEEE-100BASE-TX ? Fast Ethernet;
TIA 569 -B ? Commercial Building Standard for Telecommunications Pathways and Spaces;
TIA/EIA-568-C.0 ? Generic Telecommunications C abling for Customer Premises;
TIA/EIA-568-C.3 ? Optical Fiber Cabling Components Standard.
TIA-942 ? Telecommunications Infrastructure Standard for Data Center;
Todos esses padrões definem o tipo de cabo utilizado, bem como os limites e requisitos
(distância, segmentos, frequência etc.) que a estrutura deve atender para garantir o
funcionamento adequado.
Os mais comuns que utilizamos hoje são os cabos trançados e de fibra óptica, que são escolhidos com
base nos objetivos do negócio, ou seja, o tipo de rede com a qual estamos lidando.
Consiste em fio de cobre condutor coberto com material isolante e rodeado por uma camada de blindagem
. Utilize conectores BNC. Apesar da sua capacidade de reduzir o impacto de influências e sinais externos
nos sinais que transmite, caiu em desuso e só existe em algumas redes mais antigas por serem mais
propensas a maus contactos, terem conectores mais caros e serem menos flexíveis.
O cabo de par trançado é sem dúvida o cabo mais conhecido e ?masterizado? entre os especialistas em
TI, principalmente por ser o cabo utilizado para implementação de redes há muitos anos. Uma de suas
maiores vantagens é o baixo custo e a facilidade de aquisição de produtos prontos ou sob medida.
Os cabos de fibra óptica são projetados para atender tecnologias mais modernas e oferecem uma série de
vantagens, a começar pelo fato das fibras ópticas serem imunes a interferências eletromagnéticas e, claro
, pela capacidade de transmitir dados em altas taxas. O tipo mais rápido de transmissão existente converte
um sinal de dados em luz, e um receptor que recebe a luz converte esse sinal novamente em dados. Por
outro lado, pode transmitir grandes quantidades de informação com atenuação muito baixa, mas é caro
para adquirir e manter. Eles são divididos em monomodo que só consegue fornecer um sinal por vez,
menor dispersão e pode ficar muitos quilômetros entre um relé e outro e multimodo
Um livro contemporâneo sobre serviços de rede é "Networking for Systems Administrators" (2017), de
Michael W. Lucas. Esta obra aborda diversos aspectos relacionados à configuração, administração e
manutenção de serviços de rede como DNS, DHCP, FTP, SSH e email. Destina-se especialmente a
administradores de sistemas que necessitam gerenciar e manter infraestruturas de rede.
Um serviço de rede é um conjunto de operações implementadas por um protocolo através de uma
interface e fornecidas à camada superior. Ele define as operações que uma camada pode realizar sem se
preocupar com a execução específica dessas operações. Os serviços podem ser classificados em
orientados à conexão ou não. Os serviços relacionados à família TCP são orientados à conexão, enquanto
os serviços associados à família UDP não possuem essa característica.
Os serviços de rede podem ser divididos em duas categorias principais: serviços orientados à conexão e
serviços sem conexão. Além desses, existem outros tipos de serviços, como DHCP, que atribui
automaticamente um endereço IP válido para cada dispositivo conectado à rede, e DNS, que permite o
uso de strings em vez de endereços IP numéricos para identificar recursos na Internet.
Os serviços orientados à conexão utilizam o protocolo TCP. Antes do envio de dados, ocorre um processo
de handshaking, que estabelece uma conexão confiável entre os hosts. Esse processo prepara o receptor
para a recepção de dados. Durante essa conexão, é possível verificar se todos os pacotes foram
entregues corretamente e, se necessário, solicitar o reenvio de pacotes perdidos. Esse mecanismo
garante uma transmissão de dados confiável. Adicionalmente, o controle de fluxo e o gerenciamento de
congestionamento são realizados para assegurar que o receptor não seja sobrecarregado e que a rede
não sofra com congestionamentos.
Os serviços sem conexão utilizam o protocolo UDP. Nesse caso, não há um processo de handshaking, o
que significa que não é possível garantir que todos os pacotes cheguem ao destino, pois não se
estabelece uma conexão prévia. Consequentemente, não há criação de um canal seguro para a
transferência de dados. Embora esse método seja mais rápido devido à ausência do processo de
handshaking, ele é menos confiável e não oferece as funcionalidades de controle de fluxo e
gerenciamento de congestionamento presentes no TCP. Exemplos de aplicações que utilizam UDP
incluem vídeo e teleconferências pela Internet.
4. DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Um livro brasileiro atualmente muito utilizado para estudo de desenvolvimento de ferramentas para
comunicação em rede é "Redes de Computadores e a Internet: Uma Abordagem Top-Down" de James F.
Kurose e Keith W. Ross(2010), na sua versão traduzida para o português. Este livro é amplamente no
estudo do tema em redes de computadores no Brasil.
O desenvolvimento de uma ferramenta para comunicação em rede é de extrema importância por várias
razões:
Comunicação Eficiente: Permite a comunicação rápida e eficiente entre diferentes dispositivos, usuários ou
sistemas em uma rede, facilitando a troca de informações, compartilhamento de recursos e colaboração
em tempo real.
Integração de Sistemas: Uma ferramenta de comunicação em rede pode integrar sistemas heterogêneos,
permitindo que eles se comuniquem e compartilhem dados de maneira harmoniosa, melhorando a
interoperabilidade e a eficiência operacional.
Acesso Remoto: Facilita o acesso remoto a recursos e informações, permitindo que usuários acessem
dados ou sistemas de qualquer lugar, a qualquer momento, desde que estejam conectados à rede, o que
aumenta a flexibilidade e a mobilidade.
Colaboração: Promove a colaboração e o trabalho em equipe, possibilitando a comunicação instantânea e
a troca de informações entre colegas, equipes de trabalho ou parceiros de negócios, independentemente
da localização geográfica.
Distribuição de Recursos: Permite a distribuição eficiente de recursos, como impressoras, servidores de
arquivos, bancos de dados e dispositivos de armazenamento, dentro de uma rede, otimizando o uso dos
recursos disponíveis.
Monitoramento e Gerenciamento: Facilita o monitoramento e o gerenciamento de dispositivos, sistemas e
infraestrutura de rede, permitindo a detecção precoce de problemas, manutenção proativa e otimização do
desempenho da rede.
Segurança da Informação: Uma ferramenta de comunicação em rede pode implementar recursos de
segurança, como criptografia, autenticação, controle de acesso e monitoramento de tráfego, para proteger
os dados e garantir a confidencialidade, integridade e disponibilidade das informações.
Inovação e Desenvolvimento Tecnológico: O desenvolvimento contínuo de ferramentas para comunicação
em rede impulsiona a inovação e o desenvolvimento tecnológico, permitindo a criação de novas aplicações
, serviços e soluções que atendam às necessidades em constante evolução dos usuários e organizações.
Em resumo, o desenvolvimento de uma ferramenta para comunicação em rede é essencial para facilitar a
comunicação, promover a colaboração, otimizar o uso de recursos, garantir a segurança da informação e
impulsionar a inovação e o desenvolvimento tecnológico.
6. CONSIDERAÇÕESFINAIS
Neste capítulo, observamos três conceitos principais: Primeiro, um soquete é um ponto de comunicação
usado para transferir dados pela Internet entre aplicações executadas em máquinas diferentes. A
programação de aplicações socket é feita utilizando um conjunto de primitivas, que são funções que
permitem acesso a serviços de transporte e são fornecidas pela camada de transporte. Eles são
comumente usados ??em programação para Internet e pertencem a um grupo de primitivos chamados
Berkeley Sockets.
Essas funções são usadas para programar aplicativos cliente e servidor (embora existam algumas
diferenças de programação entre os dois) e, embora existam muitas, apenas as primitivas básicas
necessárias inicialmente para desenvolver uma aplicação cliente/servidor serão usadas, em segundo lugar
, vemos que a arquitetura TCP/IP é independente da tecnologia usada para transmitir quadros e introduz
dois níveis de endereçamento: IP, que permite o endereçamento de rede, e portas, que permitem o
endereçamento de processos. Por sua vez, os protocolos de aplicação fornecem padronização entre
mensagens trocadas entre clientes e servidores para permitir a interoperabilidade entre produtos de
diferentes fabricantes.
Finalmente, o modelo em camadas fornece uma estratégia comum para múltiplas tecnologias de
transporte, incluindo TCP/IP. Idealmente, o modelo em camadas define que os protocolos da mesma
camada são concorrentes (não são usados ??ao mesmo tempo) e os protocolos de camadas diferentes
são complementares (seus cabeçalhos podem ser empilhados).
REFERÊNCIAS
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed.
Pearson, 2010.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de Computadores: Das LANs
, MANs e WANs às Redes ATM. Editora Campus, 1997. p. 28.
TAROUCO, Liane M. R. Redes de Computadores Locais e de Longa Distância. Editora McGraw-Hill, 1986.
p. 53.
TORRES, G. Redes de Computadores: Das LANs, MANs e WANs às Redes ATM. Axcel Books, 2003.
WHITE, R.; BANKS, E. Computer Networking Problems and Solutions: An Innovative Approach to Building
Resilient, Modern Networks. Wiley, 2020.
ANEXOS
37
=================================================================================
Arquivo 1: 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx (6703 termos)
Arquivo 2: https://www.hostinger.com.br/tutoriais/tcp-ip (2153 termos)
Termos comuns: 124
Similaridade: 1,42%
O texto abaixo é o conteúdo do documento 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx
(6703 termos)
Os termos em vermelho foram encontrados no documento https://www.hostinger.com.br/tutoriais/tcp-
ip (2153 termos)
=================================================================================
Sorocaba, SP
2024
SUMARIO
1. OBJETIVO DO TRABALHO4
2. INTRODUÇÃO5
3. REFERENCIAL TEÓRICO7
3.1 SOQUETE DE REDE7
3.2 SOQUETES UDP10
3.3 SOQUETE TCP10
3.4 ARQUITETURA EM CAMADAS12
3.5 CAMADA DE APLICAÇÃO13
3.6 CAMADA DE APRESENTAÇÃO13
3.7 CAMADA DE SESSÃO13
3.8 CAMADA DE TRANSPORTE13
3.9 CAMADA DE REDE14
3.10 CAMADA DE LINK OU MAC14
3.11 CAMADA FÍSICA14
3.12 MODELO ETHERNET14
3.13 PROTOCOLOS15
3.14 FUNÇÕES DO PROTOCOLOS17
3.15 PROTOCOLOS DE CAMADAS18
3.16 PROTOCOLO TCP18
3.17 PROTOCOLO UDP19
3.18 PROTOCOLO HTTP20
3.19 PROTOCOLO HTTPS21
3.20 PROTOCOLO IP22
3.21 PROTOCOLO DE ROTEAMENTO22
3.22 PROTOCOLO FTP22
3.23 HIERARQUIAS DE REDE23
3.24 HARDWARE25
3.25 SWITCHES26
3.26 HUBS26
3.27 ROTEADORES26
3.28 CABEAMENTO ESTRUTURADO27
3.29 PRINCIPAIS NORMAS DE CABEAMENTO27
3.30 TIPOS DE CABEAMENTO28
3.31 CABO COAXIAL28
3.32 CABO PAR TRANÇADO28
3.33 CABO DE FIBRA ÓPTICA29
3.34 SERVIÇOS DE REDE29
3.35 CLASSIFICAÇÃO DE SERVIÇOS29
3.36 SERVIÇOS ORIENTADOS A CONEXÃO30
3.37 SERVIÇOS SEM CONEXÃO:30
4. DESENVOLVIMENTO31
4.1 CÓDIGO DO SERVIDOR31
1. OBJETIVO DO TRABALHO
O relatório deve incluir o uso de primitivos de soquete Berkeley ou componentes derivados deles para
comunicação de dados. Deve abordar todos os elementos utilizados no desenvolvimento do projeto, bem
como o impacto deste trabalho na formação da equipe. Além disso, é importante discutir a
interdisciplinaridade envolvida no projeto devido ao nível de detalhe, funcionalidade, tratamento de erros,
implementação de funcionalidades adicionais e relatórios adicionais no sistema, que serão apresentados
no desenvolvimento.
2. INTRODUÇÃO
O grupo desenvolveu uma ferramenta de comunicação em rede utilizando Java e C#. Camila Goulart
Madosaki as atividades práticas supervisionadas estão estruturadas da seguinte forma. A equipe criou
uma aplicação que permite que duas ou mais pessoas se comuniquem em rede utilizando o protocolo TCP
/IP, ferramenta que será utilizada em situações que envolvem o meio ambiente. O tema escolhido pelo
grupo foi a preservação e sustentabilidade do meio ambiente. Estudo da topologia do sistema. O
documento apresenta uma referência teórica, na qual aborda um extenso sistema de comunicação que
conecta diversas redes de computadores. O sistema de comunicação consistirá de um arranjo topológico
interconectando módulos de processador individuais através de links físicos, dispositivos de transmissão
ou redes de transporte e um conjunto de regras para organizar. Existem muitos dispositivos diferentes em
muitas formas e recursos que podem ser interconectados e compartilhados através de métodos de acesso
, protocolos e requisitos de segurança. Os métodos de comunicação podem ser: linhas telefônicas, cabos,
comunicações via satélite ou sem fio. O objetivo de uma rede de computadores é permitir que os
computadores troquem dados e compartilhem recursos de hardware e software. A classificação dos
tamanhos de rede é: PAN, LAN, MAN, WAN A topologia de uma rede mostra como as máquinas estão
conectadas entre si. De acordo com a topologia, a rede pode ser dividida em: rede ponto a ponto, rede em
estrela, rede em anel e rede em árvore. O cabeamento estruturado refere-se aos vários tipos de cabos
instalados em uma residência ou empresa para distribuição de áudio, vídeo, telefone e dados. Esses fios
costumam ser agrupados, assim como cabos de rede, cabos de áudio de fibra óptica e outras
combinações personalizadas para distribuir itens por todo o ambiente. Cabeamento estruturado é um
termo genérico que inclui várias formas de cabos colocados em uma casa ou escritório para distribuição
de sinais de áudio, vídeo, telefone e dados. Tais fios, normalmente, são postos juntos em grupos, desde
cabos de rede passando por cabos de áudio de fibra óptica e muitas outras combinações personalizadas
que levam os itens a serem distribuídos por todo o ambiente. Um protocolo de comunicação é um acordo
utilizado na comunicação entre duas ou mais partes com o intuito de estabelecer como será a
comunicação entre elas. Simplificando, seria mais ou menos isso: um conjunto de regras. De maneira
simplificada, um protocolo poderia ser definido como regras que "governam" a sintaxe, a semântica e a
sincronia da comunicação. A evolução das ferramentas de comunicação em rede impulsiona inovação e
desenvolvimento tecnológico, permitindo responder a emergentes necessidades dos utilizadores e das
organizações na criação de novas aplicações, serviços e soluções.
3. REFERENCIAL TEÓRICO
"Unix Network Programming" (2003) ou Programação de rede Unix por W. Richard Stevens. Considerado
um clássico na área de programação de redes, este livro fornece uma introdução abrangente ao assunto.
Ele não cobre apenas o uso de soquetes em sistemas Unix, mas também fornece uma compreensão
sólida dos conceitos subjacentes à comunicação em rede. Este livro é conhecido por sua abordagem
prática e clara e exemplos de código detalhados e explicativos. Além disso, "TCP/IP Illustrator" (1994) do
mesmo autor, W. Richard Stevens, é outro livro altamente recomendado para aprender os fundamentos do
protocolo TCP/IP, que é a base das comunicações de rede na Internet. Este livro complementa muito bem
a programação de rede Unix, fornecendo uma compreensão mais profunda dos protocolos de rede.
Ambos os livros são recursos valiosos para estudantes, profissionais de TI e desenvolvedores
interessados em aprender programação de redes e soquetes. Especificamente, na computação, os
soquetes podem ser usados em conexões de rede de computadores para fornecer um link de
comunicação bidirecional entre dois programas. As conexões de soquete tiveram origem em 1980, quando
a agência governamental dos EUA ARPA (Advanced Research Projects Agency) forneceu recursos
financeiros à Universidade da Califórnia, Berkeley, para fornecer uma implementação UNIX do pacote de
protocolo TCP/IP. O produto desenvolvido posteriormente ficou conhecido como Berkeley Sockets
Interface ou simplesmente Berkeley Sockets. Frequentemente recomendado para aprender sobre
soquetes e programação de redes é "Unix Network Programming" de W. Richard Stevens (2003). Este
livro é considerado um clássico no campo da programação de redes e oferece uma cobertura abrangente
sobre o assunto. Os soquetes foram desenvolvidos especificamente para aplicações cliente/servidor, onde
o cliente e o servidor podem estar em máquinas diferentes e se comunicarem através de um protocolo de
transporte, o que significa que quando a aplicação interage com o software do protocolo, ela deve ser
informada que se trata de um cliente ou servidor. Para estabelecer uma conexão, apenas o endereço de
destino e o número da porta são necessários. Existem dois modos de transmissão de soquete: modo
baseado em conexão e modo sem conexão. Os soquetes baseados em conexão funcionam como
telefones: eles estabelecem uma conexão e depois suspendem a conexão. Os soquetes sem conexão
funcionam como correio: a entrega não é garantida e diferentes itens de correio podem chegar em uma
ordem diferente daquela em que foram enviados. A escolha do modo de transporte de soquete dependerá
das necessidades da sua aplicação. Se a confiabilidade for importante, o modo baseado em conexão
deverá ser usado. Por exemplo, um servidor de arquivos precisa que todos os seus dados cheguem ao
usuário na ordem correta. A operação sem conexão será mais rápida e eficiente, mas não há garantia. O
método de conexão adota o protocolo TCP. Um soquete neste modo de operação deve ser conectado ao
destino antes que os dados possam ser transferidos. Quando conectado, o soquete usa a interface de
fluxo: open-read-write-close. Um soquete também é uma abstração computacional que mapeia
diretamente para uma porta de transporte por meio de um protocolo TCP ou UDP e um endereço de rede.
Por sua vez, o soquete se abstrai e pode utilizar qualquer um dos métodos TCP ou UDP já mencionados.
Com este conceito é possível identificar de forma única uma aplicação ou servidor numa rede de
comunicações IP. No documento RFC (Request for Comments) relacionado ao TCP ou UDP, um soquete
em um computador é definido como uma combinação de endereço IP, protocolo e número de porta do
protocolo. Soquetes e RPC possuem a funcionalidade para implementar aplicativos. Funcionalidades de
rede, mas são implementadas de maneiras diferentes, por exemplo, imagine que você precisa desenvolver
uma aplicação de servidor que funcione como uma "sala" de chat. Essencialmente, a aplicação receberá
chamadas do cliente (em uma determinada porta) e então se o cliente enviar uma mensagem, o servidor
enviará essa mensagem para todos os outros clientes.
Ou imagine, por exemplo, que você tem um sensor de temperatura instalado em seu computador e possui
um aplicativo de servidor que controla o sensor, fornecendo informações sobre o clima. A aplicação cliente
pode conectar-se remotamente à aplicação servidora e obter essas informações. Tudo isso pode ser
desenvolvido usando soquetes
Geralmente, há um aplicativo que cria o soquete do servidor e outro aplicativo que implementa o cliente.
Existem dois tipos principais de soquetes: Socket_Stream (também conhecido como TCP) ou SOCK
_DGRAM (também conhecido como UDP). Os soquetes TCP garantem a confiabilidade da comunicação
(entrega de pacotes garantida), enquanto os soquetes UDP não garantem a entrega de pacotes no nível
da camada de transporte)
A comunicação entre processos também pode ocorrer via UDP. No entanto, o UDP é um serviço sem
conexão. O remetente insere explicitamente o endereço IP e a porta do destino no formato IP:porta (por
exemplo: 192.168.0.1:80). O servidor deve extrair o endereço IP e a porta (soquete) do remetente do
datagrama recebido. Os dados recebidos podem ser recebidos fora de ordem ou até mesmo perdidos. Só
então os dados são encaminhados para as camadas superiores, da camada de transporte (protocolo UDP
) para a camada de aplicação (qualquer aplicação).
Esses Datagram Soquete ou DataGrama, por serem UDP, possuem comunicação não orientada à
conexão e não são confiáveis, pois os dados enviados neste tipo podem não chegar ao destino final da
forma como foram enviados, e não há garantia de sua chegada. Streaming de áudio e vídeo sob demanda
e jogos multijogador são exemplos de aplicativos de soquete de datagrama. Neste tipo de transferência, a
perda de pequenas quantidades de dados não traz consequências graves para o processo. Tanto o
Socket UDP quanto o Socket TCP usam o protocolo IP para rotear dados pela rede.
No protocolo TCP, um soquete cria uma conexão de streaming bidirecional entre os endereços 'hostC
:portC' e 'hostS:portS', ou seja, entre a aplicação cliente em execução na máquina 'hostC' e também pode
controlar a porta 'portC' e outro aplicativo de servidor em execução no computador 'hostS', observando a
porta 'portS' de 'hostS'. Sabemos também que o protocolo TCP é orientado à conexão e por isso garante
que os dados enviados do cliente para o servidor cheguem ao seu destino na respectiva porta. Esta forma
de comunicação com soquetes TCP utiliza soquetes de fluxo, que representam uma forma de
comunicação bidirecional confiável e orientada à conexão.
Os dados enviados através deste tipo de Socket estarão seguros e chegarão da mesma forma que foram
enviados, pois o protocolo TCP é responsável por ?entregar? os dados da mesma forma que foram
enviados e sem erros. Por exemplo: os navegadores usam este aplicativo sobre protocolos HTTP, que
normalmente funcionam no soquete 80. Um soquete é uma abstração de um endereço de comunicação
através do qual os processos se comunicam. Cada endereço possui um identificador exclusivo que
consiste no endereço da máquina e no identificador local da porta utilizada pelo processo.
Este identificador de porta é usado para mapear os dados recebidos pela máquina para um processo
(aplicação) específico. O processo de comunicação no modo orientado à conexão é o seguinte: o servidor
é colocado em uma porta específica e aguarda uma conexão com essa porta. O cliente deve saber
antecipadamente o nome IP do servidor e a porta correspondente na qual o servidor está aguardando
conexões.
Conforme na figura 2.
Se não houver problemas, o servidor aceita a conexão gerando um soquete em uma porta livre do lado do
servidor, criando assim um canal de comunicação entre o cliente e o servidor. É importante observar que a
porta original está livre para receber outras solicitações de conexão. A imagem abaixo demonstra o
mesmo canal de comunicação.
O modelo de referência OSI foi criado pela ISO em 1978 para construir sistemas de conexão entre
dispositivos através da padronização de protocolos e padrões, que é um padrão global e modelo
conceitual desde 1984. Este modelo propõe um esquema de trabalho conjunto entre hardware e software
para permitir a comunicação entre dispositivos. No entanto, o modelo OSI é mais teórico do que prático.
livro amplamente recomendado sobre arquitetura em camadas é "Patterns of Enterprise Application
Architecture" (Padrões de Arquitetura de Aplicações Corporativas) de Martin Fowler(2003). Embora o livro
não se concentre exclusivamente na arquitetura em camadas, aborda vários padrões arquiteturais comuns
, incluindo a arquitetura em camadas, e fornece uma compreensão sólida dos princípios e práticas
envolvidos na construção de sistemas de software escaláveis e robustos.
É responsável por definir o formato de troca de dados entre computadores, atuando como conversor de
protocolos, criptografia, compactação de dados, entre outras tarefas.
Uma sessão é um canal de comunicação entre dois aplicativos executados em computadores diferentes. A
camada de sessão é responsável por gerenciar conversas entre aplicações para que elas possam abrir,
usar e fechar sessões. É nesta camada que são executadas as funções de reconhecimento de nomes e
segurança.
É responsável pela integridade dos pacotes de informações e garante uma comunicação confiável. Esta
integridade é conseguida graças ao sinal ACK enviado entre as duas partes (sinal que confirma que a
comunicação ocorreu corretamente, do receptor ao transmissor). O protocolo TCP é executado nesta
camada
É usado para identificar o endereço de um sistema em uma rede e realmente transferir dados. A camada
de rede deve conhecer o meio físico da rede e empacotar as informações de forma que a camada de
enlace possa enviá-las para a camada física. Em muitas redes, esta camada não verifica a integridade da
informação, apenas a encapsula.
É utilizado para definir como a informação é transmitida através da camada física e garante o bom
funcionamento desta camada. Se houver erros na transmissão de informações no meio físico, como cabos
danificados ou colisões de dados, a camada MAC deverá tratar esses erros ou comunicá-los às camadas
superiores.
Consiste em hardware como cabos, fibras ópticas e conectores usados ??para conectar diferentes
sistemas de rede. Nesta camada, as informações são codificadas na forma de sinais elétricos
Um livro recomendado sobre o modelo Ethernet é "Ethernet: The Definitive Guide" (2000) de Charles E.
Spurgeon. Este livro fornece uma visão geral abrangente da tecnologia Ethernet, incluindo seu histórico,
capacidades, padrões e protocolos relacionados. As redes Ethernet podem transportar até 1.500 bytes de
dados. Portanto, o sistema operacional configura automaticamente o protocolo IP para criar um datagrama
de 1.500 bytes em vez de 65.535 bytes (o tamanho real do datagrama é 1.497 porque a camada LLC usa
3 ou 5 bytes para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, o que equivale à
Interface de Rede do modelo TCP/IP. Sobre o modelo Ethernet é "Ethernet: The Definitive Guide" de
Charles E. Spurgeon(2000). Este livro oferece uma visão abrangente da tecnologia Ethernet, incluindo sua
história, funcionamento, padrões e protocolos associados. A camada LLC (Logical Link Control) é
responsável por adicionar informações sobre qual protocolo da camada Internet é responsável pela
geração dos dados. Desta forma, durante o processo de recepção de dados, o computador receptor pode
saber qual protocolo deve ser utilizado na camada Internet para receber os dados. A camada MAC (Media
Access Control) é responsável pela montagem dos frames que serão enviados para a rede. Esta camada
é responsável por adicionar os endereços MAC de origem e destino ao pacote (o endereço físico da placa
de rede). Quando os pacotes são enviados para uma rede diferente da rede local, o endereço MAC
inserido como destino será o endereço MAC do roteador a ser usado. Os protocolos que definem esta
camada são IEEE 802.3 (para redes com cabos físicos) e IEEE 802.11 (no caso de redes sem fio). A
camada física é a camada mais baixa do modelo TCP/IP. É responsável por converter os frames gerados
pela camada MAC em sinais elétricos (para redes com cabos físicos) ou sinais eletromagnéticos (para
redes sem fio). No IEEE, a camada física é definida pelo mesmo protocolo da camada MAC. Segundo
BEZERA (2008), o padrão Ethernet especifica a camada de enlace e a camada física. No final do
empacotamento, os dados conterão cabeçalhos para todas as camadas do modelo TCP/IP, bem como
cabeçalhos para a subcamada Ethernet.
3.13 PROTOCOLOS
Os protocolos de rede desempenham diversas funções essenciais para garantir a comunicação eficiente
entre dispositivos. Uma dessas funções é a fragmentação dos dados a serem transmitidos em pequenos
pedaços chamados pacotes. Cada pacote contém informações de endereçamento que especificam a
origem e o destino. Este protocolo organiza as fases de estabelecimento, controle, fluxo e encerramento
da troca de informações.
As funções específicas dos protocolos variam conforme a camada do modelo OSI, mas algumas funções
podem ser executadas em múltiplas camadas, ainda que com diferentes contextos e objetivos (MPR/JAR,
2003).
As principais funções dos protocolos incluem:
Endereçamento: Especificação clara do ponto de destino da mensagem.
Estabelecimento: Criação de um canal lógico fechado entre a fonte e o destino.
Numeração e Sequência: Individualização de cada mensagem por meio de números sequenciais.
Confirmação de Recepção: Garantia de que o destinatário recebeu a mensagem, com ou sem erro.
Controle de Erro: Detecção e correção de erros na transmissão.
Retransmissão: Reenvio de mensagens em caso de falha na recepção.
O conjunto de protocolos utilizados para comunicação entre computadores pela Internet, também
conhecido como conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo norte-
americano para permitir a comunicação entre diferentes redes constituídas por diversos tipos de
computadores. A família de protocolos TCP/IP é particularmente popular porque não pertence a nenhum
fornecedor específico. Portanto, é amplamente apoiado pelo mercado
TCP significa Transmission Control Protocol e refere-se ao sistema mais comum para envio de pacotes na
Internet. Quando você visita um site, seu computador envia dados para o servidor, solicitando que o
servidor envie o conteúdo da página para a máquina que você está usando ? as informações enviadas de
volta são ?emendadas? pelo navegador para exibir o que você deseja
Segundo Scrimger et al., as principais características do TCP são: (2 002) são a transferência de dados,
robustez, controle de fluxo, multiplexação, conexões lógicas e o fato de ser full duplex.
Streaming de dados: o aplicativo pode confirmar se todos os segmentos de dados transmitidos pelo TCP
atingiram o destino esperado e informar se a operação foi bem-sucedida
Robustez: Se os segmentos chegarem fora de ordem, o TCP do receptor irá agrupá-los
Controle de fluxo: O receptor envia uma mensagem confirmando o recebimento ao receber um segmento
Multiplex: uso paralelo das portas de comunicação
Conexão lógica: Identificada pelos processos de envio e recebimento, através de uma combinação de
mecanismos TCP
Full duplex: os dados podem ser transmitidos em ambas as direções simultaneamente
O TCP também emprega seu próprio sistema de numeração para garantir que os pacotes enviados
cheguem ao seu destino na ordem correta. Caso o pacote não seja recebido corretamente pelo receptor, a
informação é enviada novamente até chegar ao seu destino com segurança ? e o mais importante, há
uma verificação de erros para garantir que nenhuma informação foi corrompida durante a transmissão
É exatamente isso que se destaca neste protocolo: confiabilidade. Graças ao TCP, os downloads que você
faz não são corrompidos por flutuações na velocidade da conexão, e as páginas visitadas pelo navegador
raramente carregam algum elemento acidentalmente ? a menos, é claro, que uma das máquinas seja
usada para trocar dados no processo. estiver temporariamente off-line, você receberá uma mensagem de
erro e não poderá acessar o conteúdo desejado.
UDP (User Datagram Protocol) é o ?irmão? do protocolo TCP e também se baseia no envio de pacotes de
informações, mas elimina todas as partes de verificação de erros das outras tecnologias. O objetivo desta
opção é acelerar o processo de envio de dados, pois todas as etapas de comunicação necessárias para
verificar a integridade do pacote (e reenviar o pacote, se necessário) causam lentidão.
Quando o protocolo UDP é ativado, ele simplesmente envia as informações para o receptor sem se
preocupar se as informações foram recebidas corretamente - caso ocorra um erro, o próximo pacote
programado pelo sistema simplesmente será enviado, e o pacote anterior não será capaz recuperar.
Embora este método de operação aumente o risco de erros, garante uma comunicação rápida entre os
dois computadores.
Pelas suas características, este protocolo é amplamente utilizado em situações onde a correção de erros
não é totalmente necessária. Por exemplo, durante a transmissão de um vídeo ao vivo, é mais
interessante que uma pessoa perca certas partes ou tenha que lidar com distorções de imagem e áudio do
que esperar para receber um pacote perdido ? o que pode acabar com o fator ?tempo?. . real".
O protocolo UDP fornece um serviço de entrega sem conexão e não é confiável ao usar IP para transmitir
datagramas entre máquinas( COMER,2006)
O UDP também é amplamente utilizado em jogos online ? se você perder alguns pacotes, o personagem
da outra parte pode ?teletransportar-se? para a tela, mas você não tem motivo para receber os dados
perdidos porque o jogo continuará mesmo que eles não cheguem para você . O que importa é o que está
acontecendo agora, não o que aconteceu há poucos minutos, então não faz sentido confiar na verificação
de erros, que só aumentará a latência para os participantes.
HTTP é um protocolo da camada de aplicação que usa a porta de rede 80. Permite a transmissão de
dados na forma de texto simples, hipertexto, áudio, vídeo, etc. É utilizado em ambientes onde há uma
transição rápida de um documento para outro, como uma página da Internet. Este protocolo possui
características semelhantes aos protocolos FTP e SMTP e permite a transferência de arquivos utilizando
serviços TCP. Porém, é muito mais simples que o FTP, usando apenas uma conexão TCP, porta 80.
Através desta porta, os dados são transmitidos entre o cliente e o servidor
As mensagens HTTP não estão diretamente disponíveis aos usuários. Eles são interpretados pelo cliente
HTTP ? o navegador. A ideia do HTTP é que o cliente envie uma solicitação ao servidor na forma de uma
mensagem, e o servidor envie uma resposta ao cliente na forma de uma mensagem.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) é uma extensão do protocolo HTTP usado para
comunicação segura na World Wide Web. Ele utiliza uma combinação de criptografia SSL/TLS para
garantir a confidencialidade e integridade dos dados transmitidos entre o cliente (geralmente um
navegador da web) e o servidor web.
Quando uma conexão HTTPS é estabelecida, o servidor web envia um certificado digital para o cliente,
que contém uma chave pública. O cliente usa essa chave pública para criptografar uma chave de sessão
simétrica, que é então enviada de volta ao servidor. A partir desse ponto, a comunicação entre o cliente e
o servidor é criptografada usando essa chave de sessão.
O HTTPS oferece várias vantagens sobre o HTTP tradicional, incluindo:
1.Segurança dos dados: A criptografia SSL/TLS protege os dados durante a transmissão, impedindo que
terceiros interceptem ou modifiquem as informações transmitidas.
2.Autenticação do servidor: O uso de certificados digitais permite que o cliente verifique a identidade do
servidor, garantindo que este seja realmente quem afirma ser.
3.Integridade dos dados: Os dados transmitidos por meio do HTTPS são protegidos contra alterações não
autorizadas durante a transmissão.
4.Confiança do usuário: A presença do cadeado verde e do "https://" na barra de endereço do navegador
transmite confiança aos usuários, indicando que a conexão é segura.
O uso do HTTPS é essencial para proteger informações sensíveis, como dados de login, informações de
pagamento e outras informações pessoais dos usuários durante a comunicação na web. Nos dias de hoje,
é amplamente adotado e incentivado por organizações e empresas em todo o mundo.
3.20 PROTOCOLO IP
Este protocolo é responsável por endereçar o pacote para transmissão, adicionando um cabeçalho,
permitindo que o pacote seja roteado pela rede até ser entregue ao destino correto. Os pacotes IP contêm
o endereço IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar
erros e um TTL (informação em segundos) sobre quanto tempo um pacote pode permanecer na rede para
evitar loops infinitos de tráfego). Slinger et al. (2002, p. 107) Um endereço IP é semelhante ao endereço
que você usa para enviar e-mail. ?O endereço deve conter todos os dados necessários para a entrega.
Caso contrário, a carta não chegará ao destino correto.
O roteamento de pacotes pode ser estático ou dinâmico. Em pequenas redes locais, é utilizado o
roteamento estático, o que significa que o caminho que um datagrama percorre para chegar ao seu
destino é sempre o mesmo. Na Internet, o roteamento é dinâmico, o que significa que os roteadores
podem alterar a rota de um pacote a qualquer momento se um caminho melhor para o destino estiver
disponível. A melhor rota é aquela que requer menos saltos (roteadores intermediários), mas rotas mais
curtas não são necessariamente mais rápidas.
O protocolo FTP é usado para acessar arquivos remotos na Web, bem como no servidor de arquivos local
de uma empresa. Quando baixamos arquivos, geralmente usamos o protocolo FTP. Também pode ser
usado para fazer upload de arquivos do seu computador para a web. O protocolo FTP permite transferir
arquivos pela Internet. Existem vários programas gratuitos na Internet que fornecem serviços FTP. Com
ele você pode transferir arquivos, autenticar usuários e gerenciar arquivos e diretórios, segundo Falbriard
(2002), os protocolos utilizados nas redes de comunicação definem conjuntos de regras que coordenam e
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks"(2020) de Russ White e Ethan Banks. Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas.
Como você viu, um protocolo é um conjunto de regras sobre como ocorre a comunicação entre as partes.
Para reduzir a complexidade de um projeto, a maioria das redes foi organizada em uma série de níveis ou
camadas e colocadas dentro de um nível. O número, nome, conteúdo e funcionalidade de cada camada
variam de rede para rede. Entretanto, em todas as redes, o objetivo de cada camada é fornecer
determinados serviços às camadas superiores.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas
A camada N de uma máquina se comunica com a camada N de outra máquina. Para isso, baseia-se em
um conjunto de convenções e regras que permitem gerenciar essa comunicação, o que é denominado
protocolo de camada N, ou protocolo N, abreviadamente.
Em máquinas diferentes, entidades na mesma camada são chamadas de "pares." Esses pares se
comunicam utilizando um protocolo específico. Contudo, os dados não são transferidos diretamente entre
os pares devido à ausência de um meio físico direto entre eles. Cada camada transmite os dados para a
camada imediatamente inferior até alcançar a camada final. Na última camada, a comunicação é realizada
através do hardware da rede, que é o meio físico de transmissão de dados. Em cada par, existe uma
interface que define as operações e serviços que a camada inferior deve fornecer à camada superior
adjacente.
A arquitetura de rede consiste em uma coleção de camadas que formam a estrutura da rede. A
especificação arquitetônica deve conter informações suficientes para permitir o desenvolvimento correto
da rede, tanto do ponto de vista de software quanto de hardware. No entanto, os detalhes de
implementação de cada camada e a especificação detalhada da interface não fazem parte da definição da
arquitetura da rede; em vez disso, é um conjunto de regras que controla o formato e o significado das
informações trocadas pelas entidades pares dentro de uma camada. As entidades utilizam protocolos para
implementar suas definições de serviço e têm a liberdade de modificar seus protocolos, desde que não
alterem os serviços visíveis aos seus usuários.
3.24 HARDWARE
Um livro atual sobre hardware de redes de computadores é "Computer Networking Problems and Solutions
: An innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este
livro oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando
questões de projeto, operação e solução de problemas em redes hierárquicas
Hardware de rede, ou equipamento de rede, refere-se ao equipamento que facilita e suporta a utilização
de redes de computadores, ou seja, o meio físico necessário à comunicação entre os diversos
componentes participantes da rede.
Switches;
Roteadores;
Concentradores;
Repetidores;
Adaptadores de rede;
Modem;
Gateway;
Bridge;
Firewall;
Pontos de acesso sem fio;
Entre outros hardwares relacionados
3.25 SWITCHES
Um switch é um dispositivo usado para encaminhar pacotes de dados entre diferentes nós. Possuem
portas semelhantes a um hub (concentrador), a principal diferença é que o switch segmenta a rede
internamente, pois cada porta corresponde a um domínio de colisão diferente, eliminando assim colisões
entre pacotes vindos de diferentes segmentos de rede.
3.26 HUBS
3.27 ROTEADORES
Um roteador é um dispositivo que encaminha pacotes de dados entre redes de computadores, criando um
conjunto de redes sobrepostas. Os roteadores se conectam a duas ou mais linhas de dados de redes
diferentes. Os roteadores têm muitas funções, mas a mais comum que todos conhecem é a possibilidade
de conexões sem fio. As redes sem fio são amplamente utilizadas hoje em dia porque são mais práticas.
Sua principal desvantagem está relacionada ao hacking, pois os hackers podem ver onde existe a rede
sem fio e, portanto, comprometer facilmente a rede e os computadores que possam estar conectados a ela
.
O cabeamento estruturado é uma abordagem padronizada para cabeamento de rede que leva em
consideração padrões de segurança (como ANSI e EIA/TIA), melhores práticas e melhor utilização dos
recursos do equipamento, permitindo o redirecionamento através de diferentes caminhos dentro da
mesma estrutura de cabeamento para rotear os fios. entre diferentes pontos. A comunicação é uma das
principais características do cabeamento estruturado, conceito que surgiu nos serviços técnicos de voz,
mas, graças à sua ampla adoção por empresas e organizações criadas por meio da padronização,
rapidamente se tornou a solução para os mais diversos serviços de dados.
A maioria dos padrões são internacionais, por isso são desenvolvidos por instituições e associações
respeitáveis, como IEEE (Instituto de Engenheiros Elétricos e Eletrônicos), TIA (Associação da Indústria de
Telecomunicações) e EIA (Associação da Indústria Eletrônica).
ANSI/TIA/EIA-1005 ? Telecommunications Infrastructure Standard for Industrial Premises;
ANSI/TIA-606-A ? Admi nistration Standard for Commercial Telecommunications Infrastructure;
ANSI/TIA-607-B ? Telecommunications Grounding (Earthing) and Bonding for Customer Premises;
ANSI/TIA-758-A ? Customer-Owned Outside Plant Telecommunications Infrastructure Standard;
ANSI/TIA-862 ? Building Automation Systems Cabling Standard for Commercial Buildings;
IEEE-100BASE-TX ? Fast Ethernet;
TIA 569 -B ? Commercial Building Standard for Telecommunications Pathways and Spaces;
TIA/EIA-568-C.0 ? Generic Telecommunications C abling for Customer Premises;
TIA/EIA-568-C.3 ? Optical Fiber Cabling Components Standard.
TIA-942 ? Telecommunications Infrastructure Standard for Data Center;
Todos esses padrões definem o tipo de cabo utilizado, bem como os limites e requisitos
(distância, segmentos, frequência etc.) que a estrutura deve atender para garantir o
funcionamento adequado.
Os mais comuns que utilizamos hoje são os cabos trançados e de fibra óptica, que são escolhidos com
base nos objetivos do negócio, ou seja, o tipo de rede com a qual estamos lidando.
Consiste em fio de cobre condutor coberto com material isolante e rodeado por uma camada de blindagem
. Utilize conectores BNC. Apesar da sua capacidade de reduzir o impacto de influências e sinais externos
nos sinais que transmite, caiu em desuso e só existe em algumas redes mais antigas por serem mais
propensas a maus contactos, terem conectores mais caros e serem menos flexíveis.
O cabo de par trançado é sem dúvida o cabo mais conhecido e ?masterizado? entre os especialistas em
TI, principalmente por ser o cabo utilizado para implementação de redes há muitos anos. Uma de suas
maiores vantagens é o baixo custo e a facilidade de aquisição de produtos prontos ou sob medida.
Os cabos de fibra óptica são projetados para atender tecnologias mais modernas e oferecem uma série de
vantagens, a começar pelo fato das fibras ópticas serem imunes a interferências eletromagnéticas e, claro
, pela capacidade de transmitir dados em altas taxas. O tipo mais rápido de transmissão existente converte
um sinal de dados em luz, e um receptor que recebe a luz converte esse sinal novamente em dados. Por
outro lado, pode transmitir grandes quantidades de informação com atenuação muito baixa, mas é caro
para adquirir e manter. Eles são divididos em monomodo que só consegue fornecer um sinal por vez,
menor dispersão e pode ficar muitos quilômetros entre um relé e outro e multimodo
Um livro contemporâneo sobre serviços de rede é "Networking for Systems Administrators" (2017), de
Michael W. Lucas. Esta obra aborda diversos aspectos relacionados à configuração, administração e
manutenção de serviços de rede como DNS, DHCP, FTP, SSH e email. Destina-se especialmente a
administradores de sistemas que necessitam gerenciar e manter infraestruturas de rede.
Um serviço de rede é um conjunto de operações implementadas por um protocolo através de uma
interface e fornecidas à camada superior. Ele define as operações que uma camada pode realizar sem se
preocupar com a execução específica dessas operações. Os serviços podem ser classificados em
orientados à conexão ou não. Os serviços relacionados à família TCP são orientados à conexão, enquanto
os serviços associados à família UDP não possuem essa característica.
Os serviços de rede podem ser divididos em duas categorias principais: serviços orientados à conexão e
serviços sem conexão. Além desses, existem outros tipos de serviços, como DHCP, que atribui
automaticamente um endereço IP válido para cada dispositivo conectado à rede, e DNS, que permite o
uso de strings em vez de endereços IP numéricos para identificar recursos na Internet.
Os serviços orientados à conexão utilizam o protocolo TCP. Antes do envio de dados, ocorre um processo
de handshaking, que estabelece uma conexão confiável entre os hosts. Esse processo prepara o receptor
para a recepção de dados. Durante essa conexão, é possível verificar se todos os pacotes foram
entregues corretamente e, se necessário, solicitar o reenvio de pacotes perdidos. Esse mecanismo
garante uma transmissão de dados confiável. Adicionalmente, o controle de fluxo e o gerenciamento de
congestionamento são realizados para assegurar que o receptor não seja sobrecarregado e que a rede
não sofra com congestionamentos.
Os serviços sem conexão utilizam o protocolo UDP. Nesse caso, não há um processo de handshaking, o
que significa que não é possível garantir que todos os pacotes cheguem ao destino, pois não se
estabelece uma conexão prévia. Consequentemente, não há criação de um canal seguro para a
transferência de dados. Embora esse método seja mais rápido devido à ausência do processo de
handshaking, ele é menos confiável e não oferece as funcionalidades de controle de fluxo e
gerenciamento de congestionamento presentes no TCP. Exemplos de aplicações que utilizam UDP
incluem vídeo e teleconferências pela Internet.
4. DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Um livro brasileiro atualmente muito utilizado para estudo de desenvolvimento de ferramentas para
comunicação em rede é "Redes de Computadores e a Internet: Uma Abordagem Top-Down" de James F.
Kurose e Keith W. Ross(2010), na sua versão traduzida para o português. Este livro é amplamente no
estudo do tema em redes de computadores no Brasil.
O desenvolvimento de uma ferramenta para comunicação em rede é de extrema importância por várias
razões:
Comunicação Eficiente: Permite a comunicação rápida e eficiente entre diferentes dispositivos, usuários ou
sistemas em uma rede, facilitando a troca de informações, compartilhamento de recursos e colaboração
em tempo real.
Integração de Sistemas: Uma ferramenta de comunicação em rede pode integrar sistemas heterogêneos,
permitindo que eles se comuniquem e compartilhem dados de maneira harmoniosa, melhorando a
interoperabilidade e a eficiência operacional.
Acesso Remoto: Facilita o acesso remoto a recursos e informações, permitindo que usuários acessem
dados ou sistemas de qualquer lugar, a qualquer momento, desde que estejam conectados à rede, o que
aumenta a flexibilidade e a mobilidade.
Colaboração: Promove a colaboração e o trabalho em equipe, possibilitando a comunicação instantânea e
a troca de informações entre colegas, equipes de trabalho ou parceiros de negócios, independentemente
da localização geográfica.
Distribuição de Recursos: Permite a distribuição eficiente de recursos, como impressoras, servidores de
arquivos, bancos de dados e dispositivos de armazenamento, dentro de uma rede, otimizando o uso dos
recursos disponíveis.
Monitoramento e Gerenciamento: Facilita o monitoramento e o gerenciamento de dispositivos, sistemas e
infraestrutura de rede, permitindo a detecção precoce de problemas, manutenção proativa e otimização do
desempenho da rede.
Segurança da Informação: Uma ferramenta de comunicação em rede pode implementar recursos de
segurança, como criptografia, autenticação, controle de acesso e monitoramento de tráfego, para proteger
os dados e garantir a confidencialidade, integridade e disponibilidade das informações.
Inovação e Desenvolvimento Tecnológico: O desenvolvimento contínuo de ferramentas para comunicação
em rede impulsiona a inovação e o desenvolvimento tecnológico, permitindo a criação de novas aplicações
, serviços e soluções que atendam às necessidades em constante evolução dos usuários e organizações.
Em resumo, o desenvolvimento de uma ferramenta para comunicação em rede é essencial para facilitar a
comunicação, promover a colaboração, otimizar o uso de recursos, garantir a segurança da informação e
impulsionar a inovação e o desenvolvimento tecnológico.
6. CONSIDERAÇÕESFINAIS
Neste capítulo, observamos três conceitos principais: Primeiro, um soquete é um ponto de comunicação
usado para transferir dados pela Internet entre aplicações executadas em máquinas diferentes. A
programação de aplicações socket é feita utilizando um conjunto de primitivas, que são funções que
permitem acesso a serviços de transporte e são fornecidas pela camada de transporte. Eles são
comumente usados ??em programação para Internet e pertencem a um grupo de primitivos chamados
Berkeley Sockets.
Essas funções são usadas para programar aplicativos cliente e servidor (embora existam algumas
diferenças de programação entre os dois) e, embora existam muitas, apenas as primitivas básicas
necessárias inicialmente para desenvolver uma aplicação cliente/servidor serão usadas, em segundo lugar
, vemos que a arquitetura TCP/IP é independente da tecnologia usada para transmitir quadros e introduz
dois níveis de endereçamento: IP, que permite o endereçamento de rede, e portas, que permitem o
endereçamento de processos. Por sua vez, os protocolos de aplicação fornecem padronização entre
mensagens trocadas entre clientes e servidores para permitir a interoperabilidade entre produtos de
diferentes fabricantes.
Finalmente, o modelo em camadas fornece uma estratégia comum para múltiplas tecnologias de
transporte, incluindo TCP/IP. Idealmente, o modelo em camadas define que os protocolos da mesma
camada são concorrentes (não são usados ??ao mesmo tempo) e os protocolos de camadas diferentes
são complementares (seus cabeçalhos podem ser empilhados).
REFERÊNCIAS
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed.
Pearson, 2010.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de Computadores: Das LANs
, MANs e WANs às Redes ATM. Editora Campus, 1997. p. 28.
TAROUCO, Liane M. R. Redes de Computadores Locais e de Longa Distância. Editora McGraw-Hill, 1986.
p. 53.
TORRES, G. Redes de Computadores: Das LANs, MANs e WANs às Redes ATM. Axcel Books, 2003.
WHITE, R.; BANKS, E. Computer Networking Problems and Solutions: An Innovative Approach to Building
Resilient, Modern Networks. Wiley, 2020.
ANEXOS
37
=================================================================================
Arquivo 1: 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx (6703 termos)
Arquivo 2: https://www.avast.com/pt-br/c-what-is-tcp-ip (2790 termos)
Termos comuns: 105
Similaridade: 1,11%
O texto abaixo é o conteúdo do documento 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx
(6703 termos)
Os termos em vermelho foram encontrados no documento https://www.avast.com/pt-br/c-what-is-tcp-
ip (2790 termos)
=================================================================================
Sorocaba, SP
2024
SUMARIO
1. OBJETIVO DO TRABALHO4
2. INTRODUÇÃO5
3. REFERENCIAL TEÓRICO7
3.1 SOQUETE DE REDE7
3.2 SOQUETES UDP10
3.3 SOQUETE TCP10
3.4 ARQUITETURA EM CAMADAS12
3.5 CAMADA DE APLICAÇÃO13
3.6 CAMADA DE APRESENTAÇÃO13
3.7 CAMADA DE SESSÃO13
3.8 CAMADA DE TRANSPORTE13
3.9 CAMADA DE REDE14
3.10 CAMADA DE LINK OU MAC14
3.11 CAMADA FÍSICA14
3.12 MODELO ETHERNET14
3.13 PROTOCOLOS15
3.14 FUNÇÕES DO PROTOCOLOS17
3.15 PROTOCOLOS DE CAMADAS18
3.16 PROTOCOLO TCP18
3.17 PROTOCOLO UDP19
3.18 PROTOCOLO HTTP20
3.19 PROTOCOLO HTTPS21
3.20 PROTOCOLO IP22
3.21 PROTOCOLO DE ROTEAMENTO22
3.22 PROTOCOLO FTP22
3.23 HIERARQUIAS DE REDE23
3.24 HARDWARE25
3.25 SWITCHES26
3.26 HUBS26
3.27 ROTEADORES26
3.28 CABEAMENTO ESTRUTURADO27
3.29 PRINCIPAIS NORMAS DE CABEAMENTO27
3.30 TIPOS DE CABEAMENTO28
3.31 CABO COAXIAL28
3.32 CABO PAR TRANÇADO28
3.33 CABO DE FIBRA ÓPTICA29
3.34 SERVIÇOS DE REDE29
3.35 CLASSIFICAÇÃO DE SERVIÇOS29
3.36 SERVIÇOS ORIENTADOS A CONEXÃO30
3.37 SERVIÇOS SEM CONEXÃO:30
4. DESENVOLVIMENTO31
4.1 CÓDIGO DO SERVIDOR31
1. OBJETIVO DO TRABALHO
O relatório deve incluir o uso de primitivos de soquete Berkeley ou componentes derivados deles para
comunicação de dados. Deve abordar todos os elementos utilizados no desenvolvimento do projeto, bem
como o impacto deste trabalho na formação da equipe. Além disso, é importante discutir a
interdisciplinaridade envolvida no projeto devido ao nível de detalhe, funcionalidade, tratamento de erros,
implementação de funcionalidades adicionais e relatórios adicionais no sistema, que serão apresentados
no desenvolvimento.
2. INTRODUÇÃO
O grupo desenvolveu uma ferramenta de comunicação em rede utilizando Java e C#. Camila Goulart
Madosaki as atividades práticas supervisionadas estão estruturadas da seguinte forma. A equipe criou
uma aplicação que permite que duas ou mais pessoas se comuniquem em rede utilizando o protocolo TCP
/IP, ferramenta que será utilizada em situações que envolvem o meio ambiente. O tema escolhido pelo
grupo foi a preservação e sustentabilidade do meio ambiente. Estudo da topologia do sistema. O
documento apresenta uma referência teórica, na qual aborda um extenso sistema de comunicação que
conecta diversas redes de computadores. O sistema de comunicação consistirá de um arranjo topológico
interconectando módulos de processador individuais através de links físicos, dispositivos de transmissão
ou redes de transporte e um conjunto de regras para organizar. Existem muitos dispositivos diferentes em
muitas formas e recursos que podem ser interconectados e compartilhados através de métodos de acesso
, protocolos e requisitos de segurança. Os métodos de comunicação podem ser: linhas telefônicas, cabos,
comunicações via satélite ou sem fio. O objetivo de uma rede de computadores é permitir que os
computadores troquem dados e compartilhem recursos de hardware e software. A classificação dos
tamanhos de rede é: PAN, LAN, MAN, WAN A topologia de uma rede mostra como as máquinas estão
conectadas entre si. De acordo com a topologia, a rede pode ser dividida em: rede ponto a ponto, rede em
estrela, rede em anel e rede em árvore. O cabeamento estruturado refere-se aos vários tipos de cabos
instalados em uma residência ou empresa para distribuição de áudio, vídeo, telefone e dados. Esses fios
costumam ser agrupados, assim como cabos de rede, cabos de áudio de fibra óptica e outras
combinações personalizadas para distribuir itens por todo o ambiente. Cabeamento estruturado é um
termo genérico que inclui várias formas de cabos colocados em uma casa ou escritório para distribuição
de sinais de áudio, vídeo, telefone e dados. Tais fios, normalmente, são postos juntos em grupos, desde
cabos de rede passando por cabos de áudio de fibra óptica e muitas outras combinações personalizadas
que levam os itens a serem distribuídos por todo o ambiente. Um protocolo de comunicação é um acordo
utilizado na comunicação entre duas ou mais partes com o intuito de estabelecer como será a
comunicação entre elas. Simplificando, seria mais ou menos isso: um conjunto de regras. De maneira
simplificada, um protocolo poderia ser definido como regras que "governam" a sintaxe, a semântica e a
sincronia da comunicação. A evolução das ferramentas de comunicação em rede impulsiona inovação e
desenvolvimento tecnológico, permitindo responder a emergentes necessidades dos utilizadores e das
organizações na criação de novas aplicações, serviços e soluções.
3. REFERENCIAL TEÓRICO
"Unix Network Programming" (2003) ou Programação de rede Unix por W. Richard Stevens. Considerado
um clássico na área de programação de redes, este livro fornece uma introdução abrangente ao assunto.
Ele não cobre apenas o uso de soquetes em sistemas Unix, mas também fornece uma compreensão
sólida dos conceitos subjacentes à comunicação em rede. Este livro é conhecido por sua abordagem
prática e clara e exemplos de código detalhados e explicativos. Além disso, "TCP/IP Illustrator" (1994) do
mesmo autor, W. Richard Stevens, é outro livro altamente recomendado para aprender os fundamentos do
protocolo TCP/IP, que é a base das comunicações de rede na Internet. Este livro complementa muito bem
a programação de rede Unix, fornecendo uma compreensão mais profunda dos protocolos de rede.
Ambos os livros são recursos valiosos para estudantes, profissionais de TI e desenvolvedores
interessados em aprender programação de redes e soquetes. Especificamente, na computação, os
soquetes podem ser usados em conexões de rede de computadores para fornecer um link de
comunicação bidirecional entre dois programas. As conexões de soquete tiveram origem em 1980, quando
a agência governamental dos EUA ARPA (Advanced Research Projects Agency) forneceu recursos
financeiros à Universidade da Califórnia, Berkeley, para fornecer uma implementação UNIX do pacote de
protocolo TCP/IP. O produto desenvolvido posteriormente ficou conhecido como Berkeley Sockets
Interface ou simplesmente Berkeley Sockets. Frequentemente recomendado para aprender sobre
soquetes e programação de redes é "Unix Network Programming" de W. Richard Stevens (2003). Este
livro é considerado um clássico no campo da programação de redes e oferece uma cobertura abrangente
sobre o assunto. Os soquetes foram desenvolvidos especificamente para aplicações cliente/servidor, onde
o cliente e o servidor podem estar em máquinas diferentes e se comunicarem através de um protocolo de
transporte, o que significa que quando a aplicação interage com o software do protocolo, ela deve ser
informada que se trata de um cliente ou servidor. Para estabelecer uma conexão, apenas o endereço de
destino e o número da porta são necessários. Existem dois modos de transmissão de soquete: modo
baseado em conexão e modo sem conexão. Os soquetes baseados em conexão funcionam como
telefones: eles estabelecem uma conexão e depois suspendem a conexão. Os soquetes sem conexão
funcionam como correio: a entrega não é garantida e diferentes itens de correio podem chegar em uma
ordem diferente daquela em que foram enviados. A escolha do modo de transporte de soquete dependerá
das necessidades da sua aplicação. Se a confiabilidade for importante, o modo baseado em conexão
deverá ser usado. Por exemplo, um servidor de arquivos precisa que todos os seus dados cheguem ao
usuário na ordem correta. A operação sem conexão será mais rápida e eficiente, mas não há garantia. O
método de conexão adota o protocolo TCP. Um soquete neste modo de operação deve ser conectado ao
destino antes que os dados possam ser transferidos. Quando conectado, o soquete usa a interface de
fluxo: open-read-write-close. Um soquete também é uma abstração computacional que mapeia
diretamente para uma porta de transporte por meio de um protocolo TCP ou UDP e um endereço de rede.
Por sua vez, o soquete se abstrai e pode utilizar qualquer um dos métodos TCP ou UDP já mencionados.
Com este conceito é possível identificar de forma única uma aplicação ou servidor numa rede de
comunicações IP. No documento RFC (Request for Comments) relacionado ao TCP ou UDP, um soquete
em um computador é definido como uma combinação de endereço IP, protocolo e número de porta do
protocolo. Soquetes e RPC possuem a funcionalidade para implementar aplicativos. Funcionalidades de
rede, mas são implementadas de maneiras diferentes, por exemplo, imagine que você precisa desenvolver
uma aplicação de servidor que funcione como uma "sala" de chat. Essencialmente, a aplicação receberá
chamadas do cliente (em uma determinada porta) e então se o cliente enviar uma mensagem, o servidor
enviará essa mensagem para todos os outros clientes.
Ou imagine, por exemplo, que você tem um sensor de temperatura instalado em seu computador e possui
um aplicativo de servidor que controla o sensor, fornecendo informações sobre o clima. A aplicação cliente
pode conectar-se remotamente à aplicação servidora e obter essas informações. Tudo isso pode ser
desenvolvido usando soquetes
Geralmente, há um aplicativo que cria o soquete do servidor e outro aplicativo que implementa o cliente.
Existem dois tipos principais de soquetes: Socket_Stream (também conhecido como TCP) ou SOCK
_DGRAM (também conhecido como UDP). Os soquetes TCP garantem a confiabilidade da comunicação
(entrega de pacotes garantida), enquanto os soquetes UDP não garantem a entrega de pacotes no nível
da camada de transporte)
A comunicação entre processos também pode ocorrer via UDP. No entanto, o UDP é um serviço sem
conexão. O remetente insere explicitamente o endereço IP e a porta do destino no formato IP:porta (por
exemplo: 192.168.0.1:80). O servidor deve extrair o endereço IP e a porta (soquete) do remetente do
datagrama recebido. Os dados recebidos podem ser recebidos fora de ordem ou até mesmo perdidos. Só
então os dados são encaminhados para as camadas superiores, da camada de transporte (protocolo UDP
) para a camada de aplicação (qualquer aplicação).
Esses Datagram Soquete ou DataGrama, por serem UDP, possuem comunicação não orientada à
conexão e não são confiáveis, pois os dados enviados neste tipo podem não chegar ao destino final da
forma como foram enviados, e não há garantia de sua chegada. Streaming de áudio e vídeo sob demanda
e jogos multijogador são exemplos de aplicativos de soquete de datagrama. Neste tipo de transferência, a
perda de pequenas quantidades de dados não traz consequências graves para o processo. Tanto o
Socket UDP quanto o Socket TCP usam o protocolo IP para rotear dados pela rede.
No protocolo TCP, um soquete cria uma conexão de streaming bidirecional entre os endereços 'hostC
:portC' e 'hostS:portS', ou seja, entre a aplicação cliente em execução na máquina 'hostC' e também pode
controlar a porta 'portC' e outro aplicativo de servidor em execução no computador 'hostS', observando a
porta 'portS' de 'hostS'. Sabemos também que o protocolo TCP é orientado à conexão e por isso garante
que os dados enviados do cliente para o servidor cheguem ao seu destino na respectiva porta. Esta forma
de comunicação com soquetes TCP utiliza soquetes de fluxo, que representam uma forma de
comunicação bidirecional confiável e orientada à conexão.
Os dados enviados através deste tipo de Socket estarão seguros e chegarão da mesma forma que foram
enviados, pois o protocolo TCP é responsável por ?entregar? os dados da mesma forma que foram
enviados e sem erros. Por exemplo: os navegadores usam este aplicativo sobre protocolos HTTP, que
normalmente funcionam no soquete 80. Um soquete é uma abstração de um endereço de comunicação
através do qual os processos se comunicam. Cada endereço possui um identificador exclusivo que
consiste no endereço da máquina e no identificador local da porta utilizada pelo processo.
Este identificador de porta é usado para mapear os dados recebidos pela máquina para um processo
(aplicação) específico. O processo de comunicação no modo orientado à conexão é o seguinte: o servidor
é colocado em uma porta específica e aguarda uma conexão com essa porta. O cliente deve saber
antecipadamente o nome IP do servidor e a porta correspondente na qual o servidor está aguardando
conexões.
Conforme na figura 2.
Se não houver problemas, o servidor aceita a conexão gerando um soquete em uma porta livre do lado do
servidor, criando assim um canal de comunicação entre o cliente e o servidor. É importante observar que a
porta original está livre para receber outras solicitações de conexão. A imagem abaixo demonstra o
mesmo canal de comunicação.
O modelo de referência OSI foi criado pela ISO em 1978 para construir sistemas de conexão entre
dispositivos através da padronização de protocolos e padrões, que é um padrão global e modelo
conceitual desde 1984. Este modelo propõe um esquema de trabalho conjunto entre hardware e software
para permitir a comunicação entre dispositivos. No entanto, o modelo OSI é mais teórico do que prático.
livro amplamente recomendado sobre arquitetura em camadas é "Patterns of Enterprise Application
Architecture" (Padrões de Arquitetura de Aplicações Corporativas) de Martin Fowler(2003). Embora o livro
não se concentre exclusivamente na arquitetura em camadas, aborda vários padrões arquiteturais comuns
, incluindo a arquitetura em camadas, e fornece uma compreensão sólida dos princípios e práticas
envolvidos na construção de sistemas de software escaláveis e robustos.
É responsável por definir o formato de troca de dados entre computadores, atuando como conversor de
protocolos, criptografia, compactação de dados, entre outras tarefas.
Uma sessão é um canal de comunicação entre dois aplicativos executados em computadores diferentes. A
camada de sessão é responsável por gerenciar conversas entre aplicações para que elas possam abrir,
usar e fechar sessões. É nesta camada que são executadas as funções de reconhecimento de nomes e
segurança.
É responsável pela integridade dos pacotes de informações e garante uma comunicação confiável. Esta
integridade é conseguida graças ao sinal ACK enviado entre as duas partes (sinal que confirma que a
comunicação ocorreu corretamente, do receptor ao transmissor). O protocolo TCP é executado nesta
camada
É usado para identificar o endereço de um sistema em uma rede e realmente transferir dados. A camada
de rede deve conhecer o meio físico da rede e empacotar as informações de forma que a camada de
enlace possa enviá-las para a camada física. Em muitas redes, esta camada não verifica a integridade da
informação, apenas a encapsula.
É utilizado para definir como a informação é transmitida através da camada física e garante o bom
funcionamento desta camada. Se houver erros na transmissão de informações no meio físico, como cabos
danificados ou colisões de dados, a camada MAC deverá tratar esses erros ou comunicá-los às camadas
superiores.
Consiste em hardware como cabos, fibras ópticas e conectores usados ??para conectar diferentes
sistemas de rede. Nesta camada, as informações são codificadas na forma de sinais elétricos
Um livro recomendado sobre o modelo Ethernet é "Ethernet: The Definitive Guide" (2000) de Charles E.
Spurgeon. Este livro fornece uma visão geral abrangente da tecnologia Ethernet, incluindo seu histórico,
capacidades, padrões e protocolos relacionados. As redes Ethernet podem transportar até 1.500 bytes de
dados. Portanto, o sistema operacional configura automaticamente o protocolo IP para criar um datagrama
de 1.500 bytes em vez de 65.535 bytes (o tamanho real do datagrama é 1.497 porque a camada LLC usa
3 ou 5 bytes para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, o que equivale à
Interface de Rede do modelo TCP/IP. Sobre o modelo Ethernet é "Ethernet: The Definitive Guide" de
Charles E. Spurgeon(2000). Este livro oferece uma visão abrangente da tecnologia Ethernet, incluindo sua
história, funcionamento, padrões e protocolos associados. A camada LLC (Logical Link Control) é
responsável por adicionar informações sobre qual protocolo da camada Internet é responsável pela
geração dos dados. Desta forma, durante o processo de recepção de dados, o computador receptor pode
saber qual protocolo deve ser utilizado na camada Internet para receber os dados. A camada MAC (Media
Access Control) é responsável pela montagem dos frames que serão enviados para a rede. Esta camada
é responsável por adicionar os endereços MAC de origem e destino ao pacote (o endereço físico da placa
de rede). Quando os pacotes são enviados para uma rede diferente da rede local, o endereço MAC
inserido como destino será o endereço MAC do roteador a ser usado. Os protocolos que definem esta
camada são IEEE 802.3 (para redes com cabos físicos) e IEEE 802.11 (no caso de redes sem fio). A
camada física é a camada mais baixa do modelo TCP/IP. É responsável por converter os frames gerados
pela camada MAC em sinais elétricos (para redes com cabos físicos) ou sinais eletromagnéticos (para
redes sem fio). No IEEE, a camada física é definida pelo mesmo protocolo da camada MAC. Segundo
BEZERA (2008), o padrão Ethernet especifica a camada de enlace e a camada física. No final do
empacotamento, os dados conterão cabeçalhos para todas as camadas do modelo TCP/IP, bem como
cabeçalhos para a subcamada Ethernet.
3.13 PROTOCOLOS
Os protocolos de rede desempenham diversas funções essenciais para garantir a comunicação eficiente
entre dispositivos. Uma dessas funções é a fragmentação dos dados a serem transmitidos em pequenos
pedaços chamados pacotes. Cada pacote contém informações de endereçamento que especificam a
origem e o destino. Este protocolo organiza as fases de estabelecimento, controle, fluxo e encerramento
da troca de informações.
As funções específicas dos protocolos variam conforme a camada do modelo OSI, mas algumas funções
podem ser executadas em múltiplas camadas, ainda que com diferentes contextos e objetivos (MPR/JAR,
2003).
As principais funções dos protocolos incluem:
Endereçamento: Especificação clara do ponto de destino da mensagem.
Estabelecimento: Criação de um canal lógico fechado entre a fonte e o destino.
Numeração e Sequência: Individualização de cada mensagem por meio de números sequenciais.
Confirmação de Recepção: Garantia de que o destinatário recebeu a mensagem, com ou sem erro.
Controle de Erro: Detecção e correção de erros na transmissão.
Retransmissão: Reenvio de mensagens em caso de falha na recepção.
O conjunto de protocolos utilizados para comunicação entre computadores pela Internet, também
conhecido como conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo norte-
americano para permitir a comunicação entre diferentes redes constituídas por diversos tipos de
computadores. A família de protocolos TCP/IP é particularmente popular porque não pertence a nenhum
fornecedor específico. Portanto, é amplamente apoiado pelo mercado
TCP significa Transmission Control Protocol e refere-se ao sistema mais comum para envio de pacotes na
Internet. Quando você visita um site, seu computador envia dados para o servidor, solicitando que o
servidor envie o conteúdo da página para a máquina que você está usando ? as informações enviadas de
volta são ?emendadas? pelo navegador para exibir o que você deseja
Segundo Scrimger et al., as principais características do TCP são: (2 002) são a transferência de dados,
robustez, controle de fluxo, multiplexação, conexões lógicas e o fato de ser full duplex.
Streaming de dados: o aplicativo pode confirmar se todos os segmentos de dados transmitidos pelo TCP
atingiram o destino esperado e informar se a operação foi bem-sucedida
Robustez: Se os segmentos chegarem fora de ordem, o TCP do receptor irá agrupá-los
Controle de fluxo: O receptor envia uma mensagem confirmando o recebimento ao receber um segmento
Multiplex: uso paralelo das portas de comunicação
Conexão lógica: Identificada pelos processos de envio e recebimento, através de uma combinação de
mecanismos TCP
Full duplex: os dados podem ser transmitidos em ambas as direções simultaneamente
O TCP também emprega seu próprio sistema de numeração para garantir que os pacotes enviados
cheguem ao seu destino na ordem correta. Caso o pacote não seja recebido corretamente pelo receptor, a
informação é enviada novamente até chegar ao seu destino com segurança ? e o mais importante, há
uma verificação de erros para garantir que nenhuma informação foi corrompida durante a transmissão
É exatamente isso que se destaca neste protocolo: confiabilidade. Graças ao TCP, os downloads que você
faz não são corrompidos por flutuações na velocidade da conexão, e as páginas visitadas pelo navegador
raramente carregam algum elemento acidentalmente ? a menos, é claro, que uma das máquinas seja
usada para trocar dados no processo. estiver temporariamente off-line, você receberá uma mensagem de
erro e não poderá acessar o conteúdo desejado.
UDP (User Datagram Protocol) é o ?irmão? do protocolo TCP e também se baseia no envio de pacotes de
informações, mas elimina todas as partes de verificação de erros das outras tecnologias. O objetivo desta
opção é acelerar o processo de envio de dados, pois todas as etapas de comunicação necessárias para
verificar a integridade do pacote (e reenviar o pacote, se necessário) causam lentidão.
Quando o protocolo UDP é ativado, ele simplesmente envia as informações para o receptor sem se
preocupar se as informações foram recebidas corretamente - caso ocorra um erro, o próximo pacote
programado pelo sistema simplesmente será enviado, e o pacote anterior não será capaz recuperar.
Embora este método de operação aumente o risco de erros, garante uma comunicação rápida entre os
dois computadores.
Pelas suas características, este protocolo é amplamente utilizado em situações onde a correção de erros
não é totalmente necessária. Por exemplo, durante a transmissão de um vídeo ao vivo, é mais
interessante que uma pessoa perca certas partes ou tenha que lidar com distorções de imagem e áudio do
que esperar para receber um pacote perdido ? o que pode acabar com o fator ?tempo?. . real".
O protocolo UDP fornece um serviço de entrega sem conexão e não é confiável ao usar IP para transmitir
datagramas entre máquinas( COMER,2006)
O UDP também é amplamente utilizado em jogos online ? se você perder alguns pacotes, o personagem
da outra parte pode ?teletransportar-se? para a tela, mas você não tem motivo para receber os dados
perdidos porque o jogo continuará mesmo que eles não cheguem para você . O que importa é o que está
acontecendo agora, não o que aconteceu há poucos minutos, então não faz sentido confiar na verificação
de erros, que só aumentará a latência para os participantes.
HTTP é um protocolo da camada de aplicação que usa a porta de rede 80. Permite a transmissão de
dados na forma de texto simples, hipertexto, áudio, vídeo, etc. É utilizado em ambientes onde há uma
transição rápida de um documento para outro, como uma página da Internet. Este protocolo possui
características semelhantes aos protocolos FTP e SMTP e permite a transferência de arquivos utilizando
serviços TCP. Porém, é muito mais simples que o FTP, usando apenas uma conexão TCP, porta 80.
Através desta porta, os dados são transmitidos entre o cliente e o servidor
As mensagens HTTP não estão diretamente disponíveis aos usuários. Eles são interpretados pelo cliente
HTTP ? o navegador. A ideia do HTTP é que o cliente envie uma solicitação ao servidor na forma de uma
mensagem, e o servidor envie uma resposta ao cliente na forma de uma mensagem.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) é uma extensão do protocolo HTTP usado para
comunicação segura na World Wide Web. Ele utiliza uma combinação de criptografia SSL/TLS para
garantir a confidencialidade e integridade dos dados transmitidos entre o cliente (geralmente um
navegador da web) e o servidor web.
Quando uma conexão HTTPS é estabelecida, o servidor web envia um certificado digital para o cliente,
que contém uma chave pública. O cliente usa essa chave pública para criptografar uma chave de sessão
simétrica, que é então enviada de volta ao servidor. A partir desse ponto, a comunicação entre o cliente e
o servidor é criptografada usando essa chave de sessão.
O HTTPS oferece várias vantagens sobre o HTTP tradicional, incluindo:
1.Segurança dos dados: A criptografia SSL/TLS protege os dados durante a transmissão, impedindo que
terceiros interceptem ou modifiquem as informações transmitidas.
2.Autenticação do servidor: O uso de certificados digitais permite que o cliente verifique a identidade do
servidor, garantindo que este seja realmente quem afirma ser.
3.Integridade dos dados: Os dados transmitidos por meio do HTTPS são protegidos contra alterações não
autorizadas durante a transmissão.
4.Confiança do usuário: A presença do cadeado verde e do "https://" na barra de endereço do navegador
transmite confiança aos usuários, indicando que a conexão é segura.
O uso do HTTPS é essencial para proteger informações sensíveis, como dados de login, informações de
pagamento e outras informações pessoais dos usuários durante a comunicação na web. Nos dias de hoje,
é amplamente adotado e incentivado por organizações e empresas em todo o mundo.
3.20 PROTOCOLO IP
Este protocolo é responsável por endereçar o pacote para transmissão, adicionando um cabeçalho,
permitindo que o pacote seja roteado pela rede até ser entregue ao destino correto. Os pacotes IP contêm
o endereço IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar
erros e um TTL (informação em segundos) sobre quanto tempo um pacote pode permanecer na rede para
evitar loops infinitos de tráfego). Slinger et al. (2002, p. 107) Um endereço IP é semelhante ao endereço
que você usa para enviar e-mail. ?O endereço deve conter todos os dados necessários para a entrega.
Caso contrário, a carta não chegará ao destino correto.
O roteamento de pacotes pode ser estático ou dinâmico. Em pequenas redes locais, é utilizado o
roteamento estático, o que significa que o caminho que um datagrama percorre para chegar ao seu
destino é sempre o mesmo. Na Internet, o roteamento é dinâmico, o que significa que os roteadores
podem alterar a rota de um pacote a qualquer momento se um caminho melhor para o destino estiver
disponível. A melhor rota é aquela que requer menos saltos (roteadores intermediários), mas rotas mais
curtas não são necessariamente mais rápidas.
O protocolo FTP é usado para acessar arquivos remotos na Web, bem como no servidor de arquivos local
de uma empresa. Quando baixamos arquivos, geralmente usamos o protocolo FTP. Também pode ser
usado para fazer upload de arquivos do seu computador para a web. O protocolo FTP permite transferir
arquivos pela Internet. Existem vários programas gratuitos na Internet que fornecem serviços FTP. Com
ele você pode transferir arquivos, autenticar usuários e gerenciar arquivos e diretórios, segundo Falbriard
(2002), os protocolos utilizados nas redes de comunicação definem conjuntos de regras que coordenam e
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks"(2020) de Russ White e Ethan Banks. Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas.
Como você viu, um protocolo é um conjunto de regras sobre como ocorre a comunicação entre as partes.
Para reduzir a complexidade de um projeto, a maioria das redes foi organizada em uma série de níveis ou
camadas e colocadas dentro de um nível. O número, nome, conteúdo e funcionalidade de cada camada
variam de rede para rede. Entretanto, em todas as redes, o objetivo de cada camada é fornecer
determinados serviços às camadas superiores.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas
A camada N de uma máquina se comunica com a camada N de outra máquina. Para isso, baseia-se em
um conjunto de convenções e regras que permitem gerenciar essa comunicação, o que é denominado
protocolo de camada N, ou protocolo N, abreviadamente.
Em máquinas diferentes, entidades na mesma camada são chamadas de "pares." Esses pares se
comunicam utilizando um protocolo específico. Contudo, os dados não são transferidos diretamente entre
os pares devido à ausência de um meio físico direto entre eles. Cada camada transmite os dados para a
camada imediatamente inferior até alcançar a camada final. Na última camada, a comunicação é realizada
através do hardware da rede, que é o meio físico de transmissão de dados. Em cada par, existe uma
interface que define as operações e serviços que a camada inferior deve fornecer à camada superior
adjacente.
A arquitetura de rede consiste em uma coleção de camadas que formam a estrutura da rede. A
especificação arquitetônica deve conter informações suficientes para permitir o desenvolvimento correto
da rede, tanto do ponto de vista de software quanto de hardware. No entanto, os detalhes de
implementação de cada camada e a especificação detalhada da interface não fazem parte da definição da
arquitetura da rede; em vez disso, é um conjunto de regras que controla o formato e o significado das
informações trocadas pelas entidades pares dentro de uma camada. As entidades utilizam protocolos para
implementar suas definições de serviço e têm a liberdade de modificar seus protocolos, desde que não
alterem os serviços visíveis aos seus usuários.
3.24 HARDWARE
Um livro atual sobre hardware de redes de computadores é "Computer Networking Problems and Solutions
: An innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este
livro oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando
questões de projeto, operação e solução de problemas em redes hierárquicas
Hardware de rede, ou equipamento de rede, refere-se ao equipamento que facilita e suporta a utilização
de redes de computadores, ou seja, o meio físico necessário à comunicação entre os diversos
componentes participantes da rede.
Switches;
Roteadores;
Concentradores;
Repetidores;
Adaptadores de rede;
Modem;
Gateway;
Bridge;
Firewall;
Pontos de acesso sem fio;
Entre outros hardwares relacionados
3.25 SWITCHES
Um switch é um dispositivo usado para encaminhar pacotes de dados entre diferentes nós. Possuem
portas semelhantes a um hub (concentrador), a principal diferença é que o switch segmenta a rede
internamente, pois cada porta corresponde a um domínio de colisão diferente, eliminando assim colisões
entre pacotes vindos de diferentes segmentos de rede.
3.26 HUBS
3.27 ROTEADORES
Um roteador é um dispositivo que encaminha pacotes de dados entre redes de computadores, criando um
conjunto de redes sobrepostas. Os roteadores se conectam a duas ou mais linhas de dados de redes
diferentes. Os roteadores têm muitas funções, mas a mais comum que todos conhecem é a possibilidade
de conexões sem fio. As redes sem fio são amplamente utilizadas hoje em dia porque são mais práticas.
Sua principal desvantagem está relacionada ao hacking, pois os hackers podem ver onde existe a rede
sem fio e, portanto, comprometer facilmente a rede e os computadores que possam estar conectados a ela
.
O cabeamento estruturado é uma abordagem padronizada para cabeamento de rede que leva em
consideração padrões de segurança (como ANSI e EIA/TIA), melhores práticas e melhor utilização dos
recursos do equipamento, permitindo o redirecionamento através de diferentes caminhos dentro da
mesma estrutura de cabeamento para rotear os fios. entre diferentes pontos. A comunicação é uma das
principais características do cabeamento estruturado, conceito que surgiu nos serviços técnicos de voz,
mas, graças à sua ampla adoção por empresas e organizações criadas por meio da padronização,
rapidamente se tornou a solução para os mais diversos serviços de dados.
A maioria dos padrões são internacionais, por isso são desenvolvidos por instituições e associações
respeitáveis, como IEEE (Instituto de Engenheiros Elétricos e Eletrônicos), TIA (Associação da Indústria de
Telecomunicações) e EIA (Associação da Indústria Eletrônica).
ANSI/TIA/EIA-1005 ? Telecommunications Infrastructure Standard for Industrial Premises;
ANSI/TIA-606-A ? Admi nistration Standard for Commercial Telecommunications Infrastructure;
ANSI/TIA-607-B ? Telecommunications Grounding (Earthing) and Bonding for Customer Premises;
ANSI/TIA-758-A ? Customer-Owned Outside Plant Telecommunications Infrastructure Standard;
ANSI/TIA-862 ? Building Automation Systems Cabling Standard for Commercial Buildings;
IEEE-100BASE-TX ? Fast Ethernet;
TIA 569 -B ? Commercial Building Standard for Telecommunications Pathways and Spaces;
TIA/EIA-568-C.0 ? Generic Telecommunications C abling for Customer Premises;
TIA/EIA-568-C.3 ? Optical Fiber Cabling Components Standard.
TIA-942 ? Telecommunications Infrastructure Standard for Data Center;
Todos esses padrões definem o tipo de cabo utilizado, bem como os limites e requisitos
(distância, segmentos, frequência etc.) que a estrutura deve atender para garantir o
funcionamento adequado.
Os mais comuns que utilizamos hoje são os cabos trançados e de fibra óptica, que são escolhidos com
base nos objetivos do negócio, ou seja, o tipo de rede com a qual estamos lidando.
Consiste em fio de cobre condutor coberto com material isolante e rodeado por uma camada de blindagem
. Utilize conectores BNC. Apesar da sua capacidade de reduzir o impacto de influências e sinais externos
nos sinais que transmite, caiu em desuso e só existe em algumas redes mais antigas por serem mais
propensas a maus contactos, terem conectores mais caros e serem menos flexíveis.
O cabo de par trançado é sem dúvida o cabo mais conhecido e ?masterizado? entre os especialistas em
TI, principalmente por ser o cabo utilizado para implementação de redes há muitos anos. Uma de suas
maiores vantagens é o baixo custo e a facilidade de aquisição de produtos prontos ou sob medida.
Os cabos de fibra óptica são projetados para atender tecnologias mais modernas e oferecem uma série de
vantagens, a começar pelo fato das fibras ópticas serem imunes a interferências eletromagnéticas e, claro
, pela capacidade de transmitir dados em altas taxas. O tipo mais rápido de transmissão existente converte
um sinal de dados em luz, e um receptor que recebe a luz converte esse sinal novamente em dados. Por
outro lado, pode transmitir grandes quantidades de informação com atenuação muito baixa, mas é caro
para adquirir e manter. Eles são divididos em monomodo que só consegue fornecer um sinal por vez,
menor dispersão e pode ficar muitos quilômetros entre um relé e outro e multimodo
Um livro contemporâneo sobre serviços de rede é "Networking for Systems Administrators" (2017), de
Michael W. Lucas. Esta obra aborda diversos aspectos relacionados à configuração, administração e
manutenção de serviços de rede como DNS, DHCP, FTP, SSH e email. Destina-se especialmente a
administradores de sistemas que necessitam gerenciar e manter infraestruturas de rede.
Um serviço de rede é um conjunto de operações implementadas por um protocolo através de uma
interface e fornecidas à camada superior. Ele define as operações que uma camada pode realizar sem se
preocupar com a execução específica dessas operações. Os serviços podem ser classificados em
orientados à conexão ou não. Os serviços relacionados à família TCP são orientados à conexão, enquanto
os serviços associados à família UDP não possuem essa característica.
Os serviços de rede podem ser divididos em duas categorias principais: serviços orientados à conexão e
serviços sem conexão. Além desses, existem outros tipos de serviços, como DHCP, que atribui
automaticamente um endereço IP válido para cada dispositivo conectado à rede, e DNS, que permite o
uso de strings em vez de endereços IP numéricos para identificar recursos na Internet.
Os serviços orientados à conexão utilizam o protocolo TCP. Antes do envio de dados, ocorre um processo
de handshaking, que estabelece uma conexão confiável entre os hosts. Esse processo prepara o receptor
para a recepção de dados. Durante essa conexão, é possível verificar se todos os pacotes foram
entregues corretamente e, se necessário, solicitar o reenvio de pacotes perdidos. Esse mecanismo
garante uma transmissão de dados confiável. Adicionalmente, o controle de fluxo e o gerenciamento de
congestionamento são realizados para assegurar que o receptor não seja sobrecarregado e que a rede
não sofra com congestionamentos.
Os serviços sem conexão utilizam o protocolo UDP. Nesse caso, não há um processo de handshaking, o
que significa que não é possível garantir que todos os pacotes cheguem ao destino, pois não se
estabelece uma conexão prévia. Consequentemente, não há criação de um canal seguro para a
transferência de dados. Embora esse método seja mais rápido devido à ausência do processo de
handshaking, ele é menos confiável e não oferece as funcionalidades de controle de fluxo e
gerenciamento de congestionamento presentes no TCP. Exemplos de aplicações que utilizam UDP
incluem vídeo e teleconferências pela Internet.
4. DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Um livro brasileiro atualmente muito utilizado para estudo de desenvolvimento de ferramentas para
comunicação em rede é "Redes de Computadores e a Internet: Uma Abordagem Top-Down" de James F.
Kurose e Keith W. Ross(2010), na sua versão traduzida para o português. Este livro é amplamente no
estudo do tema em redes de computadores no Brasil.
O desenvolvimento de uma ferramenta para comunicação em rede é de extrema importância por várias
razões:
Comunicação Eficiente: Permite a comunicação rápida e eficiente entre diferentes dispositivos, usuários ou
sistemas em uma rede, facilitando a troca de informações, compartilhamento de recursos e colaboração
em tempo real.
Integração de Sistemas: Uma ferramenta de comunicação em rede pode integrar sistemas heterogêneos,
permitindo que eles se comuniquem e compartilhem dados de maneira harmoniosa, melhorando a
interoperabilidade e a eficiência operacional.
Acesso Remoto: Facilita o acesso remoto a recursos e informações, permitindo que usuários acessem
dados ou sistemas de qualquer lugar, a qualquer momento, desde que estejam conectados à rede, o que
aumenta a flexibilidade e a mobilidade.
Colaboração: Promove a colaboração e o trabalho em equipe, possibilitando a comunicação instantânea e
a troca de informações entre colegas, equipes de trabalho ou parceiros de negócios, independentemente
da localização geográfica.
Distribuição de Recursos: Permite a distribuição eficiente de recursos, como impressoras, servidores de
arquivos, bancos de dados e dispositivos de armazenamento, dentro de uma rede, otimizando o uso dos
recursos disponíveis.
Monitoramento e Gerenciamento: Facilita o monitoramento e o gerenciamento de dispositivos, sistemas e
infraestrutura de rede, permitindo a detecção precoce de problemas, manutenção proativa e otimização do
desempenho da rede.
Segurança da Informação: Uma ferramenta de comunicação em rede pode implementar recursos de
segurança, como criptografia, autenticação, controle de acesso e monitoramento de tráfego, para proteger
os dados e garantir a confidencialidade, integridade e disponibilidade das informações.
Inovação e Desenvolvimento Tecnológico: O desenvolvimento contínuo de ferramentas para comunicação
em rede impulsiona a inovação e o desenvolvimento tecnológico, permitindo a criação de novas aplicações
, serviços e soluções que atendam às necessidades em constante evolução dos usuários e organizações.
Em resumo, o desenvolvimento de uma ferramenta para comunicação em rede é essencial para facilitar a
comunicação, promover a colaboração, otimizar o uso de recursos, garantir a segurança da informação e
impulsionar a inovação e o desenvolvimento tecnológico.
6. CONSIDERAÇÕESFINAIS
Neste capítulo, observamos três conceitos principais: Primeiro, um soquete é um ponto de comunicação
usado para transferir dados pela Internet entre aplicações executadas em máquinas diferentes. A
programação de aplicações socket é feita utilizando um conjunto de primitivas, que são funções que
permitem acesso a serviços de transporte e são fornecidas pela camada de transporte. Eles são
comumente usados ??em programação para Internet e pertencem a um grupo de primitivos chamados
Berkeley Sockets.
Essas funções são usadas para programar aplicativos cliente e servidor (embora existam algumas
diferenças de programação entre os dois) e, embora existam muitas, apenas as primitivas básicas
necessárias inicialmente para desenvolver uma aplicação cliente/servidor serão usadas, em segundo lugar
, vemos que a arquitetura TCP/IP é independente da tecnologia usada para transmitir quadros e introduz
dois níveis de endereçamento: IP, que permite o endereçamento de rede, e portas, que permitem o
endereçamento de processos. Por sua vez, os protocolos de aplicação fornecem padronização entre
mensagens trocadas entre clientes e servidores para permitir a interoperabilidade entre produtos de
diferentes fabricantes.
Finalmente, o modelo em camadas fornece uma estratégia comum para múltiplas tecnologias de
transporte, incluindo TCP/IP. Idealmente, o modelo em camadas define que os protocolos da mesma
camada são concorrentes (não são usados ??ao mesmo tempo) e os protocolos de camadas diferentes
são complementares (seus cabeçalhos podem ser empilhados).
REFERÊNCIAS
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed.
Pearson, 2010.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de Computadores: Das LANs
, MANs e WANs às Redes ATM. Editora Campus, 1997. p. 28.
TAROUCO, Liane M. R. Redes de Computadores Locais e de Longa Distância. Editora McGraw-Hill, 1986.
p. 53.
TORRES, G. Redes de Computadores: Das LANs, MANs e WANs às Redes ATM. Axcel Books, 2003.
WHITE, R.; BANKS, E. Computer Networking Problems and Solutions: An Innovative Approach to Building
Resilient, Modern Networks. Wiley, 2020.
ANEXOS
37
=================================================================================
Arquivo 1: 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx (6703 termos)
Arquivo 2: https://www.freecodecamp.org/portuguese/news/o-que-e-o-modelo-tcp-ip-camadas-e-
protocolos-explicados (1527 termos)
Termos comuns: 74
Similaridade: 0,90%
O texto abaixo é o conteúdo do documento 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx
(6703 termos)
Os termos em vermelho foram encontrados no documento
https://www.freecodecamp.org/portuguese/news/o-que-e-o-modelo-tcp-ip-camadas-e-protocolos-
explicados (1527 termos)
=================================================================================
Sorocaba, SP
2024
SUMARIO
1. OBJETIVO DO TRABALHO4
2. INTRODUÇÃO5
3. REFERENCIAL TEÓRICO7
3.1 SOQUETE DE REDE7
3.2 SOQUETES UDP10
3.3 SOQUETE TCP10
3.4 ARQUITETURA EM CAMADAS12
3.5 CAMADA DE APLICAÇÃO13
3.6 CAMADA DE APRESENTAÇÃO13
3.7 CAMADA DE SESSÃO13
3.8 CAMADA DE TRANSPORTE13
3.9 CAMADA DE REDE14
3.10 CAMADA DE LINK OU MAC14
3.11 CAMADA FÍSICA14
3.12 MODELO ETHERNET14
3.13 PROTOCOLOS15
3.14 FUNÇÕES DO PROTOCOLOS17
3.15 PROTOCOLOS DE CAMADAS18
3.16 PROTOCOLO TCP18
3.17 PROTOCOLO UDP19
3.18 PROTOCOLO HTTP20
3.19 PROTOCOLO HTTPS21
3.20 PROTOCOLO IP22
3.21 PROTOCOLO DE ROTEAMENTO22
3.22 PROTOCOLO FTP22
3.23 HIERARQUIAS DE REDE23
3.24 HARDWARE25
3.25 SWITCHES26
3.26 HUBS26
3.27 ROTEADORES26
3.28 CABEAMENTO ESTRUTURADO27
3.29 PRINCIPAIS NORMAS DE CABEAMENTO27
3.30 TIPOS DE CABEAMENTO28
3.31 CABO COAXIAL28
3.32 CABO PAR TRANÇADO28
3.33 CABO DE FIBRA ÓPTICA29
3.34 SERVIÇOS DE REDE29
3.35 CLASSIFICAÇÃO DE SERVIÇOS29
3.36 SERVIÇOS ORIENTADOS A CONEXÃO30
3.37 SERVIÇOS SEM CONEXÃO:30
4. DESENVOLVIMENTO31
4.1 CÓDIGO DO SERVIDOR31
4.2 CÓDIGO DO PROGRAMA31
5. RESULTADOS E DISCUSSÃO32
6. CONSIDERAÇÕESFINAIS34
REFERÊNCIAS35
ANEXOS36
FICHA OFICIAL DE ATIVIDADES PRÁTICAS SUPERVISIONADAS37
1. OBJETIVO DO TRABALHO
O relatório deve incluir o uso de primitivos de soquete Berkeley ou componentes derivados deles para
comunicação de dados. Deve abordar todos os elementos utilizados no desenvolvimento do projeto, bem
como o impacto deste trabalho na formação da equipe. Além disso, é importante discutir a
interdisciplinaridade envolvida no projeto devido ao nível de detalhe, funcionalidade, tratamento de erros,
implementação de funcionalidades adicionais e relatórios adicionais no sistema, que serão apresentados
no desenvolvimento.
2. INTRODUÇÃO
O grupo desenvolveu uma ferramenta de comunicação em rede utilizando Java e C#. Camila Goulart
Madosaki as atividades práticas supervisionadas estão estruturadas da seguinte forma. A equipe criou
uma aplicação que permite que duas ou mais pessoas se comuniquem em rede utilizando o protocolo TCP
/IP, ferramenta que será utilizada em situações que envolvem o meio ambiente. O tema escolhido pelo
grupo foi a preservação e sustentabilidade do meio ambiente. Estudo da topologia do sistema. O
documento apresenta uma referência teórica, na qual aborda um extenso sistema de comunicação que
conecta diversas redes de computadores. O sistema de comunicação consistirá de um arranjo topológico
interconectando módulos de processador individuais através de links físicos, dispositivos de transmissão
ou redes de transporte e um conjunto de regras para organizar. Existem muitos dispositivos diferentes em
muitas formas e recursos que podem ser interconectados e compartilhados através de métodos de acesso
, protocolos e requisitos de segurança. Os métodos de comunicação podem ser: linhas telefônicas, cabos,
comunicações via satélite ou sem fio. O objetivo de uma rede de computadores é permitir que os
computadores troquem dados e compartilhem recursos de hardware e software. A classificação dos
tamanhos de rede é: PAN, LAN, MAN, WAN A topologia de uma rede mostra como as máquinas estão
conectadas entre si. De acordo com a topologia, a rede pode ser dividida em: rede ponto a ponto, rede em
estrela, rede em anel e rede em árvore. O cabeamento estruturado refere-se aos vários tipos de cabos
instalados em uma residência ou empresa para distribuição de áudio, vídeo, telefone e dados. Esses fios
costumam ser agrupados, assim como cabos de rede, cabos de áudio de fibra óptica e outras
combinações personalizadas para distribuir itens por todo o ambiente. Cabeamento estruturado é um
termo genérico que inclui várias formas de cabos colocados em uma casa ou escritório para distribuição
de sinais de áudio, vídeo, telefone e dados. Tais fios, normalmente, são postos juntos em grupos, desde
cabos de rede passando por cabos de áudio de fibra óptica e muitas outras combinações personalizadas
que levam os itens a serem distribuídos por todo o ambiente. Um protocolo de comunicação é um acordo
utilizado na comunicação entre duas ou mais partes com o intuito de estabelecer como será a
comunicação entre elas. Simplificando, seria mais ou menos isso: um conjunto de regras. De maneira
simplificada, um protocolo poderia ser definido como regras que "governam" a sintaxe, a semântica e a
sincronia da comunicação. A evolução das ferramentas de comunicação em rede impulsiona inovação e
desenvolvimento tecnológico, permitindo responder a emergentes necessidades dos utilizadores e das
organizações na criação de novas aplicações, serviços e soluções.
3. REFERENCIAL TEÓRICO
"Unix Network Programming" (2003) ou Programação de rede Unix por W. Richard Stevens. Considerado
um clássico na área de programação de redes, este livro fornece uma introdução abrangente ao assunto.
Ele não cobre apenas o uso de soquetes em sistemas Unix, mas também fornece uma compreensão
sólida dos conceitos subjacentes à comunicação em rede. Este livro é conhecido por sua abordagem
prática e clara e exemplos de código detalhados e explicativos. Além disso, "TCP/IP Illustrator" (1994) do
mesmo autor, W. Richard Stevens, é outro livro altamente recomendado para aprender os fundamentos do
protocolo TCP/IP, que é a base das comunicações de rede na Internet. Este livro complementa muito bem
a programação de rede Unix, fornecendo uma compreensão mais profunda dos protocolos de rede.
Ambos os livros são recursos valiosos para estudantes, profissionais de TI e desenvolvedores
interessados em aprender programação de redes e soquetes. Especificamente, na computação, os
soquetes podem ser usados em conexões de rede de computadores para fornecer um link de
comunicação bidirecional entre dois programas. As conexões de soquete tiveram origem em 1980, quando
a agência governamental dos EUA ARPA (Advanced Research Projects Agency) forneceu recursos
financeiros à Universidade da Califórnia, Berkeley, para fornecer uma implementação UNIX do pacote de
protocolo TCP/IP. O produto desenvolvido posteriormente ficou conhecido como Berkeley Sockets
Interface ou simplesmente Berkeley Sockets. Frequentemente recomendado para aprender sobre
soquetes e programação de redes é "Unix Network Programming" de W. Richard Stevens (2003). Este
livro é considerado um clássico no campo da programação de redes e oferece uma cobertura abrangente
sobre o assunto. Os soquetes foram desenvolvidos especificamente para aplicações cliente/servidor, onde
o cliente e o servidor podem estar em máquinas diferentes e se comunicarem através de um protocolo de
transporte, o que significa que quando a aplicação interage com o software do protocolo, ela deve ser
informada que se trata de um cliente ou servidor. Para estabelecer uma conexão, apenas o endereço de
destino e o número da porta são necessários. Existem dois modos de transmissão de soquete: modo
baseado em conexão e modo sem conexão. Os soquetes baseados em conexão funcionam como
telefones: eles estabelecem uma conexão e depois suspendem a conexão. Os soquetes sem conexão
funcionam como correio: a entrega não é garantida e diferentes itens de correio podem chegar em uma
ordem diferente daquela em que foram enviados. A escolha do modo de transporte de soquete dependerá
das necessidades da sua aplicação. Se a confiabilidade for importante, o modo baseado em conexão
deverá ser usado. Por exemplo, um servidor de arquivos precisa que todos os seus dados cheguem ao
usuário na ordem correta. A operação sem conexão será mais rápida e eficiente, mas não há garantia. O
método de conexão adota o protocolo TCP. Um soquete neste modo de operação deve ser conectado ao
destino antes que os dados possam ser transferidos. Quando conectado, o soquete usa a interface de
fluxo: open-read-write-close. Um soquete também é uma abstração computacional que mapeia
diretamente para uma porta de transporte por meio de um protocolo TCP ou UDP e um endereço de rede.
Por sua vez, o soquete se abstrai e pode utilizar qualquer um dos métodos TCP ou UDP já mencionados.
Com este conceito é possível identificar de forma única uma aplicação ou servidor numa rede de
comunicações IP. No documento RFC (Request for Comments) relacionado ao TCP ou UDP, um soquete
em um computador é definido como uma combinação de endereço IP, protocolo e número de porta do
protocolo. Soquetes e RPC possuem a funcionalidade para implementar aplicativos. Funcionalidades de
rede, mas são implementadas de maneiras diferentes, por exemplo, imagine que você precisa desenvolver
uma aplicação de servidor que funcione como uma "sala" de chat. Essencialmente, a aplicação receberá
chamadas do cliente (em uma determinada porta) e então se o cliente enviar uma mensagem, o servidor
enviará essa mensagem para todos os outros clientes.
Ou imagine, por exemplo, que você tem um sensor de temperatura instalado em seu computador e possui
um aplicativo de servidor que controla o sensor, fornecendo informações sobre o clima. A aplicação cliente
pode conectar-se remotamente à aplicação servidora e obter essas informações. Tudo isso pode ser
desenvolvido usando soquetes
Geralmente, há um aplicativo que cria o soquete do servidor e outro aplicativo que implementa o cliente.
Existem dois tipos principais de soquetes: Socket_Stream (também conhecido como TCP) ou SOCK
_DGRAM (também conhecido como UDP). Os soquetes TCP garantem a confiabilidade da comunicação
(entrega de pacotes garantida), enquanto os soquetes UDP não garantem a entrega de pacotes no nível
da camada de transporte)
A comunicação entre processos também pode ocorrer via UDP. No entanto, o UDP é um serviço sem
conexão. O remetente insere explicitamente o endereço IP e a porta do destino no formato IP:porta (por
exemplo: 192.168.0.1:80). O servidor deve extrair o endereço IP e a porta (soquete) do remetente do
datagrama recebido. Os dados recebidos podem ser recebidos fora de ordem ou até mesmo perdidos. Só
então os dados são encaminhados para as camadas superiores, da camada de transporte (protocolo UDP
No protocolo TCP, um soquete cria uma conexão de streaming bidirecional entre os endereços 'hostC
:portC' e 'hostS:portS', ou seja, entre a aplicação cliente em execução na máquina 'hostC' e também pode
controlar a porta 'portC' e outro aplicativo de servidor em execução no computador 'hostS', observando a
porta 'portS' de 'hostS'. Sabemos também que o protocolo TCP é orientado à conexão e por isso garante
que os dados enviados do cliente para o servidor cheguem ao seu destino na respectiva porta. Esta forma
de comunicação com soquetes TCP utiliza soquetes de fluxo, que representam uma forma de
comunicação bidirecional confiável e orientada à conexão.
Os dados enviados através deste tipo de Socket estarão seguros e chegarão da mesma forma que foram
enviados, pois o protocolo TCP é responsável por ?entregar? os dados da mesma forma que foram
enviados e sem erros. Por exemplo: os navegadores usam este aplicativo sobre protocolos HTTP, que
normalmente funcionam no soquete 80. Um soquete é uma abstração de um endereço de comunicação
através do qual os processos se comunicam. Cada endereço possui um identificador exclusivo que
consiste no endereço da máquina e no identificador local da porta utilizada pelo processo.
Este identificador de porta é usado para mapear os dados recebidos pela máquina para um processo
(aplicação) específico. O processo de comunicação no modo orientado à conexão é o seguinte: o servidor
é colocado em uma porta específica e aguarda uma conexão com essa porta. O cliente deve saber
antecipadamente o nome IP do servidor e a porta correspondente na qual o servidor está aguardando
conexões.
Conforme na figura 2.
Se não houver problemas, o servidor aceita a conexão gerando um soquete em uma porta livre do lado do
servidor, criando assim um canal de comunicação entre o cliente e o servidor. É importante observar que a
porta original está livre para receber outras solicitações de conexão. A imagem abaixo demonstra o
mesmo canal de comunicação.
O modelo de referência OSI foi criado pela ISO em 1978 para construir sistemas de conexão entre
dispositivos através da padronização de protocolos e padrões, que é um padrão global e modelo
conceitual desde 1984. Este modelo propõe um esquema de trabalho conjunto entre hardware e software
para permitir a comunicação entre dispositivos. No entanto, o modelo OSI é mais teórico do que prático.
livro amplamente recomendado sobre arquitetura em camadas é "Patterns of Enterprise Application
Architecture" (Padrões de Arquitetura de Aplicações Corporativas) de Martin Fowler(2003). Embora o livro
não se concentre exclusivamente na arquitetura em camadas, aborda vários padrões arquiteturais comuns
, incluindo a arquitetura em camadas, e fornece uma compreensão sólida dos princípios e práticas
envolvidos na construção de sistemas de software escaláveis e robustos.
É responsável por definir o formato de troca de dados entre computadores, atuando como conversor de
protocolos, criptografia, compactação de dados, entre outras tarefas.
Uma sessão é um canal de comunicação entre dois aplicativos executados em computadores diferentes. A
camada de sessão é responsável por gerenciar conversas entre aplicações para que elas possam abrir,
usar e fechar sessões. É nesta camada que são executadas as funções de reconhecimento de nomes e
segurança.
É responsável pela integridade dos pacotes de informações e garante uma comunicação confiável. Esta
integridade é conseguida graças ao sinal ACK enviado entre as duas partes (sinal que confirma que a
comunicação ocorreu corretamente, do receptor ao transmissor). O protocolo TCP é executado nesta
camada
É usado para identificar o endereço de um sistema em uma rede e realmente transferir dados. A camada
de rede deve conhecer o meio físico da rede e empacotar as informações de forma que a camada de
enlace possa enviá-las para a camada física. Em muitas redes, esta camada não verifica a integridade da
informação, apenas a encapsula.
É utilizado para definir como a informação é transmitida através da camada física e garante o bom
funcionamento desta camada. Se houver erros na transmissão de informações no meio físico, como cabos
danificados ou colisões de dados, a camada MAC deverá tratar esses erros ou comunicá-los às camadas
superiores.
Consiste em hardware como cabos, fibras ópticas e conectores usados ??para conectar diferentes
sistemas de rede. Nesta camada, as informações são codificadas na forma de sinais elétricos
Um livro recomendado sobre o modelo Ethernet é "Ethernet: The Definitive Guide" (2000) de Charles E.
Spurgeon. Este livro fornece uma visão geral abrangente da tecnologia Ethernet, incluindo seu histórico,
capacidades, padrões e protocolos relacionados. As redes Ethernet podem transportar até 1.500 bytes de
dados. Portanto, o sistema operacional configura automaticamente o protocolo IP para criar um datagrama
de 1.500 bytes em vez de 65.535 bytes (o tamanho real do datagrama é 1.497 porque a camada LLC usa
3 ou 5 bytes para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, o que equivale à
Interface de Rede do modelo TCP/IP. Sobre o modelo Ethernet é "Ethernet: The Definitive Guide" de
Charles E. Spurgeon(2000). Este livro oferece uma visão abrangente da tecnologia Ethernet, incluindo sua
história, funcionamento, padrões e protocolos associados. A camada LLC (Logical Link Control) é
responsável por adicionar informações sobre qual protocolo da camada Internet é responsável pela
geração dos dados. Desta forma, durante o processo de recepção de dados, o computador receptor pode
saber qual protocolo deve ser utilizado na camada Internet para receber os dados. A camada MAC (Media
Access Control) é responsável pela montagem dos frames que serão enviados para a rede. Esta camada
é responsável por adicionar os endereços MAC de origem e destino ao pacote (o endereço físico da placa
de rede). Quando os pacotes são enviados para uma rede diferente da rede local, o endereço MAC
inserido como destino será o endereço MAC do roteador a ser usado. Os protocolos que definem esta
camada são IEEE 802.3 (para redes com cabos físicos) e IEEE 802.11 (no caso de redes sem fio). A
camada física é a camada mais baixa do modelo TCP/IP. É responsável por converter os frames gerados
pela camada MAC em sinais elétricos (para redes com cabos físicos) ou sinais eletromagnéticos (para
redes sem fio). No IEEE, a camada física é definida pelo mesmo protocolo da camada MAC. Segundo
BEZERA (2008), o padrão Ethernet especifica a camada de enlace e a camada física. No final do
empacotamento, os dados conterão cabeçalhos para todas as camadas do modelo TCP/IP, bem como
cabeçalhos para a subcamada Ethernet.
3.13 PROTOCOLOS
, que começa com os conceitos de aplicação e trabalha em direção às camadas inferiores do modelo OSI.
Protocolos são conjuntos de regras que definem como os dispositivos se comunicam entre si. Funcionam
como uma "linguagem" de computadores, especificando padrões e procedimentos. A comunicação entre
computadores só é possível por meio de protocolos.
Protocolos de rede foram desenvolvidos para permitir a conexão de dispositivos de diferentes
fornecedores e sistemas, sem a necessidade de reescrever ou desenvolver softwares específicos para
cada caso. Para que dois dispositivos se comuniquem corretamente, eles devem estar configurados com
os mesmos padrões e parâmetros, conforme definidos pelos protocolos.
Existem diversos tipos de protocolos de rede, que variam conforme o serviço utilizado. Em termos gerais,
os protocolos podem ser classificados em dois tipos principais: protocolos abertos e protocolos
proprietários ou específicos. Protocolos abertos são padrões da Internet que permitem a comunicação
entre diferentes plataformas que utilizam o mesmo protocolo, como o TCP/IP, que é compatível com
sistemas como Windows, Linux, Mac e Android.
Um protocolo proprietário ou específico é desenvolvido para um ambiente ou situação particular. Por
exemplo, o IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) foi criado
especificamente para o Sistema Operacional NetWare, visando o compartilhamento de arquivos e
impressoras. Outro exemplo é o NETBIOS (Network Basic Input/Output System), que é uma API que
permite a comunicação entre aplicativos em diferentes computadores dentro de uma rede local.
Alguns exemplos de protocolos de rede incluem:
IP (Internet Protocol)
DHCP (Dynamic Host Configuration Protocol)
TCP (Transmission Control Protocol)
HTTP (Hypertext Transfer Protocol)
FTP (File Transfer Protocol)
Telnet (Telnet Remote Protocol)
SSH (Secure Shell Protocol)
POP3 (Post Office Protocol 3)
IMAP (Internet Message Access Protocol)
Os protocolos de rede desempenham diversas funções essenciais para garantir a comunicação eficiente
entre dispositivos. Uma dessas funções é a fragmentação dos dados a serem transmitidos em pequenos
pedaços chamados pacotes. Cada pacote contém informações de endereçamento que especificam a
origem e o destino. Este protocolo organiza as fases de estabelecimento, controle, fluxo e encerramento
da troca de informações.
As funções específicas dos protocolos variam conforme a camada do modelo OSI, mas algumas funções
podem ser executadas em múltiplas camadas, ainda que com diferentes contextos e objetivos (MPR/JAR,
2003).
As principais funções dos protocolos incluem:
Endereçamento: Especificação clara do ponto de destino da mensagem.
Estabelecimento: Criação de um canal lógico fechado entre a fonte e o destino.
Numeração e Sequência: Individualização de cada mensagem por meio de números sequenciais.
Confirmação de Recepção: Garantia de que o destinatário recebeu a mensagem, com ou sem erro.
O conjunto de protocolos utilizados para comunicação entre computadores pela Internet, também
conhecido como conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo norte-
americano para permitir a comunicação entre diferentes redes constituídas por diversos tipos de
computadores. A família de protocolos TCP/IP é particularmente popular porque não pertence a nenhum
fornecedor específico. Portanto, é amplamente apoiado pelo mercado
TCP significa Transmission Control Protocol e refere-se ao sistema mais comum para envio de pacotes na
Internet. Quando você visita um site, seu computador envia dados para o servidor, solicitando que o
servidor envie o conteúdo da página para a máquina que você está usando ? as informações enviadas de
volta são ?emendadas? pelo navegador para exibir o que você deseja
Segundo Scrimger et al., as principais características do TCP são: (2 002) são a transferência de dados,
robustez, controle de fluxo, multiplexação, conexões lógicas e o fato de ser full duplex.
Streaming de dados: o aplicativo pode confirmar se todos os segmentos de dados transmitidos pelo TCP
atingiram o destino esperado e informar se a operação foi bem-sucedida
Robustez: Se os segmentos chegarem fora de ordem, o TCP do receptor irá agrupá-los
Controle de fluxo: O receptor envia uma mensagem confirmando o recebimento ao receber um segmento
Multiplex: uso paralelo das portas de comunicação
Conexão lógica: Identificada pelos processos de envio e recebimento, através de uma combinação de
mecanismos TCP
Full duplex: os dados podem ser transmitidos em ambas as direções simultaneamente
O TCP também emprega seu próprio sistema de numeração para garantir que os pacotes enviados
cheguem ao seu destino na ordem correta. Caso o pacote não seja recebido corretamente pelo receptor, a
informação é enviada novamente até chegar ao seu destino com segurança ? e o mais importante, há
uma verificação de erros para garantir que nenhuma informação foi corrompida durante a transmissão
É exatamente isso que se destaca neste protocolo: confiabilidade. Graças ao TCP, os downloads que você
faz não são corrompidos por flutuações na velocidade da conexão, e as páginas visitadas pelo navegador
raramente carregam algum elemento acidentalmente ? a menos, é claro, que uma das máquinas seja
usada para trocar dados no processo. estiver temporariamente off-line, você receberá uma mensagem de
erro e não poderá acessar o conteúdo desejado.
UDP (User Datagram Protocol) é o ?irmão? do protocolo TCP e também se baseia no envio de pacotes de
informações, mas elimina todas as partes de verificação de erros das outras tecnologias. O objetivo desta
opção é acelerar o processo de envio de dados, pois todas as etapas de comunicação necessárias para
verificar a integridade do pacote (e reenviar o pacote, se necessário) causam lentidão.
Quando o protocolo UDP é ativado, ele simplesmente envia as informações para o receptor sem se
preocupar se as informações foram recebidas corretamente - caso ocorra um erro, o próximo pacote
programado pelo sistema simplesmente será enviado, e o pacote anterior não será capaz recuperar.
Embora este método de operação aumente o risco de erros, garante uma comunicação rápida entre os
dois computadores.
Pelas suas características, este protocolo é amplamente utilizado em situações onde a correção de erros
não é totalmente necessária. Por exemplo, durante a transmissão de um vídeo ao vivo, é mais
interessante que uma pessoa perca certas partes ou tenha que lidar com distorções de imagem e áudio do
que esperar para receber um pacote perdido ? o que pode acabar com o fator ?tempo?. . real".
O protocolo UDP fornece um serviço de entrega sem conexão e não é confiável ao usar IP para transmitir
datagramas entre máquinas( COMER,2006)
O UDP também é amplamente utilizado em jogos online ? se você perder alguns pacotes, o personagem
da outra parte pode ?teletransportar-se? para a tela, mas você não tem motivo para receber os dados
perdidos porque o jogo continuará mesmo que eles não cheguem para você . O que importa é o que está
acontecendo agora, não o que aconteceu há poucos minutos, então não faz sentido confiar na verificação
de erros, que só aumentará a latência para os participantes.
HTTP é um protocolo da camada de aplicação que usa a porta de rede 80. Permite a transmissão de
dados na forma de texto simples, hipertexto, áudio, vídeo, etc. É utilizado em ambientes onde há uma
transição rápida de um documento para outro, como uma página da Internet. Este protocolo possui
características semelhantes aos protocolos FTP e SMTP e permite a transferência de arquivos utilizando
serviços TCP. Porém, é muito mais simples que o FTP, usando apenas uma conexão TCP, porta 80.
Através desta porta, os dados são transmitidos entre o cliente e o servidor
As mensagens HTTP não estão diretamente disponíveis aos usuários. Eles são interpretados pelo cliente
HTTP ? o navegador. A ideia do HTTP é que o cliente envie uma solicitação ao servidor na forma de uma
mensagem, e o servidor envie uma resposta ao cliente na forma de uma mensagem.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) é uma extensão do protocolo HTTP usado para
comunicação segura na World Wide Web. Ele utiliza uma combinação de criptografia SSL/TLS para
3.20 PROTOCOLO IP
Este protocolo é responsável por endereçar o pacote para transmissão, adicionando um cabeçalho,
permitindo que o pacote seja roteado pela rede até ser entregue ao destino correto. Os pacotes IP contêm
o endereço IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar
erros e um TTL (informação em segundos) sobre quanto tempo um pacote pode permanecer na rede para
evitar loops infinitos de tráfego). Slinger et al. (2002, p. 107) Um endereço IP é semelhante ao endereço
que você usa para enviar e-mail. ?O endereço deve conter todos os dados necessários para a entrega.
Caso contrário, a carta não chegará ao destino correto.
O roteamento de pacotes pode ser estático ou dinâmico. Em pequenas redes locais, é utilizado o
roteamento estático, o que significa que o caminho que um datagrama percorre para chegar ao seu
destino é sempre o mesmo. Na Internet, o roteamento é dinâmico, o que significa que os roteadores
podem alterar a rota de um pacote a qualquer momento se um caminho melhor para o destino estiver
disponível. A melhor rota é aquela que requer menos saltos (roteadores intermediários), mas rotas mais
curtas não são necessariamente mais rápidas.
O protocolo FTP é usado para acessar arquivos remotos na Web, bem como no servidor de arquivos local
de uma empresa. Quando baixamos arquivos, geralmente usamos o protocolo FTP. Também pode ser
usado para fazer upload de arquivos do seu computador para a web. O protocolo FTP permite transferir
arquivos pela Internet. Existem vários programas gratuitos na Internet que fornecem serviços FTP. Com
ele você pode transferir arquivos, autenticar usuários e gerenciar arquivos e diretórios, segundo Falbriard
(2002), os protocolos utilizados nas redes de comunicação definem conjuntos de regras que coordenam e
garantem a transferência de informações úteis entre dois ou mais dispositivos.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks"(2020) de Russ White e Ethan Banks. Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas.
Como você viu, um protocolo é um conjunto de regras sobre como ocorre a comunicação entre as partes.
Para reduzir a complexidade de um projeto, a maioria das redes foi organizada em uma série de níveis ou
camadas e colocadas dentro de um nível. O número, nome, conteúdo e funcionalidade de cada camada
variam de rede para rede. Entretanto, em todas as redes, o objetivo de cada camada é fornecer
determinados serviços às camadas superiores.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas
A camada N de uma máquina se comunica com a camada N de outra máquina. Para isso, baseia-se em
um conjunto de convenções e regras que permitem gerenciar essa comunicação, o que é denominado
protocolo de camada N, ou protocolo N, abreviadamente.
Em máquinas diferentes, entidades na mesma camada são chamadas de "pares." Esses pares se
comunicam utilizando um protocolo específico. Contudo, os dados não são transferidos diretamente entre
os pares devido à ausência de um meio físico direto entre eles. Cada camada transmite os dados para a
camada imediatamente inferior até alcançar a camada final. Na última camada, a comunicação é realizada
através do hardware da rede, que é o meio físico de transmissão de dados. Em cada par, existe uma
interface que define as operações e serviços que a camada inferior deve fornecer à camada superior
adjacente.
A arquitetura de rede consiste em uma coleção de camadas que formam a estrutura da rede. A
especificação arquitetônica deve conter informações suficientes para permitir o desenvolvimento correto
da rede, tanto do ponto de vista de software quanto de hardware. No entanto, os detalhes de
implementação de cada camada e a especificação detalhada da interface não fazem parte da definição da
arquitetura da rede; em vez disso, é um conjunto de regras que controla o formato e o significado das
informações trocadas pelas entidades pares dentro de uma camada. As entidades utilizam protocolos para
implementar suas definições de serviço e têm a liberdade de modificar seus protocolos, desde que não
alterem os serviços visíveis aos seus usuários.
3.24 HARDWARE
Um livro atual sobre hardware de redes de computadores é "Computer Networking Problems and Solutions
: An innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este
livro oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando
questões de projeto, operação e solução de problemas em redes hierárquicas
Hardware de rede, ou equipamento de rede, refere-se ao equipamento que facilita e suporta a utilização
de redes de computadores, ou seja, o meio físico necessário à comunicação entre os diversos
componentes participantes da rede.
Switches;
Roteadores;
Concentradores;
Repetidores;
Adaptadores de rede;
Modem;
Gateway;
Bridge;
Firewall;
Pontos de acesso sem fio;
Entre outros hardwares relacionados
3.25 SWITCHES
Um switch é um dispositivo usado para encaminhar pacotes de dados entre diferentes nós. Possuem
portas semelhantes a um hub (concentrador), a principal diferença é que o switch segmenta a rede
internamente, pois cada porta corresponde a um domínio de colisão diferente, eliminando assim colisões
entre pacotes vindos de diferentes segmentos de rede.
3.26 HUBS
3.27 ROTEADORES
Um roteador é um dispositivo que encaminha pacotes de dados entre redes de computadores, criando um
conjunto de redes sobrepostas. Os roteadores se conectam a duas ou mais linhas de dados de redes
diferentes. Os roteadores têm muitas funções, mas a mais comum que todos conhecem é a possibilidade
de conexões sem fio. As redes sem fio são amplamente utilizadas hoje em dia porque são mais práticas.
Sua principal desvantagem está relacionada ao hacking, pois os hackers podem ver onde existe a rede
sem fio e, portanto, comprometer facilmente a rede e os computadores que possam estar conectados a ela
.
O cabeamento estruturado é uma abordagem padronizada para cabeamento de rede que leva em
consideração padrões de segurança (como ANSI e EIA/TIA), melhores práticas e melhor utilização dos
recursos do equipamento, permitindo o redirecionamento através de diferentes caminhos dentro da
mesma estrutura de cabeamento para rotear os fios. entre diferentes pontos. A comunicação é uma das
principais características do cabeamento estruturado, conceito que surgiu nos serviços técnicos de voz,
mas, graças à sua ampla adoção por empresas e organizações criadas por meio da padronização,
rapidamente se tornou a solução para os mais diversos serviços de dados.
A maioria dos padrões são internacionais, por isso são desenvolvidos por instituições e associações
respeitáveis, como IEEE (Instituto de Engenheiros Elétricos e Eletrônicos), TIA (Associação da Indústria de
Telecomunicações) e EIA (Associação da Indústria Eletrônica).
ANSI/TIA/EIA-1005 ? Telecommunications Infrastructure Standard for Industrial Premises;
ANSI/TIA-606-A ? Admi nistration Standard for Commercial Telecommunications Infrastructure;
ANSI/TIA-607-B ? Telecommunications Grounding (Earthing) and Bonding for Customer Premises;
ANSI/TIA-758-A ? Customer-Owned Outside Plant Telecommunications Infrastructure Standard;
ANSI/TIA-862 ? Building Automation Systems Cabling Standard for Commercial Buildings;
IEEE-100BASE-TX ? Fast Ethernet;
TIA 569 -B ? Commercial Building Standard for Telecommunications Pathways and Spaces;
TIA/EIA-568-C.0 ? Generic Telecommunications C abling for Customer Premises;
TIA/EIA-568-C.3 ? Optical Fiber Cabling Components Standard.
TIA-942 ? Telecommunications Infrastructure Standard for Data Center;
Todos esses padrões definem o tipo de cabo utilizado, bem como os limites e requisitos
(distância, segmentos, frequência etc.) que a estrutura deve atender para garantir o
funcionamento adequado.
Os mais comuns que utilizamos hoje são os cabos trançados e de fibra óptica, que são escolhidos com
base nos objetivos do negócio, ou seja, o tipo de rede com a qual estamos lidando.
Consiste em fio de cobre condutor coberto com material isolante e rodeado por uma camada de blindagem
. Utilize conectores BNC. Apesar da sua capacidade de reduzir o impacto de influências e sinais externos
nos sinais que transmite, caiu em desuso e só existe em algumas redes mais antigas por serem mais
propensas a maus contactos, terem conectores mais caros e serem menos flexíveis.
O cabo de par trançado é sem dúvida o cabo mais conhecido e ?masterizado? entre os especialistas em
TI, principalmente por ser o cabo utilizado para implementação de redes há muitos anos. Uma de suas
maiores vantagens é o baixo custo e a facilidade de aquisição de produtos prontos ou sob medida.
Os cabos de fibra óptica são projetados para atender tecnologias mais modernas e oferecem uma série de
vantagens, a começar pelo fato das fibras ópticas serem imunes a interferências eletromagnéticas e, claro
, pela capacidade de transmitir dados em altas taxas. O tipo mais rápido de transmissão existente converte
um sinal de dados em luz, e um receptor que recebe a luz converte esse sinal novamente em dados. Por
outro lado, pode transmitir grandes quantidades de informação com atenuação muito baixa, mas é caro
para adquirir e manter. Eles são divididos em monomodo que só consegue fornecer um sinal por vez,
menor dispersão e pode ficar muitos quilômetros entre um relé e outro e multimodo
Um livro contemporâneo sobre serviços de rede é "Networking for Systems Administrators" (2017), de
Michael W. Lucas. Esta obra aborda diversos aspectos relacionados à configuração, administração e
manutenção de serviços de rede como DNS, DHCP, FTP, SSH e email. Destina-se especialmente a
administradores de sistemas que necessitam gerenciar e manter infraestruturas de rede.
Um serviço de rede é um conjunto de operações implementadas por um protocolo através de uma
interface e fornecidas à camada superior. Ele define as operações que uma camada pode realizar sem se
preocupar com a execução específica dessas operações. Os serviços podem ser classificados em
orientados à conexão ou não. Os serviços relacionados à família TCP são orientados à conexão, enquanto
os serviços associados à família UDP não possuem essa característica.
Os serviços de rede podem ser divididos em duas categorias principais: serviços orientados à conexão e
serviços sem conexão. Além desses, existem outros tipos de serviços, como DHCP, que atribui
automaticamente um endereço IP válido para cada dispositivo conectado à rede, e DNS, que permite o
uso de strings em vez de endereços IP numéricos para identificar recursos na Internet.
Os serviços orientados à conexão utilizam o protocolo TCP. Antes do envio de dados, ocorre um processo
de handshaking, que estabelece uma conexão confiável entre os hosts. Esse processo prepara o receptor
para a recepção de dados. Durante essa conexão, é possível verificar se todos os pacotes foram
entregues corretamente e, se necessário, solicitar o reenvio de pacotes perdidos. Esse mecanismo
garante uma transmissão de dados confiável. Adicionalmente, o controle de fluxo e o gerenciamento de
congestionamento são realizados para assegurar que o receptor não seja sobrecarregado e que a rede
não sofra com congestionamentos.
Os serviços sem conexão utilizam o protocolo UDP. Nesse caso, não há um processo de handshaking, o
que significa que não é possível garantir que todos os pacotes cheguem ao destino, pois não se
estabelece uma conexão prévia. Consequentemente, não há criação de um canal seguro para a
transferência de dados. Embora esse método seja mais rápido devido à ausência do processo de
handshaking, ele é menos confiável e não oferece as funcionalidades de controle de fluxo e
gerenciamento de congestionamento presentes no TCP. Exemplos de aplicações que utilizam UDP
incluem vídeo e teleconferências pela Internet.
4. DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Um livro brasileiro atualmente muito utilizado para estudo de desenvolvimento de ferramentas para
comunicação em rede é "Redes de Computadores e a Internet: Uma Abordagem Top-Down" de James F.
Kurose e Keith W. Ross(2010), na sua versão traduzida para o português. Este livro é amplamente no
estudo do tema em redes de computadores no Brasil.
O desenvolvimento de uma ferramenta para comunicação em rede é de extrema importância por várias
razões:
Comunicação Eficiente: Permite a comunicação rápida e eficiente entre diferentes dispositivos, usuários ou
6. CONSIDERAÇÕESFINAIS
Neste capítulo, observamos três conceitos principais: Primeiro, um soquete é um ponto de comunicação
usado para transferir dados pela Internet entre aplicações executadas em máquinas diferentes. A
programação de aplicações socket é feita utilizando um conjunto de primitivas, que são funções que
permitem acesso a serviços de transporte e são fornecidas pela camada de transporte. Eles são
comumente usados ??em programação para Internet e pertencem a um grupo de primitivos chamados
Berkeley Sockets.
Essas funções são usadas para programar aplicativos cliente e servidor (embora existam algumas
diferenças de programação entre os dois) e, embora existam muitas, apenas as primitivas básicas
necessárias inicialmente para desenvolver uma aplicação cliente/servidor serão usadas, em segundo lugar
, vemos que a arquitetura TCP/IP é independente da tecnologia usada para transmitir quadros e introduz
dois níveis de endereçamento: IP, que permite o endereçamento de rede, e portas, que permitem o
endereçamento de processos. Por sua vez, os protocolos de aplicação fornecem padronização entre
mensagens trocadas entre clientes e servidores para permitir a interoperabilidade entre produtos de
diferentes fabricantes.
Finalmente, o modelo em camadas fornece uma estratégia comum para múltiplas tecnologias de
transporte, incluindo TCP/IP. Idealmente, o modelo em camadas define que os protocolos da mesma
camada são concorrentes (não são usados ??ao mesmo tempo) e os protocolos de camadas diferentes
são complementares (seus cabeçalhos podem ser empilhados).
REFERÊNCIAS
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed.
Pearson, 2010.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de Computadores: Das LANs
, MANs e WANs às Redes ATM. Editora Campus, 1997. p. 28.
TAROUCO, Liane M. R. Redes de Computadores Locais e de Longa Distância. Editora McGraw-Hill, 1986.
p. 53.
TORRES, G. Redes de Computadores: Das LANs, MANs e WANs às Redes ATM. Axcel Books, 2003.
WHITE, R.; BANKS, E. Computer Networking Problems and Solutions: An Innovative Approach to Building
ANEXOS
37
=================================================================================
Arquivo 1: 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx (6703 termos)
Arquivo 2: https://valeriainfo137.blogspot.com/2012/10/como-esta-conformada-la-direccion-de.html (566
termos)
Termos comuns: 31
Similaridade: 0,42%
O texto abaixo é o conteúdo do documento 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx
(6703 termos)
Os termos em vermelho foram encontrados no documento
https://valeriainfo137.blogspot.com/2012/10/como-esta-conformada-la-direccion-de.html (566 termos)
=================================================================================
Sorocaba, SP
2024
SUMARIO
1. OBJETIVO DO TRABALHO4
2. INTRODUÇÃO5
3. REFERENCIAL TEÓRICO7
3.1 SOQUETE DE REDE7
3.2 SOQUETES UDP10
3.3 SOQUETE TCP10
3.4 ARQUITETURA EM CAMADAS12
3.5 CAMADA DE APLICAÇÃO13
3.6 CAMADA DE APRESENTAÇÃO13
3.7 CAMADA DE SESSÃO13
3.8 CAMADA DE TRANSPORTE13
3.9 CAMADA DE REDE14
3.10 CAMADA DE LINK OU MAC14
3.11 CAMADA FÍSICA14
3.12 MODELO ETHERNET14
3.13 PROTOCOLOS15
3.14 FUNÇÕES DO PROTOCOLOS17
3.15 PROTOCOLOS DE CAMADAS18
3.16 PROTOCOLO TCP18
3.17 PROTOCOLO UDP19
3.18 PROTOCOLO HTTP20
3.19 PROTOCOLO HTTPS21
3.20 PROTOCOLO IP22
3.21 PROTOCOLO DE ROTEAMENTO22
3.22 PROTOCOLO FTP22
3.23 HIERARQUIAS DE REDE23
3.24 HARDWARE25
3.25 SWITCHES26
3.26 HUBS26
3.27 ROTEADORES26
3.28 CABEAMENTO ESTRUTURADO27
3.29 PRINCIPAIS NORMAS DE CABEAMENTO27
3.30 TIPOS DE CABEAMENTO28
3.31 CABO COAXIAL28
3.32 CABO PAR TRANÇADO28
3.33 CABO DE FIBRA ÓPTICA29
3.34 SERVIÇOS DE REDE29
3.35 CLASSIFICAÇÃO DE SERVIÇOS29
3.36 SERVIÇOS ORIENTADOS A CONEXÃO30
3.37 SERVIÇOS SEM CONEXÃO:30
4. DESENVOLVIMENTO31
1. OBJETIVO DO TRABALHO
O relatório deve incluir o uso de primitivos de soquete Berkeley ou componentes derivados deles para
comunicação de dados. Deve abordar todos os elementos utilizados no desenvolvimento do projeto, bem
como o impacto deste trabalho na formação da equipe. Além disso, é importante discutir a
interdisciplinaridade envolvida no projeto devido ao nível de detalhe, funcionalidade, tratamento de erros,
implementação de funcionalidades adicionais e relatórios adicionais no sistema, que serão apresentados
no desenvolvimento.
2. INTRODUÇÃO
O grupo desenvolveu uma ferramenta de comunicação em rede utilizando Java e C#. Camila Goulart
Madosaki as atividades práticas supervisionadas estão estruturadas da seguinte forma. A equipe criou
uma aplicação que permite que duas ou mais pessoas se comuniquem em rede utilizando o protocolo TCP
/IP, ferramenta que será utilizada em situações que envolvem o meio ambiente. O tema escolhido pelo
grupo foi a preservação e sustentabilidade do meio ambiente. Estudo da topologia do sistema. O
documento apresenta uma referência teórica, na qual aborda um extenso sistema de comunicação que
conecta diversas redes de computadores. O sistema de comunicação consistirá de um arranjo topológico
interconectando módulos de processador individuais através de links físicos, dispositivos de transmissão
ou redes de transporte e um conjunto de regras para organizar. Existem muitos dispositivos diferentes em
muitas formas e recursos que podem ser interconectados e compartilhados através de métodos de acesso
, protocolos e requisitos de segurança. Os métodos de comunicação podem ser: linhas telefônicas, cabos,
comunicações via satélite ou sem fio. O objetivo de uma rede de computadores é permitir que os
computadores troquem dados e compartilhem recursos de hardware e software. A classificação dos
tamanhos de rede é: PAN, LAN, MAN, WAN A topologia de uma rede mostra como as máquinas estão
conectadas entre si. De acordo com a topologia, a rede pode ser dividida em: rede ponto a ponto, rede em
estrela, rede em anel e rede em árvore. O cabeamento estruturado refere-se aos vários tipos de cabos
instalados em uma residência ou empresa para distribuição de áudio, vídeo, telefone e dados. Esses fios
costumam ser agrupados, assim como cabos de rede, cabos de áudio de fibra óptica e outras
combinações personalizadas para distribuir itens por todo o ambiente. Cabeamento estruturado é um
termo genérico que inclui várias formas de cabos colocados em uma casa ou escritório para distribuição
de sinais de áudio, vídeo, telefone e dados. Tais fios, normalmente, são postos juntos em grupos, desde
cabos de rede passando por cabos de áudio de fibra óptica e muitas outras combinações personalizadas
que levam os itens a serem distribuídos por todo o ambiente. Um protocolo de comunicação é um acordo
utilizado na comunicação entre duas ou mais partes com o intuito de estabelecer como será a
comunicação entre elas. Simplificando, seria mais ou menos isso: um conjunto de regras. De maneira
simplificada, um protocolo poderia ser definido como regras que "governam" a sintaxe, a semântica e a
sincronia da comunicação. A evolução das ferramentas de comunicação em rede impulsiona inovação e
desenvolvimento tecnológico, permitindo responder a emergentes necessidades dos utilizadores e das
organizações na criação de novas aplicações, serviços e soluções.
3. REFERENCIAL TEÓRICO
"Unix Network Programming" (2003) ou Programação de rede Unix por W. Richard Stevens. Considerado
um clássico na área de programação de redes, este livro fornece uma introdução abrangente ao assunto.
Ele não cobre apenas o uso de soquetes em sistemas Unix, mas também fornece uma compreensão
sólida dos conceitos subjacentes à comunicação em rede. Este livro é conhecido por sua abordagem
prática e clara e exemplos de código detalhados e explicativos. Além disso, "TCP/IP Illustrator" (1994) do
mesmo autor, W. Richard Stevens, é outro livro altamente recomendado para aprender os fundamentos do
protocolo TCP/IP, que é a base das comunicações de rede na Internet. Este livro complementa muito bem
a programação de rede Unix, fornecendo uma compreensão mais profunda dos protocolos de rede.
Ambos os livros são recursos valiosos para estudantes, profissionais de TI e desenvolvedores
interessados em aprender programação de redes e soquetes. Especificamente, na computação, os
soquetes podem ser usados em conexões de rede de computadores para fornecer um link de
comunicação bidirecional entre dois programas. As conexões de soquete tiveram origem em 1980, quando
a agência governamental dos EUA ARPA (Advanced Research Projects Agency) forneceu recursos
financeiros à Universidade da Califórnia, Berkeley, para fornecer uma implementação UNIX do pacote de
protocolo TCP/IP. O produto desenvolvido posteriormente ficou conhecido como Berkeley Sockets
Interface ou simplesmente Berkeley Sockets. Frequentemente recomendado para aprender sobre
soquetes e programação de redes é "Unix Network Programming" de W. Richard Stevens (2003). Este
livro é considerado um clássico no campo da programação de redes e oferece uma cobertura abrangente
sobre o assunto. Os soquetes foram desenvolvidos especificamente para aplicações cliente/servidor, onde
o cliente e o servidor podem estar em máquinas diferentes e se comunicarem através de um protocolo de
transporte, o que significa que quando a aplicação interage com o software do protocolo, ela deve ser
informada que se trata de um cliente ou servidor. Para estabelecer uma conexão, apenas o endereço de
destino e o número da porta são necessários. Existem dois modos de transmissão de soquete: modo
baseado em conexão e modo sem conexão. Os soquetes baseados em conexão funcionam como
telefones: eles estabelecem uma conexão e depois suspendem a conexão. Os soquetes sem conexão
funcionam como correio: a entrega não é garantida e diferentes itens de correio podem chegar em uma
ordem diferente daquela em que foram enviados. A escolha do modo de transporte de soquete dependerá
das necessidades da sua aplicação. Se a confiabilidade for importante, o modo baseado em conexão
deverá ser usado. Por exemplo, um servidor de arquivos precisa que todos os seus dados cheguem ao
usuário na ordem correta. A operação sem conexão será mais rápida e eficiente, mas não há garantia. O
método de conexão adota o protocolo TCP. Um soquete neste modo de operação deve ser conectado ao
destino antes que os dados possam ser transferidos. Quando conectado, o soquete usa a interface de
fluxo: open-read-write-close. Um soquete também é uma abstração computacional que mapeia
diretamente para uma porta de transporte por meio de um protocolo TCP ou UDP e um endereço de rede.
Por sua vez, o soquete se abstrai e pode utilizar qualquer um dos métodos TCP ou UDP já mencionados.
Com este conceito é possível identificar de forma única uma aplicação ou servidor numa rede de
comunicações IP. No documento RFC (Request for Comments) relacionado ao TCP ou UDP, um soquete
em um computador é definido como uma combinação de endereço IP, protocolo e número de porta do
protocolo. Soquetes e RPC possuem a funcionalidade para implementar aplicativos. Funcionalidades de
rede, mas são implementadas de maneiras diferentes, por exemplo, imagine que você precisa desenvolver
uma aplicação de servidor que funcione como uma "sala" de chat. Essencialmente, a aplicação receberá
chamadas do cliente (em uma determinada porta) e então se o cliente enviar uma mensagem, o servidor
enviará essa mensagem para todos os outros clientes.
Ou imagine, por exemplo, que você tem um sensor de temperatura instalado em seu computador e possui
um aplicativo de servidor que controla o sensor, fornecendo informações sobre o clima. A aplicação cliente
pode conectar-se remotamente à aplicação servidora e obter essas informações. Tudo isso pode ser
desenvolvido usando soquetes
Geralmente, há um aplicativo que cria o soquete do servidor e outro aplicativo que implementa o cliente.
Existem dois tipos principais de soquetes: Socket_Stream (também conhecido como TCP) ou SOCK
_DGRAM (também conhecido como UDP). Os soquetes TCP garantem a confiabilidade da comunicação
(entrega de pacotes garantida), enquanto os soquetes UDP não garantem a entrega de pacotes no nível
da camada de transporte)
A comunicação entre processos também pode ocorrer via UDP. No entanto, o UDP é um serviço sem
conexão. O remetente insere explicitamente o endereço IP e a porta do destino no formato IP:porta (por
exemplo: 192.168.0.1:80). O servidor deve extrair o endereço IP e a porta (soquete) do remetente do
datagrama recebido. Os dados recebidos podem ser recebidos fora de ordem ou até mesmo perdidos. Só
então os dados são encaminhados para as camadas superiores, da camada de transporte (protocolo UDP
) para a camada de aplicação (qualquer aplicação).
Esses Datagram Soquete ou DataGrama, por serem UDP, possuem comunicação não orientada à
conexão e não são confiáveis, pois os dados enviados neste tipo podem não chegar ao destino final da
forma como foram enviados, e não há garantia de sua chegada. Streaming de áudio e vídeo sob demanda
e jogos multijogador são exemplos de aplicativos de soquete de datagrama. Neste tipo de transferência, a
perda de pequenas quantidades de dados não traz consequências graves para o processo. Tanto o
Socket UDP quanto o Socket TCP usam o protocolo IP para rotear dados pela rede.
No protocolo TCP, um soquete cria uma conexão de streaming bidirecional entre os endereços 'hostC
:portC' e 'hostS:portS', ou seja, entre a aplicação cliente em execução na máquina 'hostC' e também pode
controlar a porta 'portC' e outro aplicativo de servidor em execução no computador 'hostS', observando a
porta 'portS' de 'hostS'. Sabemos também que o protocolo TCP é orientado à conexão e por isso garante
que os dados enviados do cliente para o servidor cheguem ao seu destino na respectiva porta. Esta forma
de comunicação com soquetes TCP utiliza soquetes de fluxo, que representam uma forma de
comunicação bidirecional confiável e orientada à conexão.
Os dados enviados através deste tipo de Socket estarão seguros e chegarão da mesma forma que foram
enviados, pois o protocolo TCP é responsável por ?entregar? os dados da mesma forma que foram
enviados e sem erros. Por exemplo: os navegadores usam este aplicativo sobre protocolos HTTP, que
normalmente funcionam no soquete 80. Um soquete é uma abstração de um endereço de comunicação
através do qual os processos se comunicam. Cada endereço possui um identificador exclusivo que
consiste no endereço da máquina e no identificador local da porta utilizada pelo processo.
Este identificador de porta é usado para mapear os dados recebidos pela máquina para um processo
(aplicação) específico. O processo de comunicação no modo orientado à conexão é o seguinte: o servidor
é colocado em uma porta específica e aguarda uma conexão com essa porta. O cliente deve saber
antecipadamente o nome IP do servidor e a porta correspondente na qual o servidor está aguardando
conexões.
Conforme na figura 2.
Se não houver problemas, o servidor aceita a conexão gerando um soquete em uma porta livre do lado do
servidor, criando assim um canal de comunicação entre o cliente e o servidor. É importante observar que a
porta original está livre para receber outras solicitações de conexão. A imagem abaixo demonstra o
mesmo canal de comunicação.
O modelo de referência OSI foi criado pela ISO em 1978 para construir sistemas de conexão entre
dispositivos através da padronização de protocolos e padrões, que é um padrão global e modelo
conceitual desde 1984. Este modelo propõe um esquema de trabalho conjunto entre hardware e software
para permitir a comunicação entre dispositivos. No entanto, o modelo OSI é mais teórico do que prático.
livro amplamente recomendado sobre arquitetura em camadas é "Patterns of Enterprise Application
Architecture" (Padrões de Arquitetura de Aplicações Corporativas) de Martin Fowler(2003). Embora o livro
não se concentre exclusivamente na arquitetura em camadas, aborda vários padrões arquiteturais comuns
, incluindo a arquitetura em camadas, e fornece uma compreensão sólida dos princípios e práticas
envolvidos na construção de sistemas de software escaláveis e robustos.
É responsável por definir o formato de troca de dados entre computadores, atuando como conversor de
protocolos, criptografia, compactação de dados, entre outras tarefas.
Uma sessão é um canal de comunicação entre dois aplicativos executados em computadores diferentes. A
camada de sessão é responsável por gerenciar conversas entre aplicações para que elas possam abrir,
usar e fechar sessões. É nesta camada que são executadas as funções de reconhecimento de nomes e
segurança.
É responsável pela integridade dos pacotes de informações e garante uma comunicação confiável. Esta
integridade é conseguida graças ao sinal ACK enviado entre as duas partes (sinal que confirma que a
comunicação ocorreu corretamente, do receptor ao transmissor). O protocolo TCP é executado nesta
camada
É usado para identificar o endereço de um sistema em uma rede e realmente transferir dados. A camada
de rede deve conhecer o meio físico da rede e empacotar as informações de forma que a camada de
enlace possa enviá-las para a camada física. Em muitas redes, esta camada não verifica a integridade da
informação, apenas a encapsula.
É utilizado para definir como a informação é transmitida através da camada física e garante o bom
funcionamento desta camada. Se houver erros na transmissão de informações no meio físico, como cabos
danificados ou colisões de dados, a camada MAC deverá tratar esses erros ou comunicá-los às camadas
superiores.
Consiste em hardware como cabos, fibras ópticas e conectores usados ??para conectar diferentes
sistemas de rede. Nesta camada, as informações são codificadas na forma de sinais elétricos
Um livro recomendado sobre o modelo Ethernet é "Ethernet: The Definitive Guide" (2000) de Charles E.
Spurgeon. Este livro fornece uma visão geral abrangente da tecnologia Ethernet, incluindo seu histórico,
capacidades, padrões e protocolos relacionados. As redes Ethernet podem transportar até 1.500 bytes de
dados. Portanto, o sistema operacional configura automaticamente o protocolo IP para criar um datagrama
de 1.500 bytes em vez de 65.535 bytes (o tamanho real do datagrama é 1.497 porque a camada LLC usa
3 ou 5 bytes para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, o que equivale à
Interface de Rede do modelo TCP/IP. Sobre o modelo Ethernet é "Ethernet: The Definitive Guide" de
Charles E. Spurgeon(2000). Este livro oferece uma visão abrangente da tecnologia Ethernet, incluindo sua
história, funcionamento, padrões e protocolos associados. A camada LLC (Logical Link Control) é
responsável por adicionar informações sobre qual protocolo da camada Internet é responsável pela
geração dos dados. Desta forma, durante o processo de recepção de dados, o computador receptor pode
saber qual protocolo deve ser utilizado na camada Internet para receber os dados. A camada MAC (Media
Access Control) é responsável pela montagem dos frames que serão enviados para a rede. Esta camada
é responsável por adicionar os endereços MAC de origem e destino ao pacote (o endereço físico da placa
de rede). Quando os pacotes são enviados para uma rede diferente da rede local, o endereço MAC
inserido como destino será o endereço MAC do roteador a ser usado. Os protocolos que definem esta
camada são IEEE 802.3 (para redes com cabos físicos) e IEEE 802.11 (no caso de redes sem fio). A
camada física é a camada mais baixa do modelo TCP/IP. É responsável por converter os frames gerados
pela camada MAC em sinais elétricos (para redes com cabos físicos) ou sinais eletromagnéticos (para
redes sem fio). No IEEE, a camada física é definida pelo mesmo protocolo da camada MAC. Segundo
BEZERA (2008), o padrão Ethernet especifica a camada de enlace e a camada física. No final do
empacotamento, os dados conterão cabeçalhos para todas as camadas do modelo TCP/IP, bem como
cabeçalhos para a subcamada Ethernet.
3.13 PROTOCOLOS
Protocolos são conjuntos de regras que definem como os dispositivos se comunicam entre si. Funcionam
como uma "linguagem" de computadores, especificando padrões e procedimentos. A comunicação entre
computadores só é possível por meio de protocolos.
Protocolos de rede foram desenvolvidos para permitir a conexão de dispositivos de diferentes
fornecedores e sistemas, sem a necessidade de reescrever ou desenvolver softwares específicos para
cada caso. Para que dois dispositivos se comuniquem corretamente, eles devem estar configurados com
os mesmos padrões e parâmetros, conforme definidos pelos protocolos.
Existem diversos tipos de protocolos de rede, que variam conforme o serviço utilizado. Em termos gerais,
os protocolos podem ser classificados em dois tipos principais: protocolos abertos e protocolos
proprietários ou específicos. Protocolos abertos são padrões da Internet que permitem a comunicação
entre diferentes plataformas que utilizam o mesmo protocolo, como o TCP/IP, que é compatível com
sistemas como Windows, Linux, Mac e Android.
Um protocolo proprietário ou específico é desenvolvido para um ambiente ou situação particular. Por
exemplo, o IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) foi criado
especificamente para o Sistema Operacional NetWare, visando o compartilhamento de arquivos e
impressoras. Outro exemplo é o NETBIOS (Network Basic Input/Output System), que é uma API que
permite a comunicação entre aplicativos em diferentes computadores dentro de uma rede local.
Alguns exemplos de protocolos de rede incluem:
IP (Internet Protocol)
DHCP (Dynamic Host Configuration Protocol)
TCP (Transmission Control Protocol)
HTTP (Hypertext Transfer Protocol)
FTP (File Transfer Protocol)
Telnet (Telnet Remote Protocol)
SSH (Secure Shell Protocol)
POP3 (Post Office Protocol 3)
IMAP (Internet Message Access Protocol)
Os protocolos de rede desempenham diversas funções essenciais para garantir a comunicação eficiente
entre dispositivos. Uma dessas funções é a fragmentação dos dados a serem transmitidos em pequenos
pedaços chamados pacotes. Cada pacote contém informações de endereçamento que especificam a
origem e o destino. Este protocolo organiza as fases de estabelecimento, controle, fluxo e encerramento
da troca de informações.
As funções específicas dos protocolos variam conforme a camada do modelo OSI, mas algumas funções
podem ser executadas em múltiplas camadas, ainda que com diferentes contextos e objetivos (MPR/JAR,
2003).
As principais funções dos protocolos incluem:
Endereçamento: Especificação clara do ponto de destino da mensagem.
Estabelecimento: Criação de um canal lógico fechado entre a fonte e o destino.
Numeração e Sequência: Individualização de cada mensagem por meio de números sequenciais.
Confirmação de Recepção: Garantia de que o destinatário recebeu a mensagem, com ou sem erro.
Controle de Erro: Detecção e correção de erros na transmissão.
O conjunto de protocolos utilizados para comunicação entre computadores pela Internet, também
conhecido como conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo norte-
americano para permitir a comunicação entre diferentes redes constituídas por diversos tipos de
computadores. A família de protocolos TCP/IP é particularmente popular porque não pertence a nenhum
fornecedor específico. Portanto, é amplamente apoiado pelo mercado
TCP significa Transmission Control Protocol e refere-se ao sistema mais comum para envio de pacotes na
Internet. Quando você visita um site, seu computador envia dados para o servidor, solicitando que o
servidor envie o conteúdo da página para a máquina que você está usando ? as informações enviadas de
volta são ?emendadas? pelo navegador para exibir o que você deseja
Segundo Scrimger et al., as principais características do TCP são: (2 002) são a transferência de dados,
robustez, controle de fluxo, multiplexação, conexões lógicas e o fato de ser full duplex.
Streaming de dados: o aplicativo pode confirmar se todos os segmentos de dados transmitidos pelo TCP
atingiram o destino esperado e informar se a operação foi bem-sucedida
Robustez: Se os segmentos chegarem fora de ordem, o TCP do receptor irá agrupá-los
Controle de fluxo: O receptor envia uma mensagem confirmando o recebimento ao receber um segmento
Multiplex: uso paralelo das portas de comunicação
Conexão lógica: Identificada pelos processos de envio e recebimento, através de uma combinação de
mecanismos TCP
Full duplex: os dados podem ser transmitidos em ambas as direções simultaneamente
O TCP também emprega seu próprio sistema de numeração para garantir que os pacotes enviados
cheguem ao seu destino na ordem correta. Caso o pacote não seja recebido corretamente pelo receptor, a
informação é enviada novamente até chegar ao seu destino com segurança ? e o mais importante, há
uma verificação de erros para garantir que nenhuma informação foi corrompida durante a transmissão
É exatamente isso que se destaca neste protocolo: confiabilidade. Graças ao TCP, os downloads que você
faz não são corrompidos por flutuações na velocidade da conexão, e as páginas visitadas pelo navegador
raramente carregam algum elemento acidentalmente ? a menos, é claro, que uma das máquinas seja
usada para trocar dados no processo. estiver temporariamente off-line, você receberá uma mensagem de
erro e não poderá acessar o conteúdo desejado.
UDP (User Datagram Protocol) é o ?irmão? do protocolo TCP e também se baseia no envio de pacotes de
informações, mas elimina todas as partes de verificação de erros das outras tecnologias. O objetivo desta
opção é acelerar o processo de envio de dados, pois todas as etapas de comunicação necessárias para
verificar a integridade do pacote (e reenviar o pacote, se necessário) causam lentidão.
Quando o protocolo UDP é ativado, ele simplesmente envia as informações para o receptor sem se
preocupar se as informações foram recebidas corretamente - caso ocorra um erro, o próximo pacote
programado pelo sistema simplesmente será enviado, e o pacote anterior não será capaz recuperar.
Embora este método de operação aumente o risco de erros, garante uma comunicação rápida entre os
dois computadores.
Pelas suas características, este protocolo é amplamente utilizado em situações onde a correção de erros
não é totalmente necessária. Por exemplo, durante a transmissão de um vídeo ao vivo, é mais
interessante que uma pessoa perca certas partes ou tenha que lidar com distorções de imagem e áudio do
que esperar para receber um pacote perdido ? o que pode acabar com o fator ?tempo?. . real".
O protocolo UDP fornece um serviço de entrega sem conexão e não é confiável ao usar IP para transmitir
datagramas entre máquinas( COMER,2006)
O UDP também é amplamente utilizado em jogos online ? se você perder alguns pacotes, o personagem
da outra parte pode ?teletransportar-se? para a tela, mas você não tem motivo para receber os dados
perdidos porque o jogo continuará mesmo que eles não cheguem para você . O que importa é o que está
acontecendo agora, não o que aconteceu há poucos minutos, então não faz sentido confiar na verificação
de erros, que só aumentará a latência para os participantes.
HTTP é um protocolo da camada de aplicação que usa a porta de rede 80. Permite a transmissão de
dados na forma de texto simples, hipertexto, áudio, vídeo, etc. É utilizado em ambientes onde há uma
transição rápida de um documento para outro, como uma página da Internet. Este protocolo possui
características semelhantes aos protocolos FTP e SMTP e permite a transferência de arquivos utilizando
serviços TCP. Porém, é muito mais simples que o FTP, usando apenas uma conexão TCP, porta 80.
Através desta porta, os dados são transmitidos entre o cliente e o servidor
As mensagens HTTP não estão diretamente disponíveis aos usuários. Eles são interpretados pelo cliente
HTTP ? o navegador. A ideia do HTTP é que o cliente envie uma solicitação ao servidor na forma de uma
mensagem, e o servidor envie uma resposta ao cliente na forma de uma mensagem.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) é uma extensão do protocolo HTTP usado para
comunicação segura na World Wide Web. Ele utiliza uma combinação de criptografia SSL/TLS para
garantir a confidencialidade e integridade dos dados transmitidos entre o cliente (geralmente um
3.20 PROTOCOLO IP
Este protocolo é responsável por endereçar o pacote para transmissão, adicionando um cabeçalho,
permitindo que o pacote seja roteado pela rede até ser entregue ao destino correto. Os pacotes IP contêm
o endereço IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar
erros e um TTL (informação em segundos) sobre quanto tempo um pacote pode permanecer na rede para
evitar loops infinitos de tráfego). Slinger et al. (2002, p. 107) Um endereço IP é semelhante ao endereço
que você usa para enviar e-mail. ?O endereço deve conter todos os dados necessários para a entrega.
Caso contrário, a carta não chegará ao destino correto.
O roteamento de pacotes pode ser estático ou dinâmico. Em pequenas redes locais, é utilizado o
roteamento estático, o que significa que o caminho que um datagrama percorre para chegar ao seu
destino é sempre o mesmo. Na Internet, o roteamento é dinâmico, o que significa que os roteadores
podem alterar a rota de um pacote a qualquer momento se um caminho melhor para o destino estiver
disponível. A melhor rota é aquela que requer menos saltos (roteadores intermediários), mas rotas mais
curtas não são necessariamente mais rápidas.
O protocolo FTP é usado para acessar arquivos remotos na Web, bem como no servidor de arquivos local
de uma empresa. Quando baixamos arquivos, geralmente usamos o protocolo FTP. Também pode ser
usado para fazer upload de arquivos do seu computador para a web. O protocolo FTP permite transferir
arquivos pela Internet. Existem vários programas gratuitos na Internet que fornecem serviços FTP. Com
ele você pode transferir arquivos, autenticar usuários e gerenciar arquivos e diretórios, segundo Falbriard
(2002), os protocolos utilizados nas redes de comunicação definem conjuntos de regras que coordenam e
garantem a transferência de informações úteis entre dois ou mais dispositivos.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks"(2020) de Russ White e Ethan Banks. Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas.
Como você viu, um protocolo é um conjunto de regras sobre como ocorre a comunicação entre as partes.
Para reduzir a complexidade de um projeto, a maioria das redes foi organizada em uma série de níveis ou
camadas e colocadas dentro de um nível. O número, nome, conteúdo e funcionalidade de cada camada
variam de rede para rede. Entretanto, em todas as redes, o objetivo de cada camada é fornecer
determinados serviços às camadas superiores.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas
A camada N de uma máquina se comunica com a camada N de outra máquina. Para isso, baseia-se em
um conjunto de convenções e regras que permitem gerenciar essa comunicação, o que é denominado
protocolo de camada N, ou protocolo N, abreviadamente.
Em máquinas diferentes, entidades na mesma camada são chamadas de "pares." Esses pares se
comunicam utilizando um protocolo específico. Contudo, os dados não são transferidos diretamente entre
os pares devido à ausência de um meio físico direto entre eles. Cada camada transmite os dados para a
camada imediatamente inferior até alcançar a camada final. Na última camada, a comunicação é realizada
através do hardware da rede, que é o meio físico de transmissão de dados. Em cada par, existe uma
interface que define as operações e serviços que a camada inferior deve fornecer à camada superior
adjacente.
A arquitetura de rede consiste em uma coleção de camadas que formam a estrutura da rede. A
especificação arquitetônica deve conter informações suficientes para permitir o desenvolvimento correto
da rede, tanto do ponto de vista de software quanto de hardware. No entanto, os detalhes de
implementação de cada camada e a especificação detalhada da interface não fazem parte da definição da
arquitetura da rede; em vez disso, é um conjunto de regras que controla o formato e o significado das
informações trocadas pelas entidades pares dentro de uma camada. As entidades utilizam protocolos para
implementar suas definições de serviço e têm a liberdade de modificar seus protocolos, desde que não
alterem os serviços visíveis aos seus usuários.
3.24 HARDWARE
Um livro atual sobre hardware de redes de computadores é "Computer Networking Problems and Solutions
: An innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este
livro oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando
questões de projeto, operação e solução de problemas em redes hierárquicas
Hardware de rede, ou equipamento de rede, refere-se ao equipamento que facilita e suporta a utilização
de redes de computadores, ou seja, o meio físico necessário à comunicação entre os diversos
componentes participantes da rede.
Switches;
Roteadores;
Concentradores;
Repetidores;
Adaptadores de rede;
Modem;
Gateway;
Bridge;
Firewall;
Pontos de acesso sem fio;
Entre outros hardwares relacionados
3.25 SWITCHES
Um switch é um dispositivo usado para encaminhar pacotes de dados entre diferentes nós. Possuem
portas semelhantes a um hub (concentrador), a principal diferença é que o switch segmenta a rede
internamente, pois cada porta corresponde a um domínio de colisão diferente, eliminando assim colisões
entre pacotes vindos de diferentes segmentos de rede.
3.26 HUBS
3.27 ROTEADORES
Um roteador é um dispositivo que encaminha pacotes de dados entre redes de computadores, criando um
conjunto de redes sobrepostas. Os roteadores se conectam a duas ou mais linhas de dados de redes
diferentes. Os roteadores têm muitas funções, mas a mais comum que todos conhecem é a possibilidade
de conexões sem fio. As redes sem fio são amplamente utilizadas hoje em dia porque são mais práticas.
Sua principal desvantagem está relacionada ao hacking, pois os hackers podem ver onde existe a rede
sem fio e, portanto, comprometer facilmente a rede e os computadores que possam estar conectados a ela
.
O cabeamento estruturado é uma abordagem padronizada para cabeamento de rede que leva em
consideração padrões de segurança (como ANSI e EIA/TIA), melhores práticas e melhor utilização dos
recursos do equipamento, permitindo o redirecionamento através de diferentes caminhos dentro da
mesma estrutura de cabeamento para rotear os fios. entre diferentes pontos. A comunicação é uma das
principais características do cabeamento estruturado, conceito que surgiu nos serviços técnicos de voz,
mas, graças à sua ampla adoção por empresas e organizações criadas por meio da padronização,
rapidamente se tornou a solução para os mais diversos serviços de dados.
A maioria dos padrões são internacionais, por isso são desenvolvidos por instituições e associações
respeitáveis, como IEEE (Instituto de Engenheiros Elétricos e Eletrônicos), TIA (Associação da Indústria de
Telecomunicações) e EIA (Associação da Indústria Eletrônica).
ANSI/TIA/EIA-1005 ? Telecommunications Infrastructure Standard for Industrial Premises;
ANSI/TIA-606-A ? Admi nistration Standard for Commercial Telecommunications Infrastructure;
ANSI/TIA-607-B ? Telecommunications Grounding (Earthing) and Bonding for Customer Premises;
ANSI/TIA-758-A ? Customer-Owned Outside Plant Telecommunications Infrastructure Standard;
ANSI/TIA-862 ? Building Automation Systems Cabling Standard for Commercial Buildings;
IEEE-100BASE-TX ? Fast Ethernet;
TIA 569 -B ? Commercial Building Standard for Telecommunications Pathways and Spaces;
TIA/EIA-568-C.0 ? Generic Telecommunications C abling for Customer Premises;
TIA/EIA-568-C.3 ? Optical Fiber Cabling Components Standard.
TIA-942 ? Telecommunications Infrastructure Standard for Data Center;
Todos esses padrões definem o tipo de cabo utilizado, bem como os limites e requisitos
(distância, segmentos, frequência etc.) que a estrutura deve atender para garantir o
funcionamento adequado.
Os mais comuns que utilizamos hoje são os cabos trançados e de fibra óptica, que são escolhidos com
base nos objetivos do negócio, ou seja, o tipo de rede com a qual estamos lidando.
Consiste em fio de cobre condutor coberto com material isolante e rodeado por uma camada de blindagem
. Utilize conectores BNC. Apesar da sua capacidade de reduzir o impacto de influências e sinais externos
nos sinais que transmite, caiu em desuso e só existe em algumas redes mais antigas por serem mais
propensas a maus contactos, terem conectores mais caros e serem menos flexíveis.
O cabo de par trançado é sem dúvida o cabo mais conhecido e ?masterizado? entre os especialistas em
TI, principalmente por ser o cabo utilizado para implementação de redes há muitos anos. Uma de suas
maiores vantagens é o baixo custo e a facilidade de aquisição de produtos prontos ou sob medida.
Os cabos de fibra óptica são projetados para atender tecnologias mais modernas e oferecem uma série de
vantagens, a começar pelo fato das fibras ópticas serem imunes a interferências eletromagnéticas e, claro
, pela capacidade de transmitir dados em altas taxas. O tipo mais rápido de transmissão existente converte
um sinal de dados em luz, e um receptor que recebe a luz converte esse sinal novamente em dados. Por
outro lado, pode transmitir grandes quantidades de informação com atenuação muito baixa, mas é caro
para adquirir e manter. Eles são divididos em monomodo que só consegue fornecer um sinal por vez,
menor dispersão e pode ficar muitos quilômetros entre um relé e outro e multimodo
Um livro contemporâneo sobre serviços de rede é "Networking for Systems Administrators" (2017), de
Michael W. Lucas. Esta obra aborda diversos aspectos relacionados à configuração, administração e
manutenção de serviços de rede como DNS, DHCP, FTP, SSH e email. Destina-se especialmente a
administradores de sistemas que necessitam gerenciar e manter infraestruturas de rede.
Um serviço de rede é um conjunto de operações implementadas por um protocolo através de uma
interface e fornecidas à camada superior. Ele define as operações que uma camada pode realizar sem se
preocupar com a execução específica dessas operações. Os serviços podem ser classificados em
orientados à conexão ou não. Os serviços relacionados à família TCP são orientados à conexão, enquanto
os serviços associados à família UDP não possuem essa característica.
Os serviços de rede podem ser divididos em duas categorias principais: serviços orientados à conexão e
serviços sem conexão. Além desses, existem outros tipos de serviços, como DHCP, que atribui
automaticamente um endereço IP válido para cada dispositivo conectado à rede, e DNS, que permite o
uso de strings em vez de endereços IP numéricos para identificar recursos na Internet.
Os serviços orientados à conexão utilizam o protocolo TCP. Antes do envio de dados, ocorre um processo
de handshaking, que estabelece uma conexão confiável entre os hosts. Esse processo prepara o receptor
para a recepção de dados. Durante essa conexão, é possível verificar se todos os pacotes foram
entregues corretamente e, se necessário, solicitar o reenvio de pacotes perdidos. Esse mecanismo
garante uma transmissão de dados confiável. Adicionalmente, o controle de fluxo e o gerenciamento de
congestionamento são realizados para assegurar que o receptor não seja sobrecarregado e que a rede
Os serviços sem conexão utilizam o protocolo UDP. Nesse caso, não há um processo de handshaking, o
que significa que não é possível garantir que todos os pacotes cheguem ao destino, pois não se
estabelece uma conexão prévia. Consequentemente, não há criação de um canal seguro para a
transferência de dados. Embora esse método seja mais rápido devido à ausência do processo de
handshaking, ele é menos confiável e não oferece as funcionalidades de controle de fluxo e
gerenciamento de congestionamento presentes no TCP. Exemplos de aplicações que utilizam UDP
incluem vídeo e teleconferências pela Internet.
4. DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Um livro brasileiro atualmente muito utilizado para estudo de desenvolvimento de ferramentas para
comunicação em rede é "Redes de Computadores e a Internet: Uma Abordagem Top-Down" de James F.
Kurose e Keith W. Ross(2010), na sua versão traduzida para o português. Este livro é amplamente no
estudo do tema em redes de computadores no Brasil.
O desenvolvimento de uma ferramenta para comunicação em rede é de extrema importância por várias
razões:
Comunicação Eficiente: Permite a comunicação rápida e eficiente entre diferentes dispositivos, usuários ou
sistemas em uma rede, facilitando a troca de informações, compartilhamento de recursos e colaboração
em tempo real.
Integração de Sistemas: Uma ferramenta de comunicação em rede pode integrar sistemas heterogêneos,
permitindo que eles se comuniquem e compartilhem dados de maneira harmoniosa, melhorando a
interoperabilidade e a eficiência operacional.
Acesso Remoto: Facilita o acesso remoto a recursos e informações, permitindo que usuários acessem
dados ou sistemas de qualquer lugar, a qualquer momento, desde que estejam conectados à rede, o que
aumenta a flexibilidade e a mobilidade.
Colaboração: Promove a colaboração e o trabalho em equipe, possibilitando a comunicação instantânea e
a troca de informações entre colegas, equipes de trabalho ou parceiros de negócios, independentemente
da localização geográfica.
Distribuição de Recursos: Permite a distribuição eficiente de recursos, como impressoras, servidores de
arquivos, bancos de dados e dispositivos de armazenamento, dentro de uma rede, otimizando o uso dos
recursos disponíveis.
Monitoramento e Gerenciamento: Facilita o monitoramento e o gerenciamento de dispositivos, sistemas e
infraestrutura de rede, permitindo a detecção precoce de problemas, manutenção proativa e otimização do
desempenho da rede.
Segurança da Informação: Uma ferramenta de comunicação em rede pode implementar recursos de
segurança, como criptografia, autenticação, controle de acesso e monitoramento de tráfego, para proteger
os dados e garantir a confidencialidade, integridade e disponibilidade das informações.
Inovação e Desenvolvimento Tecnológico: O desenvolvimento contínuo de ferramentas para comunicação
em rede impulsiona a inovação e o desenvolvimento tecnológico, permitindo a criação de novas aplicações
, serviços e soluções que atendam às necessidades em constante evolução dos usuários e organizações.
Em resumo, o desenvolvimento de uma ferramenta para comunicação em rede é essencial para facilitar a
comunicação, promover a colaboração, otimizar o uso de recursos, garantir a segurança da informação e
impulsionar a inovação e o desenvolvimento tecnológico.
6. CONSIDERAÇÕESFINAIS
Neste capítulo, observamos três conceitos principais: Primeiro, um soquete é um ponto de comunicação
usado para transferir dados pela Internet entre aplicações executadas em máquinas diferentes. A
programação de aplicações socket é feita utilizando um conjunto de primitivas, que são funções que
permitem acesso a serviços de transporte e são fornecidas pela camada de transporte. Eles são
comumente usados ??em programação para Internet e pertencem a um grupo de primitivos chamados
Berkeley Sockets.
Essas funções são usadas para programar aplicativos cliente e servidor (embora existam algumas
diferenças de programação entre os dois) e, embora existam muitas, apenas as primitivas básicas
necessárias inicialmente para desenvolver uma aplicação cliente/servidor serão usadas, em segundo lugar
, vemos que a arquitetura TCP/IP é independente da tecnologia usada para transmitir quadros e introduz
dois níveis de endereçamento: IP, que permite o endereçamento de rede, e portas, que permitem o
endereçamento de processos. Por sua vez, os protocolos de aplicação fornecem padronização entre
mensagens trocadas entre clientes e servidores para permitir a interoperabilidade entre produtos de
diferentes fabricantes.
Finalmente, o modelo em camadas fornece uma estratégia comum para múltiplas tecnologias de
transporte, incluindo TCP/IP. Idealmente, o modelo em camadas define que os protocolos da mesma
camada são concorrentes (não são usados ??ao mesmo tempo) e os protocolos de camadas diferentes
são complementares (seus cabeçalhos podem ser empilhados).
REFERÊNCIAS
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed.
Pearson, 2010.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de Computadores: Das LANs
, MANs e WANs às Redes ATM. Editora Campus, 1997. p. 28.
TAROUCO, Liane M. R. Redes de Computadores Locais e de Longa Distância. Editora McGraw-Hill, 1986.
p. 53.
TORRES, G. Redes de Computadores: Das LANs, MANs e WANs às Redes ATM. Axcel Books, 2003.
WHITE, R.; BANKS, E. Computer Networking Problems and Solutions: An Innovative Approach to Building
Resilient, Modern Networks. Wiley, 2020.
ANEXOS
37
=================================================================================
Arquivo 1: 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx (6703 termos)
Arquivo 2:
https://books.google.com/books/about/Computer_Networking_Problems_and_Solutio.html?id=JNRBDwAA
QBAJ (996 termos)
Termos comuns: 13
Similaridade: 0,16%
O texto abaixo é o conteúdo do documento 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx
(6703 termos)
Os termos em vermelho foram encontrados no documento
https://books.google.com/books/about/Computer_Networking_Problems_and_Solutio.html?id=JNRBDwAA
QBAJ (996 termos)
=================================================================================
Sorocaba, SP
2024
SUMARIO
1. OBJETIVO DO TRABALHO4
2. INTRODUÇÃO5
3. REFERENCIAL TEÓRICO7
3.1 SOQUETE DE REDE7
3.2 SOQUETES UDP10
3.3 SOQUETE TCP10
3.4 ARQUITETURA EM CAMADAS12
3.5 CAMADA DE APLICAÇÃO13
3.6 CAMADA DE APRESENTAÇÃO13
3.7 CAMADA DE SESSÃO13
3.8 CAMADA DE TRANSPORTE13
3.9 CAMADA DE REDE14
3.10 CAMADA DE LINK OU MAC14
3.11 CAMADA FÍSICA14
3.12 MODELO ETHERNET14
3.13 PROTOCOLOS15
3.14 FUNÇÕES DO PROTOCOLOS17
3.15 PROTOCOLOS DE CAMADAS18
3.16 PROTOCOLO TCP18
3.17 PROTOCOLO UDP19
3.18 PROTOCOLO HTTP20
3.19 PROTOCOLO HTTPS21
3.20 PROTOCOLO IP22
3.21 PROTOCOLO DE ROTEAMENTO22
3.22 PROTOCOLO FTP22
3.23 HIERARQUIAS DE REDE23
3.24 HARDWARE25
3.25 SWITCHES26
3.26 HUBS26
3.27 ROTEADORES26
3.28 CABEAMENTO ESTRUTURADO27
3.29 PRINCIPAIS NORMAS DE CABEAMENTO27
3.30 TIPOS DE CABEAMENTO28
3.31 CABO COAXIAL28
3.32 CABO PAR TRANÇADO28
3.33 CABO DE FIBRA ÓPTICA29
3.34 SERVIÇOS DE REDE29
3.35 CLASSIFICAÇÃO DE SERVIÇOS29
3.36 SERVIÇOS ORIENTADOS A CONEXÃO30
1. OBJETIVO DO TRABALHO
O relatório deve incluir o uso de primitivos de soquete Berkeley ou componentes derivados deles para
comunicação de dados. Deve abordar todos os elementos utilizados no desenvolvimento do projeto, bem
como o impacto deste trabalho na formação da equipe. Além disso, é importante discutir a
interdisciplinaridade envolvida no projeto devido ao nível de detalhe, funcionalidade, tratamento de erros,
implementação de funcionalidades adicionais e relatórios adicionais no sistema, que serão apresentados
no desenvolvimento.
2. INTRODUÇÃO
O grupo desenvolveu uma ferramenta de comunicação em rede utilizando Java e C#. Camila Goulart
Madosaki as atividades práticas supervisionadas estão estruturadas da seguinte forma. A equipe criou
uma aplicação que permite que duas ou mais pessoas se comuniquem em rede utilizando o protocolo TCP
/IP, ferramenta que será utilizada em situações que envolvem o meio ambiente. O tema escolhido pelo
grupo foi a preservação e sustentabilidade do meio ambiente. Estudo da topologia do sistema. O
documento apresenta uma referência teórica, na qual aborda um extenso sistema de comunicação que
conecta diversas redes de computadores. O sistema de comunicação consistirá de um arranjo topológico
interconectando módulos de processador individuais através de links físicos, dispositivos de transmissão
ou redes de transporte e um conjunto de regras para organizar. Existem muitos dispositivos diferentes em
muitas formas e recursos que podem ser interconectados e compartilhados através de métodos de acesso
, protocolos e requisitos de segurança. Os métodos de comunicação podem ser: linhas telefônicas, cabos,
comunicações via satélite ou sem fio. O objetivo de uma rede de computadores é permitir que os
computadores troquem dados e compartilhem recursos de hardware e software. A classificação dos
tamanhos de rede é: PAN, LAN, MAN, WAN A topologia de uma rede mostra como as máquinas estão
conectadas entre si. De acordo com a topologia, a rede pode ser dividida em: rede ponto a ponto, rede em
estrela, rede em anel e rede em árvore. O cabeamento estruturado refere-se aos vários tipos de cabos
instalados em uma residência ou empresa para distribuição de áudio, vídeo, telefone e dados. Esses fios
costumam ser agrupados, assim como cabos de rede, cabos de áudio de fibra óptica e outras
combinações personalizadas para distribuir itens por todo o ambiente. Cabeamento estruturado é um
termo genérico que inclui várias formas de cabos colocados em uma casa ou escritório para distribuição
de sinais de áudio, vídeo, telefone e dados. Tais fios, normalmente, são postos juntos em grupos, desde
cabos de rede passando por cabos de áudio de fibra óptica e muitas outras combinações personalizadas
que levam os itens a serem distribuídos por todo o ambiente. Um protocolo de comunicação é um acordo
utilizado na comunicação entre duas ou mais partes com o intuito de estabelecer como será a
comunicação entre elas. Simplificando, seria mais ou menos isso: um conjunto de regras. De maneira
simplificada, um protocolo poderia ser definido como regras que "governam" a sintaxe, a semântica e a
sincronia da comunicação. A evolução das ferramentas de comunicação em rede impulsiona inovação e
desenvolvimento tecnológico, permitindo responder a emergentes necessidades dos utilizadores e das
organizações na criação de novas aplicações, serviços e soluções.
3. REFERENCIAL TEÓRICO
"Unix Network Programming" (2003) ou Programação de rede Unix por W. Richard Stevens. Considerado
um clássico na área de programação de redes, este livro fornece uma introdução abrangente ao assunto.
Ele não cobre apenas o uso de soquetes em sistemas Unix, mas também fornece uma compreensão
sólida dos conceitos subjacentes à comunicação em rede. Este livro é conhecido por sua abordagem
prática e clara e exemplos de código detalhados e explicativos. Além disso, "TCP/IP Illustrator" (1994) do
mesmo autor, W. Richard Stevens, é outro livro altamente recomendado para aprender os fundamentos do
protocolo TCP/IP, que é a base das comunicações de rede na Internet. Este livro complementa muito bem
a programação de rede Unix, fornecendo uma compreensão mais profunda dos protocolos de rede.
Ambos os livros são recursos valiosos para estudantes, profissionais de TI e desenvolvedores
interessados em aprender programação de redes e soquetes. Especificamente, na computação, os
soquetes podem ser usados em conexões de rede de computadores para fornecer um link de
comunicação bidirecional entre dois programas. As conexões de soquete tiveram origem em 1980, quando
a agência governamental dos EUA ARPA (Advanced Research Projects Agency) forneceu recursos
financeiros à Universidade da Califórnia, Berkeley, para fornecer uma implementação UNIX do pacote de
protocolo TCP/IP. O produto desenvolvido posteriormente ficou conhecido como Berkeley Sockets
Interface ou simplesmente Berkeley Sockets. Frequentemente recomendado para aprender sobre
soquetes e programação de redes é "Unix Network Programming" de W. Richard Stevens (2003). Este
livro é considerado um clássico no campo da programação de redes e oferece uma cobertura abrangente
sobre o assunto. Os soquetes foram desenvolvidos especificamente para aplicações cliente/servidor, onde
o cliente e o servidor podem estar em máquinas diferentes e se comunicarem através de um protocolo de
transporte, o que significa que quando a aplicação interage com o software do protocolo, ela deve ser
informada que se trata de um cliente ou servidor. Para estabelecer uma conexão, apenas o endereço de
destino e o número da porta são necessários. Existem dois modos de transmissão de soquete: modo
baseado em conexão e modo sem conexão. Os soquetes baseados em conexão funcionam como
telefones: eles estabelecem uma conexão e depois suspendem a conexão. Os soquetes sem conexão
funcionam como correio: a entrega não é garantida e diferentes itens de correio podem chegar em uma
ordem diferente daquela em que foram enviados. A escolha do modo de transporte de soquete dependerá
das necessidades da sua aplicação. Se a confiabilidade for importante, o modo baseado em conexão
deverá ser usado. Por exemplo, um servidor de arquivos precisa que todos os seus dados cheguem ao
usuário na ordem correta. A operação sem conexão será mais rápida e eficiente, mas não há garantia. O
método de conexão adota o protocolo TCP. Um soquete neste modo de operação deve ser conectado ao
destino antes que os dados possam ser transferidos. Quando conectado, o soquete usa a interface de
fluxo: open-read-write-close. Um soquete também é uma abstração computacional que mapeia
diretamente para uma porta de transporte por meio de um protocolo TCP ou UDP e um endereço de rede.
Por sua vez, o soquete se abstrai e pode utilizar qualquer um dos métodos TCP ou UDP já mencionados.
Com este conceito é possível identificar de forma única uma aplicação ou servidor numa rede de
comunicações IP. No documento RFC (Request for Comments) relacionado ao TCP ou UDP, um soquete
em um computador é definido como uma combinação de endereço IP, protocolo e número de porta do
protocolo. Soquetes e RPC possuem a funcionalidade para implementar aplicativos. Funcionalidades de
rede, mas são implementadas de maneiras diferentes, por exemplo, imagine que você precisa desenvolver
uma aplicação de servidor que funcione como uma "sala" de chat. Essencialmente, a aplicação receberá
chamadas do cliente (em uma determinada porta) e então se o cliente enviar uma mensagem, o servidor
enviará essa mensagem para todos os outros clientes.
Ou imagine, por exemplo, que você tem um sensor de temperatura instalado em seu computador e possui
um aplicativo de servidor que controla o sensor, fornecendo informações sobre o clima. A aplicação cliente
pode conectar-se remotamente à aplicação servidora e obter essas informações. Tudo isso pode ser
desenvolvido usando soquetes
Geralmente, há um aplicativo que cria o soquete do servidor e outro aplicativo que implementa o cliente.
Existem dois tipos principais de soquetes: Socket_Stream (também conhecido como TCP) ou SOCK
_DGRAM (também conhecido como UDP). Os soquetes TCP garantem a confiabilidade da comunicação
(entrega de pacotes garantida), enquanto os soquetes UDP não garantem a entrega de pacotes no nível
da camada de transporte)
A comunicação entre processos também pode ocorrer via UDP. No entanto, o UDP é um serviço sem
conexão. O remetente insere explicitamente o endereço IP e a porta do destino no formato IP:porta (por
exemplo: 192.168.0.1:80). O servidor deve extrair o endereço IP e a porta (soquete) do remetente do
datagrama recebido. Os dados recebidos podem ser recebidos fora de ordem ou até mesmo perdidos. Só
então os dados são encaminhados para as camadas superiores, da camada de transporte (protocolo UDP
) para a camada de aplicação (qualquer aplicação).
Esses Datagram Soquete ou DataGrama, por serem UDP, possuem comunicação não orientada à
conexão e não são confiáveis, pois os dados enviados neste tipo podem não chegar ao destino final da
forma como foram enviados, e não há garantia de sua chegada. Streaming de áudio e vídeo sob demanda
e jogos multijogador são exemplos de aplicativos de soquete de datagrama. Neste tipo de transferência, a
perda de pequenas quantidades de dados não traz consequências graves para o processo. Tanto o
Socket UDP quanto o Socket TCP usam o protocolo IP para rotear dados pela rede.
No protocolo TCP, um soquete cria uma conexão de streaming bidirecional entre os endereços 'hostC
:portC' e 'hostS:portS', ou seja, entre a aplicação cliente em execução na máquina 'hostC' e também pode
controlar a porta 'portC' e outro aplicativo de servidor em execução no computador 'hostS', observando a
porta 'portS' de 'hostS'. Sabemos também que o protocolo TCP é orientado à conexão e por isso garante
que os dados enviados do cliente para o servidor cheguem ao seu destino na respectiva porta. Esta forma
de comunicação com soquetes TCP utiliza soquetes de fluxo, que representam uma forma de
comunicação bidirecional confiável e orientada à conexão.
Os dados enviados através deste tipo de Socket estarão seguros e chegarão da mesma forma que foram
enviados, pois o protocolo TCP é responsável por ?entregar? os dados da mesma forma que foram
enviados e sem erros. Por exemplo: os navegadores usam este aplicativo sobre protocolos HTTP, que
normalmente funcionam no soquete 80. Um soquete é uma abstração de um endereço de comunicação
através do qual os processos se comunicam. Cada endereço possui um identificador exclusivo que
consiste no endereço da máquina e no identificador local da porta utilizada pelo processo.
Este identificador de porta é usado para mapear os dados recebidos pela máquina para um processo
(aplicação) específico. O processo de comunicação no modo orientado à conexão é o seguinte: o servidor
é colocado em uma porta específica e aguarda uma conexão com essa porta. O cliente deve saber
antecipadamente o nome IP do servidor e a porta correspondente na qual o servidor está aguardando
conexões.
Conforme na figura 2.
Se não houver problemas, o servidor aceita a conexão gerando um soquete em uma porta livre do lado do
servidor, criando assim um canal de comunicação entre o cliente e o servidor. É importante observar que a
porta original está livre para receber outras solicitações de conexão. A imagem abaixo demonstra o
mesmo canal de comunicação.
O modelo de referência OSI foi criado pela ISO em 1978 para construir sistemas de conexão entre
dispositivos através da padronização de protocolos e padrões, que é um padrão global e modelo
conceitual desde 1984. Este modelo propõe um esquema de trabalho conjunto entre hardware e software
para permitir a comunicação entre dispositivos. No entanto, o modelo OSI é mais teórico do que prático.
livro amplamente recomendado sobre arquitetura em camadas é "Patterns of Enterprise Application
Architecture" (Padrões de Arquitetura de Aplicações Corporativas) de Martin Fowler(2003). Embora o livro
não se concentre exclusivamente na arquitetura em camadas, aborda vários padrões arquiteturais comuns
, incluindo a arquitetura em camadas, e fornece uma compreensão sólida dos princípios e práticas
envolvidos na construção de sistemas de software escaláveis e robustos.
É responsável por definir o formato de troca de dados entre computadores, atuando como conversor de
protocolos, criptografia, compactação de dados, entre outras tarefas.
Uma sessão é um canal de comunicação entre dois aplicativos executados em computadores diferentes. A
camada de sessão é responsável por gerenciar conversas entre aplicações para que elas possam abrir,
usar e fechar sessões. É nesta camada que são executadas as funções de reconhecimento de nomes e
segurança.
É responsável pela integridade dos pacotes de informações e garante uma comunicação confiável. Esta
integridade é conseguida graças ao sinal ACK enviado entre as duas partes (sinal que confirma que a
comunicação ocorreu corretamente, do receptor ao transmissor). O protocolo TCP é executado nesta
camada
É usado para identificar o endereço de um sistema em uma rede e realmente transferir dados. A camada
de rede deve conhecer o meio físico da rede e empacotar as informações de forma que a camada de
enlace possa enviá-las para a camada física. Em muitas redes, esta camada não verifica a integridade da
informação, apenas a encapsula.
É utilizado para definir como a informação é transmitida através da camada física e garante o bom
funcionamento desta camada. Se houver erros na transmissão de informações no meio físico, como cabos
danificados ou colisões de dados, a camada MAC deverá tratar esses erros ou comunicá-los às camadas
superiores.
Consiste em hardware como cabos, fibras ópticas e conectores usados ??para conectar diferentes
sistemas de rede. Nesta camada, as informações são codificadas na forma de sinais elétricos
Um livro recomendado sobre o modelo Ethernet é "Ethernet: The Definitive Guide" (2000) de Charles E.
Spurgeon. Este livro fornece uma visão geral abrangente da tecnologia Ethernet, incluindo seu histórico,
capacidades, padrões e protocolos relacionados. As redes Ethernet podem transportar até 1.500 bytes de
dados. Portanto, o sistema operacional configura automaticamente o protocolo IP para criar um datagrama
de 1.500 bytes em vez de 65.535 bytes (o tamanho real do datagrama é 1.497 porque a camada LLC usa
3 ou 5 bytes para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, o que equivale à
Interface de Rede do modelo TCP/IP. Sobre o modelo Ethernet é "Ethernet: The Definitive Guide" de
Charles E. Spurgeon(2000). Este livro oferece uma visão abrangente da tecnologia Ethernet, incluindo sua
história, funcionamento, padrões e protocolos associados. A camada LLC (Logical Link Control) é
responsável por adicionar informações sobre qual protocolo da camada Internet é responsável pela
geração dos dados. Desta forma, durante o processo de recepção de dados, o computador receptor pode
saber qual protocolo deve ser utilizado na camada Internet para receber os dados. A camada MAC (Media
Access Control) é responsável pela montagem dos frames que serão enviados para a rede. Esta camada
é responsável por adicionar os endereços MAC de origem e destino ao pacote (o endereço físico da placa
de rede). Quando os pacotes são enviados para uma rede diferente da rede local, o endereço MAC
inserido como destino será o endereço MAC do roteador a ser usado. Os protocolos que definem esta
camada são IEEE 802.3 (para redes com cabos físicos) e IEEE 802.11 (no caso de redes sem fio). A
camada física é a camada mais baixa do modelo TCP/IP. É responsável por converter os frames gerados
pela camada MAC em sinais elétricos (para redes com cabos físicos) ou sinais eletromagnéticos (para
redes sem fio). No IEEE, a camada física é definida pelo mesmo protocolo da camada MAC. Segundo
BEZERA (2008), o padrão Ethernet especifica a camada de enlace e a camada física. No final do
empacotamento, os dados conterão cabeçalhos para todas as camadas do modelo TCP/IP, bem como
cabeçalhos para a subcamada Ethernet.
3.13 PROTOCOLOS
redes de computadores em universidades ao redor do mundo devido à sua abordagem de cima para baixo
, que começa com os conceitos de aplicação e trabalha em direção às camadas inferiores do modelo OSI.
Protocolos são conjuntos de regras que definem como os dispositivos se comunicam entre si. Funcionam
como uma "linguagem" de computadores, especificando padrões e procedimentos. A comunicação entre
computadores só é possível por meio de protocolos.
Protocolos de rede foram desenvolvidos para permitir a conexão de dispositivos de diferentes
fornecedores e sistemas, sem a necessidade de reescrever ou desenvolver softwares específicos para
cada caso. Para que dois dispositivos se comuniquem corretamente, eles devem estar configurados com
os mesmos padrões e parâmetros, conforme definidos pelos protocolos.
Existem diversos tipos de protocolos de rede, que variam conforme o serviço utilizado. Em termos gerais,
os protocolos podem ser classificados em dois tipos principais: protocolos abertos e protocolos
proprietários ou específicos. Protocolos abertos são padrões da Internet que permitem a comunicação
entre diferentes plataformas que utilizam o mesmo protocolo, como o TCP/IP, que é compatível com
sistemas como Windows, Linux, Mac e Android.
Um protocolo proprietário ou específico é desenvolvido para um ambiente ou situação particular. Por
exemplo, o IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) foi criado
especificamente para o Sistema Operacional NetWare, visando o compartilhamento de arquivos e
impressoras. Outro exemplo é o NETBIOS (Network Basic Input/Output System), que é uma API que
permite a comunicação entre aplicativos em diferentes computadores dentro de uma rede local.
Alguns exemplos de protocolos de rede incluem:
IP (Internet Protocol)
DHCP (Dynamic Host Configuration Protocol)
TCP (Transmission Control Protocol)
HTTP (Hypertext Transfer Protocol)
FTP (File Transfer Protocol)
Telnet (Telnet Remote Protocol)
SSH (Secure Shell Protocol)
POP3 (Post Office Protocol 3)
IMAP (Internet Message Access Protocol)
Os protocolos de rede desempenham diversas funções essenciais para garantir a comunicação eficiente
entre dispositivos. Uma dessas funções é a fragmentação dos dados a serem transmitidos em pequenos
pedaços chamados pacotes. Cada pacote contém informações de endereçamento que especificam a
origem e o destino. Este protocolo organiza as fases de estabelecimento, controle, fluxo e encerramento
da troca de informações.
As funções específicas dos protocolos variam conforme a camada do modelo OSI, mas algumas funções
podem ser executadas em múltiplas camadas, ainda que com diferentes contextos e objetivos (MPR/JAR,
2003).
As principais funções dos protocolos incluem:
Endereçamento: Especificação clara do ponto de destino da mensagem.
Estabelecimento: Criação de um canal lógico fechado entre a fonte e o destino.
Numeração e Sequência: Individualização de cada mensagem por meio de números sequenciais.
Confirmação de Recepção: Garantia de que o destinatário recebeu a mensagem, com ou sem erro.
Controle de Erro: Detecção e correção de erros na transmissão.
Retransmissão: Reenvio de mensagens em caso de falha na recepção.
Conversão de Código: Adaptação do código às características do destinatário.
Controle de Fluxo: Manutenção de fluxos de dados compatíveis com os recursos disponíveis.
Estas funções são cruciais para a comunicação confiável e eficiente em redes de computadores,
assegurando que os dados cheguem ao destino correto, sejam verificados quanto a erros e processados
adequadamente.
Para cada tipo de protocolo definido, um padrão é definido. Existem dois tipos de padrões
DE FACTO: são padrões utilizados pela comunidade (principalmente fabricantes) no lançamento de novos
produtos, mas ainda não foram aprovados por um comitê reconhecido como ISO ou ANSI. Um exemplo é
o protocolo IP
DE JURE: Um padrão ou protocolo que foi endossado por um conselho regulador. A arquitetura OSI é um
exemplo. Esses padrões de jure adotaram status de fato e suas especificações são submetidas às
agências de avaliação no formato RFC (Request for Change) até que a versão final seja aprovada.
O conjunto de protocolos utilizados para comunicação entre computadores pela Internet, também
conhecido como conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo norte-
americano para permitir a comunicação entre diferentes redes constituídas por diversos tipos de
computadores. A família de protocolos TCP/IP é particularmente popular porque não pertence a nenhum
fornecedor específico. Portanto, é amplamente apoiado pelo mercado
TCP significa Transmission Control Protocol e refere-se ao sistema mais comum para envio de pacotes na
Internet. Quando você visita um site, seu computador envia dados para o servidor, solicitando que o
servidor envie o conteúdo da página para a máquina que você está usando ? as informações enviadas de
volta são ?emendadas? pelo navegador para exibir o que você deseja
Segundo Scrimger et al., as principais características do TCP são: (2 002) são a transferência de dados,
robustez, controle de fluxo, multiplexação, conexões lógicas e o fato de ser full duplex.
Streaming de dados: o aplicativo pode confirmar se todos os segmentos de dados transmitidos pelo TCP
atingiram o destino esperado e informar se a operação foi bem-sucedida
Robustez: Se os segmentos chegarem fora de ordem, o TCP do receptor irá agrupá-los
Controle de fluxo: O receptor envia uma mensagem confirmando o recebimento ao receber um segmento
Multiplex: uso paralelo das portas de comunicação
Conexão lógica: Identificada pelos processos de envio e recebimento, através de uma combinação de
mecanismos TCP
Full duplex: os dados podem ser transmitidos em ambas as direções simultaneamente
O TCP também emprega seu próprio sistema de numeração para garantir que os pacotes enviados
cheguem ao seu destino na ordem correta. Caso o pacote não seja recebido corretamente pelo receptor, a
informação é enviada novamente até chegar ao seu destino com segurança ? e o mais importante, há
uma verificação de erros para garantir que nenhuma informação foi corrompida durante a transmissão
É exatamente isso que se destaca neste protocolo: confiabilidade. Graças ao TCP, os downloads que você
faz não são corrompidos por flutuações na velocidade da conexão, e as páginas visitadas pelo navegador
raramente carregam algum elemento acidentalmente ? a menos, é claro, que uma das máquinas seja
usada para trocar dados no processo. estiver temporariamente off-line, você receberá uma mensagem de
erro e não poderá acessar o conteúdo desejado.
UDP (User Datagram Protocol) é o ?irmão? do protocolo TCP e também se baseia no envio de pacotes de
informações, mas elimina todas as partes de verificação de erros das outras tecnologias. O objetivo desta
opção é acelerar o processo de envio de dados, pois todas as etapas de comunicação necessárias para
verificar a integridade do pacote (e reenviar o pacote, se necessário) causam lentidão.
Quando o protocolo UDP é ativado, ele simplesmente envia as informações para o receptor sem se
preocupar se as informações foram recebidas corretamente - caso ocorra um erro, o próximo pacote
programado pelo sistema simplesmente será enviado, e o pacote anterior não será capaz recuperar.
Embora este método de operação aumente o risco de erros, garante uma comunicação rápida entre os
dois computadores.
Pelas suas características, este protocolo é amplamente utilizado em situações onde a correção de erros
não é totalmente necessária. Por exemplo, durante a transmissão de um vídeo ao vivo, é mais
interessante que uma pessoa perca certas partes ou tenha que lidar com distorções de imagem e áudio do
que esperar para receber um pacote perdido ? o que pode acabar com o fator ?tempo?. . real".
O protocolo UDP fornece um serviço de entrega sem conexão e não é confiável ao usar IP para transmitir
datagramas entre máquinas( COMER,2006)
O UDP também é amplamente utilizado em jogos online ? se você perder alguns pacotes, o personagem
da outra parte pode ?teletransportar-se? para a tela, mas você não tem motivo para receber os dados
perdidos porque o jogo continuará mesmo que eles não cheguem para você . O que importa é o que está
acontecendo agora, não o que aconteceu há poucos minutos, então não faz sentido confiar na verificação
de erros, que só aumentará a latência para os participantes.
HTTP é um protocolo da camada de aplicação que usa a porta de rede 80. Permite a transmissão de
dados na forma de texto simples, hipertexto, áudio, vídeo, etc. É utilizado em ambientes onde há uma
transição rápida de um documento para outro, como uma página da Internet. Este protocolo possui
características semelhantes aos protocolos FTP e SMTP e permite a transferência de arquivos utilizando
serviços TCP. Porém, é muito mais simples que o FTP, usando apenas uma conexão TCP, porta 80.
Através desta porta, os dados são transmitidos entre o cliente e o servidor
As mensagens HTTP não estão diretamente disponíveis aos usuários. Eles são interpretados pelo cliente
HTTP ? o navegador. A ideia do HTTP é que o cliente envie uma solicitação ao servidor na forma de uma
mensagem, e o servidor envie uma resposta ao cliente na forma de uma mensagem.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) é uma extensão do protocolo HTTP usado para
comunicação segura na World Wide Web. Ele utiliza uma combinação de criptografia SSL/TLS para
garantir a confidencialidade e integridade dos dados transmitidos entre o cliente (geralmente um
navegador da web) e o servidor web.
Quando uma conexão HTTPS é estabelecida, o servidor web envia um certificado digital para o cliente,
que contém uma chave pública. O cliente usa essa chave pública para criptografar uma chave de sessão
simétrica, que é então enviada de volta ao servidor. A partir desse ponto, a comunicação entre o cliente e
o servidor é criptografada usando essa chave de sessão.
O HTTPS oferece várias vantagens sobre o HTTP tradicional, incluindo:
1.Segurança dos dados: A criptografia SSL/TLS protege os dados durante a transmissão, impedindo que
terceiros interceptem ou modifiquem as informações transmitidas.
2.Autenticação do servidor: O uso de certificados digitais permite que o cliente verifique a identidade do
servidor, garantindo que este seja realmente quem afirma ser.
3.Integridade dos dados: Os dados transmitidos por meio do HTTPS são protegidos contra alterações não
autorizadas durante a transmissão.
4.Confiança do usuário: A presença do cadeado verde e do "https://" na barra de endereço do navegador
transmite confiança aos usuários, indicando que a conexão é segura.
O uso do HTTPS é essencial para proteger informações sensíveis, como dados de login, informações de
pagamento e outras informações pessoais dos usuários durante a comunicação na web. Nos dias de hoje,
é amplamente adotado e incentivado por organizações e empresas em todo o mundo.
3.20 PROTOCOLO IP
Este protocolo é responsável por endereçar o pacote para transmissão, adicionando um cabeçalho,
permitindo que o pacote seja roteado pela rede até ser entregue ao destino correto. Os pacotes IP contêm
o endereço IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar
erros e um TTL (informação em segundos) sobre quanto tempo um pacote pode permanecer na rede para
evitar loops infinitos de tráfego). Slinger et al. (2002, p. 107) Um endereço IP é semelhante ao endereço
que você usa para enviar e-mail. ?O endereço deve conter todos os dados necessários para a entrega.
Caso contrário, a carta não chegará ao destino correto.
O roteamento de pacotes pode ser estático ou dinâmico. Em pequenas redes locais, é utilizado o
roteamento estático, o que significa que o caminho que um datagrama percorre para chegar ao seu
destino é sempre o mesmo. Na Internet, o roteamento é dinâmico, o que significa que os roteadores
podem alterar a rota de um pacote a qualquer momento se um caminho melhor para o destino estiver
disponível. A melhor rota é aquela que requer menos saltos (roteadores intermediários), mas rotas mais
curtas não são necessariamente mais rápidas.
O protocolo FTP é usado para acessar arquivos remotos na Web, bem como no servidor de arquivos local
de uma empresa. Quando baixamos arquivos, geralmente usamos o protocolo FTP. Também pode ser
usado para fazer upload de arquivos do seu computador para a web. O protocolo FTP permite transferir
arquivos pela Internet. Existem vários programas gratuitos na Internet que fornecem serviços FTP. Com
ele você pode transferir arquivos, autenticar usuários e gerenciar arquivos e diretórios, segundo Falbriard
(2002), os protocolos utilizados nas redes de comunicação definem conjuntos de regras que coordenam e
garantem a transferência de informações úteis entre dois ou mais dispositivos.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks"(2020) de Russ White e Ethan Banks. Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas.
Como você viu, um protocolo é um conjunto de regras sobre como ocorre a comunicação entre as partes.
Para reduzir a complexidade de um projeto, a maioria das redes foi organizada em uma série de níveis ou
camadas e colocadas dentro de um nível. O número, nome, conteúdo e funcionalidade de cada camada
variam de rede para rede. Entretanto, em todas as redes, o objetivo de cada camada é fornecer
determinados serviços às camadas superiores.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas
A camada N de uma máquina se comunica com a camada N de outra máquina. Para isso, baseia-se em
um conjunto de convenções e regras que permitem gerenciar essa comunicação, o que é denominado
protocolo de camada N, ou protocolo N, abreviadamente.
Em máquinas diferentes, entidades na mesma camada são chamadas de "pares." Esses pares se
comunicam utilizando um protocolo específico. Contudo, os dados não são transferidos diretamente entre
os pares devido à ausência de um meio físico direto entre eles. Cada camada transmite os dados para a
camada imediatamente inferior até alcançar a camada final. Na última camada, a comunicação é realizada
através do hardware da rede, que é o meio físico de transmissão de dados. Em cada par, existe uma
interface que define as operações e serviços que a camada inferior deve fornecer à camada superior
adjacente.
A arquitetura de rede consiste em uma coleção de camadas que formam a estrutura da rede. A
especificação arquitetônica deve conter informações suficientes para permitir o desenvolvimento correto
da rede, tanto do ponto de vista de software quanto de hardware. No entanto, os detalhes de
implementação de cada camada e a especificação detalhada da interface não fazem parte da definição da
arquitetura da rede; em vez disso, é um conjunto de regras que controla o formato e o significado das
informações trocadas pelas entidades pares dentro de uma camada. As entidades utilizam protocolos para
implementar suas definições de serviço e têm a liberdade de modificar seus protocolos, desde que não
alterem os serviços visíveis aos seus usuários.
3.24 HARDWARE
Um livro atual sobre hardware de redes de computadores é "Computer Networking Problems and Solutions
: An innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este
livro oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando
questões de projeto, operação e solução de problemas em redes hierárquicas
Hardware de rede, ou equipamento de rede, refere-se ao equipamento que facilita e suporta a utilização
de redes de computadores, ou seja, o meio físico necessário à comunicação entre os diversos
componentes participantes da rede.
Switches;
Roteadores;
Concentradores;
Repetidores;
Adaptadores de rede;
Modem;
Gateway;
Bridge;
Firewall;
Pontos de acesso sem fio;
Entre outros hardwares relacionados
3.25 SWITCHES
Um switch é um dispositivo usado para encaminhar pacotes de dados entre diferentes nós. Possuem
portas semelhantes a um hub (concentrador), a principal diferença é que o switch segmenta a rede
internamente, pois cada porta corresponde a um domínio de colisão diferente, eliminando assim colisões
entre pacotes vindos de diferentes segmentos de rede.
3.26 HUBS
3.27 ROTEADORES
Um roteador é um dispositivo que encaminha pacotes de dados entre redes de computadores, criando um
conjunto de redes sobrepostas. Os roteadores se conectam a duas ou mais linhas de dados de redes
diferentes. Os roteadores têm muitas funções, mas a mais comum que todos conhecem é a possibilidade
de conexões sem fio. As redes sem fio são amplamente utilizadas hoje em dia porque são mais práticas.
Sua principal desvantagem está relacionada ao hacking, pois os hackers podem ver onde existe a rede
sem fio e, portanto, comprometer facilmente a rede e os computadores que possam estar conectados a ela
.
O cabeamento estruturado é uma abordagem padronizada para cabeamento de rede que leva em
consideração padrões de segurança (como ANSI e EIA/TIA), melhores práticas e melhor utilização dos
recursos do equipamento, permitindo o redirecionamento através de diferentes caminhos dentro da
mesma estrutura de cabeamento para rotear os fios. entre diferentes pontos. A comunicação é uma das
principais características do cabeamento estruturado, conceito que surgiu nos serviços técnicos de voz,
mas, graças à sua ampla adoção por empresas e organizações criadas por meio da padronização,
rapidamente se tornou a solução para os mais diversos serviços de dados.
A maioria dos padrões são internacionais, por isso são desenvolvidos por instituições e associações
respeitáveis, como IEEE (Instituto de Engenheiros Elétricos e Eletrônicos), TIA (Associação da Indústria de
Telecomunicações) e EIA (Associação da Indústria Eletrônica).
ANSI/TIA/EIA-1005 ? Telecommunications Infrastructure Standard for Industrial Premises;
ANSI/TIA-606-A ? Admi nistration Standard for Commercial Telecommunications Infrastructure;
ANSI/TIA-607-B ? Telecommunications Grounding (Earthing) and Bonding for Customer Premises;
ANSI/TIA-758-A ? Customer-Owned Outside Plant Telecommunications Infrastructure Standard;
ANSI/TIA-862 ? Building Automation Systems Cabling Standard for Commercial Buildings;
IEEE-100BASE-TX ? Fast Ethernet;
TIA 569 -B ? Commercial Building Standard for Telecommunications Pathways and Spaces;
TIA/EIA-568-C.0 ? Generic Telecommunications C abling for Customer Premises;
TIA/EIA-568-C.3 ? Optical Fiber Cabling Components Standard.
TIA-942 ? Telecommunications Infrastructure Standard for Data Center;
Todos esses padrões definem o tipo de cabo utilizado, bem como os limites e requisitos
(distância, segmentos, frequência etc.) que a estrutura deve atender para garantir o
funcionamento adequado.
Os mais comuns que utilizamos hoje são os cabos trançados e de fibra óptica, que são escolhidos com
base nos objetivos do negócio, ou seja, o tipo de rede com a qual estamos lidando.
Consiste em fio de cobre condutor coberto com material isolante e rodeado por uma camada de blindagem
. Utilize conectores BNC. Apesar da sua capacidade de reduzir o impacto de influências e sinais externos
nos sinais que transmite, caiu em desuso e só existe em algumas redes mais antigas por serem mais
propensas a maus contactos, terem conectores mais caros e serem menos flexíveis.
O cabo de par trançado é sem dúvida o cabo mais conhecido e ?masterizado? entre os especialistas em
TI, principalmente por ser o cabo utilizado para implementação de redes há muitos anos. Uma de suas
maiores vantagens é o baixo custo e a facilidade de aquisição de produtos prontos ou sob medida.
Os cabos de fibra óptica são projetados para atender tecnologias mais modernas e oferecem uma série de
vantagens, a começar pelo fato das fibras ópticas serem imunes a interferências eletromagnéticas e, claro
, pela capacidade de transmitir dados em altas taxas. O tipo mais rápido de transmissão existente converte
um sinal de dados em luz, e um receptor que recebe a luz converte esse sinal novamente em dados. Por
outro lado, pode transmitir grandes quantidades de informação com atenuação muito baixa, mas é caro
para adquirir e manter. Eles são divididos em monomodo que só consegue fornecer um sinal por vez,
menor dispersão e pode ficar muitos quilômetros entre um relé e outro e multimodo
Um livro contemporâneo sobre serviços de rede é "Networking for Systems Administrators" (2017), de
Michael W. Lucas. Esta obra aborda diversos aspectos relacionados à configuração, administração e
manutenção de serviços de rede como DNS, DHCP, FTP, SSH e email. Destina-se especialmente a
administradores de sistemas que necessitam gerenciar e manter infraestruturas de rede.
Um serviço de rede é um conjunto de operações implementadas por um protocolo através de uma
interface e fornecidas à camada superior. Ele define as operações que uma camada pode realizar sem se
preocupar com a execução específica dessas operações. Os serviços podem ser classificados em
orientados à conexão ou não. Os serviços relacionados à família TCP são orientados à conexão, enquanto
os serviços associados à família UDP não possuem essa característica.
Os serviços de rede podem ser divididos em duas categorias principais: serviços orientados à conexão e
serviços sem conexão. Além desses, existem outros tipos de serviços, como DHCP, que atribui
automaticamente um endereço IP válido para cada dispositivo conectado à rede, e DNS, que permite o
uso de strings em vez de endereços IP numéricos para identificar recursos na Internet.
Os serviços orientados à conexão utilizam o protocolo TCP. Antes do envio de dados, ocorre um processo
de handshaking, que estabelece uma conexão confiável entre os hosts. Esse processo prepara o receptor
para a recepção de dados. Durante essa conexão, é possível verificar se todos os pacotes foram
entregues corretamente e, se necessário, solicitar o reenvio de pacotes perdidos. Esse mecanismo
Os serviços sem conexão utilizam o protocolo UDP. Nesse caso, não há um processo de handshaking, o
que significa que não é possível garantir que todos os pacotes cheguem ao destino, pois não se
estabelece uma conexão prévia. Consequentemente, não há criação de um canal seguro para a
transferência de dados. Embora esse método seja mais rápido devido à ausência do processo de
handshaking, ele é menos confiável e não oferece as funcionalidades de controle de fluxo e
gerenciamento de congestionamento presentes no TCP. Exemplos de aplicações que utilizam UDP
incluem vídeo e teleconferências pela Internet.
4. DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Um livro brasileiro atualmente muito utilizado para estudo de desenvolvimento de ferramentas para
comunicação em rede é "Redes de Computadores e a Internet: Uma Abordagem Top-Down" de James F.
Kurose e Keith W. Ross(2010), na sua versão traduzida para o português. Este livro é amplamente no
estudo do tema em redes de computadores no Brasil.
O desenvolvimento de uma ferramenta para comunicação em rede é de extrema importância por várias
razões:
Comunicação Eficiente: Permite a comunicação rápida e eficiente entre diferentes dispositivos, usuários ou
sistemas em uma rede, facilitando a troca de informações, compartilhamento de recursos e colaboração
em tempo real.
Integração de Sistemas: Uma ferramenta de comunicação em rede pode integrar sistemas heterogêneos,
permitindo que eles se comuniquem e compartilhem dados de maneira harmoniosa, melhorando a
interoperabilidade e a eficiência operacional.
Acesso Remoto: Facilita o acesso remoto a recursos e informações, permitindo que usuários acessem
dados ou sistemas de qualquer lugar, a qualquer momento, desde que estejam conectados à rede, o que
aumenta a flexibilidade e a mobilidade.
Colaboração: Promove a colaboração e o trabalho em equipe, possibilitando a comunicação instantânea e
a troca de informações entre colegas, equipes de trabalho ou parceiros de negócios, independentemente
da localização geográfica.
Distribuição de Recursos: Permite a distribuição eficiente de recursos, como impressoras, servidores de
arquivos, bancos de dados e dispositivos de armazenamento, dentro de uma rede, otimizando o uso dos
recursos disponíveis.
Monitoramento e Gerenciamento: Facilita o monitoramento e o gerenciamento de dispositivos, sistemas e
infraestrutura de rede, permitindo a detecção precoce de problemas, manutenção proativa e otimização do
desempenho da rede.
Segurança da Informação: Uma ferramenta de comunicação em rede pode implementar recursos de
segurança, como criptografia, autenticação, controle de acesso e monitoramento de tráfego, para proteger
os dados e garantir a confidencialidade, integridade e disponibilidade das informações.
Inovação e Desenvolvimento Tecnológico: O desenvolvimento contínuo de ferramentas para comunicação
em rede impulsiona a inovação e o desenvolvimento tecnológico, permitindo a criação de novas aplicações
, serviços e soluções que atendam às necessidades em constante evolução dos usuários e organizações.
Em resumo, o desenvolvimento de uma ferramenta para comunicação em rede é essencial para facilitar a
comunicação, promover a colaboração, otimizar o uso de recursos, garantir a segurança da informação e
impulsionar a inovação e o desenvolvimento tecnológico.
6. CONSIDERAÇÕESFINAIS
Neste capítulo, observamos três conceitos principais: Primeiro, um soquete é um ponto de comunicação
usado para transferir dados pela Internet entre aplicações executadas em máquinas diferentes. A
programação de aplicações socket é feita utilizando um conjunto de primitivas, que são funções que
permitem acesso a serviços de transporte e são fornecidas pela camada de transporte. Eles são
comumente usados ??em programação para Internet e pertencem a um grupo de primitivos chamados
Berkeley Sockets.
Essas funções são usadas para programar aplicativos cliente e servidor (embora existam algumas
diferenças de programação entre os dois) e, embora existam muitas, apenas as primitivas básicas
necessárias inicialmente para desenvolver uma aplicação cliente/servidor serão usadas, em segundo lugar
, vemos que a arquitetura TCP/IP é independente da tecnologia usada para transmitir quadros e introduz
dois níveis de endereçamento: IP, que permite o endereçamento de rede, e portas, que permitem o
endereçamento de processos. Por sua vez, os protocolos de aplicação fornecem padronização entre
mensagens trocadas entre clientes e servidores para permitir a interoperabilidade entre produtos de
diferentes fabricantes.
Finalmente, o modelo em camadas fornece uma estratégia comum para múltiplas tecnologias de
transporte, incluindo TCP/IP. Idealmente, o modelo em camadas define que os protocolos da mesma
camada são concorrentes (não são usados ??ao mesmo tempo) e os protocolos de camadas diferentes
são complementares (seus cabeçalhos podem ser empilhados).
REFERÊNCIAS
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed.
Pearson, 2010.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de Computadores: Das LANs
, MANs e WANs às Redes ATM. Editora Campus, 1997. p. 28.
TAROUCO, Liane M. R. Redes de Computadores Locais e de Longa Distância. Editora McGraw-Hill, 1986.
p. 53.
TORRES, G. Redes de Computadores: Das LANs, MANs e WANs às Redes ATM. Axcel Books, 2003.
WHITE, R.; BANKS, E. Computer Networking Problems and Solutions: An Innovative Approach to Building
Resilient, Modern Networks. Wiley, 2020.
ANEXOS
37
=================================================================================
Arquivo 1: 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx (6703 termos)
Arquivo 2: https://www.ieee802.org/3/hssg/public/nov06/diminico_01_1106.pdf (1882 termos)
Termos comuns: 10
Similaridade: 0,11%
O texto abaixo é o conteúdo do documento 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx
(6703 termos)
Os termos em vermelho foram encontrados no documento
https://www.ieee802.org/3/hssg/public/nov06/diminico_01_1106.pdf (1882 termos)
=================================================================================
Sorocaba, SP
2024
SUMARIO
1. OBJETIVO DO TRABALHO4
2. INTRODUÇÃO5
3. REFERENCIAL TEÓRICO7
3.1 SOQUETE DE REDE7
3.2 SOQUETES UDP10
3.3 SOQUETE TCP10
3.4 ARQUITETURA EM CAMADAS12
3.5 CAMADA DE APLICAÇÃO13
3.6 CAMADA DE APRESENTAÇÃO13
3.7 CAMADA DE SESSÃO13
3.8 CAMADA DE TRANSPORTE13
3.9 CAMADA DE REDE14
3.10 CAMADA DE LINK OU MAC14
3.11 CAMADA FÍSICA14
3.12 MODELO ETHERNET14
3.13 PROTOCOLOS15
3.14 FUNÇÕES DO PROTOCOLOS17
3.15 PROTOCOLOS DE CAMADAS18
3.16 PROTOCOLO TCP18
3.17 PROTOCOLO UDP19
3.18 PROTOCOLO HTTP20
3.19 PROTOCOLO HTTPS21
3.20 PROTOCOLO IP22
3.21 PROTOCOLO DE ROTEAMENTO22
3.22 PROTOCOLO FTP22
3.23 HIERARQUIAS DE REDE23
3.24 HARDWARE25
3.25 SWITCHES26
3.26 HUBS26
3.27 ROTEADORES26
3.28 CABEAMENTO ESTRUTURADO27
3.29 PRINCIPAIS NORMAS DE CABEAMENTO27
3.30 TIPOS DE CABEAMENTO28
3.31 CABO COAXIAL28
3.32 CABO PAR TRANÇADO28
3.33 CABO DE FIBRA ÓPTICA29
3.34 SERVIÇOS DE REDE29
3.35 CLASSIFICAÇÃO DE SERVIÇOS29
3.36 SERVIÇOS ORIENTADOS A CONEXÃO30
3.37 SERVIÇOS SEM CONEXÃO:30
4. DESENVOLVIMENTO31
4.1 CÓDIGO DO SERVIDOR31
1. OBJETIVO DO TRABALHO
O relatório deve incluir o uso de primitivos de soquete Berkeley ou componentes derivados deles para
comunicação de dados. Deve abordar todos os elementos utilizados no desenvolvimento do projeto, bem
como o impacto deste trabalho na formação da equipe. Além disso, é importante discutir a
interdisciplinaridade envolvida no projeto devido ao nível de detalhe, funcionalidade, tratamento de erros,
implementação de funcionalidades adicionais e relatórios adicionais no sistema, que serão apresentados
no desenvolvimento.
2. INTRODUÇÃO
O grupo desenvolveu uma ferramenta de comunicação em rede utilizando Java e C#. Camila Goulart
Madosaki as atividades práticas supervisionadas estão estruturadas da seguinte forma. A equipe criou
uma aplicação que permite que duas ou mais pessoas se comuniquem em rede utilizando o protocolo TCP
/IP, ferramenta que será utilizada em situações que envolvem o meio ambiente. O tema escolhido pelo
grupo foi a preservação e sustentabilidade do meio ambiente. Estudo da topologia do sistema. O
documento apresenta uma referência teórica, na qual aborda um extenso sistema de comunicação que
conecta diversas redes de computadores. O sistema de comunicação consistirá de um arranjo topológico
interconectando módulos de processador individuais através de links físicos, dispositivos de transmissão
ou redes de transporte e um conjunto de regras para organizar. Existem muitos dispositivos diferentes em
muitas formas e recursos que podem ser interconectados e compartilhados através de métodos de acesso
, protocolos e requisitos de segurança. Os métodos de comunicação podem ser: linhas telefônicas, cabos,
comunicações via satélite ou sem fio. O objetivo de uma rede de computadores é permitir que os
computadores troquem dados e compartilhem recursos de hardware e software. A classificação dos
tamanhos de rede é: PAN, LAN, MAN, WAN A topologia de uma rede mostra como as máquinas estão
conectadas entre si. De acordo com a topologia, a rede pode ser dividida em: rede ponto a ponto, rede em
estrela, rede em anel e rede em árvore. O cabeamento estruturado refere-se aos vários tipos de cabos
instalados em uma residência ou empresa para distribuição de áudio, vídeo, telefone e dados. Esses fios
costumam ser agrupados, assim como cabos de rede, cabos de áudio de fibra óptica e outras
combinações personalizadas para distribuir itens por todo o ambiente. Cabeamento estruturado é um
termo genérico que inclui várias formas de cabos colocados em uma casa ou escritório para distribuição
de sinais de áudio, vídeo, telefone e dados. Tais fios, normalmente, são postos juntos em grupos, desde
cabos de rede passando por cabos de áudio de fibra óptica e muitas outras combinações personalizadas
que levam os itens a serem distribuídos por todo o ambiente. Um protocolo de comunicação é um acordo
utilizado na comunicação entre duas ou mais partes com o intuito de estabelecer como será a
comunicação entre elas. Simplificando, seria mais ou menos isso: um conjunto de regras. De maneira
simplificada, um protocolo poderia ser definido como regras que "governam" a sintaxe, a semântica e a
sincronia da comunicação. A evolução das ferramentas de comunicação em rede impulsiona inovação e
desenvolvimento tecnológico, permitindo responder a emergentes necessidades dos utilizadores e das
organizações na criação de novas aplicações, serviços e soluções.
3. REFERENCIAL TEÓRICO
"Unix Network Programming" (2003) ou Programação de rede Unix por W. Richard Stevens. Considerado
um clássico na área de programação de redes, este livro fornece uma introdução abrangente ao assunto.
Ele não cobre apenas o uso de soquetes em sistemas Unix, mas também fornece uma compreensão
sólida dos conceitos subjacentes à comunicação em rede. Este livro é conhecido por sua abordagem
prática e clara e exemplos de código detalhados e explicativos. Além disso, "TCP/IP Illustrator" (1994) do
mesmo autor, W. Richard Stevens, é outro livro altamente recomendado para aprender os fundamentos do
protocolo TCP/IP, que é a base das comunicações de rede na Internet. Este livro complementa muito bem
a programação de rede Unix, fornecendo uma compreensão mais profunda dos protocolos de rede.
Ambos os livros são recursos valiosos para estudantes, profissionais de TI e desenvolvedores
interessados em aprender programação de redes e soquetes. Especificamente, na computação, os
soquetes podem ser usados em conexões de rede de computadores para fornecer um link de
comunicação bidirecional entre dois programas. As conexões de soquete tiveram origem em 1980, quando
a agência governamental dos EUA ARPA (Advanced Research Projects Agency) forneceu recursos
financeiros à Universidade da Califórnia, Berkeley, para fornecer uma implementação UNIX do pacote de
protocolo TCP/IP. O produto desenvolvido posteriormente ficou conhecido como Berkeley Sockets
Interface ou simplesmente Berkeley Sockets. Frequentemente recomendado para aprender sobre
soquetes e programação de redes é "Unix Network Programming" de W. Richard Stevens (2003). Este
livro é considerado um clássico no campo da programação de redes e oferece uma cobertura abrangente
sobre o assunto. Os soquetes foram desenvolvidos especificamente para aplicações cliente/servidor, onde
o cliente e o servidor podem estar em máquinas diferentes e se comunicarem através de um protocolo de
transporte, o que significa que quando a aplicação interage com o software do protocolo, ela deve ser
informada que se trata de um cliente ou servidor. Para estabelecer uma conexão, apenas o endereço de
destino e o número da porta são necessários. Existem dois modos de transmissão de soquete: modo
baseado em conexão e modo sem conexão. Os soquetes baseados em conexão funcionam como
telefones: eles estabelecem uma conexão e depois suspendem a conexão. Os soquetes sem conexão
funcionam como correio: a entrega não é garantida e diferentes itens de correio podem chegar em uma
ordem diferente daquela em que foram enviados. A escolha do modo de transporte de soquete dependerá
das necessidades da sua aplicação. Se a confiabilidade for importante, o modo baseado em conexão
deverá ser usado. Por exemplo, um servidor de arquivos precisa que todos os seus dados cheguem ao
usuário na ordem correta. A operação sem conexão será mais rápida e eficiente, mas não há garantia. O
método de conexão adota o protocolo TCP. Um soquete neste modo de operação deve ser conectado ao
destino antes que os dados possam ser transferidos. Quando conectado, o soquete usa a interface de
fluxo: open-read-write-close. Um soquete também é uma abstração computacional que mapeia
diretamente para uma porta de transporte por meio de um protocolo TCP ou UDP e um endereço de rede.
Por sua vez, o soquete se abstrai e pode utilizar qualquer um dos métodos TCP ou UDP já mencionados.
Com este conceito é possível identificar de forma única uma aplicação ou servidor numa rede de
comunicações IP. No documento RFC (Request for Comments) relacionado ao TCP ou UDP, um soquete
em um computador é definido como uma combinação de endereço IP, protocolo e número de porta do
protocolo. Soquetes e RPC possuem a funcionalidade para implementar aplicativos. Funcionalidades de
rede, mas são implementadas de maneiras diferentes, por exemplo, imagine que você precisa desenvolver
uma aplicação de servidor que funcione como uma "sala" de chat. Essencialmente, a aplicação receberá
chamadas do cliente (em uma determinada porta) e então se o cliente enviar uma mensagem, o servidor
enviará essa mensagem para todos os outros clientes.
Ou imagine, por exemplo, que você tem um sensor de temperatura instalado em seu computador e possui
um aplicativo de servidor que controla o sensor, fornecendo informações sobre o clima. A aplicação cliente
pode conectar-se remotamente à aplicação servidora e obter essas informações. Tudo isso pode ser
desenvolvido usando soquetes
Geralmente, há um aplicativo que cria o soquete do servidor e outro aplicativo que implementa o cliente.
Existem dois tipos principais de soquetes: Socket_Stream (também conhecido como TCP) ou SOCK
_DGRAM (também conhecido como UDP). Os soquetes TCP garantem a confiabilidade da comunicação
(entrega de pacotes garantida), enquanto os soquetes UDP não garantem a entrega de pacotes no nível
da camada de transporte)
A comunicação entre processos também pode ocorrer via UDP. No entanto, o UDP é um serviço sem
conexão. O remetente insere explicitamente o endereço IP e a porta do destino no formato IP:porta (por
exemplo: 192.168.0.1:80). O servidor deve extrair o endereço IP e a porta (soquete) do remetente do
datagrama recebido. Os dados recebidos podem ser recebidos fora de ordem ou até mesmo perdidos. Só
então os dados são encaminhados para as camadas superiores, da camada de transporte (protocolo UDP
) para a camada de aplicação (qualquer aplicação).
Esses Datagram Soquete ou DataGrama, por serem UDP, possuem comunicação não orientada à
conexão e não são confiáveis, pois os dados enviados neste tipo podem não chegar ao destino final da
forma como foram enviados, e não há garantia de sua chegada. Streaming de áudio e vídeo sob demanda
e jogos multijogador são exemplos de aplicativos de soquete de datagrama. Neste tipo de transferência, a
perda de pequenas quantidades de dados não traz consequências graves para o processo. Tanto o
Socket UDP quanto o Socket TCP usam o protocolo IP para rotear dados pela rede.
No protocolo TCP, um soquete cria uma conexão de streaming bidirecional entre os endereços 'hostC
:portC' e 'hostS:portS', ou seja, entre a aplicação cliente em execução na máquina 'hostC' e também pode
controlar a porta 'portC' e outro aplicativo de servidor em execução no computador 'hostS', observando a
porta 'portS' de 'hostS'. Sabemos também que o protocolo TCP é orientado à conexão e por isso garante
que os dados enviados do cliente para o servidor cheguem ao seu destino na respectiva porta. Esta forma
de comunicação com soquetes TCP utiliza soquetes de fluxo, que representam uma forma de
comunicação bidirecional confiável e orientada à conexão.
Os dados enviados através deste tipo de Socket estarão seguros e chegarão da mesma forma que foram
enviados, pois o protocolo TCP é responsável por ?entregar? os dados da mesma forma que foram
enviados e sem erros. Por exemplo: os navegadores usam este aplicativo sobre protocolos HTTP, que
normalmente funcionam no soquete 80. Um soquete é uma abstração de um endereço de comunicação
através do qual os processos se comunicam. Cada endereço possui um identificador exclusivo que
consiste no endereço da máquina e no identificador local da porta utilizada pelo processo.
Este identificador de porta é usado para mapear os dados recebidos pela máquina para um processo
(aplicação) específico. O processo de comunicação no modo orientado à conexão é o seguinte: o servidor
é colocado em uma porta específica e aguarda uma conexão com essa porta. O cliente deve saber
antecipadamente o nome IP do servidor e a porta correspondente na qual o servidor está aguardando
conexões.
Conforme na figura 2.
Se não houver problemas, o servidor aceita a conexão gerando um soquete em uma porta livre do lado do
servidor, criando assim um canal de comunicação entre o cliente e o servidor. É importante observar que a
porta original está livre para receber outras solicitações de conexão. A imagem abaixo demonstra o
mesmo canal de comunicação.
O modelo de referência OSI foi criado pela ISO em 1978 para construir sistemas de conexão entre
dispositivos através da padronização de protocolos e padrões, que é um padrão global e modelo
conceitual desde 1984. Este modelo propõe um esquema de trabalho conjunto entre hardware e software
para permitir a comunicação entre dispositivos. No entanto, o modelo OSI é mais teórico do que prático.
livro amplamente recomendado sobre arquitetura em camadas é "Patterns of Enterprise Application
Architecture" (Padrões de Arquitetura de Aplicações Corporativas) de Martin Fowler(2003). Embora o livro
não se concentre exclusivamente na arquitetura em camadas, aborda vários padrões arquiteturais comuns
, incluindo a arquitetura em camadas, e fornece uma compreensão sólida dos princípios e práticas
envolvidos na construção de sistemas de software escaláveis e robustos.
É responsável por definir o formato de troca de dados entre computadores, atuando como conversor de
protocolos, criptografia, compactação de dados, entre outras tarefas.
Uma sessão é um canal de comunicação entre dois aplicativos executados em computadores diferentes. A
camada de sessão é responsável por gerenciar conversas entre aplicações para que elas possam abrir,
usar e fechar sessões. É nesta camada que são executadas as funções de reconhecimento de nomes e
segurança.
É responsável pela integridade dos pacotes de informações e garante uma comunicação confiável. Esta
integridade é conseguida graças ao sinal ACK enviado entre as duas partes (sinal que confirma que a
comunicação ocorreu corretamente, do receptor ao transmissor). O protocolo TCP é executado nesta
camada
É usado para identificar o endereço de um sistema em uma rede e realmente transferir dados. A camada
de rede deve conhecer o meio físico da rede e empacotar as informações de forma que a camada de
enlace possa enviá-las para a camada física. Em muitas redes, esta camada não verifica a integridade da
informação, apenas a encapsula.
É utilizado para definir como a informação é transmitida através da camada física e garante o bom
funcionamento desta camada. Se houver erros na transmissão de informações no meio físico, como cabos
danificados ou colisões de dados, a camada MAC deverá tratar esses erros ou comunicá-los às camadas
superiores.
Consiste em hardware como cabos, fibras ópticas e conectores usados ??para conectar diferentes
sistemas de rede. Nesta camada, as informações são codificadas na forma de sinais elétricos
Um livro recomendado sobre o modelo Ethernet é "Ethernet: The Definitive Guide" (2000) de Charles E.
Spurgeon. Este livro fornece uma visão geral abrangente da tecnologia Ethernet, incluindo seu histórico,
capacidades, padrões e protocolos relacionados. As redes Ethernet podem transportar até 1.500 bytes de
dados. Portanto, o sistema operacional configura automaticamente o protocolo IP para criar um datagrama
de 1.500 bytes em vez de 65.535 bytes (o tamanho real do datagrama é 1.497 porque a camada LLC usa
3 ou 5 bytes para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, o que equivale à
Interface de Rede do modelo TCP/IP. Sobre o modelo Ethernet é "Ethernet: The Definitive Guide" de
Charles E. Spurgeon(2000). Este livro oferece uma visão abrangente da tecnologia Ethernet, incluindo sua
história, funcionamento, padrões e protocolos associados. A camada LLC (Logical Link Control) é
responsável por adicionar informações sobre qual protocolo da camada Internet é responsável pela
geração dos dados. Desta forma, durante o processo de recepção de dados, o computador receptor pode
saber qual protocolo deve ser utilizado na camada Internet para receber os dados. A camada MAC (Media
Access Control) é responsável pela montagem dos frames que serão enviados para a rede. Esta camada
é responsável por adicionar os endereços MAC de origem e destino ao pacote (o endereço físico da placa
de rede). Quando os pacotes são enviados para uma rede diferente da rede local, o endereço MAC
inserido como destino será o endereço MAC do roteador a ser usado. Os protocolos que definem esta
camada são IEEE 802.3 (para redes com cabos físicos) e IEEE 802.11 (no caso de redes sem fio). A
camada física é a camada mais baixa do modelo TCP/IP. É responsável por converter os frames gerados
pela camada MAC em sinais elétricos (para redes com cabos físicos) ou sinais eletromagnéticos (para
redes sem fio). No IEEE, a camada física é definida pelo mesmo protocolo da camada MAC. Segundo
BEZERA (2008), o padrão Ethernet especifica a camada de enlace e a camada física. No final do
empacotamento, os dados conterão cabeçalhos para todas as camadas do modelo TCP/IP, bem como
cabeçalhos para a subcamada Ethernet.
3.13 PROTOCOLOS
Os protocolos de rede desempenham diversas funções essenciais para garantir a comunicação eficiente
entre dispositivos. Uma dessas funções é a fragmentação dos dados a serem transmitidos em pequenos
pedaços chamados pacotes. Cada pacote contém informações de endereçamento que especificam a
origem e o destino. Este protocolo organiza as fases de estabelecimento, controle, fluxo e encerramento
da troca de informações.
As funções específicas dos protocolos variam conforme a camada do modelo OSI, mas algumas funções
podem ser executadas em múltiplas camadas, ainda que com diferentes contextos e objetivos (MPR/JAR,
2003).
As principais funções dos protocolos incluem:
Endereçamento: Especificação clara do ponto de destino da mensagem.
Estabelecimento: Criação de um canal lógico fechado entre a fonte e o destino.
Numeração e Sequência: Individualização de cada mensagem por meio de números sequenciais.
Confirmação de Recepção: Garantia de que o destinatário recebeu a mensagem, com ou sem erro.
Controle de Erro: Detecção e correção de erros na transmissão.
Retransmissão: Reenvio de mensagens em caso de falha na recepção.
O conjunto de protocolos utilizados para comunicação entre computadores pela Internet, também
conhecido como conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo norte-
americano para permitir a comunicação entre diferentes redes constituídas por diversos tipos de
computadores. A família de protocolos TCP/IP é particularmente popular porque não pertence a nenhum
fornecedor específico. Portanto, é amplamente apoiado pelo mercado
TCP significa Transmission Control Protocol e refere-se ao sistema mais comum para envio de pacotes na
Internet. Quando você visita um site, seu computador envia dados para o servidor, solicitando que o
servidor envie o conteúdo da página para a máquina que você está usando ? as informações enviadas de
volta são ?emendadas? pelo navegador para exibir o que você deseja
Segundo Scrimger et al., as principais características do TCP são: (2 002) são a transferência de dados,
robustez, controle de fluxo, multiplexação, conexões lógicas e o fato de ser full duplex.
Streaming de dados: o aplicativo pode confirmar se todos os segmentos de dados transmitidos pelo TCP
atingiram o destino esperado e informar se a operação foi bem-sucedida
Robustez: Se os segmentos chegarem fora de ordem, o TCP do receptor irá agrupá-los
Controle de fluxo: O receptor envia uma mensagem confirmando o recebimento ao receber um segmento
Multiplex: uso paralelo das portas de comunicação
Conexão lógica: Identificada pelos processos de envio e recebimento, através de uma combinação de
mecanismos TCP
Full duplex: os dados podem ser transmitidos em ambas as direções simultaneamente
O TCP também emprega seu próprio sistema de numeração para garantir que os pacotes enviados
cheguem ao seu destino na ordem correta. Caso o pacote não seja recebido corretamente pelo receptor, a
informação é enviada novamente até chegar ao seu destino com segurança ? e o mais importante, há
uma verificação de erros para garantir que nenhuma informação foi corrompida durante a transmissão
É exatamente isso que se destaca neste protocolo: confiabilidade. Graças ao TCP, os downloads que você
faz não são corrompidos por flutuações na velocidade da conexão, e as páginas visitadas pelo navegador
raramente carregam algum elemento acidentalmente ? a menos, é claro, que uma das máquinas seja
usada para trocar dados no processo. estiver temporariamente off-line, você receberá uma mensagem de
erro e não poderá acessar o conteúdo desejado.
UDP (User Datagram Protocol) é o ?irmão? do protocolo TCP e também se baseia no envio de pacotes de
informações, mas elimina todas as partes de verificação de erros das outras tecnologias. O objetivo desta
opção é acelerar o processo de envio de dados, pois todas as etapas de comunicação necessárias para
verificar a integridade do pacote (e reenviar o pacote, se necessário) causam lentidão.
Quando o protocolo UDP é ativado, ele simplesmente envia as informações para o receptor sem se
preocupar se as informações foram recebidas corretamente - caso ocorra um erro, o próximo pacote
programado pelo sistema simplesmente será enviado, e o pacote anterior não será capaz recuperar.
Embora este método de operação aumente o risco de erros, garante uma comunicação rápida entre os
dois computadores.
Pelas suas características, este protocolo é amplamente utilizado em situações onde a correção de erros
não é totalmente necessária. Por exemplo, durante a transmissão de um vídeo ao vivo, é mais
interessante que uma pessoa perca certas partes ou tenha que lidar com distorções de imagem e áudio do
que esperar para receber um pacote perdido ? o que pode acabar com o fator ?tempo?. . real".
O protocolo UDP fornece um serviço de entrega sem conexão e não é confiável ao usar IP para transmitir
datagramas entre máquinas( COMER,2006)
O UDP também é amplamente utilizado em jogos online ? se você perder alguns pacotes, o personagem
da outra parte pode ?teletransportar-se? para a tela, mas você não tem motivo para receber os dados
perdidos porque o jogo continuará mesmo que eles não cheguem para você . O que importa é o que está
acontecendo agora, não o que aconteceu há poucos minutos, então não faz sentido confiar na verificação
de erros, que só aumentará a latência para os participantes.
HTTP é um protocolo da camada de aplicação que usa a porta de rede 80. Permite a transmissão de
dados na forma de texto simples, hipertexto, áudio, vídeo, etc. É utilizado em ambientes onde há uma
transição rápida de um documento para outro, como uma página da Internet. Este protocolo possui
características semelhantes aos protocolos FTP e SMTP e permite a transferência de arquivos utilizando
serviços TCP. Porém, é muito mais simples que o FTP, usando apenas uma conexão TCP, porta 80.
Através desta porta, os dados são transmitidos entre o cliente e o servidor
As mensagens HTTP não estão diretamente disponíveis aos usuários. Eles são interpretados pelo cliente
HTTP ? o navegador. A ideia do HTTP é que o cliente envie uma solicitação ao servidor na forma de uma
mensagem, e o servidor envie uma resposta ao cliente na forma de uma mensagem.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) é uma extensão do protocolo HTTP usado para
comunicação segura na World Wide Web. Ele utiliza uma combinação de criptografia SSL/TLS para
garantir a confidencialidade e integridade dos dados transmitidos entre o cliente (geralmente um
navegador da web) e o servidor web.
Quando uma conexão HTTPS é estabelecida, o servidor web envia um certificado digital para o cliente,
que contém uma chave pública. O cliente usa essa chave pública para criptografar uma chave de sessão
simétrica, que é então enviada de volta ao servidor. A partir desse ponto, a comunicação entre o cliente e
o servidor é criptografada usando essa chave de sessão.
O HTTPS oferece várias vantagens sobre o HTTP tradicional, incluindo:
1.Segurança dos dados: A criptografia SSL/TLS protege os dados durante a transmissão, impedindo que
terceiros interceptem ou modifiquem as informações transmitidas.
2.Autenticação do servidor: O uso de certificados digitais permite que o cliente verifique a identidade do
servidor, garantindo que este seja realmente quem afirma ser.
3.Integridade dos dados: Os dados transmitidos por meio do HTTPS são protegidos contra alterações não
autorizadas durante a transmissão.
4.Confiança do usuário: A presença do cadeado verde e do "https://" na barra de endereço do navegador
transmite confiança aos usuários, indicando que a conexão é segura.
O uso do HTTPS é essencial para proteger informações sensíveis, como dados de login, informações de
pagamento e outras informações pessoais dos usuários durante a comunicação na web. Nos dias de hoje,
é amplamente adotado e incentivado por organizações e empresas em todo o mundo.
3.20 PROTOCOLO IP
Este protocolo é responsável por endereçar o pacote para transmissão, adicionando um cabeçalho,
permitindo que o pacote seja roteado pela rede até ser entregue ao destino correto. Os pacotes IP contêm
o endereço IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar
erros e um TTL (informação em segundos) sobre quanto tempo um pacote pode permanecer na rede para
evitar loops infinitos de tráfego). Slinger et al. (2002, p. 107) Um endereço IP é semelhante ao endereço
que você usa para enviar e-mail. ?O endereço deve conter todos os dados necessários para a entrega.
Caso contrário, a carta não chegará ao destino correto.
O roteamento de pacotes pode ser estático ou dinâmico. Em pequenas redes locais, é utilizado o
roteamento estático, o que significa que o caminho que um datagrama percorre para chegar ao seu
destino é sempre o mesmo. Na Internet, o roteamento é dinâmico, o que significa que os roteadores
podem alterar a rota de um pacote a qualquer momento se um caminho melhor para o destino estiver
disponível. A melhor rota é aquela que requer menos saltos (roteadores intermediários), mas rotas mais
curtas não são necessariamente mais rápidas.
O protocolo FTP é usado para acessar arquivos remotos na Web, bem como no servidor de arquivos local
de uma empresa. Quando baixamos arquivos, geralmente usamos o protocolo FTP. Também pode ser
usado para fazer upload de arquivos do seu computador para a web. O protocolo FTP permite transferir
arquivos pela Internet. Existem vários programas gratuitos na Internet que fornecem serviços FTP. Com
ele você pode transferir arquivos, autenticar usuários e gerenciar arquivos e diretórios, segundo Falbriard
(2002), os protocolos utilizados nas redes de comunicação definem conjuntos de regras que coordenam e
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks"(2020) de Russ White e Ethan Banks. Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas.
Como você viu, um protocolo é um conjunto de regras sobre como ocorre a comunicação entre as partes.
Para reduzir a complexidade de um projeto, a maioria das redes foi organizada em uma série de níveis ou
camadas e colocadas dentro de um nível. O número, nome, conteúdo e funcionalidade de cada camada
variam de rede para rede. Entretanto, em todas as redes, o objetivo de cada camada é fornecer
determinados serviços às camadas superiores.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas
A camada N de uma máquina se comunica com a camada N de outra máquina. Para isso, baseia-se em
um conjunto de convenções e regras que permitem gerenciar essa comunicação, o que é denominado
protocolo de camada N, ou protocolo N, abreviadamente.
Em máquinas diferentes, entidades na mesma camada são chamadas de "pares." Esses pares se
comunicam utilizando um protocolo específico. Contudo, os dados não são transferidos diretamente entre
os pares devido à ausência de um meio físico direto entre eles. Cada camada transmite os dados para a
camada imediatamente inferior até alcançar a camada final. Na última camada, a comunicação é realizada
através do hardware da rede, que é o meio físico de transmissão de dados. Em cada par, existe uma
interface que define as operações e serviços que a camada inferior deve fornecer à camada superior
adjacente.
A arquitetura de rede consiste em uma coleção de camadas que formam a estrutura da rede. A
especificação arquitetônica deve conter informações suficientes para permitir o desenvolvimento correto
da rede, tanto do ponto de vista de software quanto de hardware. No entanto, os detalhes de
implementação de cada camada e a especificação detalhada da interface não fazem parte da definição da
arquitetura da rede; em vez disso, é um conjunto de regras que controla o formato e o significado das
informações trocadas pelas entidades pares dentro de uma camada. As entidades utilizam protocolos para
implementar suas definições de serviço e têm a liberdade de modificar seus protocolos, desde que não
alterem os serviços visíveis aos seus usuários.
3.24 HARDWARE
Um livro atual sobre hardware de redes de computadores é "Computer Networking Problems and Solutions
: An innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este
livro oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando
questões de projeto, operação e solução de problemas em redes hierárquicas
Hardware de rede, ou equipamento de rede, refere-se ao equipamento que facilita e suporta a utilização
de redes de computadores, ou seja, o meio físico necessário à comunicação entre os diversos
componentes participantes da rede.
Switches;
Roteadores;
Concentradores;
Repetidores;
Adaptadores de rede;
Modem;
Gateway;
Bridge;
Firewall;
Pontos de acesso sem fio;
Entre outros hardwares relacionados
3.25 SWITCHES
Um switch é um dispositivo usado para encaminhar pacotes de dados entre diferentes nós. Possuem
portas semelhantes a um hub (concentrador), a principal diferença é que o switch segmenta a rede
internamente, pois cada porta corresponde a um domínio de colisão diferente, eliminando assim colisões
entre pacotes vindos de diferentes segmentos de rede.
3.26 HUBS
3.27 ROTEADORES
Um roteador é um dispositivo que encaminha pacotes de dados entre redes de computadores, criando um
conjunto de redes sobrepostas. Os roteadores se conectam a duas ou mais linhas de dados de redes
diferentes. Os roteadores têm muitas funções, mas a mais comum que todos conhecem é a possibilidade
de conexões sem fio. As redes sem fio são amplamente utilizadas hoje em dia porque são mais práticas.
Sua principal desvantagem está relacionada ao hacking, pois os hackers podem ver onde existe a rede
sem fio e, portanto, comprometer facilmente a rede e os computadores que possam estar conectados a ela
.
O cabeamento estruturado é uma abordagem padronizada para cabeamento de rede que leva em
consideração padrões de segurança (como ANSI e EIA/TIA), melhores práticas e melhor utilização dos
recursos do equipamento, permitindo o redirecionamento através de diferentes caminhos dentro da
mesma estrutura de cabeamento para rotear os fios. entre diferentes pontos. A comunicação é uma das
principais características do cabeamento estruturado, conceito que surgiu nos serviços técnicos de voz,
mas, graças à sua ampla adoção por empresas e organizações criadas por meio da padronização,
rapidamente se tornou a solução para os mais diversos serviços de dados.
A maioria dos padrões são internacionais, por isso são desenvolvidos por instituições e associações
respeitáveis, como IEEE (Instituto de Engenheiros Elétricos e Eletrônicos), TIA (Associação da Indústria de
Telecomunicações) e EIA (Associação da Indústria Eletrônica).
ANSI/TIA/EIA-1005 ? Telecommunications Infrastructure Standard for Industrial Premises;
ANSI/TIA-606-A ? Admi nistration Standard for Commercial Telecommunications Infrastructure;
ANSI/TIA-607-B ? Telecommunications Grounding (Earthing) and Bonding for Customer Premises;
ANSI/TIA-758-A ? Customer-Owned Outside Plant Telecommunications Infrastructure Standard;
ANSI/TIA-862 ? Building Automation Systems Cabling Standard for Commercial Buildings;
IEEE-100BASE-TX ? Fast Ethernet;
TIA 569 -B ? Commercial Building Standard for Telecommunications Pathways and Spaces;
TIA/EIA-568-C.0 ? Generic Telecommunications C abling for Customer Premises;
TIA/EIA-568-C.3 ? Optical Fiber Cabling Components Standard.
TIA-942 ? Telecommunications Infrastructure Standard for Data Center;
Todos esses padrões definem o tipo de cabo utilizado, bem como os limites e requisitos
(distância, segmentos, frequência etc.) que a estrutura deve atender para garantir o
funcionamento adequado.
Os mais comuns que utilizamos hoje são os cabos trançados e de fibra óptica, que são escolhidos com
base nos objetivos do negócio, ou seja, o tipo de rede com a qual estamos lidando.
Consiste em fio de cobre condutor coberto com material isolante e rodeado por uma camada de blindagem
. Utilize conectores BNC. Apesar da sua capacidade de reduzir o impacto de influências e sinais externos
nos sinais que transmite, caiu em desuso e só existe em algumas redes mais antigas por serem mais
propensas a maus contactos, terem conectores mais caros e serem menos flexíveis.
O cabo de par trançado é sem dúvida o cabo mais conhecido e ?masterizado? entre os especialistas em
TI, principalmente por ser o cabo utilizado para implementação de redes há muitos anos. Uma de suas
maiores vantagens é o baixo custo e a facilidade de aquisição de produtos prontos ou sob medida.
Os cabos de fibra óptica são projetados para atender tecnologias mais modernas e oferecem uma série de
vantagens, a começar pelo fato das fibras ópticas serem imunes a interferências eletromagnéticas e, claro
, pela capacidade de transmitir dados em altas taxas. O tipo mais rápido de transmissão existente converte
um sinal de dados em luz, e um receptor que recebe a luz converte esse sinal novamente em dados. Por
outro lado, pode transmitir grandes quantidades de informação com atenuação muito baixa, mas é caro
para adquirir e manter. Eles são divididos em monomodo que só consegue fornecer um sinal por vez,
menor dispersão e pode ficar muitos quilômetros entre um relé e outro e multimodo
Um livro contemporâneo sobre serviços de rede é "Networking for Systems Administrators" (2017), de
Michael W. Lucas. Esta obra aborda diversos aspectos relacionados à configuração, administração e
manutenção de serviços de rede como DNS, DHCP, FTP, SSH e email. Destina-se especialmente a
administradores de sistemas que necessitam gerenciar e manter infraestruturas de rede.
Um serviço de rede é um conjunto de operações implementadas por um protocolo através de uma
interface e fornecidas à camada superior. Ele define as operações que uma camada pode realizar sem se
preocupar com a execução específica dessas operações. Os serviços podem ser classificados em
orientados à conexão ou não. Os serviços relacionados à família TCP são orientados à conexão, enquanto
os serviços associados à família UDP não possuem essa característica.
Os serviços de rede podem ser divididos em duas categorias principais: serviços orientados à conexão e
serviços sem conexão. Além desses, existem outros tipos de serviços, como DHCP, que atribui
automaticamente um endereço IP válido para cada dispositivo conectado à rede, e DNS, que permite o
uso de strings em vez de endereços IP numéricos para identificar recursos na Internet.
Os serviços orientados à conexão utilizam o protocolo TCP. Antes do envio de dados, ocorre um processo
de handshaking, que estabelece uma conexão confiável entre os hosts. Esse processo prepara o receptor
para a recepção de dados. Durante essa conexão, é possível verificar se todos os pacotes foram
entregues corretamente e, se necessário, solicitar o reenvio de pacotes perdidos. Esse mecanismo
garante uma transmissão de dados confiável. Adicionalmente, o controle de fluxo e o gerenciamento de
congestionamento são realizados para assegurar que o receptor não seja sobrecarregado e que a rede
não sofra com congestionamentos.
Os serviços sem conexão utilizam o protocolo UDP. Nesse caso, não há um processo de handshaking, o
que significa que não é possível garantir que todos os pacotes cheguem ao destino, pois não se
estabelece uma conexão prévia. Consequentemente, não há criação de um canal seguro para a
transferência de dados. Embora esse método seja mais rápido devido à ausência do processo de
handshaking, ele é menos confiável e não oferece as funcionalidades de controle de fluxo e
gerenciamento de congestionamento presentes no TCP. Exemplos de aplicações que utilizam UDP
incluem vídeo e teleconferências pela Internet.
4. DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Um livro brasileiro atualmente muito utilizado para estudo de desenvolvimento de ferramentas para
comunicação em rede é "Redes de Computadores e a Internet: Uma Abordagem Top-Down" de James F.
Kurose e Keith W. Ross(2010), na sua versão traduzida para o português. Este livro é amplamente no
estudo do tema em redes de computadores no Brasil.
O desenvolvimento de uma ferramenta para comunicação em rede é de extrema importância por várias
razões:
Comunicação Eficiente: Permite a comunicação rápida e eficiente entre diferentes dispositivos, usuários ou
sistemas em uma rede, facilitando a troca de informações, compartilhamento de recursos e colaboração
em tempo real.
Integração de Sistemas: Uma ferramenta de comunicação em rede pode integrar sistemas heterogêneos,
permitindo que eles se comuniquem e compartilhem dados de maneira harmoniosa, melhorando a
interoperabilidade e a eficiência operacional.
Acesso Remoto: Facilita o acesso remoto a recursos e informações, permitindo que usuários acessem
dados ou sistemas de qualquer lugar, a qualquer momento, desde que estejam conectados à rede, o que
aumenta a flexibilidade e a mobilidade.
Colaboração: Promove a colaboração e o trabalho em equipe, possibilitando a comunicação instantânea e
a troca de informações entre colegas, equipes de trabalho ou parceiros de negócios, independentemente
da localização geográfica.
Distribuição de Recursos: Permite a distribuição eficiente de recursos, como impressoras, servidores de
arquivos, bancos de dados e dispositivos de armazenamento, dentro de uma rede, otimizando o uso dos
recursos disponíveis.
Monitoramento e Gerenciamento: Facilita o monitoramento e o gerenciamento de dispositivos, sistemas e
infraestrutura de rede, permitindo a detecção precoce de problemas, manutenção proativa e otimização do
desempenho da rede.
Segurança da Informação: Uma ferramenta de comunicação em rede pode implementar recursos de
segurança, como criptografia, autenticação, controle de acesso e monitoramento de tráfego, para proteger
os dados e garantir a confidencialidade, integridade e disponibilidade das informações.
Inovação e Desenvolvimento Tecnológico: O desenvolvimento contínuo de ferramentas para comunicação
em rede impulsiona a inovação e o desenvolvimento tecnológico, permitindo a criação de novas aplicações
, serviços e soluções que atendam às necessidades em constante evolução dos usuários e organizações.
Em resumo, o desenvolvimento de uma ferramenta para comunicação em rede é essencial para facilitar a
comunicação, promover a colaboração, otimizar o uso de recursos, garantir a segurança da informação e
impulsionar a inovação e o desenvolvimento tecnológico.
6. CONSIDERAÇÕESFINAIS
Neste capítulo, observamos três conceitos principais: Primeiro, um soquete é um ponto de comunicação
usado para transferir dados pela Internet entre aplicações executadas em máquinas diferentes. A
programação de aplicações socket é feita utilizando um conjunto de primitivas, que são funções que
permitem acesso a serviços de transporte e são fornecidas pela camada de transporte. Eles são
comumente usados ??em programação para Internet e pertencem a um grupo de primitivos chamados
Berkeley Sockets.
Essas funções são usadas para programar aplicativos cliente e servidor (embora existam algumas
diferenças de programação entre os dois) e, embora existam muitas, apenas as primitivas básicas
necessárias inicialmente para desenvolver uma aplicação cliente/servidor serão usadas, em segundo lugar
, vemos que a arquitetura TCP/IP é independente da tecnologia usada para transmitir quadros e introduz
dois níveis de endereçamento: IP, que permite o endereçamento de rede, e portas, que permitem o
endereçamento de processos. Por sua vez, os protocolos de aplicação fornecem padronização entre
mensagens trocadas entre clientes e servidores para permitir a interoperabilidade entre produtos de
diferentes fabricantes.
Finalmente, o modelo em camadas fornece uma estratégia comum para múltiplas tecnologias de
transporte, incluindo TCP/IP. Idealmente, o modelo em camadas define que os protocolos da mesma
camada são concorrentes (não são usados ??ao mesmo tempo) e os protocolos de camadas diferentes
são complementares (seus cabeçalhos podem ser empilhados).
REFERÊNCIAS
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed.
Pearson, 2010.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de Computadores: Das LANs
, MANs e WANs às Redes ATM. Editora Campus, 1997. p. 28.
TAROUCO, Liane M. R. Redes de Computadores Locais e de Longa Distância. Editora McGraw-Hill, 1986.
p. 53.
TORRES, G. Redes de Computadores: Das LANs, MANs e WANs às Redes ATM. Axcel Books, 2003.
WHITE, R.; BANKS, E. Computer Networking Problems and Solutions: An Innovative Approach to Building
Resilient, Modern Networks. Wiley, 2020.
ANEXOS
37
=================================================================================
Arquivo 1: 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx (6703 termos)
Arquivo 2: https://tiaonline.org/products-and-services/tia942certification/ansi-tia-942-standard (607 termos)
Termos comuns: 5
Similaridade: 0,06%
O texto abaixo é o conteúdo do documento 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx
(6703 termos)
Os termos em vermelho foram encontrados no documento https://tiaonline.org/products-and-
services/tia942certification/ansi-tia-942-standard (607 termos)
=================================================================================
Sorocaba, SP
2024
SUMARIO
1. OBJETIVO DO TRABALHO4
2. INTRODUÇÃO5
3. REFERENCIAL TEÓRICO7
3.1 SOQUETE DE REDE7
3.2 SOQUETES UDP10
3.3 SOQUETE TCP10
3.4 ARQUITETURA EM CAMADAS12
3.5 CAMADA DE APLICAÇÃO13
3.6 CAMADA DE APRESENTAÇÃO13
3.7 CAMADA DE SESSÃO13
3.8 CAMADA DE TRANSPORTE13
3.9 CAMADA DE REDE14
3.10 CAMADA DE LINK OU MAC14
3.11 CAMADA FÍSICA14
3.12 MODELO ETHERNET14
3.13 PROTOCOLOS15
3.14 FUNÇÕES DO PROTOCOLOS17
3.15 PROTOCOLOS DE CAMADAS18
3.16 PROTOCOLO TCP18
3.17 PROTOCOLO UDP19
3.18 PROTOCOLO HTTP20
3.19 PROTOCOLO HTTPS21
3.20 PROTOCOLO IP22
3.21 PROTOCOLO DE ROTEAMENTO22
3.22 PROTOCOLO FTP22
3.23 HIERARQUIAS DE REDE23
3.24 HARDWARE25
3.25 SWITCHES26
3.26 HUBS26
3.27 ROTEADORES26
3.28 CABEAMENTO ESTRUTURADO27
3.29 PRINCIPAIS NORMAS DE CABEAMENTO27
3.30 TIPOS DE CABEAMENTO28
3.31 CABO COAXIAL28
3.32 CABO PAR TRANÇADO28
3.33 CABO DE FIBRA ÓPTICA29
3.34 SERVIÇOS DE REDE29
3.35 CLASSIFICAÇÃO DE SERVIÇOS29
3.36 SERVIÇOS ORIENTADOS A CONEXÃO30
3.37 SERVIÇOS SEM CONEXÃO:30
4. DESENVOLVIMENTO31
4.1 CÓDIGO DO SERVIDOR31
1. OBJETIVO DO TRABALHO
O relatório deve incluir o uso de primitivos de soquete Berkeley ou componentes derivados deles para
comunicação de dados. Deve abordar todos os elementos utilizados no desenvolvimento do projeto, bem
como o impacto deste trabalho na formação da equipe. Além disso, é importante discutir a
interdisciplinaridade envolvida no projeto devido ao nível de detalhe, funcionalidade, tratamento de erros,
implementação de funcionalidades adicionais e relatórios adicionais no sistema, que serão apresentados
no desenvolvimento.
2. INTRODUÇÃO
O grupo desenvolveu uma ferramenta de comunicação em rede utilizando Java e C#. Camila Goulart
Madosaki as atividades práticas supervisionadas estão estruturadas da seguinte forma. A equipe criou
uma aplicação que permite que duas ou mais pessoas se comuniquem em rede utilizando o protocolo TCP
/IP, ferramenta que será utilizada em situações que envolvem o meio ambiente. O tema escolhido pelo
grupo foi a preservação e sustentabilidade do meio ambiente. Estudo da topologia do sistema. O
documento apresenta uma referência teórica, na qual aborda um extenso sistema de comunicação que
conecta diversas redes de computadores. O sistema de comunicação consistirá de um arranjo topológico
interconectando módulos de processador individuais através de links físicos, dispositivos de transmissão
ou redes de transporte e um conjunto de regras para organizar. Existem muitos dispositivos diferentes em
muitas formas e recursos que podem ser interconectados e compartilhados através de métodos de acesso
, protocolos e requisitos de segurança. Os métodos de comunicação podem ser: linhas telefônicas, cabos,
comunicações via satélite ou sem fio. O objetivo de uma rede de computadores é permitir que os
computadores troquem dados e compartilhem recursos de hardware e software. A classificação dos
tamanhos de rede é: PAN, LAN, MAN, WAN A topologia de uma rede mostra como as máquinas estão
conectadas entre si. De acordo com a topologia, a rede pode ser dividida em: rede ponto a ponto, rede em
estrela, rede em anel e rede em árvore. O cabeamento estruturado refere-se aos vários tipos de cabos
instalados em uma residência ou empresa para distribuição de áudio, vídeo, telefone e dados. Esses fios
costumam ser agrupados, assim como cabos de rede, cabos de áudio de fibra óptica e outras
combinações personalizadas para distribuir itens por todo o ambiente. Cabeamento estruturado é um
termo genérico que inclui várias formas de cabos colocados em uma casa ou escritório para distribuição
de sinais de áudio, vídeo, telefone e dados. Tais fios, normalmente, são postos juntos em grupos, desde
cabos de rede passando por cabos de áudio de fibra óptica e muitas outras combinações personalizadas
que levam os itens a serem distribuídos por todo o ambiente. Um protocolo de comunicação é um acordo
utilizado na comunicação entre duas ou mais partes com o intuito de estabelecer como será a
comunicação entre elas. Simplificando, seria mais ou menos isso: um conjunto de regras. De maneira
simplificada, um protocolo poderia ser definido como regras que "governam" a sintaxe, a semântica e a
sincronia da comunicação. A evolução das ferramentas de comunicação em rede impulsiona inovação e
desenvolvimento tecnológico, permitindo responder a emergentes necessidades dos utilizadores e das
organizações na criação de novas aplicações, serviços e soluções.
3. REFERENCIAL TEÓRICO
"Unix Network Programming" (2003) ou Programação de rede Unix por W. Richard Stevens. Considerado
um clássico na área de programação de redes, este livro fornece uma introdução abrangente ao assunto.
Ele não cobre apenas o uso de soquetes em sistemas Unix, mas também fornece uma compreensão
sólida dos conceitos subjacentes à comunicação em rede. Este livro é conhecido por sua abordagem
prática e clara e exemplos de código detalhados e explicativos. Além disso, "TCP/IP Illustrator" (1994) do
mesmo autor, W. Richard Stevens, é outro livro altamente recomendado para aprender os fundamentos do
protocolo TCP/IP, que é a base das comunicações de rede na Internet. Este livro complementa muito bem
a programação de rede Unix, fornecendo uma compreensão mais profunda dos protocolos de rede.
Ambos os livros são recursos valiosos para estudantes, profissionais de TI e desenvolvedores
interessados em aprender programação de redes e soquetes. Especificamente, na computação, os
soquetes podem ser usados em conexões de rede de computadores para fornecer um link de
comunicação bidirecional entre dois programas. As conexões de soquete tiveram origem em 1980, quando
a agência governamental dos EUA ARPA (Advanced Research Projects Agency) forneceu recursos
financeiros à Universidade da Califórnia, Berkeley, para fornecer uma implementação UNIX do pacote de
protocolo TCP/IP. O produto desenvolvido posteriormente ficou conhecido como Berkeley Sockets
Interface ou simplesmente Berkeley Sockets. Frequentemente recomendado para aprender sobre
soquetes e programação de redes é "Unix Network Programming" de W. Richard Stevens (2003). Este
livro é considerado um clássico no campo da programação de redes e oferece uma cobertura abrangente
sobre o assunto. Os soquetes foram desenvolvidos especificamente para aplicações cliente/servidor, onde
o cliente e o servidor podem estar em máquinas diferentes e se comunicarem através de um protocolo de
transporte, o que significa que quando a aplicação interage com o software do protocolo, ela deve ser
informada que se trata de um cliente ou servidor. Para estabelecer uma conexão, apenas o endereço de
destino e o número da porta são necessários. Existem dois modos de transmissão de soquete: modo
baseado em conexão e modo sem conexão. Os soquetes baseados em conexão funcionam como
telefones: eles estabelecem uma conexão e depois suspendem a conexão. Os soquetes sem conexão
funcionam como correio: a entrega não é garantida e diferentes itens de correio podem chegar em uma
ordem diferente daquela em que foram enviados. A escolha do modo de transporte de soquete dependerá
das necessidades da sua aplicação. Se a confiabilidade for importante, o modo baseado em conexão
deverá ser usado. Por exemplo, um servidor de arquivos precisa que todos os seus dados cheguem ao
usuário na ordem correta. A operação sem conexão será mais rápida e eficiente, mas não há garantia. O
método de conexão adota o protocolo TCP. Um soquete neste modo de operação deve ser conectado ao
destino antes que os dados possam ser transferidos. Quando conectado, o soquete usa a interface de
fluxo: open-read-write-close. Um soquete também é uma abstração computacional que mapeia
diretamente para uma porta de transporte por meio de um protocolo TCP ou UDP e um endereço de rede.
Por sua vez, o soquete se abstrai e pode utilizar qualquer um dos métodos TCP ou UDP já mencionados.
Com este conceito é possível identificar de forma única uma aplicação ou servidor numa rede de
comunicações IP. No documento RFC (Request for Comments) relacionado ao TCP ou UDP, um soquete
em um computador é definido como uma combinação de endereço IP, protocolo e número de porta do
protocolo. Soquetes e RPC possuem a funcionalidade para implementar aplicativos. Funcionalidades de
rede, mas são implementadas de maneiras diferentes, por exemplo, imagine que você precisa desenvolver
uma aplicação de servidor que funcione como uma "sala" de chat. Essencialmente, a aplicação receberá
chamadas do cliente (em uma determinada porta) e então se o cliente enviar uma mensagem, o servidor
enviará essa mensagem para todos os outros clientes.
Ou imagine, por exemplo, que você tem um sensor de temperatura instalado em seu computador e possui
um aplicativo de servidor que controla o sensor, fornecendo informações sobre o clima. A aplicação cliente
pode conectar-se remotamente à aplicação servidora e obter essas informações. Tudo isso pode ser
desenvolvido usando soquetes
Geralmente, há um aplicativo que cria o soquete do servidor e outro aplicativo que implementa o cliente.
Existem dois tipos principais de soquetes: Socket_Stream (também conhecido como TCP) ou SOCK
_DGRAM (também conhecido como UDP). Os soquetes TCP garantem a confiabilidade da comunicação
(entrega de pacotes garantida), enquanto os soquetes UDP não garantem a entrega de pacotes no nível
da camada de transporte)
A comunicação entre processos também pode ocorrer via UDP. No entanto, o UDP é um serviço sem
conexão. O remetente insere explicitamente o endereço IP e a porta do destino no formato IP:porta (por
exemplo: 192.168.0.1:80). O servidor deve extrair o endereço IP e a porta (soquete) do remetente do
datagrama recebido. Os dados recebidos podem ser recebidos fora de ordem ou até mesmo perdidos. Só
então os dados são encaminhados para as camadas superiores, da camada de transporte (protocolo UDP
) para a camada de aplicação (qualquer aplicação).
Esses Datagram Soquete ou DataGrama, por serem UDP, possuem comunicação não orientada à
conexão e não são confiáveis, pois os dados enviados neste tipo podem não chegar ao destino final da
forma como foram enviados, e não há garantia de sua chegada. Streaming de áudio e vídeo sob demanda
e jogos multijogador são exemplos de aplicativos de soquete de datagrama. Neste tipo de transferência, a
perda de pequenas quantidades de dados não traz consequências graves para o processo. Tanto o
Socket UDP quanto o Socket TCP usam o protocolo IP para rotear dados pela rede.
No protocolo TCP, um soquete cria uma conexão de streaming bidirecional entre os endereços 'hostC
:portC' e 'hostS:portS', ou seja, entre a aplicação cliente em execução na máquina 'hostC' e também pode
controlar a porta 'portC' e outro aplicativo de servidor em execução no computador 'hostS', observando a
porta 'portS' de 'hostS'. Sabemos também que o protocolo TCP é orientado à conexão e por isso garante
que os dados enviados do cliente para o servidor cheguem ao seu destino na respectiva porta. Esta forma
de comunicação com soquetes TCP utiliza soquetes de fluxo, que representam uma forma de
comunicação bidirecional confiável e orientada à conexão.
Os dados enviados através deste tipo de Socket estarão seguros e chegarão da mesma forma que foram
enviados, pois o protocolo TCP é responsável por ?entregar? os dados da mesma forma que foram
enviados e sem erros. Por exemplo: os navegadores usam este aplicativo sobre protocolos HTTP, que
normalmente funcionam no soquete 80. Um soquete é uma abstração de um endereço de comunicação
através do qual os processos se comunicam. Cada endereço possui um identificador exclusivo que
consiste no endereço da máquina e no identificador local da porta utilizada pelo processo.
Este identificador de porta é usado para mapear os dados recebidos pela máquina para um processo
(aplicação) específico. O processo de comunicação no modo orientado à conexão é o seguinte: o servidor
é colocado em uma porta específica e aguarda uma conexão com essa porta. O cliente deve saber
antecipadamente o nome IP do servidor e a porta correspondente na qual o servidor está aguardando
conexões.
Conforme na figura 2.
Se não houver problemas, o servidor aceita a conexão gerando um soquete em uma porta livre do lado do
servidor, criando assim um canal de comunicação entre o cliente e o servidor. É importante observar que a
porta original está livre para receber outras solicitações de conexão. A imagem abaixo demonstra o
mesmo canal de comunicação.
O modelo de referência OSI foi criado pela ISO em 1978 para construir sistemas de conexão entre
dispositivos através da padronização de protocolos e padrões, que é um padrão global e modelo
conceitual desde 1984. Este modelo propõe um esquema de trabalho conjunto entre hardware e software
para permitir a comunicação entre dispositivos. No entanto, o modelo OSI é mais teórico do que prático.
livro amplamente recomendado sobre arquitetura em camadas é "Patterns of Enterprise Application
Architecture" (Padrões de Arquitetura de Aplicações Corporativas) de Martin Fowler(2003). Embora o livro
não se concentre exclusivamente na arquitetura em camadas, aborda vários padrões arquiteturais comuns
, incluindo a arquitetura em camadas, e fornece uma compreensão sólida dos princípios e práticas
envolvidos na construção de sistemas de software escaláveis e robustos.
É responsável por definir o formato de troca de dados entre computadores, atuando como conversor de
protocolos, criptografia, compactação de dados, entre outras tarefas.
Uma sessão é um canal de comunicação entre dois aplicativos executados em computadores diferentes. A
camada de sessão é responsável por gerenciar conversas entre aplicações para que elas possam abrir,
usar e fechar sessões. É nesta camada que são executadas as funções de reconhecimento de nomes e
segurança.
É responsável pela integridade dos pacotes de informações e garante uma comunicação confiável. Esta
integridade é conseguida graças ao sinal ACK enviado entre as duas partes (sinal que confirma que a
comunicação ocorreu corretamente, do receptor ao transmissor). O protocolo TCP é executado nesta
camada
É usado para identificar o endereço de um sistema em uma rede e realmente transferir dados. A camada
de rede deve conhecer o meio físico da rede e empacotar as informações de forma que a camada de
enlace possa enviá-las para a camada física. Em muitas redes, esta camada não verifica a integridade da
informação, apenas a encapsula.
É utilizado para definir como a informação é transmitida através da camada física e garante o bom
funcionamento desta camada. Se houver erros na transmissão de informações no meio físico, como cabos
danificados ou colisões de dados, a camada MAC deverá tratar esses erros ou comunicá-los às camadas
superiores.
Consiste em hardware como cabos, fibras ópticas e conectores usados ??para conectar diferentes
sistemas de rede. Nesta camada, as informações são codificadas na forma de sinais elétricos
Um livro recomendado sobre o modelo Ethernet é "Ethernet: The Definitive Guide" (2000) de Charles E.
Spurgeon. Este livro fornece uma visão geral abrangente da tecnologia Ethernet, incluindo seu histórico,
capacidades, padrões e protocolos relacionados. As redes Ethernet podem transportar até 1.500 bytes de
dados. Portanto, o sistema operacional configura automaticamente o protocolo IP para criar um datagrama
de 1.500 bytes em vez de 65.535 bytes (o tamanho real do datagrama é 1.497 porque a camada LLC usa
3 ou 5 bytes para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, o que equivale à
Interface de Rede do modelo TCP/IP. Sobre o modelo Ethernet é "Ethernet: The Definitive Guide" de
Charles E. Spurgeon(2000). Este livro oferece uma visão abrangente da tecnologia Ethernet, incluindo sua
história, funcionamento, padrões e protocolos associados. A camada LLC (Logical Link Control) é
responsável por adicionar informações sobre qual protocolo da camada Internet é responsável pela
geração dos dados. Desta forma, durante o processo de recepção de dados, o computador receptor pode
saber qual protocolo deve ser utilizado na camada Internet para receber os dados. A camada MAC (Media
Access Control) é responsável pela montagem dos frames que serão enviados para a rede. Esta camada
é responsável por adicionar os endereços MAC de origem e destino ao pacote (o endereço físico da placa
de rede). Quando os pacotes são enviados para uma rede diferente da rede local, o endereço MAC
inserido como destino será o endereço MAC do roteador a ser usado. Os protocolos que definem esta
camada são IEEE 802.3 (para redes com cabos físicos) e IEEE 802.11 (no caso de redes sem fio). A
camada física é a camada mais baixa do modelo TCP/IP. É responsável por converter os frames gerados
pela camada MAC em sinais elétricos (para redes com cabos físicos) ou sinais eletromagnéticos (para
redes sem fio). No IEEE, a camada física é definida pelo mesmo protocolo da camada MAC. Segundo
BEZERA (2008), o padrão Ethernet especifica a camada de enlace e a camada física. No final do
empacotamento, os dados conterão cabeçalhos para todas as camadas do modelo TCP/IP, bem como
cabeçalhos para a subcamada Ethernet.
3.13 PROTOCOLOS
Os protocolos de rede desempenham diversas funções essenciais para garantir a comunicação eficiente
entre dispositivos. Uma dessas funções é a fragmentação dos dados a serem transmitidos em pequenos
pedaços chamados pacotes. Cada pacote contém informações de endereçamento que especificam a
origem e o destino. Este protocolo organiza as fases de estabelecimento, controle, fluxo e encerramento
da troca de informações.
As funções específicas dos protocolos variam conforme a camada do modelo OSI, mas algumas funções
podem ser executadas em múltiplas camadas, ainda que com diferentes contextos e objetivos (MPR/JAR,
2003).
As principais funções dos protocolos incluem:
Endereçamento: Especificação clara do ponto de destino da mensagem.
Estabelecimento: Criação de um canal lógico fechado entre a fonte e o destino.
Numeração e Sequência: Individualização de cada mensagem por meio de números sequenciais.
Confirmação de Recepção: Garantia de que o destinatário recebeu a mensagem, com ou sem erro.
Controle de Erro: Detecção e correção de erros na transmissão.
Retransmissão: Reenvio de mensagens em caso de falha na recepção.
O conjunto de protocolos utilizados para comunicação entre computadores pela Internet, também
conhecido como conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo norte-
americano para permitir a comunicação entre diferentes redes constituídas por diversos tipos de
computadores. A família de protocolos TCP/IP é particularmente popular porque não pertence a nenhum
fornecedor específico. Portanto, é amplamente apoiado pelo mercado
TCP significa Transmission Control Protocol e refere-se ao sistema mais comum para envio de pacotes na
Internet. Quando você visita um site, seu computador envia dados para o servidor, solicitando que o
servidor envie o conteúdo da página para a máquina que você está usando ? as informações enviadas de
volta são ?emendadas? pelo navegador para exibir o que você deseja
Segundo Scrimger et al., as principais características do TCP são: (2 002) são a transferência de dados,
robustez, controle de fluxo, multiplexação, conexões lógicas e o fato de ser full duplex.
Streaming de dados: o aplicativo pode confirmar se todos os segmentos de dados transmitidos pelo TCP
atingiram o destino esperado e informar se a operação foi bem-sucedida
Robustez: Se os segmentos chegarem fora de ordem, o TCP do receptor irá agrupá-los
Controle de fluxo: O receptor envia uma mensagem confirmando o recebimento ao receber um segmento
Multiplex: uso paralelo das portas de comunicação
Conexão lógica: Identificada pelos processos de envio e recebimento, através de uma combinação de
mecanismos TCP
Full duplex: os dados podem ser transmitidos em ambas as direções simultaneamente
O TCP também emprega seu próprio sistema de numeração para garantir que os pacotes enviados
cheguem ao seu destino na ordem correta. Caso o pacote não seja recebido corretamente pelo receptor, a
informação é enviada novamente até chegar ao seu destino com segurança ? e o mais importante, há
uma verificação de erros para garantir que nenhuma informação foi corrompida durante a transmissão
É exatamente isso que se destaca neste protocolo: confiabilidade. Graças ao TCP, os downloads que você
faz não são corrompidos por flutuações na velocidade da conexão, e as páginas visitadas pelo navegador
raramente carregam algum elemento acidentalmente ? a menos, é claro, que uma das máquinas seja
usada para trocar dados no processo. estiver temporariamente off-line, você receberá uma mensagem de
erro e não poderá acessar o conteúdo desejado.
UDP (User Datagram Protocol) é o ?irmão? do protocolo TCP e também se baseia no envio de pacotes de
informações, mas elimina todas as partes de verificação de erros das outras tecnologias. O objetivo desta
opção é acelerar o processo de envio de dados, pois todas as etapas de comunicação necessárias para
verificar a integridade do pacote (e reenviar o pacote, se necessário) causam lentidão.
Quando o protocolo UDP é ativado, ele simplesmente envia as informações para o receptor sem se
preocupar se as informações foram recebidas corretamente - caso ocorra um erro, o próximo pacote
programado pelo sistema simplesmente será enviado, e o pacote anterior não será capaz recuperar.
Embora este método de operação aumente o risco de erros, garante uma comunicação rápida entre os
dois computadores.
Pelas suas características, este protocolo é amplamente utilizado em situações onde a correção de erros
não é totalmente necessária. Por exemplo, durante a transmissão de um vídeo ao vivo, é mais
interessante que uma pessoa perca certas partes ou tenha que lidar com distorções de imagem e áudio do
que esperar para receber um pacote perdido ? o que pode acabar com o fator ?tempo?. . real".
O protocolo UDP fornece um serviço de entrega sem conexão e não é confiável ao usar IP para transmitir
datagramas entre máquinas( COMER,2006)
O UDP também é amplamente utilizado em jogos online ? se você perder alguns pacotes, o personagem
da outra parte pode ?teletransportar-se? para a tela, mas você não tem motivo para receber os dados
perdidos porque o jogo continuará mesmo que eles não cheguem para você . O que importa é o que está
acontecendo agora, não o que aconteceu há poucos minutos, então não faz sentido confiar na verificação
de erros, que só aumentará a latência para os participantes.
HTTP é um protocolo da camada de aplicação que usa a porta de rede 80. Permite a transmissão de
dados na forma de texto simples, hipertexto, áudio, vídeo, etc. É utilizado em ambientes onde há uma
transição rápida de um documento para outro, como uma página da Internet. Este protocolo possui
características semelhantes aos protocolos FTP e SMTP e permite a transferência de arquivos utilizando
serviços TCP. Porém, é muito mais simples que o FTP, usando apenas uma conexão TCP, porta 80.
Através desta porta, os dados são transmitidos entre o cliente e o servidor
As mensagens HTTP não estão diretamente disponíveis aos usuários. Eles são interpretados pelo cliente
HTTP ? o navegador. A ideia do HTTP é que o cliente envie uma solicitação ao servidor na forma de uma
mensagem, e o servidor envie uma resposta ao cliente na forma de uma mensagem.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) é uma extensão do protocolo HTTP usado para
comunicação segura na World Wide Web. Ele utiliza uma combinação de criptografia SSL/TLS para
garantir a confidencialidade e integridade dos dados transmitidos entre o cliente (geralmente um
navegador da web) e o servidor web.
Quando uma conexão HTTPS é estabelecida, o servidor web envia um certificado digital para o cliente,
que contém uma chave pública. O cliente usa essa chave pública para criptografar uma chave de sessão
simétrica, que é então enviada de volta ao servidor. A partir desse ponto, a comunicação entre o cliente e
o servidor é criptografada usando essa chave de sessão.
O HTTPS oferece várias vantagens sobre o HTTP tradicional, incluindo:
1.Segurança dos dados: A criptografia SSL/TLS protege os dados durante a transmissão, impedindo que
terceiros interceptem ou modifiquem as informações transmitidas.
2.Autenticação do servidor: O uso de certificados digitais permite que o cliente verifique a identidade do
servidor, garantindo que este seja realmente quem afirma ser.
3.Integridade dos dados: Os dados transmitidos por meio do HTTPS são protegidos contra alterações não
autorizadas durante a transmissão.
4.Confiança do usuário: A presença do cadeado verde e do "https://" na barra de endereço do navegador
transmite confiança aos usuários, indicando que a conexão é segura.
O uso do HTTPS é essencial para proteger informações sensíveis, como dados de login, informações de
pagamento e outras informações pessoais dos usuários durante a comunicação na web. Nos dias de hoje,
é amplamente adotado e incentivado por organizações e empresas em todo o mundo.
3.20 PROTOCOLO IP
Este protocolo é responsável por endereçar o pacote para transmissão, adicionando um cabeçalho,
permitindo que o pacote seja roteado pela rede até ser entregue ao destino correto. Os pacotes IP contêm
o endereço IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar
erros e um TTL (informação em segundos) sobre quanto tempo um pacote pode permanecer na rede para
evitar loops infinitos de tráfego). Slinger et al. (2002, p. 107) Um endereço IP é semelhante ao endereço
que você usa para enviar e-mail. ?O endereço deve conter todos os dados necessários para a entrega.
Caso contrário, a carta não chegará ao destino correto.
O roteamento de pacotes pode ser estático ou dinâmico. Em pequenas redes locais, é utilizado o
roteamento estático, o que significa que o caminho que um datagrama percorre para chegar ao seu
destino é sempre o mesmo. Na Internet, o roteamento é dinâmico, o que significa que os roteadores
podem alterar a rota de um pacote a qualquer momento se um caminho melhor para o destino estiver
disponível. A melhor rota é aquela que requer menos saltos (roteadores intermediários), mas rotas mais
curtas não são necessariamente mais rápidas.
O protocolo FTP é usado para acessar arquivos remotos na Web, bem como no servidor de arquivos local
de uma empresa. Quando baixamos arquivos, geralmente usamos o protocolo FTP. Também pode ser
usado para fazer upload de arquivos do seu computador para a web. O protocolo FTP permite transferir
arquivos pela Internet. Existem vários programas gratuitos na Internet que fornecem serviços FTP. Com
ele você pode transferir arquivos, autenticar usuários e gerenciar arquivos e diretórios, segundo Falbriard
(2002), os protocolos utilizados nas redes de comunicação definem conjuntos de regras que coordenam e
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks"(2020) de Russ White e Ethan Banks. Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas.
Como você viu, um protocolo é um conjunto de regras sobre como ocorre a comunicação entre as partes.
Para reduzir a complexidade de um projeto, a maioria das redes foi organizada em uma série de níveis ou
camadas e colocadas dentro de um nível. O número, nome, conteúdo e funcionalidade de cada camada
variam de rede para rede. Entretanto, em todas as redes, o objetivo de cada camada é fornecer
determinados serviços às camadas superiores.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas
A camada N de uma máquina se comunica com a camada N de outra máquina. Para isso, baseia-se em
um conjunto de convenções e regras que permitem gerenciar essa comunicação, o que é denominado
protocolo de camada N, ou protocolo N, abreviadamente.
Em máquinas diferentes, entidades na mesma camada são chamadas de "pares." Esses pares se
comunicam utilizando um protocolo específico. Contudo, os dados não são transferidos diretamente entre
os pares devido à ausência de um meio físico direto entre eles. Cada camada transmite os dados para a
camada imediatamente inferior até alcançar a camada final. Na última camada, a comunicação é realizada
através do hardware da rede, que é o meio físico de transmissão de dados. Em cada par, existe uma
interface que define as operações e serviços que a camada inferior deve fornecer à camada superior
adjacente.
A arquitetura de rede consiste em uma coleção de camadas que formam a estrutura da rede. A
especificação arquitetônica deve conter informações suficientes para permitir o desenvolvimento correto
da rede, tanto do ponto de vista de software quanto de hardware. No entanto, os detalhes de
implementação de cada camada e a especificação detalhada da interface não fazem parte da definição da
arquitetura da rede; em vez disso, é um conjunto de regras que controla o formato e o significado das
informações trocadas pelas entidades pares dentro de uma camada. As entidades utilizam protocolos para
implementar suas definições de serviço e têm a liberdade de modificar seus protocolos, desde que não
alterem os serviços visíveis aos seus usuários.
3.24 HARDWARE
Um livro atual sobre hardware de redes de computadores é "Computer Networking Problems and Solutions
: An innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este
livro oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando
questões de projeto, operação e solução de problemas em redes hierárquicas
Hardware de rede, ou equipamento de rede, refere-se ao equipamento que facilita e suporta a utilização
de redes de computadores, ou seja, o meio físico necessário à comunicação entre os diversos
componentes participantes da rede.
Switches;
Roteadores;
Concentradores;
Repetidores;
Adaptadores de rede;
Modem;
Gateway;
Bridge;
Firewall;
Pontos de acesso sem fio;
Entre outros hardwares relacionados
3.25 SWITCHES
Um switch é um dispositivo usado para encaminhar pacotes de dados entre diferentes nós. Possuem
portas semelhantes a um hub (concentrador), a principal diferença é que o switch segmenta a rede
internamente, pois cada porta corresponde a um domínio de colisão diferente, eliminando assim colisões
entre pacotes vindos de diferentes segmentos de rede.
3.26 HUBS
3.27 ROTEADORES
Um roteador é um dispositivo que encaminha pacotes de dados entre redes de computadores, criando um
conjunto de redes sobrepostas. Os roteadores se conectam a duas ou mais linhas de dados de redes
diferentes. Os roteadores têm muitas funções, mas a mais comum que todos conhecem é a possibilidade
de conexões sem fio. As redes sem fio são amplamente utilizadas hoje em dia porque são mais práticas.
Sua principal desvantagem está relacionada ao hacking, pois os hackers podem ver onde existe a rede
sem fio e, portanto, comprometer facilmente a rede e os computadores que possam estar conectados a ela
.
O cabeamento estruturado é uma abordagem padronizada para cabeamento de rede que leva em
consideração padrões de segurança (como ANSI e EIA/TIA), melhores práticas e melhor utilização dos
recursos do equipamento, permitindo o redirecionamento através de diferentes caminhos dentro da
mesma estrutura de cabeamento para rotear os fios. entre diferentes pontos. A comunicação é uma das
principais características do cabeamento estruturado, conceito que surgiu nos serviços técnicos de voz,
mas, graças à sua ampla adoção por empresas e organizações criadas por meio da padronização,
rapidamente se tornou a solução para os mais diversos serviços de dados.
A maioria dos padrões são internacionais, por isso são desenvolvidos por instituições e associações
respeitáveis, como IEEE (Instituto de Engenheiros Elétricos e Eletrônicos), TIA (Associação da Indústria de
Telecomunicações) e EIA (Associação da Indústria Eletrônica).
ANSI/TIA/EIA-1005 ? Telecommunications Infrastructure Standard for Industrial Premises;
ANSI/TIA-606-A ? Admi nistration Standard for Commercial Telecommunications Infrastructure;
ANSI/TIA-607-B ? Telecommunications Grounding (Earthing) and Bonding for Customer Premises;
ANSI/TIA-758-A ? Customer-Owned Outside Plant Telecommunications Infrastructure Standard;
ANSI/TIA-862 ? Building Automation Systems Cabling Standard for Commercial Buildings;
IEEE-100BASE-TX ? Fast Ethernet;
TIA 569 -B ? Commercial Building Standard for Telecommunications Pathways and Spaces;
TIA/EIA-568-C.0 ? Generic Telecommunications C abling for Customer Premises;
TIA/EIA-568-C.3 ? Optical Fiber Cabling Components Standard.
TIA-942 ? Telecommunications Infrastructure Standard for Data Center;
Todos esses padrões definem o tipo de cabo utilizado, bem como os limites e requisitos
(distância, segmentos, frequência etc.) que a estrutura deve atender para garantir o
funcionamento adequado.
Os mais comuns que utilizamos hoje são os cabos trançados e de fibra óptica, que são escolhidos com
base nos objetivos do negócio, ou seja, o tipo de rede com a qual estamos lidando.
Consiste em fio de cobre condutor coberto com material isolante e rodeado por uma camada de blindagem
. Utilize conectores BNC. Apesar da sua capacidade de reduzir o impacto de influências e sinais externos
nos sinais que transmite, caiu em desuso e só existe em algumas redes mais antigas por serem mais
propensas a maus contactos, terem conectores mais caros e serem menos flexíveis.
O cabo de par trançado é sem dúvida o cabo mais conhecido e ?masterizado? entre os especialistas em
TI, principalmente por ser o cabo utilizado para implementação de redes há muitos anos. Uma de suas
maiores vantagens é o baixo custo e a facilidade de aquisição de produtos prontos ou sob medida.
Os cabos de fibra óptica são projetados para atender tecnologias mais modernas e oferecem uma série de
vantagens, a começar pelo fato das fibras ópticas serem imunes a interferências eletromagnéticas e, claro
, pela capacidade de transmitir dados em altas taxas. O tipo mais rápido de transmissão existente converte
um sinal de dados em luz, e um receptor que recebe a luz converte esse sinal novamente em dados. Por
outro lado, pode transmitir grandes quantidades de informação com atenuação muito baixa, mas é caro
para adquirir e manter. Eles são divididos em monomodo que só consegue fornecer um sinal por vez,
menor dispersão e pode ficar muitos quilômetros entre um relé e outro e multimodo
Um livro contemporâneo sobre serviços de rede é "Networking for Systems Administrators" (2017), de
Michael W. Lucas. Esta obra aborda diversos aspectos relacionados à configuração, administração e
manutenção de serviços de rede como DNS, DHCP, FTP, SSH e email. Destina-se especialmente a
administradores de sistemas que necessitam gerenciar e manter infraestruturas de rede.
Um serviço de rede é um conjunto de operações implementadas por um protocolo através de uma
interface e fornecidas à camada superior. Ele define as operações que uma camada pode realizar sem se
preocupar com a execução específica dessas operações. Os serviços podem ser classificados em
orientados à conexão ou não. Os serviços relacionados à família TCP são orientados à conexão, enquanto
os serviços associados à família UDP não possuem essa característica.
Os serviços de rede podem ser divididos em duas categorias principais: serviços orientados à conexão e
serviços sem conexão. Além desses, existem outros tipos de serviços, como DHCP, que atribui
automaticamente um endereço IP válido para cada dispositivo conectado à rede, e DNS, que permite o
uso de strings em vez de endereços IP numéricos para identificar recursos na Internet.
Os serviços orientados à conexão utilizam o protocolo TCP. Antes do envio de dados, ocorre um processo
de handshaking, que estabelece uma conexão confiável entre os hosts. Esse processo prepara o receptor
para a recepção de dados. Durante essa conexão, é possível verificar se todos os pacotes foram
entregues corretamente e, se necessário, solicitar o reenvio de pacotes perdidos. Esse mecanismo
garante uma transmissão de dados confiável. Adicionalmente, o controle de fluxo e o gerenciamento de
congestionamento são realizados para assegurar que o receptor não seja sobrecarregado e que a rede
não sofra com congestionamentos.
Os serviços sem conexão utilizam o protocolo UDP. Nesse caso, não há um processo de handshaking, o
que significa que não é possível garantir que todos os pacotes cheguem ao destino, pois não se
estabelece uma conexão prévia. Consequentemente, não há criação de um canal seguro para a
transferência de dados. Embora esse método seja mais rápido devido à ausência do processo de
handshaking, ele é menos confiável e não oferece as funcionalidades de controle de fluxo e
gerenciamento de congestionamento presentes no TCP. Exemplos de aplicações que utilizam UDP
incluem vídeo e teleconferências pela Internet.
4. DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Um livro brasileiro atualmente muito utilizado para estudo de desenvolvimento de ferramentas para
comunicação em rede é "Redes de Computadores e a Internet: Uma Abordagem Top-Down" de James F.
Kurose e Keith W. Ross(2010), na sua versão traduzida para o português. Este livro é amplamente no
estudo do tema em redes de computadores no Brasil.
O desenvolvimento de uma ferramenta para comunicação em rede é de extrema importância por várias
razões:
Comunicação Eficiente: Permite a comunicação rápida e eficiente entre diferentes dispositivos, usuários ou
sistemas em uma rede, facilitando a troca de informações, compartilhamento de recursos e colaboração
em tempo real.
Integração de Sistemas: Uma ferramenta de comunicação em rede pode integrar sistemas heterogêneos,
permitindo que eles se comuniquem e compartilhem dados de maneira harmoniosa, melhorando a
interoperabilidade e a eficiência operacional.
Acesso Remoto: Facilita o acesso remoto a recursos e informações, permitindo que usuários acessem
dados ou sistemas de qualquer lugar, a qualquer momento, desde que estejam conectados à rede, o que
aumenta a flexibilidade e a mobilidade.
Colaboração: Promove a colaboração e o trabalho em equipe, possibilitando a comunicação instantânea e
a troca de informações entre colegas, equipes de trabalho ou parceiros de negócios, independentemente
da localização geográfica.
Distribuição de Recursos: Permite a distribuição eficiente de recursos, como impressoras, servidores de
arquivos, bancos de dados e dispositivos de armazenamento, dentro de uma rede, otimizando o uso dos
recursos disponíveis.
Monitoramento e Gerenciamento: Facilita o monitoramento e o gerenciamento de dispositivos, sistemas e
infraestrutura de rede, permitindo a detecção precoce de problemas, manutenção proativa e otimização do
desempenho da rede.
Segurança da Informação: Uma ferramenta de comunicação em rede pode implementar recursos de
segurança, como criptografia, autenticação, controle de acesso e monitoramento de tráfego, para proteger
os dados e garantir a confidencialidade, integridade e disponibilidade das informações.
Inovação e Desenvolvimento Tecnológico: O desenvolvimento contínuo de ferramentas para comunicação
em rede impulsiona a inovação e o desenvolvimento tecnológico, permitindo a criação de novas aplicações
, serviços e soluções que atendam às necessidades em constante evolução dos usuários e organizações.
Em resumo, o desenvolvimento de uma ferramenta para comunicação em rede é essencial para facilitar a
comunicação, promover a colaboração, otimizar o uso de recursos, garantir a segurança da informação e
impulsionar a inovação e o desenvolvimento tecnológico.
6. CONSIDERAÇÕESFINAIS
Neste capítulo, observamos três conceitos principais: Primeiro, um soquete é um ponto de comunicação
usado para transferir dados pela Internet entre aplicações executadas em máquinas diferentes. A
programação de aplicações socket é feita utilizando um conjunto de primitivas, que são funções que
permitem acesso a serviços de transporte e são fornecidas pela camada de transporte. Eles são
comumente usados ??em programação para Internet e pertencem a um grupo de primitivos chamados
Berkeley Sockets.
Essas funções são usadas para programar aplicativos cliente e servidor (embora existam algumas
diferenças de programação entre os dois) e, embora existam muitas, apenas as primitivas básicas
necessárias inicialmente para desenvolver uma aplicação cliente/servidor serão usadas, em segundo lugar
, vemos que a arquitetura TCP/IP é independente da tecnologia usada para transmitir quadros e introduz
dois níveis de endereçamento: IP, que permite o endereçamento de rede, e portas, que permitem o
endereçamento de processos. Por sua vez, os protocolos de aplicação fornecem padronização entre
mensagens trocadas entre clientes e servidores para permitir a interoperabilidade entre produtos de
diferentes fabricantes.
Finalmente, o modelo em camadas fornece uma estratégia comum para múltiplas tecnologias de
transporte, incluindo TCP/IP. Idealmente, o modelo em camadas define que os protocolos da mesma
camada são concorrentes (não são usados ??ao mesmo tempo) e os protocolos de camadas diferentes
são complementares (seus cabeçalhos podem ser empilhados).
REFERÊNCIAS
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed.
Pearson, 2010.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de Computadores: Das LANs
, MANs e WANs às Redes ATM. Editora Campus, 1997. p. 28.
TAROUCO, Liane M. R. Redes de Computadores Locais e de Longa Distância. Editora McGraw-Hill, 1986.
p. 53.
TORRES, G. Redes de Computadores: Das LANs, MANs e WANs às Redes ATM. Axcel Books, 2003.
WHITE, R.; BANKS, E. Computer Networking Problems and Solutions: An Innovative Approach to Building
Resilient, Modern Networks. Wiley, 2020.
ANEXOS
37
=================================================================================
Arquivo 1: 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx (6703 termos)
Arquivo 2: https://standards.globalspec.com/std/10166217/TIA-942 (1849 termos)
Termos comuns: 5
Similaridade: 0,05%
O texto abaixo é o conteúdo do documento 5º e 4º Ciencia da Computacao (CC) - CORRECAO 1..docx
(6703 termos)
Os termos em vermelho foram encontrados no documento
https://standards.globalspec.com/std/10166217/TIA-942 (1849 termos)
=================================================================================
Sorocaba, SP
2024
SUMARIO
1. OBJETIVO DO TRABALHO4
2. INTRODUÇÃO5
3. REFERENCIAL TEÓRICO7
3.1 SOQUETE DE REDE7
3.2 SOQUETES UDP10
3.3 SOQUETE TCP10
3.4 ARQUITETURA EM CAMADAS12
3.5 CAMADA DE APLICAÇÃO13
3.6 CAMADA DE APRESENTAÇÃO13
3.7 CAMADA DE SESSÃO13
3.8 CAMADA DE TRANSPORTE13
3.9 CAMADA DE REDE14
3.10 CAMADA DE LINK OU MAC14
3.11 CAMADA FÍSICA14
3.12 MODELO ETHERNET14
3.13 PROTOCOLOS15
3.14 FUNÇÕES DO PROTOCOLOS17
3.15 PROTOCOLOS DE CAMADAS18
3.16 PROTOCOLO TCP18
3.17 PROTOCOLO UDP19
3.18 PROTOCOLO HTTP20
3.19 PROTOCOLO HTTPS21
3.20 PROTOCOLO IP22
3.21 PROTOCOLO DE ROTEAMENTO22
3.22 PROTOCOLO FTP22
3.23 HIERARQUIAS DE REDE23
3.24 HARDWARE25
3.25 SWITCHES26
3.26 HUBS26
3.27 ROTEADORES26
3.28 CABEAMENTO ESTRUTURADO27
3.29 PRINCIPAIS NORMAS DE CABEAMENTO27
3.30 TIPOS DE CABEAMENTO28
3.31 CABO COAXIAL28
3.32 CABO PAR TRANÇADO28
3.33 CABO DE FIBRA ÓPTICA29
3.34 SERVIÇOS DE REDE29
3.35 CLASSIFICAÇÃO DE SERVIÇOS29
3.36 SERVIÇOS ORIENTADOS A CONEXÃO30
3.37 SERVIÇOS SEM CONEXÃO:30
4. DESENVOLVIMENTO31
4.1 CÓDIGO DO SERVIDOR31
1. OBJETIVO DO TRABALHO
O relatório deve incluir o uso de primitivos de soquete Berkeley ou componentes derivados deles para
comunicação de dados. Deve abordar todos os elementos utilizados no desenvolvimento do projeto, bem
como o impacto deste trabalho na formação da equipe. Além disso, é importante discutir a
interdisciplinaridade envolvida no projeto devido ao nível de detalhe, funcionalidade, tratamento de erros,
implementação de funcionalidades adicionais e relatórios adicionais no sistema, que serão apresentados
no desenvolvimento.
2. INTRODUÇÃO
O grupo desenvolveu uma ferramenta de comunicação em rede utilizando Java e C#. Camila Goulart
Madosaki as atividades práticas supervisionadas estão estruturadas da seguinte forma. A equipe criou
uma aplicação que permite que duas ou mais pessoas se comuniquem em rede utilizando o protocolo TCP
/IP, ferramenta que será utilizada em situações que envolvem o meio ambiente. O tema escolhido pelo
grupo foi a preservação e sustentabilidade do meio ambiente. Estudo da topologia do sistema. O
documento apresenta uma referência teórica, na qual aborda um extenso sistema de comunicação que
conecta diversas redes de computadores. O sistema de comunicação consistirá de um arranjo topológico
interconectando módulos de processador individuais através de links físicos, dispositivos de transmissão
ou redes de transporte e um conjunto de regras para organizar. Existem muitos dispositivos diferentes em
muitas formas e recursos que podem ser interconectados e compartilhados através de métodos de acesso
, protocolos e requisitos de segurança. Os métodos de comunicação podem ser: linhas telefônicas, cabos,
comunicações via satélite ou sem fio. O objetivo de uma rede de computadores é permitir que os
computadores troquem dados e compartilhem recursos de hardware e software. A classificação dos
tamanhos de rede é: PAN, LAN, MAN, WAN A topologia de uma rede mostra como as máquinas estão
conectadas entre si. De acordo com a topologia, a rede pode ser dividida em: rede ponto a ponto, rede em
estrela, rede em anel e rede em árvore. O cabeamento estruturado refere-se aos vários tipos de cabos
instalados em uma residência ou empresa para distribuição de áudio, vídeo, telefone e dados. Esses fios
costumam ser agrupados, assim como cabos de rede, cabos de áudio de fibra óptica e outras
combinações personalizadas para distribuir itens por todo o ambiente. Cabeamento estruturado é um
termo genérico que inclui várias formas de cabos colocados em uma casa ou escritório para distribuição
de sinais de áudio, vídeo, telefone e dados. Tais fios, normalmente, são postos juntos em grupos, desde
cabos de rede passando por cabos de áudio de fibra óptica e muitas outras combinações personalizadas
que levam os itens a serem distribuídos por todo o ambiente. Um protocolo de comunicação é um acordo
utilizado na comunicação entre duas ou mais partes com o intuito de estabelecer como será a
comunicação entre elas. Simplificando, seria mais ou menos isso: um conjunto de regras. De maneira
simplificada, um protocolo poderia ser definido como regras que "governam" a sintaxe, a semântica e a
sincronia da comunicação. A evolução das ferramentas de comunicação em rede impulsiona inovação e
desenvolvimento tecnológico, permitindo responder a emergentes necessidades dos utilizadores e das
organizações na criação de novas aplicações, serviços e soluções.
3. REFERENCIAL TEÓRICO
"Unix Network Programming" (2003) ou Programação de rede Unix por W. Richard Stevens. Considerado
um clássico na área de programação de redes, este livro fornece uma introdução abrangente ao assunto.
Ele não cobre apenas o uso de soquetes em sistemas Unix, mas também fornece uma compreensão
sólida dos conceitos subjacentes à comunicação em rede. Este livro é conhecido por sua abordagem
prática e clara e exemplos de código detalhados e explicativos. Além disso, "TCP/IP Illustrator" (1994) do
mesmo autor, W. Richard Stevens, é outro livro altamente recomendado para aprender os fundamentos do
protocolo TCP/IP, que é a base das comunicações de rede na Internet. Este livro complementa muito bem
a programação de rede Unix, fornecendo uma compreensão mais profunda dos protocolos de rede.
Ambos os livros são recursos valiosos para estudantes, profissionais de TI e desenvolvedores
interessados em aprender programação de redes e soquetes. Especificamente, na computação, os
soquetes podem ser usados em conexões de rede de computadores para fornecer um link de
comunicação bidirecional entre dois programas. As conexões de soquete tiveram origem em 1980, quando
a agência governamental dos EUA ARPA (Advanced Research Projects Agency) forneceu recursos
financeiros à Universidade da Califórnia, Berkeley, para fornecer uma implementação UNIX do pacote de
protocolo TCP/IP. O produto desenvolvido posteriormente ficou conhecido como Berkeley Sockets
Interface ou simplesmente Berkeley Sockets. Frequentemente recomendado para aprender sobre
soquetes e programação de redes é "Unix Network Programming" de W. Richard Stevens (2003). Este
livro é considerado um clássico no campo da programação de redes e oferece uma cobertura abrangente
sobre o assunto. Os soquetes foram desenvolvidos especificamente para aplicações cliente/servidor, onde
o cliente e o servidor podem estar em máquinas diferentes e se comunicarem através de um protocolo de
transporte, o que significa que quando a aplicação interage com o software do protocolo, ela deve ser
informada que se trata de um cliente ou servidor. Para estabelecer uma conexão, apenas o endereço de
destino e o número da porta são necessários. Existem dois modos de transmissão de soquete: modo
baseado em conexão e modo sem conexão. Os soquetes baseados em conexão funcionam como
telefones: eles estabelecem uma conexão e depois suspendem a conexão. Os soquetes sem conexão
funcionam como correio: a entrega não é garantida e diferentes itens de correio podem chegar em uma
ordem diferente daquela em que foram enviados. A escolha do modo de transporte de soquete dependerá
das necessidades da sua aplicação. Se a confiabilidade for importante, o modo baseado em conexão
deverá ser usado. Por exemplo, um servidor de arquivos precisa que todos os seus dados cheguem ao
usuário na ordem correta. A operação sem conexão será mais rápida e eficiente, mas não há garantia. O
método de conexão adota o protocolo TCP. Um soquete neste modo de operação deve ser conectado ao
destino antes que os dados possam ser transferidos. Quando conectado, o soquete usa a interface de
fluxo: open-read-write-close. Um soquete também é uma abstração computacional que mapeia
diretamente para uma porta de transporte por meio de um protocolo TCP ou UDP e um endereço de rede.
Por sua vez, o soquete se abstrai e pode utilizar qualquer um dos métodos TCP ou UDP já mencionados.
Com este conceito é possível identificar de forma única uma aplicação ou servidor numa rede de
comunicações IP. No documento RFC (Request for Comments) relacionado ao TCP ou UDP, um soquete
em um computador é definido como uma combinação de endereço IP, protocolo e número de porta do
protocolo. Soquetes e RPC possuem a funcionalidade para implementar aplicativos. Funcionalidades de
rede, mas são implementadas de maneiras diferentes, por exemplo, imagine que você precisa desenvolver
uma aplicação de servidor que funcione como uma "sala" de chat. Essencialmente, a aplicação receberá
chamadas do cliente (em uma determinada porta) e então se o cliente enviar uma mensagem, o servidor
enviará essa mensagem para todos os outros clientes.
Ou imagine, por exemplo, que você tem um sensor de temperatura instalado em seu computador e possui
um aplicativo de servidor que controla o sensor, fornecendo informações sobre o clima. A aplicação cliente
pode conectar-se remotamente à aplicação servidora e obter essas informações. Tudo isso pode ser
desenvolvido usando soquetes
Geralmente, há um aplicativo que cria o soquete do servidor e outro aplicativo que implementa o cliente.
Existem dois tipos principais de soquetes: Socket_Stream (também conhecido como TCP) ou SOCK
_DGRAM (também conhecido como UDP). Os soquetes TCP garantem a confiabilidade da comunicação
(entrega de pacotes garantida), enquanto os soquetes UDP não garantem a entrega de pacotes no nível
da camada de transporte)
A comunicação entre processos também pode ocorrer via UDP. No entanto, o UDP é um serviço sem
conexão. O remetente insere explicitamente o endereço IP e a porta do destino no formato IP:porta (por
exemplo: 192.168.0.1:80). O servidor deve extrair o endereço IP e a porta (soquete) do remetente do
datagrama recebido. Os dados recebidos podem ser recebidos fora de ordem ou até mesmo perdidos. Só
então os dados são encaminhados para as camadas superiores, da camada de transporte (protocolo UDP
) para a camada de aplicação (qualquer aplicação).
Esses Datagram Soquete ou DataGrama, por serem UDP, possuem comunicação não orientada à
conexão e não são confiáveis, pois os dados enviados neste tipo podem não chegar ao destino final da
forma como foram enviados, e não há garantia de sua chegada. Streaming de áudio e vídeo sob demanda
e jogos multijogador são exemplos de aplicativos de soquete de datagrama. Neste tipo de transferência, a
perda de pequenas quantidades de dados não traz consequências graves para o processo. Tanto o
Socket UDP quanto o Socket TCP usam o protocolo IP para rotear dados pela rede.
No protocolo TCP, um soquete cria uma conexão de streaming bidirecional entre os endereços 'hostC
:portC' e 'hostS:portS', ou seja, entre a aplicação cliente em execução na máquina 'hostC' e também pode
controlar a porta 'portC' e outro aplicativo de servidor em execução no computador 'hostS', observando a
porta 'portS' de 'hostS'. Sabemos também que o protocolo TCP é orientado à conexão e por isso garante
que os dados enviados do cliente para o servidor cheguem ao seu destino na respectiva porta. Esta forma
de comunicação com soquetes TCP utiliza soquetes de fluxo, que representam uma forma de
comunicação bidirecional confiável e orientada à conexão.
Os dados enviados através deste tipo de Socket estarão seguros e chegarão da mesma forma que foram
enviados, pois o protocolo TCP é responsável por ?entregar? os dados da mesma forma que foram
enviados e sem erros. Por exemplo: os navegadores usam este aplicativo sobre protocolos HTTP, que
normalmente funcionam no soquete 80. Um soquete é uma abstração de um endereço de comunicação
através do qual os processos se comunicam. Cada endereço possui um identificador exclusivo que
consiste no endereço da máquina e no identificador local da porta utilizada pelo processo.
Este identificador de porta é usado para mapear os dados recebidos pela máquina para um processo
(aplicação) específico. O processo de comunicação no modo orientado à conexão é o seguinte: o servidor
é colocado em uma porta específica e aguarda uma conexão com essa porta. O cliente deve saber
antecipadamente o nome IP do servidor e a porta correspondente na qual o servidor está aguardando
conexões.
Conforme na figura 2.
Se não houver problemas, o servidor aceita a conexão gerando um soquete em uma porta livre do lado do
servidor, criando assim um canal de comunicação entre o cliente e o servidor. É importante observar que a
porta original está livre para receber outras solicitações de conexão. A imagem abaixo demonstra o
mesmo canal de comunicação.
O modelo de referência OSI foi criado pela ISO em 1978 para construir sistemas de conexão entre
dispositivos através da padronização de protocolos e padrões, que é um padrão global e modelo
conceitual desde 1984. Este modelo propõe um esquema de trabalho conjunto entre hardware e software
para permitir a comunicação entre dispositivos. No entanto, o modelo OSI é mais teórico do que prático.
livro amplamente recomendado sobre arquitetura em camadas é "Patterns of Enterprise Application
Architecture" (Padrões de Arquitetura de Aplicações Corporativas) de Martin Fowler(2003). Embora o livro
não se concentre exclusivamente na arquitetura em camadas, aborda vários padrões arquiteturais comuns
, incluindo a arquitetura em camadas, e fornece uma compreensão sólida dos princípios e práticas
envolvidos na construção de sistemas de software escaláveis e robustos.
É responsável por definir o formato de troca de dados entre computadores, atuando como conversor de
protocolos, criptografia, compactação de dados, entre outras tarefas.
Uma sessão é um canal de comunicação entre dois aplicativos executados em computadores diferentes. A
camada de sessão é responsável por gerenciar conversas entre aplicações para que elas possam abrir,
usar e fechar sessões. É nesta camada que são executadas as funções de reconhecimento de nomes e
segurança.
É responsável pela integridade dos pacotes de informações e garante uma comunicação confiável. Esta
integridade é conseguida graças ao sinal ACK enviado entre as duas partes (sinal que confirma que a
comunicação ocorreu corretamente, do receptor ao transmissor). O protocolo TCP é executado nesta
camada
É usado para identificar o endereço de um sistema em uma rede e realmente transferir dados. A camada
de rede deve conhecer o meio físico da rede e empacotar as informações de forma que a camada de
enlace possa enviá-las para a camada física. Em muitas redes, esta camada não verifica a integridade da
informação, apenas a encapsula.
É utilizado para definir como a informação é transmitida através da camada física e garante o bom
funcionamento desta camada. Se houver erros na transmissão de informações no meio físico, como cabos
danificados ou colisões de dados, a camada MAC deverá tratar esses erros ou comunicá-los às camadas
superiores.
Consiste em hardware como cabos, fibras ópticas e conectores usados ??para conectar diferentes
sistemas de rede. Nesta camada, as informações são codificadas na forma de sinais elétricos
Um livro recomendado sobre o modelo Ethernet é "Ethernet: The Definitive Guide" (2000) de Charles E.
Spurgeon. Este livro fornece uma visão geral abrangente da tecnologia Ethernet, incluindo seu histórico,
capacidades, padrões e protocolos relacionados. As redes Ethernet podem transportar até 1.500 bytes de
dados. Portanto, o sistema operacional configura automaticamente o protocolo IP para criar um datagrama
de 1.500 bytes em vez de 65.535 bytes (o tamanho real do datagrama é 1.497 porque a camada LLC usa
3 ou 5 bytes para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, o que equivale à
Interface de Rede do modelo TCP/IP. Sobre o modelo Ethernet é "Ethernet: The Definitive Guide" de
Charles E. Spurgeon(2000). Este livro oferece uma visão abrangente da tecnologia Ethernet, incluindo sua
história, funcionamento, padrões e protocolos associados. A camada LLC (Logical Link Control) é
responsável por adicionar informações sobre qual protocolo da camada Internet é responsável pela
geração dos dados. Desta forma, durante o processo de recepção de dados, o computador receptor pode
saber qual protocolo deve ser utilizado na camada Internet para receber os dados. A camada MAC (Media
Access Control) é responsável pela montagem dos frames que serão enviados para a rede. Esta camada
é responsável por adicionar os endereços MAC de origem e destino ao pacote (o endereço físico da placa
de rede). Quando os pacotes são enviados para uma rede diferente da rede local, o endereço MAC
inserido como destino será o endereço MAC do roteador a ser usado. Os protocolos que definem esta
camada são IEEE 802.3 (para redes com cabos físicos) e IEEE 802.11 (no caso de redes sem fio). A
camada física é a camada mais baixa do modelo TCP/IP. É responsável por converter os frames gerados
pela camada MAC em sinais elétricos (para redes com cabos físicos) ou sinais eletromagnéticos (para
redes sem fio). No IEEE, a camada física é definida pelo mesmo protocolo da camada MAC. Segundo
BEZERA (2008), o padrão Ethernet especifica a camada de enlace e a camada física. No final do
empacotamento, os dados conterão cabeçalhos para todas as camadas do modelo TCP/IP, bem como
cabeçalhos para a subcamada Ethernet.
3.13 PROTOCOLOS
Os protocolos de rede desempenham diversas funções essenciais para garantir a comunicação eficiente
entre dispositivos. Uma dessas funções é a fragmentação dos dados a serem transmitidos em pequenos
pedaços chamados pacotes. Cada pacote contém informações de endereçamento que especificam a
origem e o destino. Este protocolo organiza as fases de estabelecimento, controle, fluxo e encerramento
da troca de informações.
As funções específicas dos protocolos variam conforme a camada do modelo OSI, mas algumas funções
podem ser executadas em múltiplas camadas, ainda que com diferentes contextos e objetivos (MPR/JAR,
2003).
As principais funções dos protocolos incluem:
Endereçamento: Especificação clara do ponto de destino da mensagem.
Estabelecimento: Criação de um canal lógico fechado entre a fonte e o destino.
Numeração e Sequência: Individualização de cada mensagem por meio de números sequenciais.
Confirmação de Recepção: Garantia de que o destinatário recebeu a mensagem, com ou sem erro.
Controle de Erro: Detecção e correção de erros na transmissão.
Retransmissão: Reenvio de mensagens em caso de falha na recepção.
O conjunto de protocolos utilizados para comunicação entre computadores pela Internet, também
conhecido como conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo norte-
americano para permitir a comunicação entre diferentes redes constituídas por diversos tipos de
computadores. A família de protocolos TCP/IP é particularmente popular porque não pertence a nenhum
fornecedor específico. Portanto, é amplamente apoiado pelo mercado
TCP significa Transmission Control Protocol e refere-se ao sistema mais comum para envio de pacotes na
Internet. Quando você visita um site, seu computador envia dados para o servidor, solicitando que o
servidor envie o conteúdo da página para a máquina que você está usando ? as informações enviadas de
volta são ?emendadas? pelo navegador para exibir o que você deseja
Segundo Scrimger et al., as principais características do TCP são: (2 002) são a transferência de dados,
robustez, controle de fluxo, multiplexação, conexões lógicas e o fato de ser full duplex.
Streaming de dados: o aplicativo pode confirmar se todos os segmentos de dados transmitidos pelo TCP
atingiram o destino esperado e informar se a operação foi bem-sucedida
Robustez: Se os segmentos chegarem fora de ordem, o TCP do receptor irá agrupá-los
Controle de fluxo: O receptor envia uma mensagem confirmando o recebimento ao receber um segmento
Multiplex: uso paralelo das portas de comunicação
Conexão lógica: Identificada pelos processos de envio e recebimento, através de uma combinação de
mecanismos TCP
Full duplex: os dados podem ser transmitidos em ambas as direções simultaneamente
O TCP também emprega seu próprio sistema de numeração para garantir que os pacotes enviados
cheguem ao seu destino na ordem correta. Caso o pacote não seja recebido corretamente pelo receptor, a
informação é enviada novamente até chegar ao seu destino com segurança ? e o mais importante, há
uma verificação de erros para garantir que nenhuma informação foi corrompida durante a transmissão
É exatamente isso que se destaca neste protocolo: confiabilidade. Graças ao TCP, os downloads que você
faz não são corrompidos por flutuações na velocidade da conexão, e as páginas visitadas pelo navegador
raramente carregam algum elemento acidentalmente ? a menos, é claro, que uma das máquinas seja
usada para trocar dados no processo. estiver temporariamente off-line, você receberá uma mensagem de
erro e não poderá acessar o conteúdo desejado.
UDP (User Datagram Protocol) é o ?irmão? do protocolo TCP e também se baseia no envio de pacotes de
informações, mas elimina todas as partes de verificação de erros das outras tecnologias. O objetivo desta
opção é acelerar o processo de envio de dados, pois todas as etapas de comunicação necessárias para
verificar a integridade do pacote (e reenviar o pacote, se necessário) causam lentidão.
Quando o protocolo UDP é ativado, ele simplesmente envia as informações para o receptor sem se
preocupar se as informações foram recebidas corretamente - caso ocorra um erro, o próximo pacote
programado pelo sistema simplesmente será enviado, e o pacote anterior não será capaz recuperar.
Embora este método de operação aumente o risco de erros, garante uma comunicação rápida entre os
dois computadores.
Pelas suas características, este protocolo é amplamente utilizado em situações onde a correção de erros
não é totalmente necessária. Por exemplo, durante a transmissão de um vídeo ao vivo, é mais
interessante que uma pessoa perca certas partes ou tenha que lidar com distorções de imagem e áudio do
que esperar para receber um pacote perdido ? o que pode acabar com o fator ?tempo?. . real".
O protocolo UDP fornece um serviço de entrega sem conexão e não é confiável ao usar IP para transmitir
datagramas entre máquinas( COMER,2006)
O UDP também é amplamente utilizado em jogos online ? se você perder alguns pacotes, o personagem
da outra parte pode ?teletransportar-se? para a tela, mas você não tem motivo para receber os dados
perdidos porque o jogo continuará mesmo que eles não cheguem para você . O que importa é o que está
acontecendo agora, não o que aconteceu há poucos minutos, então não faz sentido confiar na verificação
de erros, que só aumentará a latência para os participantes.
HTTP é um protocolo da camada de aplicação que usa a porta de rede 80. Permite a transmissão de
dados na forma de texto simples, hipertexto, áudio, vídeo, etc. É utilizado em ambientes onde há uma
transição rápida de um documento para outro, como uma página da Internet. Este protocolo possui
características semelhantes aos protocolos FTP e SMTP e permite a transferência de arquivos utilizando
serviços TCP. Porém, é muito mais simples que o FTP, usando apenas uma conexão TCP, porta 80.
Através desta porta, os dados são transmitidos entre o cliente e o servidor
As mensagens HTTP não estão diretamente disponíveis aos usuários. Eles são interpretados pelo cliente
HTTP ? o navegador. A ideia do HTTP é que o cliente envie uma solicitação ao servidor na forma de uma
mensagem, e o servidor envie uma resposta ao cliente na forma de uma mensagem.
O protocolo HTTPS (Hypertext Transfer Protocol Secure) é uma extensão do protocolo HTTP usado para
comunicação segura na World Wide Web. Ele utiliza uma combinação de criptografia SSL/TLS para
garantir a confidencialidade e integridade dos dados transmitidos entre o cliente (geralmente um
navegador da web) e o servidor web.
Quando uma conexão HTTPS é estabelecida, o servidor web envia um certificado digital para o cliente,
que contém uma chave pública. O cliente usa essa chave pública para criptografar uma chave de sessão
simétrica, que é então enviada de volta ao servidor. A partir desse ponto, a comunicação entre o cliente e
o servidor é criptografada usando essa chave de sessão.
O HTTPS oferece várias vantagens sobre o HTTP tradicional, incluindo:
1.Segurança dos dados: A criptografia SSL/TLS protege os dados durante a transmissão, impedindo que
terceiros interceptem ou modifiquem as informações transmitidas.
2.Autenticação do servidor: O uso de certificados digitais permite que o cliente verifique a identidade do
servidor, garantindo que este seja realmente quem afirma ser.
3.Integridade dos dados: Os dados transmitidos por meio do HTTPS são protegidos contra alterações não
autorizadas durante a transmissão.
4.Confiança do usuário: A presença do cadeado verde e do "https://" na barra de endereço do navegador
transmite confiança aos usuários, indicando que a conexão é segura.
O uso do HTTPS é essencial para proteger informações sensíveis, como dados de login, informações de
pagamento e outras informações pessoais dos usuários durante a comunicação na web. Nos dias de hoje,
é amplamente adotado e incentivado por organizações e empresas em todo o mundo.
3.20 PROTOCOLO IP
Este protocolo é responsável por endereçar o pacote para transmissão, adicionando um cabeçalho,
permitindo que o pacote seja roteado pela rede até ser entregue ao destino correto. Os pacotes IP contêm
o endereço IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar
erros e um TTL (informação em segundos) sobre quanto tempo um pacote pode permanecer na rede para
evitar loops infinitos de tráfego). Slinger et al. (2002, p. 107) Um endereço IP é semelhante ao endereço
que você usa para enviar e-mail. ?O endereço deve conter todos os dados necessários para a entrega.
Caso contrário, a carta não chegará ao destino correto.
O roteamento de pacotes pode ser estático ou dinâmico. Em pequenas redes locais, é utilizado o
roteamento estático, o que significa que o caminho que um datagrama percorre para chegar ao seu
destino é sempre o mesmo. Na Internet, o roteamento é dinâmico, o que significa que os roteadores
podem alterar a rota de um pacote a qualquer momento se um caminho melhor para o destino estiver
disponível. A melhor rota é aquela que requer menos saltos (roteadores intermediários), mas rotas mais
curtas não são necessariamente mais rápidas.
O protocolo FTP é usado para acessar arquivos remotos na Web, bem como no servidor de arquivos local
de uma empresa. Quando baixamos arquivos, geralmente usamos o protocolo FTP. Também pode ser
usado para fazer upload de arquivos do seu computador para a web. O protocolo FTP permite transferir
arquivos pela Internet. Existem vários programas gratuitos na Internet que fornecem serviços FTP. Com
ele você pode transferir arquivos, autenticar usuários e gerenciar arquivos e diretórios, segundo Falbriard
(2002), os protocolos utilizados nas redes de comunicação definem conjuntos de regras que coordenam e
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks"(2020) de Russ White e Ethan Banks. Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas.
Como você viu, um protocolo é um conjunto de regras sobre como ocorre a comunicação entre as partes.
Para reduzir a complexidade de um projeto, a maioria das redes foi organizada em uma série de níveis ou
camadas e colocadas dentro de um nível. O número, nome, conteúdo e funcionalidade de cada camada
variam de rede para rede. Entretanto, em todas as redes, o objetivo de cada camada é fornecer
determinados serviços às camadas superiores.
Um livro atual e relevante sobre hierarquia de rede é "Computer Networking Problems and Solutions: An
innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este livro
oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando questões de
projeto, operação e solução de problemas em redes hierárquicas
A camada N de uma máquina se comunica com a camada N de outra máquina. Para isso, baseia-se em
um conjunto de convenções e regras que permitem gerenciar essa comunicação, o que é denominado
protocolo de camada N, ou protocolo N, abreviadamente.
Em máquinas diferentes, entidades na mesma camada são chamadas de "pares." Esses pares se
comunicam utilizando um protocolo específico. Contudo, os dados não são transferidos diretamente entre
os pares devido à ausência de um meio físico direto entre eles. Cada camada transmite os dados para a
camada imediatamente inferior até alcançar a camada final. Na última camada, a comunicação é realizada
através do hardware da rede, que é o meio físico de transmissão de dados. Em cada par, existe uma
interface que define as operações e serviços que a camada inferior deve fornecer à camada superior
adjacente.
A arquitetura de rede consiste em uma coleção de camadas que formam a estrutura da rede. A
especificação arquitetônica deve conter informações suficientes para permitir o desenvolvimento correto
da rede, tanto do ponto de vista de software quanto de hardware. No entanto, os detalhes de
implementação de cada camada e a especificação detalhada da interface não fazem parte da definição da
arquitetura da rede; em vez disso, é um conjunto de regras que controla o formato e o significado das
informações trocadas pelas entidades pares dentro de uma camada. As entidades utilizam protocolos para
implementar suas definições de serviço e têm a liberdade de modificar seus protocolos, desde que não
alterem os serviços visíveis aos seus usuários.
3.24 HARDWARE
Um livro atual sobre hardware de redes de computadores é "Computer Networking Problems and Solutions
: An innovative approach to building resilient, modern networks" de Russ White e Ethan Banks(2020). Este
livro oferece uma abordagem prática e moderna para a construção de redes resilientes, abordando
questões de projeto, operação e solução de problemas em redes hierárquicas
Hardware de rede, ou equipamento de rede, refere-se ao equipamento que facilita e suporta a utilização
de redes de computadores, ou seja, o meio físico necessário à comunicação entre os diversos
componentes participantes da rede.
Switches;
Roteadores;
Concentradores;
Repetidores;
Adaptadores de rede;
Modem;
Gateway;
Bridge;
Firewall;
Pontos de acesso sem fio;
Entre outros hardwares relacionados
3.25 SWITCHES
Um switch é um dispositivo usado para encaminhar pacotes de dados entre diferentes nós. Possuem
portas semelhantes a um hub (concentrador), a principal diferença é que o switch segmenta a rede
internamente, pois cada porta corresponde a um domínio de colisão diferente, eliminando assim colisões
entre pacotes vindos de diferentes segmentos de rede.
3.26 HUBS
3.27 ROTEADORES
Um roteador é um dispositivo que encaminha pacotes de dados entre redes de computadores, criando um
conjunto de redes sobrepostas. Os roteadores se conectam a duas ou mais linhas de dados de redes
diferentes. Os roteadores têm muitas funções, mas a mais comum que todos conhecem é a possibilidade
de conexões sem fio. As redes sem fio são amplamente utilizadas hoje em dia porque são mais práticas.
Sua principal desvantagem está relacionada ao hacking, pois os hackers podem ver onde existe a rede
sem fio e, portanto, comprometer facilmente a rede e os computadores que possam estar conectados a ela
.
O cabeamento estruturado é uma abordagem padronizada para cabeamento de rede que leva em
consideração padrões de segurança (como ANSI e EIA/TIA), melhores práticas e melhor utilização dos
recursos do equipamento, permitindo o redirecionamento através de diferentes caminhos dentro da
mesma estrutura de cabeamento para rotear os fios. entre diferentes pontos. A comunicação é uma das
principais características do cabeamento estruturado, conceito que surgiu nos serviços técnicos de voz,
mas, graças à sua ampla adoção por empresas e organizações criadas por meio da padronização,
rapidamente se tornou a solução para os mais diversos serviços de dados.
A maioria dos padrões são internacionais, por isso são desenvolvidos por instituições e associações
respeitáveis, como IEEE (Instituto de Engenheiros Elétricos e Eletrônicos), TIA (Associação da Indústria de
Telecomunicações) e EIA (Associação da Indústria Eletrônica).
ANSI/TIA/EIA-1005 ? Telecommunications Infrastructure Standard for Industrial Premises;
ANSI/TIA-606-A ? Admi nistration Standard for Commercial Telecommunications Infrastructure;
ANSI/TIA-607-B ? Telecommunications Grounding (Earthing) and Bonding for Customer Premises;
ANSI/TIA-758-A ? Customer-Owned Outside Plant Telecommunications Infrastructure Standard;
ANSI/TIA-862 ? Building Automation Systems Cabling Standard for Commercial Buildings;
IEEE-100BASE-TX ? Fast Ethernet;
TIA 569 -B ? Commercial Building Standard for Telecommunications Pathways and Spaces;
TIA/EIA-568-C.0 ? Generic Telecommunications C abling for Customer Premises;
TIA/EIA-568-C.3 ? Optical Fiber Cabling Components Standard.
TIA-942 ? Telecommunications Infrastructure Standard for Data Center;
Todos esses padrões definem o tipo de cabo utilizado, bem como os limites e requisitos
(distância, segmentos, frequência etc.) que a estrutura deve atender para garantir o
funcionamento adequado.
Os mais comuns que utilizamos hoje são os cabos trançados e de fibra óptica, que são escolhidos com
base nos objetivos do negócio, ou seja, o tipo de rede com a qual estamos lidando.
Consiste em fio de cobre condutor coberto com material isolante e rodeado por uma camada de blindagem
. Utilize conectores BNC. Apesar da sua capacidade de reduzir o impacto de influências e sinais externos
nos sinais que transmite, caiu em desuso e só existe em algumas redes mais antigas por serem mais
propensas a maus contactos, terem conectores mais caros e serem menos flexíveis.
O cabo de par trançado é sem dúvida o cabo mais conhecido e ?masterizado? entre os especialistas em
TI, principalmente por ser o cabo utilizado para implementação de redes há muitos anos. Uma de suas
maiores vantagens é o baixo custo e a facilidade de aquisição de produtos prontos ou sob medida.
Os cabos de fibra óptica são projetados para atender tecnologias mais modernas e oferecem uma série de
vantagens, a começar pelo fato das fibras ópticas serem imunes a interferências eletromagnéticas e, claro
, pela capacidade de transmitir dados em altas taxas. O tipo mais rápido de transmissão existente converte
um sinal de dados em luz, e um receptor que recebe a luz converte esse sinal novamente em dados. Por
outro lado, pode transmitir grandes quantidades de informação com atenuação muito baixa, mas é caro
para adquirir e manter. Eles são divididos em monomodo que só consegue fornecer um sinal por vez,
menor dispersão e pode ficar muitos quilômetros entre um relé e outro e multimodo
Um livro contemporâneo sobre serviços de rede é "Networking for Systems Administrators" (2017), de
Michael W. Lucas. Esta obra aborda diversos aspectos relacionados à configuração, administração e
manutenção de serviços de rede como DNS, DHCP, FTP, SSH e email. Destina-se especialmente a
administradores de sistemas que necessitam gerenciar e manter infraestruturas de rede.
Um serviço de rede é um conjunto de operações implementadas por um protocolo através de uma
interface e fornecidas à camada superior. Ele define as operações que uma camada pode realizar sem se
preocupar com a execução específica dessas operações. Os serviços podem ser classificados em
orientados à conexão ou não. Os serviços relacionados à família TCP são orientados à conexão, enquanto
os serviços associados à família UDP não possuem essa característica.
Os serviços de rede podem ser divididos em duas categorias principais: serviços orientados à conexão e
serviços sem conexão. Além desses, existem outros tipos de serviços, como DHCP, que atribui
automaticamente um endereço IP válido para cada dispositivo conectado à rede, e DNS, que permite o
uso de strings em vez de endereços IP numéricos para identificar recursos na Internet.
Os serviços orientados à conexão utilizam o protocolo TCP. Antes do envio de dados, ocorre um processo
de handshaking, que estabelece uma conexão confiável entre os hosts. Esse processo prepara o receptor
para a recepção de dados. Durante essa conexão, é possível verificar se todos os pacotes foram
entregues corretamente e, se necessário, solicitar o reenvio de pacotes perdidos. Esse mecanismo
garante uma transmissão de dados confiável. Adicionalmente, o controle de fluxo e o gerenciamento de
congestionamento são realizados para assegurar que o receptor não seja sobrecarregado e que a rede
não sofra com congestionamentos.
Os serviços sem conexão utilizam o protocolo UDP. Nesse caso, não há um processo de handshaking, o
que significa que não é possível garantir que todos os pacotes cheguem ao destino, pois não se
estabelece uma conexão prévia. Consequentemente, não há criação de um canal seguro para a
transferência de dados. Embora esse método seja mais rápido devido à ausência do processo de
handshaking, ele é menos confiável e não oferece as funcionalidades de controle de fluxo e
gerenciamento de congestionamento presentes no TCP. Exemplos de aplicações que utilizam UDP
incluem vídeo e teleconferências pela Internet.
4. DESENVOLVIMENTO
5. RESULTADOS E DISCUSSÃO
Um livro brasileiro atualmente muito utilizado para estudo de desenvolvimento de ferramentas para
comunicação em rede é "Redes de Computadores e a Internet: Uma Abordagem Top-Down" de James F.
Kurose e Keith W. Ross(2010), na sua versão traduzida para o português. Este livro é amplamente no
estudo do tema em redes de computadores no Brasil.
O desenvolvimento de uma ferramenta para comunicação em rede é de extrema importância por várias
razões:
Comunicação Eficiente: Permite a comunicação rápida e eficiente entre diferentes dispositivos, usuários ou
sistemas em uma rede, facilitando a troca de informações, compartilhamento de recursos e colaboração
em tempo real.
Integração de Sistemas: Uma ferramenta de comunicação em rede pode integrar sistemas heterogêneos,
permitindo que eles se comuniquem e compartilhem dados de maneira harmoniosa, melhorando a
interoperabilidade e a eficiência operacional.
Acesso Remoto: Facilita o acesso remoto a recursos e informações, permitindo que usuários acessem
dados ou sistemas de qualquer lugar, a qualquer momento, desde que estejam conectados à rede, o que
aumenta a flexibilidade e a mobilidade.
Colaboração: Promove a colaboração e o trabalho em equipe, possibilitando a comunicação instantânea e
a troca de informações entre colegas, equipes de trabalho ou parceiros de negócios, independentemente
da localização geográfica.
Distribuição de Recursos: Permite a distribuição eficiente de recursos, como impressoras, servidores de
arquivos, bancos de dados e dispositivos de armazenamento, dentro de uma rede, otimizando o uso dos
recursos disponíveis.
Monitoramento e Gerenciamento: Facilita o monitoramento e o gerenciamento de dispositivos, sistemas e
infraestrutura de rede, permitindo a detecção precoce de problemas, manutenção proativa e otimização do
desempenho da rede.
Segurança da Informação: Uma ferramenta de comunicação em rede pode implementar recursos de
segurança, como criptografia, autenticação, controle de acesso e monitoramento de tráfego, para proteger
os dados e garantir a confidencialidade, integridade e disponibilidade das informações.
Inovação e Desenvolvimento Tecnológico: O desenvolvimento contínuo de ferramentas para comunicação
em rede impulsiona a inovação e o desenvolvimento tecnológico, permitindo a criação de novas aplicações
, serviços e soluções que atendam às necessidades em constante evolução dos usuários e organizações.
Em resumo, o desenvolvimento de uma ferramenta para comunicação em rede é essencial para facilitar a
comunicação, promover a colaboração, otimizar o uso de recursos, garantir a segurança da informação e
impulsionar a inovação e o desenvolvimento tecnológico.
6. CONSIDERAÇÕESFINAIS
Neste capítulo, observamos três conceitos principais: Primeiro, um soquete é um ponto de comunicação
usado para transferir dados pela Internet entre aplicações executadas em máquinas diferentes. A
programação de aplicações socket é feita utilizando um conjunto de primitivas, que são funções que
permitem acesso a serviços de transporte e são fornecidas pela camada de transporte. Eles são
comumente usados ??em programação para Internet e pertencem a um grupo de primitivos chamados
Berkeley Sockets.
Essas funções são usadas para programar aplicativos cliente e servidor (embora existam algumas
diferenças de programação entre os dois) e, embora existam muitas, apenas as primitivas básicas
necessárias inicialmente para desenvolver uma aplicação cliente/servidor serão usadas, em segundo lugar
, vemos que a arquitetura TCP/IP é independente da tecnologia usada para transmitir quadros e introduz
dois níveis de endereçamento: IP, que permite o endereçamento de rede, e portas, que permitem o
endereçamento de processos. Por sua vez, os protocolos de aplicação fornecem padronização entre
mensagens trocadas entre clientes e servidores para permitir a interoperabilidade entre produtos de
diferentes fabricantes.
Finalmente, o modelo em camadas fornece uma estratégia comum para múltiplas tecnologias de
transporte, incluindo TCP/IP. Idealmente, o modelo em camadas define que os protocolos da mesma
camada são concorrentes (não são usados ??ao mesmo tempo) e os protocolos de camadas diferentes
são complementares (seus cabeçalhos podem ser empilhados).
REFERÊNCIAS
KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma Abordagem Top-Down. 5ª ed.
Pearson, 2010.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de Computadores: Das LANs
, MANs e WANs às Redes ATM. Editora Campus, 1997. p. 28.
TAROUCO, Liane M. R. Redes de Computadores Locais e de Longa Distância. Editora McGraw-Hill, 1986.
p. 53.
TORRES, G. Redes de Computadores: Das LANs, MANs e WANs às Redes ATM. Axcel Books, 2003.
WHITE, R.; BANKS, E. Computer Networking Problems and Solutions: An Innovative Approach to Building
Resilient, Modern Networks. Wiley, 2020.
ANEXOS
37