Дело не в котах, у меня так вообще нет домашних животных, дело в тематике. Конечно, многим отрадно считать, что они каким-то боком принадлежат к информационным технологиям, я даже скажу каким, они пользуются продуктом их производства, но вот называть после этого ресурс IT-шным не стоит, даже если он таким и задумывался.
Дело в том, что хабрапользователь пишущий статью должен в таком случае быть информационным технологом, а многие ли на этом сайте могут похвастаться такими знаниями. Это же на самом деле всё очень не просто.
>которые не приучают котов не лазать по столам и ходить в туалет в правильные места
Зато скоро нас ждёт очередная статья про то, как кошка обучилась жать на клавиши и даже открывать браузер входя в интернет.
>Вы лучше скажите почему VoIP и MMORPG завязаны на UDP
VoIP это голос, не важно услышит пользователь, что-то или нет. Широкополосные сети позволяет при минимальной нагрузке организовать массовую рассылку данных. Да и телевидение или радио, достраивая над UDP ещё протколы.
Отправляем один раз, получаем хоть тысячу и нет необходимости увеличивать ширину канала. Проверка дошли данные или нет отдаётся на откуп приложениям. Что там MMORPG делают не смотрел, но принцип наверное тот же. Хотя если с такой позиции рассматривать скорости, то мне на глючном соединении их не видать, так что о UDP можно забыть.
> но мне бы хотелось доказательств этого бредового утверждения.
Вот наконец-то здравая мысль. Если мне не на словах, а опытом докажут, что в моём медленном глючащем соединении UDP окажется быстрее, то я соглашусь, особенно если не возникнет проблем с NAT (пока то у меня с UDP вообще ничего не работает, ну да не в этом суть).
В адресах некоторых трекеров уже давно всё прописано (для примера):
tracker.thepiratebay.org/announce
udp://tracker.thepiratebay.org:80/announce
>Потому что разрабатывавшие их специалисты по сетям — идиоты? И потому что сотни и тысячи людей за многие годы этого не заметили? Согласитесь — притянутое за уши объяснение…
Вот и объясни, почему по твоему мнению используют TCP/IP, хотя могли бы использовать UDP/IP. Единственное, что мне приходит в голову по поводу UDP и его быстроты, так это возможность отправлять широковещательные сообщения, что естественно гораздо быстрее, но крайне ненадёжно, да и провайдер может зарезать эту инициативу.
>Я не знаю кто это придумал и что он при этом курил,
Специалисты из майкрософт, что ни там курили я не знаю, тема построения кластерных баз данных, то есть сверхмощных систем для обработки информации.
>А вы сами там были? Читали? Может теперь (в виде исключения) наконец приведёте аргументы в пользу своей точки зрения?
Если UDP эффективнее, коррекция ошибок проходит в нём налету, тогда простой вопрос, почему по твоему мнению предпочитают использовать TCP и не только в битторрентах, ведь и то и другое существует очень давно?
Как бы слушать о том, что я не понимаю, что говорю мне не интересно, аргументируй лучше свою точку зрения, только постарайся без традиционного «ты быдло», иначе это будет последнее сообщение тебе.
Если говорить популярным языком, UDP используется для надёжных сетей, TCP для ненадёжных, из этого принципа выбирается, что использовать. Интернет считается ненадёжной сетью, нормально построенная локальная сеть надёжной.
В ненадёжных сетях TCP/IP будет более эффективен, и это не я придумал. Впрочем пользуйся UDP если тебе так охота, в конце концов все популярные клиенты, да и многие трекеры поддерживают эту возможность.
Обработку ошибок придётся вести BitTorrent, вот и всё. Да, может это смешно, когда в очереди стоит пару десяток закачек, но если их десятки тысяч. Впрочем почитай ка вот это — lurkmore.ru/Небыдло.
Ты же абсолютно правильно сказал, что не являешься спецом в этой теме, но почему-то решил по трольски на меня наехать. Было сказано буквально следующее:
>Раз есть протокол(стандартизация), то по нему можно и идентифицировать пакеты, а вот что делать с шифроваными пакетами
Так вот идентифицировать можно лишь битторентовские куски по SHA-1. Пакеты это термин TCP/IP, там тебе и шифрованные каналы и всё прочее. Если смог установить соединение с другим пиром по защищённому каналу, то нет никаких проблем, всё стандартно.
Библиотеку битторента я не писал, использовал Bitsharp, её можно выкачать и скомпилировать. Можно смотреть код и узнавать как устроен протокол битторрент (клиентская и серверная части) на конкретном примере.
Если тебе интересно, не поленись зайди по ссылке, скачай код и изучи, или найди другую реализацию, на языке, на котором программируешь. Меряться же письками в такой манере «я умный ты дурак» не пристало нормальным людям.
В некоторых сетевухах аппаратно, их ещё рекомендуют для мощных серверов покупать, кластеризация и всё такое. Впрочем я говорил не столько про это, сколько про то, что программная реализация TCP будет эффективнее проверки того же самого средствами различных битторрент клиентов.
Ладно там где сосредоточены дешёвые мощные сети, а висит какой-нибудь Вася Пупкин на дохлом постоянно глючащем канале, вот уж где начнётся веселье.
Мне как бы это не нужно, так как я программировал всё это на .NET и естественно понимаю как работает пересылка. Про подделку данных уже писал в самом верху, а с программной реализацией битторрента знаком по битшарпу (http://ru.wikipedia.org/wiki/Bitsharp).
Придётся, к тому же пакет может не прийти, и тогда его тоже надо отправлять заново. Собственно говоря TCP и решает эту проблему, это и есть его отличие от UDP, т.е. пакет будет доставлен в той же последовательности и без потерь.
А теперь представим, что мы используем UDP, значит сам программный клиент будет требовать доставить ему данные, что является лишней нагрузкой на CPU, да и зачем, когда TCP все равно для этих целей окажется эффективнее.
Причём время отклика для торрент сетей не играет никакой роли. Для них последовательная скачка зло и лишь тормозит систему, и пока весь файл не скачаешь все равно не посмотришь.
Chunk это и есть кусок, буквально дословный перевод, разделение на куски в битторренте это часть протокола битторрента, а закачка каждого кусочка по TCP/IP или UDP/IP это соотвественно эти протоколы, но не битторрент.
Нет, хабр не специализируется на информационных технологиях, хотя сам и является информационным ресурсом. Ну хотя бы вот текст из вики:
>Информационные технологии (ИТ, от англ. information technology, IT) — широкий класс дисциплин и областей деятельности, относящихся к технологиям управления и обработки данных, в том числе, с применением вычислительной техники.
>В настоящее время под информационными технологиями чаще всего понимают компьютерные технологии. В частности, ИТ имеют дело с использованием компьютеров и программного обеспечения для хранения, преобразования, защиты, обработки, передачи и получения информации. Специалистов по компьютерной технике и программированию часто называют ИТ-специалистами.
А теперь взглянем на большинство статей и всё станет ясно. Если я напишу, что моя кошка нассала на клавиатуру, то вряд ли после этого меня можно считать гуру информационных технологий.
>у торрент-клиентов есть свой протокол общения между собой
Нет там ничего, трекер просто говорит с кем соединятся и всё, а дальше клиентские проги по TCP/IP или UDP/IP подключаются. Проверка идёт по кусочкам, вот если 1 бит пришёл с ошибкой, а кусочек, к примеру, 4 мб, то и перекачивать нужно эти самые 4 мб, хотя может и меньше, если этот кусок дал не один участник, или если реализовать множественную проверку хеша, в любом случае это плохо.
Другое дело, что по TCP/IP такой лажи не будет и поддержка как правило на аппаратном, а не программном уровне (это намёк на пока что любую реализацию битторрента). В свете нынешних обсуждений битторрент можно рассматривать как BitTorent/TCP/IP или BitTorent/UDP/IP.
И ограничения соотвественно точно такие же как у семейства протоколов TCP/IP. То есть переписывать, что-то наподобие TCP/IP или UDP/IP это полный анрил, особенно почасти бессмысленности, а вот создать создать программы круче битторента вполне возможно даже программисту одиночке.
Да ложить на что любят и не любят на хабре, дело в другом, левый сайт может содержать заражённую вирусом или трояном программу. Причём это может быть сделано как по злому умыслу, так и просто потому, что файл побывал на компьютере с инфицированной ОС.
Да ничего страшного, только вот если придут неправильные данные придётся перекачивать кусочек, и так каждый раз. В битторренте смысл проверки хеша кусочков как мне думается вовсе не в контроле за ошибками обмена, а в защите от злонамеренной подделки данных.
>НО, для индустриальных компаний, которые занимаются массовой разработкой, такой подход невозможен. У них большая текучка кадров, множество однотипных проектов, для которых экономически оправдан конвейерный подход
Программисты наверное тоже не хило «перетекают», так что решать кого брать вопрос организации. А для множества однотипных проектов скорее всего нужно делать единую базу, в смысле один проект, и чтобы без программных изменений с минимальными настройками подходил куда нужно.
Дело в том, что хабрапользователь пишущий статью должен в таком случае быть информационным технологом, а многие ли на этом сайте могут похвастаться такими знаниями. Это же на самом деле всё очень не просто.
>которые не приучают котов не лазать по столам и ходить в туалет в правильные места
Зато скоро нас ждёт очередная статья про то, как кошка обучилась жать на клавиши и даже открывать браузер входя в интернет.
VoIP это голос, не важно услышит пользователь, что-то или нет. Широкополосные сети позволяет при минимальной нагрузке организовать массовую рассылку данных. Да и телевидение или радио, достраивая над UDP ещё протколы.
Отправляем один раз, получаем хоть тысячу и нет необходимости увеличивать ширину канала. Проверка дошли данные или нет отдаётся на откуп приложениям. Что там MMORPG делают не смотрел, но принцип наверное тот же. Хотя если с такой позиции рассматривать скорости, то мне на глючном соединении их не видать, так что о UDP можно забыть.
Вот наконец-то здравая мысль. Если мне не на словах, а опытом докажут, что в моём медленном глючащем соединении UDP окажется быстрее, то я соглашусь, особенно если не возникнет проблем с NAT (пока то у меня с UDP вообще ничего не работает, ну да не в этом суть).
В адресах некоторых трекеров уже давно всё прописано (для примера):
tracker.thepiratebay.org/announce
udp://tracker.thepiratebay.org:80/announce
>Потому что разрабатывавшие их специалисты по сетям — идиоты? И потому что сотни и тысячи людей за многие годы этого не заметили? Согласитесь — притянутое за уши объяснение…
Вот и объясни, почему по твоему мнению используют TCP/IP, хотя могли бы использовать UDP/IP. Единственное, что мне приходит в голову по поводу UDP и его быстроты, так это возможность отправлять широковещательные сообщения, что естественно гораздо быстрее, но крайне ненадёжно, да и провайдер может зарезать эту инициативу.
>Я не знаю кто это придумал и что он при этом курил,
Специалисты из майкрософт, что ни там курили я не знаю, тема построения кластерных баз данных, то есть сверхмощных систем для обработки информации.
Если UDP эффективнее, коррекция ошибок проходит в нём налету, тогда простой вопрос, почему по твоему мнению предпочитают использовать TCP и не только в битторрентах, ведь и то и другое существует очень давно?
Как бы слушать о том, что я не понимаю, что говорю мне не интересно, аргументируй лучше свою точку зрения, только постарайся без традиционного «ты быдло», иначе это будет последнее сообщение тебе.
В ненадёжных сетях TCP/IP будет более эффективен, и это не я придумал. Впрочем пользуйся UDP если тебе так охота, в конце концов все популярные клиенты, да и многие трекеры поддерживают эту возможность.
>Раз есть протокол(стандартизация), то по нему можно и идентифицировать пакеты, а вот что делать с шифроваными пакетами
Так вот идентифицировать можно лишь битторентовские куски по SHA-1. Пакеты это термин TCP/IP, там тебе и шифрованные каналы и всё прочее. Если смог установить соединение с другим пиром по защищённому каналу, то нет никаких проблем, всё стандартно.
Библиотеку битторента я не писал, использовал Bitsharp, её можно выкачать и скомпилировать. Можно смотреть код и узнавать как устроен протокол битторрент (клиентская и серверная части) на конкретном примере.
Если тебе интересно, не поленись зайди по ссылке, скачай код и изучи, или найди другую реализацию, на языке, на котором программируешь. Меряться же письками в такой манере «я умный ты дурак» не пристало нормальным людям.
Ладно там где сосредоточены дешёвые мощные сети, а висит какой-нибудь Вася Пупкин на дохлом постоянно глючащем канале, вот уж где начнётся веселье.
А теперь представим, что мы используем UDP, значит сам программный клиент будет требовать доставить ему данные, что является лишней нагрузкой на CPU, да и зачем, когда TCP все равно для этих целей окажется эффективнее.
Причём время отклика для торрент сетей не играет никакой роли. Для них последовательная скачка зло и лишь тормозит систему, и пока весь файл не скачаешь все равно не посмотришь.
>Информационные технологии (ИТ, от англ. information technology, IT) — широкий класс дисциплин и областей деятельности, относящихся к технологиям управления и обработки данных, в том числе, с применением вычислительной техники.
>В настоящее время под информационными технологиями чаще всего понимают компьютерные технологии. В частности, ИТ имеют дело с использованием компьютеров и программного обеспечения для хранения, преобразования, защиты, обработки, передачи и получения информации. Специалистов по компьютерной технике и программированию часто называют ИТ-специалистами.
А теперь взглянем на большинство статей и всё станет ясно. Если я напишу, что моя кошка нассала на клавиатуру, то вряд ли после этого меня можно считать гуру информационных технологий.
Нет там ничего, трекер просто говорит с кем соединятся и всё, а дальше клиентские проги по TCP/IP или UDP/IP подключаются. Проверка идёт по кусочкам, вот если 1 бит пришёл с ошибкой, а кусочек, к примеру, 4 мб, то и перекачивать нужно эти самые 4 мб, хотя может и меньше, если этот кусок дал не один участник, или если реализовать множественную проверку хеша, в любом случае это плохо.
Другое дело, что по TCP/IP такой лажи не будет и поддержка как правило на аппаратном, а не программном уровне (это намёк на пока что любую реализацию битторрента). В свете нынешних обсуждений битторрент можно рассматривать как BitTorent/TCP/IP или BitTorent/UDP/IP.
И ограничения соотвественно точно такие же как у семейства протоколов TCP/IP. То есть переписывать, что-то наподобие TCP/IP или UDP/IP это полный анрил, особенно почасти бессмысленности, а вот создать создать программы круче битторента вполне возможно даже программисту одиночке.
Британские учёные позапрошлого века, а я смотрю они совсем не изменились.
Программисты наверное тоже не хило «перетекают», так что решать кого брать вопрос организации. А для множества однотипных проектов скорее всего нужно делать единую базу, в смысле один проект, и чтобы без программных изменений с минимальными настройками подходил куда нужно.