Редактирование: UNИX, осень 2008, 04 лекция (от 22 октября)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

ПРЕДУПРЕЖДЕНИЕ: Длина этой страницы составляет 42 килобайт. Страницы, размер которых приближается к 32 КБ или превышает это значение, могут неверно отображаться в некоторых браузерах. Пожалуйста, рассмотрите вариант разбиения страницы на меньшие части.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 15: Строка 15:
=== Данные - пакеты ===
=== Данные - пакеты ===
-
С чего начать? С дисциплины, с того, каким образом данные передаваемые в Ethernet. Передаются они в виде пакетов (фреймов). (долька колбасы с бутербродом) С точки зрения дисциплины всё более-менее понятно: мы должны данные нарезать на куски и по кусочку в СПД скармливать. Видимо, придётся вспомнить token ring, для того, как такая дисциплина может быть реализована. Мы можем сделать как: Если у нас топология в виде кольца, то можно было бы принять следующее решение: у нас есть пропускная способность сети, её можно изобразить в виде паровозика с вагончиками, которые ходят по кругу. И дисциплина тогда такая: ждём, пока паровозик до наc доедет, смотрит, есть ли свободный вагон, кладёт туда данные с надписью "на деревню дедушке", и далее когда паровоз до него доходит, он проверяет данные и забирает их себе. Если перевести это на более прибл. к реальности язык, то по кругу ходит маркер, и за ним идут данные. Чем эта архитектура хороша? У нас есть гарантированное время, за которое один паровоз довозит пакет до другого. Время доставки пакета, если не учитывать порчу по ходу, гарантировано. Это всё хорошо, но тут есть один недостаток: пропускная способность такого железнодорожного упражнения очень низкая. Кроме того, она надёжна настолько, насколько надёжны её узлы.
+
С чего начать? С дисциплины, с того, каким образом данные передаваемые в Ethernet. Передаются они в виде пакетов (фреймов). (долька колбасы с бутербродом) С точки зрения дисциплины всё более-менее понятно: мы должны данные нарезать на куски и по кусочку в СПД скармливать. Видимо, придётся вспомнить token ring, для того, как такая дисциплина может быть реализована. Мы можем сделать как: Если у нас топология в виде кольца, то можно было бы принять следующее решение: у нас есть пропускная способность сети, её можно изобразить в виде паровозика с вагончиками, которые ходят по кругу. И дисциплина тогда такая: ждём, пока паровозик до на доедет, смотрит, есть ли свободный вагон, кладёт туда данные с надписью "на деревню дедушке", и далее когда паровоз до него доходит, он проверяет данные и забирает их себе. Если перевести это на более прибл. к реальности язык, то по кругу ходит маркер, и за ним идут данные. Чем эта архитектура хороша? У нас есть гарантированное время, за которое один паровоз довозит пакет до другого. Время доставки пакета, если не учитывать порчу по ходу, гарантировано. Это всё хорошо, но тут есть один недостаток: пропускная способность такого железнодорожного упражнения очень низкая. Кроме того, она надёжна настолько, насколько надёжны её узлы.
Лектор просит заметить, что тут мы имеем дело в единой СПД.
Лектор просит заметить, что тут мы имеем дело в единой СПД.
=== Идентификация. MAC ===
=== Идентификация. MAC ===
-
Что же касается Ethernet, тут все по-другому. Если узел хочет передавать данные, то он их передаёт. Чуть выше есть уровень MAC комплект протоколов, которые контролируют передачу данных в СПД. Мы её запомним как MAC-адрес, который решает проблему идентификации. MAC-адрес состоит из 6 октетов, и первые несколько (3) соответствуют производителю, последние три — аппаратный номер устройства. Тем самым производитель карт соблюдает один очень простой закон: любая карта имеет уникальный MAC-адрес. Когда лектор работал в сетевой компьютерной помощи, был случай, когда клиентом были закуплены карты с одинаковыми маками. Мы взяли и одним махом решили проблему идентификации устройств.
+
Что же касается Ethernet, тут все по-другому. Если узел хочет передавать данные, то он их передаёт. Чуть выше есть уровень MAC комплект протоколов, которые контролируют передачу данных в СПД. Мы её запомним как MAC-адрес, который решает проблему идентификации. MAC-адрес состоит из 6 котетов, и первые несколько (3) соответствуют производителю, последние три — аппаратный номер устройства. Тем самым производитель карт соблюдает один очень простой закон: любая карта имеет уникальный MAC-адрес. Когда лектор работал в сетевой компьютерной помощи, был случай, когда клиентом были закуплены карты с одинаковыми маками. Мы взяли и одним махом решили проблему идентификации устройств.
-
Помимо того, что MAC-адрес отвечает конкретному устройству в сети, есть ещё широковещательный MAC-адрес, который состоит из 48 единиц и предназначен всем устройствам сети. Это адрес, посылая по которому eth-фрейм мы можем рассчитываем, что его получат и обработают все машины в СПД. Бывают ситуации, когда MAC-адрес адресата неизвестен, и нам нужно MAC-адрес выяснить, или у нас широковещание происходит. Во всех этих случаях, если польз. езернетом, посыл. широк. запрос. Если же польз. TCP/IP поверх этого, то оно исп. разве что для ARP и DHCP/BOOTP. Мы говорили, что если бы интернет базировался на одной СПД, то тут всё уже есть. И в сетях базир. на лок. сетях, очень часто исп. широковещание.
+
Помимо того, что MAC-адрес отвечает конкретному устройству в сети, есть ещё широковещательный MAC-адрес, который состоит из 48 единиц и предназначен всем устройствам сети. Это адрес, посылая по которому eth-фрейм мы можем рассчитываем, что его получат и обработают все мащшны в СПД. Бывают ситуации, когда MAC-адрес адресата неизвестен, и нам нужно MAC-адрес выяснить, или у нас широковещание происходит. Во всех этих случаях, если польз. езернетом, посыл. широк. запрос. Если же польз. TCP/IP поверх этого, то оно исп. разве что для ARP и DHCP/BOOTP. Мы говорили, что если бы интернет базировался на одной СПД, то тут всё уже есть. И в сетях базир. на лок. сетях, очень часто исп. широковещание.
Пакет уровня интерфейса помимо различных служебных полей имеет два обязательных поля: MAC отправителя и получателя. В случае, если MAC получателя известен, то там будет стоят его MAC. Сетевые карты устроены так, что они могут отбрасывать те пакеты, которые содержат чужие адреса получателя. В какой-то момент, стало понятно, что это не всегда удобно, и появились карты, которые умеют фильтровать, а умеют и не фильтровать (promiscuous mode). Если наша задача — разглядеть все данные в сети, то сетевая карта способна рассказать компьютеру о том, какие пакеты ходят все. Зачем это бывает нужно: в отладочных целях и подглядывать чужие пароли. И уж если у нас есть карточка, просмотрим все пакеты в сети, то мы можем посмотреть все пароли и обогатимся. Есть утилита '''tcpdump''', она нужна для первого. Более интересно смотреть на выдачу '''tcpdump''', когда идёт обмен TCP/IP, но и про Ethernet там есть.
Пакет уровня интерфейса помимо различных служебных полей имеет два обязательных поля: MAC отправителя и получателя. В случае, если MAC получателя известен, то там будет стоят его MAC. Сетевые карты устроены так, что они могут отбрасывать те пакеты, которые содержат чужие адреса получателя. В какой-то момент, стало понятно, что это не всегда удобно, и появились карты, которые умеют фильтровать, а умеют и не фильтровать (promiscuous mode). Если наша задача — разглядеть все данные в сети, то сетевая карта способна рассказать компьютеру о том, какие пакеты ходят все. Зачем это бывает нужно: в отладочных целях и подглядывать чужие пароли. И уж если у нас есть карточка, просмотрим все пакеты в сети, то мы можем посмотреть все пароли и обогатимся. Есть утилита '''tcpdump''', она нужна для первого. Более интересно смотреть на выдачу '''tcpdump''', когда идёт обмен TCP/IP, но и про Ethernet там есть.
Строка 31: Строка 31:
=== Коллизии ===
=== Коллизии ===
-
Замечательно, в начале мы описали способ организации кольца, когда есть маркер. А если маркера нет? Что делать в этом случае? Вырабатывая некую дисциплину доступа, которая в случае eth заключается в следующем: СПД Ethernet должна поддерживать определение занятости: карта должна уметь определять, идут данные по сети или нет (определение занятости, carrier sense). Это самое "оно смотрит" должно иметь поддержку именно на аппаратном уровне. Для нас важно, что это определение занятости проходит.
+
Замечательно, в начале мы описали способ организации кольца, когда есть маркер. А если маркера нет? Что делать в этом случае? Вырабатывая некую дисциплину доступа, которая в случа eth заключается в следующем: СПД Ethernet должна поддерживать определение занятости: карта должна уметь определять, идут данные по сети или нет (определение занятости, carrier sense). Это самое "оно смотрит" должно иметь поддержку именно на аппаратном уровне. Для нас важно, что это определение занятости проходит.
Тут есть два пути:
Тут есть два пути:
Строка 45: Строка 45:
Дело даже не в том, какой алгоритм обработки ситуаций занятости и конфликтов, дело в том, что производительность такого рода СПД при загрузке по времени 20 процентов, то это загруженная сеть и выше поднимать загрузку бесполезно.
Дело даже не в том, какой алгоритм обработки ситуаций занятости и конфликтов, дело в том, что производительность такого рода СПД при загрузке по времени 20 процентов, то это загруженная сеть и выше поднимать загрузку бесполезно.
-
Все видят единую СПД, если Ethernet коаксиальный. Если длины кабеля не хватало, то ставили репитер. Но при этом абонентам одного сегмента совершенно необязательно видеть пакеты, идущие от одной машины к машине другого сегмента. В случае же постановки ретранслятора точно встаёт такой вопрос. По двум причинам:
+
Все видят единую СПД, если езернет коаксиальный. Если длины кабеля не хватало, то ставили репитер. Но при этом абонентам одного сегмента совершенно необязательно видеть пакеты, идущие от одной машины к машине другого сегмента. В случае же постановки ретранслятора точно встаёт такой вопрос. По двум причинам:
* Это администратор
* Это администратор
* Это злоумышленник
* Это злоумышленник
Строка 52: Строка 52:
Что касается устройства под названием свич.
Что касается устройства под названием свич.
-
Как сделать так, на основе чего принять решение, что на определенном соске находится абонент, и ему не нужно видеть фрейм, идущих от одной ноды к другой. Очевидно, такое устройство составляет карту мак-адресов. MAC-адреса берутся потому, что в каждом фрейме есть адрес отправителя. И свич занимается поддержкой таблиц. Дальше картина ясна:
+
Как сделать так, на основе чего принять решение, что на определенном соске находится абонент, и ему не нужно видеть фрейм, идущих от одной ноды к другой. Очевидно, такое устройство составляет карту мак-адресов. Мак-адреса берутся потому, что в каждом фрейме есть адрес отправителя. И свич. занимается поддержкой таблиц. Дальше картина ясна: если широковещательный фрейм, то он идёт во все порты, если он предназначен известному адресату, то он транслируется в нужный порт, если неизвестен адрес, то во все, кроме того, откуда пришёл.
-
* если широковещательный фрейм, то он идёт во все порты
+
-
* если он предназначен известному адресату, то он транслируется в нужный порт
+
-
* если неизвестен адрес, то во все, кроме того, откуда пришёл.
+
Таким образом мы можем поднять загрузку сети до более серьёзных параметров. Поскольку мы имеем не единую СПД, а довольно забавную вещь.
Таким образом мы можем поднять загрузку сети до более серьёзных параметров. Поскольку мы имеем не единую СПД, а довольно забавную вещь.
Строка 62: Строка 59:
=== Команда ip ===
=== Команда ip ===
-
//Есть команда ifconfig, но про нее не будем говорить, т.к. она устарела.
 
- 
Что к этому можно добавить отношении Ethernet: есть замечательная команда '''ip''', у которой есть параметр link, и увидите, что всё не так просто, как лектор только что рассказал, поскольку у этой команды много разных команд. Чем можно управлять: есть довольно забавный параметр у каждого интерфейса под названием...
Что к этому можно добавить отношении Ethernet: есть замечательная команда '''ip''', у которой есть параметр link, и увидите, что всё не так просто, как лектор только что рассказал, поскольку у этой команды много разных команд. Чем можно управлять: есть довольно забавный параметр у каждого интерфейса под названием...

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Разделы