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

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

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

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

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

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

Текущая версия Ваш текст
Строка 1: Строка 1:
-
* '''Диктофонная запись:''' http://esyr.org/lections/audio/uneex_2008_winter/uneex_08_11_12.ogg
 
- 
-
= Лекция =
 
-
== Вступление ==
 
Лектор удивлен количеством народа.
Лектор удивлен количеством народа.
Сегодня запланирован Internet Protocol (IP).
Сегодня запланирован Internet Protocol (IP).
Строка 8: Строка 4:
Мы рассказали, как устроены идентификация и маршрутизация в Интернете.
Мы рассказали, как устроены идентификация и маршрутизация в Интернете.
Поговорили про нестандартную маршрутизацию.
Поговорили про нестандартную маршрутизацию.
-
Не говорили про IPv6 (но был доклад о нем).
+
Не говорили про IPv6 (был доклад о нем).
Не говорили про протоколы уровня IP, которые существуют на этом уровне, не поднимаясь на транспортный уровень.
Не говорили про протоколы уровня IP, которые существуют на этом уровне, не поднимаясь на транспортный уровень.
Строка 16: Строка 12:
На интерфейсном уровне есть привязка к железу, или к несуществующей сущности (например, VLAN).
На интерфейсном уровне есть привязка к железу, или к несуществующей сущности (например, VLAN).
-
== PPP ==
+
PPP (протокол интерфейсного уровня).
-
PPP - протокол интерфейсного уровня.
+
Есть какая-то СПД, которая как-то передает данные.
Есть какая-то СПД, которая как-то передает данные.
Мы знаем, что эта СПД, возможно, не предназначена для организации протокола верхнего уровня (IP).
Мы знаем, что эта СПД, возможно, не предназначена для организации протокола верхнего уровня (IP).
Строка 28: Строка 23:
Может быть SSH-туннелирование, которое сводится именно к потоку байт.
Может быть SSH-туннелирование, которое сводится именно к потоку байт.
-
Итак, PPP (Point-to-Point Protocol).
+
Итак, PPP (Peer-to-peer).
Это средство наладить передачу IP-пакетов поверх почти любой СПД.
Это средство наладить передачу IP-пакетов поверх почти любой СПД.
Интерфейсный уровень.
Интерфейсный уровень.
Или уровень Data Link (2) семиуровневой модели ISO/OSI.
Или уровень Data Link (2) семиуровневой модели ISO/OSI.
-
=== Проблемы ===
 
Какие проблемы?
Какие проблемы?
У него всего два конца.
У него всего два конца.
Это не проблема, если СПД — двунаправленный поток байтов.
Это не проблема, если СПД — двунаправленный поток байтов.
Организуя PPP по Ethernet, мы не требуем всех свойств Ethernet.
Организуя PPP по Ethernet, мы не требуем всех свойств Ethernet.
-
Нужен только поток байтов в обе стороны.
+
Нужен только потой байтов в обе стороны.
Настраивая IP, мы присваиваем IP-адрес.
Настраивая IP, мы присваиваем IP-адрес.
Команда ip addr может быть работать непохоже на стандартный режим.
Команда ip addr может быть работать непохоже на стандартный режим.
Строка 87: Строка 81:
Для передачи необходима поддержка со стороны системы.
Для передачи необходима поддержка со стороны системы.
Заворичиваем поток байт во фреймы.
Заворичиваем поток байт во фреймы.
- 
-
=== pty/ttyP ===
 
Есть eth0, из него лезут внутренние пакеты.
Есть eth0, из него лезут внутренние пакеты.
Некоторые — пакеты PPPoE.
Некоторые — пакеты PPPoE.
Строка 123: Строка 115:
Недостаток — ограничены одним Ethernet-сегментом.
Недостаток — ограничены одним Ethernet-сегментом.
-
Еще одно часто встречающее место — pptp (Point-to-point tunneling protocol).
+
Еще одно часто встречающее место — pptp (point-to-point protocol).
Это семейство протоколов.
Это семейство протоколов.
Для выдачи обычному пользователю доступа в Интернет используется еще чаще.
Для выдачи обычному пользователю доступа в Интернет используется еще чаще.
-
=== Туннелирование. GRE. ===
 
Задача — попробовать изобрести комплект протоколов уровнем выше.
Задача — попробовать изобрести комплект протоколов уровнем выше.
Мы не можем воспользоваться интерфейсным уровнем, нужен сетевой, чтобы была хотя бы маршрутизация.
Мы не можем воспользоваться интерфейсным уровнем, нужен сетевой, чтобы была хотя бы маршрутизация.
Строка 160: Строка 151:
Соединение на 1723 легко можно порезать файрволлом.
Соединение на 1723 легко можно порезать файрволлом.
-
=== L2TP (Level 2 Tunneling Protocol) ===
 
