Современные сетевые протоколы

2.1 Стандартная семиуровневая эталонная модель
взаимодействия открытых систем и стек протоколов TCP/IP

Как отмечалось в предыдущей главе, одну из главных ролей во взаимодействии компьютеров в сети играют транспортные средства операционных систем, которые совместно с коммуникационной системой обеспечивают передачу информации между компьютерами сети. Передача информации будет успешной только в том случае, если транспортные средства различных операционных систем будут идентичны. Возникает вопрос стандартизации программных и аппаратных составляющих сетевого взаимодействия компьютеров в сети. Суть стандартизации – это соединение разного оборудования, а значит, проблема совместимости является одной из наиболее острых на протяжении всего развития коммуникационных технологий. Без принятия всеми производителями аппаратного и программного обеспечения общепринятых правил функционирования прогресс в организации сетей был бы невозможен. Поэтому все развитие компьютерной отрасли, в конечном счете, отражено в стандартах: любая новая технология только тогда приобретает «законный» статус, когда ее содержание закрепляется в соответствующем стандарте [29].

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

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

При декомпозиции часто используют многоуровневый подход. Он заключается в следующем. Все множество модулей разбивают на уровни. Уровни образуют иерархию, то есть имеются вышележащие и нижележащие уровни (рис. 2.1). Множество модулей, составляющих каждый уровень, сформировано таким образом, что для выполнения своих задач они обращаются с запросами только к модулям непосредственно примыкающего нижележащего уровня. С другой стороны, результаты работы всех модулей, принадлежащих некоторому уровню, могут быть переданы только модулям соседнего вышележащего уровня. Такая иерархическая декомпозиция задачи предполагает четкое определение функции каждого уровня и интерфейсов между уровнями. Интерфейс определяет набор функций, которые нижележащий уровень предоставляет вышележащему. В результате иерархической декомпозиции достигается относительная независимость уровней, а значит и возможность их легкой замены [18].

Рис. 2.1 – Многоуровневый подход – создание иерархии задач

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

Многоуровневое представление средств сетевого взаимодействия имеет свою специфику, связанную с тем, что в процессе обмена сообщениями участвуют две машины, то есть в данном случае необходимо организовать согласованную работу двух «иерархий». При передаче сообщений оба участника сетевого обмена должны принять множество соглашений. Например, они должны согласовать уровни и форму электрических сигналов, способ определения длины сообщений, договориться о методах контроля достоверности и т. п. Другими словами, соглашения должны быть приняты для всех уровней, начиная от самого низкого – уровня передачи битов – до самого высокого, реализующего сервис для пользователей сети.

На рис. 2.2 показана модель взаимодействия двух узлов. С каждой стороны средства взаимодействия представлены четырьмя уровнями. Процедура взаимодействия этих двух узлов может быть описана в виде набора правил взаимодействия каждой пары соответствующих уровней обеих участвующих сторон. Формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называются протоколом [5].

Рис. 2.2 – Взаимодействие двух узлов

Модули, реализующие протоколы соседних уровней и находящиеся в одном узле, также взаимодействуют друг с другом в соответствии с четко определенными правилами и с помощью стандартизованных форматов сообщений. Эти правила принято называть интерфейсом.

Интерфейс определяет набор сервисов, предоставляемый данным уровнем соседнему уровню. В сущности, протокол и интерфейс выражают одно и то же понятие, но традиционно в сетях за ними закрепили разные области действия: протоколы определяют правила взаимодействия модулей одного уровня в разных узлах, а интерфейсы – модулей соседних уровней в одном узле.

Средства каждого уровня должны отрабатывать, во-первых, свой собственный протокол, а во-вторых, интерфейсы с соседними уровнями.

Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов.

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

Протоколы реализуются не только компьютерами, но и другими сетевыми устройствами – концентраторами, мостами, коммутаторами, маршрутизаторами и т. д. Действительно, в общем случае связь компьютеров в сети осуществляется не напрямую, а через различные коммуникационные устройства. В зависимости от типа устройства в нем должны быть встроенные средства, реализующие тот или иной набор протоколов.

