Tarmoq qatlami
IP - Internet protokoli
IP tarmoqlar bo‘ylab aloqa qilish uchun ishlatiladi: nafaqat jismoniy kanallar orqali, balki marshrutizatorlardan iborat tarmoqlar o‘rtasida ham. Bunda IPv4 ("IP Version 4") yoki IPv6 ("IP Version 6") manzillash sxemasi qo‘llaniladi.
IP tarmoqlarni ko‘pincha quyi tarmoqlar (subnet) deb ataladigan turli bo‘laklarga ajratish mumkin. Bunga IP manzil bilan birga tarmoq niqobi (netmask) deb ataladigan qo‘shimcha ma’lumotni qo‘shish orqali erishiladi. Tarmoq niqobi tarmoq qanchalik katta ekanini hamda qaysi paket tarmoq ichida, qaysi biri esa tarmoqdan tashqariga marshrutlanishi kerakligini belgilaydi.
Tarmoq niqoblarini o‘nlik sonlar yoki slesh yozuvi (slash notation) orqali ifodalash mumkin. Slesh yozuvidan foydalanilganda slesh tizimning IP manzilidan keyin keladi. Quyida bir nechta misollar keltirilgan:
| IP manzil | Slesh yozuvi | Tarmoq niqobi |
| 10.0.0.1 | /8 - Misol: 10.0.0.1/8 | 255.0.0.0 |
| 172.16.1.1 | /12 - Misol: 172.16.1.1/12 | 255.240.0.0 |
| 192.168.0.1 | /16 - Misol: 192.168.0.1/16 | 255.255.0.0 |
| 192.168.0.1 | /24 - Misol: 192.168.0.1/24 | 255.255.255.0 |
Ba’zi IP tarmoqlar faqat muayyan turdagi trafik uchun ajratilgan. Yuqoridagi jadvaldagi IP manzillar faqat tashkilot ichida foydalanish uchun ajratilgan, ya’ni ular Internetda marshrutlanmasligi kerak. Bunday IP manzillar odatda RFC1918 manzillari deb ataladi.
Turli tarmoqlar
Keling, RFC1918 doirasidagi turli tarmoqlarni va ularning qanchalik kattaligini ko‘rib chiqaylik:
- 10.0.0.0/8 - 16 milliondan ortiq IP manzil
- 172.16.0.0/12 - Taxminan 1 million IP manzil
- 192.168.0.0/16 - 65534 ta IP manzil
IP segmentlarni yanada kichikroq va maydaroq tarmoqlarga bo‘lish mumkin.
Har bir tarmoqda trafikni tarmoqdagi barcha xostlarga keng tarqatish uchun ajratilgan manzil bor, u keng tarqatish manzili (broadcast address) deb ataladi. Ma’lumotlarni keng tarqatish — bu ma’lumotlarni faqat bitta xostga emas, balki tarmoqdagi hammaga yuborish demakdir. Ishlashi uchun keng tarqatiladigan trafikka tayanadigan ko‘plab ilovalar va protokollar mavjud.
Har bir tarmoq segmentida keng tarqatish manzili doim tarmoqdagi oxirgi IP manzil bo‘ladi. Masalan, 192.168.0.0/24 tarmog‘ida keng tarqatish manzili 192.168.0.255 hisoblanadi.
Mumkin bo‘lgan eng kichik tarmoq niqobi 255.255.255.255 bo‘lib, u /32 ko‘rinishida ifodalanadi. Bu tarmoqda faqat bitta IP manzil bo‘ladi.
Agar trafikni xostning o‘ziga qaytarib yuborish kerak bo‘lsa, masalan, ilovalar o‘rtasidagi aloqa uchun, u localhost manziliga yuboriladi. Bu manzil har doim 127.0.0.1 bo‘ladi va /8 tarmoqqa tegishli.
IP tarmoqlarda trafik marshrutizator (router) tomonidan marshrutlanadi. Marshrutizator — IP formatini tushunadigan va paketlarni tarmoqlar o‘rtasida uzatishga qodir tarmoq qurilmasi. U kommutatordan (switch) farq qiladi: kommutator ma’lumotlarni tarmoq ichida uzatadi, marshrutizator esa tarmoqlar o‘rtasida uzatadi.

Tarmoqdagi paketlar sarlavhalarga (header) ega bo‘lib, ular IP protokoli doirasida biz allaqachon muhokama qilgan ko‘plab muhim tafsilotlarni tavsiflaydi. IPv4 sarlavhasi quyidagicha ko‘rinadi:

