Тема Фрагментиране на дейтаграма в композитни мрежи с различни MTU
Цел: Да се изследват процесите на маршрутизиране и фрагментиране на дейтаграми по време на предаване на съобщения в мрежа
10100000.01010001.00000101.10000011 = 160.81.5.131.
224.0.0.1 - към всички хостове в тази мрежа;
224.0.0.2 - към всички рутери на тази мрежа;
224.0.0.5 - всичкиOSPFрутери;

В клас A се разграничават две специални мрежи, чиито номера са 0 и 127. Мрежа 0 се използва при маршрутизиране като индикация на маршрута по подразбиране и в други специални случаи.
- на позиции, съответстващи на номера на мрежата, се задават битовете;
- на позиции, съответстващи на номера на хоста, битовете се изчистват.
Пример:IP= 205.37.193.134/26 или, еквивалентно,
IP= 205.37.193.134мрежова маска= 255.255.255.192.
Нека го запишем в двоична форма:
IP= 11001101 00100101 11000111 10000110
мрежова маска= 11111111 11111111 11111111 11000000
Умножавайки бит по бит, получаваме номера на мрежата (в хост частта - нули):
мрежа= 11001101 00100101 11000111 11000000
или, в октетна нотация, 205.37.193.128/26, или, еквивалентно, 205.37.193.128мрежова маска255.255.255.192.
Очевидно мрежите от класове A, B, C в безкласовия модел са представени с помощта на маски, съответно 255.0.0.0 (или /8), 255.255.0.0 (или /16) и 255.255.255.0 (или /24).
Маршрутизация в композитни мрежи
Маршрутизирането на дейтаграмите се извършва на ниво протоколIP.
Маршрутизирането се извършва въз основа на данните, съдържащи се в таблицата за маршрутизиране. Един ред в таблицата с маршрути се състои от следните полета:
Таблицата може да се компилира ръчно или с помощта на специализирани протоколи.Всеки възел в мрежата, включително хостът, има таблица за маршрутизиране, поне най-простата.
Пример за свързване на локална мрежа на организация към Интернет

