Въведение
Всички познаваме принципа на класификация и принципа на некласификация на IP и неговото приложение в мрежовата комуникация. Фрагментацията и повторното сглобяване на IP е ключов механизъм в процеса на предаване на пакети. Когато размерът на даден пакет надвиши лимита на максималната единица за предаване (MTU) на мрежова връзка, IP фрагментацията разделя пакета на множество по-малки фрагменти за предаване. Тези фрагменти се предават независимо в мрежата и при пристигането си в местоназначението се сглобяват отново в пълни пакети чрез механизма за повторно сглобяване на IP. Този процес на фрагментация и повторно сглобяване гарантира, че пакети с голям размер могат да се предават в мрежата, като същевременно се гарантира целостта и надеждността на данните. В този раздел ще разгледаме по-подробно как работят фрагментацията и повторното сглобяване на IP.
IP фрагментация и повторно сглобяване
Различните връзки за данни имат различни максимални единици за предаване (MTU); например, FDDI връзката за данни има MTU от 4352 байта, а Ethernet MTU от 1500 байта. MTU е съкращение от Maximum Transmission Unit и се отнася до максималния размер на пакета, който може да бъде предаден по мрежата.
FDDI (Fiber Distributed Data Interface) е стандарт за високоскоростна локална мрежа (LAN), който използва оптично влакно като предавателна среда. Максималната предавателна единица (MTU) е максималният размер на пакета, който може да бъде предаден чрез протокол за канално ниво. В FDDI мрежите размерът на MTU е 4352 байта. Това означава, че максималният размер на пакета, който може да бъде предаден чрез протокола за канално ниво в FDDI мрежа, е 4352 байта. Ако пакетът, който трябва да бъде предаден, надвишава този размер, той трябва да бъде фрагментиран, за да се раздели на множество фрагменти, подходящи за размера на MTU за предаване и повторно сглобяване в приемника.
За Ethernet, MTU обикновено е с размер 1500 байта. Това означава, че Ethernet може да предава пакети с размер до 1500 байта. Ако размерът на пакета надвиши лимита на MTU, той се фрагментира на по-малки фрагменти за предаване и се сглобява отново в местоназначението. Повторното сглобяване на фрагментираната IP дейтаграма може да се извърши само от хоста на местоназначението, а рутерът няма да извърши операция по повторно сглобяване.
Говорихме и за TCP сегментите по-рано, но MSS е съкращение от Maximum Segment Size (максимален размер на сегмента) и играе важна роля в TCP протокола. MSS се отнася до размера на максималния сегмент от данни, който може да бъде изпратен в TCP връзка. Подобно на MTU, MSS се използва за ограничаване на размера на пакетите, но го прави на транспортния слой, т.е. на TCP протоколния слой. TCP протоколът предава данните на приложния слой, като ги разделя на множество сегменти от данни, а размерът на всеки сегмент от данни е ограничен от MSS.
MTU на всяка връзка за данни е различна, защото всеки различен тип връзка за данни се използва за различни цели. В зависимост от целта на използване, могат да бъдат хоствани различни MTU.
Да предположим, че подателят иска да изпрати голяма дейтаграма от 4000 байта за предаване през Ethernet връзка, така че дейтаграмата трябва да бъде разделена на три по-малки дейтаграми за предаване. Това е така, защото размерът на всяка малка дейтаграма не може да надвишава ограничението MTU, което е 1500 байта. След като получи трите малки дейтаграми, получателят ги сглобява отново в оригиналната голяма дейтаграма от 4000 байта въз основа на поредния номер и отместването на всяка дейтаграма.
При фрагментирано предаване, загубата на фрагмент ще направи цялата IP дейтаграма невалидна. За да се избегне това, TCP въведе MSS, при който фрагментацията се извършва на TCP ниво, а не от IP ниво. Предимството на този подход е, че TCP има по-прецизен контрол върху размера на всеки сегмент, което избягва проблемите, свързани с фрагментацията на IP ниво.
За UDP се опитваме да не изпращаме пакети данни, по-големи от MTU. Това е така, защото UDP е транспортен протокол, ориентиран към безконекторно свързване, който не осигурява надеждност и механизми за повторно предаване като TCP. Ако изпратим UDP пакет данни, по-голям от MTU, той ще бъде фрагментиран от IP слоя за предаване. След като един от фрагментите бъде загубен, UDP протоколът не може да го предаде повторно, което води до загуба на данни. Следователно, за да осигурим надеждно предаване на данни, трябва да се опитаме да контролираме размера на UDP пакетите данни в рамките на MTU и да избягваме фрагментирано предаване.
Mylinking™ мрежов пакетен брокерМоже автоматично да идентифицира различни видове тунелни протоколи VxLAN/NVGRE/IPoverIP/MPLS/GRE и др., може да се определи според потребителския профил, според вътрешните или външните характеристики на изхода на тунелния поток.
○ Може да разпознава VLAN, QinQ и MPLS пакети с етикети
○ Може да идентифицира вътрешната и външната VLAN мрежа
○ IPv4/IPv6 пакетите могат да бъдат идентифицирани
○ Може да идентифицира тунелни пакети VxLAN, NVGRE, GRE, IPoverIP, GENEVE, MPLS
○ Могат да бъдат идентифицирани фрагментирани IP пакети (Поддържа се идентификация на IP фрагментацията и се поддържа повторно сглобяване на IP фрагментацията, за да се приложи филтриране на L4 характеристики на всички IP фрагментирани пакети. Приложете политика за изходен трафик.)
Защо IP и TCP протоколът са фрагментирани?
Тъй като при мрежовото предаване, IP слоят автоматично ще фрагментира пакета данни, дори ако TCP слоят не сегментира данните, пакетът данни ще бъде автоматично фрагментиран от IP слоя и ще бъде предаден нормално. Защо тогава TCP се нуждае от фрагментация? Не е ли това прекалено?
Да предположим, че има голям пакет, който не е сегментиран на TCP нивото и е загубен при пренос; TCP ще го предаде отново, но само като цяло голям пакет (въпреки че IP нивото разделя данните на по-малки пакети, всеки от които има MTU дължина). Това е така, защото IP нивото не се интересува от надеждното предаване на данните.
С други думи, при транспортната към мрежова връзка на машината, ако транспортният слой фрагментира данните, IP слоят не ги фрагментира. Ако фрагментацията не се извършва на транспортния слой, фрагментацията е възможна на IP слоя.
Казано по-просто, TCP сегментира данните, така че IP слоят вече да не е фрагментиран, а когато възникнат повторни предавания, се предават само малки части от фрагментираните данни. По този начин може да се подобри ефективността и надеждността на предаването.
Ако TCP е фрагментиран, не е ли фрагментиран и IP слоят?
В горното обсъждане споменахме, че след TCP фрагментация при изпращача, няма фрагментация на IP нивото. Възможно е обаче да има други устройства на мрежовия слой в транспортната връзка, които могат да имат максимална единица за предаване (MTU), по-малка от MTU при изпращача. Следователно, дори пакетът да е фрагментиран при изпращача, той се фрагментира отново, когато преминава през IP нивото на тези устройства. В крайна сметка всички шардове ще бъдат сглобени при получателя.
Ако можем да определим минималния MTU за цялата връзка и да изпратим данни с тази дължина, няма да възникне фрагментация, независимо към кой възел се предават данните. Този минимален MTU за цялата връзка се нарича MTU на пътя (PMTU). Когато IP пакет пристигне в рутер, ако MTU на рутера е по-малък от дължината на пакета и флагът DF (Do not Fragment - Не фрагментирай) е зададен на 1, рутерът няма да може да фрагментира пакета и може само да го изпусне. В този случай рутерът генерира ICMP (Internet Control Message Protocol) съобщение за грешка, наречено „Fragmentation Needed But DF Set“ (Необходима е фрагментация, но е зададен DF). Това ICMP съобщение за грешка ще бъде изпратено обратно до адреса на източника със стойността на MTU на рутера. Когато подателят получи ICMP съобщението за грешка, той може да коригира размера на пакета въз основа на стойността на MTU, за да избегне отново ситуацията на забранена фрагментация.
Фрагментацията на IP е необходимост и трябва да се избягва на IP ниво, особено на междинните устройства във връзката. Следователно, в IPv6 фрагментацията на IP пакетите от междинни устройства е забранена и фрагментацията може да се извършва само в началото и края на връзката.
Основно разбиране на IPv6
IPv6 е версия 6 на интернет протокола, който е наследник на IPv4. IPv6 използва 128-битова дължина на адреса, което може да осигури повече IP адреси от 32-битовата дължина на адреса на IPv4. Това е така, защото адресното пространство на IPv4 постепенно се изчерпва, докато адресното пространство на IPv6 е много голямо и може да отговори на нуждите на бъдещия интернет.
Когато говорим за IPv6, освен повече адресно пространство, той носи и по-добра сигурност и мащабируемост, което означава, че IPv6 може да осигури по-добро мрежово изживяване в сравнение с IPv4.
Въпреки че IPv6 съществува от дълго време, глобалното му внедряване все още е сравнително бавно. Това се дължи главно на необходимостта IPv6 да бъде съвместим със съществуващата IPv4 мрежа, което изисква преход и миграция. С изчерпването на IPv4 адресите и нарастващото търсене на IPv6 обаче, все повече доставчици на интернет услуги и организации постепенно приемат IPv6 и постепенно реализират двойната работа на IPv6 и IPv4.
Обобщение
В тази глава разгледахме по-подробно как работят IP фрагментацията и повторното асемблиране. Различните връзки за данни имат различна максимална единица за предаване (MTU). Когато размерът на пакета надвиши лимита на MTU, IP фрагментацията разделя пакета на множество по-малки фрагменти за предаване и ги сглобява отново в пълен пакет чрез механизъм за повторно асемблиране на IP след пристигане в местоназначението. Целта на TCP фрагментацията е да направи IP слоя да не се фрагментира повече и да препредава само малките данни, които са били фрагментирани при повторното предаване, за да се подобри ефективността и надеждността на предаването. Възможно е обаче да има други устройства на мрежово ниво в транспортната връзка, чието MTU може да е по-малко от това на подателя, така че пакетът все пак ще бъде фрагментиран отново на IP слоя на тези устройства. Фрагментацията на IP слоя трябва да се избягва, доколкото е възможно, особено на междинните устройства във връзката.
Време на публикуване: 07 август 2025 г.