Заглавие на IP пакета: формат, полета

⚡ Умно обобщение

IP заглавката са метаданните, поставени в началото на всеки IP пакет, съдържащи полета като версия, дължина на заглавката, обща дължина, време за живот, протокол, контролна сума и адресите на източника и получателя, които рутерите четат, за да доставят данни.

  • 🧭 Основание: IP заглавката съхранява подробности за маршрутизация и доставка, така че всеки пакет да достигне правилната дестинация в мрежите.
  • 📏 Размер: Дължината на IPv4 заглавката е от 20 до 60 байта и се контролира от полето „Дължина на интернет заглавката“.
  • 🧱 Ключови полета: Основните полета включват версия, IHL, тип услуга, обща дължина, TTL, протокол, контролна сума и адреси.
  • 🔀 Раздробяване: Идентификацията, флаговете и отместването на фрагмента позволяват на големите дейтаграми да се разделят и сглобяват правилно.
  • 🆚 IPv4 срещу IPv6: IPv6 замества променливия заглавен файл с фиксиран 40-байтов заглавен файл и премахва полето за контролна сума.
  • 🤖 AI помощ: Анализаторите на пакети с изкуствен интелект анализират автоматично IP заглавките, за да сигнализират за аномалии и да ускорят отстраняването на неизправности.

Формат и полета на заглавката на IP пакета

Какво е IP хедър?

IP заглавката е мета информация в началото на IP пакет. Тя показва информация като IP версията, дължината на пакета, източника и местоназначението.

Форматът на IPv4 заглавката е с дължина от 20 до 60 байта и съдържа информацията, необходима за маршрутизиране и доставка. Състои се от полета като Версия, Дължина на заглавката, Обща дължина, Идентификация, Флагове, Контролна сума, IP адрес на източника и IP адрес на получателя. Заедно тези полета предоставят основните данни, необходими за... transmit надеждно прехвърляне на пакета от един хост към друг.

IPv4 компоненти/полета на заглавката

Диаграмата по-долу показва пълния формат на IPv4 заглавката, като всяко поле е начертано на правилната си позиция и битова ширина:

Диаграма на формата на заглавката на IPv4 пакета, показваща всички полета и техните битови позиции

Следват различните компоненти/полета на заглавката на IP пакета:

  • Версия: Първото поле на IP заглавката е 4-битов индикатор за версията. В IPv4 стойността на тези четири бита е зададена на 0100, което показва 4 в двоичен код. Ако рутерът не поддържа посочената версия, пакетът се отхвърля.
  • Дължина на заглавката в Интернет: Дължината на интернет заглавката, известна накратко като IHL, е с размер 4 бита. Нарича се още HELEN (Header Length - дължина на заглавката). Този IP компонент показва колко 32-битови думи присъстват в заглавката.
  • Тип услуга: Видът услуга се нарича още диференцирани услуги Code Точка или DSCP. Това поле предоставя функции, свързани с качеството на услугата за стрийминг на данни или VoIP разговори. Първите 3 бита са приоритетните битове. То също така определя как трябва да се обработва дейтаграма.
  • Обща дължина: Общата дължина се измерва в байтове. Минималният размер на IP дейтаграма е 20 байта, а максималният е 65 535 байта. HELEN и Total Length могат да се използват за изчисляване на размера на полезния товар. Всички хостове са длъжни да могат да четат дейтаграми с дължина 576 байта. Ако обаче една дейтаграма е твърде голяма за хостовете в мрежата, методът на фрагментация се използва широко.
  • Идентификация: Идентификацията е поле, използвано за уникално идентифициране на фрагментите от IP дейтаграма. Някои препоръчват използването на това поле за други цели, като например добавяне на информация за пакети. tracING.
  • IP флагове: „Флагове“ е трибитово поле, което ви помага да контролирате и идентифицирате фрагменти. Възможните конфигурации са: Бит 0 е резервиран и трябва да бъде зададен на нула; Бит 1 означава да не се фрагментира; и Бит 2 означава повече фрагменти.
  • Отместване на фрагмента: Отместването на фрагмента представлява броя на байтовете данни преди даден фрагмент в специфичната дейтаграма. То се задава в единици от 8 байта и има максимална стойност от 65 528 байта.
  • Време за живот: Това е 8-битово поле, което показва максималното време, през което дейтаграмата може да съществува в интернет системата. Всеки път, когато дейтаграма се обработва, нейната TTL стойност се намалява с едно. Когато стойността на TTL достигне нула, дейтаграмата се изхвърля, така че пакетите да не се доставят безкрайно. Стойността на TTL може да варира от 0 до 255.
  • протокол: Това поле на IPv4 заглавката обозначава кой интернет протокол се пренася в последната част на дейтаграмата. Например, числото 6 се използва за обозначаване на TCP, а 17 се използва за обозначаване на UDP протокола.
  • Контролна сума на заглавието: Следващият компонент е 16-битово поле за контролна сума на заглавката, което се използва за проверка на заглавката за евентуални грешки. IP заглавката се сравнява със стойността на нейната контролна сума. Когато контролната сума на заглавката не съвпада, пакетът се отхвърля.
  • Адрес на източника: Адресът на източника е 32-битов адрес на източника, използван за IPv4 пакета.
  • Адрес на дестинацията: Адресът на местоназначението също е с размер 32 бита и съхранява адреса на получателя.
  • IP опции: Това е незадължително поле в IPv4 заглавката, използвано, когато стойността на IHL (Internet Header Length) е зададена по-голяма от 5. То съдържа стойности и настройки, свързани със сигурността, маршрута на записа, времевия печат и подобни опции. Списъкът с опции обикновено завършва с маркер „Край на списъка с опции“ (EOL).
  • Данни: Това поле съхранява данните от протоколния слой, който ги е предал на IP слоя.