Rasm manbasi: muallif Michel Bakni - Postel, J. (September 1981) RFC 791, Internet Protocol, DARPA Internet Program Protocol Specification, The Internet Society, p. 11 DOI: 10.17487/RFC0791., CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=79949694
Manba manzil (Source Address) — paketni yuborayotgan tizimning IP manzili, maqsad manzil (destination) esa paket kimga mo‘ljallanganini bildiradi. Sarlavhada IP protokolining ko‘plab imkoniyatlari tomonidan ishlatiladigan boshqa maydonlar ham bor, biroq ular ushbu kirish darsi doirasidan tashqarida.
Windows’da IP manzilingizni buyruq satri (Command Line) oynasida ipconfig buyrug‘ini ishga tushirib tekshirishingiz mumkin. Linux’da bu ip addr show yoki ifconfig buyrug‘i bilan bajariladi.
Kompyuter LAN’da topilmaydigan biror narsa bilan aloqa qilishi kerak bo‘lganda, u tizim sozlanishiga ko‘ra trafikni standart shlyuzga (default gateway) yuboradi. Standart shlyuz — trafikni maqsad IP manziliga uzatishga qodir marshrutizator.
NAT ("Network Address Translation" — tarmoq manzillarini translatsiya qilish)
NAT ommaviy (public) IP manzilda ulanishlarni qabul qiluvchi tizimga bu so‘rovlarni ichki RFC 1918 IP manziliga yoki aksincha moslashtirish (map) imkonini beradi. NAT’ni amalga oshiradigan tizimlar odatda tarmoqlararo ekranlar va marshrutizatorlardir.
NAT’ning odatiy qo‘llanilishida tashqi IP manzil bir nechta ichki IP manzillar uchun old tomon (front) sifatida ishlatiladi, ma’lumotlarni qaysi serverga yuborish kerakligini hal qilish uchun esa maqsad port raqamidan foydalaniladi. Bu ichki IP manzillarga tashqi tizimlardan trafik qabul qilish imkonini beradi.
Yana bir juda keng tarqalgan qo‘llanilish — ichki IP manzillarga tashqi IP manzil orqali Internetga chiqish imkonini berish. NAT ichki manzillardan maqsad manzillarga bo‘lgan ulanishlarni kuzatib boradi va trafikni ushbu ulanishlar bo‘ylab uzatadi.
NAT’ni ko‘plab usullarda sozlash mumkin, biroq bu darsda bu usul tafsilotlariga chuqur kirmaymiz.
IPv6 - IP 6-versiyasi
IP 6-versiyasi IP’ning eng so‘nggi standarti bo‘lib, ko‘proq IP manzillarni qo‘llab-quvvatlash uchun yaratilgan. IP manzillar uchun 32 bitli manzillash o‘rniga 128 bit ishlatiladi. Bu yaqin kelajak uchun yetarlicha IP manzil bilan ta’minlaydi, IPv4 manzillari esa allaqachon tugab bo‘lgan.
IPv6 manzillari 4 ta o‘n oltilik raqamdan iborat 8 ta guruhdan foydalanadi. IPv6 manzil quyidagicha ko‘rinadi: 2a00:1450:400f:80a::200e:. E’tibor bering, unda 4 ta o‘n oltilik raqamdan iborat 8 ta guruh yo‘q. Buning sababi, IPv6 manzillarini oddiy qoidalar yordamida qisqartirish mumkin:
- Boshidagi 0’larni qisqartirish mumkin
- Uzluksiz 0’lar ketma-ketligini ifodalash uchun qo‘sh ikki nuqta (::) ishlatilishi mumkin.
To‘liq yoyilgan IPv6 manzil: 2a00:1450:400f:080a:0000:0000:0000:200e.
Localhost manzilini ::1 va :: ko‘rinishiga qisqartirish mumkin.
IPv4 kabi IPv6’da ham tarmoqlar, ya’ni quyi tarmoqlar (subnet) mavjud.
IPv6 sarlavhasi quyidagicha ko‘rinadi:
Biz IP manzillash uchun ancha ko‘p joy ajratilgan, ancha soddaroq sarlavhani ko‘ramiz.
IPv6 tobora ko‘proq ishlatilmoqda va ko‘plab vositalarda bu protokol uchun o‘rnatilgan qo‘llab-quvvatlash mavjud. Masalan, ping yordamida -4 va -6 bayroqlari (flag) orqali mos ravishda IPv4 va IPv6 o‘rtasida almashishimiz mumkin.
ipconfig buyrug‘ini ishga tushiring va biror IPv6 manzil ko‘rinayotganini tekshiring. Agar IPv6 yoqilgan bo‘lsa, ping -6 google.com va ping -4 google.com buyruqlarini sinab ko‘ring. Buyruq IPv4 yoki IPv6’dan foydalanishga qanday imkon berishini ko‘ryapsizmi?
ICMP
ICMP ko‘pincha Ping va Traceroute bilan bog‘lanadi. ICMP boshqa maqsadlarda ham ishlatilishi mumkin, masalan, tugundan uning vaqtini so‘rash uchun — bu ICMP Timestamp so‘rovi deb ataladi. ICMP Timestamp so‘rovi, masalan, bir marshrutizatorga boshqa marshrutizatordan vaqtni sinxronlashni so‘rash imkonini beradi — bu tarmoq aloqasidagi muhim jihat.
Hujumchilarning tarmoqdagi tizimlar mavjudligini tekshirishdagi keng tarqalgan taktikasi — Ping Sweep o‘tkazish. Bunday harakatning maqsadi tarmoq diapazonidagi nishon qurilmani ping so‘rovlariga javob berishga majbur qilish, shunda hujumchi uning mavjudligini biladi. Bu yondashuv sodda, chunki ko‘plab tizimlar sukut bo‘yicha kiruvchi ping’larni bloklaydi.
Traceroute
Traceroute — paketni A tizimdan B tizimga yuborishda qaysi marshrutizatorlar ishtirok etishini aniqlash usuli. Paketlarimiz qaysi marshrutizatorlar orqali o‘tishini bilish tarmoqlarimizni yaxshiroq tushunish uchun ham, hujum yuzasini (attack surface) tushunish uchun ham foydali bo‘lishi mumkin. Marshrutizator paketni to‘g‘ri yo‘nalishga marshrutlash uchun javob beradi. Buni yo‘lda avtomobil haydashdek tasavvur qiling: chorrahalardagi yo‘l belgilari sizni manzilga yo‘naltiradi. Chorrahalardagi bu belgilar marshrutizatorlarni ifodalaydi. Traceroute ushbu belgilar va chorrahalarni aniqlaydi hamda ular qanchalik uzoqda ekanini millisekundlarda (ms) o‘lchab ko‘rsatadi.
IPv4’dagi TTL va IPv6’dagi Hop Limit sarlavhalari bir xil vazifani bajaradi. Paketni marshrutlaydigan har bir marshrutizator bu qiymatni 1 ga kamaytiradi va agar qiymat 0 ga yetsa, marshrutizator paketni tashlab yuboradi hamda yuboruvchiga ICMP Time Exceeded paketini qaytaradi.
Windows’da traceroute bajarish uchun:
tracert google.com
Linux’da traceroute bajarish uchun (sukut bo‘yicha o‘rnatilmagan):
traceroute google.com
Ushbu vositalar yordamida traceroute qilish jarayoni oddiy:
- Operatsion tizim google.com manziliga paket yuboradi, TTL qiymati 1 ga o‘rnatiladi.
- Paket tarmoqda marshrutlanadi va birinchi marshrutizator TTL’ni 1 ga kamaytirib, uni 0 ga tushiradi. Bu marshrutizatorning paketni tashlab yuborishiga va manbaga "ICMP Time Exceeded" xabarini qaytarishiga sabab bo‘ladi.
- Mijoz TTL’ni 1 ga oshiradi, bu esa paketning yana bitta qo‘shimcha oraliq tugun (hop) orqali marshrutlanishiga imkon beradi.
Bu jarayon TTL’ni 1 ga oshirib borgan holda manzilga yetib borilgunicha takrorlanadi.
DNS ("Domain Name System" — domen nomlari tizimi)
DNS ilovalarni nomlar orqali IP manzillarga moslashtirish uchun ishlatiladi. Masalan, agar brauzeringiz orqali http://google.com saytiga kirmoqchi bo‘lsangiz, brauzer avval google.com ortidagi IP manzilni aniqlash uchun DNS serverga so‘rov yuborishi kerak
Tizimlar odatda asosiy va zaxira domen nomlari serverlari bilan sozlanadi. Bu sozlamalarni qo‘lda kiritish yoki DHCP server orqali olish mumkin. Bu kompyuter tizimlarimizga biz uchun nomlarni aniqlab beradigan DNS serverga murojaat qilish imkonini beradi.
So‘ngra so‘rovni aniqlash (resolve qilish) uchun DNS server javob beradi. U avval javobni allaqachon bilish-bilmasligini tekshirish uchun o‘z keshini ko‘rib chiqadi. Har bir DNS javobi muayyan TTL ("Time To Live" — yashash vaqti) davomida keshlanishi, ya’ni keyingi so‘rovlarni tezlashtirish uchun vaqtincha saqlanishi mumkin. TTL odatda bir necha daqiqaga, masalan, 10 daqiqaga o‘rnatiladi.
Agar DNS serverning keshida javob bo‘lmasa, u javob berish uchun kim mas’ul ekanini tekshirishga kirishadi. Bu rekursiv jarayon orqali amalga oshiriladi: nom serverlarining ierarxik tizimidan so‘raladi va natijada DNS so‘rovi muqarrar ravishda vakolatli nom serveriga (Authoritative Name Server) yetib boradi.
DNS so‘rovini (lookup) hoziroq Windows yoki Linux’da sinab ko‘rishingiz mumkin. Windows’dagi buyruq satri terminalida nslookup w3schools.com buyrug‘ini, Linux’da esa dig w3schools.com buyrug‘ini kiriting. Quyidagiga o‘xshash natijani ko‘rishingiz kerak:

