Рефераты. Основы работы в Internet

прикладной процесс начинает использовать TCP, то начинают общаться модуль

TCP на машине пользователя и модуль на машине сервера. Эти два оконечных

модуля TCP поддерживают информацию о состоянии соединения - виртуального

канала. Этот виртуальный канал потребляет ресурсы обоих оконечных модулей

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

процесс пишет данные в TCP-порт, откуда они модулями соответствующих

уровней по цепочке передаются по сети и выдаются в TCP-порт на другом конце

канала, и другой прикладной процесс читает их отсюда - из своего TCP-порта.

эмулирует (создает видимость) выделенную линию связи двух пользователей.

Гарантирует неизменность передаваемой информации. Что входит на одном

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

отправителю и получателю в безраздельное владение не выделяется (другие

пользователи могут пользовать те же узлы и каналы связи в сети в

промежутках между пакетами этих), но извне это, практически, именно так и

выглядит.

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

установка TCP-виртуального канала связи требует больших расходов на

инициирование и поддержание соединения и приводит к задержкам передачи.

Если вся эта суета - излишество, лучше обойтись без нее. Если все данные,

предназначенные для пересылки, умещаются в одном пакете, и если вас не

особенно заботит надежность доставки (? - читайте дальше, - поймете), то

можно обойтись без TCP.

Имеется другой стандартный протокол транспортного уровня, который не

отягощен такими накладными расходами. Этот протокол называется UDP - User

Datagram Protocol - протокол пользовательских дейтаграмм. Он используется

вместо TCP. Здесь данные помещаются не в TCP, а в UDP-конверт, который

также помещается в IP-конверт. Этот протокол реализует дейтаграммный способ

передачи данных.

Дейтаграмма - это пакет, передаваемый через сеть независимо от других

пакетов без установления логического соединения и подтверждения приема.

Дейтаграмма - совершенно самостоятельный пакет, поскольку сама содержит всю

необходимую для ее передачи информацию. Ее передача происходит безо всякого

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

обнаружения и исправления ошибок передачи, поэтому при передаче данных с их

помощью следует принимать меры по обеспечению надежности пересылки

информации. Методы организации надежности могут быть самыми разными, обычно

же используется метод подтверждения приема посылкой эхоотклика при

получении каждого пакета с дейтаграммой.

UDP проще TCP, поскольку он не заботится о возможной пропаже данных,

пакетов, о сохранении правильного порядка данных и т.д. UDP используется

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

заново послать сообщение, если отклик подтверждения не придет достаточно

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

данных с телефонными номерами где-нибудь в другом месте сети. Совершенно

незачем устанавливать TCP связь, чтобы передать 33 или около того символов

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

это в IP-пакет и послать. На другом конце прикладная программа получит

пакет, прочитает имя, посмотрит телефонный номер, положит его в другой UDP-

пакет и отправит обратно. Что произойдет, если пакет по пути потеряется?

Ваша программа тогда должна действовать так: если она ждет ответа слишком

долго и становится ясно, что пакет затерялся, она просто повторяет запрос,

т.е. посылает еще раз то же послание. Так обеспечивается надежность

передачи при использовании протокола UDP.

В отличие от TCP, данные, отправляемые прикладным процессом через модуль

UDP, достигают места назначения как единое целое. Например, если процесс-

отправитель производит 3 записи в UDP-порт, то процесс-получатель должен

будет сделать 3 чтения. Размер каждого записанного сообщения будет

совпадать с размером соответствующего прочитанного. Протокол UDP сохраняет

границы сообщений, определяемые прикладным процессом. Он никогда не

объединяет несколько сообщений в одно целое и не делит одно сообщение на

части.

Альтернатива TCP-UDP позволяет программисту гибко и рационально

использовать предоставленные ресурсы, исходя из своих возможностей и

потребностей. Если нужна надежная доставка, то лучше может быть TCP. Если

нужна доставка дейтаграмм, то - UDP. Если нужна эффективная доставка по

длинному и ненадежному каналу передачи данных, то лучше использовать TCP.

