Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №4 (FAQ).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
406.02 Кб
Скачать

6.2.2.3. Изменение настроек сетевого уровня

6.2.2.3.1. MTU

MTU переключается оцией mtu. Снижая mtu вы с одной стороны замедляете работу сети, с другой стороны повышаете вероятность того, что ваши пакеты дойдут до адресата без фрагментирования. (Некоторые брандмауэры отбрасывают фрагментированные пакеты.) Однозначных рекомендаций тут дать невозможно. Даже тезис о том, что снижение MTU приводит к снижению скорости передачи данных, несовсем верен. Безусловно возрастают накладные расходы на протокол TCP, увеличивается удельный вес заголовков и общий трафик, однако Ричард Стивенс [Stevens-2003-ru] приводит убедительный пример того, как фрагментированные пакеты быстрее передаются в сети через серию маршрутизаторов, в силу более равномерного использования каналов связи (пока второй пакет передаётся первому шлюзу, первый пакет уже может быть отправлен второму шлюзу, если бы оба пакета были объединены, участок между первым и вторым шлюзом простаивал бы вдвое дольше).

Ограничение сверху на MTU накладывает природа передающей среды. В сетях Fast Ethernet MTU не может превышать 1500 байт.

По поводу IPv6 и MTU уместно процитировать «википедию» [url://wiki-IPv6-ru]:

В IPv6 пакеты не могут фрагментироваться и собираться маршрутизаторами. Отправитель должен заранее выяснить максимальный размер пакетов (MTU), поддерживаемый на всём пути до получателя, и, при необходимости, выполнить фрагментацию своими силами. Оговаривается, что MTU не может быть меньше 576 байт. Снятие с маршрутизаторов функций фрагментации также способствует повышению эффективности их работы, но усложняет работу оконечных систем.

6.2.2.3.2. Ip, маска подсети, широковещательный адрес

Адрес интерфейса и маску подсети можно задавать в традиционном формате, в шестнадчатеричном, а так же в формате CIDR (ifconfig(8) OpenBSD не понимает формат CIDR). Следующие команды эквивалентны:

# ifconfig rl0 172.16.0.0 netmask 255.255.0.0

# ifconfig rl0 172.16.0.0 netmask 0xffff0000

# ifconfig rl0 0xac100000 netmask 0xffff0000

# ifconfig rl0 172.16.0.0/16

Последний вариант, повторимся, не работает в OpenBSD.

Во всех случаях широковещательный адрес вычисляется автоматически (172.16.255.255). Если вам почему-то надо указать какой-то экзотический широковещательный адрес, вы можете сделать это явно:

# ifconfig 172.16.0.0 netmask 255.255.0.0 broadcast 172.16.255.253

Во всех приведённых примерах неявно подразумевается перед IP ключевое слово inet. (По умолчанию действует оно, а не lladdr, например).

Ключевое слово alias (или add) позволяет добавить к сетевому интерфейсу ещё один адрес, возможно в другой сети.

Можно указывать символьное имя машины, если соответствующая запись есть базе /etc/hosts.

6.2.2.3.3. IPv6

Аналогично добавляются адреса в нотации IPv6, с использованием ключевого слова inet6.

6.2.2.3.4. Другие протоколы сетевого уровня

Команда ifconfig(8) позволяет конфигурировать интерфейс не только для работы со стеком TCP/IP. Вы можете сконфигурировать его для работы с AppleTalk, и другими протоколами. Информация об этом присутствует в справочной странице.

6.2.3. Route(8) — настройка таблицы маршрутизации

Команда route(8) служит для управления таблицей маршрутизации. С её помощью можно:

  1. Просматривать маршрут к хосту (команды get и show (последней нет в FreeBSD)).

  2. Следить за изменениями в маршрутной таблице в реальном времени (команда monitor).

  3. Добавить маршрут (команда add).

  4. Удалить маршрут (команда delete).

  5. Изменить маршрут (команда change).

  6. Полностью очистить таблицу маршрутизации (команда flush). Поскольку таблиц маршрутизации несколько для каждого протокола (IP, IPv6, AppleTalk и др.) можно указать какую именно таблицу надо очистить при помощи необязательной опции -inet, -inet6, -atalk и др.

Ключевое слово default означает, что добавляется маршрут поумолчанию. В распечатке команды netstat(1) записи добавленные командой route(8) имеют флаг S, означающий, что они добавлены вручную.

Для явного обозначения сетей, хостов и интерфейсов можно использовать агрументы -host, -net и -interface. Некоторые операционные системы (точно скажу про FreeBSD) могут понимать запись в формате CIDR.

Примеры:

# route add default 192.168.0.1

# route add -net 192.168.0 -interface rl0

# route add -net 192.168.1.0 -netmask 255.255.255.128 -interface rl1