w3schools.com’ning IP manzilini ;; ANSWER SECTION bo‘limida ko‘rish mumkin. Ushbu skrinshot olingan paytda w3schools.com nomi ortidagi IP manzil 66.29.212.110 edi.
Vakolatli nom serveri (Authoritative Name Server) — savolga yakuniy javob berish uchun mas’ul bo‘lgan DNS server. Masalan, google.com’ning IP manzili haqidagi savolga ularning vakolatli nom serveri javob beradi va bu serverni so‘rov yuborish orqali ko‘rishimiz mumkin:
Windows’da vakolatli nom serverini topish:
nslookup -type=SOA google.com
Linux’da vakolatli nom serverini topish:
dig -t SOA google.com
DHCP ("Dynamic Host Configuration Protocol" — xostlarni dinamik sozlash protokoli)
Nomidan ko‘rinib turibdiki, DHCP protokoli tarmoqdagi istalgan tizimga serverga murojaat qilib, konfiguratsiya olish imkonini beradi. Bunday konfiguratsiya odatda IP manzil va tarmoq diapazoni, standart shlyuz (default gateway) va DNS serverlarni olishni anglatadi.
DHCP tarmoqqa qo‘shilayotgan va undan chiqayotgan mijozlarni oson boshqarish imkonini beradi.
Agar hozir DHCP’dan foydalanayotganingizni bilish qiziq bo‘lsa, Windows tizimida ipconfig /all buyrug‘ini kiriting va natijadan "DHCP Enabled: Yes" qatorini qidiring. Kompyuteringizda bir nechta tarmoq interfeysi bo‘lishi mumkin
VPN ("Virtual Private Network" — virtual xususiy tarmoq)
VPN — ikki tizimga shifrlangan aloqa o‘rnatish imkonini beruvchi tizim bo‘lib, u tarmoq trafigini uzatish jarayonida shifrlash imkonini beradi. Ko‘plab VPN’lar mijoz-server arxitekturasiga ega bo‘lib, mijozga VPN ortidagi bir nechta xizmatlardan foydalanish imkonini beradi. Ish joyingizdagi VPN’lar, ehtimol, aks holda faqat ichki tarmoqdan foydalanish mumkin bo‘lgan resurslarga ham kirishni ta’minlaydi.

Ba’zi VPN xizmatlari foydalanuvchi maxfiyligi va uzatilayotgan ma’lumotlarni shifrlash uchun mo‘ljallangan. Bu xizmatlar foydalanuvchilarga tarmoq ma’lumotlarini VPN orqali yuborish imkonini beradi va Internetda harakatlanishda foydalanuvchining IP manzilini samarali niqoblaydi.
Tarmoq aloqalarini himoyalash uchun VPN’lardan foydalanish odatda yaxshi amaliyot hisoblanadi, biroq har qanday VPN xizmatidan ham foydalanavermaslik kerak. Bepul VPN xizmatlari ba’zan zararli bo‘lishi, ya’ni maxfiy ma’lumotlaringizni tekshirishi, o‘qishi va saqlashi mumkin.

W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
