{mosimage}Би өмнөх “Цуврал 2: P2P технологийн хөгжлийн товч түүх” бичлэгээр P2P технологийн хөгжлийн эхний хоёр үеийг өгүүлсэн билээ. Харин одоо сүүлийн хоёр хөгжлийн үе шатыг та бүхэнд толилуулъя.
3. Хөгжлийн гуравдугаар үе
Мөн Gnutella сүлжээтэй бараг зэрэг шахуу FastTrack хөгжүүлэгдэж эхэлсэн юм.
Шведийн иргэн Niklas Zennstrem, Данийн иргэн
Janus Friis (хожим Skype програмыг үндэслэн хөгжүүлсэн) нарын FastTrack
сүлжээний үндсэн санааг гаргаж, Jaan Tallinn-ий удирдлаган дор Эстонийн
програмчид хөгжүүлж (хожим нь энэ багаараа
Skype дуу дамжуулах P2P програмыг хөгжүүлсэн юм), 2001 оны 3
дугаар сард олон нийтэд танилцуулсан юм.
FastTrack бол програм биш юм. Харин програм хангамжийг хөгжүүлэх технологи
юм. FastTrack хөгжүүлэгчдэд хаалттай протокол учир Gnutella протоколоос нэлээд өөр юм. MusicCity
нь Napster системийн санааг ашиглан хөгжүүлсэн учраас тийм ч шинэ P2P сүлжээ
биш юм. Гэхдээ FastTrack нь Napster (хурдан хайлт), Gnutella (тархсан
архитектур) хоёрыг нийлүүлж, хөгжүүлж чадсан юм. Энэ нь SuperPeer бүхий
төвлөрсөн бус, хагас P2P сүлжээ юм.
Sharman (Sharman бол Kazaa файл солилцох програмын албан ёсны эзэмшигч юм.
Тэрээр өөрийнхөө нэрээр сүлжээгээ нэрлэсэн юм.) сүлжээний Kazaa болон MusicCity
сүлжээний Morpheus нь энэ технологийг ашиглаж, амжилтанд хүрсэн програм
хангамжууд юм. Гэвч 2002 онд протоколыг өөрчилсөн бөгөөд, лиценз, төлбөрийн
асуудлаас болж Morpheus нь энэ сүлжээг ашиглахаа больсон юм. Удалгүй Morpheus
нь Gnutella сүлжээг ашиглах болсон юм. Харин Kazaa энэ сүлжээний гол програм
хангамж хэвээр үлдсэн юм. 2003 оны байдлаар Kazaa
програмаар хайсан мэдээллийн хэмжээ нь Yahoo вэб сайтаар хайсан бүх мэдээллийн
хэмжээгээс даруй хэд дахин их байсан. P2P
технологит байдаг асуудлын нэг болох зохиогчийн эрх, хууль дүрэм Kazaa
програмыг бас тойрсонгүй. Sharman-ийг олон удаа шүүх дуудсаны эцэст 2006 онд
хуулийн дагуу дуу татах үйлчилгээг үзүүлэх болсон юм.
Gnutella системийн хөгжүүлэгчид Gnutella 0.4 протоколыг
сайжруулан, 0.6 хувилбарыг гаргасан юм. Хувилбар 0.6-д Ultrapeer, Leaf гэсэн
ойлголтууд оруулж, өгснөөр хайлтыг үр ашигтай хийж, сүлжээний үйл ажиллагааг
илүү уян хатан болгож чадсан юм. Gnutella сүлжээний Ultrapeer нь FastTrack
сүлжээний SuperNode гэдэгтэй ижил ойлголт юм. Мөн Gnutella систем, сүлжээг
дахин хөгжүүлж, Gnutella-2 сүлжээг боловсруулан гаргасан юм. 2001 оны байдлаар Gnutella сүлжээгээр 3.05 тэрбум файл
солилцсон байдаг.
Эдгээр сүлжээнд илүү өндөр хүчин чадалтай хэрэглэгчийг SuperNode болгон,
бусад зангилаануудыг хооронд холбож өгдөг. Зангилаанууд эхлээд SuperNode-тэй
холбогдон, бусад зангилаануудын талаарх мэдээллийг авдаг. Зангилаанууд файлын
хүсэлтээ илгээх бөгөөд хэрвээ тухайн файл байвал, зангилаануудын хооронд HTTP
холболт үүсэн, татаж авах боломжтой болсон юм.
Мөн 1999 оны 7 дугаар сард, файл солилцох сүлжээнээс өөр сүлжээ болох
Freenet-ийг анх Ian Clarke хөгжүүлж эхэлсэн юм. Ian тэр үед “Тархсан, төвлөрсөн
бус мэдээллийн хадгалалт, ба хайлтын систем” гэсэн судалгааны ажил хийж байсан
юм. Тэрээр мэдээллийн эрх чөлөө, интернэт харилцааны хөгжил гэсэн философиудад
анхаарлаа хандуулж байсан юм. Удал дараа жилийн 3 дугаар сард анхны хувилбар
1.0-ээ гарсан юм. Гэхдээ Freenet нь ондоо архитектуртайгаар хөгжиж ирсэн юм.
Freenet нь хэрэглэгч, нийлүүлэгчдийн талаарх
мэдээллээр хангадаг “бүтэн” төвлөрсөн бус сүлжээ юм. Систем бүх зангилаануудад
файлын байршилын мэдээллээр хангаж өгдөг бөгөөд, хэн ч файлд хандах, хадгалах
боломжийг олгодог. Freenet нь хэрэглэгч дотоод орчинд өгөгдлөө хадгалах,
хянахыг зөвшөөрдөггүй. Файлууд нууцлагдсан, хамгаалагдан хадгалагддаг. Freenet
нь Gnutella шиг broadcast хийн, мэдээллээ хайдаггүй. Freenet-д файл хайх
хэрэглэгч дотоод Freenet зангилаа руу мессежийг илгээдэг. Зангилаа дотоод
өгөгдлөө шалган, хэрвээ байвал файлаа буцааж хэрэглэгч рүү илгээдэг. Хэрвээ байхгүй
бол, тухайн файл байж болох зангилаа руу хүсэлтийг илгээдэг. Файл хүлээн авах
зангилаа өөрийн хөршүүдээс зөвхөн нэг рүү нь илгээдэг. Хэрвээ файл байхгүй бол
хоёр дахь хөрш рүүгээ мессежээ илгээдэг. Хэрвээ файл олдох юм бол хүсэлт
илгээсэн замаар буцаадаг. Дундын зангилаанууд файлын хуулбараар илгээгчид
хангаж өгдөг. Ерөнхийдөө Freenet системд сүлжээг ашиглан файлаа татаж авдаг.
P2P сүлжээг бүтэцлэгдсэн, бүтэцлэгдээгүй гэж хоёр ангилдаг. Энэ үе хүртэлх
бараг бүх сүлжээнүүд (Gnutella, FastTrack гэх мэт) бүтэцлэгдээгүй P2P сүлжээ
юм. Гэхдээ энэ үеийн сүлжээнүүд хөгжлийн дөрөвдүгээр үе шат руу шилжиж байна.
Энэ үеийн гол дэвшил нь ямар ч төв сервергүй боловч, шаталсан бүтэцтэй
routing хийх болсон юм.
4. Хөгжлийн дөрөвдүгээр үе
Дараагийн үеийн P2P сүлжээнд DHT (Distributed Hash Table)-ийг ашигладаг. Эдгээр сүлжээнүүд нь Gnutella,
Napster зэрэг бүтэцлэгдээгүй P2P сүлжээнүүдийн зарим хязгаарлалтуудыг шийдэж
чадсан байдаг. Тухайн мэдээллийг олоход илүү хурдан, найдвартай байдаг. Ийм
сүлжээнүүд нь hash функцийг ашиглан, сүлжээний тодорхой хэсэгт байгаа зангилааг
олдог. CAN (Content Addressable Network), Chord, Pastry, болон Tapestry нь бүтэцлэгдсэн P2P
сүлжээнүүдийн жишээ юм. Бүтэцлэгдсэн P2P сүлжээ нь бүтэцлэгдээгүй сүлжээг
бодвол хайлт, тогтвортой байдлаар давуу байдаг боловч, цөөн хэдэн програм энэ
сүлжээг ашигладаг.
Энэ үеийн нэгэн төлөөлөгч бол Mercury юм. Mercury бол хүсэлтийн завсрыг
дэмждэг, бүтэцлэгдсэн протокол юм. CAN протоколтой адилаар хүсэлтүүдийг
шалгадаг. Mercury протоколын ялгарах онцлог нь DHT-ийг ашигласан хайлт дээр
суурилсан олон атрибут бүхий завсрыг дэмждэг. .
P2P сүлжээнүүдийн хамгийн том асуудал бол
нууцлал хамгаалалт юм. P2P технологийн дөрөв дэх үеийн клиент програмууд зарим
нууцлал зэргийг хангаж, файлаа дамжуулдаг болж байна. BitTorrent, eDonkey,
MUTE, Blubster, Filetopia дөрөв дэх үеийн технологиуд юм.
2001 онд eDonkey нь анх хөгжүүлэгдэж эхэлсэн юм. Хэдэн
жилийн дараа 2004 он гэхэд eDonkey (заримдаа eDonkey2000 эсвэл ed2k гэж нэрлэдэг ) сүлжээ нь FastTrack
сүлжээнээс илүү мэдээлэл дамжуулсан тооцоо гарсан юм. Энэ сүлжээ маш их
дэлгэрч, 2005 оны дунд үе гэхэд 3 сая орчим хэрэглэгч 500 сая файлыг 200
серверээр дамжуулах болсон юм.
eMule, Shareaza, Morpheus,
MLDonkey, Hydranode, Lphant, Jubster (гэхдээ эдгээр програм зарим нь бусад
сүлжээнд холбогдох боломжтойгоор хөгжүүлэгдэж байна) зэрэг олон eDonkey
сүлжээний клиент програмууд хөгжүүлэгдсээр байна юм.
Програмист Bram Cohen (BitTorrent Inc.-ийг үндэслэгч) BitTorrent протоколыг
хөгжүүлж, 2003 оны 5 дугаар сард олон нийтэд хүргэсэн юм. Анхны BitTorrent
клиентийн програм хангамжийг Python хэл дээр хөгжүүлж байсан бөгөөд хувилбар
0.4-өөсөө эхлэн BitTorrent Open Source лицензийн дор гарах болсон юм. Энэ
лиценз нь Jabber Open Source лицензийн засварласан хувилбар юм. Jabber бол
нээлттэй IM (Intstant
Messaging)-ийн платформ юм.
BitTorrent бол их хэмжээний файл татах боломж бүхий тархсан файл солилцох
програм юм. Бусад P2P файл солилцох програмуудад ерөнхийдөө файлаа нэг эхээс
татаж авдаг. BitTorrent сүлжээний програмд олон зангилаанаас зэрэг татах
боломжтой байдаг. Програм файлын нэг хэсгийг татаж дуусангуутаа, тухайн хэсгээ
бусад зангилаануудад татуулах боломжийг олгодог. Өнөөдрийн байдлаар интернэт
дэх мэдээллийн урсгалын 35% орчим хувийг BitTorrent эзэлж байгаа юм.
BitTorrent, eDonkey зэрэг сүлжээнүүдэд хэрэглэгч файлаа
вэб хуудас ашиглан хайж олоод, клиентийн програм хангамжаар татах боломжтой юм.
Энэ үеийн гол дэвшил нь системүүд бүтэцлэгдэж, илүү зохион байгуулалтанд орж
эхэлсэн.
Ирээдүйд эдгээр олон файл солилцох сүлжээнүүд хоорондоо нэгдэх чиг
хандлагатай болж байна. Одоогийн ихэнх клиент програм хангамжууд өөр өөр
сүлжээнд холбогддог болсон.
Мэдээллийг
Д.Цогбадрахын хувийн блогоос
