Э. Таненбаум, Д. Уэзеролл - Компьютерные сети (1114668), страница 19
Текст из файла (страница 19)
Чтобы было возможно общение компьютеровс различными внутренними представлениями данных, необходимо преобразовыватьформаты данных друг в друга, передавая их по сети в неком стандартизированномвиде. Уровень представления занимается этими преобразованиями, предоставляявозможность определения и изменения структур данных более высокого уровня (например, записей баз данных).1.4. Эталонные модели 61Прикладной уровеньПрикладной уровень содержит набор популярных протоколов, необходимых пользователям. Одним из наиболее распространенных является протокол передачи гипертекста HTTP (HyperText Transfer Protocol), который составляет основу технологииВсемирной паутины. Когда браузер запрашивает веб-страницу, он передает ее имя(адрес) и рассчитывает на то, что сервер, на котором расположена страница, будет использовать HTTP.
Сервер в ответ отсылает страницу. Другие прикладные протоколыиспользуются для передачи файлов, электронной почты, сетевых рассылок.1.4.2. Эталонная модель TCP/IPРассмотрим теперь эталонную модель, использовавшуюся в компьютерной сети AR���PANET, которая является бабушкой нынешних сетей, а также в ее наследнице, всемирной сети Интернет. Хотя краткую историю сети ARPANET мы рассмотрим чутьпозднее, некоторые ключевые моменты ее следует отметить прямо сейчас. ARPANETбыла исследовательской сетью, финансируемой Министерством обороны США.В конце концов, она объединила сотни университетов и правительственных зданийпри помощи выделенных телефонных линий.
Когда впоследствии появились спутниковые сети и радиосети, возникли большие проблемы при объединении с нимидругих сетей с помощью имеющихся протоколов. Понадобилась новая эталоннаяархитектура. Таким образом, возможность объединять различные сети в единоецелое являлась одной из главных целей с самого начала. Позднее эта архитектураполучила название эталонной модели TCP/IP, в соответствии со своими двумя основными протоколами.
Первое ее описание встречается в книге Cerf и Kahn (1974),позднее превращается в стандарт (���������������������������������������������Braden���������������������������������������, 1989). Конструктивные особенности модели обсуждаются в издании Clark, 1988.Поскольку Министерство обороны США беспокоилось, что ценные хосты, маршрутизаторы и межсетевые шлюзы могут быть мгновенно уничтожены, другая важнаязадача состояла в том, чтобы добиться способности сети сохранять работоспособность при возможных потерях подсетевого оборудования, так чтобы при этом связьне прерывалась.
Другими словами, Министерство обороны США требовало, чтобысоединение не прерывалось, пока функционируют приемная и передающая машины,даже если некоторые промежуточные машины или линии связи внезапно вышли изстроя. Кроме того, от архитектуры нужна была определенная гибкость, посколькупредполагалось использовать приложения с различными требованиями, от переносафайлов до передачи речи в реальном времени.Канальный уровеньВсе эти требования привели к выбору сети с пакетной коммутацией, основанной науровне без установления соединения, который работает в различных сетях. Самыйнизкий уровень в модели, уровень канала, описывает то, как и что каналы, такие какпоследовательные линии и классический Ethernet, должны сделать, чтобы удовлет-62 Глава 1.
Введениеворить потребности этого межсетевого уровня без установления соединения. Это насамом деле не уровень вообще, в нормальном смысле слова, а скорее интерфейс междуканалами передачи и узлами. В ранних материалах о модели TCP/IP мало что об этомговорится.Межсетевой уровеньВсе эти требования обусловили выбор модели сети с коммутацией пакетов, в основекоторой лежал не имеющий соединений межсетевой уровень. Он показан на рис. 1.18и примерно соответствует сетевому уровню в OSI.
Этот уровень, называемый интернет-уровнем или межсетевым уровнем, является основой всей архитектуры. Его задача заключается в обеспечении возможности каждого хоста посылать пакеты в любуюсеть и независимо двигаться к пункту назначения (например, в другой сети). Онимогут прибывать совершенно в другом порядке, чем были отправлены. Если требуетсясоблюдение порядка отправления, эту задачу выполняют более верхние уровни.
Обратите внимание, что слово «интернет» здесь используется в своем первоначальномсмысле, несмотря на то что этот уровень присутствует в сети Интернет.Здесь можно увидеть аналогию с почтовой системой. Человек может бросить несколько международных писем в почтовый ящик в одной стране, и, если повезет, большая часть из них будет доставлена по правильным адресам в других странах. Вероятно,письма по дороге пройдут через несколько международных почтовых шлюзов, однакоэто останется тайной для корреспондентов. В каждой стране (то есть в каждой сети)могут быть свои марки, свои предпочитаемые размеры конвертов и правила доставки,незаметные для пользователей почтовой службы.Межсетевой уровень определяет официальный формат пакета и протокол IP,с дополнительным протоколом ICMP (Internet Control ��������������������������Message�������������������Protocol����������������������������, межсетевой протокол управления сообщениями).
Задачей межсетевого протокола являетсядоставка IP-пакетов к пунктам назначения. Основными аспектами здесь являютсявыбор маршрута пакета и недопущение закупорки транспортных артерий (хотя IP неоказался эффективным для избегания скоплений).Рис. 1.18. Эталонная модель TCP/IP1.4. Эталонные модели 63Транспортный уровеньУровень, расположенный над межсетевым уровнем модели TCP���������������������������������������������/��������������������IP������������������, как правило, называют транспортным. Он создан для того, чтобы объекты одного ранга на приемныхи передающих хостах могли поддерживать связь, подобно транспортному уровнюмодели OSI.
На этом уровне должны быть описаны два сквозных протокола. Первый,TCP (Transmission Control Protocol — протокол управления передачей), является надежным протоколом с установлением соединений, позволяющим без ошибокдоставлять байтовый поток с одной машины на любую другую машину объединенной сети. Он разбивает входной поток байтов на отдельные сообщения и передает ихмежсетевому уровню. На пункте назначения получающий TCP-процесс собирает изполученных сообщений выходной поток. Кроме того, TCP осуществляет управлениепотоком, чтобы быстрый отправитель не завалил информацией медленного получателя.Второй протокол этого уровня, UDP (User Dataram Protocol — протокол пользовательских дейтограмм2), является ненадежным протоколом без установлениясоединения, не использующим последовательное управление потоком протокола TCP,а предоставляющим свое собственное.
Он также широко используется в одноразовыхклиент-серверных запросах и приложениях, в которых оперативность важнее аккуратности, например при передаче речи и видео. Взаимоотношения протоколов IP, TCPи UDP показаны на рис. 1.19. Со времени создания протокола IP этот протокол былреализован во многих других сетях.Рис. 1.19. Протоколы и сети в модели TCP/IPПрикладной уровеньВ модели TCP/IP нет сеансового уровня и уровня представления.
В этих уровнях просто не было необходимости, поэтому они не были включены в модель. Вместо этогоприложения просто включают все функции сеансов и представления, которые имнужны. Опыт работы с моделью OSI доказал правоту этой точки зрения: большинствоприложений мало нуждаются в этих уровнях.Над транспортным уровнем располагается прикладной уровень. Он содержит всепротоколы высокого уровня. К старым протоколам относятся протокол виртуального64 Глава 1. Введениетерминала (TELNET), протокол переноса файлов (FTP) и протокол электроннойпочты (����������������������������������������������������������������������SMTP������������������������������������������������������������������).
С годами было добавлено много других протоколов. Некоторые наиболее важные, которые мы рассмотрим, показаны на рис. 1.19. Это DNS (DomainName Service — служба имен доменов), позволяющая преобразовывать имена хостовв сетевые, HTTP, протокол, используемый для создания страниц на World Wide Web,а также RTP, протокол для представления мультимедиа в реальном времени, такихкак звук или фильмы.1.4.3.
Модель, используемая в книгеКак упомянуто ранее, сила эталонной модели OSI — сама модель (минус представление и уровни сеансов), которая оказалась исключительно полезной для обсуждениякомпьютерных сетей. Напротив, сила эталонной модели TCP/IP — протоколы, которые широко использовались много лет.
Чтобы совместить эти качества, мы будемиспользовать в книге гибридную модель, показанную на рис. 1.20.Рис. 1.20. Эталонная модель, используемая в этой книгеЗадача сетевого уровня объединить многочисленные каналы в сети и сети сетей,а также в объединенные сети, чтобы мы могли посылать пакеты между удаленнымикомпьютерами. Это включает задачу обнаружения пути, по которому можно послатьпакеты. IP — основной протокол, который мы изучим в качестве примера для этогоуровня. Транспортный уровень усиливает гарантии доставки сетевого уровня, обычнос увеличенной надежностью, и обеспечивает параметры доставки, такие как надежныйпоток байтов, соответствующий потребности различных приложений.
TCP — важныйпример протокола транспортного уровня.Наконец, прикладной уровень содержит программы, которые используют сеть.У многих, но не всех сетевых приложений есть пользовательские интерфейсы, такиекак веб-браузер. Нас интересует, однако, та часть программы, которая используетсеть. Это — протокол HTTP в случае веб-браузера. Есть также важные программыподдержки в прикладном уровне, такие как DNS, которые используются многимиприложениями.Последовательность глав в книге основана на этой модели.
Таким образом, мысохраняем значение модели OSI для понимания сетевой архитектуры, но концентрируемся, прежде всего, на протоколах, которые важны практически, от TCP/IPи связанных с ним протоколов до более новых, таких как 802.11, SONET и Bluetooth.1.4. Эталонные модели 651.4.4. Сравнение эталонных моделей OSI и TCPУ моделей OSI и TCP имеется много общих черт.
Обе модели основаны на концепциистека независимых протоколов. Функциональность уровней также во многом схожа.Например, в обеих моделях уровни, начиная с транспортного и выше, предоставляютсквозную, не зависящую от сети транспортную службу для процессов, желающихобмениваться информацией. Эти уровни образуют поставщика транспорта. Такжев каждой модели уровни выше транспортного являются прикладными потребителямитранспортных сервисов.Несмотря на это фундаментальное сходство, у этих моделей имеется и ряд отличий.В данном разделе мы рассмотрим ключевые различия.