Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF) (1130118), страница 15
Текст из файла (страница 15)
ARPANET была исследовательской сетью, финансируемой Министерством обороны США. В конце концов она объединила сотни университетов и правительственных зданий при помощи выделенных телефонных линий. Когда впоследствии появились спутниковые сети и радиосети, возникли большие проблемыпри объединении с ними других сетей с помощью имеющихся протоколов. Понадобилась новая эталонная архитектура.
Таким образом, возможность объединятьразличные сети в единое целое являлась одной из главных целей с самого начала.Позднее эта архитектура получила название эталонной модели TCP/IP в соответствии со своими двумя основными протоколами. Первое ее описание встречается в книге Cerf и Капп (1974). Из более поздних описаний можно выделитькнигу, написанную Leiner и др. в 1985 году. Конструктивные особенности моделиобсуждаются в издании Clark, 1988.Поскольку Министерство обороны беспокоилось, что ценные хосты, маршрутизаторы и межсетевые шлюзы могут быть мгновенно уничтожены, другая важная задача состояла в том, чтобы добиться способности сети сохранять работоспособность при возможных потерях подсетевого оборудования, так, чтобы приэтом связь не прерывалась.
Другими словами, Министерство обороны требовало, чтобы соединение не прерывалось, пока функционируют приемная и передающая машины, даже если некоторые промежуточные машины или линии связивнезапно вышли из строя. Кроме того, от архитектуры нужна была определеннаягибкость, поскольку предполагалось использовать приложения с различными требованиями, от переноса файлов до передачи речи в реальном времени.во «интернет» здесь используется в своем первоначальном смысле несмотря нато, что этот уровень присутствует в сети Интернет.Здесь можно увидеть аналогию с почтовой системой. Человек может броситьнесколько международных писем в почтовый ящик в одной стране, и если повезет, большая часть из них будет доставлена по правильным адресам в других странах. Вероятно, письма по дороге пройдут через несколько международных почтовых шлюзов, однако это останется тайной для корреспондентов.
В каждойстране (то есть в каждой сети) могут быть свои марки, свои предпочитаемые размеры конвертов и правила доставки, незаметные для пользователей почтовойслужбы.Межсетевой уровень определяет официальный формат пакета и протокол, называемый IP (Internet Protocol). Задачей межсетевого протокола является доставка IP-пакетов к пунктам назначения. Основными аспектами здесь являютсявыбор маршрута пакета и недопущение закупорки транспортных артерий. Поэтому можно утверждать, что межсетевой уровень модели TCP/IP функционально близок сетевому уровню модели OSI.
Это соответствие показано нарис. 1.17.NataHaus.RUИнтернет-уровеньВсе эти требования обусловили выбор модели сети с коммутацией пакетов, в основе которой лежал не имеющий соединений межсетевой уровень. Этот уровень,называемый интернет-уровнем или межсетевым уровнем, является основой всейархитектуры. Его задача заключается в обеспечении возможности для каждогохоста посылать в любую сеть пакеты, которые будут независимо двигаться кпункту назначения (например, в другой сети).
Они могут прибывать не в том порядке, в котором были отправлены. Если требуется соблюдение порядка отправления, эту задачу выполняют более верхние уровни. Обратите внимание, что сло-67OSITCP/IP7ПрикладнойПрикладной6Уровеньпредставления5Сеансовый4ТранспортныйТранспортный3СетевойМежсетевой2Передачи данных1ФизическийНе присутствуютв моделиОт хоста к сетиРис. 1.17. Эталонная модель TCP/IPТранспортный уровеньУровень, расположенный над межсетевым уровнем модели TCP/IP, как правило,называют транспортным. Он создан для того, чтобы одноранговые сущности наприемных и передающих хостах могли поддерживать связь, подобно транспортному уровню модели OSI. На этом уровне должны быть описаны два сквозныхпротокола. Первый, TCP (Transmission Control Protocol — протокол управленияпередачей), является надежным протоколом с установлением соединений, позволяющим без ошибок доставлять байтовый поток с одной машины на любую другую машину объединенной сети.
Он разбивает входной поток байтов на отдельныесообщения и передает их межсетевому уровню. В пункте назначения получающий TCP-процесс собирает из полученных сообщений выходной поток. Крометого, TCP осуществляет управление потоком, чтобы быстрый отправитель не завалил информацией медленного получателя.68Глава 1. ВведениеЭталонные моделиВторой протокол этого уровня, UDP (User Data Protocol - пользовательскийпротокол данных), является ненадежным протоколом без установления соединения, не использующим последовательное управление потоком протокола TCPа предоставляющим свое собственное. Он также широко используется в одноразовых клиент-серверных запросах и приложениях, в которых оперативность важнее аккуратности, например, при передаче речи и видео.
Взаимоотношения протоколов IP, TCP и UDP показаны на рис. 1.18. Со времени создания протоколаIP этот протокол был реализован во многих других сетях.Прикладной уровеньВ модели TCP/IP нет сеансового уровня и уровня представления. В этих уровняхпросто не было необходимости, поэтому они не были включены в модель Опытработы с моделью OSI доказал правоту этой точки зрения: большинство приложении в них мало нуждаются."рилиУровень(имена OSI)TELNETПротоколы <FTPSMTPTCPDNSUDPТранспортныйСетевойгARPANETSATNETкакого-нибудь протокола, позволяющего ему посылать по сети IP-пакеты. Этотпротокол никак не определяется и может меняться от хоста к хосту и от сети к сети.В книгах и статьях, посвященных модели TCP/IP, этот вопрос обсуждается редко.Сравнение эталонных моделей OSI и TCPУ моделей OSI и TCP имеется много общих черт.
Обе модели основаны на концепции стека независимых протоколов. Функциональность уровней также во многом схожа. Например, в обеих моделях уровни, начиная с транспортного и выше,предоставляют сквозную, не зависящую от сети транспортную службу для процессов, желающих обмениваться информацией. Эти уровни образуют поставщика транспорта. Также в каждой модели уровни выше транспортного являютсяприкладными потребителями транспортных сервисов.Несмотря на это фундаментальное сходство, у этих моделей имеется и ряд отличий.
В данном разделе мы обратим внимание на ключевые различия. Обратитевнимание на то, что мы сравниваем именно эталонные модели, а не соответствующие им стеки протоколов. Сами протоколы будут обсуждаться несколько позднее.Существует книга (Piscitello и Chapin, 1993), которая целиком посвящена сравнению моделей TCP/IP и OSI.Для модели OSI центральными являются три концепции:1.
Службы.2. Интерфейсы.3. Протоколы.NataHaus.RUIPСети <Прикладной69ПакетноерадиоЛокальнаясетьФизический ++ передачиданныхРис. 1.18. Протоколы и сети в модели TCP/IPНад транспортным уровнем располагается прикладной уровень. Он содержитвсе протоколы высокого уровня. К старым протоколам относятся протокол виртуального терминала (TELNET), протокол переноса файлов (FTP) и протоколэлектронной почты (SMTP), как показано на рис. 1.18. Протокол виртуальноготерминала позволяет пользователю регистрироваться на удаленном сервере и работать на нем.
Протокол переноса файлов предоставляет эффективный способперемещения информации с машины на машину. Электронная почта изначальнопредставляла собой разновидность переноса файлов, однако позднее для нее былразработан специальный протокол. С годами было добавлено много других протоколов, таких как DNS (Domain Name Service — служба имен доменов), позволяющая преобразовывать имена хостов в сетевые адреса, NNTP (Network NewsTransfer Protocol — сетевой протокол передачи новостей), HTTP, протокол, используемый для создания страниц на World Wide Web, и многие другие.Хост-сетевой уровеньВ эталонной модели TCP/IP не описывается подробно, что располагается нижемежсетевого уровня. Сообщается только, что хост соединяется с сетью при помощиВероятно, наибольшим вкладом модели OSI стало явное разделение этих трехконцепций.
Каждый уровень предоставляет некоторые сервисы для расположенного выше уровня. Сервис определяет, что именно делает уровень, но не то, какон это делает и каким образом сущности, расположенные выше, получают доступ к данному уровню.Интерфейс уровня определяет способ доступа к уровню для расположенныхвыше процессов. Он описывает параметры и ожидаемый результат. Он также ничего не сообщает о внутреннем устройстве уровня.Наконец, равноранговые протоколы, применяемые в уровне, являются внутренним делом самого уровня. Для выполнения поставленной ему задачи (то естьпредоставления сервиса) он может использовать любые протоколы.
Кроме того,уровень может менять протоколы, не затрагивая работу приложений более высоких уровней.• Эти идеи очень хорошо соответствуют современным идеям объектно-ориентированного программирования. Уровень может быть представлен в виде объекта,обладающего набором методов (операций), к которым может обращаться внешний процесс. Семантика этих методов определяет набор служб, предоставляемыхобъектом. Параметры и результаты методов образуют интерфейс объекта. Внутреннее устройство объекта можно сравнить с протоколом уровня. За пределамиобъекта оно никого не интересует и никому не видно.••••' Изначально в модели TCP/IP не было четкого разделения между службами,Интерфейсом и протоколом, хотя и производились попытки изменить это, чтобы70Эталонные моделиГлава 1.
Введениесделать ее более похожей на модель OSI. Так, например, единственными настоящими сервисами, предоставляемыми межсетевым уровнем, являются SEND IPPACKET (послать IP-пакет) и RECEIVE IP PACKET (получить IP-пакет).В результате в модели OSI протоколы скрыты лучше, чем в модели TCP/IP,и при изменении технологии они могут быть относительно легко заменены. Возможность проводить подобные изменения — одна из главных целей многоуровневых протоколов.Эталонная модель OSI была разработана прежде, чем были изобретены протоколы для нее. Такая последовательность событий означает, что эта модель небыла настроена на какой-то конкретный набор протоколов, что сделало ее универсальной. Обратной стороной такого порядка действий было то, что у разработчиков было мало опыта в данной области и не было четкого представленияо том, какие функции должен выполнять каждый уровень.Например, уровень передачи данных изначально работал только в сетях с передачей от узла к узлу.