Aula 20: IP, TCP, UDP — A Pilha de Protocolos
Toda comunicação de rede — entre um servidor de model serving e clientes, entre nós de treinamento distribuído, e entre endpoints NVLink — é construída sobre IP, TCP e UDP. O TCP garante entrega ordenada com um handshake de 3 vias. O UDP entrega datagramas rápidos sem garantias. Na NVIDIA, o InfiniB
IP é o endereço da casa. TCP é uma ligação telefônica organizada — você conecta, conversa, desliga. UDP é um cartão-postal — você envia e não sabe se chegou. Portas são números de apartamento no mesmo prédio.
- TCP
- Transmission Control Protocol — um protocolo orientado a conexão que garante a entrega ordenada e confiável de dados. Usa um handshake de 3 vias para estabelecer a conexão. Oferece controle de fluxo e controle de congestionamento.
- UDP
- User Datagram Protocol — um protocolo connectionless que envia datagramas sem garantia de entrega, ordem ou integridade. Mais rápido que o TCP. Adequado para DNS, streaming de vídeo e RDMA over Converged Ethernet.
- endereço IP
- Um identificador único de uma interface de rede. IPv4: 32 bits (por exemplo, 192.168.1.1). IPv6: 128 bits. A camada IP é responsável por rotear pacotes entre redes.
- porta
- Um número de 16 bits (1–65535) que identifica um serviço específico dentro de uma máquina. HTTP=80, HTTPS=443, SSH=22. Um socket = IP + porta. As well-known ports vão de 1 a 1023 e exigem privilégios de root.
- handshake de 3 vias
- O processo de estabelecimento de uma conexão TCP: (1) o Client envia SYN, (2) o Server responde com SYN-ACK, (3) o Client envia ACK. Depois disso a conexão fica ativa. Cada etapa adiciona ~1 RTT (Round-Trip Time).