- •Сетевой уровень
- •1.1.Метод коммутации пакетов с ожиданием
- •1.2.Службы предоставляемые транспортному уровню
- •1.3.Реализация сервиса без установления соединения
- •1.4.Реализация сервиса с установлением соединения
- •1.5.Объединение сетей: различия сетей, способы объединения сетей
- •1.6.Фрагментация
- •1.7.Протокол ip: адресация, подсети
- •1.8.Трансляция сетевого адреса — nat
- •1.9.Протоколы управления : icmp, arp/rarp, dhcp, bootp
- •1.10. Маршрутизация - алгоритмы маршрутизации
- •1.11. Маршрутизация - протоколы маршрутизации
- •2. Транспортный уровень
- •2.1. Службы предоставляемые верхним уровням
- •2.2. Адресация
- •2.3. Протоколы транспортного уровня:
- •3. Прикладной уровень
- •3.1.Служба доменных имен
- •3.2.Электронная почта
- •3.3.Служба передачи файлов
- •3.4.Распределенная гипермедиа служба www
3. Прикладной уровень
Покончив с изучением базовых сведений о компьютерных сетях, мы переходим к уровню, на котором расположены все приложения. Все уровни, находящиеся в модели OSI ниже прикладного, служат для обеспечения надежной доставки данных, но никаких полезных для пользователя действий не производят. В этой главе мы изучим некоторые реальные сетевые приложения. Разумеется, даже прикладной уровень нуждается в обслуживающих протоко- лах, с помощью которых осуществляется функционирование приложений. Соот- ветственно, прежде чем начать рассмотрение самих приложений, мы изучим один из таких протоколов. Речь идет о службе имен доменов, DNS, обеспечиваю- щей присвоение имен в Интернете. Затем мы рассмотрим три реально действую- щих приложения: электронную почту, Всемирную паутину и, наконец, мульти- медиа.
3.1.Служба доменных имен
Служба имен доменов DNS Хотя программы теоретически могут обращаться к хостам, почтовым ящикам и другим ресурсам по их сетевым адресам (например, IP), пользователям за- поминать их тяжело. Кроме того, отправка электронной почты на адрес Tanya® 128.111.24.41 будет означать, что в случае переезда сервера таниного про-вайдера или организации на новое место с новым IP-адресом придется изменить ее адрес e-mail. Для отделения имен машин от их адресов было решено использо- вать текстовые ASCII-имена. Поэтому танин адрес более привычно выглядит в таком виде: Tanya@art.ucsb.edu. Тем не менее, сеть сама по себе понимает только численные адреса, поэтому нужен механизм преобразования ASCII-строк в сете- вые адреса. В следующих разделах мы изучим, как производится это отображе- ние в Интернете. Когда-то давно в сети ARPANET соответствие между текстовыми и двоичны- ми адресами просто записывалось в файле hosts.txt, в котором перечислялись все хосты и их IP-адреса. Каждую ночь все хосты получали этот файл с сайта, на ко- тором он хранился. В сети, состоящей из нескольких сотен больших машин, ра- ботающих под управлением системы с разделением времени, такой подход рабо- тал вполне приемлемо. Но когда к сети подключились тысячи рабочих станций, всем стало ясно, что этот способ не сможет работать вечно. Во-первых, размер файла рано или поздно стал бы слишком большим. Однако, что еще важнее, если управление именами хостов не осуществлять централизованно, неизбежно возникновение конфлик- тов имен. В то же время, представить себе централизованное управление имена- ми всех хостов гигантской международной сети довольно сложно. Для разреше- ния всех этих проблем и была разработана служба имен доменов (DNS, Domain Name System). Суть системы DNS заключается в иерархической схеме имен, основанной на доменах, и распределенной базе данных, реализующей эту схему имен. В первую очередь эта система используется для преобразования имен хостов и пунктов на- значения электронной почты в IP-адреса, но также может использоваться и в других целях. Определение системы DNS дано в RFC 1034 и 1035. В общих чертах система DNS применяется следующим образом. Для преоб- разования имени в IP-адрес прикладная программа обращается к библиотечной процедуре, называющейся распознавателем, передавая ей имя в качестве пара- метра. Распознаватель посылает UDP-пакет локальному DNS-серверу, который ищет имя в базе данных и возвращает соответствующий IP-адрес распознавате- лю, который, в свою очередь, передает этот адрес вызвавшей его прикладной прог- рамме. Имея IP-адрес, программа может установить TCP-соединение с адреса- том или послать ему UDP-пакеты.