Расшыфроўка, фрагментацыя і паўторная зборка IP-адрасоў: брокер сеткавых пакетаў Mylinking™ ідэнтыфікуе фрагментаваныя IP-пакеты

Уводзіны

Мы ўсе ведаем прынцып класіфікацыі і прынцып некласіфікацыі IP і яго прымяненне ў сеткавай сувязі. Фрагментацыя і паўторная зборка IP з'яўляюцца ключавым механізмам у працэсе перадачы пакетаў. Калі памер пакета перавышае ліміт максімальнай адзінкі перадачы (MTU) сеткавага канала, фрагментацыя IP падзяляе пакет на некалькі меншых фрагментаў для перадачы. Гэтыя фрагменты перадаюцца незалежна па сетцы і па прыбыцці ў пункт прызначэння яны зноў збіраюцца ў поўныя пакеты з дапамогай механізму паўторнай зборкі IP. Гэты працэс фрагментацыі і паўторнай зборкі гарантуе, што пакеты вялікага памеру могуць перадавацца па сетцы, адначасова забяспечваючы цэласнасць і надзейнасць дадзеных. У гэтым раздзеле мы больш падрабязна разгледзім, як працуюць фрагментацыя і паўторная зборка IP.

Фрагментацыя і паўторная зборка IP-адраса

Розныя каналы перадачы дадзеных маюць розныя максімальныя адзінкі перадачы (MTU); напрыклад, канал перадачы дадзеных FDDI мае MTU 4352 байты, а MTU Ethernet — 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-адраса

Пры фрагментаванай перадачы страта фрагмента прывядзе да несапраўднасці ўсёй 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 (не фрагментаваць) усталяваны ў 1, маршрутызатар не зможа фрагментаваць пакет і можа толькі адкінуць яго. У гэтым выпадку маршрутызатар генеруе паведамленне пра памылку ICMP (Internet Control Message Protocol) пад назвай «Fragmentation Needed But DF Set». Гэта паведамленне пра памылку 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 якіх можа быць меншым за MTU адпраўніка, таму пакет усё роўна будзе зноў фрагментаваны на ўзроўні IP-пратакола гэтых прылад. Фрагментацыі на ўзроўні IP-пратакола варта пазбягаць па меры магчымасці, асабліва на прамежкавых прыладах у канале.


Час публікацыі: 07 жніўня 2025 г.