Суть торента на сколько я понимаю состоит в том, что файлы качаются не с сервера(ну или не только с него), а с компов других людей, которые уже скачали эти самые файлы, а это в свою очередь как я понимаю означает что торрент как-то пробрасывать порты через NAT, то есть открывает порты на сером ip.
А теперь вопрос: как он это делает и можно ли подобным образом открыть порт для сервера например?
Ничего он никуда не пробрасывает. Сто тысяч раз было уже обьяснено - любой проход через NAT делается только коннектом на заранее известный сервер (или сет из серверов). Инициация коннекта изнутри NAT, фиксация на внешнем сервере и соединение по указанному порту или порту по умолчанию. И все. И так работают все программы, "обходящие" NAT, потому что другого способа просто нет.
Валерий Альбертович Жмышенко, Да. Есть центральный сервер, который обеспечивает синхронизацию. Насчет торрентов точно не скажу, используется ли он постоянно или же только на этапе установления соединения, в вещах типа TeamViewer он используется постоянно.
CityCat4, в торентах непосредствено трекер этим занимается. Естественно только во время поиска пиров/инициализации соединений. Непосредственно контент через трекер не прогоняется - никаких мощностей и каналов не напасешься.
Но это дополнение к тому же самому upnp, а не основной механизм.
Белые адреса, VPN/Proxy или работающий UPnP у других пиров. С первыми двумя всё понятно, третья технология позволяет прозрачно для приложения прокидывать порт для прослушивания и включена по-умолчанию на большинстве домашних роутеров.
Saboteur
@saboteur_kiev Куратор тега Компьютерные сети
software engineer
Ваш торрент-клиент подключается к торрент-трекеру.
Другие торрент-клиенты подключаются к торрент-трекеру.
Торрент-трекер сообщает вашему торрент-клиенту список доступных торрент-клиентов, которые сейчас подключены.
То есть для вас торрент-трекер выступает сервером, через который он вас связывает и предоставляет по какому адресу-порту можно обмениваться данными напрямую. Но этот адрес-порт уже открыт со стороны клиента, когда он подключался к торрент-трекеру.
Стоп стоп стоп, я не сильно разбираюсь, но мне кажется ваш ответ не верен, сам по себе протокол BitTorrent является протоколом p2p, для p2p нужен сервер TURN (например гугловский), а так же сервер связи клиентов то-есть торрент-трекеру, исходя из выше написанного, необязательно иметь кому то белый ip адрес из раздающих (проэксперементировал с другом, мы находимся в разных городах, у обоих серые ip, и я могу скачать его торрент)