Tarmoq transport qatlami


ULASHISH

Transport va kanal qatlamlari chuqurroq

Kompyuter tizimlari ko‘pincha boshqa tizimlar bilan aloqa qilishi kerak bo‘ladi; bunga ularni bitta tarmoqqa joylashtirish orqali erishiladi. Kompyuterlarning turli xil tarmoqlar orqali aloqa qilishini ta’minlash uchun bir nechta turli texnologiyalar qo‘llaniladi. Ushbu bo‘limda ko‘pchilik tarmoqlarda ishlatiladigan protokollarni chuqurroq ko‘rib chiqamiz.

Biz foydalanayotgan tarmoqlar bir nechta protokollardan iborat bo‘lib, ulardan ba’zilari shu darsda yoritilgan. Tarmoqlarda boshqa ko‘plab protokollar ham ishlatiladi va ularning barchasi o‘zi bilan bog‘liq xavfsizlik xavflariga ega bo‘lishi mumkin.


TCP ("Transmission Control Protocol" — uzatishni boshqarish protokoli)

IP manzillash uchun IP manzillardan foydalangani kabi, TCP va UDP portlardan foydalanadi. 0 dan 65535 gacha bo‘lgan raqam bilan ko‘rsatiladigan port so‘rovni qaysi tarmoq xizmati qayta ishlashi kerakligini belgilaydi.

Quyidagi rasmda TCP paketini va u tarmoqdagi trafikni tekshirayotgan har qanday kishiga qanday ko‘rinishini ko‘rishimiz mumkin.

TCP Header

Grafikda manba va maqsad portlari uchun 16 bitdan ajratilganini ko‘ramiz, UDP’da ham xuddi shunday. Sequence (ketma-ketlik) va Acknowledgement (tasdiq) raqamlari uch bosqichli handshake’da hamda ma’lumotlarni ishonchli uzatishda ishlatiladi. Shuningdek, paket turini ko‘rsatish uchun ishlatiladigan boshqaruv bitlarini ham ko‘rishimiz mumkin. Boshqa sarlavhalar ham muhim rol o‘ynaydi, biroq ular xavfsizlik kursi doirasidan tashqarida.


TCP 3 bosqichli handshake (3-Way-Handshake)

TCP ikki tizimga aloqa o‘rnatish imkonini berish uchun uch bosqichli handshake’dan (qo‘l siqishish) foydalanadi. Handshake’ni o‘rnatish uchun 32 bitli PRNG ("Pseudo Random Number Generator" — psevdotasodifiy sonlar generatori) raqamlaridan foydalaniladi. Handshake har ikki tomon ham aloqa qilish niyatida ekanini kafolatlaydi.

Buni tasvirlovchi grafik:

TCP Handshake

TCP aloqani qanday o‘rnatishi haqida tushuntirish:

  1. Mijoz sarlavhasida SYN boshqaruv biti o‘rnatilgan, Sequence number maydonida PRNG raqami va maqsad port ko‘rsatilgan paketni yuborib, aloqani boshlaydi. Tarmoq qatlami (3-qatlam) paketni masofaviy tizimga yuborish imkonini beradi. Bu paket SYN paketi deb ataladi.
  2. Server paketni qabul qiladi, mijozdan kelgan Sequence Number’ni o‘qiydi va javob tayyorlaydi. Javobda Acknowledgement maydoniga mijozning Sequence raqamiga 1 qo‘shilgan qiymat yoziladi. Bundan tashqari, javobda SYN va ACK boshqaruv bitlari o‘rnatilgan bo‘ladi, Sequence number esa serverning PRNG raqamiga o‘rnatiladi. Bu paket SYN/ACK paketi deb ataladi.
  3. Mijoz SYN-ACK paketini qabul qiladi va handshake’ni yakunlash uchun ACK boshqaruv biti o‘rnatilgan paketni qaytaradi. Yakuniy paket, shuningdek, serverning PRNG raqamini sarlavhaning Acknowledgement maydonida qaytarish orqali uni tasdiqlaydi.

Bu jarayon odatda SYN, SYN/ACK, ACK uch bosqichli handshake deb ataladi.

Quyidagi rasmda uch bosqichli handshake’ni bajarayotgan ikki xostni ko‘rishimiz mumkin:

Handshake in Wireshark

Skrinshotda paketlarni ushlab olish va tekshirish uchun ishlatilayotgan Wireshark vositasi ko‘rsatilgan. Wireshark juda yaxshi utilita, chunki u paketlarni vizuallashtirish va ularni chuqurroq tekshirish imkonini beradi. Skrinshotda uch bosqichli handshake’ni ifodalovchi 3 ta paket ko‘rsatilgan. O‘zaro aloqa qilayotgan ikki tomonni ifodalovchi manba (source) va maqsad (destination) ustunlariga e’tibor bering. Info maydonida manba va maqsad portlari, shuningdek, (kvadrat qavslar ichida) SYN, SYN/ACK va ACK ko‘rsatilgan.

Keyingi skrinshotda uch bosqichli handshake’dan keyin tomonlar o‘rtasida uzatilayotgan ma’lumotlar ko‘rsatilgan. TCP paketi ichidagi ma’lumotlar rasmning pastki qismida ajratib ko‘rsatilgan.

TCP Data

Yuqoridagi skrinshotda W3School o‘quvchilariga xabar ko‘rsatilgan. Uni ko‘ra olyapsizmi?



Trafikni soxtalashtirish (spoofing)

