Смекни!
smekni.com

Interprocess Communication (стр. 9 из 9)


Лекция №23

Мы начали обсуждать проблемы организации Интернет и обозначили основное качество этой системы, заложенное изначально - что эта сеть абсолютна симметрична с той точки зрения, что она не подразумевала какой-либо централизации и иерархии. Это свойство, которое легло в основу сети, и создало тот бум, который наблюдается сейчас, то есть Интернет может свободно расширяться.

Мы с вами рассмотрели вкратце предысторию сети. Изначально сеть подразумевала чисто экспериментальную работу и уже в дальнейшем получила университетскую распространенность, коммерция же пришла в Интернет где-то в 1994-95 годах.

Èíòåðíåò основан на протоколах TCP/IP (Transfer Control Protocol / Internet Protocol). Иногда говорят: “протокол TCP/IP” - но это неправильно, так как под этой аббревиатурой скрывается целый набор протоколов, объединенных под одним названием. Кстати, здесь есть отдельно протокол TCP и отдельно протокол IP.

Семейство TCP/IP строится по четырехуровневой схеме. Рассмотрим таблицу соответствия TCP/IP модели ISO/OSI:

Уровни TCP/IP Уровни ISO/OSI
I. Прикладных программ I. Прикладных программ II. Представление данных
II. Транспортный III.Сеансовый IV.Транспортный
III. Межсетевой V. Сетевой
IV. Доступа к сети VI.Канальный VII.Физический

Уровень доступа к сети TCP/IP обеспечивают аппаратные интерфейсы и драйверы этих аппаратных интерфейсов. К примеру, протоколами уровня доступа к сети являются протоколы Ethernet. Их суть в следующем.

Ethernet - это система, обеспечивающая "мгновенный" доступ с "контролем несущей" и обнаружением столкновений. Ethernet - широковещательная сеть, это означает, что любое сообщение, выходящее из источника становится видимым всем остальным Ethernet- устройствам. Ethernet симметрична (нет никакого физического главенства), она предполагает наличие некоторой физической среды (разновидности коаксиального кабеля, кабель “витая пара”, СВЧ диапазон и др.), Ethernet-устройства, которое осуществляет взаимодействие в рамках данной среды. Так как сеть симметрична, то возникает проблема столкновения пакетов передающихся данных, то есть, когда одновременно посылаются два пакета данных из разных устройств - в этом случае происходит отказ передачи данных у обоих устройств, после этого они замирают на некоторое время, а затем делают еще одну попытку. Это напоминает разговор вежливых людей в темной комнате: если один человек говорит, то остальные молчат; когда, два человека, начинают говорить, то оба одновременно замолкают и делают паузу.

Следующее свойство Ethernet çàêлþ÷àåòся â òîì, ÷òî êàæäîå èз Ethernet-устройств имеет уникальный адрес, этот адрес присваивается ему при изготовлении. Существует ряд международных правил, которые создают невозможным появление в мире двух Ethernet-устройств с одинаковым номером, будь-то уже сгоревшие устройства или еще находящиеся в строю. Этот адрес можно сравнить со штрих-кодом, который встречается на различных продуктах.

Еще одно свойство Интернет - широковещательность. Реально, любое сообщение, посланное в сеть, проходит через все Ethernet-устройства сети. Соответственно все сообщения имеют адресацию, и сообщения могут адресоваться всем устройствам, либо какому-то отдельному, но в любом случае - сообщение пройдет через все устройства, а уж каждое из них само решит - оставить его или нет.

Вот в нескольких словах о примере четвертого уровня доступа протоколов TCP/IP, это наиболее распространенный вариант. Можно сказать о том, что такая сеть проста, но имеет ряд недостатков, заключающихся в том, что когда в сети возникает много активных пользователей, то учащаются столкновения сообщений и пропускная способность существенно снижается.

Следует обратить внимание, что когда мы говорим Интернет - сеть, то это также верно, как и то, что TCP/IP - протокол. То есть Интернет - это объединение сетей.

С этой точки зрения можно выделить два вида компьютеров, которые можно выделить в сети:

Это хост-компьютеры (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 представляет гигантское количество небольших сетей.

Есть еще два класса - D и Е, но они достаточно специфичны, и мы не будем о них говорить.

Существует международная организация, которая распределяет номера сетей. Здесь действует определенная иерархия. Организация, получившая номер сети может распределять номера компьютеров в пределах этой сети по собственному усмотрению.

Следует отметить, что, несмотря на огромное число адресов, которое можно представить четырьмя байтами, существует проблема их узкости, и идут разговоры о расширении IP адресации. Это колоссальная проблема, сравнимая разве что с проблемой 2000 года.

На межсетевом уровне кроме протокола IP существует еще группа вспомогательных протоколов. Часть из них зависит от того, чем мы будем пользоваться и что мы будем делать. В любом случае - основа для них - протокол IP.

Следующие протоколы - транспортные. Здесь присутствует два типа протоколов - UDP (User Datagram Protocol) и TCP.

Протокол TCP обеспечивает передачу данных с контролем и исправлением ошибок. Кроме того, TCP гарантирует логическое соединение. То есть TCP позволяет создавать логические каналы, гарантируя отправку и прием порций данных в определенном порядке. Протокол жесткий, так как контролирует ошибки. Но за все надо платить, и TCP является ресурсоемким протоколом.

Протокол UDP - это быстрая доставка сообщений без осуществления контроля доставки. Протокол TCP больше рассчитан на использование в Интернете (для передачи на дальние расстояния, где не может гарантироваться безошибочность передачи). UDP ориентирован на работу в локальной сети, где гарантирован определенный уровень качества передачи данных. Протоколы транспортного уровня общаются с прикладными протоколами и межсетевыми протоколами.

Далее идет уровень прикладных систем. TCP/IP обладает тем свойством, что в семействе этих протоколов стандартизованы протоколы, на которых базируются прикладные системы. В частности, FTP (File Transfer Protocol). Реально система FTP присутствует в каждой операционной системе и в каждой набор FTP систем может быть значительным. Но за счет того, что имеется стандарт FTP, все эти приложения работают единообразно. Есть сетевой продукт Telnet - сетевая эмуляция алфавитно-цифрового терминала.

То есть в системе стандартизованы протоколы с помощью которых организованы прикладные системы. И мы можем строить свои приложения FTP или Telnet из предоставленных кирпичиков.

Разные прикладные системы общаются с разными протоколами - кто-то с UDP, кто-то с TCP. FTP è Telnet, например, работают через TCP, а сетевая файловая система NFS, которая позволяет объединять файловые системы разных машин в одну (и видеть их, как свою локальную), основывается на UDP, потому что NFS работает в рамках локальной сети.

Вот и все, что можно было сказать о многомашинных ассоциациях, протоколах и по курсу в целом.