Операционная система Windows – однопользовательская операционная система корпорации Microsoft для ЛВС.
Windows является 32-разрядной многозадачной и многопоточной операционной системой, характеризующейся удобным графическим интерфейсом. Создана система для работы с персональными компьютерами ЛВС. Используя Windows, пользователь может эффективно работать сразу с несколькими прикладными процессами.
Windows выполняет более 600 функций полиэкранной технологии, снимая с программистов большую часть их работы. Операционная система содержит также обширные средства работы в сетях.
Windows характеризуется рядом важных особенностей:
- модульной расширяемостью архитектуры;
- способностью работать на многих аппаратных платформах;
- широким использованием средств аудио-, видеосистем.
Для операционной системы Windows фирма Microsoft предлагает ряд платформ и стандартных прикладных процессов. В их число входит комплекс программ Windows for Workgroups, который предназначен для коллективной работы абонентских систем в ЛВС.
Windows может также использоваться в качестве операционной платформы (рис. 31), располагаясь над другими операционными системами. В платформе выделяются два типа стандартных интерфейсов.
К ним относятся интерфейс операционной системы. Прикладные процессы (ПП) работают с любой из указанных систем, использую интерфейс прикладной программы (API). Развитием Windows стала сетевая операционная система Windows NT, которая предназначена для архитектуры клиент-сервер ЛВС и обеспечивает независимо от конкретного типа сети возможность использования различных протоколов транспортного уровня.
Операционная система является многозадачной (выполняет сразу несколько прикладных программ, используя идеи операционной системы UNIX). Основными целями рассматриваемой системы являются блочность структуры, легкая расширяемость, мигрируемость (переход от одной аппаратной платформы к другой), предоставление удобных интерфейсов
пользователя. Система организует несколько параллельно обрабатываемых потоков данных.
Система имеет 32-разрядную архитектуру и поддерживает локальные сети с широким кругом выполняемых функций. К ним в первую очередь относится:
- возможность каждой абонентской системе в сети быть сервером либо клиентом;
- совместная работа группы пользователей;
- предоставление информации в удобной и понятной форме;
- секретность большого числа файлов;
- адресация большой памяти;
- запуск одновременно нескольких прикладных процессов;
- поддержка мультипроцессорных систем;
- управление сетью;
- обеспечение безопасности данных.
Операционная система погружается в прикладную среду и работает с большим набором типов микропроцессоров корпорации Intel, корпорации IBM, корпорации DEC.
Фирмой Novell была разработана операционная система NetWare. Она обеспечивает работу клиентов сети с одним либо группой серверов, позволяет создавать ассоциации локальных сетей.
Она может использоваться в любой распространенной в настоящее время физической структуре ЛВС: Token Ring, Ethernet или ARCnet. Поэтому сеть, поддерживаемая сетевой ОС NetWare, может иметь шинную, кольцевую и звездообразную топологии. ЛВС фирмы Novell представляет собой сеть шинной топологии, для реализации которой используется аппаратура Ethernet. Она является платформой, предоставляющей разнообразные сетевые службы. Структура сетевой операционной системы NetWare приведена на рис. 32. Ее модно рассматривать как распределенную операционную систему, модули которой располагаются на файл-сервере и на рабочих станциях.
Основным ресурсом ЛВС Novell является файл-сервер. На нем размещаются сетевая операционная система, базы данных и прикладные программы пользователей.
Сетевая операционная система NetWare представляет собой мультизадачную ОС реального времени. Она ориентирована на работу в локальной сети с централизованным управлением. В NetWare предусмотрена возможность работы в сети одного или нескольких файл-серверов.
На файл-сервере располагается ядро операционной системы, а остальные ее компоненты размещены на рабочих станциях.
Сетевые операции реализуются по технологии клиент-сервер. Это значит, что все разделяемые ресурсы управляются централизованно через файл-сервер. Ресурсы доступны рабочим станциям-клиентам только по запросу, трансформированному через сеть на сервер. Ресурсы рабочих станций доступны только пользователям самих станций и в сети не разделяются.
4. Тема 4. Система протоколов TCP/IP.
4.1. Назначение и организация стека TCP/IP.
Многоуровневое представление средств сетевого взаимодействия имеет свою специфику, связанную с тем, что в процессе обмена сообщениями участвуют две стороны, то есть в данном случае необходимо организовать согласованную работу двух "иерархий", работающих на разных компьютерах. Процедура взаимодействия двух узлов ВС может быть описана в виде набора правил взаимодействия каждой пары компьютеров соответствующих уровней обеих участвующих сторон.
Формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называются протоколами.
Модули, реализующие протоколы соседних уровней и находящиеся в одном узле, также взаимодействуют друг с другом в соответствии с четко определенными правилами и с помощью стандартизованных форматов сообщений – эти правила называются интерфейсом.
В сущности "протокол" и интерфейс" выражают одно и то же понятие, но традиционно в сетях за ними закрепили разные области действия:
- протоколы определяют правила взаимодействия модулей одного уровня в разных узлах;
- интерфейсы определяют правила взаимодействия модулей соседних уровней в одном узле.
Средства каждого уровня должны обрабатывать:
- во-первых, свой собственный протокол;
- во-вторых, интерфейсы с соседними уровнями.
Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называются "стеком" коммуникационных протоколов.
В настоящее время в сетях используется большое количество стеков коммуникационных протоколов. Наиболее популярными в настоящее время являются стеки:
- стек TCP/IP (протокол управления передачей/межсетевой протокол) – Transmission Control Protocol/Internet Protocol – пара взаимосвязанных протоколов сетевого уровня и транспортного уровня;
- стек IPX/SPX (протоколы сетевого и сеансового уровней) – Internetwork Packet Exchange/Sequenced Packet Exchange, разработан для сетевой операционной системы NetWare фирмы Novell, популярность которой сейчас значительно уступает операционным системам Microsoft;
- стек NetBIOS/SMB (Network Basic Input/Output System) широко используется в продуктах компании IBM и Microsoft, на физическом и канальном уровнях которого задействованы все наиболее распространенные протоколы Ethernet, Token Ring, FDDI и др.
Стек TCP/IP был разработан по инициативе Министерства обороны США Агентством перспективных оборонных исследовательских проектов (DAPRA) для связи экспериментальной сети APPAnet с другими сетями как набор общих протоколов для разнородной вычислительной среды. Большой вклад в развитие стека TCP/IP, который получил свое название по протоколам IP и TCP, внес университет Беркли, реализовав протоколы стека в своей версии ОС UNIX.
Стек TCP/IP на нижнем уровне поддерживает все популярные стандарты физического и канального уровней: для ЛВС – это Ethernet, Token Ring, FDDI, для ГС – протоколы работы на аналоговых коммутируемых и выделенных линиях SLIP, PPP, протоколы территориальных сетей Х.25 и ISBN.
Протокол TCP/IP располагаются между протоколами верхних уровней и канальным уровнем (рис. 33).
Протокол TCP организует создание виртуальных каналов, проходящих через коммуникационную сеть. В соответствии с этим ТСР относят к транспортному уровню области взаимодействия открытых систем (OSI).
Протокол IP ориентирован на использование одиночных пакетов, именуемых датаграммами. Datagram – дейтаграмма – для обозначения блоков данных определенных уровней специального названия кадр (frame), пакет (packet), сегмент (segment). Его задачей являются обеспечение взаимодействия друг с другом и выполнение процессов, связанных с коммутацией и маршрутизацией. Для этого IP передает датаграммы из одной сети в другую. IP относят к сетевому уровню.
Задачей ТСР является предоставления сервиса передачи датаграмм, гарантируя упорядоченную доставку последовательностей блоков данных, несмотря на возможные их повреждения, потери, дублирования, нарушения последовательности. ТСР имеет три фазы работы:
- установления соединения;
- передачу по нему датаграмм;
Прикладные процессы |
Протоколы верхних уровней |
ТСР |
IP |
Канальный уровень |
Физический уровень |
Рис. 33. Модель ТСР/IP
- разъединение соединения.
Так как межсетевой протокол IP ненадежен, то ТСР является сложным протоколом, обеспечивающим высокую степень надежности передачи данных.
Протокол IP осуществляет следующую реализацию коммуникационных аспектов:
- присвоение, контроль и преобразование имен объектов сети;
- сообщения о состояниях (недостижимость адресов, ошибки и запросы повторных вызовов);
- обеспечение обмена данными через шлюзы;
- управление передачей и сбор данных о работе сетей;
- изменение размеров передаваемых датаграмм (их фрагментация).
Успех продуктов ТСР/IP связан с тем, что благодаря современному техническому развитию микропроцессоров стала возможной и эффективная реализация. Хотя протоколы ТСР/ IP неразрывно связаны с Интернетом, и каждый из многомиллионной армады компьютеров Интернета работает на основе этого стека, существует большое количество локальных, корпоративных и территориальных сетей, непосредственно не являющихся частями Интернета, в которых также используются протоколы ТСР/ IP. Очень полезным свойством, делающим возможным применение стека ТСР/ IP в больших сетях, является его возможность фрагментировать пакеты, что позволяет при переходе одной сети, имеющий большую максимальную длину, в сеть меньшей максимальной длиной, проводить деление передаваемого кадра на несколько частей.
Другой особенностью технологии TCP/IP является гибкая система адресации, позволяющая проще, чем другие протоколы аналогичного назначения включать в интерсеть сети разных технологий. В стеке TCP/IP очень экономно используются возможности широковещательных рассылок. Это свойство совершенно необходимо при работе на медленных каналах связи, характерных для территориальных сетей.
Однако, к недостаткам технологии TCP/IP следует отнести высокие требования к ресурсам и сложность администрирования IP-сетей. Мощные функциональные возможности протоколов стека TCP/IP требуют для своей реализации больших вычислительных затрат. Гибкая система адресации и отказ от широковещательных рассылок приводят к наличию в IP-сети разнообразных централизованных служб типа DNS (Domain Name System – специальная распределенная служба доменных имен), DHCP (Dynamic Host Configuration Protocol – протокол динамической конфигурации «хоста» (конечный узел Интернета)) и т.п. Каждая из этих служб направлена на обеспечение администрирования сети, в том числе и на облегчение конфигурирования оборудования, но в то же время сама требует пристального внимания со стороны администраторов.
Можно приводить и другие доводы за и против стека TCP/IP, однако факт остается фактом – сегодня это самый популярный стек протоколов, широко используемый как в глобальных, так и локальных сетях.
4.2. Многоуровневая структура стека ТСР/IP.
В стеке ТСР/IP определены 4 уровня (рис. 34). Каждый из этих уровней несет на себе некоторую нагрузку по решению основной задачи – организации надежной и производительной работы составной сети, части которой построены на основе разных сетевых технологий.
1-й уровень. Прикладной (application) уровень стека ТСР/IP соответствует трем верхним уровням модели OSI: прикладному, представительному и сеансовому. Он объединяет службы предоставленные системой пользовательским приложениям. Протоколы прикладного уровня устанавливаются на «хостах», то есть конечный узел в Интернете. Прикладной уровень реализуется программными системами, построенными в архитектуре клиент-сервер. В отличие от протоколов других трех уровней, протоколы прикладного уровня занимаются деталями конкретного приложения и «не интересуются» способами передачи данных по сети, они обращаются к протоколам нижних уровней как к некоторому набору инструментов. Так, клиентская часть протокола прикладного уровня для обмена сообщениями со своей серверной частью, установленной на отдельном узле составной сети, должна обратиться с запросом к нижележащему транспортному уровню.
Этот уровень постоянно расширяется за счет присоединения к нему широко используемых протоколов сетевых служб типа Telnet – протокол эмуляции (преобразование характеристик реального терминала в характеристики, принятые в информационной сети) терминала, FTP (File Transfer Protocol) – протокол копирования файлов, SMTP (Simple Mail Transfer Protocol) – простой протокол передачи электронной почты, HTTP (Hypertext Transfer Protocol) – протокол передачи гипертекстовой информации и многие другие.
2-й уровень. Основной или транспортный (transport) уровень стека ТСР/IP может предоставлять вышеизложенному уровню два типа сервиса:
- гарантированная доставка – протокол управления передачей (Transmission Control Protocol) – ТСР;
- доставка по возможности (“best effort”) – протокол пользовательских дейтаграмм (датаграмм) (User Datagram Protocol) – UDP.
Уровни OSI | № уровня стека | Уровни стека ТСР/IP | |
Прикладной (Application) | Уровень I | Прикладной (Application) | FTP, telnet, SMTP, HTTP |
Представительный (Presentation) | |||
Сеансовый (Session) | |||
Транспортный (Transport) | Уровень II | Транспортный (Transport) | |
Сетевой (Network) | Уровень III | Сетевой (Network) | |
Канальный (Link) | Уровень IV | Уровень сетевых интерфейсов (Network Interface) | Протоколы инкапсуляции и преобразования адресов |
Физический (Physical) |
Рис. 34 Многоуровневая структура стека ТСР/IP.
FTP – File Transfer Protocol – протокол передачи файлов.
SMPT – Simple Mail Transfer Protocol – простой протокол передачи почты.
SNMP – Simple Network Management Protocol – простой протокол управления сетью.
HTTP – HyperText Transfer Protocol – протокол передачи гипертекста.
Telnet – служба, которая осуществляет сервис виртуального терминала.
Протоколы инкапсуляции – способ передачи пакетов, немаршрутизи-руемых протоколов в пакеты какого-либо сетевого протокола.
Архитектура ARPANET – информационная сеть Агентсва перспективных исследований проектов (DAPPA) МО США.
Уровни | Прикладные процессы |
5-7 | - Telnet - FTP - SMTP |
TCP | |
IP | |
Канальный уровень | |
Физический уровень |
Поскольку на сетевом уровне не устанавливаются соединения, то нет никаких гарантий, что все пакеты будут доставлены в место назначения целыми и невредимыми или придут в том же порядке, в котором они были отправлены. Эту задачу – надежной информационной связи между двумя отдельными узлами – решает основной (транспортный) уровень стека ТСР/IP.
Первый протокол ТСР – «гарантированная доставка» - обеспечивает надежную передачу сообщений между удаленными прикладными процессами за счет образования логических соединений, что позволяет ему нумеровать пакеты, подтверждать их прием квитанциями, в случае потери организовывать повторные передачи, распознавать и уничтожать дубликаты, доставлять прикладному уровню пакеты в том порядке, в котором они были отправлены.
Этот протокол позволяет равноранговым объектам на компьютере-отправителе и компьютере-получателе поддерживать обмен данными в дуплексном режиме. ТСР позволяет без ошибок доставить сформулированный на одном из компьютеров поток байтов с любого другого компьютера, входящий в составную сеть. ТСР делит поток байтов на части – сегменты и передает их нижележащему уровню межсетевого взаимодействия. После того как эти сегменты будут доставлены средствами уровня межсетевого взаимодействия в пункт назначения, протокол ТСР снова соберет их в непрерывный поток байтов.
Второй протокол этого уровня UDP – доставка «по возможности» - простейшим дейтаграммным протоколом, который используется в том случае, когда задача надежного обмена данными либо вообще не ставится, либо решается средствами более высокого уровня – системными прикладными службами или пользовательскими приложениями.
Таким образом, этот поток обеспечивает передачу прикладных пакетов дейтаграммным способом, как и главный протокол уровня межсетевого взаимодействия IP, и выполняет только функции связующего звена (мультиплексора) между сетевым протоколом и многочисленными службами прикладного уровня или пользовательскими процессами от прикладного протокола транспортный уровень принимает задачу на передачу данных с тем или иным качеством, после выполнения рапортирует об этом прикладному уровню. К нижележащему уровню межсетевого взаимодействия протоколы ТСР и UDP обращаются как к своего рода инструменту, не очень надежному, но способному перемещать пакеты в свободном и рискованном путешествии по составной сети. Протокол ТСР и UDP, так же как и протокол прикладного уровня, устанавливаются на хостах (конечных узлах Интернета).
3-й уровень. Уровень межсетевого взаимодействия (internet), называемый так же сетевым (network) уровнем, является стержнем всей архитектуры ТСР/ IP.
Именно этот уровень, функции которого соответствуют сетевому уровню модели OSI, обеспечивает перемещение пакетов в пределах всей составной сети. Протоколы уровня межсетевого взаимодействия поддерживают интерфейсы с вышележащим транспортным уровнем, получая от него запросы на передачу данных по составной сети. Он реализует концепцию передачу пакетов в режиме без установления соединений, то есть дейтаграммным способом и обеспечивает возможность перемещения пакетов по сети, используя тот маршрут, который в данный момент является наиболее рациональным.
Основным протоколом межсетевого уровня (в терминах модели OSI) является межсетевой протокол IP (Internet Protocol). В его задачу входит продвижение пакета между подсетями – от одного программного маршрута до другого, до тех пор, пока пакет не попадет в сеть назначения. В отличие от протоколов «прикладного» и «основного» уровней протокол IP устанавливается не только на хостах, но и на всех шлюзах (маршрутизаторах в Интернете).
Протокол IP – это дейтаграммный протокол, работающий без установления соединений по принципу «по возможности», в соответствии с которым он не берет на себя ответственность за доставку пакета до узла назначения. Если же по каким-то причинам пакет теряется (например, из-за переполнения буфера), протокол IP не пытается повторить его передачу. Максимум на что он способен – послать уведомление о потере пакета узлу-отправителю.
Протокол IP изначально проектировался как хорошо масштабируемое средство передачи пакетов в составных сетях, состоящих из большого количества сетей, объединенных как локальными, так и глобальными связями. Учитывая, что между двумя узлами сети может пролегать несколько возможных путей, задача перемещения данных в составной сети включает задачу прокладки и выбора маршрутов.
Протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First), также относятся к уровню межсетевого взаимодействия.
На этом же уровне работает и протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol), предназначенный для обмена информацией об ошибках между маршрутизаторами сети и узлом-источником пакета. С помощью специальных пакетов ICMP сообщает о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, о состоянии системы и т.п.
Выбор последовательности шлюзов, через которые надо передавать пакет, чтобы он дошел до места назначения, - это задача протоколов уровня межсетевого взаимодействия. А вот перемещение пакета между соседними шлюзами в пределах каждой из встречающихся на пути пакета подсетей – это уже задача локальной (то есть использующейся в каждой из подсетей) технологии. Каждый раз, когда требуется воспользоваться локальными средствами доставки пакета в пределах подсети, протокол IP обращается к нижележащему уровню межсетевых интерфейсов.
Протоколы маршрутизации (например, RIP или OSPF) следует отличать от собственно сетевых протоколов (например, IP или IPX). В то время как первые собирают и передают по сети чисто служебную информацию о возможных маршрутах, а вторые предназначены для передачи пользовательских данных.
4-й уровень. Уровень сетевых интерфейсов (network interface) является интерпретацией функций самого нижнего уровня. Протоколы этого уровня должны обеспечивать интеграцию в составную сеть других сетей, причем сеть ТСР/ IP должна иметь средства включения себя в любой другой сети, какую бы внутреннюю технологию передачи данных эта сеть не использовала. Нижний уровень стека ТСР/ IP отвечает только за организацию интерфейса с частными технологиями подсетей. Упрощенная задача обеспечения интерфейса между двумя технологиями сводится, во-первых, к определению способа упаковки («инкапсуляции») пакета IP в единицу передаваемых данных промежуточной сети, а во-вторых, к определению способа преобразования сетевого адреса следующего шлюза в новый тип адреса, который принят для адресации узлов в технологии данной промежуточной сети.
4.3. Сетенезависимые и сетенезависимые уровни стека TCP/IP.
Для каждой технологии, включаемой в составную сеть подсети, должны быть разработаны собственные интерфейсные средства. К таким интерфейсным средствам относятся протоколы инкапсуляции IP-пакетов уровня межсетевого взаимодействия в кадры локальных технологий. Отсюда следует, что этот уровень нельзя определить раз и навсегда.
Уровень сетевых интерфейсов в стеке ТСР/ IP не регламентируется, но он поддерживает все популярные технологии физического и канального уровней:
Для локальных сетей это Ethernet, Token Ring, FDDI, Fast Ethernet, Gigabit Ethernet, для глобальных сетей – протоколы соединений «точка-точка» SLIP и PPP, протоколы территориальных сетей с коммутацией пакетов Х.25, frame relay, АТМ.
Рассматривая многоуровневую структуру ТСР/ IP, можно выделить в ней, подобно архитектуре OSI, уровни которой зависят от конкретной технической реализации сети, и уровни, функции которых ориентированы на работу с приложениями (рис. 35).
Рис. 35 Сетезависимые и сетенезависимые уровни стека ТСР/IP.
Протоколы прикладного уровня стека ТСР/ IP работают на компьютерах, выполняющих приложения пользователей. Даже полная смена сетевого оборудования в общем случае не должна влиять на работу приложений, если они получают доступ к сетевым возможностям через протоколы прикладного уровня.
Протоколы транспортного уровня зависят от сети уже в большей степени, так как они реализуют интерфейс к уровням, непосредственно организующим передачу данных по сети. Однако подобно протоколам прикладного уровня, протоколы транспортного уровня устанавливаются только на конечных узлах. Протоколы двух нижних уровней являются сетенезависимыми, программные модули протоколов межсетевого уровня и уровня сетевых интерфейсов устанавливаются на всех хостах и шлюзах.
Каждый коммуникационный протокол оперирует с некоторой единицей передаваемых данных. Названия этих единиц иногда закрепляются стандартом, а чаще просто определяются традицией. В стеке ТСР/ IP за многие годы его существования образовалась устоявшаяся терминология в этой области (рис. 36).
Протоколом (stream) называют данные, поступающие от приложений на вход протоколов транспортного уровня ТСР и UDP. Протокол ТСР «нарезают» из потока данных «сегменты» (segment).
Единицу данных протокола UDP часто называют дейтаграммной, или датаграммной (datagram).
Дейтаграмма – это общее название для единиц данных, которыми оперируют протоколы без установления соединений. К таким протоколам относится и протокол межсетевого взаимодействия IP, поэтому его единицу также называют дейтаграммой. Однако очень часто используется и другой термин – «пакет» (packet) IP.
В стеке ТСР/ IP принято называть «кадрами», или фреймами (frame), единицы данных любой технологии, в которые упаковываются пакеты IP для последующей переноски их через подсети составной сети. При этом не имеет значения, какое название используется для этой единицы данных в локальной технологии подсети. Для ТСР/ IP фреймом является и кадр Ethernet, и ячейка АТМ, и пакет Х.25, так как все они выступают в качестве контейнера, в котором пакет IP переносится через составную сеть.
Подводя итоги изложенному, можно сделать следующие выводы.
Наибольшее распространение при построении составных сетей в последнее время получил стек ТСР/ IP. Стек ТСР/ IP имеет 4 уровня: прикладной, транспортный, уровень межсетевого взаимодействия и уровень сетевых интерфейсов. Соответствие уровней стека ТСР/ IP уровням модели OSI достаточно условно.
Прикладной уровень объединяет все службы, предоставляемые системой пользовательским приложениям: традиционные сетевые службы
Рис. 36 Терминология в ТСР/IP
типа telnet, FTP, TFTP, DNS, SNMP, а также сравнительно новые, такие, например, как протокол передачи гипертекстовой информации HTTP.
На традиционном уровне стека ТСР/ IP, называемым также основным, функционируют протоколы ТСР и UDP. Протокол управления передачей ТСР решает задачу обеспечения надежной информационной связи между двумя конечными узлами. Дейтаграммный протокол UDP используется как экономичное средство связи уровня межсетевого взаимодействия с прикладным уровнем.
Уровень межсетевого взаимодействия реализует концепцию коммуникации пакетов в режиме без установления соединений. Основными протоколами этого уровня являются дейтаграммный протокол IP и протоколы маршрутизации (RIP, OSPF, BGP и др.). Вспомогательную роль выполняют протокол межсетевых управляющих сообщений ICMP и протокол группового управления IGMP.
Протоколы уровня сетевых интерфейсов обеспечивают интеграцию в составную сеть других сетей. Этот уровень не регламентируется, но поддерживает все популярные стандарты физического и канального уровней: для локальных сетей – Ethernet, Token Ring, FDDI и т.д., для глобальных сетей – Х.25, frame relay, PPP, ISDD и т.д. К этому уровню часто относят и протокол разрешения адресов ARP.
В стеке ТСР/ IP для наименования единиц передаваемых данных на разных уровнях используют следующие названия: поток, сегмент, дейтаграмма, пакет, кадр.
4.4. Адресация в IP-сетях. Типы адресов стека ТСР/ IP.
В стеке ТСР/ IP используются три типа адресов:
- локальные, или аппаратные, адреса, используемые для адресации узлов в пределах подсети;
- сетевые, или IP-адреса, используемые для однозначной идентификации узлов в пределах всей составной сети;
- доменные имена – символьные идентификаторы узлов, к которым часто обращаются пользователи.
В общем случае сетевой интерфейс может иметь одновременно один или несколько сетевых адресов, а также одно или несколько доменных имен.
В терминологии ТСР/ IP под определением «локальный» понимается – действующий не во всей составной сети, а лишь в пределах подсети», то есть понятие «локальный адрес» означает адрес, который используется некоторой локальной технологией для адресации узлов в пределах подсети, являющейся элементом составной интерсети.
Поскольку аппаратный (локальный) адрес идентифицирует узел в пределах подсети, а подсеть использует одну из базовых технологий LAN-Ethernet, FDDI, Token Ring – то для доставки данных любому узлу такой подсети достаточно указать MAC-адрес.
МАС-адрес (Media Access Control – управление доступом в физическую среду – стандарты IEEE) назначается сетевым адаптером и сетевым интерфейсом маршрутизаторов. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байт, например, 11-АО-17-3D-BC-01.
В составную сеть ТСР/IР могут входить подсети, построенные на основе более сложных технологий, к примеру, технологии IРХ/SРХ. Эта сеть сама может быть разделена на подсети, и, так же как IР-сеть, она идентифицирует свои узлы аппаратными и сетевыми IРХ-адресами. Но поскольку для составной сети ТСР/IР составная сеть IРХ/SРХ является обычной подсетью, в качестве аппаратных адресов узлов этой подсети выступают те адреса, которые однозначно определяют узлы в данной подсети, то есть адресами IРХ-адреса. Аналогично, если в составную сеть ТСР/ IP включена сеть Х.25, то локальными адресами для протокола IP соответственно будут адреса Х.25.
IP-адреса представляют собой основной тип адресов, на основании которых сетевой уровень передает пакеты между сетями. Эти адреса состоят из 4 байт, например, 109.26.17.100. IP-адрес назначается администратором при конфигурировании компьютеров и маршрутизаторов. Он состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно либо назначен по рекомендации специального подразделения Интернета (Internet Network Information Center – InterNIC), если сеть должна работать как составная часть Интернета.
Номер узла в протоколе IP назначается независимо от локального адреса узла. Маршрутизатор по определению входит сразу в несколько сетей, поэтому каждый порт маршрутизатора имеет собственный IP-адрес. Конечный узел также может входить в несколько IP-сетей. В этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.
Символьные имена в IP-сетях называются доменными и строятся по иерархическому признаку. Составляющие полного символьного имени в IP-сетях разделяются точкой и перечисляются в следующем порядке: сначала простое имя хоста, затем имя группы узлов (например, имя организации), затем имя более крупной группы (поддомена) и так до имени домена самого высокого уровня (например, домена, объединяющего организации по географическому признаку; RU – Россия, UK – Великобритания, SU – США). Примером доменного имени может служить имя base2.sales.zil.ru. Между доменным именем и IP-адресом узла нет никакой функциональной зависимости (нет алгоритмического
соответствия), поэтому необходимо использовать другой способ установления соответствия в виде дополнительных таблиц или служб, чтобы узел сети однозначно определялся как по доменному имени, так и IP-адресу. В сетях ТСР/ IP используется распределенная служба доменных имен (Domain Name System – DNS), которая устанавливает это соответствие на основании создаваемых администраторами сети таблиц соответствия. Поэтому доменные имена называют DNS-именами.
Формы записи IP-адресов.
Формы записи IP-адреса могут быть различны. IP-адрес имеет длину 4 байта (32 бита) и состоит из двух частей – номера сети и номера узла в сети. Наиболее употребляемой формой представления IP-адреса является запись в виде четырех чисел, представляющих значения каждого байта в десятичной форме и разделенных точками, например: 128.10.2.30.
Этот же адрес может быть представлен в двоичной форме: 10000000.00001010.00000010.00011110.
А также в шестнадцатеричном формате: 80.ОА.02.1D.
Заметим, что запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла. Каким образом маршрутазаторы, на которые поступают пакеты, выделяют из адреса назначения номер сети, чтобы по нему определить дальнейший маршрут? Какая часть из 32 бит, отведенных под IP-адрес, относится номеру сети, и какая – к номеру узла? Можно предположить несколько вариантов решения этой задачи.
Простейший из них состоит в том, что все 32-битовое поле адреса заранее делится на две части необязательно равной, но фиксированной длины, в одной из которых всегда будет размещаться номер сети, а в другой – номер узла. Но такой подход не позволяет дифференцированно подходить к потребностям отдельных предприятий и организаций, и не нашел широкого применения.
Другой подход основан на использовании «маски», которая позволяет максимально гибко устанавливать границу между номером сети и номером узла. В данном случае «маска» - это число, которое используется в паре с IP-адресом; двоичная запись маски содержит последовательность единиц в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Граница между последовательностью единиц и последовательностью нулей в маске соответствует границе между номером сети и номером узла в IP-адресе.
Традиционный способ решения данной проблемы заключается в использовании «классов». Этот способ представляет собой компромисс по отношению к двум выше описанным: размеры сетей хотя и не являются произвольными, как при использовании масок, но и не являются одинаковыми, как при установлении фиксированных границ. Вводится несколько классов сетей, и для каждого класса определены свои размеры. Схема деления IP-адреса на номер сети и номер узла и основана на понятии класса, который определяется значениями нескольких первых битов адреса. На рис. 37 показана структура IP-адреса различных классов.
Если адрес начинается с 0, то этот адрес относится к классу «А», в котором под номер сети отводится один байт, а остальные три байта интерпретируются как номер узла в сети. Сети, имеющие номера в диапазоне от 1 (00000001) до 126 (01111110), называются сетями класса «А». номер 0 не используется, а номер 127 зарезервирован для специальных целей. Сетей класса «А» немного, зато количество узлов в них может достигать 224, то есть 16777216 узлов.
Если первые два бита адреса равны 10, то адрес относится к классу «В». В адресах класса «В» под номер сети и номер узла отводится по два байта (по 16 бит). Сети, имеющие номера в диапазоне от 128.0 (1016) до 191.255 (1011111111111111) называются сетями класса «В». Таким образом, сетей класса «В» больше, чем сетей класса «А», но размеры их меньше, максимальное количество узлов в них составляет 216 (65536).
Если адрес начинается с последовательности битов 110, то это адрес класс «С». В этом случае под номер сети отводится 24 бита, а под номер узлов – 8 бит. Сети класса «С» наиболее распространены, но число узлов в них ограничено значением 28 (256) узлов.
Если адрес начинается с последовательности битов 1110, то это адрес класса «D», который обозначает особый, групповой адрес – multicast. Групповой адрес идентифицирует группу узлов (сетевых интерфейсов), которые в общем случае могут принадлежать разным сетям. Если при отправке пакета в качестве адреса назначения указан адрес класса «D», то такой пакет должен быть доставлен всем узлам, которые входят в группу.
Если адрес начинается с последовательности битов 11110, то это значит, что данный адрес относится к классу «Е». Адреса этого класса зарезервированы для будущих применений. На рис. 38 приведены диапазоны номеров сетей и максимальное число узлов, соответствующих каждому классу сетей.
Большие сети получают адреса класса «А», средние – класса «В», а небольшие – класса «С».
Особые IP-адреса означают следующую интерпретацию IP-адресов:
- если весь IP-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет (этот режим используется только в некоторых сообщениях ICMP);
если в поле номера сети стоят только нули, то считается, что узел назначения принадлежит той же сети, что и узел, который отправил пакет;
Рис. 37 Структура IP-адресов
Класс | Первые биты | Наименьший номер сети | Наибольший номер сети | Максимальное число узлов в сети |
А | 1.0.0.0 | 126.0.0.0 | 224 | |
B | 128.0.0.0 | 191.255.0.0 | 216 | |
C | 192.0.0.0 | 223.255.255.0 | 28 | |
D | 224.0.0.0 | 239.255.255.255 | Multicast | |
E | 240.0.0.0 | 247.255.255.255 | Зарезервирован |
Рис. 38 Характеристики адресов разного класса
- если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться по всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast);
- если в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, пакет с адресом 192.190.21.255 доставляется всем узлам сети 192.190.21.0. Такая рассылка называется широковещательным сообщением (broadcast).
Использование масок при IP-адресации позволяет более гибко устанавливать границу между номером сети и номером узла и отказаться от понятий классов адресов.
Маска – это число, которое используется в паре с IP-адресом, двоичная запись маски содержит единицы в тех разрядах, которые в IP-адресе должны интерпретироваться как номер сети. Поскольку номер сети является цельной частью адреса, единицы в маске также должны представлять непрерывную последовательность. Например, если адрес 185.23.44.206 ассоциировать с маской 255.255.255.0, то номер сети будет 185.23.44.0, а не 185.23.0.0, как это определено системой классов.
В масках количество единиц в последовательности, определяющей границу номера сети, не обязательно должно быть кратным 8, чтобы повторять деление адреса на байты. Пусть, например, для IP-адреса 129.64.134.5 указана маска 255.255.128.0, то есть в двоичном виде IP-адрес 129.64.134.5 выглядит так: 10000001, 01000000, 1000110, 00000101.
А маска 255.255.128.0 так: 11111111, 11111111, 10000000, 00000000.
Если игнорировать маску, то в соответствии с системой классов адрес 129.64.134.5 относится к классу «В», а значит, номером сети являются первые два байта – 129.64.0.0, а номером узла – 0.0.134.5.
Если же использовать для определения границы номера сети маску, то 17 последовательных двоичных единиц в маске 255.255.128.0, «наложенные» на IP-адрес, делят его на следующие две части.
№ сети | № узла | |
IP-адрес 129.64.134.5 | 10000001.01000000.1 | 0000110.00000101 |
Маска 255.255.128.0 | 11111111.11111111.1 | 0000000.00000000 |
В десятичной форме записи номер сети – 129.64.128.0, а номер узла – 0.0.6.5.
Для стандартных классов сетей маски имеют следующие значения:
- класс «А» - 11111111.00000000.00000000.00000000 (255.0.0.0);
- класс «В» - 11111111.11111111.00000000.00000000 (255.255.0.0);
- класс «С» - 11111111.11111111.11111111.00000000 (255.255.255.0).
Механизм масок широко распространен в IP-маршрутизации, причем маски могут использоваться для самых разных целей. С их помощью администратор может разбивать свою сеть на несколько других, не требуя от поставщика услуг дополнительных номеров сетей (операция subnetting). На основе этого же механизма поставщики услуг могут объединять адресные пространства нескольких сетей путем введения так называемых «префиксов» с целью уменьшения объема таблиц маршрутизации и повышения за счет этого производительности маршрутизаторов – такая операция называется subnetting.
Поскольку IP-адреса уникально идентифицируют узел в пределах составной сети, поэтому они назначаются централизованно. Если сеть небольшая и автономная, то уникальность IP-адресов в пределах этой сети может обеспечена администратором сети. При этом он может выбирать для нумерации сетей и узлов любые синтаксически правильные IP-адреса. Если сеть очень велика, как, например, Интернет, то процесс назначения IP-адресов становится сложным и разбивается на два этапа. Первый – распределение номеров сетей – регулируется специальным административным органом (в Интернете это ICAN), обеспечивающим однозначность нумерации сетей. После того как сеть получила номер, наступает второй этап – назначение номеров узлам сети. Назначение IP-адресов узлами сети может происходить вручную – администратор сети сам ведет списки свободных и занятых адресов и конфигурирует сетевой интерфейс, либо автоматически – с использованием протокола DHEP через сервер, который автоматически выделяет адреса узлам в ответ на поступающие запросы.
Одной из главных задач, которая ставилась при создании протокола IP, являлось обеспечение совместной согласованной работы в сети, состоящей из подсетей, в общем случае использующих разные сетевые технологии. Очевидно, что для того, чтобы частная технология подсети смогла доставить пакет на следующий маршрутизатор, необходимо:
- во-первых, упаковать пакет в кадр соответствующего для данной подсети формата (например, Ethernet);
- во-вторых, снабдить кадр адресом, формат которого был бы понятен локальной технологии подсети (преобразовать, например, IP-адрес в МАС-адрес (управление доступом в физическую среду, стандарт IEEE, Media Access Control)). Для определения локального адреса по IP-адресу используется протокол разрешения адресов (Address Resolution Protocol – APP). Он позволяет определять адреса сетевых адаптеров узлов, расположенных в одной физической сети.
Протокол разрешения адресов реализуется различным образом в зависимости от того, какой протокол канального уровня работает в данной сети – протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети или же какой-либо из протоколов глобальной сети (Х.25, frame relay), которые, как правило, не поддерживают широковещательный доступ.
Рассмотрим работу протокола ARP в сетях с широковещанием. Протокол ARP всегда сначала ищет адреса IP и сетевого адаптера в КЭШ-памяти (память блокнотного типа) перед формированием широковещательного ARP-запроса.