Если нужна эффективность на быстрых сетях с короткими соединениями, лучше

всего будет UDP. Если потребности не попадают ни в одну из этих категорий,

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

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

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

обеспечить надежность сама, как описано выше: требовать подтверждения,

пересылки утерянных или увечных пакетов и т.д. Если вы выбрали TCP, а вам

нужно передавать записи, то прикладная программа должна вставлять метки в

поток

Создание сети с человеческим лицом. Прикладное обеспечение

И вот мы имеем возможность передавать информацию между различными точками в

сети. Вот теперь мы можем начать работать над созданием дружественного

интерфейса Internet, позаботиться об удобстве для пользователя. Для этого

мы напишем программное обеспечение, которое будет понимать язык команд,

выдавать сообщения об ошибках, подсказки, использовать для адресации

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

модели ISO OSI на это работают уровни выше транспортного, т.е. сеансовый,

представления данных и прикладной. Вся эта деятельность направлена на

повышение уровня удобства работы в сети, на создание систем, позволяющих

пользоваться предоставляемыми возможностями обычному пользователю сети.

Ведь большинство пользователей совсем не волнует ни наличие надежного

потока битов между машинами, ни пропускная способность этих линий или

тонкости и особенности используемой технологии, ни даже экзотичность этой

технологии. Они хотят использовать этот битовый поток для дела, как то:

переслать файл, добраться до каких-то данных или просто поиграть в игру.

Приложения - это части программного обеспечения. Их создают на основе

сервиса TCP или UDP. Приложения позволяют пользователю достаточно просто

справиться с возникшей задачей, не погружаясь в пучину технической

информации о конкретной сети, о протоколах и т.д.

Прикладное обеспечение разнится очень сильно. Приложения могут быть от

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

фирмами (DEC, Microsoft и т.п.). Существует три стандартных Internet

-приложения: удаленный доступ, передача файлов, электронная почта (e-mail);

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

приложения.

Предоставление услуг Internet построено по схеме ``клиент - сервер''.

Предоставление услуг осуществляется совместной работой двух процессов: на

компьютере пользователя и на компьютере-сервере. Процесс на компьютере

пользователя называется клиентом, а на компьютере-сервере - сервером.

Клиент и сервер являются, по сути, частями одной программы,

взаимодействующие по виртуальной связи в сети. Сервер по указаниям клиента

выполняет соответствующие действия, например, пересылает клиенту файл. Для

предоставления услуги совершенно необходимо наличие двух этих модулей -

клиента и сервера, и их одновременная согласованная работа. Взаимодействие

клиента и сервера описывается соответствующими стандартными протоколами,

поэтому клиент и сервер могут быть выпущены совершенно разными

производителями и работать на разнородных компьютерах. Поэтому же

существует небольшая проблема нестандартности интерфейса клиента

непосредственно уже с пользователем. Это взаимодействие может иметь

совершенно различную форму: интерактивную, командную и т.д. Системы команд

могут различаться. Но от этого сами возможности не изменяются, поскольку

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

Так как прикладным обеспечением снабжают по большей части через локальные

сети, в разговоре о приложениях возникает вышеупомянутая проблема: команды,

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

или иной степени отличаться. Об этом не следует забывать при чтении

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

такой же, то же касается и команд. Даже если они слегка отличаются, не

стоит волноваться, большинство приложений имеет разумную систему подсказок

и описание набора команд, где вы детально и конкретно сможете разузнать

все, что вам понадобится.

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

Региональная Система Имен

Числовые адреса хороши для связи машин, люди же предпочитают имена. Очень

непросто разговаривать, используя машинную адресацию (как бы это звучало:

``192.112.36.5 обещает вскоре...''?), еще труднее запомнить эти адреса.

Поэтому компьютерам в Internet для удобства пользователей были присвоены

собственные имена. Тогда описанный разговор принимает вид: ``NIC обещает

вскоре...''. Все приложения Internet позволяют пользоваться системными

именами вместо числовых адресов.

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

Сетевые численные адреса вполне аналогичны почтовой индексации. Машины,

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.