Кіріспе

IP пакеттерін кішірек бөліктерге бөлу процесі – IP фрагментациясы, бұл пакеттерді кішірек бөліктерге (фрагменттерге) бөлетін Интернет-протоколы (IP) процесі. Бұл бөліктер бастапқы пакет мөлшерінен кішірек максималды тарату бірлігіне (MTU) ие желі арқылы өтуіне мүмкіндік береді. Фрагменттерді қабылдаушы хост қайта құрастырады. Фрагментация механизмінің ерекшеліктері, сондай-ақ фрагментацияға қатысты жалпы архитектуралық тәсілдер IPv4 және IPv6 арасында өзгеше.

Процесс

IP-пакеттерді бөлшектеу, тарату және қайта құрастыру процедурасын сипаттайды. RFC 815 қарапайым қайта құрастыру алгоритмін сипаттайды. IP-бастықтағы идентификациялық өріс шетелдік және жергілікті интернет-адресімен және протокол ID-мен бірге, ал фрагмент смещениясы өрісі «Бөлшектемеу» және «Көбірек фрагменттер» туларымен бірге IP-пакеттерді бөлшектеу және қайта құрастыру үшін пайдаланылады.

IPv4 және IPv6 айырмашылықтары

IPv4 бойынша, келесі түйіндің MTU-дан үлкен желілік пакет алған маршрутизатордың екі мүмкіндігі бар: пакеттің бас жағындағы «Бөлшектемеу» (DF) биті қойылған болса, пакетті тастап, «Бөлшектеу қажет» (Type 3, Code 4) туралы хабарламаны Internet Control Message Protocol (ICMP) арқылы жіберу, немесе пакетті кішірек MTU-мен байланыс арқылы жіберу үшін бөлшектеу. Бастаушылар бөлшектелген пакеттерді жасаса да, IPv6 маршрутизаторларында одан әрі бөлшектеу мүмкіндігі жоқ. Оның орнына, желілік құралдар кез келген IPv6 пакетін немесе 1280 байтқа тең немесе одан кіші пакет фрагменттерін жеткізуі керек, ал IPv6 хосттары пакеттерді жібермес бұрын Path MTU Discovery арқылы оңтайлы MTU-ны анықтауы тиіс. IPv4 және IPv6 үшін бас форматтары әртүрлі болғанымен, фрагментация үшін ұқсас өрістер қолданылады, сондықтан бірдей алгоритм IPv4 және IPv6 фрагментациясы мен қайта құрастыру үшін қайта пайдаланылуы мүмкін. IPv4-те хосттар жалпы қайта құрастырылған көлемі 576 байтқа дейін болатын фрагменттелген IP пакеттерін қайта құрастыруға бар күштерін салуы керек. Олар 576 байттан үлкен фрагменттелген IP пакеттерін қайта құрастыруға тырыса алады, бірақ оларға мұндай үлкен пакеттерді еш ескертпестен тастауға да рұқсат етіледі. Қолданбаларға қашықтағы хост оларды қабылдауға немесе қайта құрастыруға қабілетті екендігін алдын ала білмесе, 576 байттан үлкен пакеттерді жіберуден аулақ болу ұсынылады. Жалпы қайта құрастырылған көлемі 1500 байттан асатын фрагменттелген пакеттерді қалау бойынша еш ескертпестен тастауға болады. Жолдың MTU шектеуін жеңу үшін IPv6 фрагментациясына сүйенетін қолданбалар бастапқы нүктеде пакетті нақты бөлшектеуі керек; алайда, қашықтағы хост қайта құрастыруға қабілетті екенін алдын ала білмесе, жалпы көлемі 1500 байттан асатын фрагменттелген пакеттерді жіберуге тырыспауы керек.

Желідегі хабарды жеткізуге әсері

Егер желіде бірнеше параллель жол болса, LAG және CEF сияқты технологиялар трафикті хэш алгоритмі бойынша жолдарға бөледі. Алгоритмнің мақсатының бірі – бір ағындағы барлық пакеттердің қажетсіз пакеттерді қайта реттеуді азайту үшін бірдей жолмен жіберілуін қамтамасыз ету. IP-фрагментациясы фрагменттер пакет жоғалтуға ұшырағанда артық қайта жіберуге себеп болады, ал TCP сияқты сенімді протоколдар бір фрагмент жоғалған жағдайда оны қалпына келтіру үшін барлық фрагменттерді қайта жіберуге мәжбүр. Сондықтан жіберушілер желі арқылы жіберу үшін IP пакеттерінің көлемін анықтау үшін көбінесе екі тәсіл қолданады. Біріншісі – жіберуші хост бастапқы және түменгі нүктелер жұбының алғашқы секірісінің MTU-ға тең IP пакетін жіберуі. Екіншісі – IP-фрагментациясын болдырмау үшін екі IP хост арасындағы жол MTU-ын анықтау үшін Path MTU Discovery алгоритмін іске қосу. 2020 жылдан бері IP-фрагментациясы қауіпсіздікке тигізетін әсеріне байланысты күнсіз және көбінесе қажетсіз деп есептеледі.