Различия между версиями 8 и 13 (по 5 версиям)
Версия 8 от 2013-10-25 08:46:39
Размер: 4835
Редактор: FrBrGeorge
Комментарий:
Версия 13 от 2013-12-22 16:58:40
Размер: 4887
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 60: Строка 60:
'''Внимание!''' [[static/LinuxNetwork2013/Nano.7z|Образ виртуальной машины]] обновлён (добавлен whois). ==== IP: адресация и маршрутизация ====
Строка 62: Строка 62:
  * Что умеет `ip addr` (краткий список: `ip a help`)   * <!> Что умеет `ip addr` (краткий список: `ip a help`)
Строка 64: Строка 64:
  * Каков адрес маршрутизатора по умолчанию?
  * Какой интерфейс ведёт в интернет?
  * {*} Каков адрес маршрутизатора по умолчанию?
  * {*} Какой интерфейс ведёт в интернет?
Строка 67: Строка 67:
  * в частности — номер автономной системы (AS`номер`). Что выдаёт команда `whois этот_номер`?   * {*} в частности — номер автономной системы (AS`номер`). Что выдаёт команда `whois этот_номер`?
==== ARP ====
Строка 69: Строка 70:
  {{{
[root@uneex ~]# ip n
[root@uneex ~]# ip n | wc -l
 }}}
Строка 70: Строка 75:
 * <!> Сеанс работы протокола ARP
  * убедиться, что в `ip n` пропал адрес маршрутизатора
  * запустить `tcpdump -i интерфейс_ведущий_в_интернет arp`
  * запустить `ping чего-нибудь` (в соседней консоли, ALT+F2)
  * пронаблюдать сеанс заполнения ARP-таблицы (в первой консоли, ALT+F1)
 * <!> Сеанс работы `traceroute`
  * запустить `tcpdump -i интерфейс_ведущий_в_интернет host www.ru or icmp`
  * запустить `traceroute www.ru`
  * пронаблюдать работу `traceroute`
 * Сеанс работы протокола ARP
  * убедиться, что в `ip n` на клиенте пропал адрес сервера
  * Выполнить
   {{{
[root@uneex ~]# tcpdump -v -n -i enp0s8 arp
   }}}
   {{{
[root@uneexclient ~]# ping -c1 srv
   }}}
  * пронаблюдать сеанс заполнения ARP-таблицы в выдаче tcpdump
==== ICMP ====
 * Сеанс работы `traceroute`
  * запустить
   {{{
[root@uneex ~]# tcpdump -v -i enp0s3 host www.ru or icmp
   }}}
   {{{
[root@uneexclient ~]# traceroute -q1 -w1 www.ru
   }}}
  * пронаблюдать работу `traceroute`. Обратить внимание на увеличивающиеся значения `ttl`

Сетевой уровень: адресация и маршрутизация

Задачи:

  • Глобальная идентификация (адресация)
  • Возможность доставки (маршрутизация)

IPv4

rfc791

  • Структура адреса.
    • адрес сети + адрес абонента
    • сетевая маска
    • широковещателный адрес
    • Legacy: классы (NB: 1110 — multicast)

  • Адреса интерфейсов в Linux: ip a (add, del и т. п.)

  • Принятие решения о маршрутизации
    • Таблица маршрутизации Linux: ip route

  • Заполнение маршрутных таблиц:
    • автоматическое при добавлении сети
    • ручное
    • Локальные протоколы (RIP*, IGRP)
    • Автономные системы. Маршрутизация на уровне AS (BGP)
      • Достижимость
      • Стоимость
  • Специальные адреса и сети (rfc5735)

    • 0.0.0.0/8

      "This" Network

      rfc1122, Section 3.2.1.3

      10.0.0.0/8

      Private-Use Networks

      rfc1918

      127.0.0.0/8

      Loopback

      rfc1122, Section 3.2.1.3

      169.254.0.0/16

      Link Local

      rfc3927

      172.16.0.0/12

      Private-Use Networks

      rfc1918

      192.0.0.0/24

      IETF Protocol Assignments

      rfc5736

      192.0.2.0/24

      TEST-NET-1

      rfc5737

      192.88.99.0/24

      6to4 Relay Anycast

      rfc3068

      192.168.0.0/16

      Private-Use Networks

      rfc1918

      198.18.0.0/15

      Network Interconnect Device Benchmark Testing

      rfc2544

      198.51.100.0/24

      TEST-NET-2

      rfc5737

      203.0.113.0/24

      TEST-NET-3

      rfc5737

      224.0.0.0/4

      Multicast

      rfc3171

      240.0.0.0/4

      Reserved for Future Use

      rfc1112, Section 4

      255.255.255.255/32

      Limited Broadcast

      rfc919, Section 7, rfc922, Section 7

Протоколы сетевого и сетевого/интерфейсного уровня

  • ARP
    • ip neigh

    • proxy arp
  • ICMP (rfc1122)

    • работа traceroute

    • Path MTU Discovery (4821)

  • IPSec, RARP, BOOTP, ...

IPv6

  • Адрес (IPv6_address)

    • 128 бит, включает идентификатор интерфейса (например, MAC)
      • Unicast: [48+] — routing prefix; [16-] — subnet id; [64] — interface identifier
    • Unicast / Anycast / Link local / Multicast (нет широковещания)
    • Запись: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 == 2001:db8:85a3::8a2e:370:7334

  • Нет фрагментации (обязательное PMTUD), нет CRC заголовка (есть же в data link)
  • Маршрутизация
    • (адрес)/(битовый размер префикса) — как в IPv4
    • + Multicat (IGMP) / Anycast и т. п.

Д/З

IP: адресация и маршрутизация

  • Какие адреса выдаёт команда ip a?

    • <!> Что умеет ip addr (краткий список: ip a help)

  • Как устроена таблица маршрутизации (ip r)?

    • {*} Каков адрес маршрутизатора по умолчанию?

    • {*} Какой интерфейс ведёт в интернет?

  • Что можно узнать из команды whois 158.250.10.1?

    • {*} в частности — номер автономной системы (ASномер). Что выдаёт команда whois этот_номер?

ARP

  • Сколько машин показывает ip n?

    • [root@uneex ~]# ip n
      [root@uneex ~]# ip n | wc -l
  • Добиться, чтобы выдача ip n менялась после ping чего-нибудь

  • Сеанс работы протокола ARP
    • убедиться, что в ip n на клиенте пропал адрес сервера

    • Выполнить
      • [root@uneex ~]# tcpdump -v -n -i enp0s8 arp
        [root@uneexclient ~]# ping -c1 srv
    • пронаблюдать сеанс заполнения ARP-таблицы в выдаче tcpdump

ICMP

  • Сеанс работы traceroute

    • запустить
      • [root@uneex ~]# tcpdump -v -i enp0s3 host www.ru or icmp
        [root@uneexclient ~]# traceroute -q1 -w1 www.ru
    • пронаблюдать работу traceroute. Обратить внимание на увеличивающиеся значения ttl

LecturesCMC/LinuxNetwork2013/03-AddressAndRoute (последним исправлял пользователь FrBrGeorge 2013-12-22 16:58:40)