TORRENTING කියන්නේ මොකක්ද?
සාමාන්යයෙන් ඩවුන්ලෝඩ් කරද්දී , සේරම ඩේටා එන්නේ එක සර්වර් එකකින්, ඒ කියන්නේ ඒක වැඩ කරන්නෙ Client-Server Architecture එක විදියට ඒක බිසී වුනොත් අපිට ලැග් වෙනවා. හැබැයි Torrenting කියන්නේ Peer-to-Peer (P2P) කියන සිද්ධාන්තය මත වැඩ කරන ඩේටා හුවමාරු කිරීමේ ක්රමයක්. මෙතනදී එක සර්වර් එකක් මත රඳා පවතින්නෙ නැතුව ෆයිල් එකක් තියෙන සහ ඩවුන්ලෝඩ් කරන හැමෝම අතර දත්ත බෙදාගැනීම තමයි මේකේ මූලිකම සංකල්පය.
මේක ප්රායෝගිකව සහ තාක්ෂණිකව වෙන්නේ මෙහෙමයි. හිතන්න ඔයා 1GB ෆයිල් එකක් ඩවුන්ලෝඩ් කරනවා කියලා. මුලින්ම ඒ ෆයිල් එක කුඩා කෑලි වලට (Chunks) කඩනවා. ඔයාගේ මැෂින් එක කරන්නේ ඒ කෑලි ටික, ඒ වෙලාවේ ඔන්ලයින් ඉන්න වෙනත් Peers (පරිශීලකයන්) ගොඩක් දෙනෙක්ගෙන් එකපාරටම ඉල්ලගන්න එක. ඒ කියන්නේ ඩේටා පැකට් වගේම, හැම කෙනෙක්ගෙන්ම කොටස බැගින් අරගෙන තමයි සම්පූර්ණ ෆයිල් එක හදාගන්නේ. උදාහරණයක් විදියට, ෆයිල් එකේ මුල් 10% එක කෙනෙක්ගෙන් එද්දී, අන්තිම 10% තව කෙනෙක්ගෙන් එනවා.
මේ නිසා ඩවුන්ලෝඩ් එකේ වේගය තනි සර්වර් එකක ධාරිතාවට සීමා වෙන්නේ නෑ. කට්ටිය වැඩි වෙන්න වැඩි වෙන්න ස්පීඩ් එක වැඩි වෙනවා. ඒ වගේම එක කෙනෙක් ඔෆ්ලයින් ගියත් අවුලක් නෑ, ෆයිල් එකේ කෑලි අනිත් අය ළඟ තියෙන නිසා ඩවුන්ලෝඩ් එක නතර වෙන්නේ නෑ.
මේක තමයි Torrenting වල Basic ම Idea එක ඊලගට අපි මේකේ ඉන්න Seeders සහ Leechers කියන දෙගොල්ල ගැන කතා කරමු
SEEDERS & LEECHERS කියන්නේ කවුද?
අපි ටොරන්ට් ගැන කතා කරද්දී කිව්වනේ මේකේ සර්වර් එකක් නෑ, මිනිස්සුමයි බෙදාගන්නේ කියලා. අන්න ඒ බෙදාගන්න කට්ටියව තමයි අපි ප්රධාන කොටස් දෙකකට බෙදන්නේ Seeders සහ Leechers කියලා. ටෙක්නිකලි ගත්තොත්, ෆයිල් එකේ දත්ත සම්පූර්ණයෙන්ම තියෙන කෙනා සහ දත්ත ලබාගනිමින් ඉන්න කෙනා අතර වෙනස තමයි මේ.
මුලින්ම Seeders ගැන බලමු. Seeder කෙනෙක් කියන්නේ අදාල ෆයිල් එක 100% ක්ම ඩවුන්ලෝඩ් කරලා ඉවර වෙලා, අනිත් අයට ඒක ගන්න දිගටම අප්ලෝඩ් වෙන්න (Seeding) දීලා තියෙන කෙනාට. ටොරන්ට් එකක් ජීවත් වෙන්නේ මේ අය නිසා. මොකද ෆයිල් එකේ සම්පූර්ණ කොටස් ටික තියෙන්නේ මෙයාලා ළඟ විතරයි. ඒ නිසා අපි ටොරන්ට් ෆයිල් එකක් තෝරද්දී හැම වෙලේම බලන්න ඕන වැඩිපුරම Seeders ලා ඉන්න එකක් ගන්න. මොකද බෙදන්න ඉන්න කට්ටිය වැඩි වුනාම තමයි අපිට උපරිම වේගෙන් (Speed) බාගන්න පුළුවන් වෙන්නේ.
ඊළඟට Leechers (සමහර තැන්වල Peers කියලත් කියනවා). මෙයාලා කියන්නේ තාම ෆයිල් එක ඩවුන්ලෝඩ් කරමින් ඉන්න අයට. හැබැයි මෙතන වැදගත්ම ටෙක්නිකල් කාරණයක් තියෙනවා. Leechers ලා කියන්නේ නිකන්ම ගන්න අයට විතරක් නෙවෙයි. ටොරන්ට් ප්රොටෝකෝල් එකේ හැටියට, ඔයා ෆයිල් එකෙන් 20% ක් ඩවුන්ලෝඩ් කරගෙන ඉන්න ගමන්, ඔයා ළඟ තියෙන ඒ 20% කොටස, ඒක නැති වෙනත් Leecher කෙනෙක්ට ඔයාගේ මැෂින් එකෙන් අප්ලෝඩ් කරනවා. ඒ කියන්නේ ඩවුන්ලෝඩ් කරන අතරතුරම ඔයාත් කොටස් වශයෙන් Seeder කෙනෙක් විදියට වැඩ කරනවා. ඩවුන්ලෝඩ් එක 100% ඉවර වුන ගමන් ඔයා ස්වයංක්රීයව සම්පූර්ණ Seeder කෙනෙක් බවට පත් වෙනවා.
ඉතින් ප්රායෝගිකව ගත්තොත්, හොඳ ටොරන්ට් එකක් වෙන්න නම් Leechers ලට වඩා Seeders ලා වැඩි වෙන්න ඕන. එතකොට තමයි පෝලිමේ ඉන්නේ නැතුව උපරිම ස්පීඩ් එකෙන් ඩේටා එන්නේ.
ඊලගට අපි Trackers සහ Magnet Links ගැන කතා කරමු.
TORRENT වල TRACKER කියන්නේ කවුද?
අපි දන්නවනේ ටොරන්ට් වලදී ෆයිල් එක ගන්නෙ සර්වර් එකකින් නෙවෙයි, ලෝකේ වටේ ඉන්න මිනිස්සුන්ගෙන් (Peers) කියලා. හැබැයි ප්රශ්නේ තියෙන්නේ, කොහොමද අපේ Pc එක හරියටම දැනගන්නේ කවුද මේ වෙලාවේ ඔන්ලයින් ඉන්නේ? කා ළඟද ෆයිල් එක තියෙන්නේ? එයාලගේ IP මොනවද? කියලා. අන්න ඒ තොරතුරු ලබාදෙන මැදකරු තමයි Tracker එකක් කියලා කියන්නේ. සරලවම කිව්වොත් Tracket කියන්නේ ෆයිල් එක බෙදාගන්න හැමෝවම සම්බන්ධ කරන Bridge එකයි.
ටෙක්නිකලි මේක වෙන්නේ මෙහෙමයි. Tracker කියන්නේ විශේෂ සර්වර් එකක්. හැබැයි මතක තියාගන්න, මේ සර්වර් එකේ අපි හොයන ෆිල්ම් එක හෝ ෆයිල් එක නෑ. මේකේ තියෙන්නේ ඒ ෆයිල් එක ළඟ තියෙන අයගේ සහ Download කරන අයගේ IP Address වල ලිස්ට් එකක් විතරයි. ඔයා ටොරන්ට් ෆයිල් එකක් ඕපන් කරපු ගමන්, ඔයාගේ ටොරන්ට් Client එක (uTorrent වගේ) මුලින්ම කරන්නේ මේ ට්රැකර් සර්වර් එකට කතා කරන එක. එතකොට ට්රැකර් එක කියනවා ආ.. මේ ෆයිල් එක අහවල් රටවල් වල ඉන්න මේ IP 50 ළඟ තියෙනවා කියලා ඒ ලිස්ට් එක ඔයාට දෙනවා.
අන්න ඒ ලිස්ට් එක ලැබුණට පස්සේ තමයි ඔයාගේ මැෂින් එක අර කියපු Seeders ලා එක්ක කෙලින්ම සම්බන්ධ වෙලා ඩේටා හුවමාරු කරගන්නේ. මෙතනදී ඩේටා යන්නේ ට්රැකර් එක හරහා නෙවෙයි. ට්රැකර් එක කරන්නේ ඔයාවයි, සීඩර්ස්ලවයි අඳුන්නලා දෙන එක (Handshaking) විතරයි.
මේක හරියට Uber/PickMe වගේ වැඩක්. ඇප් එකෙන් ඩ්රයිවර්ව හොයලා දුන්නට, ගමන යන්නේ ඇප් එක ඇතුලේ නෙවෙයි, ඩ්රයිවර්ගේ වාහනේනේ. අන්න ඒ වගේ සීන් එකක්.
හැබැයි මේ ක්රමේ පොඩි අවුලක් තියෙනවා. මොකක් හරි හේතුවකින් ට්රැකර් සර්වර් එක ඩවුන් වුනොත් හෝ බ්ලොක් වුනොත්, අර ලිස්ට් එක ගන්න විදියක් නැති නිසා අපිට සීඩර්ස්ලව හොයාගන්න බැරි වෙනවා. අන්න ඒකට විසඳුම විදියට ආපු, ට්රැකර් එකක් නැතුව වුනත් වැඩ කරන Magnet Links (DHT technology) ගැන අපි ඊළඟට කතා කරමු.
MAGNETIC LINK කියන්නේ මොකක්ද?
කලින් අපි කතා කළානේ Tracker එක ඩවුන් වුනොත් අපිට seeders ලව හොයාගන්න බැරි වෙන එක ගැන. අන්න ඒකට technical විසඳුම තමයි Magnet Links සහ DHT කියන්නේ. සාමාන්යයෙන් අපි .torrent ෆයිල් එකක් ගත්තම ඒක ඇතුලේ tracker server එකේ address එක හාඩ්කෝඩ් වෙලා තියෙනවා.
හැබැයි Magnet Link එකක එහෙම server address මුකුත් නෑ. ඒකේ තියෙන්නේ අදාළ ෆයිල් එකේ Hash එක එමත් නතන්ම් අපි කියනවා Digital Fingerprint විතරයි. සරලවම කිව්වොත් Magnet Link එක click කළාම ඔයාගේ Torrent Client එක කරන්නේ සර්වර් එකක් හොයන එක නෙවෙයි, කෙලින්ම අර Hash එක මැච් වෙන ෆයිල් එක කා ළඟද තියෙන්නේ කියලා හොයන එකයි.
මේ වැඩේට තමයි DHT හෙවත් Distributed Hash Table කියන ටෙක්නොලොජි එක පාවිච්චි වෙන්නේ. මෙතනදී middle server එකක් නෑ. ඒ වෙනුවට online ඉන්න හැම Peer කෙනෙක්ම පුංචි ට්රැකර් එකක් වගේ ක්රියා කරනවා. ඔයාගේ මැෂින් එක අනිත් Peers ලගෙන් අහනවා "මේ Hash එක තියෙන ෆයිල් එක කා ළඟද තියෙන්නේ?" කියලා. එතකොට එයාලා දන්නේ නැත්නම් එයාලා connect වෙලා ඉන්න අනිත් Peers ලගෙන් අහනවා. මේක නිකන් දම්වැලක් වගේ ගිහින් අන්තිමට ෆයිල් එක තියෙන කෙනාව හොයාගන්නවා.
කලින් අපි කතා කරපු Uber උදාහරණයෙන් ගත්තොත්, මේක හරියට Uber සර්වර් එක නැතුව, පාරේ ඉන්න ඩ්රයිවර්ලා එකතු වෙලා එකිනෙකාට කෝල් කරලා අපිට වාහනයක් හොයලා දෙනවා වගේ Decentralized වැඩක්.
මේ සිස්ටම් එක නිසා ට්රැකර් සර්වර් එකක් ඩවුන් වුනත්, සයිට් එකක් බ්ලොක් වුනත් අපිට Download කරන්න පුළුවන් වෙන්නේ ඒකයි.
ඊලගට අපි Seedbox කියන්නේ මොකක්ද කියලා කතා කරමු.
SEEDBOX කියන්නේ මොකක්ද?
Seedbox එකක් කියන්නේ වෙන රටක තියෙන Data Center එකක රන් වෙන, පැය 24 පුරාම ලයිට් සහ අධිවේගී ඉන්ටර්නෙට් තියෙන අපි කුලියට ගන්න සර්වර් එකක්. මේක හරියට ඔයාගේ වැඩ කරන්න ඔයා වෙන රටක කුලියට ගත්ත සුපිරි කොම්පියුටරයක් වගේ.
මේකේ වැඩේ වෙන්නේ හරිම පිළිවෙලට. ඔයා ගෙදර ඉඳන් බ්රව්සර් එකෙන් ලොග් වෙලා ඔයාට ඕන ෆිල්ම් එකේ ටොරන්ට් ෆයිල් එක හෝ මැග්නට් ලින්ක් එක මේ Seedbox එකට දෙනවා. මේ බොක්ස් එකට 10-20 Gbps වගේ පිස්සු හැදෙන ස්පීඩ් එකක් තියෙන නිසා, ගිගාබයිට් ගාණක ෆයිල් එකක් වුනත් තත්පර ගාණක් ඇතුළත ඒකේ හාඩ් ඩිස්ක් එකට ඩවුන්ලෝඩ් වෙනවා. ෆයිල් එක ඩවුන්ලෝඩ් වුනාට පස්සේ, ඔයාට පුළුවන් ඔයාගේ ගෙදර මැෂින් එක ඕෆ් කරලා දාන්න. මොකද අර Seedbox සර්වර් එක දිගටම අදාළ ෆයිල් එක අනිත් අයට Upload (Seed) කරනවා. මේ නිසා ඔයාගේ ගෙදර ලයිට් බිලට හෝ ඩේටා වලට කිසිම බලපෑමක් නොවී ඔයාගේ Upload Ratio එක දිගටම වැඩි වෙනවා.
දැන් Seedbox එකට බාපු ෆයිල් එක අපි බලන්නේ කොහොමද කියන ප්රශ්නේ එනවනේ. ඒකට ප්රධාන ක්රම දෙකක් තියෙනවා.
පළවෙනි ක්රමේ තමයි FTP (File Transfer Protocol) සොෆ්ට්වෙයාර් එකක් දාගෙන Seedbox එකේ තියෙන ෆයිල් එක කෙලින්ම ගෙදර මැෂින් එකට Direct Download කරගන්න එක. එතකොට ISP ලා ටොරන්ට් බ්ලොක් කරලා තිබ්බත් අවුලක් යන්නේ නෑ මොකද ඒක සාමාන්ය ඩවුන්ලෝඩ් එකක් විදියට එන නිසා. දෙවෙනි ක්රමේ තමයි ඒ සර්වර් එකේම Plex වගේ දෙයක් රන් කරලා, ෆයිල් එක ගෙදරට බාන්නේ නැතුව කෙලින්ම Netflix බලනවා වගේ ස්ට්රීම් කරලා බලන එක. කොහොම බැලුවත් ලෝකෙට පේන්නේ Seedbox එකේ IP එක මිසක් ඔයාගේ IP එක නෙවෙයි නිසා ආරක්ෂාවත් උපරිමයි.