В начале 80-х годов ряд международных организаций по стандартизации – ISO, ITU-T и некоторые другие – разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью OSI [22].

Модель OSI определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень. Модель OSI была разработана на основе большого опыта, полученного при создании компьютерных сетей, в основном глобальных, и в 70-е годы стала теоретическим фундаментом, на который опираются все разработчики транспортных систем.

В модели OSI (рис. 2.3) средства взаимодействия делятся на семь уровней: прикладной, представительный, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с одним определенным аспектом взаимодействия сетевых устройств [35].

 
 


 
 


Рис. 2.3 – Модель взаимодействия открытых систем ISO

Итак, пусть приложение обращается с запросом к прикладному уровню, например к файловой службе. На основании этого запроса программное обеспечение прикладного уровня формирует сообщение стандартного формата. Обычное сообщение состоит из заголовка и поля данных. Заголовок содержит служебную информацию, которую необходимо передать через сеть прикладному уровню машины-адресата, чтобы сообщить ему, какую работу надо выполнить. В нашем случае заголовок, очевидно, должен содержать информацию о месте нахождения файла и о типе операции, которую необходимо над ним выполнить. Поле данных сообщения может быть пустым или содержать какие-либо данные, например те, которые необходимо записать в удаленный файл. Но для того чтобы доставить эту информацию по назначению, предстоит решить еще много задач, ответственность за которые несут нижележащие уровни. После формирования сообщения прикладной уровень направляет его вниз по стеку представительному уровню. Протокол представительного уровня на основании информации, полученной из заголовка прикладного уровня, выполняет требуемые действия и добавляет к сообщению собственную служебную информацию – заголовок представительного уровня, в котором содержатся указания для протокола представительного уровня машины–адресата. Полученное в результате сообщение передается вниз сеансовому уровню, который добавляет свой заголовок, и т. д. (некоторые реализации протоколов помещают служебную информацию не только в начале сообщения в виде заголовка, но и в конце – в виде так называемого «концевика»). Наконец, сообщение достигает нижнего, физического уровня, который, собственно, и передает его по линиям связи машине–адресату. К этому моменту сообщение «обрастает» заголовками всех уровней (рис. 2.4). Эта операция называется инкапсуляцией данных верхнего уровня в пакете нижнего уровня, то есть данные, приходящие с верхнего уровня, могут на самом деле представлять собой пакеты с уже инкапсулированными данными еще более верхнего уровня [17].

Рис. 2.4 – Добавление заголовков в модели OSI

С другой стороны, когда нижний уровень получает пакет, тот делится на заголовок и данные. Служебная информация, полученная из заголовка, анализируется, и в соответствии с ней данные, возможно, направляются одному из объектов верхнего уровня, который рассматривает эти данные как пакет со своей служебной информацией и данными для еще более верхнего уровня, и процедура повторяется пока пользовательские данные, очищенные от всей служебной информации, не достигнут прикладного процесса.

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

В модели OSI различаются два основных типа протоколов. В протоколах с установлением соединения (connection-oriented) перед обменом данными отправитель и получатель должны сначала установить соединение и, возможно, выбрать некоторые параметры протокола, которые они будут использовать при обмене данными. После завершения диалога они должны разорвать это соединение.

Вторая группа протоколов – протоколы без предварительного установления соединения (connectionless). Такие протоколы называются также дейтаграммными протоколами. Отправитель просто передает сообщение, когда оно готово. Данный тип протоколов получил распространение в локальных сетях, в которых протоколы канального уровня используются сетевым оборудованием, а в компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов [15].

Физический уровень (Physical layer) имеет дело с передачей битов по физическим каналам связи, таким, например, как коаксиальный кабель, витая пара, оптоволоконный кабель. К этому уровню имеют отношение характеристики физических сред передачи данных, такие как полоса пропускания, помехозащищенность, волновое сопротивление и другие. На этом же уровне определяются характеристики электрических сигналов, передающих дискретную информацию, например, крутизна фронтов импульсов, уровни напряжения или тока передаваемого сигнала, тип кодирования, скорость передачи сигналов. Кроме того, здесь стандартизуются типы разъемов и назначение каждого контакта. Функции физического уровня реализуются во всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом.