В качестве замены позиционируется L2TP (Level 2 Tunneling Protocol).
В качестве замены позиционируется L2TP (Level 2 Tunneling Protocol).
Это часть стека IPv6 (по стандарту).
Это часть стека IPv6 (по стандарту).
Строка 173: Строка 163:
Видимо, есть какие-то проблемы с невозможностью вставить в IP-пакет нужную информацию.
Видимо, есть какие-то проблемы с невозможностью вставить в IP-пакет нужную информацию.
-
== IPSec (IP Security) ==
+
IPSec (IP Security).
Часть протокола IPv6.
Часть протокола IPv6.
Часть стандарта.
Часть стандарта.
Строка 179: Строка 169:
Лектор видел реализации.
Лектор видел реализации.
В принципе, работает хорошо и достаточно надежно.
В принципе, работает хорошо и достаточно надежно.
- 
RAME, Strong SWAN.
RAME, Strong SWAN.
Две разные реализации одного и того же.
Две разные реализации одного и того же.
Строка 186: Строка 175:
Разговоривать про настройку не будем.
Разговоривать про настройку не будем.
Из название следует, что это возможность обеспечить защиту на уровне IP.
Из название следует, что это возможность обеспечить защиту на уровне IP.
- 
Самая простая идея — взять каждый пакет и его зашифровать.
Самая простая идея — взять каждый пакет и его зашифровать.
Вопрос как?
Вопрос как?
Строка 193: Строка 181:
Если же заголовок не шифровать, какая тут защита, если видно, что мы залезли на сервер ICQ.
Если же заголовок не шифровать, какая тут защита, если видно, что мы залезли на сервер ICQ.
Проблема нерешаемая.
Проблема нерешаемая.
- 
Варианты решения: организовать туннель.
Варианты решения: организовать туннель.
-
Мы полностью шифруем весь IP-пакет вместе с заголовками, к нему присобачивается IPSec-пакет и новый IP-заголовок.
+
Мы полностью шифруем весь IP-пакет вместе с заголовками, к ниму присобачивается IPSec-пакет и новый IP-заголовок.
Все пакеты будут выглядеть как «это пакет IPSec».
Все пакеты будут выглядеть как «это пакет IPSec».
Чем идея хороша?
Чем идея хороша?
Это организация туннеля на уровне IP.
Это организация туннеля на уровне IP.
IP over IP.
IP over IP.
- 
Каждый пакет шифруется, снабжается достаточной информацией, посылается.
Каждый пакет шифруется, снабжается достаточной информацией, посылается.
Проблемы: если раньше написано, что это аська, то сейчас неизвестно и никто не знает.
Проблемы: если раньше написано, что это аська, то сейчас неизвестно и никто не знает.
Строка 212: Строка 198:
Но не шифруются поля IP-пакета, которые могут видоизменяться.
Но не шифруются поля IP-пакета, которые могут видоизменяться.
Адрес отправителя не шифруется, вдруг проходит через NAT.
Адрес отправителя не шифруется, вдруг проходит через NAT.
- 
Достоинства: такой пакет выглядит обычно.
Достоинства: такой пакет выглядит обычно.
Любой маршрутизатор увидит обычный пакет с обычным типом протокола.
Любой маршрутизатор увидит обычный пакет с обычным типом протокола.
- 
Проблемы две.
Проблемы две.
Первая — утечка security, ибо открыты адрес отправителя, получателя.
Первая — утечка security, ибо открыты адрес отправителя, получателя.
- 
Вторая более хитрая.
Вторая более хитрая.
Все IPSecurity — не IPCrypt.
Все IPSecurity — не IPCrypt.
Строка 224: Строка 207:
Поворачиваем башню танка на 90 градусов.
Поворачиваем башню танка на 90 градусов.
Посылаем еще дважды, башня танка поворачивается еще на 180 градусов.
Посылаем еще дважды, башня танка поворачивается еще на 180 градусов.
- 
Помимо этого нужно обеспечить возможность идентификации каждого пакета, какой абонент отправил пакет и так далее.
Помимо этого нужно обеспечить возможность идентификации каждого пакета, какой абонент отправил пакет и так далее.
Способ идентификации.
Способ идентификации.
Строка 245: Строка 227:
Сначала устанавливается соединение, затем происходит удостоверение личности друг друга.
Сначала устанавливается соединение, затем происходит удостоверение личности друг друга.
-
== Протокол ICMP (Internet Control Message Protocol) ==
+
Протокол ICMP (Internet Control Message Protocol).
На уровне IP есть еще один важный протокол.
На уровне IP есть еще один важный протокол.
Предназначен для передачи служебной информации, в случае, если произошла ошибка, например, или эту информацию запросили.
Предназначен для передачи служебной информации, в случае, если произошла ошибка, например, или эту информацию запросили.
Крайне простой протокол, около 20 типов того, что может присылать машина.
Крайне простой протокол, около 20 типов того, что может присылать машина.
-
В основном — запросы и ответы.
+
В основном — запросы и овтеты.
-
На всякие ситуации, связанные с той или иной неработоспособностью сетевого протокола, существует ICMP запросы.
+
На всякие ситуации, связанные с той или иной неработоспобностью сетевого протокола, существует ICMP запросы.
-
 
