Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и ВТ Брукшир.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.07 Mб
Скачать

3.6.2Сеть ethernet

Ethernet является набором стандартов для создания локальной шинной сети. Разработанный в 70-х годах XX века, а сейчас стандартизированный институтом IEEE, Ethernet является наиболее распространенным методом объединения персональных компьютеров в сеть. И на самом деле, платы контроллера Ethernet для персонального компьютера легко доступны и просто устанавливаются.

Сегодня существует несколько версий Ethernet, различающихся технологией производства и скоростью передачи денных. Однако все они обладают чертами, общими для Ethernet. Среди них — формат сжатия данных для их передачи, использование манчестерского кодирования для передачи битов информации (способ представления нулей и единиц, при котором 0 обозначается нисходящим сигналом, а 1 — восходящим), использование метода CSMA/CD для контролирования права передачи данных.

3.6.3Javascript, апплеты, cgi и сервлеты

Пользователю World Wide Web следует иметь общее представление о процессах, которые происходят во время открытия веб-страницы. Сегодня многие веб-страницы сопровождаются анимацией и звуком. Эти действия контролируются программными единицами, которые выполняются на машине пользователя. Веб-сервер пересылает их машине пользователя вместе с HTML-документом, описывающим веб-страницу. Два наиболее распространенных языка для создания таких единиц — JavaScript (разработанный компанией Netscape Communication) и Java (разработанный компанией Sun Microsystems). В языке Java эти программные единицы называются апплетами (applet).

Однако существуют случаи, когда пользователь, просматривающий веб-страницу, может заставить выполняться программу на машине, содержащей сервер, поставляющий страницу. Например, пользователь может отправить бланк заказа или инициировать поиск информации в машине поиска. (Машина поиска представляет собой веб-узел, содержащий базу данных ссылок на веб-страницы Интернета.) Существуют две распространенные техники выполнения действий, инициированных пользователем. Согласно первой, браузер пользователя запускает программу, следуя набору протоколов, которые называются CGI (Common Gateway Interface — общий шлюзовой интерфейс). При другом подходе браузер инициирует выполнение программы, написанной на языке Java, которая называется сервлетом (servlet).

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

3.6.4Многоуровневый принцип программного обеспечения Интернета

Важной задачей сетевого программного обеспечения является обеспечение инфраструктуры, необходимой для передачи сообщений от одной машины к другой. В Интернете пересылка проходит благодаря иерархии единиц программного обеспечения, выполняющих задачи, аналогичные тем, которые выполняете вы, когда вам нужно послать посылку с подарком с Западного побережья Америки другу, который живет на Восточном побережье (рис. 3.17). Вы упаковываете подарок, пишете на нем адрес, а затем относите его на почту. На почте подарок помещают в большой контейнер вместе с другими посылками и доставляют его в авиакомпанию. В авиакомпании контейнер помещают в самолет и переправляют в пункт назначения, возможно, с остановками в пути. На месте назначения авиакомпания достает контейнер из самолета и передает его почтовой службе места назначения. В свою очередь, почтовая служба извлекает посылку из контейнера и доставляет ее адресату.

Таким образом, транспортировку подарка можно представить как иерархию, состоящую из трех уровней: 1 — уровень пользователя (вы и ваш друг), 2 — почтовая служба и 3 — авиакомпания. Каждый уровень использует нижний уровень в качестве абстрактного инструмента. (Вы не знаете деталей работы почтовой службы, а почтовая служба не знает внутренних операций авиакомпании.) Каждый уровень иерархии имеет представителей как в месте назначения, так и в месте отправления, при этом представители в месте назначения совершают действия, обратные тем, которые выполняют представители в месте отправления.

Точно так же происходит и с программным обеспечением, которое управляет связью через Интернет, только программное обеспечение Интернета включает в себя четыре уровня, а не три, и каждый уровень состоит из программ, а не людей. Эти четыре уровня таковы: прикладной, транспортный, сетевой и канальный (рис. 3.18). Все уровни представлены на каждой машине Интернета. Сообщение обычно создается на прикладном уровне. Отсюда оно по мере подготовки к отправке переходит на транспортный и сетевой уровень и, наконец, отправляется канальным уровнем. Канальный уровень также получает сообщение, которое проходит всю иерархию уровней до доставки его на прикладной уровень пункта назначения.

Рассмотрим процесс прохождения сообщения по всем уровням, начиная с прикладного, более подробно (рис. 3.19).

Прикладной уровень состоит из таких единиц программного обеспечения, которым для осуществления их функций необходима связь с Интернетом. Несмотря на сходство названий, этот уровень включает не только прикладное программное обеспечение, описанное в разделе 3.2. На самом деле многие программы, которое считаются частью прикладного уровня, относятся к обслуживающему программному обеспечению по классификации, представленной в разделе 3.2. Примером может послужить набор программ для передачи файлов по Интернету, использующих протокол FTP (File Transfer Protocol — протокол передачи файлов). Эти программы разработаны совместно как законченный пакет программ и называются FTP, в знак признания лежащего в основе протокола. В качестве другого примера можно привести пакет программ, который называется сетевым теледоступом (telnet). Он был разработан как средство, которое позволяет пользователю через Интернет получать доступ к удаленной машине, как если бы он был местным пользователем этой машины. Оба пакета программ, и FTP и пакет сетевого теледоступа, первоначально рассматривались как прикладное программное обеспечение, но сегодня они стали частью инфраструктуры, поддерживаемой большинством персональных компьютеров. Эти единицы программного обеспечения сейчас используются как абстрактные инструменты в структуре более крупных приложений, таких как веб-браузеры. В этом смысле они стали обслуживающим программным обеспечением. Вот другой пример этого явления. Набор программ, которые приводят в исполнение протокол SMTP (Simple Mail Transfer Protocol — простой протокол электронной почты), который сейчас является обслуживающим программным обеспечением и используется серверами электронной почты для пересылки сообщений.

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

