Всё для Учёбы — студенческий файлообменник
2 монеты
doc

Шпаргалка «Экзаменационная» по Информационным сетям и телекоммуникациям (Арсентьев Д. А.)

1. Классификация сетей

Вычислительные сети классифицируются по ряду признаков.

В зависимости от расстояний между связываемыми узлами:

территориальные - охватывающие значительное географическое пространство. Территориальные сети: региональные и глобальные, имеющие соответственно региональные или глобальные масштабы. Региональные сети иногда называют сетями MAN (Metropolitan Area Network), а общее англоязычное название для территориальных сетей - WAN (Wide Area Network); локальные (ЛВС) - охватывающие ограниченную территорию (обычно в пределах удаленности станций не более чем на несколько десятков или сотен метров друг от друга, реже на 1...2 км); LAN (Local Area Network);

корпоративные (масштаба предприятия) - совокупность связанных между собой ЛВС, охватывающих территорию, на которой размещено одно предприятие или учреждение в одном или нескольких близко расположенных зданиях. Локальные и корпоративные вычислительные сети - основной вид вычислительных сетей, используемых в системах автоматизированного проектирования (САПР).

Глобальная сеть Internet (реализованная в ней информационная служба World Wide Web (WWW) (перев. на рус. яз. всемирная паутина); это сеть сетей со своей технологией. В Internet существует понятие интрасетей (Intranet) - корпоративных сетей в рамках Internet.

Различают интегрированные сети, неинтегрированные сети и подсети: Интегрированная вычислительная сеть (интерсеть) – это совокупность многих вычислительных сетей, которые в интерсети называются подсетями.

Интерсети нужны для объединения подсетей, а также для объединения технических средств автоматизированных систем проектирования и производства в единую систему комплексной автоматизации (CIM - Computer Integrated Manufacturing). Обычно интерсети приспособлены для различных видов связи: телефонии, элек.почты, передачи видеоинф., цифровых данных и т.п., и в этом случае они называются сетями интегрального обслуживания. Подсети объединяются с помощью блоков взаимодействия.

В зависимости от топологии соединений узлов различают сети шинной (магистральной), кольцевой, звездной, иерархической, произвольной структуры.

Среди ЛВС наиболее распространены:

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

кольцевая (ring) - узлы связаны кольцевой линией передачи данных (к каждому узлу подходят только две линии); данные, проходя по кольцу, поочередно становятся доступными всем узлам сети;

звездная (star) - имеется центральный узел, от которого расходятся линии передачи данных к каждому из остальных узлов.

В зависимости от способа управления различают сети:

"клиент/сервер" - в них выделяется один или несколько узлов (их название - серверы), выполняющих в сети управляющие или специальные обслуживающие функции, а остальные узлы (клиенты) являются терминальными, в них работают пользователи. Сети клиент/сервер различаются по типам серверов (например, файл-серверы, серверы баз данных). При специализации серверов по определенным приложениям имеем сеть распределенных вычислений. Такие сети отличают также от централизованных систем, построенных на мэйнфреймах;

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

Сетецентрическая концепция, пользователь имеет лишь дешевое оборудование для обращения к удаленным компьютерам, а сеть обслуживает заказы на выполнение вычислений и получения информации. Подобные компьютеры называют тонкими клиентами или сетевыми компьютерами.

В зависимости от того, одинаковые или неодинаковые ЭВМ применяют в сети, различают сети однотипных ЭВМ, называемые однородными, и разнотипных ЭВМ - неоднородные (гетерогенные). В крупных автоматизированных системах, как правило, сети оказываются неоднородными.

В зависимости от прав собственности на сети последние могут быть сетями общего пользования (public) или частными (private). Среди сетей общего пользования выделяют телефонные сети ТфОП (PSTN - Public Switched Telephone Network) и сети передачи данных (PSDN- Public Switched Data Network).

Сети также различают в зависимости от используемых в них протоколов и по способам коммутации.

2. Модель OSI. Общие сведения.

Международной организацией по стандартизации (ISO) был предложен стандарт, который покрывает все аспекты сетевой связи, — это модель взаимодействия открытых систем (OSI). Он был введен в конце 1970-х.

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

Модель OSI составлена из семи упорядоченных уровней: физического (ур1), звена передачи данных (ур2), сетевого (ур3), транспортного (ур4), сеансового (ур5), представления (ур6) и прикладного (ур7).

Обмен информацией между модулями происходит на основе определенных соглашений, которые называются интерфейсом. При передаче сообщения модуль верхнего уровня решает свою часть задачи, а результат, понятный только ему, оформляет в виде дополнительного поля к исходному сообщению (заголовка) и передает измененное сообщение на дообслуживание в нижележащий уровень. Этот процесс называется инкапсуляцией.

Заголовки добавляются к началу передаваемых данных, в уровнях 6, 5, 4, 3 и 2. На уровне 2 кроме заголовков добавляются конечные метки (окончания). На уровне 1 полный комплект преобразуется к форме, которая может быть передана к приемному устройству.

С другой стороны, при приеме сообщения нижележащий уровень после обработки своей части сообщения удаляет его и оставшееся сообщение передает вышележащему уровню. Например, уровень 2 удаляет данные, предназначенные для него, затем передает остальные к уровню 3. Уровень 3 затем удаляет данные, предназначенные для него, и передает остальные к уровню 4, и так далее.

Интерфейс определяет формат, физические и электрические свойства сигналов обмена между модулями различных уровней, а протокол описывает логические процедуры по обработке сообщения удаленному узлу сети равного уровня.

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

Семь уровней можно рассматривать, исходя из принадлежности их к трем подгруппам. Нижние уровни 1, 2 и 3 — физический, звена данных и сетевой — имеют дело с физическими аспектами данных, перемещающихся от одного устройства до другого (таких как электрические спецификации, физические подключения, физическая адресация и синхронизация передачи и надежность). Верхние уровни 5, 6 и 7 — сеансовый, представления и прикладной — позволяют обеспечивать способность к взаимодействию среди несвязанных программных систем. Уровень 4 — транспортный уровень — связывает эти две подгруппы и гарантирует, что более низкие уровни передачи находятся в формате, который верхние уровни могут использовать. Верхние уровни OSI почти всегда реализовывались в программном обеспечении; более низкие уровни — комбинация аппаратных средств и программного обеспечения, исключая физический уровень, который является главным образом аппаратным.

3.Модель OSI. Физический, сетевой, канальный уровни.

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

Физический уровень (Physical Layer — PL) обеспечивает побитовую транспортировку кадров (часто называемую пакетом) между узлами по требуемой физической среде передачи (металлический кабель, оптоволоконная линия связи, радиоканал).

Физический уровень определяет следующие процедуры и функции, которые физические устройства и интерфейсы должны выполнять в ситуациях, возникающих при передаче информации:

• Физические характеристики интерфейсов и сред передачи. На физическом уровне задают характеристики интерфейса между устройствами и средами передачи. Он также определяет тип среды передачи.

• Представление бит. Физические данные уровня состоят из потока битов (последовательность нулей или единиц) без любой интерпретации. Чтобы быть переданными, биты должны кодироваться электрическими или оптическими сигналами. Физический уровень определяет тип кодирования (каким именно образом нули и единицы представляются в форме электрических сигналов).

• Скорость данных. Скорость передачи — физический уровень задает продолжительность бита, которая определяет, как долго длится передача блоков информации.

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

• Конфигурация линии. Физический уровень определяет подключение устройств к среде передачи. В конфигурации "точка-точка" два устройства связаны вместе через приданную им линию связи. В многоточечной конфигурации линия связи разделена между несколькими устройствами.

• Физическая топология. Физическая топология определяет, как устройства связаны для того, чтобы создать сеть. Устройства могут быть связаны, используя топологию "каждый с каждым" (каждое устройство связано с каждым другим устройством), звездную топологию (устройства связаны через центральное устройство), кольцевую топологию (каждое устройство связано со следующим, формируя кольцо) или топологию типа "шина" (каждое устройство на общей линии связи).

• Режим передачи. Физический уровень также определяет направление передачи между двумя устройствами: симплекс, полудуплекс или дуплексный. В симплексном режиме только одно устройство может передать, а другое может только получить. В полудуплексном режиме два устройства могут передавать и получать, но не в одно и то же время. В полнодуплексном (или просто дуплексном) режиме два устройства могут передавать и получать информацию одновременно.

На канальном уровне (Data Link Layer — DLL) реализуются механизмы обнаружения и коррекции ошибок, возникающих в канале связи между узлами. Задачи уровня звена передачи данных:

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

• Физическая адресация. Если кадры должны быть распределены между несколькими различными приемниками, уровень звена передачи данных добавляет заголовок к кадру, чтобы определить конкретный передатчик и/или приемник кадра. Если кадр предназначен для системы вне сети передатчика, добавляется адрес приемника или адрес устройства, которое подключает его к другой сети.

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

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

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

Сетевой уровень (Network Layer — NL) служит для образования сквозной транспортной системы между оконечными устройствами пользователя через все промежуточные сети связи — "из конца в конец".

Он выполняет следующие задачи:

• Логическая адресация. Чтобы передать пакет, средства сетевого уровня собирают информацию о топологии сетевых соединений и используют ее для выбора наилучшего пути. Каждый пакет содержит адрес получателя, который состоит из старшей части — номера сети и младшей — номера компьютера (узла) в этой сети. Cеть — это совокупность компьютеров, сетевой адрес которых содержит один и тот же номер сети.

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

• Маршрутизация. Когда независимые сети или линии связи включены вместе, чтобы создать интернет-сети (сеть сетей) или большую сеть, то используются подключающие устройства (называемые маршрутизаторами, или коммутаторами). Они последовательно направляют или коммутируют пакеты к конечному пункту назначения. Одна из функций сетевого уровня должна обеспечить этот механизм.

4. Модель OSI. Транспортный, сеансовый, прикладной, представительный уровни

Транспортный уровень (Transport Layer — TL) определяет правила транспортировки пакетов по сети. Транспортный уровень наблюдает за доставкой из конца в конец индивидуальных пакетов. Он обрабатывает каждый. Транспортный уровень гарантирует, что все сообщения прибывают в конечный пункт неповрежденными и пакеты располагаются в первоначальном порядке. Он осуществляет контроль нарушения информации и контроль ошибок, а также управление потоком по всему тракту "источник — пункт назначения".

Транспортный уровень выполняет следующие задачи:

• Адресация точки сервиса. Компьютеры часто выполняют несколько программ в одно и то же время. Заголовок транспортного уровня должен включать тип адреса, называемый адрес сервисной точки (или адрес порта). Сетевой уровень доставляет каждый пакет на корректный адрес компьютера; транспортный уровень доставляет полное сообщение к корректному процессу на этом компьютере.

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

• Управление подключением. Транспортный уровень может быть ориентирован на работу без установления соединения или ориентирован на подключение — дейтаграммный режим. Транспортный уровень без установления соединения (по предварительно установленному виртуальному соединению) обрабатывает каждый сегмент как независимый пакет и поставляет его транспортному уровню в машине пункта назначения. Ориентированный на подключение транспортный уровень сначала перед поставкой пакетов устанавливает соединение с транспортным уровнем в компьютере пункта назначения. После того как все данные переданы, подключение заканчивается.

Режим, ориентированный на соединение, применяется для надежной доставки данных.

• Управление потоком. Подобно уровню звена передачи данных, транспортный уровень несет ответственность за управление потоком. Однако управление потоком на этом уровне выполняется от "конца концу".

• Контроль ошибок. Транспортный уровень несет ответственность за контроль ошибок. Исправление ошибки обычно происходит с помощью повторной передачи.

Уровень сеанса (Session Layer SL) — сетевой контроллер диалога. Он устанавливает, поддерживает и синхронизирует взаимодействие между связывающимися системами.

Уровень сеанса организует диалог между сторонами, фиксирует, какая из активна и каким образом завершается диалог.

Задачи сеансового уровня следующие:

• Управление диалогом. Сеансовый уровень дает возможность двум системам вступать в диалог. Он позволяет обмен сообщениями между двумя процессами.

• Синхронизация. Сеансовый уровень позволяет процессу добавлять контрольные точки (точки синхронизации) в поток данных. Например, если система посылает файл из 2 000 страниц, желательно вставить контрольные точки после каждых 100 страниц.

Уровень представления (Presentation Layer) занимается формой предоставления информации нижележащим уровням, например, перекодировкой или шифрованием информации.

Задачи уровня представления:

• Перекодировка информации. Информация, прежде чем быть переданной, должна быть изменена на потоки бит. Уровень представления несет ответственность за способность к взаимодействию между различными методами кодирования. Уровень представления в передатчике изменяет информацию от формы, зависящей от передатчика, в общую форму. И наоборот.

• Шифрование. Шифрование означает, что передатчик преобразовывает первоначальную информацию к другой форме и посылает результирующее сообщение по сети.

• Сжатие. Сжатие данных уменьшает число битов, содержавшихся в информации.

Прикладной уровень (Application Layer — AL) — это набор протоколов, которыми обмениваются удаленные узлы, реализующие одну и ту же задачу (программу). Он обеспечивает интерфейсы пользователя и поддержку услуг — электронной почты, удаленного доступа и перевода средств, общедоступного управления базы данных и других типов информационных служб.

Примеры услуг, оказываемых прикладным уровнем:

• Сетевой виртуальный терминал. Сетевой виртуальный терминал — программная версия физического терминала, он позволяет пользователю войти в удаленный хост.

• Передача файлов, доступ и управление. Это приложение позволяет пользователю обращаться к файлам в удаленном хосте, чтобы изменять или читать данные.

• Услуги почты.

• Услуги каталога. Это приложение обеспечивает распределенные источники базы данных и доступ к глобальной информации о различных объектах и услугах.

5. Стек протоколов Интернета

Стек протоколов сети Интернет был разработан до модели OSI. Стек протоколов Интернета состоит из пяти уровней: физического, звена передачи данных, сети, транспортного и прикладного. Первые четыре уровня обеспечивают физические стандарты, сетевой интерфейс, межсетевое взаимодействие и транспортные функции, которые соответствуют первым четырем уровням модели OSI. Три самых верхних уровня в модели OSI представлены в стеке протоколов Интернета единственным уровнем, называемым прикладным уровнем рис.

Рис. Стек протоколов Интернета по сравнению с OSI

Стек базовых протоколов Интернета — иерархический, составленный из диалоговых модулей. В отличие от модели OSI, где определяется строго, какие функции принадлежат каждому из ее уровней, уровни набора протокола TCP/IP содержат относительно независимые протоколы, которые могут быть смешаны и согласованы в зависимости от потребностей системы. Термин иерархический означает, что каждый верхний протокол уровня поддерживается соответственно одним или более протоколами нижнего уровня.

На транспортном уровне стек определяет два протокола: протокол управления передачей (TCP) и протокол пользовательских дейтаграмм (UDP). На сетевом уровне — главный протокол межсетевого взаимодействия (IP).

6.. Стек протоколов TCP/IP. Физический, канальный, транспортный уровни

Физический уровень

На физическом уровне и уровне звена передачи данных стек протоколов TCP/IP поддерживает все стандартные и частные протоколы передачи по кабелю, оптоволоконному кабелю и радиоканалам, которые определяются сетевыми технологиям на этом уровне (PDH — Plesiochronous Digital Hierarchy, SDH — Synchronous Digital Hierarchy, ATM — Asynchronous Transfer Mode и другими).

Канальный уровень (звена передачи данных)

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

Четыре нижних уровня в совокупности независимы от вида передаваемой информации. Каждое приложение, связывающееся с четвертым уровнем, идентифицируется своим уникальным номером порта. Номера портов занимают диапазон от 0 до 65535. В этом диапазоне номера портов 0-1023 выделены под общесетевые приложения (well-known ports), номера портов 1024-49151 используются разработчиками специализированного программного обеспечения, номера портов 49152-65535 динамически закрепляются за приложениями пользователей на время сеанса связи

Транспортный уровень

На транспортном уровне TCP/IP определяет два протокола: протокол управления передачей (TCP) и протокол пользовательских дейтаграмм (UDP).

UDP и TCP — транспортные протоколы уровня, которые отвечают за доставку сообщения от процесса (функционирующей программы) к другому процессу.

Протокол пользовательских дейтаграмм (UDP – User Datagram Protocol) — наиболее простой из двух стандартных транспортных протоколов TCP/IP. Он выполняет функции передачи между прикладными уровнями разных рабочих станций, по адресу порта, контролирует ошибки по контрольной сумме и передает информацию верхним уровням.

Протокол управления передачей (TCP – Transmission Control Protocol) обеспечивает полные услуги транспортного уровня к приложениям. TCP — достоверный транспортный протокол потока, ориентированный на дуплексный режим связи с установлением логического соединения. Для этого каждый передаваемый пакет снабжается порядковым номером, и правильный его прием должен быть подтвержден приемной стороной. Протокол TCP имеет код протокола 6 (в шестнадцатеричном коде – 0x06) и используется для гарантированной транспортировки информации.

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

7. Стек протоколов TCP/IP. Сетевой и прикладной уровни.

Сетевой уровень

На сетевом уровне (межсетевом уровне) TCP/IP поддерживает протокол межсетевого взаимодействия (IP). IP содержит четыре протокола поддержки: протокол определения адреса (ARP — Address Resolution Protocol), протокол определения сетевого адреса по местоположению (RARP – Reserve Address Resolution Protocol), протокол управляющих сообщений Internet – (ICMP — Internet Control Message Protocol) и межсетевой протокол управления группами (IGMP – Internet Group Message Protocol). На этом же уровне применяются протоколы маршрутизации: протокол обмена маршрутной информацией (RIP — Routing Information Protocol), "открыть кратчайший путь первым" (OSPF — Open Shortest Path First), протокол пограничной маршрутизации (BGP — Border Gateway Protocol).

Протокол межсетевого взаимодействия (IP)

Протокол межсетевого взаимодействия (IP) — механизм передачи, используемый протоколами TCP/IP. Это ненадежная служба доставки дейтаграммы без установления соединения, но делается все возможное (максимальные усилия), чтобы передать информацию к ее пункту назначения.

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

Протокол определения адресов (ARP – Address Resolution Protocol) используется, чтобы связать адрес IP с физическим адресом. На типичной физической сети, типа локальной сети LAN (Local Area Network), каждое устройство на линии связи идентифицировано физическим адресом или адресом станции, обычно закрепленным в сетевой карте интерфейса (NIC – Network Interface Card). ARP используются, чтобы найти физический адрес узла, когда известен его адрес в сети Интернет.

Обратный протокол определения адресов (RARP — протокол определения сетевого адреса по местоположению) позволяет хосту обнаруживать его адрес в сети Интернет, когда хост знает только свой физический адрес. Он используется, когда компьютер связывается с сетью впервые.

Протокол управляющих сообщений Интернета (ICMP – Internet Control Message Protocol) — механизм, используемый хостами и шлюзами, чтобы передать извещение о дейтаграммных проблемах назад к передатчику.

Межсетевой протокол управления группами (IGMP – Internet Group Message Protocol) – обслуживает одновременную передачу сообщения к группе получателей.

Протокол пограничной маршрутизации (BGP — Border Gateway Protocol) — протокол маршрутизации между автономными системами, основанный на применении вектора пути.

Протокол обмена маршрутной информацией (RIP — Routing Information Protocol) — протокол маршрутизации, основанный на использовании алгоритма вектора расстояний.

"Открыть кратчайший путь первым" (OSPF — Open Shortest Path First) — внутрисетевой протокол маршрутизации, основанный на анализе состояния линий связи.

Прикладной уровень TCP/IP

Следующие протоколы прикладного уровня:

SMTP (Simple Mail Transfer Protocol) – простой почтовый протокол. Он поддерживает передачу почтовых электронных сообщений по сети Интернет. Обеспечивает передачу информации пользователям, готовым к немедленной доставке. Передача осуществляется в режиме 7-битовых слов.

Система поддерживает:

• посылку одиночных сообщений одному или более получателям;

• посылку сообщений, включающих в себя текст, голосовые сообщения, видео или графические материалы.

Протокол передачи файлов (FTP — File Transfer Protocol) используется для передачи файлов от одного компьютера к другому. Обеспечивает просмотр каталогов удаленного компьютера, копирование, удаление и пересылку файлов. Устанавливает два соединения между хостами. Одно используется для передачи информации, а другое — для управления передачей.

DNS (Domain Name System) – служба доменных имен. Она осуществляет присвоение уникальных имен всем пользователям и узлам сети Интернет и устанавливает логическую связь с их сетевыми адресами. Доменное имя представляется иерархической структурой, имеющей несколько уровней. Типовые имена доменов верхнего уровня закреплены следующим образом: .com – коммерческие организации; .gov – правительственные учреждения; .org – некоммерческие организации; .net — центры поддержки сети; .int – международные организации; .mil – военные структуры.

SNMP (Simple Network Management Protocol) — простой протокол управления сетью. Протокол разработан так, чтобы он мог контролировать устройства, созданные различными изготовителями и установленные на различных физических сетях.

Сетевая файловая система (NFS — Network File System). Это один из многих протоколов, который позволяет использование файлов, содержащих процедуры управления и периферии в другом компьютере.

Тривиальный (простейший) протокол передачи файлов TFTP (Trivial File Transfer Protocol). Используется в простых случаях при начальной загрузке рабочих станций.

Протокол передачи гипертекста (HTTP — Hyper Text Transfer Protocol) — транспортный протокол, который применяется в Интернете при обмене документами, представленными на языке описания гипертекстовых документов.

Язык разметки гипертекста (HTML — Hyper Text Markup Language). Является одним из главных языков, используемых в сети WWW.

Мировая паутина (WWW — World Wide Web) – глобальная гипертекстовая информационная система. Она объединяет огромное количество документов, хранящихся во многих странах мира и доступных через сеть узлов в сети Интернет, которые связаны между собой каналами связи.

8.Связь между уровнями стека протоколов сети Интернет и адресацией

В сети Интернет используются три различных уровня адресов: физический адрес (линия связи), интернет-адрес (IP) и адрес порта.

Каждый адрес принадлежит заданному уровню TCP/IP-архитектуры, как это показано на рис.

Физический адрес

Физический адрес (MAC-адрес) используется для установления соединения в локальной сети. Этот адрес совпадает с номером сетевой карты компьютера и жестко устанавливается заводом-изготовителем из диапазона отведенных ему адресов. Записывается в виде шестнадцатеричных чисел, разделенных двоеточием, например, 08:00:06:3F:D4:E1, где первые три значения определяют фирму-производителя, а последующие – порядковый номер узла. При замене аппаратуры изменяется и MAC-адрес, поэтому их использование в качестве сетевых адресов неудобно.

Физические адреса могут быть либо индивидуальные и групповые, либо широковещательные (для получения всеми системами в сети). Некоторые сети поддерживают все три типа адресов (локальная сеть Ethernet). Некоторые сети не поддерживают групповую рассылку или широковещательно передают физические адреса. Если кадр нужно передать группе получателей или системе для всей системы, адрес групповой рассылки или широковещательный адрес должен моделироваться, используя однонаправленные адреса. Это означает, что множество пакетов рассылаются, используя однонаправленные адреса.

9.Версии TCP/IP

TCP/IP стал официальным протоколом для Интернета в 1983-м. Существовало шесть версий TCP/IP. Рассмотрим последние три версии.

Версия 4 (IPv4) Большинство сетей в Интернете в настоящее время использует версию 4. Однако она имеет существенные недостатки. Главный из них — это проблема с адресом Интернета: только 32 бита длины в адресном пространстве, разделенном на различные классы (A, B, C, D и E).. С быстрым ростом Интернета 32 бит уже не достаточно, чтобы оснастить проектируемое число пользователей. Также и разделение места в различных классах ограничивает в дальнейшем доступные адреса. IPv4 не обеспечивает аудио- и видеопередачу в реальном масштабе времени, так как этот тип передачи требует стратегии минимальных задержек и резервирования ресурсов.

Версия 5 была предложением, основанным на модели OSI. Она никогда так и не вышла из рамок предложения из-за обширного уровня изменений и проектируемых расходов.

Версия 6 (IPv6) IPv6 использует 16-байтовые адреса (128 битов) взамен 4-байтовых адресов (32 бита). IPv6 может таким образом разместить большее число пользователей. В этой версии IGMP (межсетевой протокол управления группами) и ARP объединены в ICMPv6, RARP (протокол определения сетевого адреса по местоположению) удален.Протоколы маршрутизации, такие как RIP и OSPF, были также слегка модифицированы, чтобы приспособиться к этим изменениям.

Новая версия поддерживает идентификацию, целостность данных и конфиденциальность на сетевом уровне. Она разработана, чтобы обрабатывать передачу данных в реальном масштабе времени. IPv6 может также обрабатывать перегрузку и переадресовывать нагрузку лучше, чем IPv4. IPv6 использует новый формат заголовка, в котором опции отделены от основного заголовка и вставлены, когда это нужно, между основным заголовком и данными более высокого уровня. Это упрощает и ускоряет процесс маршрутизации.IPv6 разработан так, чтобы позволить расширить возможности протоколов, если потребуются новые технологии и применения. В IPv6 поле "тип услуги" не переменное, но дополнено механизмом (названным таблица потока) для обеспечения возможности источника запросить специальную обработку пакета. Этот механизм может быть использован для поддержки увеличенного или чувствительного к задержкам трафика, такого как аудио и видео, в реальном масштабе времени. Опции шифрования и опознавания IPv6 обеспечивают конфиденциальность и неприкосновенность пакета.

10.Система доменных имен

Для идентификации объекта протоколы используют IP-адреса, которые уникально идентифицирует соединения хоста с Интернетом. Однако люди предпочитают имена адресам. Поэтому нам необходима система, которая сопоставляет имя с адресом или адрес к имени.

Когда Интернет имел небольшой объем, сопоставление делал хост-файл. Хост-файл имел только две колонки, включающие в себя имя и адрес. Когда программа или пользователь хотели сопоставить имя и адрес, хост обращался к хост-файлу и находил отображение.

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

Решение — децентрализация. Огромное количество информации разделено на маленькие части, и каждая часть накапливается в различных компьютерах. При этом методе хост, который нуждается в отображении, может контактировать с ближайшим компьютером, содержащим необходимую информацию. Этот метод используется в доменной системе имен (DNS — Domain Name System).

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

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

В иерархическом пространстве имен каждое имя составлено из нескольких частей. Первая часть может определять природу организации, вторая часть — имя организации, третья часть — департаменты в организации, и так далее. В этом случае полномочия и управление пространством имен может быть децентрализовано. Центральные полномочия могут назначаться согласно той части имени, которое определяет природу организации и имя организации. Полномочия, определяемые остальной частью имени, определяются самой организацией. Организация может добавить к имени суффикс или префикс, определяющие ресурсы ее хоста. Управлению организации не нужно беспокоиться, что префикс, выбранный для хоста, взят другой организацией, потому что даже если часть адреса одна и та же, полный адрес различается. Например, предположим, два университета и компания назвали один из их компьютеров kafedra. Первый университет дает имени центральные полномочия, такие как gut.edu, второй дает имя mtusy.edu, и компания дает имя loniis.ru. Когда каждая из этих организаций добавляет имя кафедра к имени, они уже дают в конечном результате три отличающихся имени: kafedra.gut.edu, kafedra.mtusy.edu и kafedra.loniis.ru.

Имена уникальны, и управление полномочиями проводится не по полному имени, а только по его части.

Пространство доменных имен

Иерархическое пространство доменных имен назначается. При этом назначении имя определяется структурой инвертированного дерева с корнем в вершине. Дерево может иметь 128 уровней: от уровня 0 (корень) до уровня 127. Принимая во внимание, что корень скрепляет целое дерево вместе, каждый уровень дерева определяет иерархический уровень.

Метка Каждый узел дерева имеет метку. Она отображается строчкой из символов с максимальным числом 63. Метка корня – нулевая строчка (пустая строчка). DNS требует, чтобы "дети" узла (узлы, которые являются ветками от того же узла) имели различные метки, которые гарантируют уникальность доменного имени.

Доменное имя

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

Последняя метка — это метка-корень (нуль). Это означает, что полное доменное имя всегда оканчивается нулевой отметкой, которую означает последний символ – точка, потому нулевая строка ничего не обозначает.

Полностью определенное доменное имя

Если метка завершается нулевой строкой, это называется "полностью определенное доменное имя». FQDN – имя хоста, которое содержит полное имя хоста. Оно включает в себя все метки, от наиболее специфичной до наиболее общей, которые уникально определяют имя хоста. Например, доменное имя

kafedra.gut.edu.

Это FQDN компьютера, названного kafedra и установленного в Государственном университете телекоммуникаций. Заметим, что имя должно заканчиваться нулевым ярлыком, но поскольку он ничего не обозначает, метка заканчивается точкой (.).

Частично определенное имя домена

Если метка не заканчивается нулевой строкой, это называется "частично определенным доменными именем" (PQDN — Partially Qualified Domain Name). PQDN начинается от узла, но не достигает корня. Оно используется, если в компьютере будет отмечено, что имя принадлежит тому же самому сайту, что и клиент. Здесь компьютер может заменить отсутствующую часть так называемым суффиксом, который создает FQDN. Например, если пользователь сайта sut.edu. хочет иметь IP-адрес компьютера "kafedra", он может определить частичное имя

kafedra

DNS клиента добавляет суффикс sut.edu перед тем, как передать адрес к DNS-серверу.

DNS клиента обычно имеет список суффиксов. Символы могут определяться списком сервера университета. Нулевой суффикс ничего не определяет. Этот суффикс добавляется, когда имя пользователя полностью определено в виде FQDN.

11. Система доменных имен. Домен

Домен — это фрагмент дерева в пространстве доменных имен. Имя домена – это доменное имя узла на вершине поддерева.

Распределение имен

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

Иерархия серверов имен

Решение этих проблем – распределить информацию по компьютерам, называемым DNS-серверы. Один из путей сделать это – разделить полное пространство на много доменов, базирующихся на первом уровне. В итоге мы имеем иерархию серверов в соответствии с иерархией имен.

Зона

То, за что сервер несет ответственность или где он имеет полномочия, называется зона. Сервер создает базу данных, называемую файлом зоны, и сохраняет всю информацию для всех узлов под этим доменом.

Корневой сервер Корневой сервер – это сервер, зона которого состоит из полного дерева. Корневой сервер обычно не накапливает информацию о домене, но делегирует свои полномочия другому серверу, сохраняя ссылки на полное пространство имен. Серверы распределены по всему миру.

Первичные и вторичные серверы

DNS (Domain Name System — система доменных имён) определяет два типа серверов: первичные и вторичные. Первичный сервер — это сервер, накапливающий файл о зоне, на которую он имеет полномочия. Вторичный сервер – это сервер, который передает полную информацию о зоне для других серверов

DNS в Интернете

DNS – это протокол, который может быть использован в различных платформах. В Интернете пространство доменных имен (дерево) разделяется на три различных секции: родовой домен, домен страны и инверсный домен.

Родовой домен Родовой домен определяет регистрацию хоста (generic domain) в соответствии с его родовой природой. Эти уровни связаны с типами организаций. Каждый узел дерева — домен, который является частью базы пространства доменных имен.

В трехсимвольной организационной структуре первого уровня существует 7 уровней доменов, соотнесены они с типами организаций так: com коммерческие организации, edu - образовательные учреждения, gov - правительственные учреждения, int - международные организации, mil - военные группы, net - центры поддержки сетей, org - некоммерческие организации.

Домены страны

Секция домены страны придерживается того же формата, что и родовые домены, но использует двухсимвольные сокращения страны (например, ru для России). Аббревиатуры второго уровня могут быть организационными или могут более детально определять национальную принадлежность. Россия (ru), например, использует аббревиатуры отдельных городов (например, spb.ru).

12. Протокол определения адреса (ARP)

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

Это может быть сделано или статически, или динамически. Соответствие между логическими и физическими адресами может быть статически сохранено в таблице. Передатчик может обратиться к таблице и найти физический адрес, соответствующий логическому адресу. Динамически — означает, что передатчик запрашивает, когда необходимо, чтобы приемник объявил свой физический адрес. Протокол ARP (Address Resolution Protocol) разработан для этой цели.

ARP связывает адрес IP с его физическим адресом. На типичной физической сети, такой как LAN (локальная сеть), каждое устройство на линии связи идентифицировано с физическим адресом или адресом станции, который обычно закрепляется в центре сетевой информации. В любое время, когда хост или маршрутизатор должны найти физический адрес другого хоста или маршрутизатора на его сети, они передают пакет-запрос ARP. Пакет включает физический и IP-адреса передатчика и приемника. Поскольку передатчик не знает физический адрес приемника, запрос является широковещательным по сети. Каждый хост или маршрутизатор на сети получает и обрабатывает пакет запроса ARP, но только получатель опознает свой адрес IP и передает назад ответный пакет ARP. Ответный пакет содержит IP-адрес получателя и физический адрес. Пакет направлен только непосредственно узлу, передавшему запрос и использующему физический адрес, который получен в пакете запроса.

Поля ARP следующие:

Тип аппаратуры (HTYPE — Hardware Type). Это поле на 16 битов, определяющее тип сети, на которой функционирует ARP.

Тип протокола (PTYPE — Protocol Type). Это поле на 16 битов, определяющее протокол.

Аппаратная длина (HLEN — Hardware length). Это поле на 8 битов, определяющее длину физического адреса в байтах.

Длина протокола (PLEN — Protocol length). Это поле на 8 битов, определяющее длину логического адреса в байтах.

Работа (OPER — Operation). Это поле на 16 битов, определяющее тип пакета. Определены два типа пакета: запрос ARP (1), ответ ARP (2).

Адрес аппаратных средств передатчика (SHA — Sender hardware address). Это поле переменной длины, определение физического адреса передатчика.

Адрес протокола передатчика (SPA — Sender protocol address). Это поле переменной длины, определение логического (например IP) адреса передатчика.

Целевой аппаратный адрес (THA — Target hardware address). Это поле переменной длины, определение физического адреса адресата.

Целевой адрес протокола (TPA —Target Protocol address). Это поле переменной длины, определение логического (например IP) адреса получателя.

13. Протокол определения сетевого адреса по местоположению (RARP)

Протокол обратного преобразования (RARP — Reverse Address Resolution Protocol) находит логический адрес (IP-адрес) для компьютера по его физическому адресу.

Каждому хосту или маршрутизатору назначаются один или более логических (IP) адресов, которые являются уникальными и независимыми от физического адреса компьютера.

Компьютер может получить свой физический адрес (например, запросив свой сетевой информационный центр, регистрирующий абонентов), который является уникальным в местном масштабе. Компьютер может затем использовать физический адрес, чтобы получить логический адрес, используя протокол RARP. Запрос RARP создан и передается широковещательным способом по местной сети. Любой компьютер на местной сети может затребовать адреса IP, а действующие компьютеры ответят откликом RARP. Затребовавшая машина должна функционировать как программа клиента RARP; отвечающая машина должна функционировать как программа сервера RARP.

В заключение необходимо заметить, что протокол RARP заменяется другими протоколами, например, DHCP (Dynamic Host Configuration Protocol – протокол динамической реконфигурации хостов). Когда загружается компьютер без диска, требуется больше информации в дополнение к его адресу IP. Он должен знать свою подсетевую маску, адрес IP-маршрутизатора и адреса IP-блока преобразования имен. RARP не может обеспечить эту дополнительную информацию. Новые протоколы были разработаны, чтобы обеспечить эту информацию.

14. Первоочередное открытие кратчайших путей (OSPF — Open Shortest Path First)

Протокол "первоочередное открытие кратчайших Путей" (OSPF — Open Shortest Path First) — это внутренний протокол. Его область автономные системы. Пограничный маршрутизатор автономных систем, отвечает за распространение информации об автономных системах в текущей системе. Для того чтобы обработать маршрутизацию эффективно и вовремя, OSPF разделяет автономную систему на зоны.

Зоны Зона — это набор всех сетей, хостов и маршрутизаторов, содержащихся в автономной системе. Автономная система может разделяться на много различных зон. Все сети внутри зоны должны быть соединены.

Маршрутизаторы внутри зоны содержат зоновую информацию маршрутизации. На границе зоны специальные маршрутизаторы, называемые пограничными маршрутизаторами зоны, суммируют информацию о зоне и посылают другим зонам. Основная зона обслуживает как первичная зона, а другие зоны — как вторичные. Маршрутизатор внутри основной зоны называется основным маршрутизатором. Каждая зона имеет идентификатор зоны.

Метрика

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

Маршрутизация по состоянию канала

Для обновления таблиц маршрутизации OSPF использует маршрутизацию по состоянию канала. Маршрутизация по состоянию линии — процесс, при помощи которого каждый маршрутизатор распространяет свою информацию о его соседях каждому маршрутизатору в зоне.

Ниже приводятся три основных положения для понимания того, как работает метод.

Распределение информации об окружении. Каждый маршрутизатор посылает информацию о состоянии своего окружения для каждого другого маршрутизатора зоны.

Распределение информации другим маршрутизатором. Каждый маршрутизатор посылает информацию о состоянии окружения для каждого другого маршрутизатора зоны. Он делает это с помощью волнового процесса. При его помощи маршрутизатор посылает свою информацию всем другим соседям (через все выходные порты). Каждый сосед посылает пакет ко всем его соседям, и так далее. Каждый маршрутизатор, который получает пакет, посылает копии для каждого своего соседа. В конечном счете, каждый маршрутизатор (без исключения) получает копию одной и той же информации.

Распределение информации, когда имеются изменения. Каждый маршрутизатор распределяет информацию о состоянии его окружения, только когда есть изменения. Это правило резко отличается от дистанционного вектора маршрутизации, где информация рассылается через регулярные интервалы, не принимая во внимание изменения.

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

15. Протокол пограничной маршрутизации (BGP — Border Gateway Protocol)

Протокол пограничной маршрутизации (BGP — Border Gateway Protocol) – это протокол маршрутизации между автономными системами. Он основан на методах маршрутизации, называемых "маршрутизация вектором пути".

Маршрутизация — процесс определения маршрута следования информации в сетях связи

Маршрутизация с использованием вектора путей

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

Сообщения вектора путей

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

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

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

Предотвращение петли

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

Политика маршрутизации

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

Атрибуты пути

Путь фактически это список атрибутов. Список атрибутов помогает принимающему маршрутизатору вырабатывать решение, когда применяется его политика.

Атрибуты разделяются на две категории: закрепленные (well-know) и опциональные. Закрепленный атрибут — единица, которую каждый BGP-маршрутизатор должен распознавать. Опциональный атрибут — единица, которую не надо распознавать каждому BGP-маршрутизатору.

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

Единица обязательного закрепленного атрибута – это ORGIN определяет информацию об источнике маршрутизации; AS_PATHО определяет список автономных систем, через которые может быть достигнут пункт назначения; NEXT-HOP, он определяет следующий маршрутизатор, к которому должен быть послан пакет данных.

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

Формат пакета

Все BGP-пакеты используют одни и те же заголовки. Рассмотрим общий заголовок.

Маркер. Это 16-байтовое поле, зарезервированное для опознавания.

Длина. Это поле в 2 байта, которое определяет длину полного сообщения, включающего заголовок.

Тип. Это поле 1 байт — тип пакета. Как было сказано раньше, мы имеем четыре типа, от 1 до 4.

16. Межсетевой протокол управления группами (IGMP - Internet Group Management Protocol)

Протокол управления группами Интернета (IGMP) — один из необходимых протоколов, которые включаются в групповую передачу. IGMP взаимодействует с протоколом IP.

Групповое управление

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

Протокол IGMP дает информацию маршрутизаторам групповой рассылки о состоянии членства хостов (маршрутизаторов), подключенных к сети.

Сообщения IGMP

У IGMP существует две версии. Мы обсуждаем IGMPv2, текущую версию. IGMPv2 имеет три типа сообщений: запрос, отчет о членстве и сообщение об уходе. Есть два типа сообщений запроса, общий и специальный.

Формат сообщения

Формат IGMP (версия 2) сообщения: тип - поле на 8 бит определяет тип сообщения; максимальное время ответа - поле на 8 бит определяет время, в пределах которого на запрос нужно ответить; контрольная сумма - поле на 16 бит, несущее контрольную сумму; адрес группы — "0" для общего сообщения запроса. Значение определяет groupid (адрес групповой рассылки группы) в специальном запросе, сообщении членства и сообщениях ухода.

17. Протокол управления сообщениями Интернета (ICMP Internet Control Message Protocol). Типы сообщений.

Протокол управления сообщениями Интернета (ICMP) — сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных. Также на ICMP возлагаются некоторые сервисные функции. Протокол ICMP является стандартом Интернета.

Типы сообщений

ICMP-сообщения разделены на две широкие категории: отчет об ошибке сообщения и запрос.

Сообщение об ошибке переносит данные о проблемах, возникающих при обмене сообщениями, с которыми маршрутизатор или хост (пункт назначения) могут столкнуться, когда они обрабатывают пакет IP.

Сообщения запроса помогают хосту получить заданную информацию от маршрутизатора или другого хоста.

18. Протокол управления сообщениями Интернета (ICMP). Формат сообщений.

Формат сообщения

ICMP-сообщение имеет 8-байтовый заголовок и раздел данных переменного размера. Хотя общий формат заголовка различен для каждого типа сообщения, первые 4 байта — общие для всех.1-ое поле, ICMP, определяет тип сообщения. Поле кода определяет основание для конкретного типа сообщения. Последнее общее поле – это поле контрольной суммы. Остальная часть заголовка задана для каждого типа сообщения.

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

Сообщения ошибки

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

• пункт назначения недостижим,

• подавление источника,

• время истекло,

• проблемы параметра,

• переназначение.

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

19.Протокол FTP

Протокол передачи файлов (FTP) – это стандартный механизм для копирования файла от одного хоста другим. FTP отличается от других приложений типа клиент-сервер тем, что он устанавливает два соединения между хостами. Одно соединение применяется для передачи данных, другое — для управления информацией (команды и отклики). FTP использует два заданных порта: порт 21 для управления и порт 20 для передачи данных.

Базовая модель FTP. Клиент имеет три компоненты: пользовательский интерфейс, процесс управления клиентом и процесс передачи клиентских данных. Соединение для передачи сигналов управления происходит между процессами управления. Соединение для передачи данных делается для процессов обмена данными.

Когда пользователь начинает FTP-сессию, соединение для передачи сигналов управления открывается. Пока оно открывается, соединение для передачи данных может быть открыто и закрыто много раз, если передается несколько файлов.

Соединение для передачи команд управления создается тем же самым методом, что и другие соединения, рассмотренные далее. Имеется два шага: 1)сервер пассивно открывается, подключается к заданному порту и ждет клиента; 2)клиент использует временный порт, и сессия активно открывается.

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

