Состав и ресурсы интернет
Рефераты >> Программирование и компьютеры >> Состав и ресурсы интернет

Как бы хорошо это не звучало, но это не панацея. Как уже отмечалось, установка 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, а вам нужно передавать записи, то прикладная программа должна вставлять метки в поток

Доменная система.

Прикладные программы.

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

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

Когда речь идет о прикладных программах, следует учесть одну особенность: Вы воспринимаете прикладную программу так, как она выглядит в Вашей локальной системе. Команды, сообщения, приглашения и т.д., появляющиеся у Вас на экране, могут несколько отличаться от тех, которые Вы увидите в книге или на экране у своего друга. Не стоит волноваться, если в книге приводится сообщение «connection refused», а компьютер выдает «Unable to connect to remote host: refused»; это одно и то же. Не цепляйтесь к словам, а попытайтесь понять суть сообщения. Не беспокойтесь, если некоторые команды имеют другие имена; большинство прикладных программ снабжены достаточно солидными справочными подсистемами, которые помогут найти необходимую команду.

Доменная система имён.

Цифровые адреса – и это стало понятно очень скоро – хороши при общении компьютеров, а для людей предпочтительнее имена. Неудобно говорить, используя цифровые адреса, и ещё труднее запоминать их. Поэтому компьютерам в Internet присвоены имена. Все прикладные программы Internet позволяют использовать имена систем вместо числовых адресов компьютеров.

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

На этапе становления, когда Internet была маленькой общностью, использовать имена было легко. Центр сетевой информации (NIC) создавал специальную службу регистрации. Вы посылали заполненный бланк (конечно, электронными средствами), и NIC вносил Вас в свой список имён и адресов. Этот файл, называемый hosts (список узловых компьютеров), регулярно рассылался на все компьютеры сети. В качестве имён использовались простые слова, каждое из которых обязательно являлось уникальным. Когда Вы указывали имя, Ваш компьютер искал его в этом файле и подставлял соответствующий адрес.


Страница: