Docsity
Docsity

Подготовься к экзаменам
Подготовься к экзаменам

Учись благодаря многочисленным ресурсам, которые есть на Docsity


Получи баллы для скачивания
Получи баллы для скачивания

Заработай баллы, помогая другим студентам, или приобретай их по тарифом Премиум


Руководства и советы
Руководства и советы

Статическая IP-маршрутизация статья по информатике , Руководство, Проектов, Исследование из Информатика

Статическая IP-маршрутизация статья по информатике

Вид: Руководство, Проектов, Исследование

2016/2017

Загружен 11.04.2017

refbank16288
refbank16288 🇷🇺

5

(1)

10 документы

1 / 8

Toggle sidebar

Сопутствующие документы


Частичный предварительный просмотр текста

Скачай Статическая IP-маршрутизация статья по информатике и еще Руководство, Проектов, Исследование в формате PDF Информатика только на Docsity! Статическая IP-маршрутизация Дмитрий Карпов, МИСиС Сеть Internet с ее протоколами изначально задумывалась как протяженная (WAN - Wide Area Network), состоящая из большого количества машин, соединенных с помощью разных сред обмена данными (как локальных сетей, так и глобальных соединений). Теоретически в Internet могут напрямую работать друг с другом около четырех миллиардов машин (2^32 за вычетом некоторых специальных номеров), а через proxy и того больше. В силу этих причин Internet - сегментированная сеть. Сегментом является либо прозрачный участок широковещательной (Ethernet) или маркерной (TokenRing) сети, либо соединение точка-точка (модемное). Теперь - обозначения. IP-номер - четырехбайтное число, записываемое либо в шестнадцатеричном виде типа 0xC0A80E05, либо в десятичном виде, где байты разделены точками типа 192.168.14.5 (в качестве примера в обоих случаях использовался один и тот же номер). Маска - тоже четырехбайтное число, но все старшие биты, начиная с некоторого, всегда установлены в единицу, а все младшие - в ноль. Примеры: 255.255.255.0 - маска сети класса C на 256 номеров; 255.255.255.192 - маска маленькой сети на 64 номера (192=256-64). Если мне надо указать сочетание номера и маски, я буду использовать запись номер/ число_установленных_битов_в_маске - так сочетание номера 192.168.14.5 и маски 255.255.255.0 будет записано в виде 192.168.14.5/24. Номером сети называют число, получаемое из номера интерфейса применением побитовой операции AND с маской, т.е. в номере интерфейса обнуляются биты на тех местах, на которых стоят нулевые биты в маске. Следует помнить, что IP-номер присваивается не компьютеру, а интерфейсу (сетевому выходу либо последовательному порту). В принципе можно дать нескольким интерфейсам один номер, но это может вызвать сложности. Можно также присвоить несколько адресов одному интерфейсу. В сегменте сети все машины имеют IP-номера с одинаковым номером сети и одинаковой маской. В одной локальной сети можно совместить две и больше разных IP- сетей, они даже могут знать друг о друге и нормально общаться, но это все-таки будут две разные сети. Принято следующее деление в зависимости от значения старшего байта IP-адреса: 0..127 - сети класса A по 2^24 адресов с маской 0xFF000000; 128..191 - сети класса B по 2^16 адресов с маской 0xFFFF0000; 192..223 - сети класса C по 2^8 адресов с маской 0xFFFFFF00; 224..239 - сети класса D для multicast (групповой) рассылки; остальные пока зарезервированы. Многие программы по адресу автоматически определяют класс сети, хотя это можно поправить вручную. В принципе никто не мешает разбить сеть на две или больше подсетей с любыми масками, но организациям как правило выделяют адреса блоками, соответствующими классам A, B и C - это связано с системой DNS, позволяющей узнать доменное имя машины по ее IP-адресу. Сеть класса A с номером 127 - loopback, т.е. предназначена для общения компьютера с собой. В любой сети номер (IP-номер AND маска) является номером всей сети и не может быть присвоен никому конкретно. Номер (IP-номер OR NOT маска), являющийся последним номером в сети, предназначен для broadcasting (широковещательных) сообщений, которые доставляются всем машинам сегмента сети. Соответственно, при выделении группы адресов в сеть два адреса становятся недоступны. Рассмотрим маршрутизацию в терминах FreeBSD (будет также дан перевод в нотацию System V (Linux, SCO) и Windows3.11). В Unix команды настройки сети, как правило, заюпускаются из файла /etc/rc или запускаемых из него файлах, а в MS Windows - загрузчиком операционной системы в соответствие с system.ini или registry. Главному шлюзу я всегда присваиваю первый (наименьший) номер в сети (нулевой, как я уже говорил, недоступен). Если в сети присутствует второй шлюз, через который подсоединен другой сегмент, то этому шлюзу (промежуточному маршрутизатору) будет присваиваться последний (наибольший) номер в сети. Для этого нет никаких разумных причин - так мне хочется. Построим первый сегмент сети: Сконфигурируем рабочую станцию: ifconfig ep0 inet 192.168.1.5 netmask 255.255.255.0 ifconfig lo0 inet 127.0.0.1 netmask 255.0.0.0 route add default 192.168.1.1 На самом деле в современных (начиная с 2.1.*) версиях FreeBSD это оформляется немного совсем по другому. :-) Рассмотрим внимательнее, что делают эти команды: ifconfig ep0 inet 192.168.1.5 netmask 255.255.255.0 присвоила интерфейсу ep0 номер 192.168.1.5, а также создала в таблице маршрутизации запись о том, что все пакеты с номером сети 192.168.1.0/24 будут направляться прямо через этот интерфейс с использованием протокола ARP. ifconfig lo0 localhost конфигурирует интерфейс loopback, т.е. "петлю". Этот интерфейс должен иметь адрес 127.0.0.1 и маску 255.0.0.0 на любой машине, имеющей IP, поэтому некоторые системы (например, MS Windows) делают это автоматически, не требуя от администратора (или пользователя, если он сам настраивает систему) задавать параметры loopback. Так как этот интерфейс настраивается на каждой машине одинаково, я не буду писать эту строчку каждый раз. localhost определяется по файлу /etc/hosts, в котором содержится 127.0.0.1 localhost.домен localhost а маска берется по умолчанию - 255.0.0.0. route add default 192.168.1.1 замечу, что маршрутизация "default" на самом деле есть "inet 0x0 netmask 0x0" и это надо прописывать, если старая версия команды route не понимает слова "default". создала запись, в соответствии с которой все пакеты (все, потому что любой пакет подходит под 0.0.0.0/0) будут отправляться на машину, имеющую интерфейс 192.168.1.1. Информация о том, как можно добраться до интерфейса 192.168.1.1 содержится в предыдущей команде, которая определила способ доступа ко всем машинам 192.168.1.* через интерфейс ep0. Таким образом, у нас сложилась примерно такая ситуация: Вообще система маршрутизации (за исключением предельно примитивных случаев) древовидна, т.е. одни записи включают в себя другие. Частичное пересечение невозможно, ибо границы адресного пространства, на которое действует каждая запись, выровняны на размер этого пространства. Порядок хранения и просмотра таблицы может быть разный, но должен обеспечивать приоритет записей с маленьким пространством перед записями с большим пространством. В данном случае обращение к машине 192.168.1.9 попадает под ifconfig ep0 inet 192.168.5.7 netmask 255.255.255.128 route add -net 192.168.5.128 -netmask 255.255.255.128 192.168.5.127 route add default 192.168.5.1 Маршрутизатор router.5: ifconfig ep0 inet 192.168.5.127 netmask 255.255.255.128 ifconfig ep1 inet 192.168.5.129 netmask 255.255.255.128 route add default 192.168.5.1 Рабочая станция ws.5.2: ifconfig ep0 inet 192.168.5.137 netmask 255.255.255.128 route add default 192.168.5.129 Разница с предыдущим случаем в том, что сеть разделена на сегменты, содержащие только "куглое" число IP-номеров (два в целой степени). Это особый случай, когда логичнее оформить каждую сеть отдельно. Теперь сделаем две сети, соединенные через последовательную линию по протоколу PPP. Шлюз: ifconfig ed3 inet 192.168.6.1 netmask 255.255.255.0 route add -net 172.17.14.192 -netmask 255.255.255.252 192.168.6.127 route add -net 192.168.6.128 -netmask 255.255.255.240 192.168.6.127 Маршрутизатор rt.6.1: ifconfig ep0 inet 192.168.6.127 netmask 255.255.255.128 pppd 172.17.14.193:172.17.14.194 netmask 255.255.255.252 [...] route add -net 192.168.6.128 -netmask 255.255.255.240 172.17.14.194 route add default 192.168.6.1 pppd требует при запуске указать интерфейс, через который происходит соединение, и его параметры, но это не относится к теме и обозначено [...]. Маршрутизатор rt.6.2: ifconfig ep0 inet 192.168.6.129 netmask 255.255.255.240 pppd 172.17.14.194:172.17.14.193 netmask 255.255.255.252 [...] route add default 172.17.14.193 Рабочая станция ws.6.2: ifconfig ep0 inet 192.168.6.137 netmask 255.255.255.240 route add default 192.168.6.129 Подсеть на 16 машин выделена аналогично примеру 4. Я надеюсь, разбиение сети на подсети "круглого" размера, соединенные по ppp, после усвоение прочитанного окажется под силу любому. Как видите, самая простая конфигурация - у машин в сегменте с единственной IP-сетью и с единственным шлюзом (он же шлюз по умолчанию). Чем больше шлюзов в сегменте сети и чем сложнее их конфигурация, тем сложнее корректно настроить рабочие станции, а настраивать надо каждую. Немного выручает протокол DHCP, но: сервер DHCP должен находиться в том же сегменте локальной сети, что и его клиенты; сервер DHCP должен корректно конфигурировать клиентов, что опять же непросто в сложной сегментированной сети. Таким образом, я рекомендую выводить все сегменты на один маршрутизатор (если он справляется с нагрузкой) либо пользоваться возможностями, предоставляемыми динамической маршрутизацией. Примечания: Прозрачный - Сегмент Internet сам может быть сегментирован на уровне MAC, например, коммутатором. Прозрачность проявляется в том, что маршрутизатор, работающий на уровне IP, не должен заботиться об этом; в частности, IP-маршрутизатор никогда не пропускает broadcast сообщения (в отличие от multicast), но broadcast сообщения должны свободно распространяться по всей локальной сети сети - это нужно, в частности, для протокола ARP. Последовательным портом в данном случае называется любой порт, выдающий данные побайтно (асинхронный COM, синхронный RS-232, принтерный LPT) в отличие от сетевого интерфейса, выдающего данные пакетами. Отличается от сетевого тем, что с поиощью последовательных интерфейсов можно связывать напрямую ровно два компьютера, а значит, такой способ не нуждается в адресации пакетов на MAC-уровне. DNS - Domain Name Service, позволяющий узнать IP-номер и некоторую другую информацию о машине по доменному имени, а также доменное имя по IP-номеру. В частности, зона определения имени по номеру может быть делегирована только на сеть класса A, B или C и никак иначе. :-( System V: BSD: ifconfig ep0 inet адрес netmask маска Linux: ifconfig eth0 inet адрес netmask маска BSD: ifconfig интерфейс inet адрес netmask маска alias Linux: ifconfig eth0:1 inet адрес netmask маска BSD: route add -net номер -netmask маска шлюз Linux: route add -net номер netmask маска шлюз Соответствие между интерфейсом eth0 и парой Port/IRQ записано в /etc/lilo.conf; после изменения надо запустить еще что-то. Windows 3.11 ifconfig интерфейс inet адрес netmask маска прописывается в "Свойствах TCP/IP" данного интерфейса. ifconfig интерфейс inet адрес netmask маска alias прописывается в "Дополнительных свойствах". route add default шлюз задается как "Default Gateway". route add -net номер -netmask маска шлюз вводится с командной строки route add номер MASK маска шлюз Эти команды реально выполняются, однако, как правило, они задаются иначе. В файле / etc/sysconfig пишется network_interfaces="ep0 lo0" ifconfig_ep0="inet 192.168.1.5 netmask 255.255.255.0" ifconfig_lo0="inet localhost" Эти строки обрабатываются файлом /etc/netstart # Set up all the network interfaces, calling startup scripts if needed for ifn in ${network_interfaces}; do eval ifconfig_args=\$ifconfig_${ifn} ifconfig ${ifn} ${ifconfig_args} ifconfig ${ifn} done if [ -n "$defaultrouter" -a "x$defaultrouter" != "xNO" ] ; then static_routes="default ${static_routes}" route_default="default ${defaultrouter}" fi # Set up any static routes. This should be done before router discovery. if [ "x${static_routes}" != "x" ]; then for i in ${static_routes}; do eval route_args=\$route_${i} route add ${route_args} done fi а localhost определяется по файлу /etc/hosts, в котором содержится 127.0.0.1 localhost.домен localhost и некоторые другие адреса/имена, которые машина должна знать даже в случае недоступности DNS-сервера; как минимум, там кроме loopback содержатся адреса остальных интерфейсов данной машины, ассоциированные с ее доменным именем в полной и короткой формк. Протокол ARP используется в сетях, имеющих свою собственную нумерацию (Ethernet, TokenRing, X.25) и нужен для того, чтобы не прописывать вручную соответствие IP-адресов номерам сетевых адаптеров. После старта системы таблицы ARP пусты; если приходит IP- пакет от какой-либо станции, фиксируется соответствие ее IP-номера номеру ее сетевой
Docsity logo