Соединение для передачи данных использует заданный порт 20. Однако создание соединения для передачи данных отличается от предыдущего. 1)Клиент (не сервер) вызывает пассивное открытие кратковременного порта. Это может быть сделано клиентом, потому что клиент вызывает команды для передачи файлов. 2)Клиент посылает номер этого порта серверу, используя команду PORT (ниже эта команда будет рассмотрена). 3)Сервер получает номер порта, вызывает активное открытие заданного порта 20 и получает номер временного порта.

Связь по каналу (соединению) для передачи команд управления FTP применяет те же самые методы, что TELNET или SMTP, для коммутации по установлению соединения для команд управления. Он использует набор символов NVT ASCII. Связь устанавливается с помощью команд и откликов. Посылается одна команда (отклик) в один момент времени. Каждая команда или отклик – это только короткая строка, так что мы можем не беспокоиться о формате файла или структуре файла. Каждая строка заканчивается двумя символами, обозначающими конец строки (возврат каретки и перевод строки).

20.Протокол FTP. Передача данных.

Связь по каналу (соединению) передачи данных. Мы хотим передать файлы по каналу для передачи данных. Клиент должен различать тип файла, который должен быть передан, структуру данных и режим передачи. Перед тем как передавать по каналу для передачи данных, мы подготавливаем передачу по каналу для сигналов управления. Проблема разнородности решается с помощью определения трех атрибутов: тип, структура данных и режим передачи.

