Инкапсуляция пакетов и промежуточные узлы
При продвижении пакета с данными прикладного процесса по уровням сверху вниз каждый новый уровень добавляет к пакету свою служебную информацию в виде заголовка и, возможно, окончания (трейлера) - информации, помещаемой в конец сообщения.
Эта операция называется инкапсуляцией данных верхнего уровня в пакет нижнего уровня. Служебная информация предназначается для объекта того же уровня на удаленном компьютере, ее формат и интерпретация определяются протоколом данного уровня.
Данные, приходящие с верхнего уровня, могут представлять собой пакеты с уже инкапсулированными данными еще более верхнего уровня.
При получении пакета от нижнего уровня он разделяется на заголовок, трейлер и данные. Служебная информация из заголовка и трейлера анализируется, и в соответствии с ней принимается решение, что делать с данными, содержащимися в полученном пакете.
Одним из вариантов является направление данных одному из объектов верхнего уровня (какому именно - должно быть указано в проанализированной служебной информации). Тот, в свою очередь, рассматривает эти данные как пакет со своей служебной информацией и данными для еще более верхнего уровня, и процедура повторяется, пока пользовательские данные, очищенные от всей служебной информации, не достигнут прикладного процесса.
Но есть возможность, что пакет не будет проведен до самого верхнего уровня (например, если данный компьютер представляет собой промежуточную станцию на пути между отправителем и получателем). В этом случае объект соответствующего уровня при анализе служебной информации заметит, что пакет на этом уровне адресован не ему. Тогда объект выполнит необходимые действия для перенаправления пакета к месту назначения или возврата отправителю с сообщением об ошибке, но в любом случае не будет продвигать данные на верхний уровень.
Протоколы, основанные на модели OSI используются редко:
• в силу своей не всегда оправданной сложности;
• из-за существования хорошо зарекомендовавших себя стеков протоколов TCP/IP.
Поэтому модель OSI - опорная база для классификации и сопоставления протокольных стеков.
Модель и четыре уровня стеков TCP/IP
Сеть Internet отличается от других сетей своими протоколами и в первую очередь протоколами TCP/IP.
Протокол- это набор правил, определяющий характер взаимодействия пользователей, последовательность выполнения ими действий при обмене информацией.
Термин TCP/IPозначает все, что связано с протоколами взаимодействия между компьютерами в сети. Данный протокол представляет собой совокупность нескольких протоколов, прикладные программы и даже саму сеть.
Свое название протокол TCP/IP получил от двух типов протоколов связи:
• Transmission Control Protocol (TCP);
• Internet Protocol (IP).
Таким образом, TCP/IP- собирательное название для стека сетевых протоколов разных уровней, используемых в Internet.
Особенности TCP/IP.
-открытые стандарты протоколов, разрабатываемые независимо от программного и аппаратного обеспечения;
- независимость от физической среды передачи;
-система уникальной адресации;
-стандартизованные протоколы высокого уровня для распространенных пользовательских сервисов.
Стек протоколов TCP/IP делится на четыре уровня:
I.Прикладной (application). Приложения, работающие со стеком TCP/IP, могут также выполнять функции уровней представления и частично сеансового модели OSI.
Распространенными примерами приложений являются программы telnet, ftp, WWW-серверы и клиенты (Интернет-браузеры), программы работы с электронной почтой. Для пересылки данных через сеть другому приложению оно обращается к тому или иному модулю транспортного уровня;
II.Транспортный (transport).Протоколы данного уровня обеспечивают прозрачную (сквозную) доставку данных между двумя прикладными процессами. Для передачи и получения данных, отправляемых друг другу, они используют межсетевой уровень. На транспортном уровне работают два основных протокола:
1. TCP (Transmission Control Protocol) - надежный протокол с установлением соединения: он управляет логическим сеансом связи (устанавливает, поддерживает и закрывает соединение) между процессами и обеспечивает надежную (безошибочную и гарантированную) доставку прикладных данных от процесса к процессу;
Таким образом, протокол TCPобеспечивает надежную доставку, безошибочность и правильный порядок приема передаваемых данных.
Протокол TCP (Transmission Control Protocol, Протокол контроля передачи) обеспечивает сквозную доставку данных между прикладными процессами, запущенными на узлах, взаимодействующих по сети.
Модуль TCP выполняет передачу непрерывных потоков данных между своими клиентами в обоих направлениях. Клиентами TCP являются прикладные процессы, вызывающие модуль TCP при необходимости получить или отправить данные процессу-клиенту на другом узле.
Протокол TCP рассматривает данные клиента как непрерывный неинтерпретируемый поток пакетов. TCP разделяет этот поток на части для пересылки на другой узел в TCP-сегментах некоторого размера. Для отправки или получения сегмента модуль TCP вызывает модуль IP.
Таким образом, TCP делит информацию, которую надо переслать, на несколько частей. Нумерует каждую часть, чтобы позже восстановить порядок. Чтобы пересылать эту нумерацию вместе с данными, он обкладывает каждый кусочек информации своей обложкой - конвертом, который содержит соответствующую информацию. Это и есть TCP-конверт. Получившийся TCP-пакет помещается в отдельный IP-конверт и получается IP-пакет, с которым сеть уже умеет обращаться.
Получатель (TCP-модуль (процесс)) по получении распаковывает IP-конверты и видит TCP-конверты, распаковывает и их и помещает данные в последовательность частей в соответствующее место. Если чего-то не достает, он требует переслать этот кусочек снова. В конце концов информация собирается в нужном порядке и полностью восстанавливается. Вот теперь этот массив пересылается выше к пользователю (на диск, на экран, на печать).
В сети Internet используется большое число и других протоколов, однако эту сеть часто называют TCP/IP сетью, так как эти два протокола являются важнейшими.
2. UDP (User Datagram Protocol) - протокол дейтаграмм пользователя - является ненадежным протоколом без установления соединения: это значит, что ни логический сеанс связи, ни надежная доставка прикладных данных этим протоколом не обеспечиваются. Фактически UDP не предоставляет никаких услуг, кроме мультиплексирования пакетов с прикладными данными - то есть направления данных тому или иному приложению в зависимости от номера порта. Услугами UDP пользуются, например, доменная система имен (DNS), сетевая файловая система NFS;
III. Сетевой (межсетевой, или Internet). Основным протоколом этого уровня является протокол IP (Internet Protocol). Этот протокол является центром, вокруг которого строится весь стек TCP/IP.
Протокол IPотвечает за поиск маршрута (или маршрутов) в Internet от одного компьютера к другому через множество промежуточных сетей, шлюзов и маршрутизаторов и передачу блоков данных по этим маршрутам.
Протокол IP является ненадежным протоколом без установления соединения. Это означает, что протокол IP не подтверждает доставку данных, не контролирует целостность полученных данных и не производит операцию квитирования (handshaking) - обмена служебными сообщениями, подтверждающими установку соединения с узлом назначения и его готовность к приему данных.
Протокол IP обрабатывает каждую дейтаграмму как независимую единицу, не имеющую связи ни с какими другими дейтаграммами в Internet. После того, как дейтаграмма отправляется в сеть, ее дальнейшая судьба никак не контролируется отправителем (на уровне протокола IP). Если дейтаграмма не может быть доставлена, она уничтожается. Узел, уничтоживший дейтаграмму, может оправить по обратному адресу ICMP-сообщение, о причине сбоя.
Одна из основных задач, решаемых протоколом IP, - маршрутизация дейтаграмм, т.е. определение пути следования дейтаграммы от одного узла сети к другому на основании адреса получателя.
Таким образом, протокол IP доставляет блоки данных, называемые дейтаграммами, от одного IP-адреса к другому через компьютерную сеть. IP-адрес является уникальным 32-битным идентификатором компьютера (точнее, его сетевого интерфейса). Данными для дейтаграммы является блок данных, передаваемых IP-модулю транспортным уровнем. IP-модуль предваряет эти данные заголовком, содержащим IP-адреса отправителя и получателя и другую служебную информацию, и сформированная таким образом дейтаграмма передается на уровень доступа к сети для отправки по каналу передачи данных;
IV. Уровень доступа к сети (network access), который выполняет следующие функции:
· отображение IP-адресов в физические адреса сети. Эту функцию выполняет протокол разрешения адресов ARP (Address Resolution Protocol);
· инкапсуляция IP-дейтаграмм в кадры для передачи по физическому каналу и извлечение дейтаграмм из кадров. При этом не требуется какого-либо контроля безошибочности передачи, поскольку в стеке TCP/IP такой контроль возложен на транспортный уровень или на само приложение;
· определение метода доступа к среде передачи, то есть способа, с помощью которого компьютер устанавливает свое право на произведение передачи данных;
· определение представления (кодирования) данных в физической среде;
· пересылка и прием кадра.
Часто в качестве уровня доступа к сети выступают целые протокольные стеки; тогда говорят об IP поверх ATM, IP поверх IPX и т. д.
Дата добавления: 2015-05-08; просмотров: 2970;