Участник:Shovkoplyas Grigory — различия между версиями
(→Просмотр таблицы маршрутизации) |
|||
| (не показаны 63 промежуточные версии 3 участников) | |||
| Строка 1: | Строка 1: | ||
| − | == | + | ==Определения== |
| − | |||
| − | |||
| − | + | {{Определение | |
| − | + | |definition = | |
| + | Таблица маршрутизации {{---}} таблица, состоящая из сетевых маршрутов и предназначенная для определения наилучшего пути передачи сетевого пакета. | ||
| + | }} | ||
| − | + | {{Определение | |
| − | + | |definition = | |
| − | + | Сетевой маршрут {{---}} запись таблицы маршрутизации, содержащая в себе адрес сети назначения (destination), маску сети назначения (netmask), шлюз (gateway), интерфейс (interface) и метрику (metric). | |
| − | + | }} | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | == | + | ===Пример таблицы маршрутизации=== |
| − | + | {| border="1" | |
| + | |- | ||
| + | !Destination||Netmask||Gateway||Interface||Metric | ||
| + | |- | ||
| + | |0.0.0.0||0.0.0.0||192.168.0.1||192.168.0.100||10 | ||
| + | |- | ||
| + | |127.0.0.0||255.0.0.0||127.0.0.1||127.0.0.1||1 | ||
| + | |- | ||
| + | |192.168.0.0||255.255.255.0||192.168.0.100||192.168.0.100||10 | ||
| + | |- | ||
| + | |192.168.0.100||255.255.255.255||127.0.0.1||127.0.0.1||10 | ||
| + | |- | ||
| + | |192.168.0.1||255.255.255.255||192.168.0.100||192.168.0.100||10 | ||
| + | |} | ||
| − | |||
| − | + | ==Описание компонентов== | |
| + | {{Определение | ||
| + | |definition = | ||
| + | Адрес сети назначения (Destination) {{---}} собственно, адрес конечного узла пути передачи сетевого пакета. | ||
| + | }} | ||
| − | + | {{Определение | |
| − | + | |definition = | |
| + | Маска сети назначения (Netmask) {{---}} битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. | ||
| + | В двоичной записи всегда выглядит как множество единиц в начале и нулей в конце. | ||
| + | }} | ||
| − | + | ===Пример получения адреса сети=== | |
| + | {| class="simple" border="1" | ||
| + | |- | ||
| + | ! ||Двоичная запись||Десятичная запись | ||
| + | |- | ||
| + | |IP-адрес||<tt>11000000 10101000 00000001 00000010</tt> ||192.168.1.2 | ||
| + | |- | ||
| + | |Маска|| <tt>11111111 11111111 11111110 00000000</tt> || 255.255.254.0 | ||
| + | |- | ||
| + | |Адрес сети|| <tt>11000000 10101000 00000000 00000000</tt> ||192.168.0.0 | ||
| + | |} | ||
| − | + | Чтобы вычислить адрес сети, нужно применить логическое ''и'' к адресу и маске. | |
| − | [[Категория: | + | {{Определение |
| − | [[Категория: Алгоритмы | + | |definition = |
| + | Шлюз (Gateaway) {{---}} адрес узла в сети, на который необходимо отправить пакет, следующий до указанного адреса назначения. Шлюзы бывают ''по умолчанию'', тогда значения адреса назначения и маски указываются как 0.0.0.0. | ||
| + | }} | ||
| + | |||
| + | {{Определение | ||
| + | |definition = | ||
| + | Интерфейс (Interface) указывает, какой локальный интерфейс отвечает за достижение шлюза. Например, шлюз 192.168.0.1 (интернет-маршрутизатор) может быть достижим через локальную сетевую карту, адрес которой 192.168.0.100. | ||
| + | }} | ||
| + | |||
| + | {{Определение | ||
| + | |definition = | ||
| + | Метрика (Metric) {{---}} числовой показатель, задающий предпочтительность маршрута. Чем меньше число, тем более предпочтителен маршрут. Интуитивно представляется как расстояние (необязательный параметр). | ||
| + | }} | ||
| + | |||
| + | ==Принцип действия== | ||
| + | При отправке сетевого пакета, операционная система смотрит, по какому именно маршруту он должен быть отправлен, основываясь на таблице маршрутизации. | ||
| + | Как правило, выбирается наиболее конкретный (т.е. с наиболее длинной сетевой маской) маршрут из тех, которые соответствуют адресу отправителя и имеют наименьшую метрику. | ||
| + | Если ни один из маршрутов не подходит, пакет уничтожается, а его отправителю возвращается ICMP-сообщение ''No route to host''. | ||
| + | |||
| + | Внутри каждого пакета есть поле TTL (Time to live) при каждой пересылке значение уменьшается на единицу, и если оно становится нулем, то пакет выбрасывается. | ||
| + | ICMP-сообщение в данном случае ''TTL expired in transit''. | ||
| + | |||
| + | |||
| + | ==Просмотр таблицы маршрутизации== | ||
| + | Ниже приведены команды в разных операционных системах, с помощью которых можно посмотреть таблицу маршрутизации | ||
| + | |||
| + | Windows: '''route print''' | ||
| + | |||
| + | Linux: '''route -n''' | ||
| + | |||
| + | ==Источники информации== | ||
| + | *[http://lpcs.math.msu.su/~sk/lehre/fivt2013/Earley.pdf Алексей Сорокин {{---}} Алгоритм Эрли] | ||
| + | * Ахо А., Ульман Д.{{---}} Теория синтакcического анализа, перевода и компиляции. Том 1. Синтаксический анализ. Пер. с англ. {{---}} М.:«Мир», 1978. С. 358 — 364. | ||
| + | |||
| + | [[Категория: Теория формальных языков]] | ||
| + | [[Категория: Контекстно-свободные грамматики]] | ||
| + | [[Категория: Алгоритмы разбора]] | ||
Текущая версия на 04:28, 2 января 2017
Определения
| Определение: |
| Таблица маршрутизации — таблица, состоящая из сетевых маршрутов и предназначенная для определения наилучшего пути передачи сетевого пакета. |
| Определение: |
| Сетевой маршрут — запись таблицы маршрутизации, содержащая в себе адрес сети назначения (destination), маску сети назначения (netmask), шлюз (gateway), интерфейс (interface) и метрику (metric). |
Пример таблицы маршрутизации
| Destination | Netmask | Gateway | Interface | Metric |
|---|---|---|---|---|
| 0.0.0.0 | 0.0.0.0 | 192.168.0.1 | 192.168.0.100 | 10 |
| 127.0.0.0 | 255.0.0.0 | 127.0.0.1 | 127.0.0.1 | 1 |
| 192.168.0.0 | 255.255.255.0 | 192.168.0.100 | 192.168.0.100 | 10 |
| 192.168.0.100 | 255.255.255.255 | 127.0.0.1 | 127.0.0.1 | 10 |
| 192.168.0.1 | 255.255.255.255 | 192.168.0.100 | 192.168.0.100 | 10 |
Описание компонентов
| Определение: |
| Адрес сети назначения (Destination) — собственно, адрес конечного узла пути передачи сетевого пакета. |
| Определение: |
| Маска сети назначения (Netmask) — битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. В двоичной записи всегда выглядит как множество единиц в начале и нулей в конце. |
Пример получения адреса сети
| Двоичная запись | Десятичная запись | |
|---|---|---|
| IP-адрес | 11000000 10101000 00000001 00000010 | 192.168.1.2 |
| Маска | 11111111 11111111 11111110 00000000 | 255.255.254.0 |
| Адрес сети | 11000000 10101000 00000000 00000000 | 192.168.0.0 |
Чтобы вычислить адрес сети, нужно применить логическое и к адресу и маске.
| Определение: |
| Шлюз (Gateaway) — адрес узла в сети, на который необходимо отправить пакет, следующий до указанного адреса назначения. Шлюзы бывают по умолчанию, тогда значения адреса назначения и маски указываются как 0.0.0.0. |
| Определение: |
| Интерфейс (Interface) указывает, какой локальный интерфейс отвечает за достижение шлюза. Например, шлюз 192.168.0.1 (интернет-маршрутизатор) может быть достижим через локальную сетевую карту, адрес которой 192.168.0.100. |
| Определение: |
| Метрика (Metric) — числовой показатель, задающий предпочтительность маршрута. Чем меньше число, тем более предпочтителен маршрут. Интуитивно представляется как расстояние (необязательный параметр). |
Принцип действия
При отправке сетевого пакета, операционная система смотрит, по какому именно маршруту он должен быть отправлен, основываясь на таблице маршрутизации. Как правило, выбирается наиболее конкретный (т.е. с наиболее длинной сетевой маской) маршрут из тех, которые соответствуют адресу отправителя и имеют наименьшую метрику. Если ни один из маршрутов не подходит, пакет уничтожается, а его отправителю возвращается ICMP-сообщение No route to host.
Внутри каждого пакета есть поле TTL (Time to live) при каждой пересылке значение уменьшается на единицу, и если оно становится нулем, то пакет выбрасывается. ICMP-сообщение в данном случае TTL expired in transit.
Просмотр таблицы маршрутизации
Ниже приведены команды в разных операционных системах, с помощью которых можно посмотреть таблицу маршрутизации
Windows: route print
Linux: route -n
Источники информации
- Алексей Сорокин — Алгоритм Эрли
- Ахо А., Ульман Д.— Теория синтакcического анализа, перевода и компиляции. Том 1. Синтаксический анализ. Пер. с англ. — М.:«Мир», 1978. С. 358 — 364.