Канальный уровень (Data Link layer). На физическом уровне просто пересылаются биты. При этом не учитывается, что в сетях, в которых линии связи используются (разделяются) попеременно несколькими парами взаимодействующих компьютеров, физическая среда передачи может быть занята. Поэтому одной из задач канального уровняявляется проверка доступности среды передачи. Другой задачей канального уровня является реализация механизмов обнаружения и коррекции ошибок. Для этого на канальном уровне биты группируются в наборы, называемые кадрами (frames). Канальный уровень обеспечивает корректность передачи каждого кадра, помещая специальную последовательность бит в начало и в конец каждого кадра для его выделения, а также вычисляет контрольную сумму, обрабатывая все байты кадра определенным способом и добавляя контрольную сумму к кадру. Когда кадр приходит по сети, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра. Если они совпадают, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка. Канальный уровень может не только обнаруживать ошибки, но и исправлять их за счет повторной передачи поврежденных кадров.

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

В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень часто обеспечивает обмен сообщениями только между двумя соседними компьютерами, соединенными индивидуальной линией связи. Такие протоколы называют «точка–точка», а примером может служить широко распространенный протокол РРР. В таких случаях для доставки сообщений между конечными узлами через всю сеть используются средства сетевого уровня.

Сетевой уровень (Network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать совершенно различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. Функции сетевого уровня достаточно разнообразны. Рассмотрим их первоначально на примере объединения локальных сетей.

Протоколы канального уровня локальных сетей обеспечивают доставку данных между любыми узлами только в сети с соответствующей типовой топологией, например топологией иерархической звезды. Это очень жесткое ограничение, не позволяющее строить сети с развитой структурой (например, состоящие из нескольких подсетей) или высоконадежные сети, в которых существуют избыточные связи между узлами. Можно было бы усложнять протоколы канального уровня для поддержания петлевидных избыточных связей, но принцип разделения обязанностей между уровнями приводит к другому решению. Чтобы, с одной стороны, сохранить простоту процедур передачи данных для типовых топологий, а с другой – допустить использование произвольных топологий, вводится дополнительный сетевой уровень.

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

Сети соединяются между собой специальными устройствами, называемыми маршрутизаторами. Маршрутизатор – это устройство, которое собирает информацию о топологии межсетевых соединений и на ее основании пересылает пакеты сетевого уровня в сеть назначения. Чтобы передать сообщение от отправителя, находящегося в одной сети, получателю, находящемуся в другой сети, нужно совершить некоторое количество транзитных передач между сетями, или хопов (от англ. hop – «прыжок»), каждый раз выбирая подходящий маршрут. Следовательно, маршрут представляет собой последовательность маршрутизаторов, через которые проходит пакет.

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

Сетевой уровень также решает задачи согласования разных технологий, упрощения адресации в крупных сетях и создания надежных и гибких барьеров на пути нежелательного трафика между сетями.

Сообщения сетевого уровня принято называть пакетами (packets). При организации доставки пакетов на сетевом уровне используется понятие «номер сети». В этом случае адрес получателя состоит из старшей части, номера сети, и младшей – номера узла в этой сети. Все узлы одной сети должны иметь одну и ту же старшую часть адреса, поэтому термину «сеть» на этом уровне можно дать и другое, более формальное определение: сеть – это совокупность узлов, адрес которых содержит один и тот же номер сети.

На сетевом уровне определяются два вида протоколов. Первый вид – сетевые протоколы (routed protocols) – реализуют продвижение пакетов через сеть. Именно их обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых протоколами обмена маршрутной информацией или просто протоколами маршрутизации (routing protocols). С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются программными модулями операционной системы, а также программными и аппаратными средствами маршрутизаторов.

На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов (Address Resolution Protocol, ARP).

Транспортный уровень (Transport layer). На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Транспортный уровень обеспечивает приложениям или верхним уровням стека – прикладному и сеансовому – передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет классы сервиса, предоставляемые транспортным уровнем, которые отличаются качеством услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное – способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

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

Также транспортный уровень курирует деятельность по сегментации (от англ. segmentation) и повторной сборке пакетов. Сегментация заключается в преобразовании большого сообщения в пронумерованную последовательность порций данных, называемых сегментами, причем каждая такая порция является максимально полезной нагрузкой, которую может выдержать сетевая среда при пересылке от отправителя к получателю. Аналогично, термин «повторная сборка пакета» означает процесс размещения отосланных данных в изначальном порядке и использования их для воссоздания данных в том виде, в каком они существовали до сегментации.

Протоколы нижних четырех уровней обобщенно называют сетевым транспортом или транспортной подсистемой, так как они полностью решают задачу транспортировки сообщений с заданным уровнем качества в составных сетях с произвольной топологией и различными технологиями. Остальные три верхних уровня решают задачи предоставления прикладных сервисов на основании имеющейся транспортной подсистемы.

Сеансовый уровень (Session layer) обеспечивает управление диалогом: фиксирует, какая из сторон является активной в настоящий момент, предоставляет средства синхронизации, которые позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоколов, хотя функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе.

Представительный уровень (Presentation layer) имеет дело с формой представления передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которым секретность обмена данными обеспечивается сразу для всех прикладных служб.

Прикладной уровень (Application layer) – это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message). Существует очень большое разнообразие служб прикладного уровня [18].