Главная задача транспортного уровня состоит в том, чтобы принимать сообщения прикладного уровня и обеспечивать правильный формат для передачи их через Интернет. Для выполнения последней функции транспортный уровень разделяет длинные сообщения на небольшие сегменты, которые пересылаются по Интернету как отдельные блоки. Такое разбиение необходимо, поскольку одно длинное сообщение может затруднить пересылку других сообщений в местах, где пересекается множество сообщений. Небольшие сегменты могут пройти сквозь это место, а длинное сообщение заставит другие сообщения ждать (как, например, автомобили ждут на железнодорожном переезде, когда пройдет поезд).

Транспортный уровень добавляет к сегментам сообщения порядковый номер, чтобы в пункте назначения их можно было снова объединить в сообщение. Затем он прикрепляет к каждому сегменту, который называется пакетом (packet), адрес пункта назначения и передает его сетевому уровню. С этого момента пакеты рассматриваются как отдельные не связанные друг с другом сообщения, пока они не достигнут пункта назначения.

Сетевой уровень отслеживает пересылку полученных пакетов от одной сети Интернета к другой, пока они не достигнут пункта назначения. Следовательно, именно сетевой уровень имеет дело с топологией Интернета. В частности, если путь пакета проходит через множество отдельных сетей, именно сетевой уровень в каждой промежуточной остановке определяет адрес, по которому следует дальше послать пакет. Он осуществляет эту задачу, приписывая каждому пакету адрес промежуточного места назначения. Промежуточный адрес определяется следующим образом: если конечный пункт назначения пакета находится в данной сети, то приписанный адрес является копией адреса конечного пункта назначения; в противном случае приписывается адрес маршрутизатора данной сети, через который пакет можно переслать в соседнюю сеть. То есть пакет, предназначенный для машины текущей сети, пересылается этой машине, а пакет, адресованный машине, находящейся в другой сети, продолжает свое путешествие от сети к сети.

Определив промежуточный пункт назначения, сетевой уровень прикрепляет к пакету адрес и передает его канальному уровню.

Канальный уровень обеспечивает учет всех деталей пересылки сообщений, присущих сети, в которой находится машина. Если эта сеть является кольцевой сетью с маркерным доступом, канальный уровень, прежде чем отправить сообщение, ждет получения маркера. Если в сети используется протокол CSMA/CD, канальный уровень ждет освобождения шины. Кроме того, каждая отдельная сеть Интернета имеет свою собственную систему адресов, которая не зависит от системы адресов, применяемых в Интернете. Также многие из сетей функционировали задолго до того, как их владельцы решили подключить их к Интернету. Поэтому канальный уровень должен преобразовать Интернет-адрес, приписанный к пакету, в адрес, соответствующий местной системе адресов.

Каждый раз, когда пакет пересылается, его получает канальный уровень машины. Затем канальный уровень передает пакет сетевому уровню, где конечный пункт назначения пакета сравнивается с текущим местоположением. Если они не совпадают, сетевой уровень назначает пакету новый промежуточный адрес и возвращает его канальному уровню для пересылки. Таким образом, каждый пакет пересылается от машины к машине, пока не достигнет пункта назначения. Обратите внимание на то, что в месте промежуточной остановки работают только канальный и сетевой уровень.

Если сетевой уровень устанавливает, что полученный пакет достиг конечного пункта назначения, он передает этот пакет транспортному уровню. Когда транспортный уровень получает пакеты от сетевого уровня, он извлекает сегменты исходного сообщения и восстанавливает его с помощью порядковых номеров, которые назначил сегментам транспортный уровень пункта отправки. Как только сообщение восстановлено, оно передается прикладному уровню. На этом процесс пересылки сообщения завершается.

Определение того, какая программа должна получить входящее сообщение, является важной задачей транспортного уровня. Каждой программе назначается уникальный номер порта (не путайте с портом ввода-вывода, который обсуждался в главе 2). Программа, отправляющая сообщение, прикрепляет к адресу сообщения соответствующий номер порта. Как только транспортный уровень получает сообщение, он передает его программе прикладного уровня с указанным номером порта. Пользователям Интернета не нужно знать номера портов, поскольку распространенные программы имеют стандартные номера портов. Например, если веб-браузер должен открыть документ с адресом http://www.zoo.org/animals/frog.html, он знает, что нужно установить связь с HTTP-сервером www.zoo.org через порт с номером 80. Точно так же, когда пересылается файл, FTP-клиент замыкается на FTP-сервер с номером порта 21.

Таким образом, связь через Интернет осуществляется благодаря взаимодействию четырех уровней программного обеспечения. Прикладной уровень занимается сообщениями и адресами. Транспортный уровень преобразует сообщения в пакеты, совместимые с Интернетом, и восстанавливает полученные сообщения, прежде чем передать их прикладному уровню. Сетевой уровень определяет направление пересылки сообщения. Канальный уровень пересылает пакеты от машины к машине в пределах сети. Удивительно, но несмотря на такое количество действий время отклика Интернета измеряется в миллисекундах. Фактически большинство действий выполняются мгновенно.