Internet tarmog’ida ma’lumotlarni almashish uchun IP addresslar ishlatilishini biroz darajada bo’lsa-da o’rgandik. Aslini olganda, bu jarayon shunchalik murakkab-ki, uni amalga oshirish uchun butun boshli IP protocoli ishlab chiqilgan. IP protocolida ma’lumotlar IP packet deb nomlangan alohida bo’laklarda, qismlarga bo’lib yuboriliadi. IP packet ham xuddi 2-qavatdagi framega o’xshash tushuncha, faqat IP protocoli bilan ishlash uchun ishlab chiqilgan.
Router - IP packetlarni qabul qilib, boshqa routerlarga yoki qabul qiluvchi qurilmalarga yuboradigan qurilma. Marshrutkada orqada o'tirganlarning yo’lkirasini haydovchiga uzatib yuboradiganlar borku, xuddi o’shalar. Teoritik jihatdan “toza” layer 3 qurilma, lekin aslida bundan yuqori qavatlarga ham chiqadi.
IP packetlarning tezligi muhim omil bo’lgani uchun IP stateless protocol sifatida ishlab chiqildi. Lekin murakkab yetkazish jarayonida packetni nazorat qila olish ham muhim edi. Buning uchun esa ma’lum darajada state saqlanishi kerak edi. Shunda ikkala talabni ham qondira oladigan chiroyli yechim paydo bo’ldi: Packet yuboruvchi state saqlamaydi, lekin packetning o’zida metadata saqlanadi. Routerlar esa bu metadata orqali packetni nazorat qila olish imkoniyatiga ega bo’ladi. Lekin baribir ba’zida routerlar bir-biriga yoki paket yuboruvchisiga to’g’ridan to’g’ri qisqa va avvaldan kelishilgan tartibdagi ma’lumotlarni yuborishi kerak bo’ladi. Buni bajarish uchun esa ICMP protocoli ishlab chiqildi.
IP packetlarni yo’naltirish hardware tomondan ham software tomondan ham ancha murakkab jarayon. Buni tasavvur qilishingiz uchun IP protocolining software tomondagi bir nechta xususiyatlarini sanab o’taman:
— IP versiyasiga qarab yo'naltirish. Hozirda IP addresslarning ikki xil versiyasi bor. Ba'zi routerlar ikkita versiyadan faqat bittasini support qiladi.
— IP packet qancha vaqt “yashashi”ni nazorat qilish. Bu orqali agar networkdagi packet kerakli manzilni topa olmasa, tarmoqda to’xtovsiz suzib yurib, routerlardan resurs olishining oldi olinadi. Buning uchun packet headerlari ichida TTL (Time To Live) deb nomlanga header bor. Router packetni qabul qilgan vaqtda shu headerga qaraydi va agar packetning
— Bitta IP packet bitta framega sig’masa, uni bo’laklash(fragmentation). Framelardagi fragmentlardan qayta yana bitta packet tuzib olish esa ancha ish talab qiladi.
Tepada aytilganlarning hammasi ma’lumotni IP addresslar orqali internetda kerakli joyga yuborish uchun kerak. Boshqa jarayonlar bilan networkda chalkashlik kelib chiqmasligi uchun bularning hammasini OSI modelida alohida qavatga joylandi va bu qavat Network layer deb nomlandi. Natijada, tepada ko’rsatilgan murakkabliklarning hammasi abstraksiya orqasiga yashirildi va qolganlar uchun ma’lumot berilgan IP addressga “shunchaki” yetib boradi deb o’ylash imkoni paydo bo’ldi.
@boboshersnotes