TCP/IP Layers
Treinamento RedeCASD
A Era Ponto-a-Ponto
• Processos já rodavam em
  distintas máquinas há tempos!

• Quando duas máquinas
  precisavam se comunicar, se
  ligavam as duas por serial,
  problema resolvido… e para
  trocar a conexão? Troca o cabo
  de lugar! (SUGA!)
A Era HUB
Entra em cena:

MAC ADDRESS!

00:1C:FF:D3:47:99
• Comunicação ingênua: mando o
  pacote para todo mundo, só quem vai
  ouvir é o destinatário (Yeah… sure!)

• N pessoas na rede, mandando N-1
  pacotes para cada comunicação…
  N^2! (Flooooooooding)
Token Ring!
A Era Switch
•   O Switch já é mais safo: ele faz uma
    tabela virtual associando MAC e
    porta e só manda para a porta certa!
E se eu não souber qual porta?
Floooood nelas! (mas depois eu lembro)
Topologias mistas!
21/03/2013
• Agora todos se ligam com todos, é só
  guardar na tabelinha…

               MAS
• Tabela tem limite de tamanho!
• Para montar a tabela continuamos
  com problema quadrático…

         Deve ter um jeito melhor…
A Era Roteador
   (InterNET)
INTERligar
 diferentes
NETworks…
Entra em cena:

   IP ADDRESS!

   192.168.0.1
IP / Mask
IP: 192.168.74.45: 11000000.10101000.01001010.00101101
Mask: 255.255.248.0: 111111111.111111111.11111000.00000000




                “&&”, “^”, “e”
Rede:   192.168.72.0: 11000000.10101000.01001000.00000000
        Notação resumida: 192.168.72.0/21
E o MAC?
ESQUECIDO?
De jeito nenhum! Ainda
usado para navegar na
        intranet!
 Tradução IP -> MAC


    ARP
ARP
      Mais detalhes:
http://www.watchguard.com/infoc
    enter/editorial/135250.asp
Routing Alghorithms
   Mais detalhes:
http://en.wikipedia.org/wiki/Routing
BGP
     Mais detalhes:
http://en.wikipedia.org/wiki/BGP
TraceRoute
(win: tracert)
Pirate Bay na coréia???
http://tecnoblog.net/125904/the-pirate-bay-coreia-
                    do-norte/

 MADNESS: https://rdns.im/the-pirate-bay-north-
       korean-hosting-no-its-fake-p2
Camadas
 TCP/IP
          Aplicação
          Transporte
          Redes
          Enlace
          Física
Física
• Camada física: conversão de informação em
  sinais… Cabo de cobre, luz, wi-fi…

• Limitação de cabos de cobre: 100 metros!

• Dois protocolos legais para pesquisar:
  100BASE-TX (Fast Ethernet), 1000BASE-T
Enlace
Aqui moram:
 MAC - não o Book (:
Switch + Tabela virtual
      INTRAnet
         ARP
Redes
Aqui moram:
       IP / Mask
Roteador + Todo Wireless?
         Matrix!
          NAT
Transporte
Orientado a conexão:
 3-way Handshake
       Syn->
     <-Ack+Syn
       ->Ack
Fire and Forget!
Certeza
     Sync
Lento? Rápido?
OVERHEAD
SCTP
         Mais detalhes:
http://en.wikipedia.org/wiki/Stream_Control_Trans
                mission_Protocol
Aplicação
HTTP
    SSH
    VPN
    DNS
“Layer7” (OSI)
Juntando tudo
Acessando um PC
     LOCAL
Aplicação

Meu comp: Ei, DNS, quem é Blow.Rede?
DNS: Ah, é o 192.168.75.123
Transporte
Meu comp: Ok, sei quem é. Manda
um pacote para o destino FINAL
192.168.75.123 na porta 139 pelo
protocolo TCP (smb:)
Redes
Meu comp: Anh… o IP dele é
192.168.75.123, o meu é
192.168.74.230… minha máscara de
rede é /21, joga isso no meu ip…
192.168.72.X! Ele também! Bizu,
intranet, vou mandar pra ele
mesmo.
Enlace
Meu comp:
If(IP 192.168.75.123 na tabela ARP){
   Coloca o endereço MAC no header do
   enlace
}
else{
   FLOOD ARP! Who-has 192.168.75.123?
   Achei, bizu, tabela e coloca ele no
   header
}
Física
Meu comp:
(Placa de rede é fast ethernet, twister-pair)
Uso o protocolo 100BASE-TX para encodar
essas informações em “sinal”, transmito
nos pinos 1,2,3 e 6, full-duplex…
Física
Um Switch:
Chegou o sinal do jeito que eu estava
esperando na porta tal
Enlace
Um Switch:
If(MAC do Blow na tabela){
   Joga para a porta onde está indicado
}
else{
   Flood! Todas portas, onde está esse
   MAC?
}
Física
Um Switch:
Reenviando…
Física
PC do BLOW:
Chegou o sinal do jeito que eu estava
esperando na minha porta…
Enlace
PC do BLOW:
If(MAC no header layer2 é meu?){
   É pra mim! Continua desenpacotando!
} //Nesse caso não vai cair no else
else{
   “Caguei” (… a não ser “promíscuo”)
}
Redes
PC do BLOW: O IP é pra o meu
mesmo, não tão querendo que eu
roteie não
Transporte
PC do BLOW: Opa, TCP na minha
porta 139, melhor seguir a etiqueta
do TCP, enviar um ACK para a porta
de origem do cubo e também passar
isso para a aplicação que gerencia
smb:
Aplicação

Comp do Blow (SMB): opa, chegou um
payload de dados pra mim! Tão fácil, tão
simples, parece mágica!
Acessando um PC
    REMOTO
ernativa

TCP/IP Layers