IP protokoli funktsiyalari IP TCP/IP protokoli stekiga shlyuzda joylashgan. IP funktsiyalari RFC-791da quyidagicha taʼriflangan: “IP maʼlumotlar bloklarini joʻnatuvchidan qabul qiluvchiga maʼlumotlar grammasi deb ataladigan uzatishni taʼminlaydi, bunda joʻnatuvchilar va qabul qiluvchilar qattiq uzunlikdagi manzillar (IP manzillar) bilan aniqlangan kompyuterlardir. IP shuningdek, kichik paketli tarmoqlar orqali uzatish uchun kerak bo'lganda ma'lumotlargrammalarni parchalash va qayta yig'ishni ta'minlaydi.
IP ishonchsiz ulanishsiz protokoldir. Bu shuni anglatadiki, IP protokoli ma'lumotlarning yetkazib berilishini tasdiqlamaydi, olingan ma'lumotlarning yaxlitligini nazorat qilmaydi va qo'l siqish operatsiyasini amalga oshirmaydi - maqsad tugun bilan aloqa o'rnatilganligini va uning tayyorligini tasdiqlovchi xizmat xabarlari almashinuvi. ma'lumotlarni olish uchun. IP har bir datagrammani Internetdagi boshqa datagrammalarga aloqasi bo'lmagan mustaqil birlik sifatida ko'rib chiqadi. Datagram tarmoqqa yuborilgandan so'ng, uning keyingi taqdiri hech qanday tarzda jo'natuvchi tomonidan boshqarilmaydi (IP protokoli darajasida). Agar datagramni yetkazib bo'lmasa, u yo'q qilinadi. Datagramni yo'q qilgan xost muvaffaqiyatsizlik sababi haqida ICMP xabarini yuborishi mumkin.
Ma'lumotlarni to'g'ri uzatish kafolati buning uchun zarur mexanizmlarga ega bo'lgan yuqori darajadagi protokollar (masalan, TCP) bilan ta'minlanadi.
IP protokolining asosiy vazifalaridan biri datagrammalarni marshrutlashdir, ya'ni. qabul qiluvchining manzili asosida bir xostdan ikkinchisiga datagramma yo'lini aniqlash.
Tarmoqdan datagrammani qabul qiluvchi ba'zi tarmoq tugunlarida IP modulining ishlashining umumiy ko’rinishi quyidagicha:
IP moduliga kirish qatlamining interfeyslaridan biridan uzatish muhitiga datagramma yuboriladi (masalan, Ethernet interfeysidan);
IP moduli datagram sarlavhasini tahlil qiladi;
agar datagrammaning maqsadi ushbu kompyuter bo'lsa:
agar datagram kattaroq datagrammaning fragmenti bo'lsa, qolgan bo'laklar kutiladi va keyin asl katta datagram yig'iladi.
ma'lumotlar datagrammadan chiqariladi va yuqori darajadagi protokollardan biriga ishlov berish uchun yuboriladi (qaysi biri datagram sarlavhasida ko'rsatilgan);
agar datagramma ushbu tugunning IP-manzillaridan birortasiga yo‘naltirilmagan bo‘lsa, keyingi harakatlar “xorijiy” datagrammalarni yo‘naltirishga ruxsat yoki taqiqlanganligiga bog‘liq;
agar o‘tkazishga ruxsat berilgan bo‘lsa, u holda datagrammani belgilangan manzilga yetkazish uchun yo‘naltirilishi kerak bo‘lgan keyingi tarmoq tuguni va quyi darajadagi interfeys aniqlanadi, shundan so‘ng datagramma jo‘natish uchun ushbu interfeysning quyi darajasiga uzatiladi; agar kerak bo'lsa, datagrammaning parchalanishi amalga oshirilishi mumkin;
agar datagramma xato bo'lsa yoki ma'lum sabablarga ko'ra yetkazilmasa, u yo'q qilinadi; bu odatda datagram jo'natuvchisiga ICMP xato xabarini yuboradi.
Tarmoq orqali jo'natish uchun yuqori darajadan ma'lumotlarni qabul qilishda IP moduli ushbu ma'lumotlar bilan datagramma hosil qiladi, uning sarlavhasida jo'natuvchi va qabul qiluvchi manzillari (shuningdek, transport qatlamidan olingan) va boshqa ma'lumotlar mavjud; keyin quyidagi amallar bajariladi:
agar datagramma bir xil tugun uchun mo'ljallangan bo'lsa, undan ma'lumotlar chiqariladi va transport qatlami protokollaridan biriga ishlov berish uchun yuboriladi (qaysi biri datagram sarlavhasida ko'rsatilgan);
agar datagramma ushbu tugunning IP-manzillarining birortasiga yo‘naltirilmagan bo‘lsa, u holda uni o‘z manziliga yetkazish uchun datagramma yo‘naltirilishi kerak bo‘lgan keyingi tarmoq tuguni va quyi darajadagi interfeys aniqlanadi, shundan so‘ng datagramma uzatiladi. yuborish uchun ushbu interfeysning pastki darajasiga; agar kerak bo'lsa, datagrammaning parchalanishi amalga oshirilishi mumkin;
agar datagramma noto'g'ri bo'lsa yoki biron sababga ko'ra yetkazilmasa, u yo'q qilinadi.
Keyinchalik, tarmoq tugunlari tarmoqqa ulangan va IP protokolini qo'llab-quvvatlaydigan kompyuterdir. Tarmoq tugunida bir xil yoki turli tarmoqlarga ulangan bir yoki bir nechta IP interfeyslari bo'lishi mumkin, har bir bunday interfeys o'ziga xos IP manzili bilan aniqlanadi.