FTP может передавать через соединение для передачи данных следующие типы файлов:

1)ASCII-файл. Формат, используемый по умолчанию для трансляции текстовых файлов. Каждый символ закодирован с использованием NVT ASCII-символов. Передатчик преобразует файл из собственного представления в NVT ASCII, и приемник преобразует символы NVT ASCII в собственное представление.

2)EBCDIC-файл. Если оба конца соединения используют кодирование EBCDIC, файл может быть передан с использованием EBCDIC-кодирования.

3)Image-файл. Этот файл по умолчанию — формат для передачи двоичных файлов. Файл посылается как непрерывный поток бит без всякой интерпретации и кодирования. В большинстве случаев используется для передачи двоичных файлов, таких как компилированная программа.

Если файл закодирован в ASCII или EBCDIC, другие атрибуты должны дополнятся, чтобы определить возможность печати файла:

1. Запрещенный для печати. Это формат по умолчанию для передачи текстовых файлов. Файл не содержит "вертикальных" спецификаций для печати. Это означает, что файл не может быть напечатан без предварительной обработки, потому что он не содержит символов, интерпретируемых для вертикального передвижения печатающей головки. Этот формат используется для файлов, которые будут накоплены и обработаны позднее.

2. TELNET. В этом формате файл содержит NVT ASCII вертикальные символы, такие, как CR (перевод каретки), LN (перевод строки), NL (новая строка) и VT (вертикальное табулирование). Эти файлы могут быть напечатаны после передачи

