рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХрд╛ рдХрдиреЗрдХреНрд╢рди рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рд╕рд╛рдереА рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рд╕реВрдЪреА рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд╣рдХрд░реНрдореА рдХреЛ "рдмрд▓рдкреВрд░реНрд╡рдХ рдкреБрдирд░реНрдШреЛрд╖рдгрд╛" рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдПрдХ рдЯреЛрд░реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд╣рдХрд░реНрдореА рдХреЛ рдмрд▓ рдкреБрдирд░реНрдШреЛрд╖рдгрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореЗрдиреВ рдореЗрдВ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛: https://pasteboard.co/IGinL8w.png
рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ?
@roboirc
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЧрд▓рдд рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ "рдмрд▓ рдкреБрди: рдШреЛрд╖рдгрд╛" рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
рдмрд┐рдЯрдЯреЛрд░реЗрдВрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ, рд╕рд╛рдерд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ 2 рдореБрдЦреНрдп рддрд░реАрдХреЗ рд╣реИрдВ: рдбреАрдПрдЪрдЯреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдЯреНрд░реИрдХрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
"рдШреЛрд╖рдгрд╛" рдХреЗрд╡рд▓ рдЯреНрд░реИрдХрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдбреАрдПрдЪрдЯреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЖрдк рд╕реАрдзреЗ рд╕рд╛рдерд┐рдпреЛрдВ рдХреЛ рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдк рдЯреНрд░реИрдХрд░реНрд╕ рдХреЛ рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ (рдЗрд╕реАрд▓рд┐рдП рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ)ред рдЕрдзрд┐рдХ рд╕рд╣рдХрд░реНрдореА рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ "рдЭреБрдВрдб" (рдЯреЛрд░реЗрдВрдЯ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдерд┐рдпреЛрдВ рдХрд╛ рд╕реЗрдЯ) рдХреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдЯреНрд░реИрдХрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ (IP address, infohash)
рдЬреЛрдбрд╝реЗ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдЖрдк рдПрдХ рдЯреЛрд░реЗрдВрдЯ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯреЛрд░реЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдкрдХреЗ (IP address, infohash)
рдХреЛ рдЯреНрд░реИрдХрд░ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ, рдореВрд▓ рд░реВрдк рд╕реЗ "рдЕрд░реЗ рдореИрдВ рд╣реВрдВ"
рдлрд┐рд░ рдЯреНрд░реИрдХрд░ рдЖрдкрдХреЛ рдЕрдиреНрдп рд╕рд╛рдерд┐рдпреЛрдВ рдХреЗ (IP address, infohash)
рдЬреЛрдбрд╝реЗ рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╕реАрдбрд┐рдВрдЧ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ)ред рдЖрдо рддреМрд░ рдкрд░, рдЧреНрд░рд╛рд╣рдХ рд╕рдордп-рд╕рдордп рдкрд░ рдЯреНрд░реИрдХрд░ рдХреЛ
рддреЛ, рдмрд▓ reannounce рдореВрд▓ рд░реВрдк рд╕реЗ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк 30-60 рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рдЕрдзрд┐рднрд╛рд╡реА рдФрд░ рдЯреНрд░реИрдХрд░ _now_ рдХреЛ reannouncing рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рдпрд╣ рдорд╛рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ _your_ рдкрд┐рдЫрд▓реА рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рдж рд╕реЗ, рдмрд╣реБрдд рд╕реЗ рдирдП рдФрд░ рддреЗрдЬрд╝ рд╕рд╛рдерд┐рдпреЛрдВ рдиреЗ рднреА рдЯреНрд░реИрдХрд░ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреА рдШреЛрд╖рдгрд╛ рдХреА рд╣реИ, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдкрдХреА рдирдИ рдШреЛрд╖рдгрд╛ рдЖрдкрдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдЧреА рдФрд░ рдирдП рдХрдиреЗрдХреНрд╢рди рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрдЧреАред рдпрд╣ рднреА рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рдЗрд╕ рджреМрд░рд╛рди рдХреЛрдИ рдФрд░ рдЭреБрдВрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реБрдЖ, рдпрд╛ рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдкрдХрд╛ рдЧреНрд░рд╛рд╣рдХ рд╢рд╛рдорд┐рд▓ рд╣реБрдП рдирдП рд╕рд╛рдерд┐рдпреЛрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, "рдмрд▓ рдкреБрди: рдШреЛрд╖рдгрд╛" рдЙрдкрдпреЛрдЧреА рд╣реИ:
рдЕрдВрдд рдореЗрдВ, рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдмрд▓ рдкреБрдирд░реНрдШреЛрд╖рдгрд╛ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рд╕реНрдкреИрдо рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреБрдЫ рдЯреНрд░реИрдХрд░ рдЖрдкрдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдпрд╛ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдбреАрдПрдЪрдЯреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЯреЙрд░реЗрдВрдЯ рдХреЗ рд╡рд┐рд╢рд╛рд▓ рдмрд╣реБрдордд рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрдИ рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рдЯреЛрд░реЗрдВрдЯ рдХрд╛рдо рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛрдИ рднреА рдЯреНрд░реИрдХрд░реНрд╕ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЕрднреА рднреА рдЕрдиреНрдп рд╕рд╛рдерд┐рдпреЛрдВ рд╕реЗ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдЬреБрдбрд╝реЗрдВрдЧреЗред
рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрд┐рдЯрдЯреЛрд░реЗрдВрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА:
https://en.wikipedia.org/wiki/BitTorrent (рдЕрд╡рд▓реЛрдХрди рдФрд░ рдЗрддрд┐рд╣рд╛рд╕)
http://bittorrent.org/beps/bep_0000.html (рдмреАрдИрдкреА 3 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рд╣реИ)
https://wiki.theory.org/index.php/Main_Page (рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢реНрди, рдХрд▓реНрдкрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА)
https://libtorrent.org/index.html (C++ рдореЗрдВ рдмрд┐рдЯрдЯреЛрд░реЗрдВрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛ qBIttorrent рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ)
рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ "рд╣рд╛рдереЛрдВ рдкрд░" рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ/рд╕рднреА рджреЗрдЦреЗрдВ:
http://www.kristenwidman.com/blog/33/how-to-write-a-bittorrent-client-part-1/
https://www.seanjoflynn.com/research/bittorrent.html
https://www.cs.swarthmore.edu/~aviv/classes/f12/cs43/labs/lab5/lab5.pdf
рдорд╣рд╛рди рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдлреНрд░рд╛рдВрд╕рд┐рд╕реНрдХреЛ рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдореИрдВ рдЬрд┐рд╕ рдЯреНрд░реИрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдХреЗрд╡рд▓ рдореЗрд░реЗ рдХреБрдЫ рд╕реАрдб рдЯреЙрд░реЗрдВрдЯ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп (рдШреЛрд╖рд┐рдд) рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдРрд╕реА рдХреЛрдИ рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрд╣рд╛рдВ QB рдХреЗрд╡рд▓ рдЯреНрд░реИрдХрд░ рдХреЛ рдХреБрдЫ рдЯреЙрд░реЗрдВрдЯ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдмрд▓ рдкреБрдирд░реНрдШреЛрд╖рдгрд╛ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧреА?
@ infin0 рдХреНрдпрд╛ рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рд╡реИрд╕реЗ рднреА рдЕрдорд╛рдиреНрдп рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред
@thalieht рдХреГрдкрдпрд╛ рдмрдВрдж рдХрд░реЗрдВ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@roboirc
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЧрд▓рдд рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ "рдмрд▓ рдкреБрди: рдШреЛрд╖рдгрд╛" рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
рдмрд┐рдЯрдЯреЛрд░реЗрдВрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ, рд╕рд╛рдерд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ 2 рдореБрдЦреНрдп рддрд░реАрдХреЗ рд╣реИрдВ: рдбреАрдПрдЪрдЯреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдЯреНрд░реИрдХрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
"рдШреЛрд╖рдгрд╛" рдХреЗрд╡рд▓ рдЯреНрд░реИрдХрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдбреАрдПрдЪрдЯреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЖрдк рд╕реАрдзреЗ рд╕рд╛рдерд┐рдпреЛрдВ рдХреЛ рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдк рдЯреНрд░реИрдХрд░реНрд╕ рдХреЛ рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ (рдЗрд╕реАрд▓рд┐рдП рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ)ред рдЕрдзрд┐рдХ рд╕рд╣рдХрд░реНрдореА рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ "рдЭреБрдВрдб" (рдЯреЛрд░реЗрдВрдЯ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдерд┐рдпреЛрдВ рдХрд╛ рд╕реЗрдЯ) рдХреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдЯреНрд░реИрдХрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛрдШреЛрд╖рдгрд╛.
(IP address, infohash)
рдЬреЛрдбрд╝реЗ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдЖрдк рдПрдХ рдЯреЛрд░реЗрдВрдЯ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯреЛрд░реЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдкрдХреЗ(IP address, infohash)
рдХреЛ рдЯреНрд░реИрдХрд░ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ, рдореВрд▓ рд░реВрдк рд╕реЗ "рдЕрд░реЗ рдореИрдВ рд╣реВрдВ"рдлрд┐рд░ рдЯреНрд░реИрдХрд░ рдЖрдкрдХреЛ рдЕрдиреНрдп рд╕рд╛рдерд┐рдпреЛрдВ рдХреЗ
(IP address, infohash)
рдЬреЛрдбрд╝реЗ рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╕реАрдбрд┐рдВрдЧ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ)ред рдЖрдо рддреМрд░ рдкрд░, рдЧреНрд░рд╛рд╣рдХ рд╕рдордп-рд╕рдордп рдкрд░ рдЯреНрд░реИрдХрд░ рдХреЛрддреЛ, рдмрд▓ reannounce рдореВрд▓ рд░реВрдк рд╕реЗ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк 30-60 рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рдЕрдзрд┐рднрд╛рд╡реА рдФрд░ рдЯреНрд░реИрдХрд░ _now_ рдХреЛ reannouncing рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рдпрд╣ рдорд╛рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ _your_ рдкрд┐рдЫрд▓реА рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рдж рд╕реЗ, рдмрд╣реБрдд рд╕реЗ рдирдП рдФрд░ рддреЗрдЬрд╝ рд╕рд╛рдерд┐рдпреЛрдВ рдиреЗ рднреА рдЯреНрд░реИрдХрд░ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреА рдШреЛрд╖рдгрд╛ рдХреА рд╣реИ, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдкрдХреА рдирдИ рдШреЛрд╖рдгрд╛ рдЖрдкрдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдЧреА рдФрд░ рдирдП рдХрдиреЗрдХреНрд╢рди рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрдЧреАред рдпрд╣ рднреА рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рдЗрд╕ рджреМрд░рд╛рди рдХреЛрдИ рдФрд░ рдЭреБрдВрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реБрдЖ, рдпрд╛ рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдкрдХрд╛ рдЧреНрд░рд╛рд╣рдХ рд╢рд╛рдорд┐рд▓ рд╣реБрдП рдирдП рд╕рд╛рдерд┐рдпреЛрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, "рдмрд▓ рдкреБрди: рдШреЛрд╖рдгрд╛" рдЙрдкрдпреЛрдЧреА рд╣реИ:
рдЕрдВрдд рдореЗрдВ, рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдмрд▓ рдкреБрдирд░реНрдШреЛрд╖рдгрд╛ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рд╕реНрдкреИрдо рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреБрдЫ рдЯреНрд░реИрдХрд░ рдЖрдкрдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдпрд╛ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдбреАрдПрдЪрдЯреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЯреЙрд░реЗрдВрдЯ рдХреЗ рд╡рд┐рд╢рд╛рд▓ рдмрд╣реБрдордд рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрдИ рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рдЯреЛрд░реЗрдВрдЯ рдХрд╛рдо рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛрдИ рднреА рдЯреНрд░реИрдХрд░реНрд╕ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЕрднреА рднреА рдЕрдиреНрдп рд╕рд╛рдерд┐рдпреЛрдВ рд╕реЗ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдЬреБрдбрд╝реЗрдВрдЧреЗред
рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрд┐рдЯрдЯреЛрд░реЗрдВрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА:
https://en.wikipedia.org/wiki/BitTorrent (рдЕрд╡рд▓реЛрдХрди рдФрд░ рдЗрддрд┐рд╣рд╛рд╕)
http://bittorrent.org/beps/bep_0000.html (рдмреАрдИрдкреА 3 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рд╣реИ)
https://wiki.theory.org/index.php/Main_Page (рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢реНрди, рдХрд▓реНрдкрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА)
https://libtorrent.org/index.html (C++ рдореЗрдВ рдмрд┐рдЯрдЯреЛрд░реЗрдВрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛ qBIttorrent рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ)
рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ "рд╣рд╛рдереЛрдВ рдкрд░" рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ/рд╕рднреА рджреЗрдЦреЗрдВ:
http://www.kristenwidman.com/blog/33/how-to-write-a-bittorrent-client-part-1/
https://www.seanjoflynn.com/research/bittorrent.html
https://www.cs.swarthmore.edu/~aviv/classes/f12/cs43/labs/lab5/lab5.pdf