Спецификации физической среды Ethernet
Исторически первые сети технологии Ethernet были созданы на коаксиальном кабеле диаметром 0.5 дюйма. В дальнейшем были определены и другие спецификации физического уровня для стандарта Ethernet, позволяющие использовать различные среды передачи данных в качестве общей шины. Метод доступа CSMA/CD и все временные параметры Ethernet остаются одними и теми же для любой спецификации физической среды.
Физические спецификации технологии Ethernet на сегодняшний день включают следующие среды передачи данных:
10Base-5 - коаксиальный кабель диаметром 0.5 дюйма, называемый "толстым" коаксиалом. Имеет волновое сопротивление 50 Ом. Максимальная длина сегмента - 500 метров (без повторителей).
10Base-2 - коаксиальный кабель диаметром 0.25 дюйма, называемый "тонким" коаксиалом. Имеет волновое сопротивление 50 Ом. Максимальная длина сегмента - 185 метров (без повторителей).
10Base-T - кабель на основе неэкранированной витой пары (Unshielded Twisted Pair, UTP). Образует звездообразную топологию с концентратором. Расстояние между концентратором и конечным узлом - не более 100 м.
10Base-F - оптоволоконный кабель. Топология аналогична стандарту на витой паре. Имеется несколько вариантов этой спецификации - FOIRL, 10Base-FL, 10Base-FB.
Число 10 обозначает битовую скорость передачи данных этих стандартов - 10 Мб/с, а слово Base - метод передачи на одной базовой частоте 10 МГц (в отличие от стандартов, использующих несколько несущих частот, которые называются broadband - широкополосными).
ЛЕКЦИЯ 5
ПРОТОКОЛ TCP/IP, СЛУЖБА DNS
5.1 Основы функционирования протокола TCP/IP
Адресация узлов в IP-сетях
В сетях TCP/IP принято различать адреса сетевых узлов трех уровней:
· физический (или локальный) адрес узла (МАС-адрес сетевого адаптера или порта маршрутизатора); эти адреса назначаются производителями сетевого оборудования;
· IP-адрес узла (например, 192.168.0.1), данные адреса назначаются сетевыми администраторами или Интернет-провайдерами;
· символьное имя (например, www.microsoft.com); эти имена также назначаются сетевыми администраторами компаний или Интернет-провайдерами.
Рассмотрим подробнее IP-адресацию. Компьютеры или другие сложные сетевые устройства, подсоединенные к нескольким физическим сетям, имеют несколько IP-адресов — по одному на каждый сетевой интерфейс. Схема адресации позволяет проводить единичную, широковещательную и групповую адресацию. Таким образом, выделяют 3 типа IP-адресов.
1. Unicast-адрес (единичная адресация конкретному узлу) — используется в коммуникациях «один-к-одному».
2. Broadcast-адрес (широковещательный адрес, относящийся ко всем адресам подсети) — используется в коммуникациях «один-ко-всем». В этих адресах поле идентификатора устройства заполнено единицами. IP-адресация допускает широковещательную передачу, но не гарантирует ее — эта возможность зависит от конкретной физической сети. Например, в сетях Ethernet широковещательная передача выполняется с той же эффективностью, что и обычная передача данных, но есть сети, которые вообще не поддерживают такой тип передачи или поддерживают весьма ограничено.
3. Multicast-адрес (групповой адрес для многоадресной отправки пакетов) — используется в коммуникациях «один-ко-многим». Поддержка групповой адресации используется во многих приложений, например, приложениях интерактивных конференций. Для групповой передачи рабочие станции и маршрутизаторы используют протокол IGMP, который предоставляет информацию о принадлежности устройств определенным группам.
Unicast-адреса.
Каждый сетевой интерфейс на каждом узле сети должен иметь уникальный unicast-адрес. IP-адрес имеет длину 4 байта (или 32 бита). Для удобства чтения адресов 32-битные числа разбивают на октеты по 8 бит, каждый октет переводят в десятичную систему счисления и при записи разделяют точками.
Например, IP-адрес 11000000101010000000000000000001 записывается как 192.168.0.1.
IP-адрес состоит из двух частей — идентификатор сети (префикс сети, Network ID) и идентификатор узла (номер устройства, Host ID). Такая схема приводит к двухуровневой адресной иерархии. Идентификатор сети идентифицирует все узлы, расположенные на одном физическом или логическом сегменте сети, ограниченном IP-маршрутизаторами. Все узлы, находящиеся в одном сегменте должны имеет одинаковый идентификатор сети.
Идентификатор узла идентифицирует конкретный сетевой узел (сетевой адаптер рабочей станции или сервера, порт маршрутизатора). Идентификатор узла должен быть уникален для каждого узла внутри IP-сети, имеющей один идентификатор сети.
Таким образом, в целом IP-адрес будет уникален для каждого сетевого интерфейса всей сети TCP/IP.
Соотношение между идентификатором сети и идентификатором узла в IP-адресе определяется с помощью маски подсети (Network mask), которая имеет длину также 4 байта и также записывается в десятичной форме по 4 октета, разделенных точками. Старшие биты маски подсети, состоящие из 1, определяют, какие разряды IP-адреса относятся к идентификатору сети. Младшие биты маски, состоящие из 0, определяют, какие разряды IP-адреса относятся к идентификатору узла.
IP-адрес и маска подсети — минимальный набор параметров для конфигурирования протокола TCP/IP на сетевом узле.
Для обеспечения гибкости в присваивании адресов компьютерным сетям разработчики протокола определили, что адресное пространство IP должно быть разделено на три различных класса — А, В и С.
В дополнение к этим трем классам выделяют еще два класса. D — этот класс используется для групповой передачи данных. Е — класс, зарезервированный для проведения экспериментов.
IP-адреса класса А.
Старший бит любого IP-адреса в сети класса А всегда равен 0. Идентификатор сети состоит из 8 бит, идентификатор узла — 24 бита. Маска подсети для узлов сетей класса A — 255.0.0.0. (рис. 5.1).
Рис. 5.1. Структура IP-адресов класса А
IP-адреса класса B.
Два старших бита любого IP-адреса в сети класса B всегда равны 10. Идентификатор сети состоит из 16 бит, идентификатор узла — 16 бит. Маска подсети для узлов сетей класса B — 255.255.0.0.
Рис. 5.2. Структура IP-адресов класса B
IP-адреса класса C.
Три старших разряда любого IP-адреса в сети класса C всегда равны 110. Идентификатор сети состоит из 24 разрядов, идентификатор узла — из 8 разрядов. Маска подсети для узлов сетей класса C — 255.255.255.0.
Класс D
IP-адреса класса D используются для групповых адресов (multicast-адреса). Четыре старших разряда любого IP-адреса в сети класса D всегда равны 1110. Оставшиеся 28 бит используются для назначения группового адреса.
Класс E
Пять старших разряда любого IP-адреса в сети класса E равны 11110. Адреса данного класса зарезервированы для будущего использования (и не поддерживаются системой Windows Server).
Рис. 5.2. Структура IP-адресов класса C
Правила назначения идентификаторов сети (Network ID)
· первый октет идентификатора сети не может быть равен 127 (адреса вида 127.x.y.z предназначены для отправки узлом пакетов самому себе и используются как правило для отладки сетевых приложений, такие адреса называются loopback-адресами, или адресами обратной связи);
· все разряды идентификатора сети не могут состоять из одних 1 (IP-адреса, все биты которых установлены в 1, используются при широковещательной передаче информации);
· все разряды идентификатора сети не могут состоять из одних 0 (в IP-адресах все биты, установленные в ноль, соответствуют либо данному устройству, либо данной сети);
· идентификатор каждой конкретной сети должен быть уникальным среди подсетей, объединенных в одну сеть с помощью маршрутизаторов.
Диапазоны возможных идентификаторов сети приведены в таблице 5.1.
Класс сети | Наименьший идентификатор сети | Наибольший идентификатор сети | Количество сетей |
Класс A | 1.0.0.0 | 126.0.0.0 | |
Класс B | 128.0.0.0 | 191.0.0.0 | |
Класс C | 192.0.0.0 | 223.255.255.0 |
Правила назначения идентификаторов узла (Host ID)
· все разряды идентификатора узла не могут состоять из одних 1 (идентификатор узла, состоящий из одних 1, используется для широковещательных адресов, или broadcast-адресов);
· все разряды идентификатора сети не могут состоять из одних 0 (если разряды идентификатора узла равны 0, то такой адрес обозначает всю подсеть, например, адрес 192.168.1.0 с маской подсети 255.255.255.0 обозначает всю подсеть с идентификатором сети «192.168.1»;
· идентификатор узла должен быть уникальным среди узлов одной подсети.
Диапазоны возможных идентификаторов узла приведены в таблице 5.2.
Класс сети | Наименьший идентификатор узла | Наибольший идентификатор узла | Количество узлов |
Класс A | w.0.0.1 | w.255.255.254 | |
Класс B | w.x.0.1 | w.x.255.254 | |
Класс C | w.x.y.1 | w.x.y.254 |
Другим способом обозначения сети, более удобным и более кратким, является обозначение сети с сетевым префиксом. Такое обозначение имеет вид «/число бит маски подсети». Например, подсеть 192.168.1.0 с маской подсети 255.255.255.0 можно более кратко записать в виде 192.168.1.0/24, где число 24 длина маски подсети в битах.
Публичные и приватные (частные) IP-адреса
Все пространство IP-адресов разделено на 2 части: публичные адреса, которые распределяются между Интернет-провайдерами и компаниями международной организацией Internet Assigned Numbers Authority (сокращенно IANA), и приватные адреса, которые не контролируются IANA и могут назначаться внутрикорпоративным узлам по усмотрению сетевых администраторов. Если какая-либо компания приобрела IP-адреса в публичной сети, то ее сетевые узлы могут напрямую маршрутизировать сетевой трафик в сеть Интернет и могут быть прозрачно доступны из Интернета. Если внутрикорпоративные узлы имеют адреса из приватной сети, то они могут получать доступ в Интернет с помощью протокола трансляции сетевых адресов (NAT, Network Address Translation) или с помощью прокси-сервера. В простейшем случае с помощью NAT возможно организовать работу всей компании с использованием единственного зарегистрированного IP-адреса.
Механизм трансляции адресов NAT преобразует IP-адреса из частного адресного пространства IP (эти адреса еще называют «внутренние», или «серые IP») в зарегистрированное открытое адресное пространство IP. Обычно эти функции (NAT) выполняет либо маршрутизатор, либо межсетевой экран (firewall) — эти устройства подменяют адреса в заголовках проходящих через них IP-пакетов.
На практике обычно компании получают через Интернет-провайдеров небольшие сети в пространстве публичных адресов для размещения своих внешних ресурсов — web-сайтов или почтовых серверов. А для внутрикорпоративных узлов используют приватные IP-сети.
Пространство приватных IP-адресов состоит из трех блоков:
· 10.0.0.0/8 (одна сеть класса A);
· 172.16.0.0/12 (диапазон адресов, состоящий из 16 сетей класса B — от 172.16.0.0/16 до 172.31.0.0/16);
· 192.168.0.0/16 (диапазон адресов, состоящий из 256 сетей класса C — от 192.168.0.0/24 до 192.168.255.0/16).
Кроме данных трех блоков имеется еще блок адресов, используемых для автоматической IP-адресации (APIPA, Automatic Private IP Addressing). Автоматическая IP-адресация применяется в том случае, когда сетевой интерфейс настраивается для автоматической настройки IP-конфигурации, но при этом в сети отсутствует сервер DHCP. Диапазон адресов для APIPA — сеть класса B 169.254.0.0/16.
Отображение IP-адресов на физические адреса
Каждый сетевой адаптер имеет свой уникальный физический адрес (или MAC-адрес). За отображение IP-адресов адаптеров на их физические адреса отвечает протокол ARP (Address Resolution Protocol). Необходимость протокола ARP продиктована тем обстоятельством, что IP-адреса устройств в сети назначаются независимо от их физических адресов. Поэтому для доставки сообщений по сети необходимо определить соответствие между физическим адресом устройства и его IP-адресом — это называется разрешением адресов. В большинстве случаев прикладные программы используют именно IP-адреса. А так как схемы физической адресации устройств весьма разнообразны, то необходим специальный, универсальный протокол. Протокол разрешения адресов ARP был разработан таким образом, чтобы его можно было использовать для разрешения адресов в различных сетях. Фактически ARP можно использовать с произвольными физическими адресами и сетевыми протоколами. Протокол ARP предполагает, что каждое устройство знает как свой IP-адрес, так и свой физический адрес. ARP динамически связывает их и заносит в специальную таблицу, где хранятся пары «IP-адрес — физический адрес» (обычно каждая запись в ARP-таблице имеет время жизни 10 мин.). Эта таблица хранится в памяти компьютера и называется кэш протокола ARP (ARP-cache).
Работа протокола ARP заключается в отправке сообщений между сетевыми узлами:
· ARP Request(запрос ARP) — широковещательный запрос, отправляемый на физическом уровне модели TCP/IP, для определения MAC-адреса узла, имеющего конкретный IP-адрес;
· ARP Reply (ответ ARP) — узел, IP-адрес которого содержится в ARP-запросе, отправляет узлу, пославшему ARP-запрос, информацию о своем MAC-адресе;
· RARP Request, или Reverse ARP Request (обратный ARP-запрос) — запрос на определение IP-адреса по известному MAC-адресу;
· RARP Reply, или Reverse ARP Reply (обратный ARP-ответ) — ответ узла на обратный ARP-запрос.
Разбиение сетей на подсети с помощью маски подсети
Для более эффективного использования пространства адресов IP-сети с помощью маски подсети могут быть разбиты на более мелкие подсети (subnetting) или объединены в более крупные сети (supernetting).
Рассмотрим на примере разбиение сети 192.168.1.0/24 (сеть класса C) на более мелкие подсети. В исходной сети в IP-адресе 24 бита относятся к идентификатору сети и 8 бит — к идентификатору узла. Используем маску подсети из 27 бит, или, в десятичном обозначении, — 255.255.255.224, в двоичном обозначении — 11111111 11111111 11111111 11100000. Получим следующее разбиение на подсети:
Подсеть | Диапазон IP-адресов | Широковещательный адрес в подсети |
192.168.1.0/27 | 192.168.1.1–192.168.1.30 | 192.168.1.31 |
192.168.1.32/27 | 192.168.1.33–192.168.1.62 | 192.168.1.63 |
192.168.1.64/27 | 192.168.1.65–192.168.1.94 | 192.168.1.95 |
192.168.1.96/27 | 192.168.1.97–192.168.1.126 | 192.168.1.127 |
192.168.1.128/27 | 192.168.1.129–192.168.1.158 | 192.168.1.159 |
192.168.1.160/27 | 192.168.1.161–192.168.1.190 | 192.168.1.191 |
192.168.1.192/27 | 192.168.1.193–192.168.1.222 | 192.168.1.223 |
192.168.1.224/27 | 192.168.1.225–192.168.1.254 | 192.168.1.255 |
Таким образом, мы получили 8 подсетей, в каждой из которых может быть до 30 узлов. Напомним, что идентификатор узла, состоящий из нулей, обозначает всю подсеть, а идентификатор узла, состоящий из одних единиц, означает широковещательный адрес (пакет, отправленный на такой адрес, будет доставлен всем узлам подсети).
IP-адреса в данных подсетях будут иметь структуру:
Network ID | Host ID | ||||||||||||||||||||||||||||||
Отметим очень важный момент. С использованием такой маски узлы с такими, например, IP-адресами, как 192.168.1.48 и 192.168.1.72, находятся в различных подсетях, и для взаимодействия данных узлов необходимы маршрутизаторы, пересылающие пакеты между подсетями192.168.1.32/27 и 192.168.1.64/27.
Примечание. Согласно стандартам протокола TCP/IP для данного примера не должно существовать подсетей 192.168.1.0/27 и 192.168.1.224/27 (т.е. первая и последняя подсети). На практике большинство операционных систем (в т.ч. системы семейства Microsoft Windows) и маршрутизаторов поддерживают работу с такими сетями.
Аналогично, можно с помощью маски подсети объединить мелкие сети в более крупные.
Например, IP-адреса сети 192.168.0.0/21 будут иметь следующую структуру:
Network ID | Host ID | ||||||||||||||||||||||||||||||
Диапазон IP-адресов данной сети: 192.168.0.1–192.168.7.254 (всего — 2046 узлов), широковещательный адрес подсети — 192.168.7.255.
Преимущества подсетей внутри частной сети:
· разбиение больших IP-сетей на подсети (subnetting) позволяет снизить объем широковещательного трафика (маршрутизаторы не пропускают широковещательные пакеты);
· объединение небольших сетей в более крупные сети (supernetting) позволяет увеличить адресное пространство с помощью сетей более низкого класса;
· изменение топологии частной сети не влияет на таблицы маршрутизации в сети Интернет (хранят только маршрут с общим номером сети);
· размер глобальных таблиц маршрутизации в сети Интернет не растет;
· администратор может создавать новые подсети без необходимости получения новых номеров сетей.
Старшие биты IP-адреса используются рабочими станциями и маршрутизаторами для определения класса адреса. После того как класс определен, устройство может однозначно вычислить границу между битами, использующимися для идентификации номера сети, и битами номера устройства в этой сети. Однако при разбиении сетей на подсети или при объединении сетей для определения границ битов, идентифицирующих номер подсети, такая схема не подходит. Для этого как раз и используется 32-битная маска подсети, которая помогает однозначно определить требуемую границу. Напомним, что для стандартных классов сетей маски имеют следующие значения:
· 255.0.0.0 – маска для сети класса А;
· 255.255.0.0 - маска для сети класса В;
· 255.255.255.0 - маска для сети класса С.
Для администратора сети чрезвычайно важно знать четкие ответы на следующие вопросы:
· Сколько подсетей требуется организации сегодня?
· Сколько подсетей может потребоваться организации в будущем?
· Сколько устройств в наибольшей подсети организации сегодня?
· Сколько устройств будет в самой большой подсети организации в будущем?
Отказ от использования только стандартных классов IP-сетей (A, B, и C) называется бесклассовой междоменной маршрутизацией (Classless Inter-Domain Routing, CIDR).
Введение в IP-маршрутизацию
Для начала уточним некоторые понятия:
· сетевой узел (node) — любое сетевое устройство с протоколом TCP/IP;
· хост (host) — сетевой узел, не обладающий возможностями маршрутизации пакетов;
· маршрутизатор (router) — сетевой узел, обладающий возможностями маршрутизации пакетов
IP-маршрутизация — это процесс пересылки unicast-трафика от узла-отправителя к узлу –получателю в IP-сети с произвольной топологией.
Когда один узел IP-сети отправляет пакет другому узлу, в заголовке IP-пакета указываются IP-адрес узла отправителя и IP-адрес узла-получателя. Отправка пакета происходит следующим образом:
1) Узел-отправитель определяет, находится ли узел-получатель в той же самой IP-сети, что и отправитель (в локальной сети), или в другой IP-сети (в удаленной сети). Для этого узел-отправитель производит поразрядное логическое умножение своего IP-адреса на маску подсети, затем поразрядное логическое умножение IP-адреса узла получателя также на свою маску подсети. Если результаты совпадают, значит, оба узла находятся в одной подсети. Если результаты различны, то узлы находятся в разных подсетях.
2) Если оба сетевых узла расположены в одной IP-сети, то узел-отправитель сначала проверяет ARP-кэш на наличие в ARP-таблице MAC-адреса узла-получателя. Если нужная запись в таблице имеется, то дальше отправка пакетов производится напрямую узлу-получателю на канальном уровне. Если же в ARP-таблице нужной записи нет, то узел-отправитель посылает ARP-запрос для IP-адреса узла-получателя, ответ помещает в ARP-таблицу и после этого передача пакета также производится на канальном уровне (между сетевыми адаптерами компьютеров).
3) Если узел-отправитель и узел-получатель расположены в разных IP-сетях, то узел-отправитель посылает данный пакет сетевому узлу, который в конфигурации отправителя указан как «Основной шлюз» (default gateway). Основной шлюз всегда находится в той же IP-сети, что и узел-отправитель, поэтому взаимодействие происходит на канальном уровне (после выполнения ARP-запроса). Основной шлюз — это маршрутизатор, который отвечает за отправку пакетов в другие подсети (либо напрямую, либо через другие маршрутизаторы).
В данном примере 2 подсети: 192.168.0.0/24 и 192.168.1.0/24. Подсети объединены в одну сеть маршрутизатором. Интерфейс маршрутизатора в первой подсети имеет IP-адрес 192.168.0.1, во второй подсети — 192.168.1.1. В первой подсети имеются 2 узла: узел A (192.168.0.5) и узел B (192.168.0.7). Во второй подсети имеется узел C с IP-адресом 192.168.1.10.
Если узел A будет отправлять пакет узлу B, то сначала он вычислит, что узел B находится в той же подсети, что и узел A (т.е. в локальной подсети), затем узел A выполнит ARP-запрос для IP-адреса 192.168.0.7. После этого содержимое IP-пакета будет передано на канальный уровень, и информация будет передана сетевым адаптером узла A сетевому адаптеру узла B. Это пример прямой доставки данных (или прямой маршрутизации, direct delivery).
Если узел A будет отправлять пакет узлу C, то сначала он вычислит, что узел C находится в другой подсети (т.е. в удаленной подсети). После этого узел A отправит пакет узлу, который в его конфигурации указан в качестве основного шлюза (в данном случае это интерфейс маршрутизатора с IP-адресом 192.168.0.1). Затем маршрутизатор с интерфейса 192.168.1.1 выполнит прямую доставку узлу C. Это пример непрямой доставки (или косвенной маршрутизации, indirect delivery) пакета от узла A узлу C. В данном случае процесс косвенной маршрутизации состоит их двух операций прямой маршрутизации.
В целом процесс IP-маршрутизации представляет собой серии отдельных операций прямой или косвенной маршрутизации пакетов.
Каждый сетевой узел принимает решение о маршрутизации пакета на основе таблицы маршрутизации, которая хранится в оперативной памяти данного узла. Таблицы маршрутизации существуют не только у маршрутизаторов с несколькими интерфейсами, но и у рабочих станций, подключаемых к сети через сетевой адаптер. Таблицу маршрутизации в системе Windows можно посмотреть по команде route print. Каждая таблица маршрутизации содержит набор записей. Записи могут формироваться различными способами:
· записи, созданные автоматически системой на основе конфигурации протокола TCP/IP на каждом из сетевых адаптеров;
· статические записи, созданные командой route print или в консоли службы Routing and Remote Access Service;
· динамические записи, созданные различными протоколами маршрутизации (RIP или OSPF).