FTP может передавать файл по соединению для передачи данных, используя одну из следующих интерпретаций структуры данных:

1)Файловая структура (по умолчанию). Этот файл не имеет структуры. Это непрерывный поток данных.

2)Структура записи. Этот файл, разделенный внутри записи Он может быть использован только с текстовым файлом.

3)Страничная структура. Это файл, разделенный на страницы, каждая страница имеет номер и заголовок страницы. Страницы могут быть накоплены или достигнуты с помощью произвольного или последовательного доступа.

Режимы передачи FTP может передавать файл по соединению для передачи данных, используя один из трех следующих режимов передачи:

1)Поточный режим. Режим по умолчанию. Данные доставляются от FTP к TCP как непрерывный поток данных. TCP отвечает за разбиение данных на сегменты соответствующего размера. Если данные — просто поток байтов (файловая структура), то не нужно никакого признака окончания файла. Окончание файла в этом случае — это разъединение соединения данных отправителем. Если данные разделены на записи (структура по записи), каждая запись будет иметь однобайтный символ окончания записи (EOR — end of record).

2)Блочный режим. Данные могут быть доставлены от FTP и TCP в блоках. В этом случае блоку предшествует трехбайтный заголовок. Первый байт называется дескриптор блока, следующие два байта определяют размер блока в байтах.

