В. Столлингс - Современные компьютерные сети (2-е издание, 2003) (1114681), страница 12
Текст из файла (страница 12)
Конечна, для общения нужны двое, поэтому одинаковый набор многоуровневых функций находится на двух системах. Взаимодействие двух систем реализуется соответствуьощими друг другу, или одноранговыми (реет), уровнями стека протоколов. Их общение происходит путем обмена форматированными блоками данных, подчипятощигиися набору правил, называемому протоколом (ргогосо1). Ключевыми чертами протокола являются: + синтпкспс — описывает формат блоков данных; + семантика — вклточает управляющую информацию для координации и обработки ошибок; + синхронизация — вклточает согласование скоростей и установку последовательности операций. 2.2.
Архитектура протоколов ТСР/1 Р Архитектура протоколов ТСР/1Р представляет собой результат экспериментальных исследований сети с коммутацией пакетов АКРАХЕТ, основанной управлением АКРЛ (Ас)гапсес( Веэеагсй Рго)есгз Ляепсу — управление перспективного планирования научна-исследовательских работ) при министерстве обороны СШ1. Обычна эту архитектуру называют набором, или стеком, протоколов ТСР/1 Р. Этот набор состоит из большого количества протоколов, стандартизированных советом 1АВ (1пгегпег Лсг1кй(ез Воап1 — совет по функционированию Интернета). Уровни набора протоколов ТСР/1Р В общих чертах во взаимодействии участвуют три агента: приложения, компьютеры и сети.
Примеры приложений вклточают передачу файлов и электронную почту Нас здесь будут интересовать распределенные приложения, занимающиеся 52 Глава2. Архитектура протоколов 2.2. Архитектура протоколов ТСР/!Р 5З обменом дан вы ми между двумя компьютерами. Этн приложения выполняются на компьютерах, часто способных поддерживать несколько одновременно работающих приложений. Компыатеры соединены сетями, и данные передаются по сети с одного компьютера на другой.
Таким образом, при передаче данных от одного приложения к другому данные сначала передаются компьютеру, па котором располагается приложение, а затем, уже внутри компьютера, передаготся приложениюпалучателю. Учитывая все сказанное, кажется естественным организовать взаимодействие с помощью пяти относительно независимых уровней: + физического уровня; + уровня доступа к сети; + межсетевого уровня; + транспортного уровня; + прикладного уровня.
К физическому уровню ( р пуз)са1 1ауег) относится интерфейс между устройством (например, компьютером или рабочей станцией) и средой, по которой передаготся данные, или сетью. Этот уровень имеет дело с характеристгщами передающей среды, природой сигналов, скоростью передачи данных и т. п. К уровню доппупа к сети (пеггчогй ассезз !ауег) относится обмен данными между оконечной системой (сервером, рабочей станцией и т.
л.) и сетью, с которой она соединена. Перелаюший компьютер должен предоставить сети адрес компьютера-получателя, чтобы сеть могла направить данные по назначению. Передающий компьютер может также по желаншо вызвать определенные службы, предоставляемые сетью. Используемое на этом уровне программное обеспечение зависит от типа сети. Разработано множество стандартов для коммутации каналов, коммутации пакетов (например, ретрансяяцгпг кадров), локальных сетей (например, Егйегпег) и т. д. Таким образом, имеет смысл выделить функции, относящиеся к вопросам лоступа в сеть, в отдельный уровень. В результате оставшаяся часть программного обеспечения связи, располагаюпшяся над уровнем лоступа к сети, не должна заниматься вопросами, характерными для используемой сети. Одно и то же программное обеспечение высокого уровня должно правильно работать независимо от того, к какой сети присоединен компьютер, на котором оно работает.
Уровень доступа к сети решает задачи доступа и маршрутизации данных межлу двумя оконечными системами, соединенными одной сетью. В тех случаях, когда два устройства соединены с разными сетями, требуются пропедуры, позволяющие предавать данные между такими сетями. Эту задачу решает межсетевой уровень (!пгегпег 1ауег). Для маршрутизации пакетов по обьеднненным сетям на даннагв уровне используется протокол !Р (1пгегпег Ргогосо! — Интернет-протокол). Этот протокол реализуется не только оконечнымп системами, но также и маршрутизаторами.
Маршрутизатор представляет собой соединяющий две сети процессор, чья основная функция заключается в ретрансляции данных из одной сети в другую по определенному маршруту ат источника к приемгшку. Независимо от природы обменивающихся данными приложений, как правило, требуется, чтобы обмен данными происходил надежно. Это значит, что мы должны быть уверены в том, чта все переданные данные лостиглп получателя, и именно в том порядке, в котором онн были отправлены. Как мы увидим, механизмы обеспечения надежности в значительной мере независимы от природы прилозгений.
Таким образом, имеет смысл собрать эти механизмы в общем уровне. совместно используемом всеми приложениями. Этот уровень обычно называют транспортным уровнем ( ггапа рагс 1ауег), или уровнем связи между хостами (Ь аз!-ггэ!зозг 1ауег). На этом уровне чаще всего применяется протокол ТСР (Тгапзш!за|оп Сопгго! Рготосо! — протокол управления передачей). Наконец, на прикладном уровне (арр1!саг!оп 1ауег) поддерживается логика работы разнообразных пользовательских приложений. Лля каждого типа приложений, например передачи файлов, требуется отдельный модуль, специфический для данного приложению Протоколы ТСР и Ц0Р Лля болыпипства приложений, входящих в архитектуру ТСР/!Р, в качестве протокола транспортного уровня используется протокол ТСР.
Он обеспечивает надежное соединение для передачи данных межлу лвумя приложениями. Соединение представляет собой временнуго логическу~о связь лвумя сушпостямн различных систем. На время соединения каждая сущность отслеживает входягцне и исходящие протокольные модули данных (Ргогосо! Васа ()п!й РВ(!), чтобы регулировать поток модулей даш<ых н обеспечивать восстановление в случае потери пли повреждения модуля данных. На рис. 2.1, а показан формат заголовка пакета протокола ТСР, состоящего как минимум из 20 байт„или 160 бит. Полн «Порт источника» и «Порт приемника» идентифицирунзт приложения в принимшощей и передающей системах, использующих соединение'.
Поля «Порядковый номер», «Номер подтверждения» и «Окно» обеспечившот управление потокам и контроль ошибок. Поле «Контрольная сумма» размером 1б разрядов используется для обнаружения ошибок в ГСР-сегменте. Летальное описание этих полей имеется в главе 3. Помимо ТСР существует еше один протокол транспортного уровня, часто используемый как часть набора ТСР/1Р, — протокол (1ВР (1!зег Вагаягагп Ргососо!— пользовательский протокол дейтаграмм). Протокол ПВР не гарантирует доставки, очередности передачи пакетов или зашиты от дублирования. Протокол ПВР позволяет процедурам отправлять сообщения другим процедурам при помощи минимума протокольного механизма. Некоторые приложения, ориентированные на транзакции, используют протокол ПВР.
Одним из примеров является протокол Бг«МР (э!шр1е э!ег»чогй Мапайепгепг Ргогосо! — простой протокол сетевого управления), стандартный протокол сетевого управления для сетей ТСР/!Р. Поскольку этот протокол пе создает соединений, у протокола 13ВР немного работы. 3 Г Г«риин поят йр агс) ин«ю тв же»вач»ние, что и терл~ил точки дос»у»а к службе (В»гмь«Л»с ге» Рмпи БАР), 1кпвхьзуел~ый в хакунеюггах ОХ1. 54 Глава 2. Архитектура протоколов Бит. О 4 10 16 » г» г« Бит. О 31 1 31 16 24 Бит: Рис.
2лц Заголовки пакетов ТСР и апР Протоколы! Р и 1Рчб Рис. 2.2. Заголовки пакетов! Р По существу, он добавляет к протоколу 1Р способность адресации к порчу. Легче всего в атом убедиться, взглянув на заголовок 1Л)Р, показанный на рис. 2.1, б. В течение десятилетий основой архитектуры ТСР/1Р был протокол 1Р. На рис. 2.2, и показан формат заголовка 1Р (в версии 1Р»4), состоящего как минимум из 20 байт, или 160 бит.
Заголовок содержит 32-разрядные адреса отправителя и получателя, Поле «Контрольная сумма» используется для обнаружения ошибок в заголовке, чтобы избежать неверной доставки. Поле «Протокол» указывает, какай протокол, например ТСР, () РР или другой протокол высокого уровня, использует 1Р. Поля «Флаги» и «Смещение фрагмента» используются в процессе фрагментации и повторной сборки, при котором одна 1Р-дейтаграмма при передаче делится на несколько 1Р-дейтаграмм, а затем снова собирается в пункте назначения. В 1995 г. проблемная группа инженерной поддержки Интернета (1пгегпег Еп81пеег1пй Тазй Рогсе, 1ЕТР), разрабатывающая стандарты для Интернета, выпустила под именем 1Рпя (1пгегпе1 Ргогоса1, пехг, йепегайоп — Интернет-протокол нового поколения) спецификацию для протокола 1Р следующего поколения.
В 1996 г. зта спецификация была преобразована в стандарт, получивший название 1Руб. По сравнению с существующим протоколом 1Р, 1Рт 6 предоставляет ряд функциональных усовершенствований, разработанных для лучшего соответствия высоким скоростям современных сетей и смешанным потокам данных, вклгачающим графику и видео, все более превалирующим в настоящее время. Но главная 2.2. Архитектура протоколов ТСР/1Р оо причина создании новой версии протокола заключалась в необходимости поддержания большего числа адресов.
В применяемом сегодня протоколе 1Р для обозначения отправителя и получателя пакета используется 32-разрядный адрес. При экспопенциальном росте Интернета и частных сетей, соединенных с Интернетом, такая длина адреснога поля уже сейчас стала недостаточной, чтобы предоставить адреса всем системам, которым нужно подключение к Интернету. Как видно из рис. 2,2, б, заголовок пакета формата 1Р»6 содержит 128-разрядные поля адресов отправителя («Адрес источника») и получателя («Адрес прггемника»). Бит: О 4 6 16 16 3 Наконец, предполагается, что все системы, использующие архитектуру прото капов ТСР/1Р, перейдут с текугцей версии протокола 1Р на 1Р»6, хотя зтот процесс может занять много лет, если не десятилетий. Летали протоколов 1Р»4 и 1Руб обсуждаготся в главе 3. 56 Глава 2. Архитектура протоколов Хост В Хост А Припажение Х Порт, ипи тачка доступа к ужбе (ВАР) Приложение У Приложение У Припажение Логическое соединение (ТСР-соединение) ТСР ТСР Глобальный сетевой адрес Протокол доступа к сети 1 Протоков доступа к сети 2 Логическое соединение (например, виртувпьный канва) Физический уровень Физический уровень Поток байтов припажения ММвршрутизвтар э' Сеть 1 Сеть 2 Точка входа Тачка входе всвть1 всеть2 Рис.