Both sides previous revisionPrevious revisionNext revision | Previous revision |
software:article:utp_dpi [2015/05/27 23:28] – [Torrent/uTP — о протоколе и самодельных DPI] root | software:article:utp_dpi [2022/02/05 04:27] (current) – root |
---|
====== Torrent/uTP — о протоколе и самодельных DPI ====== | ====== Torrent/uTP — о протоколе и самодельных DPI ====== |
{{:ru:software:article:utorrent_logo.png|}} | {{software:article:utorrent_logo.png|}} |
| |
В 2009 году появился [[http://en.wikipedia.org/wiki/Micro_Transport_Protocol|Micro Transport Protocol]], сокращённо - uTP, можно ознакомится [[http://habrahabr.ru/post/68332/|тут]].\\ | В 2009 году появился [[http://en.wikipedia.org/wiki/Micro_Transport_Protocol|Micro Transport Protocol]], сокращённо - uTP, можно ознакомится [[http://habrahabr.ru/post/68332/|тут]].\\ |
Вот какой бред написан в [[https://ru.wikipedia.org/wiki/ΜTorrent|русской википедии]] про uTP:\\ | Вот какой бред написан в [[https://ru.wikipedia.org/wiki/ΜTorrent|русской википедии]] про uTP:\\ |
"Также провайдерам намного сложнее блокировать передачу данных через μTP благодаря отсутствию строгих, формализованных отличий UDP пакетов обычного трафика (формируемого, к примеру, сетевыми играми) от трафика, формируемого протоколом μTP, в отличие от TCP пакетов, по содержанию полей которых можно делать вывод об их принадлежности к p2p-трафику."\\ | "Также провайдерам намного сложнее блокировать передачу данных через μTP благодаря отсутствию строгих, формализованных отличий UDP пакетов обычного трафика (формируемого, к примеру, сетевыми играми) от трафика, формируемого протоколом μTP, в отличие от TCP пакетов, по содержанию полей которых можно делать вывод об их принадлежности к p2p-трафику."\\ |
[[href="http://en.wikipedia.org/wiki/Micro_Transport_Protocol|Вики на английском]] более адекватна.\\ | [[http://en.wikipedia.org/wiki/Micro_Transport_Protocol|Вики на английском]] более адекватна.\\ |
| |
===== Жизнь с uTP ===== | ===== Жизнь с uTP ===== |
В начале я пробовал слать RESET с виндовой машины, перебирая connid, но это явно не работало, не совпадали адреса отправителя пакета и seq_nr, ack_nr. Это был первый неудачный опыт.\\ | В начале я пробовал слать RESET с виндовой машины, перебирая connid, но это явно не работало, не совпадали адреса отправителя пакета и seq_nr, ack_nr. Это был первый неудачный опыт.\\ |
| |
[[ru:software:freebsd:utp_ctrl_daemon|uTPControl - block uTP torrent proto]] - была первая более менее программа которую я написал под FreeBSD.\\ | [[software:freebsd:utp_ctrl_daemon|uTPControl - block uTP torrent proto]] - была первая более менее программа которую я написал под FreeBSD.\\ |
uTP протокол был любезно предоставлен в [[https://github.com/bittorrent/libutp|libuTP]] всему интернету :)\\ | uTP протокол был любезно предоставлен в [[https://github.com/bittorrent/libutp|libuTP]] всему интернету :)\\ |
| |
| |
=== Заход 2: ng_utp === | === Заход 2: ng_utp === |
[[ru:software:freebsd:ng_utp|FreeBSD uTP (udp torrent) netgraph node]]\\ | [[software:freebsd:ng_utp|FreeBSD uTP (udp torrent) netgraph node]]\\ |
Прошло полтора года, я успел покопаться в ядре FreeBSD и netgraph, лучше узнать как работает сеть и пришла мысль: uTP имеет состояния аналогичные TCP, значит чтобы его 100% определять нужно эти состояния отслеживать.\\ | Прошло полтора года, я успел покопаться в ядре FreeBSD и netgraph, лучше узнать как работает сеть и пришла мысль: uTP имеет состояния аналогичные TCP, значит чтобы его 100% определять нужно эти состояния отслеживать.\\ |
Заодно я ещё раз заглянул в [[https://github.com/bittorrent/libutp|libuTP]] и получше посмотрел за что можно зацепится.\\ | Заодно я ещё раз заглянул в [[https://github.com/bittorrent/libutp|libuTP]] и получше посмотрел за что можно зацепится.\\ |
Возможно с приходом кучи готовых либ для HTTP/2.0 торренты пустят и через него, скорее всего это вопрос времени. | Возможно с приходом кучи готовых либ для HTTP/2.0 торренты пустят и через него, скорее всего это вопрос времени. |
| |
| |
| {{tag>software article net torrent}} |