3)Сжатый режим. Если файл большой, данные могут быть сжаты. Метод сжатия использует нормальное кодирование длины. В этом методе последовательное повторное появление блока данных заменяется одним вхождением и числом повторений. В тексте файла это обычно пробел. В двоичном файле нулевые символы обычно сжимаются.

21. Простой протокол электронной почты (SMTP — Simple Mail Transfer Protocol)

Одна из наиболее популярных сетевых услуг – это электронная почта (e-mail). TCP/IP протокол, который поддерживает сообщения электронной почты в Интернете — это простой протокол электронной почты (SMTP — Simple Mail Transfer Protocol). Он описывает систему команд и соглашений для посылки сообщений к другим компьютерным пользователям, основанную на адресах электронной почты. SMTP обеспечивает обмен почтовыми сообщениями между пользователями одной и той же или различных компьютерных сетей. Система поддерживает:

посылку одиночных сообщений одному или более получателям;

посылку сообщений, включающих в себя текст, голосовые сообщения, видео или графические материалы;

посылку сообщений для пользователей сетей, не входящих в Интернет.

Агент пользователя (User Agent – UA)

Начнем с того, что надо отделить работу сервера клиента от почтовой сети, так чтобы он мог иметь режим работы, независимый от почтовой сети, и наоборот. Чтобы его повседневная работа не влияла на почтовую сеть, введем агента пользователя (User Agent – UA). Аналогичный компонент требуется для почтового сервера – агент почтовой передачи (Mail Transfer Agent). Эти компоненты будут представлять соответственно клиента и почтовый сервер в сети.