Стойности на флага:U (Нагоре)- маршрутът работи;H (Хост)- дестинацията е отделен възел (хост), а не мрежа;G (Gateway)- маршрутът до целевата мрежа минава през един или повече междинни рутери. Интерфейсle0означаваEthernet, lo0- обратен интерфейс(loopback).
Имайте предвид, че мрежовите маски са пропуснати от тази таблица за простота.
Пример за таблица с маршрути на рутер, свързващ локалната мрежа с доставчика чрез специален канал (G1на фигура 6.2):
Създаване на статични маршрути
Таблицата с маршрути може да бъде попълнена по различни начини. Статичното маршрутизиране се използва, когато използваните маршрути не могат да се променят с времето, например за хоста и рутера, обсъдени по-горе, където просто няма алтернативни маршрути. Статичните маршрути се конфигурират от администратора на мрежата или конкретен хост.
В случай на комбиниране на мрежи със сложна топология, когато има няколко опции за маршрути от един възел към друг и (или) когато състоянието на мрежите (топология, качество на комуникационните канали) се променя с течение на времето, таблиците с маршрути се съставят динамично, като се използват различни протоколи за маршрутизиране. Трябва да се подчертае, че протоколите за маршрутизиране всъщност не маршрутизират дейтаграми - това така или иначе се прави отIPмодула според записите в таблицата за маршрутизиране, както беше обсъдено по-горе. Протоколите за маршрутизиране, базирани на определени алгоритми, динамично редактират таблицата за маршрутизиране, тоест правят и изтриват записи, когатотази част от записите все още може да бъде статично въведена от администратора.
В зависимост от алгоритъма на работа имапротоколи за вектор на разстояниетои протоколипротоколи за състояние на връзката.
По обхват има разделение на протоколи завъншно (външно)ивътрешно (вътрешно)маршрутизиране.
Протоколите за вектор на разстояниетореализират алгоритъма на Белман-Форд(Bellman-Ford).Общата схема на тяхната работа е следната: всеки рутер периодично излъчва информация за разстоянието от себе си до всички познати му мрежи ("вектор на разстоянието"). В началния момент, разбира се, се изпраща информация само за онези мрежи, към които рутерът е пряко свързан.
Също така, всеки рутер, след като е получил вектор за разстояние от някого, в съответствие с получената информация, коригира данните за достъпност на мрежата, които вече има, или добавя нови, като посочва рутера, от който е получен векторът, катоследващ рутерпо пътя към тези мрежи. След известно време алгоритъмът се събира и всички рутери имат информация за маршрутите до всички мрежи.
Когатопротоколите за състояние на връзкатаработят, всеки рутер следи състоянието на своите връзки със съседите и когато състоянието се промени (например, когато връзката е прекъсната), той изпраща съобщение за излъчване, след което всички други рутери коригират своите бази данни и преизчисляват маршрутите. За разлика от протоколите за вектор на разстоянието, протоколите за състояние на връзката създават база данни на всеки рутер, която описва пълната мрежова графика и позволява локално и следователно бързо изчисляване на маршрута.
Общ протокол от този тип,OSPF, се основава на алгоритъмаSPF (първо най-краткият път)за намиране на най-краткия път в графика, предложен от Дейкстра(Dijkstra).
Протоколите за състояние на връзката са много по-сложни от протоколите за вектор на разстоянието, но осигуряват по-бързо, оптимално и правилно изчисляване на маршрута.
Обхватът на един или друг вътрешен протокол за маршрутизиране може да не обхваща цялата автономна система, а само някои взаимовръзки на мрежи, които са част от автономната система. Ще наречем такава асоциациясистема от мрежиили простосистема, понякога с указание за протокола за маршрутизиране, работещ в тази система, например:RIP-система,OSPF-система.
IP-формат на заглавката на дейтаграмата
IPдейтаграмата се състои от заглавка и данни. Заглавката на дейтаграмата се състои от 32-битови думи и има променлива дължина в зависимост от размера на полето“Опции”,, но винаги кратна на 32 бита. Заглавието е непосредствено последвано от данните, пренасяни в дейтаграмата.
Стойности на полето за заглавка
Ver (4 бита) - версия на протоколаIP, в момента се използва версия 4, новите разработки имат номера на версия 6-8.
IHL (Internet Header Length) (4 бита) - дължина на заглавката в 32-битови думи; валидните стойности варират от 5 (минимална дължина на заглавието, без поле“Опции”) до 15 (т.е. може да има максимум 40 байта опции).
TOS (Type Of Service) (8 бита) - стойността на полето определя приоритета на дейтаграмата и желания тип маршрутизация.
TOS байтова структура
Най-младшите три бита(„Предишство“)определят приоритета на дейтаграмата:
111 - управление на мрежата,
110 - контрол на шлюза,
100 - повече от моментално,
БитовеD,T,R,Cдефинират желания тип маршрут:
D (Закъснение)- избор на маршрут с минимално закъснение,
T (Throughput)- избор на маршрут с максимална пропускателна способност,
R (Надеждност)- избор на маршрут с максимална надеждност,
C (Cost)- избор на маршрут с минимална цена.
Само един отD,T,R,C битовете може да бъде зададен в дейтаграма.Старшият бит на байта не се използва.
Действителното отчитане на приоритетите и избора на маршрут в съответствие със стойността на байтаTOSзависи от рутера, неговия софтуер и настройки. Рутер МОЖЕ да поддържа изчисляване на маршрута за всички типовеTOS, за част или да игнорираTOSнапълно. Рутерът може да вземе предвид стойността на приоритета, когато обработва всички дейтаграми или когато обработва дейтаграми, произхождащи само от някакъв ограничен набор от хостове, или изобщо да игнорира приоритета.
Обща дължина (16 бита) - дължината на цялата дейтаграма в октети, включително заглавката и данните, максималната стойност е 65535, минималната е 21 (заглавка без опции и един октет в полето за данни).
ID (Идентификация) (16 бита),Флагове (3 бита),Отместване на фрагмент (13 бита) се използват за фрагментиране и повторно сглобяване на дейтаграми и ще бъдат обсъдени по-подробно по-долу.
TTL (Time To Live) (8 бита) - дейтаграма „време за живот“. Задава се от подателя, измерва се в секунди. Всеки рутер, през който минава дейтаграмата, пренаписва стойносттаTTL, след като извади от нея времето, изразходвано за обработка на дейтаграмата. Тъй като скоростта на обработка на данни на рутери в момента е висока, обикновено се изразходва по-малко за една дейтаграма.секунди, така че практически всеки рутер изважда една отTTL. Когато се достигне стойносттаTTL=0, дейтаграмата се унищожава и съответнотоICMP-съобщение може да бъде изпратено до подателя. КонтролътTTLпредотвратява цикличното завъртане на дейтаграмата из мрежата.
Протокол (8 бита) - дефинира програмата (протокол нагоре по веригата на стека), към която трябва да се прехвърлят данните от дейтаграмата за по-нататъшна обработка.
Header Checksum (16 бита) - контролната сума на заглавието е 16 бита, допълващи битовете в сумата на всички 16-битови думи на заглавието. Преди да се изчисли контролната сума, стойността на полето“Header Checksum”се настройва на нула. Тъй като рутерите променят стойностите на някои полета на заглавката, когато обработват дейтаграма (поне полетата“TTL”), контролната сума се преизчислява от всеки рутер. Ако проверката на контролната сума е неуспешна, дейтаграмата се отхвърля.
Опции - опции, поле с променлива дължина. Вариантите могат да бъдат един, няколко или нито един. Опциите определят допълнителните услуги на модулаIPза обработка на дейтаграмата, в чийто хедър са включени.
Padding - подравняване на заглавката на границата на 32-битова дума, ако списъкът с опции заема нецяло число от 32-битови думи. Полето“Padding”се попълва с нули.
Различните медии за предаване имат различен максимален размер на предаваната единица данни(MTU - Media Transmission Unit), този брой зависи от характеристиките на скоростта на средата и вероятността от грешка по време на предаване. Например,MTUот 10 MbpsEthernetе 1536 октета, 100 MbpsFDDIе 4096 октета.
Когато предавате дейтаграма от среда с по-голямоMTUкъм среда с по-малкоMTU,трябва да фрагментирате дейтаграмата. Фрагментирането и повторното сглобяване на дейтаграми се управлява от модула на протоколаIP. За това се използват полетата“ID” (Идентификация), “Flags”и“Fragment Offset”на заглавката на дейтаграмата.
Флагове - полето се състои от 3 бита, най-малко значимият от които винаги се нулира: