Office of Academic Resources and Information Technology

BitTorrent (BT)

BitTorrent (BT) คืออะไร?

Bittorrent เป็นมาตรฐาน P2P (peer to peer) ที่ใช้เพื่อรับส่งไฟล์ระหว่างผู้ใช้ Internet ด้วยกัน เครื่องผู้ใช้จะติดต่อกับเครื่องของผู้ใช้อื่นเพื่อรับส่งชิ้นส่วนของไฟล์ จะมีเครื่องมือหนึ่ง หรือ โปรแกรม (เรียกว่า Tracker) ทำหน้าที่เป็นตัวจัดระบบการสื่อสารระหว่างผู้ใช้เหล่านั้น(peers) ตัว Tracker จะทำหน้าที่จัดการเท่านั้น จะไม่มีข้อมูลของไฟล์ที่รับส่ง

ดัง นั้น Tracker จึงไม่ต้องมีเน็ตที่แรงเพราะไม่ได้รับส่งไฟล์เอง สิ่งที่ทำให้ BT อยู่ได้ก็คือหลักการที่ผู้ใช้ควรจะส่งไฟล์ขณะเดียวกับที่รับไฟล์ หากมีผู้ใช้มากก็จะเร็วมาก การทำงานของ BT ก็คือการหั่นไฟล์นึงเป็นหลายๆ ส่วน แล้วส่งคนละส่วนไปยังผู้รับหลายคน พอผู้รับเหล่านั้นได้รับส่วนเหล่านั้นก็จะสามารถรับส่งกันเองเพราะต่างกัน ต่างมีชิ้นส่วนที่คนอื่นไม่มี ทำให้ไม่ต้องพึ่งผู้ส่งผู้เดียว


BitTorrent ต่างจาก P2P แบบอื่นอย่างไร

P2P แบบอื่นเช่น WinMX,eMule,Kaza,Napster จะเป็นการติดต่อแค่ 1-1 เท่านั้น
คือ 1 ไฟล์ จะมีแค่เพียง 1 Connection ระหว่าง ผู้ส่ง กับผู้รับ เท่านั้น ทำให้มีความเร็วต่ำ
โดยเฉพาะถ้าคนปล่อยไฟล์ โดนคนดูดไฟล์หลายๆคนรุมดูดพร้อมกัน จะช้ามากๆ
และลักษณะการส่งจะเป็นแบบทิศทางเดียว คือ ผู้ส่ง -> ผู้รับ
จึงเหมาะกับแชร์ไฟล์ขนาดเล็กๆเท่านั้นเช่น ไฟล์ MP3 รูป zipขนาดไม่เกิน10M

BT เป็นการรวมคนปล่อย และคนดูด ไฟล์ใดไฟล์หนึ่ง เข้ามารวมไว้ด้วยกัน
จะมีการติดต่อตามจำนวนคนที่แชร์ไฟล์นั้นอยู่ คือ 1 ไฟล์ จะมีหลาย Connection ทำให้มีความเร็วสูง
แบบเดิมจะรับไฟล์ได้จากคนปล่อยเพียงคนเดียว ส่วน BT ก็จะรับไฟล์จากคนปล่อยได้หลายคน
ลักษณะการส่งจะเป็นแบบส่งต่อ คือคนที่ได้รับไฟล์แล้วก็จะส่งไฟล์ต่อไปให้คนที่ยังไม่ได้อีกที
คือแทนที่จะเป็นคนรับอย่างเดียว ก็จะเป็นทั้งรับ และปล่อย ไปพร้อมๆกัน เวลารุมดูดไฟล์พร้อมกันจึงไม่ช้า
เหมาะกับการแชร์ไฟล์ขนาดใหญ่ ตั้งแต่ 10M ขึ้นไปจนถึง 10G หรือมากกว่านี้


Tracker คืออะไร?

Tracker คือ เครื่องมือ หรือ โปรแกรมในเน็ตที่ทำหน้าที่จัดการประสานการระหว่างผู้ที่ต่อเข้า BitTorrent เมื่อคุณเปิดไฟล์ torrent ตัว client ก็จะติดต่อกับ tracker (ที่ระบุใน torrent) เพื่อขอรายชื่อผู้ที่อยู่ใน swarm ของไฟล์นั้นๆในปัจจุบัน ตัว tracker จะรู้ว่าสมาชิกของ swarm มีชิ้นส่วนไหนของไฟล์รวมทั้งสถานะของสมาชิกแต่ละคน หาก tracker เกิดขัดข้องก็จะไม่สามารถเริ่มโหลดไฟล์นั้นได้ แต่หากโหลดอยู่แล้วก็สามารถโหลดต่อได้
Tracker จะมี 2 แบบคือ
1.ระบบปิด ต้องเป็น Member คิด Ratio ส่วนมากจะเป็นระบบนี้ ข้อดีโหลดได้ไว คิด Ratio ทำให้คนอยากปล่อย
2.ระบบเปิด ไม่ต้องเป็น Member ไม่คิด Ratio เช่น Suprnova.org ข้อเสีย ปลิงเยอะ โหลดช้า