Следовательно, модель OSI представляет хотя и очень важную, но только одну из многих моделей коммуникаций. Эти модели и связанные с ними стеки протоколов могут отличаться количеством уровней, их функциями, форматами сообщений, службами, поддерживаемыми на верхних уровнях, и прочими параметрами. Так, модель OSI имеет исключительно теоретическую направленность, а ее практическая реализация популярности не получила, зато мировое признание имеет модель TCP/IP, которая имеет 3 уровня, представленных ниже.

Интернет-уровень (межсетевой уровень) определяет официальный формат пакета и протокол, называемый IP (Internet Protocol). Задачей межсетевого протокола является доставка IP-пакетов к пунктам назначения. Основными аспектами здесь являются адресация компьютеров, выбор маршрута пакета и недопущение закупорки транспортных артерий. Поэтому можно утверждать, что межсетевой уровень модели TCP/IP функционально близок сетевому уровню модели OSI.

Транспортный уровень создан для того, чтобы одноуровневые сущности на приемных и передающих компьютерах могли поддерживать связь, подобно связи при транспортном уровне модели OSI. На этом уровне описаны два протокола.

Первый, TCP(Transmission Control Protocol – протокол управления передачей), является надежным протоколом с установлением соединений, позволяющим без ошибок доставлять байтовый поток с одной машины на любую другую машину объединенной сети. Он разбивает входной поток байтов на отдельные сообщения и передает их межсетевому уровню. В пункте назначения получающий TCP-процесс собирает из полученных сообщений выходной поток. Кроме того, TCP осуществляет управление потоком, чтобы быстрый отправитель не перегрузил информацией медленного получателя.

Второй протокол этого уровня, UDP (User Data Protocol – пользовательский протокол данных), является ненадежным протоколом без установления соединения, не использующим последовательное управление потоком протокола TCP, а предоставляющим свое собственное. Он также широко используется в одноразовых клиент-серверных запросах и приложениях, в которых оперативность важнее аккуратности, например при передаче речи и видео.

Прикладной уровень. В модели TCP/IP нет сеансового уровня и уровня представления, функции которых решаются транспортным и прикладным уровнями. Прикладной уровень содержит все протоколы высокого уровня и по функционалу соответствует одноименному уровню модели OSI. Главной задачей протоколов и служб данного уровня является формирование потока (stream) данных, который будет переправляться нижележащему транспортному уровню для нарезания его на сегменты.

