[qo'shiq sanalmoqda:7, 6, 5, 4, 3, 2, 1]
Internet: Paketlar, Marshrutizator va ishonchlilik
Salom, mening ismim Lin. Men Spotifyda dasturiy
ta'minot muhandisiman va
va dastlab Internetning ishonchliligini
odatiy deb bilaman. Internetda aylanadigan
axborot hajmining ortib borishi hayratlanarli, albatta.
Qanday qilib sizga axborotning har bir qismi
ishonchli tarzda yetkaziladi? Spotifydan qo'shiq
tinglashingizni misol qilib olaylik. Bu xuddi
kompyuteringiz to'g'ridan-to'g'ri Spotify
serverlariga ulanishi va Spotify sizga qo'shiqni
to'g'ridan-to'g'ri chiziqli yo'nalishda yuborishiga o'xshaydi.
Ammo aslida internetda bunday ishlamaydi. Agar
Internet to'g'ridan-to'g'ri, chiziqli bog'lanishlardan
iborat bo'lsa, millionlab foydalanuvchilar bir vaqtda internetdan foydalanganda
bog'lanishlarni amalga oshirib bo'lmaydi. Ayniqsa,
simli internet aloqasida ma'lumotlarning hamma qismi yaxshi
saqlanishiga kafolat yo'q. Buning o'rniga, axborotlar
Internetda chiziqli tarzda kamroq harakat qiladi.
Ko'p yillar oldin, 1970-yillarning boshlarida
sherigim Bob Kan va men hozirda Internet deb atagan
narsaning dizayni ustida ishlay boshladik.
Bob va men Internet protokollarini va uning
arxitekturasini ishlab chiqishga kirishdik.
Shunday qilib, biz hozirga qadar
Internetning rivojlanishi va
evolyutsiyasida qatnashishda davom etdik.
Axborotni bir kompyuterdan boshqasiga o'tkazish
jarayoni juda
qiziq. Buning uchun muayyan yo'l tutish
kerak emas, aksincha sizning yo'lingiz kompyuterlararo
muloqot mobaynida o'zgarishi mumkin.
Internetdagi axborotlar bir kompyuterdan
ikkinchisiga o'tishini "paket" deb ataymiz
va paket Internetda bir joydan ikkinchisiga
sayohat qiladi, xuddi mashinada
bir joydan ikkinchi joyga borishingiz kabi.
Yo'llar tirbandligi yoki yo'l sharoitlariga
qarab, siz har safar sayohat qilganingizda
bir xil joyga borish uchun turli yo'lni tanlashingiz
yoki majbur bo'lishingiz mumkin. Siz har xil
predmetlarni avtomobil ichida tashishingiz mumkin
bo'lganidek, ko'p sonli raqamli ma'lumotlar ham
IP-paketlar bilan yuborilishi mumkin, ammo bunda chegaralar bor.
Masalan, kosmik kemani qurilgan nuqtasidan
uchiriladigan joyga ko'chirishingiz kerak bo'lsa, unda nima bo'ladi?
Kema bitta yuk mashinasiga sig'maydi,
shuning uchun uni qismlarga ajratish va yuk
mashinalari parki yordamida tashish kerak.
Ularning barchasi har xil yo'nalishlarda harakat
qilishlari va maqsadga turli vaqtlarda yetib kelishlari mumkin.
Faqatgina barcha qismlar yetib kelgandan so'ng,
siz qismlarni to'liq kemaga o'rnatishingiz mumkin
va u ishga tushirishga tayyor bo'ladi.
Internetda axborot almashinuvi ham xuddi shunday ishlaydi.
Agar sizda do'stingizga yuboradigan yoki
veb-saytga yuklamoqchi bo'lgan
juda katta rasm bo'lsa, bu rasm 10 millionlab
1 va 0 sonli bitlardan iborat bo'lishi mumkin, ya'ni bitta
paketda yuborishga ko'plik qiladi. Bu kompyuterdagi
ma'lumotlar bo'lgani uchun, tasvirni yuboradigan
kompyuter tezda uni paketlar deb nomlangan yuzlab
yoki hatto minglab kichik qismlarga ajratishi mumkin. Ushbu
paketlarda yengil va yuk mashinalaridan farqli tarzda
haydovchilar yo'q va ular o'z yo'nalishlarini tanlamaydilar. Har bir
paketda qayerdan kelgani va qayerga ketayotgani
to'g'risida internet manzili mavjud bo'ladi. Internet
routeri deb nomlangan maxsus kompyuterlar
paketlar tarmoqlar bo'ylab silliq harakatlanishini
ta'minlash uchun YPX kabi ishlaydi. Agar bitta marshrut
tiqilib qolsa, individual paketlar Internet orqali
turli yo'nalishlarda harakat qilishlari mumkin va
ular manzilga biroz boshqacha vaqtlarda yoki
hatto tartibi buzilib kelishlari mumkin.
Keling, bu qanday ishlashi haqida gaplashaylik.
Hamma router har bir marshrut paketlarni
jo'natish uchun bir nechta
yo'llarni kuzatib boradi va har bir ma'lumot
uchun eng arzon yo'lni paket uchun mo'ljallangan
IP-manzil asosida tanlaydi.
Arzon deganda narxi tushunilmaydi, vaqt va kompaniyalar
o'rtasidagi siyosiy munosabatlar kabi texnik bo'lmagan omillar tushuniladi.
Odatda ma'lumotlarning sayohat qilish uchun eng yaxshi
yo'nalishi chiziqli bo'lmagan holatidir. Yo'llar uchun bir qancha
variantlarning mavjudligi tarmoq xatolariga dosh beradi. Ya'ni,
biror narsa dahshatli tarzda xato bo'lsa ham,
tarmoq paketlarni jo'natishni davom etadi.
Ishonchlilik Internetning asosiy
prinsiplaridan biri hisoblanadi. Agar siz
biron bir axborotni so'rasangiz va hamma qismi
to'liq yetib kelmasa nima bo'ladi? Qo'shiq tinglash misolini aytaylik.
Qanday qilib qo'shiq tinglanishi uchun barcha axborotlar to'liq yetib kelishiga
100% ishonch hosil qilishingiz mumkin?
Sizni yangi do'stingiz TCP (uzatishni boshqarish protokoli)
bilan tanishtiraman. TCP sizning
barcha ma'lumotlaringizni paket sifatida yuborish va qabul
qilishni boshqaradi. Bu xuddi kafolatli elektron pochta xizmati kabidir.
Qurilmangizdan qo'shiq so'raganda,
Spotify ko'plab paketlarga bo'lingan qo'shiq yuboradi.
Paketlar kelganida, TCP to'liq inventarizatsiyani
amalga oshiradi va qabul qilingan har bir paket uchun
tasdiqlash xabarnomalarini qaytarib yuboradi.
Agar yetkazib berish uchun barcha paketlar mavjud bo'lsa,
TCP bu yetkazib berishni imzolaydi va tamom.
(qo'shiq tinglanmoqda) Agar TCP ba'zi paketlar
yetishmayotganligini aniqlasa, u imzo qo'ymaydi,
aks holda sizning qo'shiqingiz unchalik yaxshi
eshitilmaydi yoki qo'shiqning ba'zi qismlari yetishmayotgan
bo'lishi mumkin. Har bir yo'qolgan yoki to'liq bo'lmagan
paket uchun Spotify ularni qayta yuboradi. TCP ushbu qo'shiq so'rovi
uchun ko'plab paketlarni yetkazib berishni tasdiqlaganidan so'ng, sizning qo'shiqingiz yangray boshlaydi.
TCP va yo'riqnoma tizimlarining eng yaxshi jihati shundaki, ular kengayuvchan.
Ular 8 yoki 8 milliard qurilmalar bilan ishlashlari mumkin.
Darhaqiqat, xatolarga bardoshlilikning ushbu tamoyillari
tufayli biz qancha routerlarni qo'shsak,
Internet shunchalik ishonchliroq bo'ladi.
Internetdan foydalanayotgan har bir
kishiga aloqani uzmasdan rivojlantirish va
kengaytirish imkoniyati qandoq yaxshi-ya. Internet yuz minglab
tarmoqlardan va jismoniy ravishda ulangan milliardlab
kompyuterlardan va qurilmalardan iborat. Internetni
tashkil etuvchi ushbu turli xil tizimlar bir-biriga
Internetda axborot almashinuvi bo'yicha
kelishilgan standartlar orqali bir-birlari bilan
aloqa qiladi va birgalikda ishlaydi.
Hisoblash moslamalari yoki Internetdagi routerlar
barcha paketlar kerakli joyga, agar zarur bo'lsa,
tartibli tarzda qayta o'rnatiladigan joyga
borishiga yordam beradi. Bu jarayonlar siz
va boshqalar bilan elektron pochta xabarlarini yuborish,
veb-sahifaga tashrif buyurish,
video chat qilish, mobil ilovadan foydalanish yoki
Internetdagi sensorlar yoki qurilmalar bir-biri bilan gaplashganda
kuniga milliard martalab sodir bo'ladi.