Kompyuter qanday ishlaydi
13-bob

Tarmoq va internet

Telegram'dagi bitta xabar telefondan routerga, provayderga, magistralga va serverga yetguncha to'rt qatlamdan o'tadi va har qatlam unga o'z konvertini kiydiradi.

Bugungi kompyuter deyarli har doim tarmoqqa ulangan. Internet — bu millionlab tarmoqlarning bir-biriga ulangan global tarmog'i. Ma'lumotlar uzatilishi uchun barcha qurilmalar umumiy qoidalarga — protokollarga amal qiladi. Protokollar qatlamlarga ajratilgan va har bir qatlam o'z vazifasini bajaradi.

Telefon Telegram: Salom! ▸ Wi-Fi NIC · 802.11ac MAC a4:5e:60:c1:22:9f IP 192.168.1.23 :51234 Wi-Fi router (NAT) PWR WAN WLAN LAN1 LAN2 LAN: 192.168.1.1 (uy tarmog'i) WAN: 84.54.71.9 (ochiq IP) NAT jadvali: bo'sh Provayder (ISP) BRAS 84.54.64.1 uplink 100 Gbit/s optika yo'nalish jadvali: 149.154.0.0/16 → IXP Magistral AS 8193 Uztelecom IXP · Frankfurt AS 62041 Telegram Telegram serveri NIC · 10 GbE MAC 00:1b:21:8e:44:0a IP 149.154.167.220 :443 :443 kutmoqda… DNS server · :53 8.8.8.8 · UDP · A-yozuv Paket sarlavhasi — joriy uzelda MAC: — IP: — TCP: — To'rt qatlam IlovaMTProto / HTTPS · "Salom!" TransportTCP · port 443 · segment TarmoqIP · 149.154.167.220 · paket KanalWi-Fi 802.11 / Ethernet · MAC · kadr $ traceroute 149.154.167.220
DNSWi-FiNATISPMagistralServerXulosa
Pastga suring: sahna o'zi boshlanadi.
30-rasm. Telegram xabarining serverga yo'li va tarmoq qatlamlari

13.1. Tarmoq qatlamlari

Kanal qatlami (Wi-Fi, Ethernet) — bitlarni bitta fizik ulanish orqali, masalan, telefondan routergacha uzatadi. Har bir tarmoq kartasining noyob MAC manzili bor. Tarmoq qatlami (IP) — paketni butun internet bo'ylab manzilga yetkazadi. Har bir qurilmaning IP manzili bor (masalan, 185.199.108.153). Routerlar paket manzilini ko'rib, uni keyingi routerga uzatadi — xuddi pochta bo'limlari xatni shahardan shaharga uzatgandek. Transport qatlami — TCP ma'lumotning to'liq va to'g'ri tartibda yetib borishini kafolatlaydi (yo'qolgan paketlar qayta yuboriladi); UDP esa kafolatsiz, lekin tezroq (video qo'ng'iroqlar, o'yinlar). Shuningdek bu qatlamda port raqamlari ishlatiladi — bitta kompyuterdagi turli dasturlarni ajratish uchun (HTTPS — 443, PostgreSQL — 5432). Ilova qatlami — HTTP, HTTPS, WebSocket, Telegram'ning MTProto protokoli kabi aniq dasturlar tushunadigan formatlar.

IlovaTLS yozuvi: "Salom!" TransportTCP sarlavha · 20 B · portlar TarmoqIP sarlavha · 20 B · manzillar KanalEthernet 14 B + FCS 4 B · MAC bayt 0143454oxiri Ethernet · 14 Bdst 3c:7c:3f:12:ab:01src a4:5e:60:c1:22:9ftype 0x0800 (IPv4) IPv4 · 20 Bver 4 · TTL 64 · proto 6 (TCP)src 192.168.1.23dst 149.154.167.220 TCP · 20 Bsrc port 51234 → dst 443seq 1 · ack 1 · win 64240flags PSH, ACK Ma'lumot · TLS 1.3 yozuvi17 03 03 00 17 8a 3f …ichida shifrlangan "Salom!"faqat ilova va server o'qiydi FCS · 4 BCRC328f 2a 91 c4buzilganmi? hajmi: 23 B (faqat ma'lumot) konvert ichida konvert: har qatlam o'z sarlavhasini oldinga qo'shadi sim: hali hech narsa yuborilmadi
Ilova qatlami: "Salom!"
IlovaTCPIPEthernetSim
Pastga suring: paket qatlamma-qatlam o'raladi.
31-rasm. Tarmoq paketining tuzilishi: har bir qatlam o'z sarlavhasini qo'shadi

13.2. DNS

Odamlar uchun api.telegram.org kabi nomlarni eslab qolish oson, kompyuterlar esa IP manzillar bilan ishlaydi. DNS (domen nomlari tizimi) — internetning "telefon kitobi". Brauzerda sayt nomini yozganingizda, kompyuter avval DNS serveridan uning IP manzilini so'raydi, keyin shu manzilga ulanadi. Siz bot uchun domen sotib olib, uni server IP manziliga yo'naltirganingizda aynan DNS yozuvini (A record) sozlaysiz.

13.3. HTTPS va shifrlash

Internetdagi ma'lumot ko'plab routerlar orqali o'tadi va ularning har birida uni o'qish mumkin. Shuning uchun maxfiy ma'lumotlar shifrlanadi. HTTPS — HTTP ustiga TLS shifrlash qo'shilgan protokol. Ulanish boshida brauzer va server ochiq kalitli kriptografiya yordamida xavfsiz tarzda umumiy maxfiy kalit kelishib oladi, so'ng barcha ma'lumotlar shu kalit bilan shifrlanadi. Serverning haqiqiyligi sertifikat orqali tasdiqlanadi (masalan, Let's Encrypt bepul sertifikat beradi). Telegram Mini App'lar faqat HTTPS orqali ishlashi ham shu sababli.

TCP :443 · qo'l berish (ochiq matn) shifrlangan kanal (TLS 1.3 · AES-GCM) — Mijoz: Telegram ilovasi / brauzer client random · 32 B— ECDHE (x25519) kalit juftligiyopiq: — ochiq: —yopiq kalit bu yerdan chiqmaydi Ildiz sertifikatlar do'koni (OS)ISRG Root X1 → Let's Encrypt R3 umumiy kalit: — Server: api.telegram.org :443 Sertifikat: CN=api.telegram.orgberuvchi: Let's Encrypt R3 · 90 kunochiq kalit + CA imzosi Serverning yopiq kaliti (privkey.pem)hech qachon tarmoqqa chiqmaydi ECDHE juftligi + server random— umumiy kalit: —
ClientHelloServerHelloSertifikatKalitHTTPSXulosa
Pastga suring: TLS qo'l berish sahnasi o'zi boshlanadi.
HTTPS ulanishining boshlanishi (TLS qo'l berish). Ochiq kalitli kriptografiya yordamida umumiy maxfiy kalit kelishib olinadi, so'ng hamma narsa shu kalit bilan shifrlanadi.

13.4. Mijoz-server modeli

Internetdagi ko'p xizmatlar mijoz-server modelida ishlaydi. Mijoz (brauzer, mobil ilova) so'rov yuboradi, server uni qayta ishlab, javob qaytaradi. Server — bu ham oddiy kompyuter, faqat u doimiy yoqiq turadi, doimiy IP manzilga ega va so'rovlarni kutib turuvchi dastur (masalan, Node.js yoki Nginx) ishlab turadi. Telegram bot misolida: foydalanuvchi xabar yozadi → Telegram serverlariga boradi → Telegram uni webhook orqali sizning serveringizga HTTPS so'rov sifatida yuboradi → botingiz ma'lumotlar bazasiga murojaat qilib, javob tayyorlaydi → Telegram API orqali javob foydalanuvchiga qaytadi. Bu butun zanjir odatda 100-300 millisekund ichida bajariladi.

Telefon siz: Salom! Telegram ilovasi Telegram serverlari 149.154.167.220 · DC4 Amsterdam MTProto · xabar saqlandi Bot API → webhook POST Sizning VPS · 185.199.108.153 ufw 22 443 3000 5432 yashil:ochiq qizil:yopiq Nginx :443TLS shu yerda yechiladi→ 127.0.0.1:3000 Node bot :3000PID 4180 · localhostPOST /webhook PostgreSQL:5432 · localhostusers jadvali journalctl -u bot -f t = 0 ms
Butun zanjir odatda 100–300 ms
XabarWebhookNginxNodePostgreSQLJavobXulosa
Pastga suring yoki "Xabar yubor" ni bosing.
Telegram bot zanjiri. Mijoz so'raydi, server qayta ishlab javob qaytaradi; oradagi har qadam tarmoq orqali o'tadi.
Tekshirish: yuqoridagi test va 21-savol, 22-savol