В эталонной модели TCP/IP не описывается подробно, что располагается ниже межсетевого уровня. Сообщается только, что компьютер соединяется с сетью при помощи какого-нибудь протокола, позволяющего ему посылать по сети IP-пакеты [29].

Таким образом, OSI проявляет себя как исключительно полезная для теоретического представления сетевого взаимодействия модель, протоколы которой, однако, не получили широкого распространения. Для TCP/IP верно обратное: модель практически не существует, так как описаны не все уровни взаимодействия, тогда как протоколы чрезвычайно популярны, поэтому правильнее, на наш взгляд, было бы называть ее не моделью, а стеком протоколов. Следовательно, на практике имеет место гибридная модель, полученная объединением двух описанных моделей и представленная в табл. 2.1.

Таблица 2.1 – Модели сетевого взаимодействия

Модель OSI Стек протоколов TCP/IP Гибридная модель
7. Прикладной уровень 3. Прикладной уровень 5. Прикладной уровень
6. Представительный уровень
5. Сеансовый уровень 2. Транспортный уровень 4. Транспортный уровень
4. Транспортный уровень
3. Сетевой уровень 1. Межсетевой уровень 3. Межсетевой уровень
2. Канальный уровень   2. Канальный уровень
1. Физический уровень 1. Физический уровень

Гибридная модель в названиях конкретных протоколов представлена в табл. 2.2.

Таблица 2.2 – Современные протоколы сетевого взаимодействия

Уровни модели Названия протоколов
5. Прикладной уровень протоколы HTTP, FTP, TFTP, SMTP, POP, SNMP, IMAP, SSL, LDAP, NTP; службы NetBIOS (SMB), Telnet, DNS, DHCP, WINS, WWW.
4. Транспортный уровень TCP, UDP
3. Сетевой уровень IP, ARP, ICMP, IGMP, BGP, RIP, OSPF
2. Канальный уровень семейство Ethernet (Ethernet, Fast Ethernet, GigaBit Ethernet), беспроводные сетевые технологии (Wi-FI, Wi-Max, BlueTooth), протоколы PPP, PPPoE, PPTP, L2TP
1. Физический уровень электрические сигналы (витая пара), световые сигналы (оптоволокно), радиосигналы (беспроводная связь)

В заключение проиллюстрируем пример сетевого взаимодействия: компьютер А получил запрос от компьютера В на предоставление определенной гиперстраницы (компьютеры связаны посредством одного из стандартов Ethernet). На рис. 2.5 показано это практическое взаимодействие.

Компьютер А   Компьютер В
5. По результатам запроса формируется текстовый поток данных (гиперстраница), который будет передан по протоколу HTTP 5. TCP-сегменты «склеиваются» в поток данных, который отображается браузером как гипертекстовая страница
4. Текстовый поток данных разбивается на TCP-сегменты   4. Проверка TCP-сегмента (если сегмент поврежден, отсылается повторный запрос)
3. Из TCP-сегментов формируются IP-пакеты путем добавления сетевой информации   3. Проверка сетевой информации (отбрасывание поврежденных IP-пакетов)
2. IP-пакеты упаковываются в кадры Ethernet   2. Проверка корректности доставки кадров Ethernet (отбрасывание поврежденных кадров)
1. Кадры Ethernet кодируются электрическими сигналами и передаются на компьютер В   1. Получение электрических сигналов от компьютера А и преобразование их в кадры Ethernet

Рис. 2.5 – Пример взаимодействия двух компьютеров
в рамках гибридной модели

Следовательно, в гибридной модели, как и в модели OSI, данные более верхних уровней инкапсулируются в пакеты нижних уровней (рис. 2.6).

Рис. 2.6 – Пример инкапсуляции пакетов в стеке TCP/IP

В пособии основное внимание будет уделено вопросам функционирования центральных двух уровней (межсетевого и транспортного), поскольку канальный и физический уровни изучаются в рамках дисциплины «Вычислительные системы, сети и телекоммуникации».


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: