TCP соединение основано на первоначальном коннекте и связывает два пира между собой, то есть другой пир это соединение использовать не сможет (без особых ухищрений, которые не всегда возможны), через TCP можно организовать только прозрачный туннелинг
A и B устанавливают UDP соединение с сервером Hamachi
UDP соединения не бывает. UDP — протокол без подтверждения доставки пакета.
1) A и B устанавливают tcp-соединения с сервером Hamachi (что подтвержается tcpdump'ом или другим снифером).
2) A и B получают IP адреса от сервера Hamachi (например 10.0.0.5 — A, 10.0.0.6 — B, и Hamachi — сервер 10.0.0.1)
3) A и B получают маршруты (ходить в сеть 10.0.0./24 через шлюз 10.0.0.1).
4) Hamachi-сервер в данном случае тупо работает как роутер.
UDP соединения не бывает.
Да, спасибо, надо было быть точнее в определениях. Хотя, иногда UDP connection называют p2p диалог.
4) Hamachi-сервер в данном случае тупо работает как роутер.
Довольно накладно, если нам надо пересылать кучу информации (аудио, видео) при большом количестве пользователей.
VPN с возможностью прохождения через файрвол/NAT