Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемasu.bru.by
1 Аппаратное и программное обеспечение ЭВМ и сетей Тема 23 Структура и назначение сетевого уровня. Понятие системы передачи данных. Требования к сетевой адресации. Классовая модель IP. Маршрутизация. Методы получения правил маршрутизации. Раздел 5 Сети TCP/IP. Сетевой уровень. Транспортный уровень Прикладной уровень
2 Сетевой уровень Сетевой уровень (network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, называемой составной сетью, или интернетом. На рис. 5-23_1 показаны несколько сетей, каждая из которых использует собственную технологию канального уровня: Ethernet, FDDI, Token Ring, ATM, Frame Relay. На базе этих технологий каждая из указанных сетей может связывать между собой любых пользователей, но только своей сети, и не способна обеспечить передачу данных в другую сеть. Причина такого положения вещей очевидна и кроется в существенных отличиях одной технологии от другой. Технология, позволяющая соединить в единую сеть множество сетей, в общем случае построенных на основе разных технологий, называется технологией межсетевого взаимодействия
3 Рис. 5-23_1. Необходимость сетевого уровня
4 Сетевой уровень Даже наиболее близкие технологии LAN Ethernet, FDDI, Token Ring, имеющие одну и ту же систему адресации (адреса подуровня MAC, называемые МАС-адресами), отличаются друг от друга форматом используемых кадров и логикой работы протоколов. Еще больше отличий между технологиями LAN и WAN. Чтобы связать между собой сети, построенные на основе столь отличающихся технологий, нужны дополнительные средства, и такие средства предоставляет сетевой уровень. Функции сетевого уровня реализуются: группой протоколов; специальными устройствами маршрутизаторами. Одной из функций маршрутизатора является физическое соединение сетей. Маршрутизатор имеет несколько сетевых интерфейсов, подобных интерфейсам компьютера, к каждому из которых может быть подключена одна сеть. Таким образом, все интерфейсы маршрутизатора можно считать узлами разных сетей. Маршрутизатор может быть реализован программно, на базе универсального компьютера (например, типовая конфигурация Unix или Windows включает программный модуль маршрутизатора). Однако чаще маршрутизаторы реализуются на базе специализированных аппаратных платформ. В состав программного обеспечения маршрутизатора входят протокольные модули сетевого уровня.
5 Сетевой уровень Итак, чтобы связать сети, показанные на рис. 5-23_1, необходимо соединить все эти сети маршрутизаторами и установить протокольные модули сетевого уровня на все конечные узлы пользователей, которые хотели бы связываться через составную сеть (рис. 5-23_2).
6 Сетевой уровень Данные, которые необходимо передать через составную сеть, поступают на сетевой уровень от вышележащего транспортного уровня. Эти данные снабжаются заголовком сетевого уровня. Данные вместе с заголовком образуют пакет так называется PDU сетевого уровня. Заголовок пакета сетевого уровня имеет унифицированный формат, не зависящий от форматов кадров канального уровня тех сетей, которые могут входить в составную сеть, и несет наряду с другой служебной информацией данные об адресе назначения этого пакета. Для того чтобы протоколы сетевого уровня могли доставлять пакеты любому узлу составной сети, эти узлы должны иметь адреса, уникальные в пределах данной составной сети. Такие адреса называются сетевыми, или глобальными. Каждый узел составной сети, который намерен обмениваться данными с другими узлами составной сети, должен иметь сетевой адрес наряду с адресом, назначенным ему на канальном уровне. Например, на рис. 5-23_2 компьютер в сети Ethernet, входящей в составную сеть, имеет адрес канального уровня МАС1 и адрес сетевого уровня NET-A1; аналогично в сети ATM узел, адресуемый идентификаторами виртуальных каналов ID1 и ID2, имеет сетевой адрес NET-A2. Маршрут описывается последовательностью сетей (или маршрутизаторов), через которые должен пройти пакет, чтобы попасть к адресату. Маршрутизатор собирает информацию о топологии связей между сетями и на ее основании строит таблицы коммутации, которые в данном случае носят специальное название таблиц маршрутизации.
7 Сетевой уровень Для того чтобы передать пакет через очередную сеть, сетевой уровень помещает свой пакет в поле данных кадра соответствующей канальной технологии, указывая в заголовке кадра канальный адрес интерфейса следующего маршрутизатора. Сеть, используя свою канальную технологию, доставляет кадр с инкапсулированным в него пакетом по заданному адресу. Маршрутизатор извлекает пакет из прибывшего кадра и после необходимой обработки передает пакет для дальнейшей транспортировки в следующую сеть, предварительно упаковав его в новый кадр канального уровня в общем случае другой технологии. На сетевом уровне определяются два вида протоколов. Первый вид маршрутизируемые протоколы реализуют продвижение пакетов через сеть. Второй вид протоколов, называется маршрутизирующими протоколами, или протоколами маршрутизации. С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений, на основании которой осуществляется выбор маршрута продвижения пакетов. Сетевой уровень, также решает задачу создания надежных и гибких барьеров на пути нежелательного трафика между сетями. В настоящее время самым распространенным, достаточным является сетевой протокол TCP/IP. Для рассмотрения его определимся, с адресацией, а именно: что означают локальные (аппаратные ) адреса, сетевые адреса IP, символьные (доменные) адреса.
8 Сетевой уровень Локальные адреса В большинстве технологий LAN (Ethernet, FDDI, Token Ring) для однозначной адресации интерфейсов используются МАС-адреса. Существует немало технологий (Х.25, ATM, Frame relay), в которых применяются другие схемы адресации. Будучи автономными, такие сети используют свою схему адресации исключительно для обеспечения связи собственных узлов. Однако как только некоторая сеть объединяется с другими сетями, функциональность этих адресов расширяется, они становятся необходимым элементом вышележащей объединяющей технологии в данном случае технологии TCP/IP. Роль, которую играют эти адреса в TCP/IP, не зависит от того, какая именно технология используется в подсети, поэтому они имеют общее название локальные (аппаратные) адреса. Слово «локальный» в контексте TCP/IP означает «действующий не во всей составной сети, а лишь в пределах подсети». В качестве подсети («локальной сети») может выступать сеть, построенная как на основе локальной технологии, например Ethernet, FDDI, так и на основе глобальной технологии, например Х.25, Frame Relay.. Сложности могут возникнуть и при интерпретации определения «аппаратный». В данном случае термин «аппаратный» подчеркивает концептуальное представление разработчиков стека TCP/IP о подсети как о некотором вспомогательном аппаратном средстве, единственной функцией которого является перемещение IP-пакета через подсеть до ближайшего шлюза (маршрутизатора). И не важно, что реально нижележащая локальная технология может быть достаточно сложной, все ее сложности игнорируются технологией TCP/IP.
9 Сетевой уровень Сетевые IP-адреса Чтобы технология TCP/IP могла решать свою задачу объединения сетей, ей необходима собственная глобальная система адресации, не зависящая от способов адресации узлов в отдельных сетях. Эта система адресации должна позволять универсальным и однозначным способом идентифицировать любой интерфейс составной сети. Очевидным решением является уникальная нумерация всех сетей составной сети, а затем нумерация всех узлов в пределах каждой из этих сетей. Пара, состоящая из номера сети и номера узла, отвечает поставленным условиям и может служить в качестве сетевого адреса. В некоторых сетях используются МАС-адреса (Ethernet, Token Ring, IPX/SPX) в других иная адресация, поэтому была разработана универсальная адресация, независящая от применяемой технологии – это адресация IP. В технологии TCP/IP сетевой адрес называют IP-адрес. Каждый раз, когда пакет направляется адресату через составную сеть, в его заголовке указывается IP-адрес узла назначения. По номеру сети назначения каждый очередной маршрутизатор находит IP-адрес следующего маршрутизатора. При этом маршрутизатор имеет несколько интерфейсов, включенных в разные подсети и каждый имеет свой IP – адрес, конечный компьютер также может входить в несколько подсетей и соответственно иметь несколько IP-адресов. Таким образом, IP-адрес идентифицирует не отдельный компьютер или маршрутизатор, а одно сетевое соединение. При продвижении пакета через подсеть маршрутизатор определяет локальный адрес следующего маршрутизатора (MAC – адрес - рис. 5-23_3) с помощью протокола разрешения адресов (ARP).
10 Сетевой уровень Сетевые IP-адреса (продолжение) ARP ( Address Resolution Protocol протокол определения адреса) использующийся в компьютерных сетях протокол низкого уровня, предназначенный для определения адреса канального уровня по известному адресу сетевого уровня. Наибольшее распространение этот протокол получил благодаря повсеместности сетей IP, построенных поверх Ethernet.
11 Сетевой уровень Доменные имена Для идентификации компьютеров аппаратное и программное обеспечение в сетях TCP/IP полагается на IP-адреса. Например, команда ftp:// будет устанавливать сеанс связи с нужным ftp-сервером, а команда откроет начальную страницу на корпоративном веб-сервере. Однако пользователи обычно предпочитают работать с более удобными символьными именами компьютеров. Символьные идентификаторы сетевых интерфейсов в пределах составной сети строятся по иерархическому признаку. Составляющие полного символьного (или доменного) имени в IP-сетях разделяются точкой и перечисляются в следующем порядке: сначала простое имя хоста, затем имя группы хостов (например, имя организации), затем имя более крупной группы (домена) и так до имени домена самого высокого уровня (например, домена, объединяющего организации по географическому принципу: RU Россия, UK Великобритания, US США, BY -РБ). Примером доменного имени может служить имя - Между доменным именем и IP-адресом узла нет никакой функциональной зависимости, поэтому единственный способ установления соответствия это таблица. В сетях TCP/IP используется специальная система доменных имен (Domain Name System, DNS), которая устанавливает это соответствие на основании создаваемых администраторами сети таблиц соответствия. Поэтому доменные имена называют также DNS-именами. В общем случае сетевой интерфейс может иметь несколько локальных адресов, сетевых адресов, доменных имен.
12 Сетевой уровень Формат IP-адреса Заголовок IP-пакета содержит два поля: IP-адрес отправителя и получателя, каждое имеет фиксированную длину 4 байт (32 бит). IP- адрес состоит из двух логических частей -номера сети и номера узла в сети. Наиболее распространенной формой представления IP-адреса является запись в виде четырех чисел, представляющих значения каждого байта в десятичной форме и разделенных точками, например: Этот же адрес может быть представлен в двоичном формате: и в шестнадцатеричном формате: 80.0А D Заметим, что запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла, но необходимость в этом несомненно есть. Для решения этой проблемы можно предложить несколько вариантов. Простейший из них состоит в использовании фиксированной границы. При этом все 32-х битовое поле адреса заранее делится на две части не обязательно равной, но фиксированной длины, в одной из которых всегда будет размещаться номер сети, а в другой - номер узла. Решение очень простое, но хорошее ли? Очевидно, что такой жесткий подход не позволяет дифференцированно удовлетворять потребности отдельных предприятий и организаций. Именно поэтому он не нашел применения, хотя и использовался на начальном этапе существования технологии TCP/IP (RFC 760).
13 Сетевой уровень Формат IP-адреса (продолжение) Второй подход (RFC 950, RFC 1518) основан на использовании маски, которая позволяет максимально гибко устанавливать границу между номером сети и номером узла. При таком подходе адресное пространство можно использовать для создания множества сетей разного размера. Для этих целей наряду с IP адресом введено такое понятие как маска. Маска-это число, применяемо в паре с IP-адресом, причем двоичная запись маски содержит непрерывную последовательность единиц в тех разрядах, которые должны в IР- адресе интерпретироваться как номер сети. Граница между последовательностями единиц и нулей в маске соответствует границе между номером сети и номером узла в IP-адресе. И наконец, распространенный до недавнего времени способ решения данной проблемы заключается в использовании классов адресов (RFC 791). Вводится пять классов адресов: А, В, С, D, E. Три: из них- А, В и С- используются для адресации сетей, а два- D и Е- имеют специальное назначение. Для каждого класса сетевых адресов определено собственное положение границы между номером сети и: номером узла.
14 Сетевой уровень Классы IP-адресов. Признаком, на основании которого IP-адрес относится к тому или иному классу, являются значения нескольких первых битов адреса - таблица. 5-23_1 Таблица 5-23_1. Классы IP-адресов Клас с Первые биты Наименьший номер сети Наибольший номер сети Максимальное числю узлов в сети А (0 - не используется) (127 зарезерви рован) 2 24 поле 3 байта В , поле 2 байта С , поле 1 байт D Групповые адреса Е Зарезервирова но
15 Сетевой уровень Классы IP-адресов (продолжение) К классу А относится адрес, в котором старший бит имеет значение 0. В адресах класса А под идентификатор сети отводится 1 байт, а остальные 3 байта интерпретируются как номер узла, в сети. Сети, все IP-адреса которых имеют значение первого байта в диапазоне от 1 ( ) до 126 ( ), называются сетями класса. А. Значение 0 ( ) первого байта не используется, а значение 127 ( ) зарезервировано для "внутренней петли». Сетей класса А сравнительно немного, зато количество узлов в них может достигать 2 24, то есть узлов. К классу В относятся все адреса, старшие два бита которых имеют значение 10. В адресах класса В под номер сети и под номер узла отводится по два байта. Сети, значения первых двух байтов адресов которых находятся в диапазоне от ( ) до ( ), называются сетями класса В. Ясно, что сетей класса В больше, чем сетей класса А, а размеры их меньше.. Максимальное количество узлов в сетях класса В составляет 2 16 = (65 536). К классу С относятся все адреса, старшие три бита которых имеют значение 110. В адресах класса С под номер сети отводится 3 байта, а под номер узла 1 байт. Сети, старшие три байта которых находятся в диапазоне от ( ) до ( ), называются сетями: класса С. Сети класса С наиболее распространены и имеют наименьшее максимальное число узлов-2 8 степени (256).
16 Сетевой уровень Классы IP-адресов (продолжение) Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес (multicast address). В то время как адреса классов А, В и С используются для идентификации отдельных сетевых интерфейсов, то есть являются индивидуальными адресами (unicast address), групповой адрес идентифицирует группу сетевых интерфейсов, которые в общем случае могут принадлежать разным сетям. Интерфейс, входящий в группу, получает наряду с обычным индивидуальным IP-адресом еще один групповой адрес. Если при отправке пакета в качестве адреса назначения указан адрес класса D, то такой пакет должен быть доставлен всем узлам, которые входят в группу. Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу Е. Адреса этого класса зарезервированы для будущих применений. Чтобы получить из IP-адреса номер сети и номер узла, требуется не только разделить адрес на две соответствующие части, но и дополнить каждую из них нулями до полных 4 байт. Например, адрес класса В Первые два байта идентифицируют сеть, а последующие два- узел. Таким образом, номером сети является адрес , а номером узла - адрес
17 Сетевой уровень Особые IP-адреса (Ограничения при назначении IP адрессов) Существуют ограничения при назначении IP-адресов, а именно номера сетей и номера узлов не могут состоять из одних двоичных нулей или единиц. Отсюда следует, что максимальное количество узлов, приведенное в табл. 5-23_3.1 для сетей каждого класса, должно быть уменьшено на 2. Например, в адресах класса С под номер узла отводится 8 бит, которые позволяют задавать 256 номеров: от 0 до 255. Однако в действительности максимальное число узлов в сети класса С не может превышать 254, так как адреса 0 и 255 запрещены для адресации сетевых интерфейсов. Если IP-адрес состоит только из двоичных нулей, то он называется неопределенным адресом и обозначает адрес того узла, который сгенерировал этот пакет. Адрес такого вида в особых случаях помещается в заголовок IP-пакета в поле адреса отправителя. Если в поле номера сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет. Такой адрес также может быть использован только в качестве адреса отправителя. Если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такой адрес называется ограниченным широковещательным (limited broadcast). Ограниченность в данном случае означает, что пакет не выйдет за границы данной сети ни при каких условиях. (маршрутизаторы этого не допустят).
18 Сетевой уровень Особые IP-адреса (продолжение) Если в поле адреса назначения в разрядах, соответствующих номеру узла, стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети, номер которой указан в адресе назначения. Например, пакет с адресом будет направлен всем узлам сети Такой тип адреса называется широковещательным (broadcast). Внимание! В протоколе IP нет понятия широковещания в том смысле, в котором оно используется в протоколах канального уровня локальных сетей, когда данные должны быть доставлены абсолютно всем узлам сети. Как ограниченный, так и обычный варианты широковещательной рассылки имеют пределы распространения в составной сети они ограничены либо сетью, которой принадлежит источник пакета, либо сетью, номер которой указан в адресе назначения. Поэтому деление сети с помощью маршрутизаторов на части локализует широковещательный шторм пределами одной из подсетей просто потому, что нет способа адресовать пакет одновременно всем узлам всех сетей составной сети.
19 Сетевой уровень Особый смысл имеет IP-адрес, первый октет которого равен 127. Этот адрес является внутренним адресом стека протоколов компьютера (или маршрутизатора). Он используется для тестирования программ, а также для организации работы клиентской и серверной частей приложения, установленных на одном компьютере. Обе программные части данного приложения спроектированы в расчете на то, что они будут обмениваться сообщениями по сети. Для того, чтобы серверная часть приложения могла обмениваться с клиентской было принято решение применение внутреннего адреса В IP-сети запрещается присваивать сетевым интерфейсам IP-адреса, начинающиеся со 127. Когда программа посылает данные по IP-адресу 127.х.х.х, то данные не передаются в сеть, а возвращаются модулям верхнего уровня того же компьютера как только что принятые. Маршрут перемещения данных образует «петлю», поэтому этот адрес называется адресом обратной петли (loopback). Групповые адреса (multicast), относящиеся к классу D, предназначены для экономичного распространения в Интернете или большой корпоративной сети аудио- или видеопрограмм, адресованных сразу большой аудитории слушателей или зрителей. Если групповой адрес помещен в поле адреса назначения IP-пакета, то данный пакет должен быть доставлен сразу нескольким узлам, которые образуют группу с номером, указанным в поле адреса. Один и тот же узел может входить в несколько групп. В общем случае члены группы могут распределяться по различным сетям, находящимся друг от друга на произвольно большом расстоянии.
20 Сетевой уровень Использование масок при IP-адресации Снабжая каждый IP-адрес маской, можно отказаться от понятий классов адресов и сделать более гибкой систему адресации. Пусть, например, для IP-адреса указана маска , то есть в двоичном виде IP-адрес это: , а маска это: Если игнорировать маску и интерпретировать адрес на основе классов, то номером сети является , а номером узла (поскольку адрес относится к классу В). Если же использовать маску, то 17 последовательных двоичных единиц в маске , «наложенные» на IP-адрес , делят его на две части: номер сети: ; номер узла: В десятичной форме записи номера сети и узла, дополненные нулями до 32 бит, выглядят, соответственно, как и Наложение маски можно интерпретировать как выполнение логической операции «И» (AND). Так, в предыдущем примере номер сети из адреса является результатом выполнения логической операции AND с маской : AND
21 Сетевой уровень Использование масок при IP-адресации (продолжение) Для стандартных классов сетей маски имеют следующие значения: класс А ( ); класс В ( ); класс С ( ). При использовании масок часто используют запись формата: /16. Сама маска может быть представлена в формате шестнадцатеричных чисел-FF.FF Механизм масок широко распространен в IP-маршрутизации, причем маски могут использоваться для самых разных целей. С их помощью администратор может разбивать одну, выделенную ему поставщиком услуг сеть определенного класса, на несколько других, не требуя дополнительных номеров сетей эта операция называется разделением на подсети (sub netting). На основе этого же механизма поставщики услуг могут объединять адресные пространства нескольких сетей путем введения так называемых «префиксов» для уменьшения объема таблиц маршрутизации и повышения за счет этого производительности маршрутизаторов такая операция называется объединением подсетей (super netting).
22 Сетевой уровень Порядок назначения IP-адресов По определению схема IP-адресации должна обеспечивать уникальность нумерации сетей, а также уникальность нумерации узлов в пределах каждой из сетей. Следовательно, процедуры назначения номеров как сетям, так и узлам сетей должны быть централизованными. Рекомендуемый порядок назначения IP-адресов дается в RFC Назначение адресов автономной сети В небольшой же автономной IP-сети условие уникальности номеров сетей и узлов может быть выполнено силами сетевого администратора. В этом случае в распоряжении администратора имеются все адресное пространство, так как совпадение IP-адресов в не связанных между собой сетях не вызовет никаких отрицательных последствий, Администратор может выбирать адреса произвольным образом, соблюдая лишь синтаксические правила и учитывая ограничения на особые адреса. Для того чтобы избежать совпадений с внешними адресами глобальной сети Интернет в стандартах Интернета определено несколько так называемых частных адресов, рекомендуемых для автономного использования: в классе А сеть ; в классе В диапазон из 16 номеров сетей ; в классе С - диапазон из 255 сетей
23 Сетевой уровень Эти адреса, исключенные из множества централизованно распределяемых, составляют огромное адресное пространство, достаточное для нумерации узлов автономных сетей практически любых размеров. Заметим также, что частные адреса, как и при произвольном выборе адресов, в разных автономных сетях могут совпадать. В то же время использование частных адресов для адресации автономных сетей делает возможным корректное подключение их к Интернету. Применяемые при этом специальные технологии подключения исключают коллизии адресов.
24 Сетевой уровень Централизованное распределение адресов В больших сетях, подобных Интернету, уникальность сетевых адресов гарантируется централизованной, иерархически организованной системой их распределения. Номер сети может быть назначен только по рекомендации специального подразделения Интернета. Главным органом регистрации глобальных адресов в Интернете с 1998 года является неправительственная некоммерческая организация ICANN (Internet Corporation for Assigned Names and Numbers). Эта организация координирует работу региональных отделов, деятельность которых охватывает большие географические площади: ARIN Америка, RIPE (Европа), APNIC (Азия и Тихоокеанский регион). Региональные отделы выделяют блоки адресов сетей крупным поставщикам услуг, а те, в свою очередь, распределяют их между своими потребителями. Проблемой централизованного распределения адресов является их дефицит. Уже сравнительно давно очень трудно получить адрес класса В и практически невозможно стать обладателем адреса класса А. При этом надо отметить, что дефицит обусловлен не только ростом сетей, но и тем, что имеющееся адресное пространство используется нерационально.
25 Сетевой уровень Рис. 5-23_4. Нерациональное использование пространства IP адресов Очень часто владельцы сетей класса С расходуют лишь небольшую часть из имеющихся у них 254 адресов Рис. 5-23_3.4 Для смягчения проблемы дефицита адресов разработчики стека TCP/IP предлагают разные подходы. Принципиальным решением является переход на новую версию протокола IP протокол IPv6, в котором резко расширяется адресное пространство. Однако и текущая версия протокола IP (IPv4) поддерживает технологии, направленные на более экономное расходование IP-адресов, такие например, как NAT и CIDR.
26 Сетевой уровень Адресация и технология CIDR Технология бесклассовой междоменной маршрутизации (Classless Inter-Domain Routing, CIDR), которая описана в документах RFC 1517, RFC 1518, RFC 1519, RFC 1520 и о которой впервые было официально объявлено в 1993 году, позволяет центрам распределения адресов избежать выдачи абонентам излишних адресов. Деление IP-адреса на номер сети и номер узла в технологии CIDR происходит не на основе нескольких старших битов, определяющих класс сети (А, В или С), а на основе маски переменной длины, назначаемой поставщиком услуг. Непременным условием применимости CIDR является наличие у организации, распоряжающейся адресами, непрерывных диапазонов адресов. Такие адреса имеют одинаковый префикс, то есть одинаковые цифры в нескольких старших разрядах.
27 Сетевой уровень Рис. 5-23_5 Распределение адресов на основе CIDR
28 Сетевой уровень Пусть в распоряжении некоторого поставщика услуг имеется непрерывное пространство IP-адресов в количестве 2 n (рис. 5-23_5). Отсюда следует, что префикс имеет длину (32 - n) разрядов. Оставшиеся n разрядов играют роль счетчика последовательных номеров. Когда потребитель обращается к поставщику услуг с просьбой о выделении ему некоторого числа адресов, то в имеющемся пуле адресов «вырезается» непрерывная область SI, S2 или S3, в зависимости от требуемого количества адресов. При этом должны быть выполнены следующие условия: количество адресов в выделяемой области должно быть равно степени двойки, начальная граница выделяемого пула адресов должна быть кратна требуемому количеству узлов. Очевидно, что префикс каждой из показанных на рисунке областей имеет собственную длину чем меньше количество адресов в данной области, тем длиннее, ее префикс. Благодаря CIDR поставщик услуг получает возможность «нарезать» блоки из выделенного ему адресного пространства в соответствии с действительными требованиями каждого клиента.
29 Сетевой уровень Схема IP-маршрутизации Рассмотрим. механизм IP-маршрутизации на примере составной сети, представленной на рис этой сети 20 маршрутизаторов (изображенных в виде пронумерованных квадрантных блоков) объединяют 18 сетей в общую сеть; NI,N2, , N18-это номера сетей. На каждом маршрутизаторе и конечных узлах А и В установлены протоколы IP. Маршрутизаторы имеют по несколько интерфейсов (портов), к которым присоединяются сети. Каждый интерфейс маршрутизатора можно рассматривать как отдельный узел сети: он имеет сетевой адрес и локальный адрес в той подсети, которая к непосредственно подключена. Например, маршрутизатор под номером 1 имеет три интерфейса, к которым подключены сети N1,N2, N3. На рисунке сетевые адреса этих портов обозначены IР 11, IP 12 и IР 13. Интерфейс IР 11 является узлом сети N1, и следовательно в поле номера сети порта IР 11 содержится номер N1. Аналогично интерфейс IР 12 узел в сети N2, а порт IР 13 -узел в сети N3. Таким образом, маршрутизатор можно рассматривать как совокупность нескольких узлов, каждый из которых входит в свою сеть. Как единое устройство маршрутизатор не имеет ни отдельного сетевого, ни локального адреса. ПРИМЕЧАНИЕ Если маршрутизатор имеет блок управления (например, SNMP-управления), то этот блок имеет собственные локальный и сетевой адреса, по которым к нему обращается центральная станция управления.
30 Сетевой уровень В сложных составных сетях почти всегда существуют несколько альтернативных маршрутов для передачи пакетов между двумя конечными узлами. Так, пакет, отправленный из узла А в узел В, может пройти через маршрутизаторы 17, 12, 5, 4 и 1 или маршрутизаторы 17, 13, 7, 6 и 3. Нетрудно найти еще несколько маршрутов между узлами А и В. Задачу выбора маршрута из нескольких возможных решают маршрутизаторы, а также конечные узлы. Маршрут выбирается на основании имеющейся у этих устройств информации о текущей конфигурации сети, а также на основании критерия выбора маршрута. В качестве критерия часто выступает задержка прохождения маршрута отдельным пакетом, средняя пропускная способность маршрута для последовательности пакетов или наиболее простой критерий, учитывающий только количество пройденных в маршруте промежуточных маршрутизаторов (ретрансляционных участков, или хопов). Полученная в результате анализа информация о маршрутах дальнейшего следования пакетов помещается в таблицу маршрутизации.
31 Рис Принципы маршрутизации в составной сети
32 Сетевой уровень Упрошенная таблица маршрутизации Используя условные обозначения для сетевых адресов маршрутизаторов и номеров сетей в том виде, как они приведены на рис , посмотрим, как могла бы выглядеть таблица маршрутизации, например, в маршрутизаторе 4 (табл. 5-23_2). ПРИМЕЧАНИЕ Таблица 5-23_2 значительно упрощена по сравнению с реальными таблицами, например, здесь отсутствуют столбцы с масками, признаками состояния маршрута, временем, в течение которого действительны записи данной таблицы. Вместо номера сети назначения может быть указан полный сетевой адрес отдельного узла назначения. Кроме того, как: уже отмечалось, здесь указаны адреса сетей условного формата, не соответствующие какому-либо определенному сетевому протоколу. Тем не менее эта таблица содержит основные поля, имеющиеся в реальных таблицах. Первый столбец таблицы содержит адреса назначения пакетов. В каждой строке таблицы следом за адресом назначения указывается сетевой адрес следующего маршрутизатора (точнее, сетевой адрес интерфейса следующего маршрутизатора), на который надо направить пакет, чтобы: тот передвигался по направлению к заданному адресу по рациональному маршруту.
33 Таблица Таблица маршрутизации маршрутизатора 4 Адрес назначения Сетевой адрес следующего маршрутизатора Сетевой адрес выходного порта Расстояние до сети назначения N1IP12 (R1)IP411 N2-IP410 (подсоединена) N3IP12 (Rl)IP411 N4IP21 (R2)IP411 N5-IP420(подсоединена) N6IP21 (R2)IP412 1РвIP21 (R2)IP412 Маршрут по умолчанию IP51 (R5)IP42
34 Сетевой уровень Перед тем как передать пакет следующему маршрутизатору, текущий маршрутизатор должен определить, на какие из нескольких собственных портов (IP 41 или IP 42 ) он должен поместить данный пакет. Для этого служит третий столбец таблицы маршрутизации, содержащий сетевые адреса выходных интерфейсов. Некоторые реализации сетевых протоколов допускают наличие в таблице маршрутизации сразу нескольких строк, соответствующих одномy и тому же адресу назначения, В этом случае при выборе маршрута принимается во внимание столбец «расстояние до сети назначения». При этом расстояние измеряется в любой метрике, используемой в соответствии с заданным в сетевом пакете критерием. Расстояние может измеряться временем прохождения пакета по линиям связи, различными характеристиками надежности линий связи на данном маршруте, пропускной способностью или другой величиной, отражающей качество данного маршрута по отношению к заданному критерию. В табл. 5-23_2 расстояние между сетями измеряется хопами. Расстояние для сетей, непосредственно подключенных к портам маршрутизатора, здесь принимается равным 0, однако в некоторых реализациях отсчет расстояний начинается с 1. Когда пакет поступает на маршрутизатор, модуль IP извлекает из поступившего заголовка кадра номер сети назначения и последовательно сравнивает его с номерами сетей: из каждой строки таблицы. Строка с совпавшим номером сети, указывает ближайший маршрутизатор, на который следует направить пакет. Например, если на какой либо порт маршрутизатора 4 поступает пакет, адресованный в сеть N6, то из таблицы маршрутизации следует, что адрес следующего маршрутизатора - IР 21 то есть очередным этапом продвижения данного пакета будет движение к порту 1 маршрутизатора 2.
35 Сетевой уровень Чаще всего в качестве адреса назначения в таблице указывается не весь IP- адрес, а только номер сети назначения. Таким образом, для всех пакетов, направляемых в одну и ту же сеть, протокол IP будет предлагать один и тот же маршрут (мы пока не принимаем во внимание возможные изменения в состоянии сети: отказы маршрутизаторов или обрывы кабелей). Однако в некоторых случаях возникает необходимость для одного из узлов сети: определить специфический маршрут, отличающийся от маршрута, заданного для всех остальных узлов сети. Для этого в таблицу маршрутизации помещают для данного узла отдельную строку, содержащую его полный IP-адрес и соответствующую маршрутную информацию. Такого рода запись имеется в табл. 5-23_4 для узла В. Пусть, например, администратор маршрутизатора 4, руководствуясь соображениями безопасности, решил, что пакеты:, следующие в узел: В (полный адрес 1Р в ), должны идти: через маршрутизатор 2 (интерфейс IP 21 ), а не маршрутизатор 1 (интерфейс 1Р 12 ), через который передаются пакеты всем остальным узлам сети N3. Если: в таблице имеются записи о маршрутах как к сети в целом, так: и: к ее отдельному узлу, то при поступлении пакета, адресованного данному узлу маршрутизатор отдаст предпочтение специфическому маршруту.
36 Сетевой уровень Поскольку пакет может быть адресован в любую сеть составной сети, может показаться, что каждая таблица, маршрутизации должна иметь записи: обо всех сетях, входящих в составную сеть. Но при таком подходе в случае крупной сети: объем таблиц маршрутизации может оказаться очень большим, что повлияет на время ее просмотра, потребует много места для хранения и т. п. Поэтому на практике широко известен прием; уменьшения количества записей в таблице маршрутизации, основанный на введении маршрута по умолчанию (default route). В этом приеме используются особенности топологии сети,. Рассмотрим, например, маршрутизаторы, находящиеся на периферии составной сети., В их таблицах достаточно записать номера только тех сетей, которые непосредственно подсоединены к данному маршрутизатору или расположены поблизости, на тупиковых маршрутах. Обо всех же остальных сетях можно сделать в таблице единственную запись, указывающую на маршрутизатор, через который пролегает путь ко всем: этим сетям. Такой маршрутизатор называется маршрутизатором по умолчанию (default router)., В нашем примере маршрутизатор 4 указывает специфические маршруты только для пакетов, следующих в сети N1-N6. Для всех остальных пакетов, адресованных в сети N7-N18, маршрутизатор предлагает продолжить путь через один и тот же порт IР 51 маршрутизатора 5, который в данном случае и является маршрутизатором по умолчанию.
37 Сетевой уровень Таблицы маршрутизации конечных узлов Задачу маршрутизации решают не только промежуточные (маршрутизаторы), но и конечные узлы компьютеры. Решение этой задачи начинается с того, что протокол IP, установленный на конечном узле, определяет, направляется ли пакет в другую сеть или адресован какому-нибудь узлу данной сети. Если номер сети назначения совпадает с номером данной сети, это означает, что пакет маршрутизировать не требуется. В противном случае маршрутизация нужна. Структуры таблиц маршрутизации конечных узлов и транзитных маршрутизаторов аналогичны. Обратимся снова к сети, изображенной на рис. 5-23_6. Таблица маршрутизации конечного узла В, принадлежащего сети N3, могла бы выглядеть следующим образом (табл. 5-23_3). Здесь IР В сетевой адрес интерфейса компьютера В. На основании этой таблицы конечный узел В выбирает, на какой из двух имеющихся в локальной сети N3 маршрутизаторов (R1 или R3) следует посылать тот или иной пакет.
38 Таблица Таблица маршрутизации конечного узла В Номер сети назначения Сетевой адрес следующего маршрутизатор а Сетевой адрес выходного порта Расстояние до сети назначения N1IP 13 (R1)IP B 1 N2IP 13 (R1)IP B 1 N3-IP B 0 N4IP 31 (R3)IP B 1 N5IP 13 (R1)IP B 2 N6IP 31 (R3)IP B 2 Маршрут по умолчанию IP 31 (R3)IP B
39 Сетевой уровень Конечные узлы в еще большей степени, чем маршрутизаторы, пользуются приемом маршрутизации по умолчанию. Хотя они также в общем случае имеют в своем распоряжении таблицу маршрутизации, ее объем обычно незначителен, что объясняется периферийным расположением всех конечных узлов. Конечный узел часто вообще работает без таблицы маршрутизации, имея только сведения об адресе маршрутизатора по умолчанию. При наличии одного маршрутизатора в локальной сети этот вариант единственно возможный для всех конечных узлов. Но даже при наличии нескольких маршрутизаторов в локальной сети, когда перед конечным узлом стоит проблема их выбора, часто в компьютерах для повышения производительности прибегают к заданию маршрута по умолчанию. Рассмотрим таблицу маршрутизации другого узла составной сети узла А (табл. 5-23_4). Компактный вид таблицы маршрутизации узла А отражает тот факт, что все пакеты, направляемые из узла А, либо не выходят за пределы сети N12, либо проходят через порт 1 маршрутизатора 17. Этот маршрутизатор и определен в таблице маршрутизации в качестве маршрутизатора по умолчанию.
40 Сетевой уровень Еще одним отличием работы маршрутизатора и конечного узла является способ построения таблицы маршрутизации. Если маршрутизаторы, как правило, автоматически создают таблицы маршрутизации, обмениваясь служебной информацией, то для конечных узлов таблицы маршрутизации часто создаются вручную администраторами и хранятся в виде постоянных файлов на дисках. Таблица Таблица маршрутизации конечного узла А Номер сети назначени я Сетевой адрес следующего маршрутизато ра Сетевой адрес выходного порта Расстояние до сети назначения N12IPA0 Маршрут по умолчанию IP 17.1 (R17) IPA
41 Сетевой уровень Просмотр таблиц маршрутизации без масок Ниже приведен алгоритм просмотра таблицы маршрутизации протоколом IP, установленным на маршрутизаторе. При его описании мы будем использовать табл. 5-23_2 и рис. 5-23_6 1. Пусть на один из интерфейсов маршрутизатора поступает пакет. Протокол IP извлекает из пакета IP-адрес назначения (предположим, адрес назначения IРв). 2. Выполняется первая фаза просмотра таблицы поиск конкретного маршрута к узлу. IP-адрес (целиком) последовательно строка за строкой сравнивается с содержимым поля адреса назначения таблицы маршрутизации. Если произошло совпадение (как в табл. 5-23_2), то из соответствующей строки извлекаются адрес следующего маршрутизатора (IP21) и идентификатор выходного интерфейса (IP41). На этом просмотр таблицы заканчивается. 3. Предположим теперь, что в таблице нет строки с адресом назначения IРв, а значит, совпадения не произошло. В таком случае протокол IP переходит ко второй фазе просмотра поиску маршрута к сети назначения. Из IP-адреса выделяется номер сети (в нашем примере из адреса IРв выделяется номер сети N3), и таблица снова просматривается на предмет совпадения номера сети в какой-либо строке с номером сети из пакета. При совладении (а в нашем примере оно произошло) из соответствующей строки таблицы извлекаются адрес следующего маршрутизатора (IP12) и идентификатор выходного интерфейса (IP41). Просмотр таблицы на этом завершается. 4. Наконец, предположим, что адрес назначения в пакете был таков, что совпадения не произошло ни в первой, ни во второй фазах просмотра. В таком случае протокол IP либо выбирает маршрут по умолчанию (и пакет направляется по адресу IP51), либо, если маршрут по умолчанию отсутствует, отбрасывает пакет. Просмотр таблицы на этом заканчивается.
42 Сетевой уровень Просмотр таблиц маршрутизации с учетом масок Алгоритм просмотра таблиц маршрутизации, содержащих маски, имеет много общего с описанным выше алгоритмом просмотра таблиц, не содержащих маски. Однако в нем имеются и существенные изменения. 1. Поиск следующего маршрутизатора для вновь поступившего IP-пакета протокол начинает с того, что извлекает из пакета адрес назначения (обозначим его IPd). Затем протокол IP приступает процедуре просмотра таблицы маршрутизации, также состоящей из двух фаз, как и процедура просмотра таблицы, в которой столбец маски отсутствует. 2. Первая фаза состоит в поиске специфического маршрута для адреса IP D. С этой целью из каждой записи таблицы, в которой маска имеет значение , извлекается адрес назначения и сравнивается с адресом из пакета IPd. Если в какой-либо строке совпадение произошло, то адрес следующего маршрутизатора для данного пакета берется из данной строки. 3. Вторая фаза выполняется только в том случае, если во время первой фазы не произошло совпадения адресов. Она состоит в поиске неспецифического маршрута, общего для группы узлов, к которой относится и пакет с адресом IP D. Для этого IP заново просматривает таблицу маршрутизации, причем с каждой записью производятся следующие действия: 1) маска (обозначим ее М), содержащаяся в данной записи, «накладывается» на IP-адрес узла назначения IPd, извлеченный из пакета: IP D AND М; 2) полученное в результате число сравнивается со значением, которое помещено в поле адреса назначения той же записи таблицы маршрутизации; 3) если происходит совпадение, протокол IP соответствующим образом отмечает эту строку\ 4) если просмотрены не все строки, то IP-протокол аналогичным образом просматривает следующую строку, если все (включая строку о маршруте по умолчанию), то просмотр записей заканчивается и происходит переход к следующему шагу.
43 Сетевой уровень Просмотр таблиц маршрутизации с учетом масок (продолжение) 4. После просмотра всей таблицы маршрутизатор выполняет одно их трех действий: 1) если не произошло ни одного совпадения и маршрут по умолчанию отсутствует, то пакет отбрасывается; 2) если произошло одно совпадение, то пакет отправляется по маршруту, указанному в строке с совпавшим адресом; 3) если произошло несколько совпадений, то все помеченные строки сравниваются и выбирается маршрут из той строки, в которой количество совпавших двоичных разрядов наибольшее (другими словами, в ситуации, когда адрес назначения пакета принадлежит сразу нескольким подсетям, маршрутизатор использует наиболее специфический маршрут). ПРИМЕЧАНИЕ - Во многих таблицах маршрутизации запись с адресом и маской соответствует маршруту по умолчанию. Действительно, любой адрес в пришедшем пакете после наложения на него маски даст адрес сети , что совпадает с адресом, указанным в записи. Поскольку маска имеет нулевую длину, то этот маршрут считается самым неспецифическим и используется только при отсутствии совпадений с остальными записями из таблицы маршрутизации.
44 Сетевой уровень Проиллюстрируем, как маршрутизатор R2 (см. рис ) использует вышеописанный алгоритм для работы со своей таблицей маршрутизации (см. табл ). Пусть на маршрутизатор R2 поступает пакет с адресом назначения Модуль IP, установленный на этом маршрутизаторе, прежде всего сравнит этот адрес с адресом , для которого определен специфический маршрут. Совпадения нет, поэтому модуль IP начинает последовательно обрабатывать все строки таблицы, накладывая маски и сравнивая результаты до тех пор, пока не найдет совпадения номера сети в адресе назначения и в строке таблицы. В результате определяется маршрут для пакета он должен быть отправлен на выходной порт маршрутизатора в сеть , непосредственно подключенную к данному маршрутизатору.
45 Рис Маршрутизация с использованием масок переменной длины
46 Таблица 5-23_5. Таблица маршрутизатора R2 в сети с масками постоянной длины Адрес назначения Маска Адрес следующего маршрутизатора Адрес порта Расстояние Подключена Подключена
47 Сетевой уровень Использование масок переменной длины Во многих случаях более эффективным является разбиение сети на подсети разного размера. В частности, для подсети, которая связывает два маршрутизатора по двухточечной схеме, даже количество адресов сети класса С явно является избыточным. На рис приведен другой пример распределения того же адресного пространства /16, что и в предыдущем примере. Здесь половина из имеющихся адресов (2 15 ) отведена для создания сети с адресом и маской Следующая порция адресов, составляющая четверть всего адресного пространства (2 14 ), назначена для сети с маской Далее в пространстве адресов был «вырезан» небольшой фрагмент для создания сети, предназначенной для связывания внутреннего маршрутизатора R2 с внешним маршрутизатором R1. Для нумерации узлов в такой вырожденной сети достаточно отвести два двоичных разряда. Из четырех возможных комбинаций номеров узлов: 00, 01, 10 и два номера имеют специальное назначение и не могут быть присвоены узлам, но оставшиеся два 10 и 01 позволяют адресовать порты маршрутизаторов. Поле номера узла в таком случае имеет два двоичных разряда, маска в десятичной нотации имеет вид , а номер сети как видно из рисунка, равен
48 Сетевой уровень ПРИМЕЧАНИЕ - Глобальным связям между маршрутизаторами, соединенными по двухточечной схеме, не обязательно давать IP-адреса. Однако чаще всего такой вырожденной сети все же дают IP-адрес. Кроме прочего, это делается, например, для того, чтобы скрыть внутреннюю структуру сети и обращаться к ней по одному адресу входного порта маршрутизатора, в данном примере по адресу , применяя технику трансляции сетевых адресов (Network Address Translator, NAT). Оставшееся адресное пространство администратор может «нарезать» на разное количество сетей разного объема в зависимости от своих потребностей. Из оставшегося пула ( ) адресов администратор может образовать еще одну достаточно большую сеть с числом узлов При этом свободными останутся почти столько же адресов ( ), которые также могут быть использованы для создания новых сетей. К примеру, из этого «остатка» можно образовать 31 сеть, каждая из которых равна размеру сети класса С, и к тому же еще несколько сетей меньшего размера. Ясно, что разбиение может быть другим, но в любом случае с помощью масок переменного размера администратор имеет больше возможностей рационально использовать все имеющиеся у него адреса. На рис показан пример сети, структурированной с помощью масок переменной длины.
49 Сетевой уровень Пусть поступивший на R2 пакет имеет адрес назначения Поскольку специфические маршруты в таблице отсутствуют, маршрутизатор переходит ко второй фазе фазе последовательного анализа строк на предмет поиска совпадения с адресом назначения: ( ) AND ( ) нет совпадения; ( ) AND ( ) = нет совпадения; ( ) AND ( ) = совпадение; ( ) AND ( ) = нет совпадения. Таким образом, совпадение имеет место в одной строке. Пакет будет отправлен в непосредственно подключенную к данному маршрутизатору сеть на выходной интерфейс Если пакет с адресом поступает из внешней сети, и маршрутизатор R1 не использует маски, пакет передается маршрутизатору R2, а потом снова возвращается в соединительную сеть. Очевидно, что такие передачи пакета не выглядят рациональными. Маршрутизация будет более эффективной, если в таблице маршрутизации маршрутизатора R1 маршруты будут заданы масками переменной длины (табл ). Первая из приведенных двух записей говорит о том, что все пакеты, адреса которых начинаются с , должны быть переданы на маршрутизатор R2. Эта запись выполняет агрегирование адресов всех подсетей, созданных на базе одной сети Вторая строка говорит о том, что среди всех возможных подсетей сети есть одна ( /30), которой пакеты можно направлять непосредственно, а не через маршрутизатор R2
50 Сетевой уровень ПРИМЕЧАНИЕ - В IP-пакетах при использовании механизма масок по-прежнему передается только IP- адрес назначения, а маска сети назначения не передается. Поэтому из IP-адреса пришедшего пакета невозможно выяснить, какая часть адреса относится к номеру сети, а какая к номеру узла. Если маски во всех подсетях имеют один размер, то это не создает проблем. Если же для образования подсетей применяют маски переменной длины, то маршрутизатор должен каким-то образом узнавать, каким адресам сетей какие маски соответствуют. Для этого используются протоколы маршрутизации, переносящие между маршрутизаторами не только служебную информацию об адресах сетей, но и о масках, соответствующих этим номерам. К таким протоколам относятся протоколы RIPv2 и OSPF, а вот, например, протокол RIP маски не переносит и для масок переменной длины не подходит.
51 Список использованных источников В.Г. Олифер, Н.А. Олифер Компьютерные сети, 3-е издание, 2009г.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.