+
Пример — утилита ping.
-
=== Утилита ping ===
+
Не гарантирует.
Не гарантирует.
«Системный администратор зарезал ping».
«Системный администратор зарезал ping».
Строка 258: Строка 239:
Утилита посылает запрос вида «Жив ли ты?».
Утилита посылает запрос вида «Жив ли ты?».
Адресат отвечает, если хочет, что он жив.
Адресат отвечает, если хочет, что он жив.
- 
NAT.
NAT.
Каждый ICMP-запрос сделан так, что когда мы получаем ответ, мы знаем, от кого ответ (пингуем несколько сайтов на одном сервере).
Каждый ICMP-запрос сделан так, что когда мы получаем ответ, мы знаем, от кого ответ (пингуем несколько сайтов на одном сервере).
Строка 265: Строка 245:
Когда значение ttl равно 0, считается, что пакет не дошел и посылается соответствующее уведомление.
Когда значение ttl равно 0, считается, что пакет не дошел и посылается соответствующее уведомление.
Пакет может зациклиться, так что в конце концов он все же сбросится.
Пакет может зациклиться, так что в конце концов он все же сбросится.
- 
Что делать в случае, если закрыт ping?
Что делать в случае, если закрыт ping?
-
Если на сервере есть сайт, можно попробовать постучаться на 80 порт.
+
Если на сервере есть сайт, можно попробовать на 80 порт.
tcping.
tcping.
-
=== Утилита traceroute ===
+
Программа traceroute.
Программа посылает ICMP-запрос.
Программа посылает ICMP-запрос.
- 
Механизм работы следующий.
Механизм работы следующий.
Первый пакет имеет ttl равный единице.
Первый пакет имеет ttl равный единице.
Строка 278: Строка 256:
Следующий — с ttl равным 2.
Следующий — с ttl равным 2.
Таким образом traceroute добивается ситуации, когда пакет все же доходит.
Таким образом traceroute добивается ситуации, когда пакет все же доходит.
- 
Мы видим как бы путь, по которому шел пакет.
Мы видим как бы путь, по которому шел пакет.
Реально пути мы не видим, мы видим конец пути, по которому шел первый пакет, второй пакет и т. д.
Реально пути мы не видим, мы видим конец пути, по которому шел первый пакет, второй пакет и т. д.
Строка 284: Строка 261:
Маршрутизатор может изменить канал.
Маршрутизатор может изменить канал.
Пакет, пришедший 6, может идти по другому пути, нежели 7 пакет.
Пакет, пришедший 6, может идти по другому пути, нежели 7 пакет.
- 
Легенда о том, что если мы работаем с сайтом и параллельно пингуем, работа идет быстрее.
Легенда о том, что если мы работаем с сайтом и параллельно пингуем, работа идет быстрее.
Может иметь место при оптимизации маршрутизаторами пути.
Может иметь место при оптимизации маршрутизаторами пути.
-
=== Need to fragment ===
 
Еще один тип ICMP-ответов, которые нельзя резать.
Еще один тип ICMP-ответов, которые нельзя резать.
-
* В IPv4 есть фрагментация пакета, если он не влезает.
+
Need to fragment.
-
* В IPv6 нет фрагментации IP-пакета. Вместо этого клиенты обязаны использовать механизм MTU path discovery.
+
В IPv4 есть фрагментация пакета, если он не влезает.
-
 
+
В IPv6 нет фрагментации IP-пакета.
 +
Вместо этого клиенты обязаны использовать механизм MTU path discovery.
Internet — от internetwork.
Internet — от internetwork.
Среды могут иметь MTU разного размера.
Среды могут иметь MTU разного размера.
-
Для того, чтобы не происходила ситуация, при которой фрейм приходит 1500, и нужно было послать 1492 и 8 байт.
+
Для того, чтобы не происходила ситуация, при которой фрейм приходит 1500, и нужно послать 1492 и 8 байт.
Можно запретить маршрутизатору принимать такие пакеты, а можно посылать сообщение Need to fragment.
Можно запретить маршрутизатору принимать такие пакеты, а можно посылать сообщение Need to fragment.
Отправитель должен получить и обработать.
Отправитель должен получить и обработать.
Когда этому абоненту приспичит посылать туда же еще один пакет, его размер должен быть не больше указанного в сообщении Need to fragment.
Когда этому абоненту приспичит посылать туда же еще один пакет, его размер должен быть не больше указанного в сообщении Need to fragment.
- 
Этот механизм замечательно работает.
Этот механизм замечательно работает.
В IPv4 возможны ситуации.
В IPv4 возможны ситуации.
На маршрутизаторе это включено для минимизации нагрузки на Интернет.
На маршрутизаторе это включено для минимизации нагрузки на Интернет.
Такая фигня может увеличить вдвое количество фреймов.
Такая фигня может увеличить вдвое количество фреймов.
-
 
+
ICMP зарезан.
-
=== ICMP зарезан ===
+
Мы заходим на сайт и видим несколько букв.
Мы заходим на сайт и видим несколько букв.
Потом еще несколько букв.
Потом еще несколько букв.
Строка 317: Строка 291:
-
= Конспект eSyr'a =
+
Конспект eSyr:
<div style="font-size:50%">
<div style="font-size:50%">
Отстутпление номер 1.
Отстутпление номер 1.

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

Личные инструменты
Разделы