DAY21 (Старые версии Машбука или нечто подобное)
Описание файла
Файл "DAY21" внутри архива находится в следующих папках: Старые версии Машбука или нечто подобное, Лекции (Машечкин 1998). Документ из архива "Старые версии Машбука или нечто подобное", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "DAY21"
Текст из документа "DAY21"
5
Лекция №21Лекция №21
На прошлой лекции мы говорили о том, что одной из проблем, которая была крайне актуальной на протяжении всей истории развития вычислительных сетей, является проблема стандартизации взаимодействий в рамках сети. В конце 70-х годов международная организация стандартизации ISO предложила стандарт взаимодействия открытых систем, который получил название ISO/OSI. Предлагалось рассматривать сетевое взаимодействие, как взаимодействие на семи уровнях. Начиная от прикладного и кончая физическим, каждый из этих уровней характеризует взаимодействие в рамках сети с определенной степенью детализации. Рассмотрим их функциональную нагрузку.
-
VII
Прикладной уровень
VI
Представительский уровень
V
Сеансовый уровень
IV
Транспортный уровень
III
Сетевой уровень
II
Канальный уровень
I
Физический уровень
-
Канальный уровень. На этом уровне формализуются правила передачи данных через канал. Если физический уровень связан непосредственно со средой (с каналом), то канальный уровень связан с передачей информации по этому каналу.
-
Сетевой уровень. Этот уровень управляет связью в сети между машинами. Здесь решается вопрос адресации и маршрутизации данных.
-
Транспортный уровень. Этот уровень иногда называют уровнем логического канала. На этом уровне решаются проблемы управления передачей данных, и связанные с этими проблемами задачи - локализация и обработка ошибок и непосредственно сервис передачи данных.
-
Сеансовый уровень обеспечивает взаимодействие программ (понятно, что машины сами по себе не взаимодействуют, а взаимодействуют программы). При этом решаются проблемы синхронизации обмена данных, отмены сеанса в результате фатального исхода, подтверждения паролей.
-
Представительский уровень. На этом уровне решается проблема с представлением данных. Понятно, что разные системы имеют разные формы представления данных.
-
Прикладной уровень. На прикладном уровне решаются проблемы стандартизации взаимодействия с прикладными системами.
Итак, была предложена такая семиуровневая модель, и было предложено использовать эту модель в двух качествах: стандартизация взаимодействия в сети (разработка стандартов) и применение этой модели для практических решений. Стандарты на физический уровень уже разработаны, разрабатываются стандарты на канальный уровень. К сожалению, реальные сети не соответствуют такой семиуровневой модели, хотя иногда можно найти некоторое соответствие.
Считается, что на каждой из ВС, функционирующих в сети, существует набор уровней сетевого взаимодействия, соответствующий такой семиуровневой модели. При этом если на машине реализован i-ый уровень взаимодействия, то гарантированно на ней реализованы и все предшествующие уровни. Т. е. если есть сеансовый уровень, то гарантированно есть все нижестоящие. Это правило иногда называют стеком уровней или стеком протоколов.
У нас есть две машины, на каждой из которых реализована эта семиуровневая модель. Система взаимодействия предусматривает такое взаимодействие между машинами, при котором каждый уровень общается с себе подобным уровнем. Правило взаимодействия систем на одноименных уровнях, называется протоколом передачи данных. При этом одноименные уровни реально напрямую друг с другом оперировать не могут. Они оперируют друг с другом через нижестоящие уровни и физическую среду. Любой уровень нашей модели может непосредственно взаимодействовать только с соседним уровнем (либо соседним сверху, либо снизу). Правила взаимодействия между уровнями называются интерфейсом. (Не следует путать понятия протокола и интерфейса!) Если один уровень обращается к другому (в другой машине) через протокол передачи данных, на самом деле происходит обращение через соответствующую последовательность интерфейсов к нижестоящим уровням. Замечу, что когда необходимая информация начинает перемещаться между уровнями она начинает обрастать новой дополнительной служебной информацией. Можно провести аналогию с отправкой письма, оно отправляется в конверте, конверт кладут в мешок и т. д. Затем происходит передача информации через физическую среду, а после последовательная передача от нижестоящего уровня к требуемому, т. е. «открытие мешка, вскрытие конверта».
Сущность стандартизации заключается в том, что после принятия стандарта этих уровней, можно уже менять реализации уровней либо добавлять новые уровни, не беспокоясь об интерфейсах и протоколах. Стандартизация определяет совместимость.
Internet
Мы с вами поговорим немного об Internet, но не с точки зрения того, что нам говорят по телевизору, причем часто говорят вещи откровенно глупые, а сточки зрения ее устройства, с точки зрения протоколов, лежащих в основе этой всемирной паутины.
Несколько слов предыстории. В конце 60-х годов американское агентство перспективных исследований в обороне DARPA приняло решение о создании экспериментальной сети с названием ARPANet. Основным свойством этой сети было то, что предполагалось отсутствие какой-либо централизации(!!!). На сегодняшний день это довольно привычное свойство сетей, но в то время такое предложение было революционным. Этот проект начал развиваться. В 70-ом году ARPANet стала считаться действующей сетью США, и в частности, через эту сеть можно было добираться до ведущих университетских и научных центров США. В начале 80-х годов началась стандартизация языков программирования, а затем протоколов взаимодействия сетей. Здесь есть два момента, повлиявших на появление Internet. Первый - это сам факт стандартизации. Второе - появление модели ISO/OSI. Этот момент можно считать началом появления Internet - сети, которая не подразумевала какой-либо централизации и иерархии. Это свойство, которое легло в основу сети, и создало тот бум, который наблюдается сейчас, то есть Internet может свободно расширяться.
Итак, Internet основан на протоколах TCP/IP (Transfer Control Protocol / Internet Protocol). Иногда говорят: “протокол TCP/IP” - но это неправильно, так как под этой аббревиатурой скрывается целый набор протоколов, объединенных под одним названием. Кстати, здесь есть отдельно протокол TCP и отдельно протокол IP.
Семейство TCP/IP строится по четырехуровневой схеме. Рассмотрим таблицу соответствия TCP/IP модели ISO/OSI:
Уровни TCP/IP | Уровни ISO/OSI |
IV. Прикладных программ | Прикладных программ Представление данных |
III. Транспортный | Сеансовый Транспортный |
II. Межсетевой | Сетевой |
I. Доступа к сети | Канальный Физический |
Уровень доступа к сети TCP/IP обеспечивают аппаратные интерфейсы и драйверы этих аппаратных интерфейсов. К примеру, протоколами уровня доступа к сети являются протоколы Ethernet. Их суть в следующем.
Ethernet - это система, обеспечивающая "мгновенный" доступ с "контролем несущей частоты" и обнаружением столкновений. Ethernet - широковещательная сеть, это означает, что любое сообщение, выходящее из источника становится видимым всем остальным Ethernet- устройствам. Ethernet симметрична (нет никакого физического главенства), она предполагает наличие некоторой физической среды (разновидности коаксиального кабеля, кабель “витая пара”, СВЧ диапазон и др.), Ethernet-устройства, которое осуществляет взаимодействие в рамках данной среды. Так как сеть симметрична, то возникает проблема столкновения пакетов передающихся данных, то есть, когда одновременно посылаются два пакета данных из разных устройств - в этом случае происходит отказ передачи данных у обоих устройств, после этого они замирают на некоторое время, а затем делают еще одну попытку. Это напоминает разговор вежливых людей в темной комнате: если один человек говорит, то остальные молчат; когда, два человека, начинают говорить, то оба одновременно замолкают и делают паузу.
Следующее свойство Ethernet заключается в том, что каждое из Ethernet-устройств имеет уникальный адрес, этот адрес присваивается ему при изготовлении. Существует ряд международных правил, которые создают невозможным появление в мире двух Ethernet-устройств с одинаковым номером, будь-то уже сгоревшие устройства или еще находящиеся в строю. Этот адрес можно сравнить со штрих-кодом, который встречается на различных продуктах.
Еще одно свойство Internet - широковещательность. Реально, любое сообщение, посланное в сеть, проходит через все Ethernet-устройства сети. Соответственно все сообщения имеют адресацию, и сообщения могут адресоваться всем устройствам, либо какому-то отдельному, но в любом случае - сообщение пройдет через все устройства, а уж каждое из них само решит - оставить его или нет.
Вот в нескольких словах о примере четвертого уровня доступа протоколов TCP/IP, это наиболее распространенный вариант. Можно сказать о том, что такая сеть проста, но имеет ряд недостатков, заключающихся в том, что когда в сети возникает много активных пользователей, то учащаются столкновения сообщений и пропускная способность существенно снижается.
Следует обратить внимание, что когда мы говорим Internet - сеть, то это также верно, как и то, что TCP/IP - протокол. То есть Internet - это объединение сетей.
С этой точки зрения можно выделить два вида компьютеров, которые можно выделить в сети:
Это хост-компьютеры (host) и шлюзы (gate). В двух словах покажем, что есть что. Реально, каждый из компьютеров, который работает в сети, может классифицироваться по двум признакам. Если в компьютере расположена только одна сетевая карта или интерфейс, то это хост-компьютер и обычно он принадлежит какой-нибудь одной сети. Если в компьютере находятся две и более сетевых карт, при этом каждая из карт подключается к своей сети, то такой компьютер называется компьютером-шлюзом. Соответственно, через шлюзы можно объединять сети.
То есть, если смотреть с точки зрения принадлежности к сетям - хост принадлежит одной сети, а шлюз принадлежит сразу двум или более сетям. Через шлюзы осуществляется взаимодействие между компьютерами в различных сетях. И этот механизм объединения и доступа является одной из отличительных черт Интернета, которая базируется на межсетевом уровне TCP/IP, который в свою очередь базируется на протоколе IP.
Основная функция протокола IP - уникальная межсетевая адресация. Одним из основных свойств или качеств IP-протокола является IP-адрес. Это адрес, который приписывается как конкретной сети, так и конкретному компьютеру в сети. Исходя из этого, мы можем сказать, что шлюз - это компьютер, имеющий два или более IP-адреса (адрес в одной сети и в другой сети), хост - компьютер, имеющий один IP-адрес. Также, в функции IP входит маршрутизация, то есть выбор пути, по которому будут передаваться сообщения, определение базовых блоков данных (они называются дейтаграммы), которые передаются, и взаимодействие с транспортным уровнем и уровнем доступа к сети. Соответственно, в связи с этим взаимодействием возможна фрагментация и дефрагментация дейтаграмм.
Два слова об IP-адресации. IP-адрес - это четырехбайтовый код, в котором может размещаться информация об адресе сети и об адресе компьютера в сети. Существует несколько категорий IP-адресов:
Класс А.
0 | ||||
1 байт | 2 байт | 3 байт | 4 байт |
Первый байт кодирует номер сети, при этом его старший бит является нулевым (это признак класса А), остальные биты определяют номер сети. Сетей класса А может быть 126 штук. Соответственно, последние три байта - номер компьютера в сети. Сети класса А - гигантские сети, которые могут принадлежать крупнейшим корпорациям.
Класс B.
1 | 0 | ||||
1 байт | 2 байт | 3 байт | 4 байт |
Признак класса B - старшие два бита равны “10”. Для нумерации сети используется остаток первого и целиком второй байт. 3 и 4 байты - номер компьютера в сети. Это также большие сети, их может быть большое количество, но также ограниченное.
Класс C.
1 | 1 | 0 | ||||||
1 байт | 2 байт | 3 байт | 4 байт |
Признак класса C - старшие три бита равны “110”. Для нумерации сети используются: остаток первого байта, второй и третий байты целиком. Номер компьютера определяется четвертым байтом. Соответственно, класс C представляет гигантское количество небольших сетей.