Агент пользователя подготавливает сообщение, адрес и вкладывает сообщение в конверт (см. например, систему Microsoft Outlook). Более сложный случай - когда используются транзитные серверы сети Интернет. Транзитные участки не обязательно применяют набор протоколов TCP/IP для посылки почтовых сообщений. В этом случае на сети могут появиться почтовые шлюзы, которые могут преобразовывать SMTP-формат в другие форматы перед посылкой пользователю.

Теперь рассмотрим основные компоненты.

Агент пользователя без деталей реализации определяется в SMTP. АП – это обычная программа для передачи и получения почты. Одна из наиболее популярных программ — агент пользователя Outlook Express. Большинство агентов пользователя используют специальный интерфейс (типы окон) для взаимодействия клиент-система.

Услуги, обеспечиваемые агентом пользователя

Почтовый агент пользователя обеспечивает оформление письма, чтение письма, создание ответного сообщения, пересылку полученного письма одному или нескольким адресатам, работу с любыми типами писем (входящие, исходящие, отправленные, черновики).

Вспоминаем свою почту и описываем её.

22. Протоколы почтового доступа

Первая и вторая стадия доставки почты используют SMTP. Третья ступень использует протокол почтового доступа.

В настоящее время применяются два протокола: Post Office Protocol, Version 3 — POP3 и Internet Mail Access Protocol, Version 4 — IMAP4.

POP3

Post Office Protocol, Version 3 (POP3) — протокол простой, но ограниченный функционально.

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

POP3 имеет два режима: режим удаления и режим сохранения. В режиме удаления почта удаляется из почтового ящика после каждого запроса. В режиме сохранения почта остается в почтовом ящике после запроса.

IMAP4

IMAP4 похож на POP3, но имеет некоторые особенности: IMAP4 более мощный и более сложный.

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

IMAP4 обеспечивает следующие дополнительные функции:

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

Почта на основе WEB

Услуги электронной почты сегодня могут быть обеспечены для пользователей WEB-сайтов (Yahoo,Yandex и.т. д).

Идея такой связи проста: передача письма проходит с помощью протокола HTTP (см. следующие лекции). Передача сообщения от передающего сервера к входящему почтовому серверу проходит с помощью протокола SMTP. В конечном итоге, сообщение от входящего сервера (он же WEB-сервер) достигает сервера пользователя Б, используя протокол HTTP. Если пользователь Б хочет получить это сообщение, он посылает запрос на свой WEB-сайт (например, YANDEX). WEB-сайт высылает форму, которая содержит запрос логина (зарегистрированного имени пользователя) и пароля, затем передает сообщение на компьютер пользователя Б в формате HTML.

23. World Wide Web

World Wide Web (WWW) – это хранилище информации, размещенной во всем мире и соединенной воедино. WWW – уникальная комбинация гибкости, мобильности дружественных пользователю свойств, что отличает ее от других служб, обеспечиваемых с помощью Интернета.

WWW-проект был инициирован CERN (Center European Laboratory for Practice Physics), чтобы создать систему для обработки распределенных ресурсов, необходимых для научных исследований.

WWW сегодня — распределенная система клиент-сервер обслуживания, в которой клиент, использующий браузер1, может иметь доступ к этой службе с применением сервера. Однако обеспечиваемая служба распределяется по многим местам, называемым вместе websites.

Архитектура

Каждый сайт содержит одну или более ссылок на веб-документы. Каждая веб-страница может содержать линк (связь) с другими страницами на том же самом сайте. Страницы могут быть вызваны для работы с браузерами. Рассмотрим сценарий, показанный рис. 25. Клиенту нужна информация, которая принадлежит сайту A. Он посылает запрос через браузер, программа которого доставляет веб-документ. Запрос, который включает в себя адрес веб-сайта и веб-страницы (web-page), называется универсальным идентификатором ресурса — URI (Uniform Resource Identifier), который будет рассмотрен далее. Сервер находит и посылает документ клиенту. Когда пользователь смотрит документ, он может найти ссылки на другие документы, включая веб-страницы сайта B. Ссылка содержит URL для нового сайта. Пользователь может рассмотреть другой интересующий его документ. Клиент посылает другой запрос к новому сайту и вызывает другую страницу.

Архитектура браузеров

Различные производители предлагают коммерческие браузеры, которые интерпретируют и отображают веб-документы, и все они используют одинаковую или родственную архитектуру. Каждый браузер обычно содержит три части: контроллер, клиентский протокол и интерпретатор. Контроллер получает входную информацию от клавиатуры или "мыши" и использует клиентскую программу для доступа к документам. После того как документ доступен, контроллер применяет один из интерпретаторов, чтобы отобразить документ на экране. Клиентские программы могут использовать один из методов (протоколов) – такие как HTTP, FTP, TELNET. Интерпретатор может быть HTML или Java, JavaScript, в зависимости от типа документа ( рис. 26.).

Сервер

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

24. Унифицированный локатор ресурса — URL (Uniform Resource Locator)