Как да изчислим дължината на IPv4 заглавката

Полето „Дължина на интернет заглавката“ (IHL) указва на рутера точно колко е дълга заглавката, така че той да знае къде свършва тя и къде започват данните. Тъй като полето е само 4 бита, то не съхранява дължината директно в байтове. Вместо това, то брои заглавката в 32-битови думи, където всяка дума е равна на 4 байта.

За да преобразувате стойността на IHL в байтове, умножете я по 4:

  • минимум: Най-малката допустима стойност по IHL е 5, така че 5 × 4 = 20 байта. Това е заглавка без опции.
  • Максимална: Най-голямата стойност по IHL е 15, така че 15 × 4 = 60 байта. Допълнителните 40 байта съдържат незадължителни полета.

Да разгледаме работен пример. Ако пакет пристигне със стойност на IHL 6, дължината на заглавката е 6 × 4 = 24 байта, което означава, че след стандартната 20-байтова заглавка има 4 байта с опции. За да намерите размера на полезния товар, подчиняваме се наtracдължината на заглавката от полето „Обща дължина“. Ако „Обща дължина“ е 1,500 байта, а заглавката е 24 байта, тогава полезният товар е 1,500 − 24 = 1,476 байта.

Това изчисление е важно по време на фрагментация, защото рутерът трябва да знае размера на заглавната част, за да изчисли колко данни може да носи всеки фрагмент, без да превишава максималния капацитет на мрежата. Transmission Единица (MTU).

IPv4 срещу IPv6 заглавка

Заглавката на IPv6 беше преработена, за да бъде по-лесна и по-бърза за обработка от заглавката на IPv4. Тя използва фиксирана дължина и премества рядко използваните опции в отделни разширени заглавки, така че рутерите да могат да препращат пакети със скорост на линията. Таблицата по-долу сравнява двете заглавки поле по поле:

Особеност IPv4 заглавка IPv6 заглавка
Размер на заглавката 20 до 60 байта (променлива) 40 байта (фиксирани)
Брой полета 13 полета плюс опции 8 полета
Дължина на адреса 32-битов източник и дестинация 128-битов източник и дестинация
Контролна сума на заглавката Представяне отстранен
Полета за фрагментация В основния заглавен файл (Идентификация, Флагове, Отместване) Преместено в заглавката на разширение за фрагмент
Настроики Носено вътре в заглавката Носено в разширителни конектори
Поле за дължина Обща дължина (заглавка плюс данни) Дължина на полезния товар (само полезният товар)

