BitTorrent

BitTorrent ปฎิวัติวงการดาวน์โหลด



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



ปัญหาในการแจกจ่ายไฟล์รุนแรงมากยิ่งขึ้น เมื่อมีโปรแกรมช่วยดาวน์โหลดอย่าง Get Right, FlashGet และ Download Acelerator ซึ่งใช้หลักการแบ่งไฟล์เป็นส่วนๆ แล้วโหลดพร้อมกันเพื่อความรวดเร็ว การแบ่งส่วนดาวน์โหลดนี้ ถ้ามองในฝ่ายของผู้ใช้ก็ได้ประโยชน์ไม่ต้องรอนาน แต่ฝั่งผู้แจกไฟล์นั้น ถ้าเราแบ่งเป็น 5 ส่วน เซิร์ฟเวอร์จะเห็นเป็น 5 คนกำลังดาวน์โหลดไฟล์เดียวกัน ทำให้ลดจำนวนคนที่สามารถดาวน์โหลดในเวลาเดียวกันลงไปอีก



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



ช่องว่างตรงนี้จึงเป็นโอกาสของโปรแกรมแชร์ไฟล์ต่างๆ ที่ผู้ใช้ดาวน์โหลดไฟล์ต่อจากผู้ใช้คนอื่นๆ กันเป็นเครือข่าย โปรแกรมแรกที่สร้างชื่อเสียง คือ Napster ซึ่งคนใช้เยอะมาก จนโดนบริษัทเพลงฟ้องร้อง และต้องปิดตัวไป หลังจากนั้นก็มีโปรแกรมแชร์ไฟล์อีกหลายชนิด เช่น eMule, Kazaa, Gnutella สืบทอดแนวคิดของ Napster ต่อมา



แต่โปรแกรมแชร์ไฟล์แบบเก่า ก็ต้องถอยเมื่อเจอกับโปรแกรมแชร์ไฟล์แบบใหม่ที่ชื่อว่า BitTorrent



BitTorrent แปลตรงตัวได้ว่า กระแสบิท (ข้อมูล) ที่เชี่ยวกราก เกิดขึ้นในปี 2002 โดยแฮกเกอร์ที่ชื่อว่า Bram Cohen เขียนขึ้นมาด้วยภาษา Python และเป็นซอพท์แวร์โอเพ่นซอร์สที่ใช้ใบอนุญาตแบบ MIT (ต่างจากซอพท์แวร์โอเพ่นซอร์สทั่วไปที่ใช้ GPL แต่โดยรวมๆ แล้วก็เป็นโอเพ่นซอร์สเหมือนกัน)



หลักการของ Bit Torrent คือ ใช้ช่องสัญญาณฝั่งอัพโหลดที่มักจะว่างอยู่ให้เกิดประโยชน์ ต้องเท้าความก่อนว่า การส่งข้อมูลผ่านเครือข่ายจะแบ่งช่องสัญญาณเป็นขาลง (ดาวน์โหลด จากเครือข่ายมายังเครื่องเราเอง) และขาขึ้น (อัพโหลด ใช้ในการส่งข้อมูลคืนไป) สังเกตง่ายๆจากไฟของโมเด็มสองดวง คืออัพโหลดและดาวน์โหลด นั่นเอง



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



BitTorrent แตกต่างกับการแชร์ไฟล์แบบ Napster ตรงที่ เราสามารถค้นหาตัวไฟล์ได้จากโปรแกรม Napster ได้โดยตรง เช่น พิมพ์ชื่อศิลปินหรืออัลบั้มไปเพื่อค้นหาเพลง MP3 ทำให้ละเมิดลิขสิทธิ์ได้สะดวก ส่วน BitTorrent เราต้องไปหาไฟล์ Torrent (นามสกุล .torrent) ซึ่งเป็นไฟล์รายละเอียดการดาวน์โหลดมาจากเว็บแบบปกติก่อน (ตัวโปรแกรม BitTorrent ไม่มีความสามารถในการ) แล้วค่อยใช้โปรแกรม BitTorrent สั่งดาวน์โหลดอีกทีหนึ่ง จุดนี้ทำให้ควบคุมการละเมิดลิขสิทธิ์ได้ง่ายขึ้น เพราะจัดการกับเว็บไซท์ต้นทางที่แจกไฟล์ Torrent เพียงแห่งเดียว



ข้อดีนี้ของ BitTorrent ทำให้มีหลายๆองค์กรแจกไฟล์ที่ถูกลิขสิทธิ์และเป็นทางการ ผ่านระบบ BitTorrent กันมากขึ้นในช่วงหลัง โดยเฉพาะผู้ผลิตลินิกซ์ค่ายต่างๆ ที่แจกไฟล์อิมเมจซีดีและดีวีดีของลินิกซ์ เนื่องจากลดภาระของเซิร์ฟเวอร์ไปได้มากนั่นเอง โครงการ Fedora และ Mandrake แจกด้วย BitTorrent มาหลายรุ่นแล้ว



ถ้าสนใจหา BitTorrent มาลองเล่น โปรแกรมที่ผมแนะนำคือ Yet Another BitTorrent Client (เรียกย่อๆ ว่าABC) อ่านชื่อทีมงานแล้ว คิดว่าผู้ริเริ่มโครงการ Choopan Rattanapoka เป็นคนไทยด้วย ถ้ามีโอกาสจะไปสัมภาษณ์มาให้อ่านกัน ตัวโปรแกรมหาได้จาก http://pingpong-abc.sourceforge.net ครับ