Клиент, который хочет вызвать веб-страницу, должен располагать ее адресом. Чтобы обеспечить доступ к документам, разбросанным во всем мире, существует протокол передачи гипертекста (HTTP – Hypertext Transfer Protocol). Индивидуальный индикатор ресурса — URL (Uniform Resource Locator) — стандарт для любой заданной информации в Интернете. URL определяет четыре элемента: протокол, хост, порт и путь ( рис. 27.).

Протокол (метод) – программа клиент-сервер, используемая для доставки документа. Несколько различных протоколов могут доставлять документ; среди них Gopher, FTP, HTTP, News и TELNET. На сегодня наиболее общий протокол — HTTP.

Хост – компьютер, где находится информация, хотя имя компьютера может быть псевдонимом. Веб-страницы обычно накапливаются в компьютерах, и компьютеры дают псевдонимы именам, которые обычно начинаются с символов "www". Однако это не обязательно, поскольку хост может быть с любым именем, данным компьютеру, который является хостом веб-страницы.

URL: метод://хост:порт/путь

URL иногда может содержать номер порта сервера. Если порт включен, он должен быть вставлен между хостом и путем и должен быть отделен от хоста двоеточием.

Путь — имя пути к файлу, где находится информация. Заметим, что путь сам может содержать "слеши" (наклонные черточки), которые в операционной системе UNIX отделяют директории от поддиректорий и файлов.

Cookies World Wide Web (WWW) — Всемирная паутина — вначале была спроектирована для выполнения непосредственно функций вызова заданного документа. Сегодня эта система выполняет несколько дополнительных функций, перечисленных ниже.

Некоторые сайты разрешают доступ только зарегистрированным клиентам.

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

Некоторые веб-сайты используются как порталы, предоставляющие доступ к веб-документам с помощью различных поисковых систем (метеосводка, курс валют и т. п.).

Некоторые сайты используются для рекламы.

Рассмотрим коротко работу с этими объектами.

Создание и хранение cookies

Создание и сохранение cookies (на сленге — "плюшки") зависит от клиента; однако имеются общие принципы.

Когда сервер получает запрос от клиента, он сохраняет информацию о клиенте в файле или строке. Информация может включать в себя доменное имя клиента, содержание cookie (собранная информация сервера о клиенте, такая как имя, регистрационный номер и т. п.), метку времени и другую информацию, которая зависит от применения.

Сервер включает cookie в ответ, который посылается клиенту.

Когда клиент получает ответ, браузер накапливает cookie в директории "cookie", которая сохраняет эту информацию под доменным именем сервера.

Использование cookies

Когда клиент посылает запрос серверу, браузер просматривает директорию "cookie". Если cookie найдены, они посылаются серверу. Они включаются в запрос. Когда сервер получает запрос, он узнает, что этот клиент "старый". Они создаются сервером и "потребляются" сервером.

25. HTML – общие сведения.

HTML ("Язык разметки гипертекста") является языком описания содержимого документов Web. Он использует специальный синтаксис, содержащий маркеры (называемые "элементами"), которые охватывают текст в документе, чтобы указать, как агенты пользователя должны интерпретировать эту часть документа.

Здесь используется технический термин "агенты пользователя", а не "браузеры Web". Агент пользователя является любым программным продуктом, который используется для доступа к страницам Web от имени пользователей. Здесь необходимо сделать важное различие — все типы программ браузеров настольных компьютеров (Internet Explorer, Opera, Firefox, Safari, и т.д.) и альтернативные браузеры для других устройств (такие как Интернет-канал Wii, и браузеры мобильных телефонов, такие как Opera Mini и WebKit на iPhone) являются агентами пользователей, но не все агенты пользователей являются программами-браузерами. Автоматические программы, которые компании Google и Yahoo! используют для индексирования Web для использования в своих поисковых системах, также являются агентами пользователей, но ни одно человеческое существо не управляет ими непосредственно.

Документ начинается с элемента типа документа, или doctype Он описывает, какой тип HTML будет использоваться — чтобы агенты пользователя могли определить, как интерпретировать документ, и решить, следует ли он тем правилам, которым собирался следовать по своему заявлению.

После этого можно видеть открывающей тег элемента html. Это оболочка вокруг всего документа. Закрывающий тег html является последним объектом в любом документе HTML.

Внутри элемента html имеется элемент head. Он является оболочкой, содержащей информацию о документе (метаданные). Это описано более подробно в следующей лекции. Внутри head находится элемент title, который определяет заголовок "Example page" в панели меню.

После элемента head следует элемент body, который является оболочкой, содержащей реальное содержимое страницы — в данном случае только элемент заголовка первого уровня (h1), который содержит текст "Hello world". И это, собственно, и есть весь документ.

Как можно видеть, элементы часто содержат другие элементы. Тело документа всегда будет содержать множество вложенных друг в друга элементов.

Разделы страницы создают общую структуру документа, и будут содержать подразделы. Они будут содержать заголовки, параграфы, списки и т.д. Параграфы могут содержать элементы, которые создают ссылки на другие элементы, цитаты, выделения и т.д.

Буква "X" в XHTML означает "расширяемый.

26.Валидация

Валидация -проверка на соответствие правилам. Существует много доступных средств которые позволяют выполнить валидацию кода сайта.Наиболее известными валидаторами являются следующие:

W3C MarkUp Validator: Этот валидатор находит используемый в проверяемом документе doctype (X)HTML, и просматривает затем весь документ, указывая места, где код HTML не соответствует используемому doctype

W3C Link Checker: проверяет все ссылки в документе, чтобы гарантировать отсутствие неработающих ссылок.

W3C CSS Validator: просматривает документ CSS (или HTML/CSS) и проверяет, что CSS соответствует спецификациям CSS.

Ошибки

В программировании компьютеров существует два вида проблем кода:

• синтаксические ошибки

• ошибки программирования (или логики)

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

Программа валидации сравнивает код HTML на странице Web с правилами сопровождающего doctype и сообщает, какие правила и где были нарушены.

Существует две крайне важные причины для валидации кода HTML при его создании.

Человек может совершать ошибки и Web-страницы будут более высокого качества (т.е., работать более согласованно), если выполоть все ошибки.

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

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

Quirksmode

Надо знать еще о так называемом режиме Quirksmode. Браузер переходит в этот режим, если встречает страницу, которая имеет неправильный doctype, или вообще не имеет doctype. В этом режиме браузер делает наилучшие предположения о множестве правил, согласно которым он должен интерпретировать код, и снова заполняет пробелы как можно лучшим образом. Этот режим существует в действительности для того, чтобы можно было все еще выводить старые страницы, и не должен никогда использоваться при создании новых страниц.

27. Протокол передачи гипертекстовых файлов HTTP

Протокол передачи гипертекстовых файлов (HTTP — Hypertext Transfer Protocol) используется в основном для доступа данных на Word Wide Web. Этот протокол передает данные в форме простых текстов, гипертекстов, аудио, видео и так далее. Однако он называется протоколом передачи гипертекстов, потому что его эффективность позволяет использовать его в гипертекстовом окружении, где имеются быстрые переходы от одного документа к другому.HTTP-функции подобны комбинации FTP и SMTP. Они похожи на FTP, потому что он передает файлы и использует услуги TCP/IP. Однако он гораздо проще, чем FTP, потому что использует только один TCP (хорошо известный порт 80). Нет никакого отдельного соединения управления; между клиентом и сервером передаются только данные.HTTP похож на SMTP, потому что данные, передаваемые между клиентом и сервером, выглядят точно так же, как SMTP-сообщения. В дополнение, формат сообщений управляется с помощью MIME-подобного заголовка. Однако HTTP отличается от SMTP способом, которым сообщения посылаются от клиента к серверу и от сервера к клиенту. В отличие от SMTP, сообщения HTTP не предназначены для чтения людьми; они читаются и интерпретируются HTTP-сервером и HTTP-клиентом (браузером). SMTP-сообщения сохраняются и передаются, а HTTP-сообщения доставляются непосредственно.Идея HTTP очень проста. Клиент посылает запрос, который выглядит как почтовое сообщение к серверу. Север посылает ответ, который выглядит как почтовый ответ к клиенту. Сообщения запроса и ответа переносят данные в виде формата, подобного MIME.Команды от клиента к серверу вставляются в сообщение запроса, похожее на письмо. Содержание затребованного файла или другая информация вставляется в ответное сообщение, подобное письму.

HTTP-переходы

HTTP использует услуги TCP, потому что сам HTTP – протокол, не основанный на смене состояния. Клиент инициализирует переход посылкой сообщения запроса. Сервер отвечает посылкой ответа.

28. HTTP. Сообщение запроса. Методы.

Сообщение запроса Линейка запроса определяет тип запроса, ресурс (URL) и версию HTTP. Линейка запроса содержит тип запроса, пробел, URL, пробел и версию HTTP.

• В версии HTTP 1.1 определены несколько типов запросов.