Тъй като IPv6 премахва контролната сума и опциите с променлива дължина, заглавката му съдържа по-малко полета и може да се обработва хардуерно без преизчисляване на всеки хоп.

Защо IP заглавката е важна

Всяко поле в IP заглавката съществува, за да могат рутерите и хостовете да преместват пакети през много мрежи без постоянна връзка между тях. Заглавката е това, което прави комутацията на пакети да работи.

  • Routing: Адресът на местоназначението указва на всеки рутер къде да препрати пакета, докато адресът на източника позволява връщането на отговори и съобщения за грешки.
  • Предотвратяване на цикли: Полето „Време за живот“ (Time to Live) се намалява при всеки хоп, така че погрешно насочен пакет се изхвърля, вместо да обикаля интернет завинаги.
  • Доставка по правилния протокол: Полето „Протокол“ указва на приемащия хост дали да предаде полезния товар на TCP, UDP или друг протокол.
  • Integrity и повторно сглобяване: Контролната сума предпазва заглавката от повреда, а полетата Identification, Flags и Fragment Offset позволяват фрагментирана дейтаграма да бъде преизградена в правилния ред.

За мрежовите инженери, четенето на тези полета в TCP / IP Заснемането често е най-бързият начин за диагностициране на изгубени пакети, цикли на маршрутизиране и неправилно конфигурирани IP адреси.

Въпроси и Отговори

Дължината на заглавката (IHL) измерва само заглавката, в 32-битови думи, и варира от 20 до 60 байта. Общата дължина измерва цялата дейтаграма - заглавката плюс данните - в байтове, до 65 535.tracРазделянето на едното от другото дава размера на полезния товар.

Фрагментацията разделя дейтаграма, която е по-голяма от максимума на връзката. Transmission Разделяне на по-малки части. Полетата „Идентификация“, „Флагове“ и „Отместване на фрагмента“ позволяват на дестинацията да сглоби отново частите по ред. Това се случва винаги, когато пакет трябва да премине през мрежа с по-малък MTU.

IPv4 заглавката има 13 фиксирани полета – Версия, IHL, Тип услуга, Обща дължина, Идентификация, Флагове, Отместване на фрагмента, TTL, Протокол, Контролна сума, Адрес на източника, Адрес на местоназначение, плюс незадължително поле „Опции“. Следващата секция „Данни“ е полезният товар, а не поле на заглавката.

Не. Контролната сума на IPv4 заглавката обхваща само полетата на заглавката, а не полезния товар. Протоколите от по-горен слой, като TCP и UDP, носят свои собствени контролни суми за защита на данните. Тъй като TTL се променя при всеки хоп, рутерите преизчисляват контролната сума на заглавката при всяко пренасочване.

Когато TTL достигне нула, рутерът отхвърля пакета и връща ICMP съобщение „Превишено време“ на източника. Това предотвратява прехвърлянето на пакети.ping завинаги в цикъл на маршрутизиране. traceroute Инструментът разчита на това поведение, за да картографира всеки скок по пътя.

Полето „Протокол“ определя кой протокол от по-горен слой трябва да получи полезния товар в местоназначението. Често срещани стойности са 6 за TCP, 17 за UDP и 1 за ICMP. Приемащият хост чете това число, за да предаде данните на правилния обработчик.

Инструментите с изкуствен интелект и машинно обучение анализират заснетите IP заглавки, за да открият аномалии като фалшиви адреси на източници, анормални TTL стойности или атаки, свързани с фрагментация. Те класифицират трафика и маркират заплахи по-бързо от ръчната проверка, въпреки че инженерът все пак потвърждава констатациите, преди да действа.

Копилот на GitHub може да изготви чернова Python или C код, който разопакова полетата на IP заглавката, декодира флагове и валидира контролни суми от кратък коментар. RevРазгледайте внимателно генерираната логика за маскиране на битове, тъй като отместванията, отклонени с едно, са често срещан източник на грешки при парсинга.

Обобщете тази публикация с: