1. PROF. MSC. LUIZ OTÁVIOPROF. MSC. LUIZ OTÁVIO
Redes de Computadores TCP/IPRedes de Computadores TCP/IP
2. 30/09/13Prof. Luiz Otávio B. Lento 2
EmentaEmenta
Redes de Alta Velocidade; Redes Sem Fio (Wireless)Redes de Alta Velocidade; Redes Sem Fio (Wireless)
Redes Digitais. Redes ATM. Redes com QualidadeRedes Digitais. Redes ATM. Redes com Qualidade
de serviço (QoS); Protocolo de reserva de dede serviço (QoS); Protocolo de reserva de de
recurso (RSVP); Redes Virtuais Privadas (VPN);recurso (RSVP); Redes Virtuais Privadas (VPN);
Intranets; Linhas Digitais por assinatura;Intranets; Linhas Digitais por assinatura;
Roteamento IP; Algoritmos; Outros Protocolos.Roteamento IP; Algoritmos; Outros Protocolos.
3. BibliografiaBibliografia
Comer, Douglas E., Interligação em RedesComer, Douglas E., Interligação em Redes
com TCP/IP Vol.1, Rio de Janeiro, Ed.com TCP/IP Vol.1, Rio de Janeiro, Ed.
CampusCampus
Tanenbaum, Andrew S., Redes deTanenbaum, Andrew S., Redes de
Computadores, Rio de Janeiro, Ed. CampusComputadores, Rio de Janeiro, Ed. Campus
Lewis, Chris, Cisco TCP/IP RoutingLewis, Chris, Cisco TCP/IP Routing
Professional Reference, Mcgraw-HillProfessional Reference, Mcgraw-Hill
Kurose, J. & Ross, K., “Redes deKurose, J. & Ross, K., “Redes de
Computadores uma Nova Abordagem”, 1Computadores uma Nova Abordagem”, 1aa
Edição, Ed.Edição, Ed. Pearson - Addison Wesley, 2003Pearson - Addison Wesley, 2003
30/09/13Prof. Luiz Otávio B. Lento 3
6. InternetworkingInternetworking é um esquema paraé um esquema para
interconectar várias redes de diferentesinterconectar várias redes de diferentes
tecnologiastecnologias
Logo, um sistema de redes interconectadasLogo, um sistema de redes interconectadas
é chamado deé chamado de Internetworking ou InternetInternetworking ou Internet
30/09/13Prof. Luiz Otávio B. Lento 6
8. 30/09/13Prof. Luiz Otávio B. Lento 8
Princípio da interconexão de camadas de redePrincípio da interconexão de camadas de rede
funcionalidade da rede em módulos independentesfuncionalidade da rede em módulos independentes
diversidade de tecnologias de LAN/WAN nas camadasdiversidade de tecnologias de LAN/WAN nas camadas
1 e 21 e 2 (modelo OSI)(modelo OSI) e camada de Acesso à Redee camada de Acesso à Rede
(modelo TCP/IP)(modelo TCP/IP)
diversidade de aplicações funcionando nas camadasdiversidade de aplicações funcionando nas camadas
5, 6 e 75, 6 e 7 (OSI)(OSI) e Camada de Aplicaçãoe Camada de Aplicação (TCP/IP)(TCP/IP)
9. •Fisicamente, aFisicamente, a interconexão de duas redesinterconexão de duas redes
é feita através de um computadoré feita através de um computador..
•Para que esta ligação não seja só física, oPara que esta ligação não seja só física, o
computador conectado às duas redes deverácomputador conectado às duas redes deverá
ter a capacidade de despachar pacotes deter a capacidade de despachar pacotes de
uma rede para a outrauma rede para a outra..
30/09/13Prof. Luiz Otávio B. Lento 9
10. •Estes computadores são chamados deEstes computadores são chamados de
gatewaysgateways (roteadores)(roteadores);;
30/09/13Prof. Luiz Otávio B. Lento 10
11. OBS: Para identificar uma máquina na rede, atribui-se um endereço IP para cada uma.
rede1 rede2
umarede
virtual
roteador
duasredesinterconectadaspor um roteador InternetA
Ex:para atuar como um roteador, este precisaEx:para atuar como um roteador, este precisa
capturar os pacotes da rede 1 que sãocapturar os pacotes da rede 1 que são
destinados a rede 2 e transferí-los, bem como odestinados a rede 2 e transferí-los, bem como o
inverso.inverso.
30/09/13Prof. Luiz Otávio B. Lento 11
12. •Em redes mais complexas osEm redes mais complexas os roteadoresroteadores
necessitam saber além das conexões diretasnecessitam saber além das conexões diretas;;
30/09/13Prof. Luiz Otávio B. Lento 12
13. •Ao contrário das tecnologias de rede proprietáriasAo contrário das tecnologias de rede proprietárias
mencionadas anteriormente, o TCP/IP foi projetadomencionadas anteriormente, o TCP/IP foi projetado
como umcomo um padrão abertopadrão aberto..
•Qualquer pessoa tinha a liberdade de usar oQualquer pessoa tinha a liberdade de usar o
TCP/IP, ajudando o seuTCP/IP, ajudando o seu rápido desenvolvimentorápido desenvolvimento..
•A arquitetura TCP/IPA arquitetura TCP/IP é semelhante às outrasé semelhante às outras
arquiteturas existentes, éarquiteturas existentes, é modelada em camadasmodelada em camadas..
Essa organização em camadas induz ao termoEssa organização em camadas induz ao termo
pilha de protocolospilha de protocolos. A arquitetura TCP/IP é. A arquitetura TCP/IP é
modelada emmodelada em quatro camadasquatro camadas..
TCP/IPTCP/IP
30/09/13Prof. Luiz Otávio B. Lento 13
15. Comparação OSI e TCP/IPComparação OSI e TCP/IP
O modelo OSI serviu comoO modelo OSI serviu como referênciareferência para a pilhapara a pilha
TCP/IP na sua composição.TCP/IP na sua composição.
30/09/13Prof. Luiz Otávio B. Lento 15
16. Comparação OSI e TCP/IPComparação OSI e TCP/IP
30/09/13Prof. Luiz Otávio B. Lento 16
18. Camada Internetwork, ou CamadaCamada Internetwork, ou Camada
Internet ou Camada de RedeInternet ou Camada de Rede
30/09/13Prof. Luiz Otávio B. Lento 18
19. A determinação do melhor caminho e a comutaçãoA determinação do melhor caminho e a comutação
de pacotes ocorrem nesta camadade pacotes ocorrem nesta camada
30/09/13Prof. Luiz Otávio B. Lento 19
20. •É responsável pelaÉ responsável pela transferência de dados datransferência de dados da
origem ao seu destinoorigem ao seu destino através de uma ou maisatravés de uma ou mais
sub-redes interconectadas desde a máquina desub-redes interconectadas desde a máquina de
origem até o seu destino;origem até o seu destino;
30/09/13Prof. Luiz Otávio B. Lento 20
21. •Recebe osRecebe os pedidos do nível de transportepedidos do nível de transporte
para transmitir pacotespara transmitir pacotes, que ao solicitar a, que ao solicitar a
transmissão, informa o endereço da máquinatransmissão, informa o endereço da máquina
onde o pacote será entregue;onde o pacote será entregue;
30/09/13Prof. Luiz Otávio B. Lento 21
23. •Projetado para permitir aProjetado para permitir a interconexão de redesinterconexão de redes
de computadores que utilizam a tecnologia dede computadores que utilizam a tecnologia de
comutação de pacotescomutação de pacotes;;
•É umÉ um protocolo sem conexões cuja a função éprotocolo sem conexões cuja a função é
transferir blocos de dados (datagramas)transferir blocos de dados (datagramas) dada
origem para o destinoorigem para o destino, onde esses são hosts, onde esses são hosts
identificados por endereços IP;identificados por endereços IP; 30/09/13Prof. Luiz Otávio B. Lento 23
25. •Pacotes enviados pelo IPPacotes enviados pelo IP podem serpodem ser perdidos,perdidos,
chegarem fora de ordem ou duplicadoschegarem fora de ordem ou duplicados, sendo, sendo
que este não trata estas situações,que este não trata estas situações, deixandodeixando
para camadas superiorespara camadas superiores;;
•ForneceFornece serviço deserviço de fragmentação e montagemfragmentação e montagem
de datagramas longosde datagramas longos, de forma que possam ser, de forma que possam ser
transmitidos através de redes onde o tamanhotransmitidos através de redes onde o tamanho
máximo permitido é pequeno;máximo permitido é pequeno; 30/09/13Prof. Luiz Otávio B. Lento 25
27. •Nenhum controle de erros é realizado, a nãoNenhum controle de erros é realizado, a não
ser o checksumser o checksum;;
30/09/13Prof. Luiz Otávio B. Lento 27
28. •Trabalha comTrabalha com roteamento distribuído nosroteamento distribuído nos
gatewaysgateways - os gateways recebem- os gateways recebem
informações locais sobre o tráfego, einformações locais sobre o tráfego, e
calculando novas tabelas;calculando novas tabelas;
30/09/13Prof. Luiz Otávio B. Lento 28
29. •O datagrama IP é oO datagrama IP é o pacote básico depacote básico de
transferência de informaçõestransferência de informações do protocolodo protocolo
Internet;Internet;
•Possui umPossui um cabeçalho contendo informaçõescabeçalho contendo informações
para o IP e dadospara o IP e dados que são relevantes somenteque são relevantes somente
para as camadas mais altas da arquitetura;para as camadas mais altas da arquitetura;
cabeçalho dados
Datagrama IPDatagrama IP
30/09/13Prof. Luiz Otávio B. Lento 29
30. •o datagrama IP éo datagrama IP é encapsuladoencapsulado numnum quadroquadro
de uma redede uma rede, normalmente com o seu tamanho, normalmente com o seu tamanho
limitado pelo frame (ex: Ethernet é de 1500limitado pelo frame (ex: Ethernet é de 1500
bytes);bytes);
cabeçalhodaredefísica datagramaIPcomodado
30/09/13Prof. Luiz Otávio B. Lento 30
31. •Ao invés de limitar o tamanho do datagrama IP,Ao invés de limitar o tamanho do datagrama IP,
negocia-se anegocia-se a fragmentação deste datagrama,fragmentação deste datagrama,
reagrupando-o no seu destinoreagrupando-o no seu destino;;
•Não são impostosNão são impostos tamanhos máximos para ostamanhos máximos para os
datagramas, porém sabe-se que subredes sãodatagramas, porém sabe-se que subredes são
capazes de manipular datagramas com tamanhocapazes de manipular datagramas com tamanho
mínimo de 576 bytesmínimo de 576 bytes;;
30/09/13Prof. Luiz Otávio B. Lento 31
32. •Fragmentos de um datagrama tem cabeçalhoFragmentos de um datagrama tem cabeçalho,,
basicamente copiado do datagrama originalbasicamente copiado do datagrama original, com, com
os seus respectivos dados;os seus respectivos dados;
•OsOs fragmentos são tratados como IPfragmentos são tratados como IP
datagramas normaisdatagramas normais, enquanto transportados, enquanto transportados
para o seu destino;para o seu destino;
30/09/13Prof. Luiz Otávio B. Lento 32
33. •Logo, se umLogo, se um fragmento for perdido, ofragmento for perdido, o
datagrama completo é considerado perdidodatagrama completo é considerado perdido;;
30/09/13Prof. Luiz Otávio B. Lento 33
34. • formato do datagrama IP
octeto1 octeto2 octeto3 octeto4
vers hlen servicetype totallenght
flagsidentification fragmentoffset
timetolive protocol headerchecksum
sourceIPaddress
destinationIPaddress
IPoptions(IFANY) padding
data
...
30/09/13Prof. Luiz Otávio B. Lento 34
35. ⇒versvers - identifica a versão do protocolo, o que- identifica a versão do protocolo, o que
determina o formato do cabeçalho internetdetermina o formato do cabeçalho internet
(versão atual 4.5, sendo que a versão 6 está(versão atual 4.5, sendo que a versão 6 está
em fase de experiência);em fase de experiência);
⇒hlenhlen - comprimento do cabeçalho, em- comprimento do cabeçalho, em
número de palavras de 32 bits, indicando onúmero de palavras de 32 bits, indicando o
início do campo de dados;início do campo de dados;
⇒service typeservice type - indicação dos parâmetros da- indicação dos parâmetros da
qualidade do serviço desejada, usada naqualidade do serviço desejada, usada na
seleção dos serviços de transmissão de dadosseleção dos serviços de transmissão de dados
das sub-redes;das sub-redes; 30/09/13Prof. Luiz Otávio B. Lento 35
36. PrecedênciaPrecedência – é a medida da natureza e– é a medida da natureza e
prioridade do datagrama Ex:prioridade do datagrama Ex:
000 - rotina000 - rotina
001 - prioridade001 - prioridade
011 - flash011 - flash
TOSTOS – especifca o tipo do serviço Ex:– especifca o tipo do serviço Ex:
0000 - serviço normal0000 - serviço normal
1000 - atraso mínimo1000 - atraso mínimo
MBZMBZ - deverá ser sempre 0 – reservado para- deverá ser sempre 0 – reservado para
uso futuro;uso futuro;
precedência TOS MBZ
0 1 2 3 4 5 6 7
30/09/13Prof. Luiz Otávio B. Lento 36
37. ⇒total lenghttotal lenght - fornece o comprimento de- fornece o comprimento de
todo o datagrama (cabeçalho e dados -todo o datagrama (cabeçalho e dados -
comprimento max. 65.535 octetos);comprimento max. 65.535 octetos);
⇒identificationidentification – valor único atribuído pela– valor único atribuído pela
origem, usado na montagem dos fragmentosorigem, usado na montagem dos fragmentos
do datagrama. Fragmentos de um datagramado datagrama. Fragmentos de um datagrama
possuem a mesma identificação;possuem a mesma identificação; 30/09/13Prof. Luiz Otávio B. Lento 37
38. ⇒flagsflags - serve ao controle de fragmentação,- serve ao controle de fragmentação,
indicando se um datagrama pode ou não serindicando se um datagrama pode ou não ser
fragmentado, e se houve fragmentação;fragmentado, e se houve fragmentação;
30/09/13Prof. Luiz Otávio B. Lento 38
39. 00 - deve ser sempre 0- deve ser sempre 0
DFDF (don’t fragment)(don’t fragment) - 0 - significa- 0 - significa
fragmentação; 1 - significa sem fragmentaçãofragmentação; 1 - significa sem fragmentação
MFMF (more fragments)(more fragments) - 0 - significa último- 0 - significa último
fragmento do datagrama; 1 - não é o últimofragmento do datagrama; 1 - não é o último
fragmento do datagramafragmento do datagrama
0 DF MF
30/09/13Prof. Luiz Otávio B. Lento 39
40. ⇒fragment offsetfragment offset – utilizado na– utilizado na
remontagem do datagrama originalremontagem do datagrama original..
→IndicaIndica a posição do fragmento dentroa posição do fragmento dentro
do datagrama originaldo datagrama original..
30/09/13Prof. Luiz Otávio B. Lento 40
41. →Este campo valeráEste campo valerá zero para datagramaszero para datagramas
não fragmentadosnão fragmentados e noe no primeiro fragmentoprimeiro fragmento
de um datagramade um datagrama..
→ Este posicionamento é medido emEste posicionamento é medido em
unidades de 8 octetos, 64 bytesunidades de 8 octetos, 64 bytes (os bytes(os bytes
do cabeçalho não são contados);do cabeçalho não são contados);
30/09/13Prof. Luiz Otávio B. Lento 41
42. ⇒time to livetime to live – determina o– determina o tempo de vidatempo de vida
de um datagrama numa rede internetde um datagrama numa rede internet
(medido em segundos).(medido em segundos).
→Cada máquina ao colocar um datagramaCada máquina ao colocar um datagrama
na rede, ela estabelece um tempo máximona rede, ela estabelece um tempo máximo
de vida do datagrama.de vida do datagrama.
30/09/13Prof. Luiz Otávio B. Lento 42
43. →A cada passagem por gateway, o tempo éA cada passagem por gateway, o tempo é
decrementado do tempo de processamentodecrementado do tempo de processamento
do pacotedo pacote (atualmente o roteador é capaz de(atualmente o roteador é capaz de
processar um datagrama em menos de 1processar um datagrama em menos de 1
segundo).segundo).
→ Quando esteQuando este valor chegar a zero, ovalor chegar a zero, o
datagrama será descartadodatagrama será descartado. Usado para. Usado para
eliminar datagramas que não chegarem aoeliminar datagramas que não chegarem ao
seu destino;seu destino;
30/09/13Prof. Luiz Otávio B. Lento 43
44. ⇒protocolprotocol - indica o protocolo de alto nível- indica o protocolo de alto nível
para o qual o IP irá liberar o dado em seupara o qual o IP irá liberar o dado em seu
datagrama;datagrama;
Ex:0 – reservado; 1 - ICMP; 2 - IGMP; 3 –Ex:0 – reservado; 1 - ICMP; 2 - IGMP; 3 –
GGP; 4 – IP encapsulado; 5 - Stream 6 – TCP;GGP; 4 – IP encapsulado; 5 - Stream 6 – TCP;
8 – EGP; 17- UDP; 89 – OSPF (Open Shortest8 – EGP; 17- UDP; 89 – OSPF (Open Shortest
Path First)Path First)
30/09/13Prof. Luiz Otávio B. Lento 44
45. ⇒headerheader checksumchecksum - utilizado pelos- utilizado pelos
gateways para verificar se asgateways para verificar se as informações doinformações do
cabeçalho estão corretascabeçalho estão corretas durante adurante a
transmissão ou atualização do cabeçalho (nãotransmissão ou atualização do cabeçalho (não
é incluído o dado). Com isso, o checksum éé incluído o dado). Com isso, o checksum é
recalculado e verificado a cada ponto onde orecalculado e verificado a cada ponto onde o
cabeçalho é processado;cabeçalho é processado;
30/09/13Prof. Luiz Otávio B. Lento 45
46. ⇒source e destination IP addresssource e destination IP address - origem e- origem e
destino do datagrama;destino do datagrama;
⇒if optionsif options – possui comprimento variado, e– possui comprimento variado, e
é utilizado paraé utilizado para discriminar as opções dediscriminar as opções de
datagramadatagrama. Utilizado em informações de. Utilizado em informações de
segurança, roteamento na origem, relatóriossegurança, roteamento na origem, relatórios
de erros, depuração, etc;de erros, depuração, etc;
30/09/13Prof. Luiz Otávio B. Lento 46
47. ⇒paddingpadding - garante que o comprimento do- garante que o comprimento do
cabeçalho do datagrama seja semprecabeçalho do datagrama seja sempre
múltiplo inteiro de 32 bits;múltiplo inteiro de 32 bits;
⇒datadata - dados.- dados.
30/09/13Prof. Luiz Otávio B. Lento 47
48. Fragmentação e montagem de datagramasFragmentação e montagem de datagramas
⇒uma mensagem entregue pela camada deuma mensagem entregue pela camada de
transporte (TCP ou UDP)transporte (TCP ou UDP) pode serpode ser
segmentada em vários datagramassegmentada em vários datagramas, de, de
acordo com oacordo com o tamanho máximo suportadotamanho máximo suportado
pela sub-rede consideradapela sub-rede considerada (as redes físicas(as redes físicas
possuem um tamanho máximo da área depossuem um tamanho máximo da área de
dados seu quadro -dados seu quadro - MMaximumaximum TTransmissionransmission
UUnitnit));;
30/09/13Prof. Luiz Otávio B. Lento 48
49. •Descrita na RFC 792 com atualizações na RFC 950Descrita na RFC 792 com atualizações na RFC 950
•OO ICMP tem como funcionalidadeICMP tem como funcionalidade possibilitar quepossibilitar que
roteadores interligados em redes possam informarroteadores interligados em redes possam informar
erros ou problemas inesperadoserros ou problemas inesperados que possam ocorrerque possam ocorrer
durante a transmissão de pacotesdurante a transmissão de pacotes. Porém, o ICMP. Porém, o ICMP
não torna o IP confiável;não torna o IP confiável;
ICMP (Internet Control Message Protocol)ICMP (Internet Control Message Protocol)
30/09/13Prof. Luiz Otávio B. Lento 49
50. Tipos de Mensagens ICMPTipos de Mensagens ICMP
30/09/13Prof. Luiz Otávio B. Lento 50
51. •O ICMPO ICMP utiliza outiliza o IP como se ele fosse umIP como se ele fosse um
protocolo de alto nívelprotocolo de alto nível. Logo, o ICMP é parte. Logo, o ICMP é parte
integrante da implementação do IP;integrante da implementação do IP;
•As mensagens ICMPAs mensagens ICMP trafegam pela parte detrafegam pela parte de
dados do datagrama IP;dados do datagrama IP;
30/09/13Prof. Luiz Otávio B. Lento 51
52. •OO destino do pacote ICMP é odestino do pacote ICMP é o software Internetsoftware Internet
protocolprotocol, no qual o módulo do, no qual o módulo do software ICMPsoftware ICMP tratarátratará
a mensagema mensagem, verificando também se o causador do, verificando também se o causador do
problema foi um programa aplicativo ou protocolosproblema foi um programa aplicativo ou protocolos
superiores.superiores.
30/09/13Prof. Luiz Otávio B. Lento 52
53. O ICMP permite que roteadores enviemO ICMP permite que roteadores enviem
mensagens de erromensagens de erro
ou de controle aos outros roteadores ou aosou de controle aos outros roteadores ou aos
host; o ICMPhost; o ICMP
possibilita a comunicação entre o software dopossibilita a comunicação entre o software do
InternetInternet
Protocol em uma máquina, e o software doProtocol em uma máquina, e o software do
Internet Protocol em outra. “Douglas Commer”Internet Protocol em outra. “Douglas Commer”
30/09/13Prof. Luiz Otávio B. Lento 53
54. •Entrega da mensagem ICMPEntrega da mensagem ICMP
⇒oo ICMP éICMP é encapsulado pelo IPencapsulado pelo IP, pois, para levar a, pois, para levar a
mensagem de um destino ao outro, é necessário quemensagem de um destino ao outro, é necessário que
esta passe por diversas redes intermediárias;esta passe por diversas redes intermediárias;
⇒osos datagramas que transportam mensagensdatagramas que transportam mensagens ICMPICMP
são tratados e roteados como qualquer outrosão tratados e roteados como qualquer outro
datgramadatgrama, podendo ser duplicados, chegarem fora de, podendo ser duplicados, chegarem fora de
ordem ou serem extraviados;ordem ou serem extraviados;
30/09/13Prof. Luiz Otávio B. Lento 54
56. Utilizados comoUtilizados como ferramenta de depuraçãoferramenta de depuração..
Pode ser usada para testar se máquinasPode ser usada para testar se máquinas
posicionadas de forma remota está acessível.posicionadas de forma remota está acessível.
EEcho Request e Echo Replycho Request e Echo Reply
30/09/13Prof. Luiz Otávio B. Lento 56
57. •todos começam com os mesmos três campos:todos começam com os mesmos três campos:
TypeType - tipo de mensagem- tipo de mensagem
CodeCode - informações adicionais específicas- informações adicionais específicas
do tipodo tipo
ChecksumChecksum - verificação de integridade- verificação de integridade
•Formato ICMP paraFormato ICMP para echo requestecho request (tipo 8)(tipo 8) ee echoecho
replyreply (tipo 0)(tipo 0)::
Formato da Mensagem – tipo 0 e 8Formato da Mensagem – tipo 0 e 8
30/09/13Prof. Luiz Otávio B. Lento 57
59. Caso aconteça algum erro que impessa que umCaso aconteça algum erro que impessa que um
roteador roteie ou entregue um datagrama, este enviaroteador roteie ou entregue um datagrama, este envia
uma mensagem ICMP à origem, avisando que ouma mensagem ICMP à origem, avisando que o
destino não foi alcançado, e posteriormente descartadestino não foi alcançado, e posteriormente descarta
o datagrama;o datagrama;
Destinatários não AlcançáveisDestinatários não Alcançáveis
30/09/13Prof. Luiz Otávio B. Lento 59
60. • Destination unreachable (tipo 3)
• Entrega mal sucedida de pacote
• quando for necessária a fragmentação de um pacote e
esta não for possível (de uma rede Token Ring para uma
Ethernet)
Formato da mensagem p/ destinatáriosFormato da mensagem p/ destinatários
não alcançáveisnão alcançáveis
30/09/13Prof. Luiz Otávio B. Lento 60
61. ⇒Source Quench (Controle de Fluxo eSource Quench (Controle de Fluxo e
Congestionamento)Congestionamento)
∗Caso o roteador ou host receba estaCaso o roteador ou host receba esta
mensagem, significa que omensagem, significa que o destino estádestino está
recebendo datagramas numa quantidaderecebendo datagramas numa quantidade
maior que ele tem capacidade demaior que ele tem capacidade de
processarprocessar;;
30/09/13Prof. Luiz Otávio B. Lento 61
62. ∗Esta mensagem éEsta mensagem é uma solicitação para que auma solicitação para que a
origem reduza o seu nível de transmissãoorigem reduza o seu nível de transmissão;;
∗Para cadaPara cada datagrama descartado, é enviado umadatagrama descartado, é enviado uma
menagemmenagem QuenchQuench;;
∗A origem dos datagramas ao receber mensagensA origem dos datagramas ao receber mensagens
QuenchQuench,, reduz o seu tráfego até parar de receberreduz o seu tráfego até parar de receber
estas mensagens, aumentado gradativamente atéestas mensagens, aumentado gradativamente até
receber outra mensagem Quenchreceber outra mensagem Quench;;
30/09/13Prof. Luiz Otávio B. Lento 62
64. Cada host de uma interligação em redes TCP/IPCada host de uma interligação em redes TCP/IP
possui um endereçopossui um endereço único de 32 bitsúnico de 32 bits que é usado emque é usado em
todas as comunicações com aquele host;todas as comunicações com aquele host;
São distribuídos pelaSão distribuídos pela InterNIC (Internet NetworkInterNIC (Internet Network
Information Center).Information Center).
A padronização do endereçamento IP é descrito naA padronização do endereçamento IP é descrito na
RFC 1166RFC 1166;;
30/09/13Prof. Luiz Otávio B. Lento 64
65. 30/09/13Prof. Luiz Otávio B. Lento 65
Endereço IP é uma seqüência de 32 bits de 1s e 0s
É fácil diferença entre 192.168.1.8 e 192.168.1.9,
mas nem tanto entre
11000000.10101000.00000001.00001000 e
11000000.10101000.00000001.00001001, onde é
quase impossível ver que são números consecutivos
Endereçamento IPEndereçamento IP
66. •O endereço IP pode serO endereço IP pode ser simbólicosimbólico
((nome@tru.gov.brnome@tru.gov.br)) ouou numériconumérico, representado no, representado no
formato deformato de 32 bits32 bits, normalmente expressado no, normalmente expressado no
formato decimal separados por pontos.formato decimal separados por pontos.
Ex: o endereçoEx: o endereço 128.33.3.4128.33.3.4 é um endereço válido paraé um endereço válido para
Internet. A sua forma numérica é utilizada peloInternet. A sua forma numérica é utilizada pelo
protocolo IP. O mapeamento entre os dois é feitoprotocolo IP. O mapeamento entre os dois é feito
através doatravés do DNS (Domain Name System);DNS (Domain Name System);
30/09/13Prof. Luiz Otávio B. Lento 66
67. Quando uma máquina é conectada a maisQuando uma máquina é conectada a mais
de uma rede, diz-se que esta éde uma rede, diz-se que esta é multi-homedmulti-homed,,
tendo um endereço IP para cada interface detendo um endereço IP para cada interface de
rede que possui;rede que possui;
30/09/13Prof. Luiz Otávio B. Lento 67
68. O endereço IP éO endereço IP é lógico e hierárquicológico e hierárquico
30/09/13Prof. Luiz Otávio B. Lento 68
69. IP addressIP address = <número da rede><número da= <número da rede><número da
máquina>máquina>
O IPO IP éé dividido em duas partesdividido em duas partes
30/09/13Prof. Luiz Otávio B. Lento 69
70. ⇒Número de redeNúmero de rede – é a parte do endereço– é a parte do endereço
IP que é atribuído por uma autoridadeIP que é atribuído por uma autoridade
centralizadora válida em toda Internet;centralizadora válida em toda Internet;
30/09/13Prof. Luiz Otávio B. Lento 70
71. ⇒Número da MáquinaNúmero da Máquina – é a parte do endereço IP– é a parte do endereço IP
que é atribuído pela autoridade que controla a redeque é atribuído pela autoridade que controla a rede
identificada pelo número da rede;identificada pelo número da rede;
⇒IP address –IP address – 128.104.1.45128.104.1.45 (endereço classe B)(endereço classe B)
128.104128.104 – endereço da rede– endereço da rede
1.451.45 – endereço da máquina– endereço da máquina
30/09/13Prof. Luiz Otávio B. Lento 71
72. •Representação bináriaRepresentação binária
10000000 00000010 00000111 0000100110000000 00000010 00000111 00001001;;
•Durante o translado de uma mensagem, oDurante o translado de uma mensagem, o
endereço IP acompanha esta mensagemendereço IP acompanha esta mensagem
(IP origem e destino), até o destino final, onde(IP origem e destino), até o destino final, onde
é mapeado para o endereço físico daé mapeado para o endereço físico da
máquina.máquina.
30/09/13Prof. Luiz Otávio B. Lento 72
74. Classes A, B and CClasses A, B and C são classes primárias, usadassão classes primárias, usadas
para endereçamento de máquinaspara endereçamento de máquinas
Classe DClasse D é usada para multicast, a limited form ofé usada para multicast, a limited form of
broadcastbroadcast
Internet agrupa hosts num grupoInternet agrupa hosts num grupo multicastmulticast
os pacotes são liberados para todos osos pacotes são liberados para todos os
membros do grupomembros do grupo
os roteadores gerenciam a liberação de pacotesos roteadores gerenciam a liberação de pacotes
da origem para todos os componentes de umda origem para todos os componentes de um
grupo multicastgrupo multicast
Classe EClasse E é reservadoé reservado
30/09/13Prof. Luiz Otávio B. Lento 74
75. ⇒Classe AClasse A –os 7 bits restantes do primeiro octeto–os 7 bits restantes do primeiro octeto
são utilizados para numerar redes (possibilita 126são utilizados para numerar redes (possibilita 126
redes). Os outros 24 bits para são usados pararedes). Os outros 24 bits para são usados para
número de máquinas (16.777.214 máquinas). Denúmero de máquinas (16.777.214 máquinas). De
0.1.0.0 a 126.0.0.0;0.1.0.0 a 126.0.0.0;
⇒Classe BClasse B –os 14 bits restantes para números de–os 14 bits restantes para números de
rede (16.382 redes) e os outros 16 para númerosrede (16.382 redes) e os outros 16 para números
(65.534 máquinas cada rede). De 128.0.0.0 a(65.534 máquinas cada rede). De 128.0.0.0 a
191.255.0.0;191.255.0.0;
30/09/13Prof. Luiz Otávio B. Lento 75
76. ⇒Classe CClasse C – os 21 bits restantes são utilizados para– os 21 bits restantes são utilizados para
endereços de rede (2.097.150) e os outros 8 bits paraendereços de rede (2.097.150) e os outros 8 bits para
endereço de máquinas (254 máquinas por rede). Deendereço de máquinas (254 máquinas por rede). De
192.0.1.0192.0.1.0 a 223.255.255.0;a 223.255.255.0;
⇒Classe DClasse D – utilizados para para grupos de– utilizados para para grupos de
máquinas em uma área delimitada. De 224.0.0.0 amáquinas em uma área delimitada. De 224.0.0.0 a
239.255.255.255;239.255.255.255;
⇒Classe EClasse E – endereços reservados para usos– endereços reservados para usos
futuros. De 240.0.0.0 a 247.255.255.255;futuros. De 240.0.0.0 a 247.255.255.255;
30/09/13Prof. Luiz Otávio B. Lento 76
78. 30/09/13Prof. Luiz Otávio B. Lento 78
Endereços unicast, broadcast e multicastEndereços unicast, broadcast e multicast
79. ⇒Endereçamento IP especialEndereçamento IP especial - qualquer- qualquer
componente do endereço IP com todos os bits comcomponente do endereço IP com todos os bits com
valor 0 ou todos os bits com valor 1, são descartadosvalor 0 ou todos os bits com valor 1, são descartados
como número de redes e como número de máquina,como número de redes e como número de máquina,
pois possuem significado especial.pois possuem significado especial.
30/09/13Prof. Luiz Otávio B. Lento 79
82. ⇒Endereço de Loopback – 127.0.0.0Endereço de Loopback – 127.0.0.0 – utilizado no– utilizado no
teste do TCP/IP e para a comunicação na máquinateste do TCP/IP e para a comunicação na máquina
local. Quando algum programa utiliza o endereçolocal. Quando algum programa utiliza o endereço
loopback como destino, o software de protocololoopback como destino, o software de protocolo
retorna os dados sem enviar qualquer tráfego para aretorna os dados sem enviar qualquer tráfego para a
rede;rede;
30/09/13Prof. Luiz Otávio B. Lento 82
83. Alocação de Endereços para Internets PrivadasAlocação de Endereços para Internets Privadas
•Alocação de endereços IP para redes que sãoAlocação de endereços IP para redes que são
usadas exclusivamente dentro de uma organização eusadas exclusivamente dentro de uma organização e
que não se conectarão a Internetque não se conectarão a Internet;;
•Três ranges são observadas:Três ranges são observadas:
⇒1010 - um endereço classe A;- um endereço classe A;
⇒172.16 a 172.31172.16 a 172.31 - 16 endereços classe B;- 16 endereços classe B;
⇒192.168.0 a 192.168.255192.168.0 a 192.168.255 - 256 endereços classe C;- 256 endereços classe C;
30/09/13Prof. Luiz Otávio B. Lento 83
85. Subredes MáscarasSubredes Máscaras
Com o crescimento de uma rede, distribuirCom o crescimento de uma rede, distribuir
endereços IP torna-se uma missão difícil.endereços IP torna-se uma missão difícil.
30/09/13Prof. Luiz Otávio B. Lento 85
86. Para evitar a solicitação de novos endereçosPara evitar a solicitação de novos endereços
IP, introduziu-se o conceito de subnet;IP, introduziu-se o conceito de subnet;
⇒a parte referente aoa parte referente ao número de máquinanúmero de máquina
do endereço foi dividido novamente emdo endereço foi dividido novamente em
número de rede e número de máquinanúmero de rede e número de máquina;;
30/09/13Prof. Luiz Otávio B. Lento 86
87. ⇒a nova rede é denominada como subneta nova rede é denominada como subnet
com o endereço IP interpretado da seguintecom o endereço IP interpretado da seguinte
forma:forma:
<número da rede> <número da subnet><número da rede> <número da subnet>
<número da máquina><número da máquina>
30/09/13Prof. Luiz Otávio B. Lento 87
88. •a combinação doa combinação do
<número da subnet> <número da máquina><número da subnet> <número da máquina>
é chamada deé chamada de endereço localendereço local;;
30/09/13Prof. Luiz Otávio B. Lento 88
89. 1.1. A subnet é implementada de formaA subnet é implementada de forma transparentetransparente
para redes remotaspara redes remotas..
2.2. Logo, uma máquina em uma rede que possuiLogo, uma máquina em uma rede que possui
subnets, é informada da existência da subnet,subnets, é informada da existência da subnet,
porém,porém, máquinas em redes remotas não sãomáquinas em redes remotas não são
informadas da existência de subnets,informadas da existência de subnets,
considerando o endereço local de um endereço IPconsiderando o endereço local de um endereço IP
como um número de máquinacomo um número de máquina;;
30/09/13Prof. Luiz Otávio B. Lento 89
90. 1.1. a divisão do endereço local em subnets e dosa divisão do endereço local em subnets e dos
endereços de máquinas pode ser feita de formaendereços de máquinas pode ser feita de forma
livre para o administrador da redelivre para o administrador da rede;;
2.2. a divisão é feita através dea divisão é feita através de máscarasmáscaras, composta, composta
por um número de 32 bits;por um número de 32 bits;
⇒bits zerobits zero numa máscara correspondem aonuma máscara correspondem ao
número da máquinanúmero da máquina ee bits 1bits 1 correspondem aocorrespondem ao
número da subnetnúmero da subnet;;
⇒as posições na máscara correspondente aoas posições na máscara correspondente ao
número da rede terão sempre valores 1, não sendonúmero da rede terão sempre valores 1, não sendo
usadas;usadas;
30/09/13Prof. Luiz Otávio B. Lento 90
91. •o tratamento parao tratamento para todos os bits 0 e 1todos os bits 0 e 1 sãosão
aplicados para cada uma das três partes doaplicados para cada uma das três partes do
endereço da subnet;endereço da subnet;
30/09/13Prof. Luiz Otávio B. Lento 91
92. Ex: suponha um endereço classe B com 16 bits paraEx: suponha um endereço classe B com 16 bits para
o endereço local, duas formas podem ser utilizadas:o endereço local, duas formas podem ser utilizadas:
1 -1 - o primeiro byte é o número da subnet e o segundoo primeiro byte é o número da subnet e o segundo
o número da máquina. Logo, posso endereçar 254o número da máquina. Logo, posso endereçar 254
máquinas (2máquinas (288
- 2 =254), com 254 possíveis subnets.- 2 =254), com 254 possíveis subnets.
A máscara é 255.255.255.0;A máscara é 255.255.255.0;
30/09/13Prof. Luiz Otávio B. Lento 92
93. 2 -2 - Suponha que queira criar subnets, onde os 12Suponha que queira criar subnets, onde os 12
primeiros bits são para subnets e os quatro últimosprimeiros bits são para subnets e os quatro últimos
bits são para número de máquinas;bits são para número de máquinas;
Posso criar 4094 subnets (2Posso criar 4094 subnets (21212
- 2 = 4094) e endereçar- 2 = 4094) e endereçar
14 máquinas por subnets (214 máquinas por subnets (244
-2 = 14). A máscara é-2 = 14). A máscara é
255.255.255.240 (240 = 2255.255.255.240 (240 = 277
+ 2+ 266
+ 2+ 255
+ 2+ 244
))
30/09/13Prof. Luiz Otávio B. Lento 93
94. 30/09/13Prof. Luiz Otávio B. Lento 94
Subnet ID com máscara 255.255.255.240Subnet ID com máscara 255.255.255.240
95. 1. Baseado no exemplo mostrado, uma subnet com o
endereço 128.102.32.16, conterá máquinas com
uma range de 128.102.32.17 até 128.102.32.30;
2. Uma subnet com o endereço 128.102.32.32
conterá máquinas com uma range de
128.102.32.33 até 128.102.32.46 (porque todos os
bits 0 e 1 são endereços especiais);
30/09/13Prof. Luiz Otávio B. Lento 95
96. Tipos de SubnetsTipos de Subnets
⇒Static SubnetStatic Subnet – todas as sunets na– todas as sunets na
mesma redemesma rede utilizam a mesma máscarautilizam a mesma máscara..
30/09/13Prof. Luiz Otávio B. Lento 96
97. É de simples implementação e fácilÉ de simples implementação e fácil
manutenção, porémmanutenção, porém acarreta desperdícios deacarreta desperdícios de
espaço de endereços para pequenas redesespaço de endereços para pequenas redes
(ex:uma subrede com 4 máquinas com a(ex:uma subrede com 4 máquinas com a
máscara 255.255.255.0 desperdiça 250máscara 255.255.255.0 desperdiça 250
endereços IP).endereços IP).
Hosts e roteadores suportam Static Subnet;Hosts e roteadores suportam Static Subnet;
30/09/13Prof. Luiz Otávio B. Lento 97
98. CIDR – Classless Interdomain RoutingCIDR – Classless Interdomain Routing
30/09/1398Prof. Luiz Otávio B. Lento
99. Vantagens da sumarização automatica:
O tamanho da tabela de roteamento é reduzida
Uma única rota é usada para representar multiplas
rotas a qual resulta em uma otimização na
pesquisa da tabela de roteamento
30/09/1399Prof. Luiz Otávio B. Lento
100. Sumarização de rotas feito pelo CIDR
-Rotas são sumarizadas com máscara que são menor
que a máscara classful padrão
-Exemplo:
172.16.0.0 / 13 é a rota sumarizada
das redes classfull de 172.16.0.0 / 16 à 172.23.0.0 / 16
Classless Inter-Domain Routing (CIDR)
30/09/13100Prof. Luiz Otávio B. Lento
101. Passos para calcular uma rota sumarizada
-Liste as redes em formato binário
-Conte os dígitos binários a partir da esquerda
comparando os bits iguais e determine a máscara da
sumarização
30/09/13101Prof. Luiz Otávio B. Lento
102. VLSM (Variable Lenght Subnet Mask)VLSM (Variable Lenght Subnet Mask)
Subredes de Tamanho VariávelSubredes de Tamanho Variável
30/09/13102Prof. Luiz Otávio B. Lento
103. VLSM consiste na segmentação lógica de subredes.
Permite a utilização de mais de uma máscara de sub-
rede dentro do mesmo Sistema Autômato.
Maximiza a eficiência dos endereços e freqüentemente
é chamada de criação de sub-redes em uma sub-rede.
Flexibilidade no uso dos endereços
Pode ser usado para dividir em sub-redes um endereço
já dividido em sub-redes (links WAN)
A VLSM consiste em segmentar as subredes criadas, em
blocos não necessariamente do mesmo tamanho.
Daí o nome “subredes de tamanho variável”.
30/09/13103Prof. Luiz Otávio B. Lento
104. Vantagens:
Flexibiliza o esquema engessado de endereçamento IP;
Permite sumarização de redes IPs em apenas um endereço,
reduzindo as tabelas de roteamento.
Desvantagens:
Apenas protocolos do tipo classless (RIPv2, OSPF, EIGRP,
BGP) suportam esse tipo de endereçamento.
Exige uma maior capacidade do administrador da rede.
30/09/13104Prof. Luiz Otávio B. Lento
105. Suponha a Rede sem segmentação abaixo:
192.168.10.0 /24 (como é sem segmentação, a máscara DEVE
ser /24, um endereço de rede classe “C”)
Suponha que esta rede foi segmentada em 2 subredes distintas:
192.168.10.64 /26
e
192.168.10.128 /26
OBS: Aqui foi aplicada a regra 2 x
- 2. Se esta regra não fosse
aplicada, teriam as subredes 192.168.10.0 /26 e 192.168.10.192 /
26.
Existem as 2 subredes acima denotadas, cada uma delas com
capacidade para endereçar 62 hosts:
1 - Subrede: 192.168.10.64 2 - Subrede: 192.168.10.128
hosts: 65 à 126 hosts: 129 à 190
Broadcast: 127 Broadcast: 191
30/09/13105Prof. Luiz Otávio B. Lento
106. Suponha que se tenha em mãos este pequeno plano de endereçamento,
uma rede com a seguinte topologia para endereçar:
Quantas redes esta topologia apresenta? Resposta: 6 redes! 3 redes WAN
interconectando os routers A, B e C, e 3 redes locais, para cada uma das
localidades. Como existem apenas 2 redes disponíveis, consegue-se suprir as
necessidades de endereçamento? Resposta: VLSM!
30/09/13106Prof. Luiz Otávio B. Lento
107. Pegue as 2 redes que especificadas e divida-as ainda mais,
obtendo assim o número de redes necessárias.
Comece pelas 3 redes WAN. Observe que todas são do tipo
ponto-a-ponto, ou seja, precisam de apenas 2 endereços de host
(um para cada interface de cada um dos 2 routers).
Por exemplo, a rede que interliga o router A com o router B
necessita de apenas 2 endereços IP: um para cada router.
Assim sendo, são necessárias 3 subredes com mascara de 30
bits.
30/09/13107Prof. Luiz Otávio B. Lento
108. Use a rede 64 para obter as 3 redes /30 :
192.168.010.64
255.255.255.192 ==> 11111111.1111111.11111111.11000000
Os “zeros” em vermelho mostram até que ponto pode-se avançar
na máscara /26 para obtermos as redes /30. Quantas redes /30
foram obtidas? Resposta: 2 4
= 16.
Note que aqui não se aplica a regra do “-2″. Esta regra não é
aplicada para cálculo de subredes VLSM.
Portanto, a subrede 192.168.10.64 /26, quando subdividida
conforme acima, fornece 16 subredes /30, cada uma podendo
endereçar até 2 hosts (ou interfaces de roteadores, no caso).
Estas redes ocorrem de 4 em 4:
192.168.10.64, 68, 72, 76. 80, 84, 88, 92, 96, 100, 104, 108, 112,
116, 120 e 124, todas com máscara /30.
30/09/13108Prof. Luiz Otávio B. Lento
109. Para o exercício será reservada as 3 primeiras: 192.168.10.64 /30,
192.168.10.68 /30 e 192.168.10.72 /30.
Notem que ainda existem 13 subredes /30 que não serão usadas. O que
poderia ser feito, para evitar este desperdício, é dividir a subrede
192.168.10.64 /26 em 2 subredes /27 (192.168.10.64 /27 e
192.168.10.96 /27), e subdividir a primeira (192.168.10.64 /27) em 8
subredes /30.
Desta forma, o desperdício seria de menor número de endereços e
ainda existiria uma subrede /27, com capacidade para endereçar até 30
hosts sobrando, para uso futuro. Mas para efeitos didáticos, o exemplo
inicial é mais fácil de ser compreendido.
30/09/13109Prof. Luiz Otávio B. Lento
110. Resolveu-se o problema do endereçamento das redes
WAN, mas agora sobrou apenas 1 subrede /26 para
endereçamento das 3 localidades, sendo que cada
localidade tem a sua necessidade de hosts.
A dica aqui é fazer o cálculo usando a localidade com maior
necessidade de IPs (20 hosts, no caso).
Sendo assim, é necessário pelo menos 3 subredes que me
entreguem ao menos 20 hosts.
192.168.010.128
255.255.255.192 ==>
11111111.1111111.11111111.11000000
30/09/13110Prof. Luiz Otávio B. Lento
111. Note que existem 6 “zeros” para manipulação. O algoritmo que
tem que usar é:
2 x
- 2 >= 20, sendo que o resultado (x) é o número de “zeros” da
direita para a esquerda que será mantido.
Note que a regra do “-2 deve ser observada neste cálculo, já″
que se está falando de hosts (tem que eliminar os endereços de
rede e de broadcast).
Portanto, x = 5, já que 25
- 2 = 30, e 30 >= 20. Se x fosse 4, o
resultado seria 14, e 14 não é >= 20.
Deve-se reservar 5 zeros para o endereçamento dos hosts:
11111111.1111111.11111111.11100000
30/09/13111Prof. Luiz Otávio B. Lento
112. Existe um problema. Se for feito desta forma restará apenas 1
zero na máscara para a criação das subredes.
Apenas 1 zero possibilita a criação de apenas 2 subredes (2 1
).
São necessárias 3 subredes. Como fazer?
Resposta: Cria-se 2 novas subredes, cada uma com capacidade
para endereçar até 30 hosts e, posteriormente, divide-se
novamente uma destas em 2 subredes:
As 2 novas subredes ocorrem de 32 em 32 são:
192.168.10.128 /27
e
192.168.10.160 /27
30/09/13112Prof. Luiz Otávio B. Lento
113. Agora pegue a segunda e divida-a novamente:
192.168.010.160
255.255.255.224 ==> 11111111.1111111.11111111.11100000
O “zero” assinalado em vermelho é o dígito que será altera do na
máscara para criar 2 novas subredes com máscara /28.
Observem que, conforme se adiciona um dígito à máscara
original, criamos 2 novas subredes. Ex: de /26 para /27 criamos 2
subredes. De /27 para /28, criamos 2 subredes, e assim por diante.
30/09/13113Prof. Luiz Otávio B. Lento
114. As 2 novas subredes /28 ocorrem de 16 em 16 (/28 = 255.255.255.240 | 256 -
240 = 16 são:
192.168.10.160 /28
e
192.168.10.176 /28
Resta saber se a capacidade de endereçamento de hosts cada uma destas
subredes possui: Existem 4 “zeros” restantes na máscara /28.
Assim sendo: 24
- 2 = 14, atendedo aos requisitos.
Endereços
Conexão WAN A - B: 192.168.10.64 /30
Conexão WAN A - C: 192.168.10.68 /30
Conexão WAN C - B: 192.168.10.72 /30
Localidade ligada ao router C: 192.168.10.192.168.10.128 /27 (até 30 hosts)
Localidade ligada ao router A: 192.168.10.192.168.10.160 /28 (até 14hosts)
Localidade ligada ao router B: 192.168.10.192.168.10.176 /28 (até 14 hosts)
30/09/13114Prof. Luiz Otávio B. Lento
116. Oferece serviços de transporte desde aOferece serviços de transporte desde a
origem até o destinoorigem até o destino
30/09/13Prof. Luiz Otávio B. Lento 116
117. A camada de transporte prepara os
dados recebidos da camada de
aplicação para o transporte sobre a
rede e processa os dados da rede
que serão usados pela aplicação
Dados da
aplicação
Dados de
rede
30/09/13Prof. Luiz Otávio B. Lento 117
118. • Geralmente, a Internet é representada por uma
nuvem.
• A camada de transporte envia pacotes de dados da
origem para o destino receptor através dessa nuvem.
30/09/13Prof. Luiz Otávio B. Lento 118
120. •Sua função principal éSua função principal é permitir a comunicação fim apermitir a comunicação fim a
fim entre as aplicaçõesfim entre as aplicações..
•Logo, permite a troca de dados fim a fim entre doisLogo, permite a troca de dados fim a fim entre dois
sistemas de uma rede Internet, provendo asistemas de uma rede Internet, provendo a qualidadequalidade
de serviçode serviço requerida pela aplicação;requerida pela aplicação;
30/09/13Prof. Luiz Otávio B. Lento 120
121. Habilitando aplicações nos dispositivos para a comunicação
A camada de transporte
move os dados entre
aplicações nos dispositivos
na rede
30/09/13Prof. Luiz Otávio B. Lento 121
122. •Para otimizar os recursos de comunicaçãoPara otimizar os recursos de comunicação
tanto otanto o TCP como o UDP utilizam oTCP como o UDP utilizam o recurso derecurso de
multiplexação sobre o IPmultiplexação sobre o IP;;
30/09/13Prof. Luiz Otávio B. Lento 122
123. •Mensagens a transmitir são aceitasMensagens a transmitir são aceitas
simultaneamente de várias aplicaçõessimultaneamente de várias aplicações ee
passadas para o IP no sistema de origem,passadas para o IP no sistema de origem,
ocorrendo aocorrendo a demultiplexaçãodemultiplexação no sistema deno sistema de
destino;destino;
30/09/13Prof. Luiz Otávio B. Lento 123
124. •Toda aToda a comunicação com a aplicação écomunicação com a aplicação é
endereçada através da portaendereçada através da porta;;
30/09/13Prof. Luiz Otávio B. Lento 124
126. •A identificação da aplicação em um dadoA identificação da aplicação em um dado
sistema é feita atravéssistema é feita através dodo conceito de portaconceito de porta
(port) na camada de transporte(port) na camada de transporte,,
representada por um número inteirorepresentada por um número inteiro
associado à aplicação;associado à aplicação;
•A porta é umA porta é um número inteiro de 16 bitsnúmero inteiro de 16 bits,,
usado pelo protocolo da camada deusado pelo protocolo da camada de
transporte, que identifica a aplicação, ondetransporte, que identifica a aplicação, onde
toda a comunicação é endereçada atravéstoda a comunicação é endereçada através
dela;dela; 30/09/13Prof. Luiz Otávio B. Lento 126
127. •Aplicações Internet (Telnet, FTP, etc)Aplicações Internet (Telnet, FTP, etc)
possuem o mesmo número de portaspossuem o mesmo número de portas (portas(portas
padrão)padrão) para todas as implementaçõespara todas as implementações
TCP/IP;TCP/IP;
•Estas portas são padronizadas e distribuídasEstas portas são padronizadas e distribuídas
pelopelo IANA (Internet Assigned NumbersIANA (Internet Assigned Numbers
Authority);Authority);
•Portas com a range dePortas com a range de 0 a 10230 a 1023 sãosão
controladas pelo IANA;controladas pelo IANA;
30/09/13Prof. Luiz Otávio B. Lento 127
128. •Portas dePortas de 1024 a 65.325 não são1024 a 65.325 não são
controladas pelo IANAcontroladas pelo IANA, podendo ser, podendo ser
utilizadas na maioria dos sistemas porutilizadas na maioria dos sistemas por
usuários desenvolvedores de sistemas;usuários desenvolvedores de sistemas;
•Para evitar a possibilidade de duas ou maisPara evitar a possibilidade de duas ou mais
aplicações acessarem o mesmo número deaplicações acessarem o mesmo número de
porta numa mesma máquina,porta numa mesma máquina, estas sãoestas são
distribuídas de forma dinâmicadistribuídas de forma dinâmica, podendo, podendo
diferenciar de uma solicitação para outra;diferenciar de uma solicitação para outra;
30/09/13Prof. Luiz Otávio B. Lento 128
130. •socket é uma das várias APIs para protocolossocket é uma das várias APIs para protocolos
de comunicação;de comunicação;
•é um tipo especial de arquivo de manipulaçãoé um tipo especial de arquivo de manipulação
de dados que é usado por um processo parade dados que é usado por um processo para
solicitar serviços da rede;solicitar serviços da rede;
•o endereço de um socket consiste numao endereço de um socket consiste numa
tripla:tripla:
{protocolo, endereço local, processo local} -{protocolo, endereço local, processo local} -
30/09/13Prof. Luiz Otávio B. Lento 130
131. •A comunicação entre dois processos é feitoA comunicação entre dois processos é feito
através de um link;através de um link;
•Esta associação é composta por uma 5-tuplaEsta associação é composta por uma 5-tupla
que especifica totalmente os dois processosque especifica totalmente os dois processos
que compõe a conecção;que compõe a conecção;
{protocolo, endereço local, processo local,{protocolo, endereço local, processo local,
endereço de destino, processo de destino}endereço de destino, processo de destino}
{tcp, 193.44.234.3, 1500, 193.44.234.5, 21}{tcp, 193.44.234.3, 1500, 193.44.234.5, 21}
30/09/13Prof. Luiz Otávio B. Lento 131
132. •Half-asociation ou socket, consiste no pontoHalf-asociation ou socket, consiste no ponto
final de comunicação que pode ser chamado efinal de comunicação que pode ser chamado e
endereçado na rede;endereçado na rede;
{protocolo, endereço local, processo local} ou{protocolo, endereço local, processo local} ou
{protocolo, endereço de destino, processo de{protocolo, endereço de destino, processo de
destino}destino}
30/09/13Prof. Luiz Otávio B. Lento 132
134. •Inicializar um socketInicializar um socket - socket( );- socket( );
•realiza um bind entre um socket a umarealiza um bind entre um socket a uma
portaporta - bind( );- bind( );
•sinalizar que está pronta para receber umasinalizar que está pronta para receber uma
conexãoconexão - listen( );- listen( );
•a chamada accept( )a chamada accept( ) é enviada pelo servidoré enviada pelo servidor
antes do processo cliente;antes do processo cliente;
30/09/13Prof. Luiz Otávio B. Lento 134
135. Caso exista uma uma solicitação de conexãoCaso exista uma uma solicitação de conexão
aguardando na fila para esta conexão socket,aguardando na fila para esta conexão socket,
a chamada accept( ) retira a primeiraa chamada accept( ) retira a primeira
solicitação da fila e cria outro socket com assolicitação da fila e cria outro socket com as
mesmas propriedades do socket anteriormesmas propriedades do socket anterior
30/09/13Prof. Luiz Otávio B. Lento 135
136. Caso não exista uma solicitação de conexão oCaso não exista uma solicitação de conexão o
accept bloqueia qualquer invocação deaccept bloqueia qualquer invocação de
processo até uma solicitação de conexãoprocesso até uma solicitação de conexão
chegarchegar
•a chamada conect( ) solicita uma conexão aoa chamada conect( ) solicita uma conexão ao
servidorservidor
30/09/13Prof. Luiz Otávio B. Lento 136
137. s o c k e t ( )
b i n d ( )
l i s t e n ( )
s o c k e t ( )
r e a d ( )
c l o s e ( )
r e a d ( )w r i t e ( )
w r i t e ( )d a t a ( s o l i c i t a ç ã o )
d a t a ( r e s p o s t a )
c o n n e c t ( )
c l o s e ( )
s o l i c i t a ç ã o
d o p r o c e s s o
b l o q u e a d o a t é a c o n e x ã o
d o c l i e n t e s e r
e s t a b e l e c i d a
a c c e p t ( ) c r i a u m n o v o
s o c k e t p a r a u m a n o v a
s o l i c i t a ç ã o d o c l i e n t e
a c c e p t ( )
e s t a b e l e c i m e n t o
c o n e x ã o
c l i e n t e
s e r v e r
e n c e r r a a c o n e x ã o
e n v i a e r e c e b e d a d o s
e n v i a e r e c e b e d a d o s
c o n e x ã o c o m o
s e r v i d o r
i n i c i a l i z a r s o c k e t
r e a l i z a r o b i n d e n t r e
o s o c k e t e a p o r t a
i n i c i a l i z a r s o c k e t
a c e i t a a c o n e x ã o
i n d i c a q u e e s t á
p r o n t o p a r a r e c e b e r a
c o n e x ã o
30/09/13Prof. Luiz Otávio B. Lento 137
138. s o c k e t( ) b in d ( ) lis t e n ( ) a c c e p t ( )
s o c k e t( ) c o n n e c t ( )
b in d ( )
r e c v f r o m ( )
s e n d to ( )
s o c k e t( )
s o c k e t( )
b in d ( )
o r ie n ta d o à c o n e x ã o -
s e r v e r
o r ie n ta d o à c o n e x ã o -
c lie n te
n ã o o r ie n ta d o à c o n e x ã o - s e r v e r
n ã o o r ie n ta d o à c o n e x ã o - c lie n te
30/09/13Prof. Luiz Otávio B. Lento 138
139. •Um par deUm par de socketssockets é usado para identificaré usado para identificar
umauma conexão entre dois processosconexão entre dois processos ;;
•Com a conexão estabelecida, cada socketCom a conexão estabelecida, cada socket
corresponde a umcorresponde a um ponto final dessaponto final dessa
conexãoconexão;;
30/09/13Prof. Luiz Otávio B. Lento 139
140. •Vários processos podem usar os serviços doVários processos podem usar os serviços do
TCP simultaneamenteTCP simultaneamente,, estabelecendo váriasestabelecendo várias
conexões entre esses processos e outrosconexões entre esses processos e outros
residentes em estações remotasresidentes em estações remotas..
•Logo, realiza-se aLogo, realiza-se a multiplexaçãomultiplexação em umaem uma
conexão IP;conexão IP;
30/09/13Prof. Luiz Otávio B. Lento 140
142. Protocolo TCP – Transmission ControlProtocolo TCP – Transmission Control
ProtocolProtocol
30/09/13Prof. Luiz Otávio B. Lento 142
143. Necessidades:
-Velocidade
- Baixo overhead
- Não requer
acknowledeg
- Não reenvia blocos de
dados
- Entrega de dados
como chegam, sem
alteração
Necessidades:
-Confiabilidade
- tenho overhead
- requer acknowledeg
- Reenvia blocos de
dados
- Entrega de dados na
ordem enviada
Desenvolvedores de aplicações escolhem o protocolo de transporte baseando-se na
natureza de sua aplicação
Desenvolvedores de aplicações escolhem o protocolo de transporte baseando-se na
natureza de sua aplicação
30/09/13Prof. Luiz Otávio B. Lento 143
144. •Descrito na RFC 793;Descrito na RFC 793;
•Dois processos seDois processos se comunicam através decomunicam através de
sockets TCPsockets TCP..
•Este modelo possibilita uma conexãoEste modelo possibilita uma conexão full-full-
duplex de stream de pacotesduplex de stream de pacotes para outrospara outros
processos;processos;
30/09/13Prof. Luiz Otávio B. Lento 144
146. Conceitos do TCPConceitos do TCP
•O propósito doO propósito do TCP é prover umTCP é prover um circuitocircuito
lógico confiávellógico confiável ou umou um serviço de conexãoserviço de conexão
entre par de processosentre par de processos;;
30/09/13Prof. Luiz Otávio B. Lento 146
147. •conexão de circuito virtualconexão de circuito virtual – é estabelecido– é estabelecido
umauma conexãoconexão entre par de processos deentre par de processos de
aplicaçãoaplicação, antes da transferência de stream, antes da transferência de stream
30/09/13Prof. Luiz Otávio B. Lento 147
148. ⇒os módulos de software deos módulos de software de protocolos dosprotocolos dos
dois sistemas (transmissor e receptor)dois sistemas (transmissor e receptor)
operacionais comunicam-se através deoperacionais comunicam-se através de
mensagens para estabelecer uma conexãomensagens para estabelecer uma conexão,,
verificando se averificando se a transferência é autorizada etransferência é autorizada e
se ambos os lados estão prontos para ase ambos os lados estão prontos para a
transferênciatransferência;;
30/09/13Prof. Luiz Otávio B. Lento 148
149. ⇒a partir deste ponto, éa partir deste ponto, é estabelecida umaestabelecida uma
conexãoconexão, possibilitando a transferência de dados;, possibilitando a transferência de dados;
⇒durante a transferência de dados, osdurante a transferência de dados, os
protocolos de comunicação das duas máquinasprotocolos de comunicação das duas máquinas
continuam a comunicar-se para verificar secontinuam a comunicar-se para verificar se
os dados são recebidos corretamenteos dados são recebidos corretamente;;
30/09/13Prof. Luiz Otávio B. Lento 149
150. ⇒caso existamcaso existam falhas de comunicação, estasfalhas de comunicação, estas
serão detectadas e participadas aosserão detectadas e participadas aos
programas aplicativosprogramas aplicativos;;
⇒os circuitos virtuais descrevem estasos circuitos virtuais descrevem estas
conexões,conexões, proporcionando uma confiabilidadeproporcionando uma confiabilidade
na transmissão;na transmissão;
30/09/13Prof. Luiz Otávio B. Lento 150
151. Estabelecendo uma ConexãoEstabelecendo uma Conexão
• O primeiro handshake solicita
sincronização
• O segundo e o terceiro confirmam a
solicitação de sincronização inicial e
também sincronizam os parâmetros de
conexão na direção oposta
• O segmento de handshake final é uma
confirmação usada para informar ao
destino que ambos os lados concordam
que foi estabelecida uma conexão
30/09/13Prof. Luiz Otávio B. Lento 151
153. SYNSYN (serve para estabelecer uma comunicação).(serve para estabelecer uma comunicação).
Lembra a palavra sincronizar;Lembra a palavra sincronizar;
•ACKACK (número de confirmação). Utilizado para confirmar(número de confirmação). Utilizado para confirmar
o recebimento de segmentos e indicar o próximoo recebimento de segmentos e indicar o próximo
desejado;desejado;
•FINFIN (finalização). Utilizado para encerrar de forma(finalização). Utilizado para encerrar de forma
“elegante” uma comunicação TCP;“elegante” uma comunicação TCP;
•RSTRST (reset). Utilizado para romper de forma brusca(reset). Utilizado para romper de forma brusca
uma conexão TCP;uma conexão TCP;
•URGURG (urgente). Utilizado para identificar dados(urgente). Utilizado para identificar dados
urgentes dentro do segmento TCP;urgentes dentro do segmento TCP;
•PSHPSH (“push” ou empurrar). Utilizado para forçar a(“push” ou empurrar). Utilizado para forçar a
transmissão de um segmento logo que ele chega atransmissão de um segmento logo que ele chega a
camada de transporte.camada de transporte.
OO TCPTCP possui 6 flags.possui 6 flags.
30/09/13Prof. Luiz Otávio B. Lento 153
154. 1. A estação (A) inicia uma conexão enviando um
segmento SYN para a estação (B) indicando que
o seu ISN (Initial Sequence Numbers)= X:
A —> B SYN, seq de A = X
2. B recebe o segmento, grava que a seqüência de
A = X, responde com um ACK de X+1, e indica
que seu ISN = Y. O ACK de X+1 significa que a
estação B já recebeu todos os bytes até ao byte
X e que o próximo byte esperado é o X + 1:
B —> A ACK, seq de A = X, SYN seq de B = Y,
ACK = X+1
Estabelecendo uma conexão – 3 WayEstabelecendo uma conexão – 3 Way
HandshakeHandshake
30/09/13Prof. Luiz Otávio B. Lento 154
155. 3. A recebe o segmento de B, fica sabendo que
a seqüência de B = Y, e responde com um
ACK de Y+1, que finaliza o processo de
estabelecimento da conexão:
A —> B ACK, seq de B = Y, ACK = Y+1
Estabelecendo uma conexão – 3 WayEstabelecendo uma conexão – 3 Way
HandshakeHandshake
30/09/13Prof. Luiz Otávio B. Lento 155
156. Estabelecendo uma conexão – 3 WayEstabelecendo uma conexão – 3 Way
HandshakeHandshake
30/09/13Prof. Luiz Otávio B. Lento 156
157. Encerramento de uma conexãoEncerramento de uma conexão
30/09/13Prof. Luiz Otávio B. Lento
157
Término de uma sessão TCPTérmino de uma sessão TCP
158. •transmissão de dadostransmissão de dados - durante a- durante a
transmissão de dados, os aplicativos podemtransmissão de dados, os aplicativos podem
estabelecer qualquer tamanho para o streamestabelecer qualquer tamanho para o stream
de dadosde dados, podendo variar de, podendo variar de 1 octeto1 octeto emem
diante;diante;
30/09/13Prof. Luiz Otávio B. Lento 158
159. ⇒ao receber os octetos, oao receber os octetos, o TCP entregaTCP entrega osos
octetos do stream de dadosoctetos do stream de dados na mesmana mesma
seqüência em que foram enviadosseqüência em que foram enviados para ospara os
aplicativosaplicativos;;
⇒os octetos são liberados assim que tenhamos octetos são liberados assim que tenham
sidosido recebidos e avaliadosrecebidos e avaliados;;
30/09/13Prof. Luiz Otávio B. Lento 159
160. ⇒o TCP é livreo TCP é livre parapara dividir em segmentosdividir em segmentos umum
stream de dadosstream de dados, suficiente para preencher um, suficiente para preencher um
datagramadatagrama;;
⇒osos segmentos sãosegmentos são bufferizadosbufferizados até chegarematé chegarem
a um valor (varia de acordo com aa um valor (varia de acordo com a capacidadecapacidade
de processamentode processamento da máquina);da máquina);
30/09/13Prof. Luiz Otávio B. Lento 160
161. •confiabilidadeconfiabilidade - garante que um stream de- garante que um stream de
dados seja entregue no seu destino semdados seja entregue no seu destino sem
duplicação ou perdasduplicação ou perdas..
⇒Para que isto seja realizado, utiliza-se aPara que isto seja realizado, utiliza-se a
técnica chamada detécnica chamada de confirmação positivaconfirmação positiva
com retransmissãocom retransmissão;;
30/09/13Prof. Luiz Otávio B. Lento 161
162. ⇒oo TCPTCP atribui um número seqüencial paraatribui um número seqüencial para
cada byte transmitidocada byte transmitido, esperando um, esperando um
reconhecimento positivoreconhecimento positivo (ACK)(ACK) do TCP quedo TCP que
recebeu a mensagem;recebeu a mensagem;
30/09/13Prof. Luiz Otávio B. Lento 162
163. ⇒aa origem mantém umorigem mantém um registroregistro de cadade cada
pacote que enviapacote que envia ee espera uma confirmaçãoespera uma confirmação
antes de enviar o próximo pacote;antes de enviar o próximo pacote;
⇒é iniciado umé iniciado um temporizadortemporizador pela origempela origem
quando envia um pacotequando envia um pacote, e, caso este, e, caso este
temporizador setemporizador se encerre antes de se obterencerre antes de se obter
um reconhecimento positivo, é realizadaum reconhecimento positivo, é realizada
uma nova transmissãouma nova transmissão;;
30/09/13Prof. Luiz Otávio B. Lento 163
164. ⇒caso não receba o ACK, ocaso não receba o ACK, o dado édado é
transmitidotransmitido em blocos (segmentos TCP).em blocos (segmentos TCP).
Somente o número seqüencial do primeiro byteSomente o número seqüencial do primeiro byte
do dado do segmento é enviado para ado dado do segmento é enviado para a
máquina de destino;máquina de destino;
⇒o TCP de destino utiliza oo TCP de destino utiliza o número seqüencialnúmero seqüencial
parapara rearrumar os segmentos quando elesrearrumar os segmentos quando eles
chegam fora de ordem, e elimina segmentoschegam fora de ordem, e elimina segmentos
duplicadosduplicados;; 30/09/13Prof. Luiz Otávio B. Lento 164
165. •segmentaçãosegmentação - as mensagens entregues ao- as mensagens entregues ao
TCP podem ser segmentadas.TCP podem ser segmentadas.
⇒CadaCada segmento deve compor umsegmento deve compor um
datagrama IPdatagrama IP ee possuir umpossuir um número denúmero de
identificaçãoidentificação, possibilitando posteriormente,, possibilitando posteriormente,
no destino, a recomposição da mensagemno destino, a recomposição da mensagem
original;original; 30/09/13Prof. Luiz Otávio B. Lento 165
166. •seqüenciaçãoseqüenciação - garante a recomposição no- garante a recomposição no
destino da mensagem, de acordo com odestino da mensagem, de acordo com o
número de identificação dos segmentos;número de identificação dos segmentos;
30/09/13Prof. Luiz Otávio B. Lento 166
167. Diferentes segmentos podem
possuir diferentes rotas
Se existem
rotas
diferentes
até o
destino, os
segmentos
podem
chegar fora
de ordem
30/09/13Prof. Luiz Otávio B. Lento 167
168. •controle de errocontrole de erro - os- os segmentos sãosegmentos são
numerados para que possam sernumerados para que possam ser ordenados eordenados e
entregues na seqüência corretaentregues na seqüência correta à aplicaçãoà aplicação
de destinode destino..
⇒Além disso, é incorporado ao cabeçalho oAlém disso, é incorporado ao cabeçalho o
checksumchecksum (algoritmo verificador de soma),(algoritmo verificador de soma),
usado para verificar a correção de dados queusado para verificar a correção de dados que
compõe todo o segmento recebido.compõe todo o segmento recebido.
30/09/13Prof. Luiz Otávio B. Lento 168
169. Os segmentos de
dados devem ser
“montados” pelo
receptor na mesma
ordem em que
foram recebidos,
para que haja uma
transferência de
dados confiável,
orientada à conexão
JanelamentoJanelamento
30/09/13Prof. Luiz Otávio B. Lento 169
170. ⇒OO TCPTCP relata falhas de serviçosrelata falhas de serviços
originadas em situações de funcionamentooriginadas em situações de funcionamento
anormalanormal no ambiente de redeno ambiente de rede, falhas estas, falhas estas
que ele não conseguiu recuperar, porque ele não conseguiu recuperar, por
exemplo, aexemplo, a queda de enlaces físicos ou aqueda de enlaces físicos ou a
pane de uma estaçãopane de uma estação;;
30/09/13Prof. Luiz Otávio B. Lento 170
171. •controle de fluxocontrole de fluxo - regula o fluxo de dados a- regula o fluxo de dados a
ser transferido, de acordo com aser transferido, de acordo com a velocidadevelocidade
existente entre os dois sistemasexistente entre os dois sistemas..
⇒O TCP envia vários segmentos ao destino,O TCP envia vários segmentos ao destino,
mesmo antes de receber ummesmo antes de receber um
reconhecimento positivo ou negativo,reconhecimento positivo ou negativo,
adaptando a diferença de velocidadeadaptando a diferença de velocidade
existente entre os dois sistemasexistente entre os dois sistemas
30/09/13Prof. Luiz Otávio B. Lento 171
173. •precedência e segurançaprecedência e segurança - níveis de- níveis de
precedência e segurança podem serprecedência e segurança podem ser
estabelecidos pela aplicaçãoestabelecidos pela aplicação parapara
tratamento dos dados;tratamento dos dados;
30/09/13Prof. Luiz Otávio B. Lento 173
174. Princípio de Janela DeslizantePrincípio de Janela Deslizante
•Utilizado para umUtilizado para um melhor aproveitamento damelhor aproveitamento da
largura de bandalargura de banda;;
•o protocolo simples deo protocolo simples de transporte consiste notransporte consiste no
recebimento de um ACK para cada pacoterecebimento de um ACK para cada pacote
transmitidotransmitido. Ocasiona uma. Ocasiona uma má utilizaçãomá utilização dada
banda passante;banda passante;
30/09/13Prof. Luiz Otávio B. Lento 174
175. Se segmentos são perdidos durante um congestionamento, o receptorSe segmentos são perdidos durante um congestionamento, o receptor
irá reconhecer o último segmento e replica com um número de janelairá reconhecer o último segmento e replica com um número de janela
reduzidoreduzido
30/09/13Prof. Luiz Otávio B. Lento 175
176. •para cada pacote transmitido é iniciado opara cada pacote transmitido é iniciado o timetime
outout, e existe um ACK para cada um deles, e existe um ACK para cada um deles;;
•conforme os ACK vão chegando, aconforme os ACK vão chegando, a janelajanela vaivai
deslizando para que o próximo pacote possadeslizando para que o próximo pacote possa
ser enviadoser enviado..
•A janela continuará deslizando conforme foremA janela continuará deslizando conforme forem
recebidas as confirmaçõesrecebidas as confirmações;;
30/09/13Prof. Luiz Otávio B. Lento 176
178. suponha que o pacotesuponha que o pacote 3 tenha se3 tenha se perdidoperdido,,
isto é, a origem não recebeu oisto é, a origem não recebeu o ACK 4ACK 4, logo, a, logo, a
janela permanece na posição 2;janela permanece na posição 2;
quando ocorre o timequando ocorre o time out da origem, esteout da origem, este
será retransmitidoserá retransmitido;;
30/09/13Prof. Luiz Otávio B. Lento 178
182. Formato do SegmentoFormato do Segmento
•porta de origem e de destinoporta de origem e de destino - contêm os- contêm os
números das portas TCP associadas aosnúmeros das portas TCP associadas aos
programas de aplicação em cada ponto daprogramas de aplicação em cada ponto da
conexão;conexão;
•NR de seqüênciaNR de seqüência - identifica o número de- identifica o número de
seqüência do primeiro octeto deste segmentoseqüência do primeiro octeto deste segmento
dentro do stream;dentro do stream;
30/09/13Prof. Luiz Otávio B. Lento 182
183. •NR de ACK (acknowledgement)NR de ACK (acknowledgement) - identifica o- identifica o
número do próximo octeto que o destino esperanúmero do próximo octeto que o destino espera
receber;receber;
•HLENHLEN - contém um número inteiro que- contém um número inteiro que
especifica o tamanho do cabeçalho doespecifica o tamanho do cabeçalho do
segmento medido em múltiplos de 32 bitssegmento medido em múltiplos de 32 bits
(necessário porquê o campo opções possui(necessário porquê o campo opções possui
tamanho variável);tamanho variável);
30/09/13Prof. Luiz Otávio B. Lento 183
184. •bits de códigobits de código - determina o propósito e o- determina o propósito e o
conteúdo do segmento (os bits mostram comoconteúdo do segmento (os bits mostram como
interpretar os outros campos no cabeçalho)interpretar os outros campos no cabeçalho)
•Ex: 1Ex: 1°° bit ativo - campo urgente pointer válidobit ativo - campo urgente pointer válido
22°° bit ativo - número do ACK válido até o bit 6bit ativo - número do ACK válido até o bit 6
30/09/13Prof. Luiz Otávio B. Lento 184
185. •janelajanela - o TCP informa quantos dados ele está- o TCP informa quantos dados ele está
pronto para aceitar a cada momento que enviapronto para aceitar a cada momento que envia
um segmento, através da especificação doum segmento, através da especificação do
tamanho do buffer;tamanho do buffer;
•checksumchecksum - armazena um valor- armazena um valor
correspondente para verificação de erro,correspondente para verificação de erro,
levando em consideração o tamanho dolevando em consideração o tamanho do
cabeçalho, dados a serem transmitidos,cabeçalho, dados a serem transmitidos,
endereço IP de origem e destino;endereço IP de origem e destino;
30/09/13Prof. Luiz Otávio B. Lento 185
186. •urgent pointerurgent pointer - utilizado para identificar um- utilizado para identificar um
bloco de dados urgente dentro de um segmentobloco de dados urgente dentro de um segmento
TCP;TCP;
•opçãoopção - negocia com a outra extremidade da- negocia com a outra extremidade da
conexão o tamanho máximo de um segmentoconexão o tamanho máximo de um segmento
que o outro TCP está disposto a receber;que o outro TCP está disposto a receber;
•paddingpadding - garante que o tamanho do- garante que o tamanho do
cabeçalho do segmento TCP seja múltiplo decabeçalho do segmento TCP seja múltiplo de
32 bits;32 bits;
30/09/13Prof. Luiz Otávio B. Lento 186
187. Protocolo UDP (User Datagrama Protocol)Protocolo UDP (User Datagrama Protocol)
30/09/13Prof. Luiz Otávio B. Lento 187
188. O UDP é um protocolo padrão descrito na RFCO UDP é um protocolo padrão descrito na RFC
768;768;
•O UDPO UDP é basicamente umaé basicamente uma interface deinterface de
aplicação (API) para o IPaplicação (API) para o IP..
•Ele, é um protocoloEle, é um protocolo não orientado à conexãonão orientado à conexão,,
não adicionanão adiciona confiabilidade, controle de fluxoconfiabilidade, controle de fluxo
ou recuperação de errosou recuperação de erros para o IP;para o IP;
30/09/13Prof. Luiz Otávio B. Lento 188
189. UDP não estabelece uma sessão antes do
envio de dados
UDP é um protocolo de baixo overhead
30/09/13Prof. Luiz Otávio B. Lento 189
190. •OO UDP serve simplesmente como umUDP serve simplesmente como um
multiplexador/demultiplexadormultiplexador/demultiplexador para o envio epara o envio e
recebimento de datagramas IPrecebimento de datagramas IP, utilizando, utilizando
portas para direcionar os datagramas;portas para direcionar os datagramas;
30/09/13Prof. Luiz Otávio B. Lento 190
191. •O UDPO UDP é um mecanismoé um mecanismo primário para envioprimário para envio
do datagramado datagrama de uma aplicação para a outra.de uma aplicação para a outra.
•Ele pode ser considerado como extremamenteEle pode ser considerado como extremamente
simples e, conseqüentemente tem um baixosimples e, conseqüentemente tem um baixo
overheadoverhead, porém, existe a necessidade da, porém, existe a necessidade da
aplicação ter a responsabilidade de garantir aaplicação ter a responsabilidade de garantir a
recuperação de errosrecuperação de erros;;
30/09/13Prof. Luiz Otávio B. Lento 191
192. •Não oferece meios que permitam garantir umaNão oferece meios que permitam garantir uma
transferência confiável de dadostransferência confiável de dados, uma vez, uma vez
que não implementa mecanismos deque não implementa mecanismos de
reconhecimento, de seqüenciação nem dereconhecimento, de seqüenciação nem de
controle de fluxocontrole de fluxo das mensagens de dadosdas mensagens de dados
trocadas entre os dois sistemas;trocadas entre os dois sistemas;
30/09/13Prof. Luiz Otávio B. Lento 192
193. •Logo, osLogo, os datagramas podem serdatagramas podem ser perdidos,perdidos,
duplicados ou entregues fora de ordemduplicados ou entregues fora de ordem aoao
sistema de destinosistema de destino..
•AA aplicação assume toda aaplicação assume toda a
responsabilidaderesponsabilidade pelo controle de erros dentropelo controle de erros dentro
do nível de qualidade do serviço que a mesmado nível de qualidade do serviço que a mesma
requer;requer;
30/09/13Prof. Luiz Otávio B. Lento 193
194. Diferentes segmentosDiferentes segmentos
podem possuir diferentespodem possuir diferentes
rotasrotas
Se existem
rotas
diferentes
até o
destino, os
segmentos
podem
chegar fora
de ordem
30/09/13Prof. Luiz Otávio B. Lento 194
195. •Descrição do protocoloDescrição do protocolo::
⇒porta de origem e destinoporta de origem e destino - identificam os- identificam os
números das portas de serviço UDP utilizadasnúmeros das portas de serviço UDP utilizadas
em uma comunicação;em uma comunicação;
⇒tamanho da mensagemtamanho da mensagem - contém o número- contém o número
de octetos do datagrama UDP, incluindo ode octetos do datagrama UDP, incluindo o
cabeçalho e os dados do usuário;cabeçalho e os dados do usuário;
30/09/13Prof. Luiz Otávio B. Lento 195
196. ⇒checksumchecksum - armazena um valor- armazena um valor
correspondente para verificação de erro,correspondente para verificação de erro,
levando em consideração o tamanho dolevando em consideração o tamanho do
cabeçalho, dados a serem transmitidos,cabeçalho, dados a serem transmitidos,
endereço IP de origem e destino;endereço IP de origem e destino;
30/09/13Prof. Luiz Otávio B. Lento 196
198. •AA API UDP provê os seguintes serviçosAPI UDP provê os seguintes serviços::
⇒criação de novas portascriação de novas portas receptoras;receptoras;
⇒realiza operação derealiza operação de envio de dadosenvio de dados,,
passando como parâmetros as portas e ospassando como parâmetros as portas e os
endereços IP de destino e origem;endereços IP de destino e origem;
⇒recebe dadosrecebe dados, indicando a porta e o, indicando a porta e o
endereço de origem;endereço de origem;
30/09/13Prof. Luiz Otávio B. Lento 198
Notas do Editor
Florianópolis - CTAI Fundamentos em Tecnologia – Arquitetuta TCP/IP O modelo OSI oferece “separação” das camadas inferiores e superiores com interfaces padronizadas. Isso permite que os dispositivos de rede intermediários "comutem" o tráfego sem ter que se preocupar com os detalhes da LAN, o que leva ao conceito de internetworking , ou redes compostas de redes