IP - Internet Protokoli
IP tarmoqlar bo'ylab muloqot qilish uchun ishlatiladi. Bu faqat fizik ulanishlar orqali emas, balki marshrutizatorlar tarmoqlari orasida ham ishlatiladi. IP manzillarida ishlatiladigan manzil sxemasi IPv4 ("IP versiyasi 4") yoki IPv6 ("IP versiyasi 6") bo'lishi mumkin.
IP tarmoqlari turli qismlarga bo'linishi mumkin, bu qismlar ko'pincha subnet deb ataladi. Bu IP manziliga qo'shimcha ma'lumot qo'shish orqali amalga oshiriladi, bu ma'lumot netmask deb ataladi. Netmask tarmoq hajmini belgilaydi va qaysi paket tarmoq ichida marshrutlanishini, qaysi paket esa tarmoqdan tashqariga yuborilishini hal qiladi.
Netmasklar o'nli raqamlar yoki slash notatsiyasi yordamida ifodalanishi mumkin. Slash notatsiyasida slash belgisi tizimning IP manzili ortidan keladi. Mana ba'zi misollar:
IP Manzil | Slash Notatsiyasi | Netmask |
---|---|---|
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 ma'lum bir turdagi trafik uchun ajratilgan. Yuqoridagi jadvaldagi IP manzillar faqat ichki tashkilotlar foydalanishi uchun ajratilgan bo'lib, Internetda marshrutlanmasligi kerak. Bu turdagi IP manzillar ko'pincha RFC1918 manzillari deb nomlanadi.
Turli tarmoqlar
RFC1918 ichida turli tarmoqlarni ko'rib chiqamiz va ularning hajmi qanday ekanligini bilib olamiz:
- 10.0.0.0/8 - 16 milliondan ortiq IP manzillar
- 172.16.0.0/12 - Taxminan 1 million IP manzillar
- 192.168.0.0/16 - 65534 ta IP manzillar
IP segmentlar yanada kichik va ko'proq aniq tarmoqlarga bo'linishi mumkin.
Har bir tarmoqda barcha hostlarga trafikni yuborish uchun ajratilgan manzil mavjud, bu broadcast manzili deb ataladi. Broadcasting ma'lumotlar yuborish - bu tarmoqdagi barcha hostlarga ma'lumot yuborishdir, faqat bitta hostga emas. Ko'plab ilovalar va protokollar broadcasting traffikka tayanadi.
Har bir tarmoq segmentida broadcast manzili tarmoqning oxirgi IP manzili hisoblanadi. Masalan, 192.168.0.0/24 tarmog'ida broadcast manzili 192.168.0.255.
Eng kichik netmask 255.255.255.255 bo'lib, bu /32 sifatida ifodalanadi. Bu tarmoq faqat bitta IP manzilga ega bo'ladi.
Agar trafik hostga qaytarilishi kerak bo'lsa, masalan, ilovalar orasidagi muloqot uchun, u localhost manziliga yuboriladi. Bu manzil har doim 127.0.0.1 bo'ladi va bu /8 tarmoqdir.
IP tarmoqlarida trafik router yordamida yo'naltiriladi. Router - bu tarmoq qurilmasi bo'lib, u IP formatini tushunadi va paketlarni tarmoqlar o'rtasida oldinga yuboradi. Bu switch dan farqli ravishda ishlaydi, chunki switch ma'lumotlarni tarmoq ichida uzatadi, router esa tarmoqlar orasida ma'lumotlarni uzatadi.
Tarmoqdagi Paketlar
Tarmoqdagi paketlarda headerlar mavjud bo'lib, ular IP protokoli doirasida muhokama qilingan ko'plab muhim tafsilotlarni o'z ichiga oladi. IPv4 headeri quyidagicha ko'rinadi:
IPv4 Header
IPv4 headeridagi Manzil Manzili paketni yuborayotgan tizimning IP manzili, va Maqsad Manzili paket kimga mo'ljallanganligini ko'rsatadi. Shuningdek, IP protokolining ko'plab funksiyalari tomonidan ishlatiladigan boshqa maydonlar ham mavjud, ammo bu kirish darsida ularni muhokama qilish tashqarida qoladi.
Siz o'zingizning IP manzilingizni Windows tizimida ipconfig buyrug'ini Komanda Qatori oynasida bajarish orqali tekshirishingiz mumkin. Linuxda esa bu ip addr show yoki ifconfig buyrug'i orqali amalga oshiriladi.
Tizim LAN tarmog'ida topib bo'lmaydigan narsaga murojaat qilganda, u trafikni tizim konfiguratsiyasiga ko'ra standart gateway (yo'riqnoma)ga yuboradi. Standart gateway bu trafikni mo'ljallangan IP manzilga yo'naltiruvchi routerdir.
NAT ("Tarmoq Manzillarini O'zgartirish")
NAT bu tizimlarga jamoat IP manzili orqali ulanishlarni qabul qilish va ularni ichki RFC 1918 IP manziliga yo'naltirishga imkon beradi yoki aksincha. NAT qilishni amalga oshiruvchi tizimlar odatda firewalllar va routerlardir.
NAT'ning odatiy amalga oshirilishi tashqi IP manzili bir nechta ichki IP manzillar uchun kirish nuqtasi sifatida ishlatilishi va port raqami ma'lumotlarni qaysi serverga yuborish kerakligini aniqlash uchun ishlatilishi hisoblanadi. Bu ichki IP manzillarini tashqi tizimlardan trafik olish imkoniyatini beradi.
NAT'ning boshqa keng tarqalgan amalga oshirilishi
Yana bir keng tarqalgan NAT amalga oshirilishi ichki IP manzillarga tashqi IP manzili orqali internetga kirish imkoniyatini berishdir. NAT ichki manzillardan mo'ljallangan manzillarga bo'lgan ulanishlarni kuzatib boradi va ulanishlar orqali trafikni oldinga yo'naltiradi.
NAT'ni turli yo'llar bilan sozlash mumkin, ammo bu darsda biz bu usulning batafsil tahliliga kirmaymiz.
Eslatma: NAT tarmoq muhandislariga o'z tizimlarini ko'proq moslashuvchanlik bilan joylashtirishga imkon beradi va ko'plab turli xil foydalanish holatlariga zamin yaratadi.
IPv6 - IP Version 6
IPv6 versiyasi IP uchun so'nggi standart hisoblanadi va u ko'proq IP manzillarni qo'llab-quvvatlash uchun ishlab chiqilgan. IPv4 32 bitli manzillashdan foydalangan bo'lsa, IPv6 128 bitli manzillashdan foydalanadi. Bu esa kelajak uchun yetarli miqdordagi IP manzillarni taqdim etadi, holbuki IPv4 manzillari allaqachon tugagan.
IPv6 manzillari 8 ta 4 ta o'n oltilik sonlar guruhidan iborat. IPv6 manzili quyidagicha ko'rinadi: 2a00:1450:400f:80a::200e. E'tibor bering, bu erda to'liq 8 guruh o'n oltilik raqamlar yo'q. Chunki IPv6 manzillari oddiy qoidalar yordamida qisqartirilishi mumkin:
- Boshlang'ich 0'lar qisqartirilishi mumkin.
- Ikkita nuqta (
::
) uzluksiz 0'lar satrini ifodalash uchun ishlatilishi mumkin.
Kengaytirilgan IPv6 manzili: 2a00:1450:400f:080a:0000:0000:0000:200e.
localhost manzili qisqartirib ::1
va ::
ko'rinishiga keltirilishi mumkin.
IPv6 ham IPv4 kabi tarmoqlarga, ya'ni subnetlarga ega.
IPv6 headeri quyidagicha ko'rinadi:
IPv6 sarlavhasi oddiyroq va ko'proq IP manzillarni qo'llab-quvvatlaydi
IPv6 tobora ko'proq qo'llanilmoqda va ko'plab vositalar ushbu protokolni qo'llab-quvvatlaydi. Masalan, ping yordamida biz IPv4 va IPv6 o'rtasida mos ravishda -4 va -6 bayroqlari yordamida almashishimiz mumkin.
ipconfig buyrug'ini ishga tushiring va har qanday IPv6 manzillarini ko'rishingiz mumkinmi? Agar sizda IPv6 yoqilgan bo'lsa, ping -6 google.com va ping -4 google.com buyrug'larini sinab ko'ring. Ushbu buyruqlar yordamida IPv4 yoki IPv6 dan foydalanishimiz mumkinligini ko'rdingizmi?
Eslatma: Agar hozirda sizda IPv6 bo'lmasa, bugungi kunda ko'plab ommaviy bulutli xizmatlar sizga tajriba va tadqiqotlar uchun foydalanishingiz mumkin bo'lgan IPv6 manzilini taqdim etadi.
ICMP
ICMP odatda ping va traceroute bilan bog'liq. ICMP boshqa narsalar uchun ham ishlatilishi mumkin, masalan, tugunga vaqt so'rash uchun, bu ICMP Timestamp so'rovi deb ataladi. ICMP Timestamp so'rovi oddiygina, masalan, marshrutizator boshqa marshrutizatorni vaqtlarini sinxronlashtirishini so'rashiga imkon beradi, bu tarmoq aloqalarida muhim atributdir.
Hujumchilar tarmoqlarda tizimlar mavjudligini tekshirish uchun Ping Sweep taktikasi deb ataladigan usuldan foydalanishi mumkin. Bunday faoliyatning maqsadi tarmoqdagi qurilmaning ping so'rovlariga javob berishini ta'minlashdir, bu esa hujumchiga qurilma mavjud ekanligini bildiradi. Ammo ko'plab tizimlar odatda kelayotgan pinglarni bloklaydi.
Traceroute
Tracerouting bu paketni A tizimidan B tizimiga yuborishda qaysi marshrutizatorlar ishtirok etishini aniqlash usulidir. Bizning paketlarimiz qaysi marshrutizatorlar orqali o'tishini bilish tarmoqlarni yaxshiroq tushunish uchun foydali bo'lishi mumkin, shuningdek hujum yuzasini tushunish uchun ham muhimdir. Marshrutizator paketni to'g'ri yo'nalishda yo'naltirish uchun javobgardir. Buni yo'lda yurish deb tasavvur qiling, chorrahalarda yo'l belgilariga qarab siz manzilga yetasiz. Ushbu belgilar va chorrahalar marshrutizatorlarni ifodalaydi. Traceroute bu belgilarni va chorrahalarni aniqlaydi va ularning qanchalik uzoqligini millisekundlarda (ms) o'lchab sizga aytadi.
IPv4-da TTL va IPv6-da Hop Limit sarlavhalari bir xil funktsiyani bajaradi. Har bir marshrutizator paketni yo'naltirganida bu qiymatni 1 ga kamaytiradi, agar qiymat 0 ga yetib kelsa, marshrutizator paketni yo'q qiladi va jo'natuvchiga ICMP Time Exceeded paketini qaytaradi.
Windows'da traceroute bajarish uchun:
Linux'da (standartda o'rnatilmagan):
Ushbu vositalar yordamida traceroute qilish jarayoni quyidagicha:
- Operatsion tizim google.com ga paket yuboradi, TTL qiymati 1 ga o'rnatiladi.
- Paket tarmoqda yo'naltiriladi va birinchi marshrutizator TTL'ni 1 ga kamaytiradi, bu esa 0 bo'lib qoladi. Natijada marshrutizator paketni tushiradi va manbaga ICMP Time Exceeded paketini yuboradi.
- Mijoz TTL'ni 1 ga oshiradi, bu paketni yana bitta uzatishni ta'minlaydi.
- Ushbu jarayon TTL har safar 1 ga oshib boradi, to manzilga yetib borgunga qadar takrorlanadi.
DNS ("Domain Name System")
DNS ilovalarni nomlar orqali IP manzillarga xaritalash uchun ishlatiladi. Masalan, brauzeringiz yordamida http://google.com saytiga tashrif buyurmoqchi bo'lsangiz, brauzer avval DNS serverga so'rov yuborib, google.com ortidagi IP manzilni hal qilishi kerak bo'ladi.
Tizimlar odatda birlamchi va ikkilamchi domen nomi serveri bilan sozlanadi. Bu sozlamalar qo'lda sozlanishi yoki DHCP server tomonidan taqdim etilishi mumkin. Bu bizning kompyuter tizimlarimizga DNS serveriga kirish imkonini beradi va u biz uchun so'rovni hal qiladi.
DNS serveri so'rovni hal qilish uchun javobgar. U o'z keshini tekshirib, javobni allaqachon biladimi, yo'qmi, tekshiradi. Har bir DNS javobi keshlanishi mumkin, ya'ni keyingi so'rovlarni tezlashtirish uchun vaqtinchalik saqlanishi mumkin. Keshda saqlash muddati TTL ("Time To Live") deb ataladi va odatda bir necha daqiqaga o'rnatiladi, masalan 10 daqiqa.
Agar DNS server keshida javob bo'lmasa, u keyin javobni berish uchun kim javobgar ekanligini aniqlashga kirishadi. Bu jarayon ierarxik tizimdagi serverlarga so'rov yuborishni o'z ichiga oladi va oxir-oqibat DNS so'rovi Authoritative Name Server ga borib tugaydi.
Siz hozir Windows yoki Linux orqali DNS so'rovini sinab ko'rishingiz mumkin. Windows'dagi buyruqlar satrida nslookup w3schools.com ni kiriting yoki Linux'da dig w3schools.com deb yozing. Siz quyidagicha natijani ko'rishingiz kerak:
DNS Javoblari
w3schools.com ning IP manzili ;; ANSWER SECTION bo'limida ko'rinadi. Ushbu skrinshot suratga olinganida, w3schools.com nomi ortidagi IP manzil 66.29.212.110 edi.
Authoritative Name Server - bu DNS server bo'lib, u savolga aniq javob berish uchun mas'uldir. Masalan, google.com ning IP manzilini ularning authoritative name serveri taqdim etadi, va biz bu serverni quyidagicha so'rov yuborish orqali aniqlashimiz mumkin:
Windowsda authoritative name serverni topish:
Linuxda authoritative name serverni topish:
DHCP ("Dynamic Host Configuration Protocol")
Nomidan ko'rinib turibdiki, DHCP protokoli tarmoqdagi har qanday tizimga serverga murojaat qilish va konfiguratsiya olish imkonini beradi. Bunday konfiguratsiya odatda IP manzil va tarmoq oralig'ini, default gateway va DNS serverlarni olishni o'z ichiga oladi.
DHCP mijozlarning tarmoqqa qo'shilishi va chiqib ketishini oson boshqarishni ta'minlaydi.
Agar siz hozirda DHCP ishlatish yoki ishlatmasligingizni bilmoqchi bo'lsangiz, Windows tizimida ipconfig /all buyrug'ini yozing va natijada "DHCP Enabled: Yes" bo'limini qidiring. Kompyuteringizda bir nechta tarmoq interfeyslari bo'lishi mumkin.
VPN ("Virtual Private Network")
VPN - bu ikki tizimga shifrlangan aloqalarni o'rnatishga imkon beruvchi tizim bo'lib, tarmoq trafigini uzatishda shifrlanishni ta'minlaydi. Ko'plab VPN'lar mijozdan servergacha bo'lgan arxitekturaga ega bo'lib, mijozga VPN ortidagi bir nechta xizmatlarga kirishga imkon beradi. Ish joyingiz tomonidan qo'llab-quvvatlanadigan VPN'lar, shuningdek, faqat ichki tarmoqlardan kirish mumkin bo'lgan resurslarga kirishni taqdim etishi mumkin.
VPN Xizmatlari
Ba'zi VPN xizmatlari foydalanuvchi maxfiyligini ta'minlash va ma'lumotlarni uzatishda shifrlash uchun mo'ljallangan. Ushbu xizmatlar foydalanuvchilarga tarmoq ma'lumotlarini VPN orqali yuborish imkonini beradi, shunda foydalanuvchi IP manzili Internetda harakatlanayotganda yashiriladi.
Tarmoq aloqa xavfsizligini ta'minlash uchun VPN'lardan foydalanish odatda yaxshi amaliyot hisoblanadi, ammo har qanday VPN xizmatini ishlatmaslik kerak. Bepul VPN xizmatlari ba'zan zararli bo'lishi mumkin, ular sizning sezgir ma'lumotlaringizni tekshirish, o'qish va saqlash bilan shug'ullanishi mumkin.