Урок 20: IP, TCP, UDP — стек протоколов
Вся сетевая коммуникация — между сервером model serving и клиентами, между узлами distributed training и между конечными точками NVLink — построена на IP, TCP и UDP. TCP обеспечивает гарантированную упорядоченную доставку с помощью 3-way handshake. UDP предоставляет быстрые datagrams без гарантий. В
IP — это адрес дома. TCP — это упорядоченный телефонный звонок: соединяемся, говорим, кладём трубку. UDP — это открытка: отправляешь и не знаешь, дошла ли она. Порты — это номера квартир в одном здании.
- TCP
- Transmission Control Protocol — протокол с установлением соединения (connection-oriented), который гарантирует упорядоченную и надёжную доставку данных. Использует 3-way handshake для установления соединения. Обеспечивает flow control и congestion control.
- UDP
- User Datagram Protocol — протокол без установления соединения (connectionless), который отправляет datagrams без гарантий доставки, порядка или целостности. Быстрее, чем TCP. Подходит для DNS, video streaming и RDMA over Converged Ethernet.
- IP-адрес
- Уникальный идентификатор сетевого интерфейса. IPv4: 32 бита (например, 192.168.1.1). IPv6: 128 бит. Уровень IP отвечает за маршрутизацию packets между сетями.
- порт
- 16-битное число (1–65535), которое идентифицирует конкретную службу внутри машины. HTTP=80, HTTPS=443, SSH=22. Socket = IP + port. Well-known ports — это 1–1023, и они требуют прав root.
- трёхстороннее рукопожатие (three-way handshake)
- Установление TCP-соединения: (1) Client отправляет SYN, (2) Server отвечает SYN-ACK, (3) Client отправляет ACK. После этого соединение активно. Каждый шаг добавляет ~1 RTT (Round-Trip Time).