• Унифицированный локатор информационного ресурса (URL ). Клиент, который хочет иметь доступ к странице, нуждается в адресе, чтобы осуществить доступ к документам, распределенным по всему миру. HTTP пользуется концепцией локаторов. URL — стандарт для определения любого вида информации в Интернете. URL определяет четыре элемента: метод, хост, компьютер, порт и путь.

Протокол — это программа клиент-сервер, используемая для извлечения и доставки документа. Имеются много таких протоколов: FTP, HTTP, TELNET. Наиболее общий из них HTTP.

Хост – компьютер, где находится информация, хотя имя компьютера может быть псевдонимом. Веб-страницы обычно накапливаются в компьютерах, и компьютеры дают псевдонимы именам, которые обычно начинаются с символов "www". Однако это не обязательно, поскольку хост может быть с любым именем, данным компьютеру, который является хостом веб-страницы.

URL иногда может содержать номер порта сервера. Если порт включен, он должен быть вставлен между хостом и путем и должен быть отделен от хоста двоеточием.

Путь — имя пути к файлу, где находится информация. Путь сам может содержать "слеши".

Методы Поле типа запроса в сообщении запроса определяет несколько видов сообщений, называемых методы. Метод запроса – реальная команда или запрос, с которым клиент выходит к серверу.

Метод GET используют, когда клиент хочет доставить документ от сервера. Адрес документа определяется в URL; это главный метод для доставки документа. Сервер обычно отвечает содержанием документа в "теле" ответного сообщения, если нет ошибки.

Метод HEAD используется, когда клиент хочет получить некоторую информацию о документе, но не сам документ. Он подобен GET, но ответ от сервера не содержит "тело".

Метод POST используется, когда клиент обеспечивает информацией сервер. Например, это может быть нужно для посылки информации ввода к серверу.

Метод PUT используется клиентом, чтобы обеспечить накопление нового или обновленного документа на сервере. Этот документ включает в "тело" запрос и будет сохранен в месте, определенном URL.

PATCH похож на PUT, за исключением того что запрос содержит только список отличий, которые нужно внести в существующий файл.

Метод COPY используется, чтобы скопировать файл в другое место. Дается место исходного файла в линейке запроса (URL); место пункта назначения дается в заголовке (обсуждается в разделе "Заголовок").

Метод MOVE используется для переноса файла в другое место. Место файла источника дается в линейке запроса (URL); место пункта назначения дается в заголовке.

Метод DELETE используется для удаления документа из сервера.

Метод LINK используется для создания ссылки (линка) или ссылок (линков) от одного документа к документу, расположенному в другом месте. Расположение файла дано в линейке запроса (URL); место пункта назначения дано в заголовке.

Метод UNLINK используется для удаления ссылок (линков), созданных методом LINK.

Метод OPTION используется клиентом для запроса сервера о доступности опции.

29. PHP Общие Сведения

К середине 1995 года после основательной переработки появилась вторая версия продукта, названная PHP/FI (Personal Home Page / Forms Interpreter – персональная домашняя страница/ интерпретатор форм). Она включала набор базовых возможностей сегодняшнего PHP, возможность автоматически обрабатывать html-формы и встраиваться в html-коды. Синтаксис PHP/FI сильно напоминал синтаксис Perl, но был более простым.

Официально PHP/FI 2.0 вышел только в ноябре 1997 года, просуществовав до этого в основном в бета-версиях. Вскоре после выхода его заменили альфа-версии PHP 3.0.

PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. Он очень сильно отличался от PHP/FI 2.0 и появился опять же как инструмент для решения конкретной прикладной задачи. Одной из сильных сторон PHP 3.0 была возможность расширения ядра. Именно свойство расширяемости PHP 3.0 привлекло внимание множества разработчиков, желающих добавить свой модуль расширения. Кроме того, PHP 3.0 предоставляла широкие возможности для взаимодействия с базами данных, различными протоколами и API. Немаловажным шагом к успеху оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой

Официально PHP 3.0 вышел в июне 1998 года, после 9 месяцев публичного тестирования. А уже к зиме Энди Гутманс и Зив Сураски начали переработку ядра PHP. В их задачи входило увеличение производительности работы сложных приложений и улучшение модульности кода, лежащего в основе PHP.

Новое ядро было названо «Zend Engine» (от имен создателей: Zeev и Andi) и впервые представлено в середине 1999 года. PHP 4.0, основанный на этом ядре и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после своего предшественника, PHP 3.0. PHP 4.0 имел еще несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Сегодня PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов написаны на PHP, что составляет более 20% доменов Internet.

Всего выделяют три основные области применения PHP.

• Первая область, как уже говорилось, – это создание приложений (скриптов), которые исполняются на стороне сервера. PHP наиболее широко используется именно для создания такого рода скриптов..

• Вторая область – это создание скриптов, выполняющихся в командной строке. То есть с помощью PHP можно создавать такие скрипты, которые будут исполняться, вне зависимости от web-сервера и браузера, на конкретной машине. Для такой работы потребуется лишь парсер PHP (в этом случае его называют интерпретатором командной строки (cli, command line interpreter)).

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

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

Во-вторых, PHP поддерживается почти на всех известных платформах, почти во всех операционных системах и на самых разных серверах.

В PHP сочетаются две самые популярные парадигмы программирования – объектная и процедурная. В PHP4 более полно поддерживается процедурное программирование, но есть возможность писать программы и в объектном стиле. Уже в первых пробных версиях PHP5 большинство недочетов в реализации объектно-ориентированной модели языка, существующих в PHP4, устранены

С помощью PHP можно создавать изображения, PDF-файлы, флэш-ролики, в него включена поддержка большого числа современных баз данных, встроены функции для работы с текстовыми данными любых форматов, включая XML, и функции для работы с файловой системой. PHP поддерживает взаимодействие с различными сервисами посредством соответствующих протоколов, таких как протокол управления доступом к директориям LDAP, протокол работы с сетевым оборудованием SNMP, протоколы передачи сообщений IMAP, NNTP и POP3, протокол передачи гипертекста HTTP и т.д.

Обращая внимание на взаимодействие между различными языками, следует упомянуть о поддержке объектов Java и возможности их использования в качестве объектов PHP. Для доступа к удаленным объектам можно использовать расширение CORBA.

Для работы с текстовой информацией PHP унаследовал (с небольшими изменениями) механизмы работы с регулярными выражениями из языка Perl и UNIX-систем. Для обработки XML-документов можно использовать как стандарты DOM и SAX, так и API для XSLT-трансформаций.

30.ASP.NET Общие Сведения

В 2000 году на конференции разработчиков в качестве части новой технологии .NET Microsoft представила ASP+. С выходом .NET Framework 1.0 она стала называться ASP .NET.

ASP .NET основана на объектно-ориентированной технологии, но сохранила модель разработки asp: вы создаете программу и помещаете ее в директорию, выделенную сервером, и она будет работать. В ASP .NET появилось много новых функций, а существовавшие ранее в asp значительно усовершенствованы.

В ASP .NET используются компилируемые языки. Во время компиляции проверяется синтаксическая корректность исходного текста. Компиляция происходит на сервере в момент первого обращения пользователя к странице. Если программист изменил текст страницы, программа перекомпилируется автоматически. При написании кода можно использовать набор компонентов, поставляемых с .NET. Возможность прекомпиляции позволяет обнаружить ошибки до загрузки страниц на сервер. Можно не хранить исходные страницы aspx на сервере, тем самым защищая свою интеллектуальную собственность.

Платформа .NET Framework предоставляет приложениям среду выполнения, сама непосредственно взаимодействуя с операционной системой. Выше лежит интерфейс ASP .NET-приложений, на котором в свою очередь базируются web-формы и web-сервисы. Интерфейс .NET Framework позволяет стандартизировать обращение к системным вызовам и предоставляет среду для более быстрой и удобной разработки. CLR обеспечивает единый набор сервисов для всех языков.

ASP .NET использует технологию доступа к данным ADO .NET, которая обеспечивает единый интерфейс для доступа к базам данных SQL Server и файлам XML. Кроме того, усиленная модель безопасности позволяет обеспечивать защиту клиента и сервера от несанкционированного доступа.

В 2004 году появилась версия ASP .NET 2.0 Как утверждается, эта версия позволяет сократить объем кодирования на 70%. Новые возможности— использование шаблонов дизайна страниц (Master Page), упрощенная локализация web-приложений, более 50 новых серверных элементов управления. Появилась панель оснастки MMC (консоль управления Microsoft), предоставляющая графический интерфейс для управления настройками ASP .NET. Изменять настройки проекта теперь можно и через web-интерфейс. ASP .NET 2.0 поддерживает работу на 64-битных процессорах. Сервис персонализации предоставляет готовое решение для хранения профиля пользователя (Profile).

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

В ASP .NET 2.0 встроена технология автоматического обновления кэширования баз данных. Данные, полученные из базы, хранятся на сервере, и он не обращается к базе для обработки повторного запроса. При изменении базы данных кэш обновляет свое содержимое.

ASP .NET — это технология, а не язык, и позволяет программировать на разных языках — С#, Visual Basic, J#. С# был специально создан для этой платформы.

Показать полностью…
Похожие документы в приложении