You are on page 1of 15

UNIVERSIDADE ESTCIO DE S CAMPUS NOVA AMRICA

SISTEMAS DISTRIBUDOS

SOCKETS E TCP/IP EM SISTEMAS


HISTRIA, CONCEITOS E DEMOSTRAO

HISTRIA
TCP
Transmission Control Protocol ou Protocolo de Controle de Transmisso

Em maio de 1974, o IEEE (Instituto de Engenheiros Eletricistas e Eletrnicos) publicou um artigo intitulado "A Protocol for Packet Network Interconnection." Os autores do artigo, Vinton G. Cerf e Bob Kahn descreveram um protocolo de interconexo para compartilhamento de recursos usando comutao de pacotes ao longo dos ns. Um componente central de controle deste modelo foi o Transmission Control Program, que incorporou os elos de ligao e servios orientados para datagrama entre hosts.

HISTRIA

IP

Internet Protocol ou Protocolo de internet

O protocolo internet (IP), definido e aprovado pelo DoD (Departamento de Defesa Americano), foi concebido para uso em sistemas de computao interconectados atravs de comutao de pacotes [RFC791] As primeiras redes a se utilizarem do IP foram a ArpaNET (Rede militar de pesquisa, financiada pela ARPA - Advanced Research Projects Agency) e a NSFNet (Rede acadmica de pesquisa, financiada pela NSF - National Science Foundation).

HISTRIA
SOCKETS
Nasceu com o UNIX BSD4, EM 1981. So explicitamente criados, usados e liberados por aplicaes Cliente Servidor atravs de API Os projetistas tentaram usar ao mximo as chamadas de sistema do Unix Hoje est Implementada em vrios Sistemas Operacionais. Programar com sockets pode ser visto como desenvolver um protocolo de aplicao

CONCEITOS

DEFINIO
Socket o ponto final de um enlace de comunicao estabelecido entre dois programas que se comunicam em rede; Sua interface de programao utiliza o conceito de portas de comunicao; O socket associado a um nmero de forma a tornar possvel camada TCP localizar a aplicao que deve receber os dados.

CONCEITOS PRINCIPAIS FUNES DA API


socket connect write read close bind listen
Cria um novo descritor para comunicao Iniciar conexo com servidor Escreve dados em uma conexo L dados de uma conexo Fecha a conexo Atribui um endereo IP e uma porta a um socket

Coloca o socket em modo passivo, para escutar portas Bloqueia o servidor at chegada de requisio de accept conexo recvfrom Recebe um datagrama e guarda o endereo do emissor Envia um datagrama especificando o endereo sendto

CONCEITOS Servio com Conexo (TCP)


Servidor
socket () bind () listen () accept ()
bloqueado

Cliente
socket () connect () write ()

read () write () read () close ()

close ()

CONCEITOS
Servio com Conexo (UDP)
socket () bind () recvfrom ()
bloqueado

Cliente
socket ()

sendto ()

sendto () close ()

recvfrom () close ()

CONCEITOS

Sockets em Perl
Perl modernizou a API para trabalhar com sockets. O programador no precisa chamar todas as funes, algumas chamadas so automticas. Sockets so implementados na biblioteca IO::Socket::INET cpan A transmisso e o envio de dados so feitos atravs de biblioteca IO::Socket::INET de maneira semelhante escrita e leitura em arquivos

DEMONSTRAO

Exemplo Aplicao Server server.pl


#! /usr/bin/perl # server.pl
use IO::Socket::INET use strict;

my $server_socket = IO::Socket::INET->new( 'LocalPort' => 760', 'Proto' => 'tcp', 'Reuse' => 1, 'Listen' => SOMAXCONN ) or die "No foi possvel criar o socket. ($!)\n"; print "Servidor iniciado.\n"; while (my $cliente = $server_socket->accept){ while (<$cliente>) { print "Mensagem recebida: $_"; print $cliente "Mensagem enviada: $_ "; }

DEMONSTRAO

Exemplo Aplicao Server client.pl


#! /usr/bin/perl # client.pl
use IO::Socket::INET; use strict; my $cliente_socket = IO::Socket::INET->new( 'PeerAddr' => '192.168.2.201', 'PeerPort' => 760', 'Proto' => 'tcp' ) or die "No foi possvel criar o socket. ($!)\n";

print "Digite sua mensagem e aperte enter.\n";


while (<STDIN>) {print $cliente_socket $_; print scalar <$cliente_socket>;}

DEMONSTRAO
VIDEO DEMOSTRANDO A CONEXO ATRAVS DE SOCKETS TCP / IP
CONCEITOS PARA CRIAO DO VDEO

TTULO PARA O VIDEO DEMOSTRATIVO

BIBLIOGRAFIA
Programao com Sockets - Carlos Alberto Kamienskim e Djamel Sadok - CIn/UFPE Criao do IO::Socket::INET Guinter Giuliano http://www.vivaolinux.com.br/artigo/Manipulacao-de-sockets-emPerl-usando-o-IOSocketINET/ www.penta.ufrgs.br/Esmilda/origem.html http://pt.wikipedia.org/wiki/TCP/IP Francisco Jos da Silva e Silva http://www.deinf.ufma.br/~fssilva/graduacao/sd/aulas/send_receive.pdf

EQUIPE DE COLABORADORES:
Eduardo Tasca - Tascaedutasca@gmail.com Felipe Azevedo - felipeazevedo@loc.com.br Gabriel - gefesp@gmail.com Leandro Costa - lscosta@gmail.com Luciano - lucianolv9@gmail.comMeus contatosEstcio - Grupo SD Marcelo Sanches - marcelodeoliveirasanches@gmail.com Marcio - jmmjf@oi.com.br Marco Antonio Ferreira - macfl@hotmail.com Marcos Alexandre dos Santos Costa masc.info@gmail.com Paulo Cesar - paulo.cesar@clinicasalus.com.br Ricardo Nunes - ricardorsn@yahoo.com.br Tiago Marques - tiago.marques@globomail.com

You might also like