I chorak · Kompyuter tarmoqlari
IP manzil va maska
Manzillarni endi o'zingiz hisoblaysiz
I chorak · Kompyuter tarmoqlari
Manzillarni endi o'zingiz hisoblaysiz
Ushbu darsdan keyin siz:
O'tgan darsda manzillarni tayyor holda oldik: 192.168.1.1,
192.168.1.2 va 255.255.255.0. 1-darsda esa maskasi 255.255.240.0
bo'lgan tarmoqni ko'rib, "uni sanashni keyinroq o'rganamiz" degan edik.
Bugun ikkala savolga ham javob beramiz.
Atama haqida. ipconfig va Packet Tracer'dagi Subnet Mask
o'zbekchada maska yoki niqob deb ataladi — ikkalasi bir narsa.
Bu darsda "maska" deymiz.
Har bo'limda avval o'zingiz qilib ko'rasiz, keyin nima bo'lganini sxemada ko'rasiz, oxirida qoidasini o'qiysiz.
| Nima | Izoh |
|---|---|
| cmd oynasi | 1-darsdagi kabi: Win + R, cmd, Enter |
| Packet Tracer | 2-darsda o'rnatilgan |
2-darsdagi .pkt fayl |
ikkita kompyuter va switch — bo'lmasa 2-bo'limda qayta quramiz |
| Kalkulyator | Windows'dagi Calculator dasturi |
| Daftar va ruchka | ikkilik hisoblar uchun |
Bu darsda yangi dastur o'rnatilmaydi.
Win + R bosing, cmd deb yozing va Enter bosing.
Quyidagi buyruqni bajaring va IPv4 Address qatorini toping. Bunday qator bir nechta bo'lsa, istalgan birini oling — hammasi bir xil qoidaga bo'ysunadi:
ipconfig
Shu manzilni daftarga yozing va nuqtalar bo'yicha bo'laklarga
ajrating. Masalan 192.168.1.5 → 192, 168, 1, 5.
Endi bitta bo'lagi 255 dan katta bo'lgan manzilga ping qilib ko'ring:
ping 192.168.1.256
Skrinshot kutilmoqdacmd oynasida ipconfig va noto'g'ri manzilga ping
Tekshirib ko'ring: IPv4 manzilingizda to'rtta son va uchta nuqta bor, sonlarning hech biri 255 dan katta emas. Ping esa ishlamadi va shunday javob berdi:
Ping request could not find host 192.168.1.256. Please check the name and try again.
Windows 192.168.1.256 ni IP manzil deb tanimadi — uni sayt nomi deb
o'ylab qidirdi va topolmadi. Sababi pastda.
Biz manzilni o'nlik sonlar bilan o'qiymiz, kompyuter esa uni nol va
birlar bilan saqlaydi. Har bir bo'lak uchun kompyuterda aynan
8 ta katak ajratilgan, har katakda 0 yoki 1 turadi. Bitta
katak bit deb ataladi.
Har katakning o'z qiymati bor. O'ngdan chapga qarab har biri oldingisidan ikki barobar katta:
| Katak | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| Qiymati | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Katakda 1 tursa, uning qiymati hisobga qo'shiladi, 0 tursa —
qo'shilmaydi. Masalan 192 quyidagicha saqlanadi:
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
128 + 64 = 192, ya'ni 192 = 11000000.
Sakkizta katakning hammasi 0 bo'lsa — 0. Hammasi 1 bo'lsa —
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255. Bundan kattasi 8 ta katakka
sig'maydi. 256 uchun to'qqizinchi katak kerak bo'lardi, u esa yo'q.
Shuning uchun 192.168.1.256 — manzil emas.
IP manzil — to'rtta bo'lak, har biri 8 bit, jami 32 bit. Bo'lak inglizcha octet — oktet (sakkizlik) deb ham ataladi.
| Manzil | To'g'rimi | Sabab |
|---|---|---|
192.168.1.5 |
ha | to'rt bo'lak, hammasi 0–255 |
10.0.0.1 |
ha | 0 ham ruxsat etilgan qiymat |
192.168.1.256 |
yo'q | 256 — 255 dan katta |
192.168.1.5.7 |
yo'q | besh bo'lak |
192,168,1,5 |
yo'q | nuqta o'rniga vergul |
192.168.1 |
yo'q | uch bo'lak |
O'nlik sonni ikkilikka o'tkazish — chapdagi 128 dan boshlab o'ngga qarab yuriladi:
1 yozing
va qiymatni sondan ayiring.0 yozing va keyingi katakka o'ting.0 bo'lishi kerak.168 misolida:
| Katak | Son | Katak ≤ son? | Bit | Qoldiq |
|---|---|---|---|---|
| 128 | 168 | ha | 1 |
40 |
| 64 | 40 | yo'q | 0 |
40 |
| 32 | 40 | ha | 1 |
8 |
| 16 | 8 | yo'q | 0 |
8 |
| 8 | 8 | ha | 1 |
0 |
| 4 | 0 | yo'q | 0 |
0 |
| 2 | 0 | yo'q | 0 |
0 |
| 1 | 0 | yo'q | 0 |
0 |
Natija: 168 = 10101000. Tekshirish uchun teskarisini qiling —
1 turgan kataklarni qo'shing: 128 + 32 + 8 = 168.
Har doim 8 ta raqam yozing. 5 ni ikkilikda 101 deb yozish
mumkin, lekin IP manzilda bo'lak sakkiz bitli bo'lgani uchun chapdan
nollar qo'shiladi: 00000101. Keyingi bo'limlarda bitlarni sanaymiz —
nol tushib qolsa, hisob buziladi.
E'tibor bering: Windows qisqa yozuvni xato demaydi. Uch bo'lakli manzilga ping qilsangiz, u xato bermaydi, balki manzilni o'zicha to'ldirib, boshqa kompyuterga ping yuboradi:
C:\> ping 192.168.1
Pinging 192.168.0.1 with 32 bytes of data:
192.168.1 o'rniga 192.168.0.1 ga ketdi. Shuning uchun manzilni
doim to'rt bo'lak qilib, to'liq yozing.
IP manzilni o'qishni bildik. Endi asosiy savol: ikki kompyuter bitta tarmoqdami — buni kim hal qiladi?
Packet Tracer'da 2-darsdagi faylni oching — ikkita kompyuter va ular
ulangan switch bo'lsa yetadi. PC0 ning manzili 192.168.1.1, PC1
niki 192.168.1.2, ikkalasining maskasi 255.255.255.0 bo'lsin. Uy
vazifasi faylida manzillar boshqacha bo'lsa, Desktop → IP
Configuration oynasida shularga o'zgartiring.
Fayl bo'lmasa, qayta quring.
FastEthernet0/1 va FastEthernet0/2
portlariga ulang.PC0 ga 192.168.1.1, PC1 ga
192.168.1.2. Tab bosganda maska 255.255.255.0 bo'lib
to'ladi.Birinchi tajriba — ikkinchi kompyuterni boshqa manzilga o'tkazamiz.
PC1 → Desktop → IP Configuration oynasida IPv4 Address
ni 192.168.5.9 ga o'zgartiring. Maska 255.255.255.0 bo'lib
qolsin. Oynani yoping.
PC0 → Desktop → Command Prompt oynasida quyidagini bajaring:
ping 192.168.5.9
Tekshirib ko'ring: Reply from 192.168.5.9 degan qator chiqmadi
— ikkinchi kompyuter javob bermadi, garchi kabel ham, switch ham joyida.
Ikkinchi tajriba — manzillarga tegmasdan, faqat maskani o'zgartiramiz.
PC0 ning IP Configuration oynasida Subnet Mask maydonidagi
yozuvni o'chiring va 255.255.0.0 deb yozing.
PC1 da ham xuddi shunday qiling: 255.255.0.0.
PC0 ning Command Prompt oynasida yana ping qiling:
ping 192.168.5.9
Skrinshot kutilmoqdaMaska o'zgargandan keyin ping javobi
Tekshirib ko'ring: endi Reply from 192.168.5.9 qatorlari chiqdi.
Birinchi paket yana yo'qolishi mumkin — sababi 2-darsdan tanish:
kompyuter avval manzil egasini so'raydi.
Manzillar o'zgarmadi, kabel ham o'sha — faqat maska o'zgardi, va aloqa paydo bo'ldi.
Kompyuter paket yuborishdan oldin o'ziga bitta savol beradi: "Bu manzil mening tarmog'imdami?" Javobni maska beradi.
Maska manzilni ikki qismga bo'ladi:
255 turgan bo'laklar — tarmoq qismi, ya'ni "qaysi
tarmoq";0 turgan bo'laklar — qurilma qismi, ya'ni "shu tarmoqdagi
qaysi qurilma".Ikki manzilning tarmoq qismi bir xil bo'lsa, ular bitta tarmoqda — paket switch orqali to'g'ridan-to'g'ri yuboriladi. Farq qilsa, kompyuter "bu boshqa tarmoq, u yerga eshik (Default Gateway) orqali chiqish kerak" deb hisoblaydi. Bizda eshik yo'q — paket yo'lga chiqmaydi.
Tajribalarimizda aynan shu bo'ldi:
| Maska | PC0 tarmog'i | PC1 tarmog'i | Natija |
|---|---|---|---|
255.255.255.0 |
192.168.1 |
192.168.5 |
har xil — javob yo'q |
255.255.0.0 |
192.168 |
192.168 |
bir xil — javob bor |
Nega aynan 255 va 0? 1-bo'limni eslang: 255 = 11111111, 0 =
00000000. Ya'ni maska — bu birlar qatori, keyin nollar qatori.
Birlar turgan bitlar tarmoqqa, nollar turgan bitlar qurilmaga tegishli.
| Maska | Qisqa yozuv | Tarmoq qismi | Qurilma qismi | Tarmoq misoli |
|---|---|---|---|---|
255.0.0.0 |
/8 |
1 bo'lak | 3 bo'lak | 10.0.0.0 |
255.255.0.0 |
/16 |
2 bo'lak | 2 bo'lak | 192.168.0.0 |
255.255.255.0 |
/24 |
3 bo'lak | 1 bo'lak | 192.168.1.0 |
Qisqa yozuv — prefiks. /24 — maskadagi birlar soni:
255.255.255.0 da 8 + 8 + 8 = 24 ta bir bor. Shuning uchun manzil va
maskani bitta yozuvda berish mumkin:
192.168.1.1/24 = manzil 192.168.1.1, maska 255.255.255.0
Tarmoq manzili — qurilma qismini nolga almashtirganda chiqadigan
manzil: 192.168.1.1/24 ning tarmog'i 192.168.1.0, 192.168.1.1/16
ning tarmog'i esa 192.168.0.0.
Ikki manzil bitta tarmoqdami — uch qadamda aniqlanadi:
| Manzillar | Maska | Tarmoq qismlari | Bitta tarmoqdami |
|---|---|---|---|
10.1.2.3 va 10.1.9.9 |
255.255.0.0 |
10.1 va 10.1 |
ha |
10.1.2.3 va 10.1.9.9 |
255.255.255.0 |
10.1.2 va 10.1.9 |
yo'q |
172.16.4.1 va 172.17.4.1 |
255.255.0.0 |
172.16 va 172.17 |
yo'q |
172.16.4.1 va 172.17.4.1 |
255.0.0.0 |
172 va 172 |
ha |
Birinchi va ikkinchi qatorni solishtiring: manzillar aynan bir xil, faqat maska boshqa — va javob ham boshqa. Uchinchi va to'rtinchi qatorda ham shunday. Manzillar qanchalik o'xshash ko'rinmasin, qaror maskaga bog'liq.
Packet Tracer maskani o'zi taxmin qiladi — tekshiring. Manzilni
yozib Tab bosganingizda maska maydoni manzilning birinchi soniga
qarab to'ladi: 192.168. uchun 255.255.255.0, 172.16. uchun
255.255.0.0, 10. uchun 255.0.0.0. Bu faqat taxmin. Topshiriqda
boshqa maska berilgan bo'lsa, maydondagi yozuvni o'chirib, kerakligini
o'zingiz yozing.
Bitta tarmoqdagi hamma qurilmada maska bir xil bo'lsin. Ikkinchi tajribada maskani ikkala kompyuterda almashtirganimiz shuning uchun. Maskalar har xil bo'lsa, kompyuterlar bir-birini turlicha tushunadi va aloqa ishonchsiz bo'lib qoladi.
Default Gateway — boshqa tarmoqqa chiqish eshigi — 7-darsda router bilan birga keladi. Hozircha bitta tarmoq ichida ishlaymiz.
Maska tarmoq qismini ko'rsatadi. Qolgan savol: qurilma qismiga nechta qurilma sig'adi? Buning uchun maskani bitlarda o'qiymiz.
Win tugmasini bosib Calculator deb yozing va dasturni oching.
Windows ruscha bo'lsa — Калькулятор.Alt + 4 bosing — kalkulyator Programmer rejimiga o'tadi.
Bu tugmalar ishlamasa, chap yuqoridagi ☰ menyusidan
Programmer ni tanlang.240 deb yozing va BIN qatoriga qarang.Esc bosib tozalang va 255 deb yozing.Skrinshot kutilmoqdaKalkulyatorning Programmer rejimida 240 soni
Tekshirib ko'ring: 240 yozganda BIN qatorida 1111 0000,
255 yozganda 1111 1111 chiqdi. Kalkulyator raqamlarni o'qish oson
bo'lishi uchun to'rttadan guruhlaydi.
Endi 1-darsdagi maskani o'qiymiz — 255.255.240.0. Uning to'rt bo'lagini
8 xonali ikkilikda yozamiz (0 ni kalkulyator shunchaki 0 deb
ko'rsatadi — sakkizta nol ekanini o'zingiz bilasiz):
255 → 1111 1111
255 → 1111 1111
240 → 1111 0000
0 → 0000 0000
Birlarni sanang: 8 + 8 + 4 + 0 = 20. Demak bu maska — /20.
Maska 32 bitdan iborat. /20 maskada chapdagi 20 bit — tarmoq
qismi, o'ngdagi 12 bit — qurilma qismi.
Qurilma qismidagi har bir bit 0 yoki 1 bo'lishi mumkin. Bitta bit —
2 xil holat, ikkita bit — 2 × 2 = 4 xil, uchta bit — 8 xil. Har bir
qo'shilgan bit holatlar sonini ikki barobar oshiradi. 12 bitda
12 ta ikkini o'zaro ko'paytiramiz: 2 × 2 × … × 2 = 4096 xil qurilma
raqami. Buni qisqa qilib 2^12 deb yozamiz — "2 ning 12-darajasi".
Lekin ulardan ikkitasi band:
Shuning uchun qurilmalar uchun 4096 - 2 = 4094 ta manzil qoladi.
Oddiy /24 tarmoqda buni ko'z bilan ko'rish mumkin — qurilma qismi
bitta bo'lak, 8 bit:
| Manzil | Qurilma qismi bitlarda | Vazifasi |
|---|---|---|
192.168.1.0 |
00000000 |
tarmoq manzili — band |
192.168.1.1 |
00000001 |
birinchi qurilma |
| ... | ... | ... |
192.168.1.254 |
11111110 |
oxirgi qurilma |
192.168.1.255 |
11111111 |
broadcast — band |
2^8 = 256 ta manzildan ikkitasi band, 254 tasi qurilmalarga. 2-darsda
"0 va 255 qurilmaga berilmaydi" degan edik — mana sababi.
nollar soni = 32 - prefiks
qurilmalar = 2^(nollar soni) - 2
Daraja nollar soniga olinadi, birlar soniga emas. Birlar tarmoqni belgilaydi, qurilmalar esa nollar turgan bitlarga joylashadi.
Hisoblash tartibi:
32 dan ayirib, nollar sonini toping.2 ni shu darajaga ko'taring va 2 ni ayiring.| Maska | Birlar | Nollar | Hisob | Qurilmalar |
|---|---|---|---|---|
255.255.255.0 |
24 | 8 | 2^8 - 2 |
254 |
255.255.240.0 |
20 | 12 | 2^12 - 2 |
4 094 |
255.255.0.0 |
16 | 16 | 2^16 - 2 |
65 534 |
255.0.0.0 |
8 | 24 | 2^24 - 2 |
16 777 214 |
2 ning darajalari — yodlash shart emas, har biri oldingisining ikki barobari:
| Daraja | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Qiymati | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 |
Maska yetadimi? Ulanadigan qurilmalar soni sig'imdan oshmasligi
kerak. /24 tarmoqqa 200 ta qurilma sig'adi (254 dan kam), 254 tasi
ham sig'adi, lekin 256 tasi sig'maydi — 2^8 = 256 bo'lsa ham, ikkita
manzil band.
Maskadagi birlar doim chapdan ketma-ket keladi. Birlar orasida nol
bo'lmaydi. Shuning uchun maska bo'lagi istalgan son bo'la olmaydi:
100 = 01100100 — birlar uzilgan, demak 255.255.100.0 maska emas.
1-darsdagi misolga qaytamiz. U yerda 192.168.30.38 va
192.168.20.1 manzillari 255.255.240.0 maskasida bitta tarmoqda
ekanini aytgan edik. Endi buni o'zimiz tekshira olamiz.
Uchinchi bo'lakda maska 240 = 1111 0000: bu bo'lakning chapdagi
4 biti tarmoqqa, o'ngdagi 4 biti qurilmaga tegishli. Manzillarning
uchinchi bo'lagini ikkilikka o'tkazamiz:
| Manzil | Uchinchi bo'lak | Ikkilikda | Chapdagi 4 bit |
|---|---|---|---|
192.168.30.38 |
30 | 0001 1110 |
0001 |
192.168.20.1 |
20 | 0001 0100 |
0001 |
Chapdagi to'rt bit bir xil, birinchi ikki bo'lak ham bir xil — demak
bitta tarmoq. Maska 255.255.255.0 bo'lganida esa 30 va 20
butunlay solishtirilardi va ular har xil tarmoqqa tushardi.
Bu tarmoqqa uchinchi bo'lagining chapdagi 4 biti 0001 bo'lgan hamma
manzil kiradi: eng kichigi 0001 0000 = 16, eng kattasi 0001 1111 =
31. Ya'ni 192.168.16.0 dan 192.168.31.255 gacha.
| Xato | Nima ko'rinadi | Sabab | Yechim |
|---|---|---|---|
| Bo'lak 255 dan katta | Ping request could not find host 192.168.1.256 |
8 bitga sig'maydigan son | har bo'lak 0–255 |
| Vergul yoki besh bo'lak | Ping request could not find host |
manzil noto'g'ri yozilgan | to'rt bo'lak, nuqta bilan |
| Uch bo'lak yozilgan | Pinging 192.168.0.1 — boshqa manzil |
Windows yozuvni o'zicha to'ldirdi | manzilni to'liq yozing |
| Ikkilik yozuv qisqa | 101 |
chapdagi nollar tushib qolgan | 8 xonagacha to'ldiring: 00000101 |
| Kalkulyatorda 4 xona | 5 → 0101 |
kalkulyator to'rt xonagacha to'ldiradi | chapdan yana nol qo'shing |
| Kalkulyatorda BIN yo'q | oddiy tugmalar | Standard rejim ochiq | Alt + 4 yoki ☰ → Programmer |
| Ping javob bermaydi | Reply from qatori yo'q |
manzillarning tarmoq qismi har xil | maska bo'yicha solishtiring |
| Maska faqat bittada o'zgardi | aloqa ishonchsiz | maskalar har xil | ikkala kompyuterda bir xil maska |
| Maska o'zicha boshqacha bo'lib qoldi | 10.1.2.3 ga 255.0.0.0 yozilgan |
Packet Tracer maskani birinchi songa qarab taxmin qildi | maska maydonini o'chirib, kerakli maskani yozing |
| Qurilmalar soni 256 chiqdi | 2^8 = 256 |
band ikkita manzil ayirilmagan | 2^8 - 2 = 254 |
| Juda katta son chiqdi | /24 da 2^24 |
daraja birlar soniga olingan | daraja — nollar soni |
/24 da qurilmaga .0 yoki .255 berildi |
manzil qabul qilinmaydi yoki aloqa yo'q | tarmoq va broadcast manzili band | .1 dan .254 gacha |
255.255.100.0 maska deb olindi |
hisob chalkashadi | birlar uzilgan | maska birlari ketma-ket bo'ladi |
0 dan 255 gacha, chunki 8 bitda eng kattasi 11111111 = 255128 64 32 16 8 4 2 11 va ayirish, sig'masa 0255 — tarmoq qismi, 0 — qurilma qismi255.255.255.0 = /242^(32 - prefiks) - 2/24 — 254, /16 — 65 534 ta qurilmaBu darsda ikki topshiriq bor, ikkalasi ham shu qo'llanmadagi materialdan chiqadi:
/24 tarmoqdagi
birinchi, oxirgi va broadcast manzillarni topish.Topshiriq matni shu sahifaning pastida — jurnaldagi raqamingizni tanlaganingizdan keyin chiqadi. Har kimda o'z manzillari va o'z maskasi bo'ladi.
Birinchi topshiriqda tartib muhim: avval daftarda bashorat qiling, keyin ping qiling. Ping natijasini ko'rib, xulosani keyin yozsangiz, mashqning mazmuni yo'qoladi.
Daftarni suratga olish — telefon kamerasi yetadi, faqat hisob
aniq o'qilsin. Packet Tracer skrinshoti uchun Win + Shift + S bosing,
kerakli qismni belgilang, so'ng Word yoki Paint'ga Ctrl + V bilan
qo'ying.
Endi manzillarni o'qiy olamiz, ikki manzil bitta tarmoqdami — aniqlay olamiz va tarmoq sig'imini hisoblay olamiz. Lekin tarmog'imizda hali bor-yo'g'i ikkita kompyuter bor.
Keyingi darsda switch orqali LAN quramiz: bir nechta kompyuterni bitta switch'ga ulab, ularga manzillarni bugungi qoidalar bo'yicha o'zimiz rejalashtirib beramiz va hammasi bir-birini ko'rishini tekshiramiz.
Ro'yxatdagi tartib raqamingizni tanlang — shaxsiy topshiriq shu yerda chiqadi. Bir marta tanlaysiz, brauzer eslab qoladi.