Seeders และ Leechers คืออะไร

Seeder เรียกง่ายๆ ว่า "ผู้แจก" มีหน้าที่แจกไฟล์ หรือ Upload เท่านั้น ไม่สามารถ Download ได้

Leecher เรียกง่ายๆ ว่า "ผู้โหลด" หรือ ตามคำแปลครับ "ปลิง" มีหน้าที่ดูดอย่างเดียว พร้อมกันนั้นทำหน้าที่แจกไฟล์ที่โหลดมาเสร็จแล้วบางส่วนไปในตัวด้วย ซึ่ง Torrent จะทำหน้าที่ในการแยกไฟล์ใหญ่ๆ ไฟล์หนึ่งออกเป็นหลายๆ ชิ้นด้วยกันเรียกได้ว่า Pieces

- ขณะที่คุณกำลัง Upload หรือ เป็นต้น seeder คนแรก ไม่ควร Leech ไฟล์อื่นๆ ควรจะรอให้คนอื่นๆ สามารถ Download จากคุณได้ครบ 100% ซะก่อน นอกจาก/หรือ มีผู้อื่นขยับฐานะจาก Leechers เป็น seeders ช่วยคุณก่อน แล้วจึงเริ่ม Download ไฟล์อื่นที่ต้องการ
- ขณะที่คุณทำหน้าที่เป็น Seeder นั้น คุณควรแจกไฟล์ หรือ ทำหน้าที่เป็น "ผู้แจก" ที่ดีให้ในปริมาณที่เท่าๆ กับที่คุณโหลด (Leech) มาจากคนอื่นๆ เช่น หากคุณโหลดมา 700MB คุณควรจะเปิดค้างไว้ปล่อยให้ทำการ Seed ต่อไปจนถึง 700MB เท่าๆ กับที่คุณโหลดมา (ถ้าแจกได้เท่ากับที่โหลดมาก็จะถือว่าเป็นอัตราส่วน = 100%)


Ratio คืออะไร ทำไมต้องมี

Raito คือ ค่า Upload หาร Download = Ratio
เช่น หากค่า Upload ของคุณมีค่า 700 MB ค่า Download ของคุณมีค่า 900 MB
ให้นำ 700 หาร 900 จะได้ Raito = 0.875 (หรือ 87.5%)
นั่นคือคุณมีแต้มทั้งหมด 0.875 แต้ม เพื่อใช้ในการ Download ตามเงื่อนไขของ Tracker

ที่ต้องมี Ratio ก็เพื่อป้องกันปลิง(มาดูดอย่างเดียวไม่ยอมปล่อยให้คนอื่น)
ถ้ามีปลิงมากๆ ก็จะคล้าย P2P แบบเดิมคือมีแต่คนดูด ไม่มีคนปล่อย ทำให้โหลดไฟล์กันได้ช้ามากๆ
ส่วนมาก Tracker จะกำหนดต้องมี Ratio มากกว่า 0.3-0.5 ถึงจะสามารถโหลดไฟล์ใหม่ได้
Ratio ที่ดีคือ 1 หรือใกล้เคียง หมายความว่าคุณโหลดไฟล์มาเท่าไหร่ ก็ส่งต่อให้คนอื่นเท่านั้น

เทคนิค
- ครั้งแรกในการสมัครจะมี Raito = 0.00 เราควรเลือกไฟล์ที่มีผู้ Leech เยอะๆ หรือ นิยมๆ เพื่อให้ เราสามารถ share ไฟล์ที่เรากำลังโหลดอยู่ให้คนอื่นๆ ไปด้วยในตัว เพราะระบบของ Torrent แล้ว ในระหว่างการ Download สามารถ Upload ไปพร้อมๆ กันได้ ทำให้เราได้ Raito สะสมได้อีกทางหนึ่ง
- ดูว่าไฟล์ไหนน่าจะมีคนโหลดมากๆ แล้วรีบเข้าไปโหลดเป็นคนแรกๆ ถึงไฟล์นั้นเราจะไม่ต้องการ