Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

05 - Circuito Virtual

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

Circuito Virtual

1. Definicao

Circuito Virtual e um componente da Camada de Transporte (Layer 4 do modelo OSI). A Camada de Transporte e responsavel pela comunicacao fim-a-fim entre processos em hosts distintos.

Os protocolos dominantes sao:
- TCP (RFC 793): Confiavel, orientado a conexao.
- UDP (RFC 768): Nao confiavel, sem conexao.

2. Identificacao de Processos

Portas TCP/UDP

16 bits (0-65535), classificadas por IANA:

Faixa Nome Exemplos
0-1023 Well-known 22 SSH, 80 HTTP, 443 HTTPS
1024-49151 Registradas 3306 MySQL, 5432 PostgreSQL
49152-65535 Dinamicas Clientes outbound

Socket

Socket = (IP_origem, Porta_origem, IP_destino, Porta_destino, Protocolo)

3. UDP (User Datagram Protocol)

Caracteristicas

  • Nao orientado a conexao: Sem handshake.
  • Nao confiavel: Sem ACK, sem retransmissao.
  • Sem controle de fluxo ou congestionamento.
  • Sem ordenacao: Datagramas podem chegar fora de ordem.
  • Header: 8 bytes.

Datagrama UDP

+--------+--------+--------+--------+
| Source Port   | Destination Port|
|     2 bytes   |     2 bytes     |
+--------+--------+--------+--------+
| Length         | Checksum        |
|     2 bytes   |     2 bytes     |
+--------+--------+--------+--------+
| Data (variavel)                  |
+--------+--------+--------+--------+

Aplicacoes

  • DNS (53): Queries pequenas.
  • DHCP (67/68): Configuracao automatica.
  • VoIP (RTP): Tempo real.
  • Streaming de video.

4. TCP (Transmission Control Protocol)

Caracteristicas

  • Orientado a conexao: Three-way handshake.
  • Confiavel: ACKs, retransmissoes.
  • Ordenado: Cada byte numerado.
  • Controle de fluxo: Sliding window.
  • Controle de congestionamento: Slow start, AIMD.
  • Full-duplex.
  • Header: 20-60 bytes.

Flags TCP

Flag Funcao
SYN Sincroniza (inicia conexao)
ACK Confirma recebimento
FIN Finaliza conexao
RST Reset (aborta)
PSH Push (envia imediatamente)
URG Urgent

5. Three-Way Handshake

Cliente                           Servidor
  |                                 |
  | ---- SYN (seq=x) ------------> | SYN-RCVD
  |                                 |
  | <--- SYN-ACK (seq=y, ack=x+1)-- | ESTABLISHED
  |                                 |
  | ---- ACK (seq=x+1, ack=y+1)->  | ESTABLISHED
  |                                 |
  | ===== Dados =================>  |

Passo 1: SYN (Cliente)

  • Flags: SYN=1, ACK=0.
  • Seq: ISN aleatorio (x).
  • Estado: SYN-SENT.

Passo 2: SYN-ACK (Servidor)

  • Flags: SYN=1, ACK=1.
  • Seq: ISN do servidor (y).
  • Ack: x+1 (confirma SYN do cliente).
  • Estado: SYN-RECEIVED.

Passo 3: ACK (Cliente)

  • Flags: SYN=0, ACK=1.
  • Seq: x+1.
  • Ack: y+1.
  • Estado: ESTABLISHED.

6. Encerramento (Four-Way)

Cliente                           Servidor
  |                                 |
  | ---- FIN (seq=x) ------------> | CLOSE-WAIT
  | <--- ACK (ack=x+1) -----------  |
  | <--- FIN (seq=y) -------------- | LAST-ACK
  | ---- ACK (ack=y+1) ---------->  | CLOSED
  |                                 |
  | (TIME-WAIT 2*MSL)             |
  | CLOSED                         |

7. Controle de Fluxo (Sliding Window)

Receptor informa quantos bytes pode receber (campo Window):

Cliente                           Servidor
  | ---- Dados (1000 bytes) -----> |
  | ---- Dados (1000 bytes) -----> |
  | <--- ACK (Window=0) ---------- | (buffer cheio)
  | (Espera...)                    |
  | <--- ACK (Window=2000) ------ | (buffer liberado)
  | ---- Dados (2000 bytes) -----> |

8. Controle de Congestionamento

Slow Start

cwnd = 1 MSS. Dobra a cada ACK recebido. Crescimento exponencial ate ssthresh.

Congestion Avoidance (AIMD)

Apos ssthresh, cwnd cresce 1 MSS por RTT. Additive Increase, Multiplicative Decrease.

Fast Retransmit

3 ACKs duplicados = perda. Retransmite sem esperar timeout.

9. Comparacao TCP vs UDP

Caracteristica TCP UDP
Conexao Orientado (handshake) Nao orientado
Confiabilidade Garantida Nao garantida
Ordenacao Garantida Nao garantida
Controle de fluxo Sliding window Nao
Controle de congestionamento Sim Nao
Header 20-60 bytes 8 bytes
Aplicacoes Web, email, SSH DNS, VoIP, streaming