Bugungi kunda tarmoqlarda istalgan kishining o‘zi xohlagan paketlarni yaratishiga deyarli cheklovlar yo‘q. Istalgan kishi sarlavhaning istalgan maydoniga o‘zi xohlagan qiymat berilgan paketlarni yaratishi mumkin. Bu soxtalashtirish (spoofing) deb ataladi va hujumchilarga boshqalar nomidan trafik yuborish imkonini beradi.

Spoofing

TCP protokolining o‘zida xavfsizlik mexanizmlari mavjud, biroq u PRNG ("Pseudo Random Number Generator") sonlar generatorlarining mustahkamligiga tayanadi. Agar aloqa qilayotgan tomonlarning Sequence raqamlarini taxmin qilish mumkin bo‘lsa, TCP xavfsizligi buzilishi mumkin, ya’ni hujumchi TCP orqali soxtalashtirilgan aloqa o‘rnatishi mumkin.

Ko‘plab protokollarni osongina soxtalashtirish mumkin, biroq TCP bunga qarshi ma’lum darajada chidamlilikni ta’minlaydi. UDP va ICMP kabi protokollar esa bunday himoyani taqdim etmaydi.

Paketlarni soxtalashtirish odatda root / system huquqlariga, ya’ni operatsion tizimdagi eng yuqori imtiyozlarga ega hujumchilar tomonidan amalga oshiriladi. Buning sababi shundaki, operatsion tizimlar foydalanuvchini RFC’larda ("Request For Comments") belgilangan aloqa qoidalariga rioya qilishga majbur qiladigan API’lardan foydalanishni talab qiladi. Agar hujumchida eng yuqori imtiyozlar bo‘lmasa, u tarmoqda o‘z paketlarini yarata olmaydi.


UDP ("User Datagram Protocol" — foydalanuvchi datagrammalari protokoli)

UDP TCP’ning chidamliligi va xavfsizligiga ehtiyoj sezmaydigan trafik uchun ishlatiladi, odatda VOIP kabi ilovalarda; biroq zamonaviy dunyoda tobora ko‘proq ilovalar paketlarni tez uzatish uchun UDP’dan foydalanmoqda, chidamlilik va xavfsizlik esa OSI modelining yuqoriroq qatlamlarida ta’minlanadi; QUIC bunga misol bo‘la oladi.

UDP sarlavhasiga qarasak, xuddi shunday manba va maqsad portlari ishlatilishini, biroq Sequence raqamlari yoki boshqaruv bitlari yo‘qligini ko‘ramiz. Protokolning qo‘shimcha xarajatlari (overhead) ancha kam, bu esa ma’lumotlarni tezroq uzatishga olib keladi.

UDP Header

UDP’da uch bosqichli handshake kabi imkoniyatlar yo‘qligi sababli, UDP’ni osongina soxtalashtirish mumkin.


Kommutatsiyalanadigan tarmoqlar

Tizimlar LAN’ga ("Local Area Network" — lokal tarmoq) kommutator (switch) orqali ulanadi. Kommutatorlar manzillash uchun ko‘pchilikka yaxshi tanish IP manzildan emas, balki MAC ("Media Access Control") manzillardan foydalanadi. Kommutatorlar trafikni lokal tarmoqlar, ya’ni uy tarmog‘ingiz yoki tashkilotingiz filiallari ichida uzatadi. MAC manzillar noyob bo‘lishi uchun mo‘ljallangan, biroq administrator huquqlariga ega bo‘lgan istalgan kishi o‘z MAC manzilini o‘zgartirishi mumkin.

MAC manzil 6 ta oktet bilan belgilanadi, masalan: FC:F8:AE:12:34:56

Dastlabki uchta oktet aloqa qilayotgan qurilmani ishlab chiqargan tashkilotni ifodalaydi va OUI ("Organizational Unique Identifier" — tashkilotning noyob identifikatori) deb ataladi. Yuqoridagi MAC manzil Intel Corporate kompaniyasiga tegishli. MAC manzillarni ko‘plab joylarda qidirishingiz mumkin, masalan: https://www.adminsub.net/mac-address-finder/intel.

Oxirgi uchta oktet ishlab chiqaruvchi tomonidan belgilanadi.


ARP

ARP ("Address Resolution Protocol" — manzillarni aniqlash protokoli) — kompyuter tizimlariga qaysi MAC manzil qaysi IP manzilga tegishli ekanini bilish imkonini beruvchi protokol. Agar trafikni marshrutlash kerak bo‘lsa, kompyuter tizimi trafikni tizimda sozlangan standart shlyuzga (Default Gateway) yo‘naltiradi.

ARP, xuddi DNS singari, bir manzilni boshqasiga aylantirib beradigan protokol. Tizim har safar LAN’dagi IP manzil bilan aloqa qilishga uringanida, u yaqinda aniqlanganmi yoki yo‘qligini bilish uchun o‘zining ARP keshini tekshiradi.

O‘zingizning ARP jadvalingizni tekshirib ko‘rishingiz mumkin. Linux’da ham, Windows’da ham shunchaki arp -a buyrug‘ini ishga tushiring. Bu tizimingiz yaqinda qaysi tizimlar bilan aloqa qilganini ko‘rsatadi.

Alice: Does anyone know the MAC address of 192.168.10.10? Bob: Sure thing Alice, here is my MAC Address.

VLAN ("Virtual LAN" — virtual lokal tarmoq)

VLAN, ko‘pincha xususiy VLAN’lar (Private VLAN) deb ham ataladi — kommutatorning kadr (frame) ichiga teglarni (yoki VLAN ID’ni) joylashtirish usuli. Shundan so‘ng bir nechta kommutator LAN’dagi kompyuter tizimlari faqat muayyan boshqa tizimlar, ya’ni xuddi shu VLAN ID’ga ega tizimlar bilan aloqa qila olishini ta’minlashi mumkin.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!