Протокол IP: фрагментация | Курс "Компьютерные сети"

  Рет қаралды 94,890

Andrey Sozykin

Andrey Sozykin

8 жыл бұрын

Фрагментация в протоколе IP.
Поля заголовка IP, используемые для фрагментации: идентификатор пакета, флаги (DF и MF), смещение фрагмента.
Сборка пакета из фрагментов.
Запрет фрагментации с помощью флага DF.

Пікірлер: 98
@sergeyshestakov607
@sergeyshestakov607 5 жыл бұрын
Спасибо! Работаю сетевым администратором и если есть время в конце рабочего дня смотрю ваш ролик , очень здорово и познавательно !
@AndreySozykin
@AndreySozykin 5 жыл бұрын
Пожалуйста! Рад, что нравится!
@AndreySozykin
@AndreySozykin 8 жыл бұрын
+Moral Proxy, отпуск и командировки :-) Сейчас начался учебный год и буду записывать лекции чаще. Книгу, к сожалению, не знаю. Мне нравятся книги Таненбаума и Олиферов, они очень полные и подробные. Но для понимания новичков сложны. Поэтому и стал записывать лекции, т.к. ничего похожего не смог найти для своих студентов.
@alexeydobriy2712
@alexeydobriy2712 8 жыл бұрын
вот и я не могу найти(((читаю олифера, более-менее понятно пишет, ну тогда будем смотреть Ваши труды))
@user-km5fp5sk9k
@user-km5fp5sk9k 5 жыл бұрын
Андрей, большое спасибо за лекции. Книги Олиферов и Таненбаум действительно читаются тяжело. Ваши лекции смотрю с большим удовольствием, очень нравится подача материала! Еще раз спасибо!
@sammyel4eg
@sammyel4eg 4 жыл бұрын
Andrey Sozykin, оч крутой курс по сетям жалко что ты ушел от этого направления, тема фргаментации интересна но я так понимаю не особо актуальна т.к. это очень плохо, интересна работа pmtud да не просто то что он ждет ip unreachble и меняет мту запоминая в буфере а то как от первого хоста до последнег все это происходит с ключем df без ключа df да и в целом
@ynxela
@ynxela 4 жыл бұрын
Спасибо Вам за Ваш труд!
@user-ux6qf6ws7z
@user-ux6qf6ws7z Жыл бұрын
Спасибо за видео. В одном месте оговорочка. "1480*8", а надо было сказать "1480:8", но это впечатление не портит. Материал очень хорошо разъяснен.
@user-tj3mj3si5k
@user-tj3mj3si5k 6 жыл бұрын
спасибо огромное за курс!!! намного понятнее и нагляднее, чем в учебнике!
@AndreySozykin
@AndreySozykin 6 жыл бұрын
Пожалуйста!
@nikolay_antipin
@nikolay_antipin 3 жыл бұрын
Андрей, огромное спасибо за Вашу работу! Изучал по Вашим урокам компьютерные сети, прошёл собеседование!
@kaskad212
@kaskad212 2 жыл бұрын
Легко воспринимаются Ваши ролики, спасибо за работу
@Stwl3
@Stwl3 8 жыл бұрын
Спасибо за труды!
@AndreySozykin
@AndreySozykin 8 жыл бұрын
+Сергей «gavr» Гаврилов Пожалуйста! Хорошо, что смотрите!
@RD-wd5ik
@RD-wd5ik 3 жыл бұрын
на курсах циско это занятие расписали на полтора часа, тут кратко и познавательно, спасибо, подписываюсь
@AndreySozykin
@AndreySozykin 3 жыл бұрын
Спасибо за приятный отзыв! Я рассказываю общие идеи, а в курсах Cisco все технические детали.
@Q_School
@Q_School 3 жыл бұрын
Спасибо. Qilgan bu yaxshi amallariyezni ajrini bersin
@vitalii7672
@vitalii7672 3 жыл бұрын
Добрый день. Спасибо за видео, очень полезно!
@AndreySozykin
@AndreySozykin 3 жыл бұрын
Пожалуйста!
@kseniyasakki4382
@kseniyasakki4382 3 жыл бұрын
Спасибо вам, Андрей!
@AndreySozykin
@AndreySozykin 3 жыл бұрын
Пожалуйста!
@user-jm5zb6sl4h
@user-jm5zb6sl4h 3 жыл бұрын
Благодарочка полезная информация, ты лучший)
@AndreySozykin
@AndreySozykin 3 жыл бұрын
Спасибо!
@asvitin
@asvitin 2 жыл бұрын
Спасибо большое за лекцию! Интересно, как генерируется идентификатор пакета? Может это обычный счётчик на маршрутизаторе, который инкрементируется для каждого отправленного пакета, требующего фрагментации (и который сбрасывается по достижению числа 65536)?
@user-ku5yx5gb7g
@user-ku5yx5gb7g 3 жыл бұрын
Спасибо! Очень интересно)
@AndreySozykin
@AndreySozykin 3 жыл бұрын
Пожалуйста!
@Andrzej3935
@Andrzej3935 2 жыл бұрын
Спасибо!
@user-hh9xr4uj3o
@user-hh9xr4uj3o 3 жыл бұрын
Спасибо!!!
@AndreySozykin
@AndreySozykin 3 жыл бұрын
Пожалуйста!
@user-zf9sh4mt8z
@user-zf9sh4mt8z 6 жыл бұрын
Дежавю бай Олиферы. Даже цифры с книжки)
@ilyzaboom6184
@ilyzaboom6184 6 жыл бұрын
4:21, 1480 -умножить- разделить на 8
@AndreySozykin
@AndreySozykin 6 жыл бұрын
Спасибо за уточнение!
@nonamenoname7423
@nonamenoname7423 Жыл бұрын
А почему не используется банальное нумерование пакетов при их фрагментации? Зачем нагружать маршрутизаторы лишними вычислениями путём нахождения смещения?
@serega1103cpp
@serega1103cpp 7 ай бұрын
Как тогда определить что это сегменты и какого пакета конкретно? Если нам нужно пересобрать целый пакет например, чтобы найти "вредоносную" последовательность байт в его пэйлоаде. У нас есть буфер, который пересобирает пакет, пока не перестанет встречать флаг MF. Понятно, что буфер активируется когда встречает у пакета флаг MF (признак фрагмента). И тогда он набирает фрагменты с одинаковым номером, сортирует их по смещению, потом формируется один большой пакет и мы уже ищем в его пэйлоаде последовательность байт, по которой мы хотим пакет заблокировать, не послать дальше. А как должна активироваться пересборка фрагментов, если у них отличается номер? Как определить что это фрагмент, а не пакет, чтобы мы начали улавливать остальные фрагменты для дальнейшей пересборки в один?
@serega1103cpp
@serega1103cpp 7 ай бұрын
Или проще говоря, по какому признаку я могу поймать все фрагменты одного пакета? Если это мне вдруг стало необходимо.
@atillaattila8900
@atillaattila8900 8 жыл бұрын
spasibo za viedo:)
@AndreySozykin
@AndreySozykin 8 жыл бұрын
+atilla atilla, пожалуйста!
@user-wq4cw7ej1n
@user-wq4cw7ej1n 2 жыл бұрын
Простите , может туплю но разве не получилось у нас лишнего байта в трех фрагментах ? 0-3980 == 3981? Не должно ли быть : 0 - 1479, 1480 - 2959, 2960 - 3979 ?
@ruskorn
@ruskorn 7 жыл бұрын
Андрей, спасибо. Понятно и очень интересно. Одно уточнение. На слайде "фрагментация" показана часть пакета IP без IHL, ToS, TTL, контр.суммы. При этом длина указана полная - 1500. Еще вопрос - кто и как определяет размер фрагмента (технологию канального уровня)? Хост, или первый маршрутизатор, или каждый маршрутизатор?
@AndreySozykin
@AndreySozykin 7 жыл бұрын
Каждый маршрутизатор при отправке пакета.
@sammyel4eg
@sammyel4eg 5 жыл бұрын
Ppp Kkk что такое IHL? я не понял в чем именно проблема? 1500 это же нормально и это с IP заголовком.
@user-gd6il5zb8l
@user-gd6il5zb8l 4 жыл бұрын
В длину в том числе и весь заголовок входит. Не только три поля, необходимые для фрагментации. Андрей же в самом ролике сказал: мол, представим, что весь заголовок равен 20 байтам. Часть этого заголовка - поля фрагментации, все остальные поля Андрес просто опустил, чтобы слайд не нагромождать.
@WhiteBear141981
@WhiteBear141981 5 жыл бұрын
Андрей, спасибо за лекцию! Вопрос: почему первый фрагмент начинается с 0, а не с единицы?
@AndreySozykin
@AndreySozykin 5 жыл бұрын
Потому что в ИТ всегда начинают считать с 0, а не с 1 :-)
@user-bj9hd1bc4j
@user-bj9hd1bc4j 2 жыл бұрын
Немного не понятно, если есть фрагментация на канальном уровне (когда кадр разбивается на несколько маленьких), то зачем фрагментация на сетевом? Пакет должен инкапсулироваться в кадр, а там уже фрагментироваться на кусочки. Ну и в обратном порядке из кусочков получается кадр а кадр превращается в пакет.
@artur_kia
@artur_kia 2 жыл бұрын
Спасибо
@AndreySozykin
@AndreySozykin 2 жыл бұрын
Пожалуйста!
@user-zu4ek5cd3o
@user-zu4ek5cd3o 3 жыл бұрын
Андрей, в первую очередь хочу поблагодарить вас за классный курс, спасибо большое. Во-вторых у меня есть вопрос, относительно слайда где описывается фрагментация пакета и сборка У нас был пакет 4000 байт, маршрутизатор разбивает его на 1500 + 15000 + 1040. - в сумме это 4040, а не 4000 Правильно ли я полагаю, что 1) Заголовок пакета это 20 байт, а пейлоад 3980 2) Заголовок передается в каждом фрагменте Следовательно при полной сборке пакета получается (20 + 3980) а лишние 40 байт - это два "лишних" заголовка, которые пришли со 2 и 3 фрагментом и их мы при сборке отбрасываем?
@AndreySozykin
@AndreySozykin 3 жыл бұрын
Да, именно так. Появились два фрагмента, для них нужны заголовки. Поэтому на 40 байт больше.
@user-km5nv6ww2e
@user-km5nv6ww2e 2 жыл бұрын
А мне в этом примере было непонятно почему мы говорим о пакете в 4000 байт, приводя как пример источника таких пакетов технологии FDDI/Token Ring. Но далее, говорим что 20 байт из этих 4000 это заголовок (что понятно), но заголовок IP. В этот момент мне стало непонятно что это за сеть такая с той стороны где FDDI -- IP over FDDI? Так бывает? Ведь FDDI это технология канального уровня
@ruslanruslan5583
@ruslanruslan5583 3 жыл бұрын
Супер
@AndreySozykin
@AndreySozykin 3 жыл бұрын
Спасибо!
@onamixt
@onamixt 2 жыл бұрын
5:57 имелся в виду отправитель, а не получатель?
@Km-pn3hf
@Km-pn3hf 3 жыл бұрын
спасибо
@AndreySozykin
@AndreySozykin 3 жыл бұрын
Пожалуйста!
@TrashDaddi
@TrashDaddi 4 жыл бұрын
В этом уроке, для понимания полной картины, мне не хватило пары слов о том, как решается задача предотвращения переполнения буфера при фрагментации. На сколько я понял, теоретически может быть передан пакет любого размера, в вашем примере это был пакет размером 4000 байт. Но что если пакет будет в разы больше и таких пакетов на хост будет прислано множество? Хост будет каждый из этих пакетов собирать по фрагментам в буфер, пока не получит последний фрагмент с MF=0 для каждого пакета. Возможно в этом уроке рассказывать об этом это лишнее, я бы с удовольствием посмотрел от вас урок, где рассматриваются подобные ньюансы.
@user-km5nv6ww2e
@user-km5nv6ww2e 2 жыл бұрын
Если посмотреть формат пакета IP, длину поля смещения (13 бит) то получается что в рамках формата пакета IP получится фрагментировать кусок данных (я бы не называл его пакетом) макс 64 КБ ( (2^13-1) * 8 байт на блок = 64 КБ). Есть даже ощущение что 64 КБ здесь появляются не случайно, это значение часто возникает в сетях связи.
@lukardo16
@lukardo16 8 жыл бұрын
Андрей, расскажите пожалуйста, зачем мы используем сегментацию на 4м уровне, если на 3м у нас уже реализован такой механизм фрагментации?
@AndreySozykin
@AndreySozykin 8 жыл бұрын
+Nikita Andrich, на 4 уровне TCP получает от приложения большой поток данных, который точно не поместится в 1 IP пакет. Поэтому поток данных делится на отдельные части по размеру пакета. Но размер пакета в разных сетевых технологиях может быть разным. В Ethernet размер 1500 байт, но по дороге нам может встретится другая сеть, с меньшим размером. Чтобы пройти через такую сеть, IP делает фрагментацию пакета.
@sammyel4eg
@sammyel4eg 5 жыл бұрын
И запомните фрагментация плохо но иногда необходима. но лучше резать mtu на источнике.
@sammyel4eg
@sammyel4eg 4 жыл бұрын
а еще есть значение mss которое tcp согласует когда тройное рукопожатие проходит выбирая меньшее.
@user-ip8qy6xq5s
@user-ip8qy6xq5s 4 жыл бұрын
Скажите пожалуйста, а я правильно понимаю, что заголовок IP-пакета передается каждый раз с каждым фрагментом и единственное, что будет в нём (заголовке) меняться это поле смещения?
@AndreySozykin
@AndreySozykin 4 жыл бұрын
Да, заголовок передается с каждым пакетом.
@mysonicteam7977
@mysonicteam7977 4 жыл бұрын
Если фрагменты передаются не по порядку, то что будет, если последний фрагмент, в котором флаг mf =0, придет раньше остальных фрагментов?
@AndreySozykin
@AndreySozykin 4 жыл бұрын
Маршрутизатор поймет по номерам, что есть еще фрагменты пакета, и будет их ждать.
@serega1103cpp
@serega1103cpp 7 ай бұрын
@@AndreySozykin по смещению вы имели в виду? Что нужно ждать ещё фрагменты этого пакета.
@user-bz9xm5bt8p
@user-bz9xm5bt8p 2 жыл бұрын
спасибо большое за ваш труд! подскажите пожалуйста, чем отличаются пакет, кадр и фрейм?
@AndreySozykin
@AndreySozykin 2 жыл бұрын
Пакет и кадр - это названия единицы передаваемых на разных уровнях: пакет на сетевом, а кадр на канальном. Принципиальной разницы между ними нет, только уровень сетевой модели. На английском единица передаваемых данных на канальном уровне называется frame. Официальный перевод frame на русский - кадр. Но некоторые просто пишут frame русскими буквами. Поэтому кадр и фрейм одно и то же.
@ASPushkin80lvl
@ASPushkin80lvl 5 жыл бұрын
Такой вопрос: заполняется ли поле *идентификатор пакета* если пакет не фрагментируется?
@sammyel4eg
@sammyel4eg 4 жыл бұрын
ASPushkin80lvl, да, каждый пакет имеет свой идентификатор, можете снять дамп трафика и посмотреть.
@user-sd3es7dk4r
@user-sd3es7dk4r 2 жыл бұрын
Почему в примере заголовок 20 байт, хотя в предыдущих видео в протоколе IP длина заголовка должна быть кратна 32?
@krekerstna1941
@krekerstna1941 2 жыл бұрын
Длина заголовка IP-пакета должна быть кратна 32 битам, 20байт * 8бит/байт = 160бит, а это кратно 32 битам
@user-kr3do8yf7o
@user-kr3do8yf7o 6 жыл бұрын
Приветсвую вас ! Спасибо за такую прекрасную подачу материала. У меня есть вопрос по поводу флагов фрагментации. DF - не фрагментировать - поле устанавливается в значение 0 MF - говорит о том что полученый фрагмент не последний,есть еще фрагменты. - поле устанавливается в значение 1 Я все правильно понял ? Спасибо !
@user-kr3do8yf7o
@user-kr3do8yf7o 6 жыл бұрын
Или верный второй вариант ? у нас имеется 2 бита под флаги,и каждый бит отвечает за свой флаг,то есть каждый флаг имеет два вида 0 или 1
@AndreySozykin
@AndreySozykin 6 жыл бұрын
Да, каждый бить используется независимо. DF - флаг фрагментации. 0 - можно фрагментирвать, 1 - нельзя фрагментировать. MF - флаг, который говорит о том, есть еще фрагменты, или нет. Между собой флаги не связаны (за исключением случая, когда фрагментация запрещена, флаг MF не имеет смысла).
@user-gd6il5zb8l
@user-gd6il5zb8l 4 жыл бұрын
А идут они в том же порядке, в каком вы указали? 00 = DFMF?
@krekerstna1941
@krekerstna1941 2 жыл бұрын
А что является признаком того, что все фрагменты дошли? Предположим из 5 фрагментов пришел последний, первый и второй, а остальные не пришли, как маршрутизатор это поймет?
@onamixt
@onamixt 2 жыл бұрын
Думаю, это определяется по смещениям. Если пришел первый и последний пакет, мы знаем общую длину пакета. Сравниваем ее с суммарной полученных данных, и если оба числа совпадают, значит, все данные получены
@nikonlaw
@nikonlaw 6 ай бұрын
@@onamixt я думаю, что маршрутизатору достаточно последнего фрагмента с нулем в поле. он видит значение смещения и может посчитать весь размер пакета целиком.
@alextikh4959
@alextikh4959 2 жыл бұрын
Непонятен один момент. Допустим сделали фрагментацию и отправили фрагменты по сети. Где они будут собираться? Протокол не гарантирует что промежуточные узлы будут одни и те же. Есть только конечный адрес. Значит на нем? А что если есть на различных путях другие сети, требующие другой фрагментации? Вы что-то недоговариваете, так как в одном из предыдущих роликов показывали фиксированный путь и разборку-сборку на промежуточных узлах. Впрочем ваш курс хорош и его изучение полезно и приятно. Но здесь бы хотелось большей ясности.
@nikonlaw
@nikonlaw 6 ай бұрын
между 2 маршрутизаторами может дробиться, но на принимающем все собирается в кучу перед следующем хопом. и так далее.
@sergeykurk
@sergeykurk 5 жыл бұрын
а почему из 4000 байт ip пакета фрагментируются только 3980 ? А заголовок куда девается ? Спасибо
@FeelUs
@FeelUs 5 жыл бұрын
Изначально были данные. Только данные. Вместе с IP-заголовком они не проходят по MTU и фрагментируются. (Без заголовка они тоже не проходят, но если бы проходили без заголовка а с заголовком нет, тоже пришлось бы фрагментировать.) И к каждому фрагменту присоединяется IP-заголовок.
@w1tcherj
@w1tcherj 5 жыл бұрын
@@FeelUs он не про то, есть пакет, получатель должен прочитать пакет. Мы пакет должны разрезать на кусочки, к каждому кусочки прикрепить хэдер сетевого уровня и передать. Получатель должен получить все кусочки, выкинуть заголовки и сложить пакет(заголовок+данные). Почему так не делается для автора вопрос, как, в прочем, и для меня.
@FeelUs
@FeelUs 5 жыл бұрын
​@@w1tcherj Допустим мы хотим передать пакет (TCP-данные1-данные2-данные3) Я буквами TCP или IP буду обозначать соотв. заголовки. Мы должны снабдить его IP-заголовком, и по сети пойдет (IP-TCP-данные1-данные2-данные3) Потом это придет на wi-fi модуль, и он посчитает это слишком длинным, и фрагментирует: (IP-TCP-данные1) (IP-данные2) (IP-данные3) Когда это всё придет конечному получателю, его сетевой модуль соберёт это в 1 пакет (IP-TCP-данные1-данные2-данные3) , отбросит IP-заголовок и получателю передаст (TCP-данные1-данные2-данные3)
@sammyel4eg
@sammyel4eg 5 жыл бұрын
Че то я не че у вас не понял. инкапсуляция и деинкапсуляция почитайте.
@AJIagguH
@AJIagguH 3 жыл бұрын
Когда может понадобиться флаг DF (don't fragmentation)?
@AndreySozykin
@AndreySozykin 3 жыл бұрын
Если по каким-то причинам фрагментирован пакет нельзя.
@user-ec1tw4nk2p
@user-ec1tw4nk2p 4 жыл бұрын
+
@PROswimming
@PROswimming 2 жыл бұрын
4:20 деленное на 8¡¡¡
@catshannon5064
@catshannon5064 8 жыл бұрын
подскажите от куда взялось 185 как смещение пакета
@AndreySozykin
@AndreySozykin 8 жыл бұрын
+Vlad Stetsenko смещение измеряется в блоках по 8 байт. Если второй фрагмет содержит байты с 1480 по 2959, то делим 1480 на 8 и получаем 185.
@FeelUs
@FeelUs 5 жыл бұрын
А для чего может понадобиться запретить фрагментацию?
@sammyel4eg
@sammyel4eg 5 жыл бұрын
Филя Усков, фрагментация пакета очень плохо, это лишний оверхед + нагрузка на цп устройства, в IPv6 фрагментация существует как доп опция а функцию PMTUD реализована за счет ICMP и создание нового сообщения источником данных а не промежуточным устройством.
@viktorbesleaga856
@viktorbesleaga856 8 жыл бұрын
sto mne delati u menea wifi ne rabotaet kak zdelati most u menea rooter d link dir 615
@AndreySozykin
@AndreySozykin 8 жыл бұрын
+viktor besleaga к сожалению, я не занимаюсь консультациями по настройке сети. Инструкции по настройке d-link dir 615 в режиме моста можно посмотреть в руководстве, например, здесь: help.netbynet.ru/domashnij-internet/nastrojka-routerov/manual-po-nastrojke-routera-d-link-dir-615/
@antongrigoryan6023
@antongrigoryan6023 5 ай бұрын
Насколько же это мучительно и скучно
How many pencils can hold me up?
00:40
A4
Рет қаралды 17 МЛН
1❤️
00:20
すしらーめん《りく》
Рет қаралды 32 МЛН
ХОТЯ БЫ КИНОДА 2 - официальный фильм
1:35:34
ХОТЯ БЫ В КИНО
Рет қаралды 2,4 МЛН
Что такое TCP/IP: Объясняем на пальцах
15:38
IP-адреса | Курс "Компьютерные сети"
13:16
Andrey Sozykin
Рет қаралды 370 М.
TCP/IP: что это и зачем нужно
1:35:59
Hillel IT School
Рет қаралды 581 М.
wb075 Технология Ethernet
19:58
abglazov
Рет қаралды 6 М.
Ethernet на пальцах
5:21
Merion Academy
Рет қаралды 400 М.
How much charging is in your phone right now? 📱➡️ 🔋VS 🪫
0:11
Куда пропал 3D Touch? #apple #iphone
0:51
Не шарю!
Рет қаралды 595 М.
С Какой Высоты Разобьётся NOKIA3310 ?!😳
0:43