Pull to refresh

Comments 10

У вас в описании полей заголовка TCP, ошибка поле «Urgent pointer» это вовсе не:
Указатель важности. Число, указывающее на важность того или иного пакета.

На самом деле указатель на важные данные это смещение последнего октета важных данных относительно SEQ для пакетов с установленным флагом URG.

В жизни применяется, когда необходимо осуществить контроль потока или состояния протокола верхнего уровня со стороны передающего агента (например, если принимающий агент может косвенно сигнализировать передающему, что не справляется с потоком данных). Большинство реализаций telnet протокола используют механизм urgent data для принудительной очистки буфера полученных, но «не отображенных» данных.


спасибо за комментарий. Поправляю.
Хорошая статья. Но в самом начале Вы не конкретизировали, что произойдет, если в сети окажутся два компьютера с одинаковыми MAC-адресами.
Кто первый ответит, туда пакеты и пойдут. От опоздавшего отбросятся, поскольку их никто не ждёт уже. Или всё не так?
Я не знаю, если вопрос ко мне.
Вот тут ответ от Alexis, 11-ый по счёту, два варианта рассматриваются:
http://forum.ixbt.com/topic.cgi?id=14:19940

На другом форуме видел предположение, что можно задёргать такой работой свитч, видимо, эту таблицу САМ. Но что-то не могу сейчас найти эту тему.
Коммутатор запоминает за каким портом сидит тот или иной MAC-адрес, когда ПК с этим MAC-адресом отправляет от себя пакеты и они доходят до коммутатора. MAC-адрес всегда закрепляется только за одним портом. Поэтому, если у нас в сети два ПК имеют один и тот же MAC-адрес и при этом оба генерят трафик, коммутатор будет попеременно закреплять наш MAC-адрес то за одним портом, то за другим (так называемый MAC flapping). А значит пакеты, адресованные данному MAC-адресу, будут также попеременно приходить то на один ПК, то на второй.
Добрый вечер!
У вас получился достаточно объёмный труд. Но при этом присутствует ряд неточностей, в том числе в плане общепринятой терминологии:
3) Уровень Интернет.

Мне, кажется, более правильно использовать термин — сетевой уровень (или же межсетевой). Более того Вы сами в дальнейшем используете именно понятие «сетевой уровень», а не «уровень интернет».
4) Уровень доступа.

Link layer — это всё-таки канальный уровень.
4) Уровень доступа… У него есть физический адрес (MAC-адрес)

Это верно лишь для протокола Ethernet. При этом на канальном уровне работают и другие протоколы: ATM, Token Ring и пр. Вы же сами дальше об этом пишите.
Уровень доступа, как вы поняли, объединяет в себе физический и канальный уровень.

В модели TCP/IP канальный уровень никак не разделяется. Данное разделение есть только в OSI. Опять же, Вы сами об этом ранее пишите. Стоит изменить формулировку.
Раньше, когда использовалась топология с общей шиной и были коллизии, преамбула помогала предотвращать коллизии.

Преамбула используется для синхронизации на приёмной стороне.
Frame Check Sequence — контроль последовательности кадров

«Контроль последовательности кадров» далеко не лучший перевод для Frame Check Sequence. Там нет контроля именно последовательности кадров. Есть проверка целостности. Вы сами об этом пишите. Поэтому лучше использовать термин «проверочная последовательность кадра».
Да, действительно напутал. Сейчас исправлю.
Нет правильный перевод на русский это «контрольная сумма фрейма данных» в технологии Ethernet используется FCS32 (совершенно определенный полином), а в X.25 сетях это FCS16 (сами данные в HDLC (который делает bit stuffing в данных для улучшения характеристик более нижних уровней AMI/AMIz/HDB3 etc).
Если говорить об уровнях то в том же ethernеt может быть еще пара уровней в зависимости от конкретной технологии. Сначала манчестер или RLL а потом еще специфичные для среды модуляции. Стандарты только на Ethernet это несколько тысяч страниц IEEE фолианта формата > A4.
Согласен, «контрольная сумма» Ethernet-кадра более правильный перевод.
Sign up to leave a comment.

Articles