Домой / Музыка / Сетевой уровень стека tcp ip

Сетевой уровень стека tcp ip


Размещено на http://www.сайт/

по дисциплине «Вычислительные системы и сети»

Тема: Основные протоколы стека TCP/IP

Санкт-Петербург - 2015 год

Введение

История развития стека TCP/IP

Структура стека TCP/IP

Прикладной уровень

Транспортный уровень

Сетевой уровень

Канальный уровень

Заключение

Список используемой литературы

Введение

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

Осознав важность идеи массового объединения компьютеров в сети и сетей между собой, несколько правительственных организаций в США стали работать над ее реализацией. В результате был создан стек протоколов TCP/IP.

Стек протоколов TCP/IP тесно связан с сетью Internet, ее историей и современностью. Создан он был в 1969 году, когда для сети ARPANET понадобился ряд стандартов для объединения в единую сеть компьютеров с различными архитектурами и операционными системами. На базе этих стандартов и был разработан набор протоколов, получивших название TCP/IP. Вместе с ростом Internet протокол TCP/IP завоевывал позиции и в других сетях. На сегодняшний день этот сетевой протокол используется как для связи компьютеров всемирной сети, так и в подавляющем большинстве корпоративных сетей. В наши дни используется версия протокола IP, известная как IPv4.

История развития стека TCP/IP

Технология стека TCP/IP сложилась в основном в конце 1970-х годов и с тех пор основные принципы работы базовых протоколов, таких как IP, TCP, UDP и ICMP, практически не изменились. Однако, сам компьютерный мир за эти годы значительно изменился, поэтому долго назревавшие усовершенствования в технологии стека TCP/IP сейчас стали необходимостью.

Основными обстоятельствами, из-за которых требуется модификация базовых протоколов стека TCP/IP, являются следующие.

Повышение производительности компьютеров и коммуникационного оборудования. За время существования стека производительность компьютеров возросла на два порядка, объемы оперативной памяти выросли более чем в 30 раз, пропускная способность магистрали Internet в Соединенных Штатах выросла в 800 раз.

Появление новых приложений. Коммерческий бум вокруг Internet и использование ее технологий при создании intranet привели к появлению в сетях TCP/IP, ранее использовавшихся в основном в научных целях, большого количества приложений нового типа, работающих с мультимедийной информацией. Эти приложения чувствительны к задержкам передачи пакетов, так как такие задержки приводят к искажению передаваемых в реальном времени речевых сообщений и видеоизображений. Особенностью мультимедийных приложений является также передача очень больших объемов информации. Некоторые технологии вычислительных сетей, например, frame relay и ATM, уже имеют в своем арсенале механизмы для резервирования полосы пропускания для определенных приложений. Однако эти технологии еще не скоро вытеснят традиционные технологии локальных сетей, не поддерживающие мультимедийные приложения (например, Ethernet). Следовательно, необходимо компенсировать такой недостаток средствами сетевого уровня, то есть средствами протокола IP.

Бурное расширение сети Internet. В начале 90-х годов сеть Internet расширялась очень быстро, новый узел появлялся в ней каждые 30 секунд, но 95-й год стал переломным - перспективы коммерческого использования Internet стали отчетливыми и сделали ее развитие просто бурным. Первым следствием такого развития стало почти полное истощение адресного пространства Internet, определяемого полем адреса IP в четыре байта.

Новые стратегии администрирования. Расширение Internet связано с его проникновением в новые страны и новые отрасли промышленности. При этом в сети появляются новые органы администрирования, которые начинают использовать новые методы администрирования. Эти методы требуют появления новых средств в базовых протоколах стека TCP/IP.

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

Основным предложением по модернизации протокола IP является предложение, разработанное группой IETF. Сейчас принято называть ее предложение версией 6 - IPv6, а все остальные предложения группируются под названием IP Next Generation, IPng.

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

Использование более длинных адресов. Новый размер адреса - наиболее заметное отличие IPv6 от IPv4. Версия 6 использует 128-битные адреса.

Гибкий формат заголовка. Вместо заголовка с фиксированными полями фиксированного размера (за исключением поля Резерв), IPv6 использует базовый заголовок фиксированного формата плюс набор необязательных заголовков различного формата.

Поддержка резервирования пропускной способности. В IPv6 механизм резервирования пропускной способности заменяет механизм классов сервиса версии IPv4.

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

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

Главной задачей стека TCP/IP является объединение в сеть пакетных подсетей через шлюзы. Каждая сеть работает по своим собственным законам, однако предполагается, что шлюз может принять пакет из другой сети и доставить его по указанному адресу. Реально, пакет из одной сети передается в другую подсеть через последовательность шлюзов, которые обеспечивают сквозную маршрутизацию пакетов по всей сети. В данном случае, под шлюзом понимается точка соединения сетей. При этом соединяться могут как локальные сети, так и глобальные сети. В качестве шлюза могут выступать как специальные устройства, маршрутизаторы, например, так и компьютеры, которые имеют программное обеспечение, выполняющее функции маршрутизации пакетов. Маршрутизация - это процедура определения пути следования пакета из одной сети в другую.

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

Структура стека TCP/IP

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

Протоколы TCP/IP соответствуют четырехуровневой модели, известной как модель DARPA. Каждый уровень этой модели соответствует одному или нескольким уровням модели OSI.

Стек протоколов TCP/IP включает в себя четыре уровня:

· прикладной уровень (application layer),

· транспортный уровень (transport layer),

· сетевой уровень (internet layer),

· канальный уровень (link layer).

Протоколы этих уровней полностью реализуют функциональные возможности модели OSI. На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи данных.

При отправке сообщения по сети стек протоколов на узле работает от верхнего уровня к нижнему. В этом примере веб-сервера обозреватель на стороне клиента направляет веб-серверу запрос на веб-страницу через порт назначения 80. Начинается процесс отправки веб-страницы клиенту.

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

Сегмент TCP инкапсулирует протокол HTTP и пользовательские данные веб-страницы в формате HTML и передает их на следующий уровень протоколов, то есть в IP. Здесь сегмент TCP инкапсулируется в пакете IP, и к нему добавляется заголовок IP. В заголовке IP указываются IP-адреса источника и назначения.

Далее этот пакет IP передается протоколу Ethernet, где он инкапсулируется в заголовок кадра и в концевую метку. В каждом заголовке кадра Ethernet указываются MAC-адреса источника и назначения. В концевой метке указывается информация для проверки ошибок. Наконец, биты кодируются в среду передачи по Ethernet (медный или оптоволоконный кабель) интерфейсной платой сервера.

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

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

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

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

Итак, лидирующая роль стека TCP/IP объясняется следующими его свойствами:

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

* Почти все большие сети передают основную часть своего трафика с помощью протокола TCP/IP.

* Это метод получения доступа к сети Internet.

* Этот стек служит основой для создания intranet- корпоративной сети, использующей транспортные услуги Internet и гипертекстовую технологию WWW, разработанную в Internet.

* Все современные операционные системы поддерживают стек TCP/IP.

* Это гибкая технология для соединения разнородных систем как на уровне транспортных подсистем, так и на уровне прикладных сервисов.

* Это устойчивая масштабируемая межплатформенная среда для приложений клиент-сервер.

Прикладной уровень

Прикладной уровень - обеспечивает приложениям доступ к сервисам других уровней и определяют протоколы, по которым приложения могут обмениваться данными. В качестве единицы данных протоколов прикладного уровня выступают сообщения (message).

Верхний уровень (уровень I) называется прикладным. За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и сервисов прикладного уровня. К ним относятся такие широко используемые протоколы, как протокол копирования файлов FTP, протокол эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet, гипертекстовые сервисы доступа к удаленной информации, такие как WWW и многие другие. Остановимся несколько подробнее на некоторых из них.

Протокол пересылки файлов FTP (File Transfer Protocol) реализует удаленный доступ к файлу. Для того, чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений - TCP. Кроме пересылки файлов протокол FTP предлагает и другие услуги. Так, пользователю предоставляется возможность интерактивной работы с удаленной машиной, например, он может распечатать содержимое ее каталогов. Наконец, FTP выполняет аутентификацию пользователей. Прежде, чем получить доступ к файлу, в соответствии с протоколом пользователи должны сообщить свое имя и пароль. Для доступа к публичным каталогам FTP-архивов Internet парольная аутентификация не требуется, и ее обходят за счет использования для такого доступа предопределенного имени пользователя Anonymous.

В стеке TCP/IP протокол FTP предлагает наиболее широкий набор услуг для работы с файлами, однако он является и самым сложным для программирования. Приложения, которым не требуются все возможности FTP, могут использовать другой, более экономичный протокол - простейший протокол пересылки файлов TFTP (Trivial File Transfer Protocol). Этот протокол реализует только передачу файлов, причем в качестве транспорта используется более простой, чем TCP, протокол без установления соединения - UDP.

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

Протокол SNMP (Simple Network Management Protocol) используется для организации сетевого управления. Изначально протокол SNMP был разработан для удаленного контроля и управления маршрутизаторами Internet, которые традиционно часто называют также шлюзами. С ростом популярности протокол SNMP стали применять и для управления любым коммуникационным оборудованием - концентраторами, мостами, сетевыми адаптерами и т.д. и т.п. Проблема управления в протоколе SNMP разделяется на две задачи.

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

Вторая задача связана с контролируемыми переменными, характеризующими состояние управляемого устройства. Стандарты регламентируют, какие данные должны сохраняться и накапливаться в устройствах, имена этих данных и синтаксис этих имен. В стандарте SNMP определена спецификация информационной базы данных управления сетью. Эта спецификация, известная как база данных MIB (Management Information Base), определяет те элементы данных, которые управляемое устройство должно сохранять, и допустимые операции над ними.

На этом уровне предусмотрено много протоколов и постоянно разрабатываются новые.

Протоколы прикладного уровня:

· FTP (File Transfer Protocol - протокол передачи файлов) - предназначен для передачи файлов в сети и доступа к удалённым хостам. FTP функционирует поверх транспортного протокола TCP.

· TFTP (Trivial File Transfer Protocol - простой протокол передачи файлов) - предназначен для первоначальной загрузки бездисковых рабочих станций.

· BGP (Border Gateway Protocol - протокол граничного шлюза) - предназначен для обмена информацией о маршрутах между автономными системами.

· HTTP (Hyper Text Transfer Protocol - протокол передачи гипертекста) - предназначен для передачи данных на основе клиент-серверной технологии. HTTP в настоящее время используется во всемирной паутине для получения информации с веб-сайтов.

· DHCP (Dynamic Host Configuration Protocol - протокол динамической конфигурации узла) - предназначен для автоматического распределения между компьютерами IP-адресов и конфигурационных параметров, необходимых для работы в сети TCP/IP.

· SNMP (Simple Network Management Protocol - протокол простого управления сетями) - предназначен для управления и контроля за сетевыми устройствами и приложениями в сети передачи данных путём обмена управляющей информацией.

· DNS (Domain Name System - система доменных имён) - компьютерная распределённая иерархическая система для получения информации о доменах, чаще всего для получения IP-адреса по символьному имени хоста.

· SIP (Session Initiation Protocol) - протокол установления сеанса, предназначенный для установления и завершения пользовательского интернет-сеанса, включающего обмен мультимедийным содержимым.

· SMTP (Simple Mail Transfer Protocol) - простой протокол передачи почты, предназначенный для передачи электронной почты в сетях TCP/IP.

· POP3 (Post Office Protocol Version 3) - протокол почтового отделения версии 3. Обычно используется почтовым клиентом в паре с SMTP для получения сообщений электронной почты с сервера.

· IMAP (Internet Message Access protocol) - протокол доступа к электронной почте Интернета.

· TELNET (TELetype NETwork) - виртуальный текстовый терминал, предназначенный для реализации текстового интерфейса в сети с использованием транспортного протокола TCP.

· PPTP (Point-to-Point tunneling protocol) - туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в незащищённой сети.

Транспортный уровень

Следующий уровень (уровень II) называется основным. На этом уровне функционируют протокол управления передачей TCP (Transmission Control Protocol) и протокол дейтаграмм пользователя UDP (User Datagram Protocol). Протокол TCP обеспечивает надежную передачу сообщений между удаленными прикладными процессами за счет образования виртуальных соединений. Протокол UDP обеспечивает передачу прикладных пакетов дейтаграммным способом, как и IP, и выполняет только функции связующего звена между сетевым протоколом и многочисленными прикладными процессами.

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

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

Протоколы транспортного уровня:

· TCP (Transmission Control Protocol) - протокол управления передачей данных с установлением соединения, реализующий обмен данных между двумя узлами на основе некоторого соглашения об управлении потоком данных.

· UDP (User Datagram Protocol) - дейтаграммный протокол передачи данных в виде независимых единиц - дейтаграмм (datagram).

· RTP (Real-time transport Protocol) - предназначен для передачи трафика в реальном времени.

· На четвёртом уровне (Application - прикладной) находятся прикладные задачи, запрашивающие сервис у транспортного уровня.

Сетевой уровень

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

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

К уровню межсетевого взаимодействия относятся и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First), а также протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol). Последний протокол предназначен для обмена информацией об ошибках между маршрутизаторами сети и узлом - источником пакета. С помощью специальных пакетов ICMP сообщается о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, о состоянии системы и т.п.

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

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

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

Если канальный уровень оперирует кадрами (frame), то сетевой имеет дело с пакетами (packet). Примером протокола сетевого уровня является IP, входящий в стек TCP/IP. К сетевому уровню относится также протокол IPX стека IPX/SPX. Это так называемые маршрутизируемые протоколы (Routed Protocols) - протоколы, которые занимаются доставкой информации в сети. К этому же уровню относятся специфические протоколы, с помощью которых маршрутизаторы управляют трафиком. Эти так называемые протоколы маршрутизации (Routing Protocols) служат для сбора и анализа информации о топологии сети. Они, не перенося по сети данные, которые могут быть полезны пользователю, тем не менее, играют важную роль.

Протоколы сетевого уровня:

· SLIP (Serial Line IP) - первый стандарт канального уровня для выделенных линий. Разработан специально для стека протоколов TCP/IP, который благодаря простоте может использоваться как для коммутируемых, так и для выделенных каналов. SLIP поддерживается только протоколом сетевого уровня IP. Позволяет организовать межсетевое взаимодействие, используя различные физические и канальные протоколы обмена данными.

· HDLC (High-level Data Link Control Procedure) - высокоуровневый протокол управления каналом - стандарт ISO для выделенных линий, представляющий собой семейство протоколов LAP (Link Access Protocol), HDLC относится к бит-ориентированным протоколам.

· PPP (Point-to-Point Protocol) - протокол двухточечного соединения, пришедший на смену протоколу SLIP и построенный на основе формата кадров протоколов семейства HDLC с дополнением собственных полей. PPP является стандартным протоколом интернета и так же, как протокол HDLC, представляет собой семейство протоколов. Назначение - управление передачей данных по выделенным или коммутируемым линиям связи, обеспечивается двунаправленная одновременная передача данных.

Канальный уровень

стек пропускной сетевой управление

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

Этот уровень в протоколах TCP/IP не регламентируется, но поддерживает все популярные стандарты физического и канального уровня: для локальных сетей это Ethernet, Token Ring, FDDI, Fast Ethernet, 100VG-AnyLAN, для глобальных сетей - протоколы соединений "точка-точка" SLIP и PPP, протоколы территориальных сетей с коммутацией пакетов X.25, frame relay. Разработана также специальная спецификация, определяющая использование технологии ATM в качестве транспорта канального уровня. Обычно при появлении новой технологии локальных или глобальных сетей она быстро включается в стек TCP/IP за счет разработки соответствующего RFC, определяющего метод инкапсуляции пакетов IP в ее кадры.

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

Протоколы межсетевого (канального) уровня:

· IP (Internet Protocol) - основной протокол стека TCP/IP, реализующий передачу пакетов по IP-сети от узла к узлу.

Протокол IP:

Не гарантирует: доставку пакетов; целостность пакетов; сохранение порядка потока пакетов.

Не различает логические объекты (процессы), порождающие поток данных.

Эти задачи решают протоколы транспортного уровня TCP и UDP, реализующие различные режимы доставки данных. В отличие от IP протоколы транспортного уровня различают приложения и передают данные от приложения к приложению.

· ICMP (Internet Control Message Protocol) - межсетевой протокол управляющих сообщений, используемый в основном для передачи сообщений об ошибках и исключительных ситуациях, возникших при передаче данных, а также выполняющие некоторые сервисные функции. ICMP является неотъемлемой частью IP, но при этом не делает протокол IP средством надёжной доставки сообщений. Для этих целей существует протокол TCP.

· IGMP (Internet Group Management Protocol) - протокол управления группами Интернета, предназначенный для управления групповой (multicast) передачей данных в IP сетях версии 4. IGMP используется маршрутизаторами и IP-узлами для организации групп сетевых устройств, а также для поддержки потокового видео и онлайн-игр, обеспечивая эффективное использование сетевых ресурсов.

· ADP (Address Resolution Protocol - протокол разрешения адресов) - предназначен для определения физического адреса устройства (MAC-адреса) по его IP-адресу.

· RARP (Reverse Address Resolution Protocol - протокол обратного определения адреса) - предназначен для определения IP-адреса устройства по его физическому адресу (MAC-адресу).

· RIP (Routing Information Protocol) - протокол маршрутизации типа DVA, реализующий алгоритм обмена информацией о доступных сетях и расстояниях до них путём периодической рассылки широковещательных пакетов.

· OSPF (Open Shortest Path First) - протокол маршрутизации типа LSA, реализующий алгоритм обмена информацией о состоянии каналов, путём периодического тестирования состояния каналов с соседними маршрутизаторами. Протокол OSPF разработанный для применения в сети Интернет и используется в других больших сетях (DECNet, NetWare, SNA, XNS).

Заключение

Стек проколов TCP/IP является наиболее завершенным, стандартным и в то же время популярным стеком сетевых протоколов, имеющим многолетнюю историю. Почти все большие сети передают основную часть своего трафика с помощью протокола TCP/IP. Это метод получения доступа к сети Internet. Этот стек служит основой для создания intranet- корпоративной сети, использующей транспортные услуги Internet и гипертекстовую технологию WWW, разработанную в Internet. Все современные операционные системы поддерживают стек TCP/IP. Это гибкая технология для соединения разнородных систем как на уровне транспортных подсистем, так и на уровне прикладных сервисов. Это устойчивая масштабируемая межплатформенная среда для приложений клиент-сервер.

Список используемой литературы

1. Компьютерные сети. Принципы, технологии, протоколы / В.Г. Олифер, Н.А. Олифер.-СПб.: Питер, 2002. - 672с.: ил.

2. Администрирование локальных сетей Windows NT/2000/.NET: Учебное пособие. Назаров С. В. - 2-е изд., перераб. и доп. - М.: Финансы и статистика, 2003. - 480 с.: ил.

3. Администрирование сети на примерах. Поляк-Брагинский А. В. - СПб.: БХВ-Петербург, 2005. - 320 с.: ил.

4. Аппаратные средства локальных сетей. Энциклопедия / М. Гук, - СПб.: Питер, 2004. - 573 с.: ил.

5. Архитектура компьютерных систем и сетей: Учеб. пособие / Т.П. Барановская, В.И. Лойко и др.; под ред. В.И. Лойко. - М.: Финансы и статистика, 2003. - 256 с.: ил.

6. «TCP/IP Архитектура, протоколы, реализация», Фейт С., Лори, 2000г. (http://citforum.ru/book/tcpip/tcpip_vv.shtml)

7. «Принципы маршрутизации в Internet. Второе издание», Сэм Хелеби, 2001 г.,Вильямс, (http://citforum.ru/book/prmarshin/prmarshin_str.shtml)

9. https://ru.wikipedia.org/wiki/TCP/IP#cite_ref-1

10. http://www.servicecall.ru/training/course/course3/lesson39/

11. http://citforum.ru/nets/ip/glava_2.shtml

12. http://bibliofond.ru/view.aspx?id=66415#1

Подобные документы

    Создание сетевой игры "Кости". Протоколы, используемые в сетевой игре: IPX предоставляет возможность программам обмениваться пакетами данных без подтверждения; протоколы SPX и NETBIOS сделаны на базе IPX и поэтому требуют дополнительных ресурсов.

    курсовая работа , добавлен 27.05.2008

    Алгоритмы сети Ethernet/Fast Ethernet: метод управления обменом доступа; вычисления циклической контрольной суммы (помехоустойчивого циклического кода) пакета. Транспортный протокол сетевого уровня, ориентированный на поток. Протокол управления передачей.

    контрольная работа , добавлен 14.01.2013

    Приложение, работающее с Интернет, общается с одним из протоколов. Транспортный уровень. Порт. Протоколы транспортного уровня TCP/IP, управления TCP, пользовательских датаграмм UDP, их использование. Обеспечение надежности передачи информации. Флаги.

    реферат , добавлен 02.06.2008

    Характеристика устройства глобальных сетей с коммутацией каналов. Описание принципа архитектуры "клиент-сервер". Ознакомление со структурой стека TCP\IP. Изучение технологии многопротокольной коммутации по меткам. Функции сетевых команд Windows XP.

    реферат , добавлен 01.02.2011

    Особенности профиля Smart Energy стека протоколов ZigBee. Обзор современных IPS дисплеев. Технология разработки программного обеспечения системы. Создание функциональной и электрической принципиальной схем устройства, описание микроконтроллера и блоков.

    дипломная работа , добавлен 10.01.2013

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

    дипломная работа , добавлен 02.12.2013

    Теоретические основы организации локальных компьютерных сетей: определение ЛС, топология, используемые протоколы обмена данными для связи рабочих станций и ЭВМ; программные средства. Сетевое окружение; идентификация компьютера с помощью IP-адреса.

    курсовая работа , добавлен 15.05.2014

    Свойства и характеристики оптических волокон, способы увеличения их пропускной способности. Применение компенсаторов дисперсии и мультиплексирования. Разработка учебно-методических материалов по пропускной способности современных оптических волокон.

    дипломная работа , добавлен 21.09.2012

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

    дипломная работа , добавлен 20.03.2017

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

В этой статье будут рассказаны основы модели TCP/IP. Для лучшего понимания описаны основные протоколы и службы. Главное - не торопиться и стараться понимать каждую вещь поэтапно. Все они взаимосвязаны и без понимания одной, трудно будет понять другую. Здесь скомпонована весьма поверхностная информация, так что эту статью смело можно назвать «стеком протоколов TCP/IP для чайников». Однако, многие вещи здесь не так трудны для понимания, как может показаться на первый взгляд.

TCP/IP

Стек TCP/IP - сетевая модель передачи данных в сети, она определяет порядок взаимодействия устройств. Данные поступают на канальный уровень и обрабатываются поочередно каждым уровнем выше. Стек представлен в виде абстракции, которая объясняет принципы обработки и приема данных.

Стек протоколов сети TCP/IP имеет 4 уровня:

  1. Канальный (Link).
  2. Сетевой (Internet).
  3. Транспортный (Transport).
  4. Прикладной (Application).

Прикладной уровень

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

  • HTTP;
  • SMTP;

Каждый протокол определяет собственный порядок и принципы работы с данными.

HTTP (HyperText Transfer Protocol) предназначен для передачи данных. По нему отправляются, например, документы в формате HTML, которые служат основой веб-страницы. Упрощенно схема работы представляется как «клиент - сервер». Клиент отправляет запрос, сервер его принимает, должным образом обрабатывает и возвращает конечный результат.

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

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

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

Заголовок (Header)

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

Например, заголовок, вложенный на транспортном уровне, на другой стороне может быть обработан только транспортным уровнем. Другие просто его проигнорируют.

Транспортный уровень

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

Протоколы передачи данных:

Самый распространенный протокол. Он отвечает за гарантированную передачу данных. При отправке пакетов контролируется их контрольная сумма, процесс транзакции. Это значит, что информация дойдет «в целости и сохранности» независимо от условий.

UDP (User Datagram Protocol) - второй по популярности протокол. Он также отвечает за передачу данных. Отличительное свойство кроется в его простоте. Пакеты просто отправляются, не создавая особенной связи.

TCP или UDP?

У каждого из этих протоколов есть своя область применения. Она логически обусловлена особенностями работы.

Основное преимущество UDP заключается в скорости передачи. TCP является сложным протоколом с множеством проверок, в то время как UDP представляется более упрощенным, а значит, и более быстрым.

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

UDP используется, например, для просмотра видео. Для видеофайла не критична потеря небольшого количества сегментов, в то время как скорость загрузки - важнейший фактор.

Однако если необходимо отправить пароли или реквизиты банковской карты, то необходимость использования TCP очевидна. Потеря даже самой мизерной части данных может повлечь за собой катастрофические последствия. Скорость в этом случае не так важна, как безопасность.

Сетевой уровень

Сетевой уровень из полученной информации образует пакеты и добавляет заголовок. Наиболее важной частью данных являются IP и MAC-адреса отправителей и получателей.

IP-адрес (Internet Protocol address) - логический адрес устройства. Содержит информацию о местоположении устройства в сети. Пример записи: .

MAC-адрес (Media Access Control address) - физический адрес устройства. Используется для идентификации. Присваивается сетевому оборудованию на этапе изготовления. Представлен как шестибайтный номер. Например: .

Сетевой уровень отвечает за:

  • Определение маршрутов доставки.
  • Передачу пакетов между сетями.
  • Присвоение уникальных адресов.

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

Самый популярный протокол этого уровня - IP.

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

Виды IP-адресов

В сетях используются два вида IP-адресов:

  1. Публичные.
  2. Приватные.

Публичные (Public) используются в Интернете. Главное правило - абсолютная уникальность. Пример их использования - маршрутизаторы, каждый из которых имеет свой IP-адрес для взаимодействия с сетью Интернет. Такой адрес называется публичным.

Приватные (Private) не используются в Интернете. В глобальной сети такие адреса не являются уникальными. Пример - локальная сеть. Каждому устройству присваивается уникальный в пределах данной сети IP-адрес.

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

IPv4

Самая распространенная версия интернет-протокола. Предшествует IPv6. Формат записи - четыре восьмибитных числа, разделенные точками. Через знак дроби указывается маска подсети. Длина адреса - 32 бита. В подавляющем большинстве случаев, когда речь идет об IP-адресе, имеется в виду именно IPv4.

Формат записи: .

IPv6

Эта версия предназначается для решения проблем предыдущей версией. Длина адреса - 128 бит.

Основная проблема, которую решает IPv6 - это исчерпание адресов IPv4. Предпосылки начали проявляться уже в начале 80-х годов. Несмотря на то, что эта проблема вступила в острую стадию уже в 2007-2009 годах, внедрение IPv6 очень медленно «набирает обороты».

Главное преимущество IPv6 - более быстрое интернет-соединение. Это происходит из-за того, что для этой версии протокола не требуется трансляции адресов. Выполняется простая маршрутизация. Это является менее затратным и, следовательно, доступ к интернет-ресурсам предоставляется быстрее, чем в IPv4.

Пример записи: .

Существует три типа IPv6-адресов:

  1. Unicast.
  2. Anycast.
  3. Multicast.

Unicast - тип одноадресных IPv6. При отправке пакет достигает только интерфейса, расположенного на соответствующем адресе.

Anycast относится к групповым IPv6-адресам. Отправленный пакет попадет в ближайший сетевой интерфейс. Используется только маршрутизаторами.

Multicast являются многоадресными. Это значит, что отправленный пакет достигнет всех интерфейсов, находящихся группе мультивещания. В отличие от broadcast, который является «вещанием для всех», multicast вещает лишь определенной группе.

Маска подсети

Маска подсети выявляет из IP-адреса подсеть и номер хоста.

Например, IP-адрес имеет маску . В таком случае формат записи будет выглядеть так . Число «24» - это количество бит в маске. Восемь бит равняется одному октету, который также может называться байтом.

Если подробнее, то маску подсети можно представить в двоичной системе счисления таким образом: . В ней имеется четыре октета, и запись состоит из «1» и «0». Если сложить количество единиц, то получим в сумме «24». К счастью, считать по единице не обязательно, ведь в одном октете - 8 значений. Видим, что три из них заполнены единицами, складываем и получаем «24».

Если говорить именно о маске подсети, то в двоичном представлении она имеет в одном октете либо единицы, либо нули. При этом последовательность такова, что сначала идут байты с единицами, а только потом с нулями.

Рассмотрим небольшой пример. Есть IP-адрес и маска подсети . Считаем и записываем: . Теперь сопоставляем маску с IP-адресом. Те октеты маски, в которых все значения равны единице (255) оставляют соответствующие им октеты в IP-адресе без изменения. Если же в значении нули (0), то октеты в IP-адресе также становятся нулями. Таким образом, в значении адреса подсети получаем .

Подсеть и хост

Подсеть отвечает за логическое разделение. По сути, это устройства, использующие одну локальную сеть. Определяется диапазоном IP-адресов.

Хост - это адрес сетевого интерфейса (сетевой карты). Определяется из IP-адреса с помощью маски. Например: . Так как первые три октета - подсеть, то остается . Это и есть номер хоста.

Диапазон адресов хоста - от 0 до 255. Хост под номером «0» является, собственно, адресом самой подсети. А хост под номером «255» является широковещательным.

Адресация

Для адресации в стеке протоколов TCP/IP используются три типа адресов:

  1. Локальные.
  2. Сетевые.
  3. Доменные имена.

Локальными называются MAC-адреса. Они используются для адресации в таких технологиях локальной сети как, например, Ethernet. В контексте TCP/IP слово «локальные» означает, что они действуют лишь в пределах подсети.

Сетевым адресом в стеке протоколов TCP/IP является IP-адрес. При отправке файла из его заголовка считывается адрес получателя. С его помощью маршрутизатор узнает номер хоста и подсеть и, основываясь на этой информации, прокладывает маршрут к конечному узлу.

Доменные имена - это удобочитаемые адреса веб-сайтов в Интернете. Веб-сервера в сети Интернет доступны по публичному IP-адресу. Он успешно обрабатывается компьютерами, однако для людей представляется слишком неудобным. Для того чтобы избежать подобных сложностей, используются доменные имена, которые состоят из областей, называемых «доменами». Они располагаются в порядке строгой иерархии, от верхнего уровня к нижнему.

Домен первого уровня представляет конкретную информацию. Общие (.org, .net) не ограничены какими-либо строгими границами. Обратная ситуация - с локальными (.us, .ru). Они, как правило, привязаны территориально.

Домены низших уровней - это все остальное. Он может быть любого размера и содержать любое количество значений.

Например, "www.test.quiz.sg" - корректное доменное имя, где «sg» - локальный домен первого (верхнего) уровня, «quiz.sg» - домен второго уровня, «test.quiz.sg» - домен третьего уровня. Доменные имена также могут называться DNS-именами.

DNS (Domain Name System) устанавливает соответствие между доменными именами и публичным IP-адресом. При наборе доменного имени в строке браузера DNS обнаружит соответствующий IP-адрес и сообщит устройству. Устройство обработает этот и вернет его в виде веб-страницы.

Канальный уровень

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

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

  1. Ethernet.
  2. WLAN.

Ethernet - наиболее распространенная технология проводных локальных сетей.

WLAN - локальная сеть на основе беспроводных технологий. Взаимодействие устройств происходит без физических кабельных соединений. Пример самого распространенного метода - Wi-Fi.

Настройка TCP/IP для использования статического IPv4-адреса

Статический IPv4-адрес назначается напрямую в настройках устройства или автоматически при подключении к сети и является постоянным.

Для настройки стека протоколов TCP/IP на использование постоянного IPv4-адреса необходимо ввести в консоль команду ipconfig/all и найти следующие данные.

Настройка TCP/IP для использования динамического IPv4-адреса

Динамический IPv4-адрес используется какое-то время, сдается в аренду, после чего меняется. Присваивается устройству автоматически при подключении к сети.

Чтобы настроить стек протоколов TCP/IP на использование непостоянного IP-адреса необходимо зайти в свойства нужного соединения, открыть свойства IPv4 и поставить отметки так, как указано.

Способы передачи данных

Данные передаются через физическую среду тремя способами:

  • Simplex.
  • Half-duplex.
  • Full Duplex.

Simplex - это односторонняя связь. Передача ведется только одним устройством, в то время как другое только принимает сигнал. Можно сказать, что информация транслируется только в одном направлении.

Примеры симплексной связи:

  • Телевещание.
  • Сигнал от спутников GPS.

Half-duplex - это двусторонняя связь. Однако только один узел может передавать сигнал в определенный момент времени. При такой связи два устройства не могут одновременно использовать один канал. Полноценная двусторонняя связь может быть невозможна физически или приводить к коллизиям. Говорится, что они конфликтуют за среду передачи. Этот режим применяется при использовании коаксиального кабеля.

Пример полудуплексной связи - общение по рации на одной частоте.

Full Duplex - полноценная двусторонняя связь. Устройства могут одновременно транслировать сигнал и производить прием. Они не конфликтуют за среду передачи. Этот режим применяется при использовании технологии Fast Ethernet и соединении с помощью витой пары.

Пример - общение по телефону через мобильную сеть.

TCP/IP vs OSI

Модель OSI определяет принципы передачи данных. Уровни стека протоколов TCP/IP прямо соответствуют этой модели. В отличие от четырехуровневого TCP/IP имеет 7 уровней:

  1. Физический (Physical).
  2. Канальный (Data Link).
  3. Сетевой (Network).
  4. Транспортный (Transport).
  5. Сеансовый (Session).
  6. Представительский (Presentation).
  7. Прикладной (Application).

В данный момент не стоит сильно углубляться в эту модель, но необходимо хотя бы поверхностное понимание.

Прикладной уровень в модели TCP/IP соответствует трем верхним уровням OSI. Все они работают с приложениями, поэтому можно отчетливо проследить логику такого объединения. Такая обобщенная структура стека протоколов TCP/IP способствует облегченному пониманию абстракции.

Транспортный уровень остается без изменений. Выполняет одинаковые функции.

Сетевой уровень также не изменен. Выполняет ровно те же задачи.

Канальный уровень в TCP/IP соответствует двум последним уровням OSI. Канальный уровень устанавливает протоколы передачи данных через физическую среду.

Физический представляет собой собственно физическую связь - электрические сигналы, коннекторы и т.п. В стеке протоколов TCP/IP было решено объединить эти два уровня в один, так как они оба работают с физической средой.

TCP/IP представлено целым семейством протоколов, среди которых находятся протоколы UDP и TCP. В этом разделе описывается стек протоколов TCP/IP, а также протоколы UDP и TCP.

Протокол TCP обеспечивает прозрачный обмен данными между конечными системами, используя нижележащие службы сетевого уровня (Network layer) для перемещения пакетов между двумя системами, между которыми установлена связь. TCP является примером протокола транспортного уровня (Transport layer). IP — протоколом сетевого уровня.

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

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

Функции UDP

Протокол UDP является расширением раннего набора IP протоколов.

Первоначальный набор IP протоколов состоял только из TCP и IP, хотя протокол IP в то время не выделялся в качестве отдельной службы. В тоже время некоторые приложения конечных пользователей нуждались больше в своевременности выполнения, чем в точности. Иначе говоря, скорость была более важна, чем восстановление потерянных пакетов. При передаче голоса или видео в реальном масштабе времени небольшая потеря пакетов вполне терпима. Восстановление же пакетов создаёт избыточный трафик, который снижает производительность.

Для соответствия нуждам трафика такого типа, создатели TCP/IP добавили протокол UDP к стеку протоколов. В качестве основной службы адресации и пересылки пакетов на сетевом уровне выступал протокол IP. Протоколы TCP и UDP располагаются над IP и оба используют сервисы протокола IP.

UDP предлагает только минимальные, негарантированные транспортные сервисы и предоставляет приложениям прямой доступ к уровню IP. UDP используется приложениями, которые не требуют уровня обслуживания TCP или используют такие коммуникационные сервисы, как многоадресная или широковещательная рассылка, недоступные для протокола TCP.

Протокол TCP/IP (Transmission Control Protocol/Internet Protocol ) представляет собой стек сетевых протоколов, повсеместно используемый для Интернета и других подобных сетей (например, данный протокол используется и в ЛВС). Название TCP/IP произошло от двух наиболее важных протоколов:

  • IP (интернет протокол) - отвечает за передачу пакета данных от узла к узлу. IP пересылает каждый пакет на основе четырехбайтного адреса назначения (IP-адрес).
  • TCP (протокол управления передачей) - отвечает за проверку корректной доставки данных от клиента к серверу. Данные могут быть потеряны в промежуточной сети. TCP добавлена возможность обнаружения ошибок или потерянных данных и, как следствие, возможность запросить повторную передачу, до тех пор, пока данные корректно и полностью не будут получены.

Основные характеристики TCP/IP:

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

Принцип работы стека протоколов TCP/IP такой же как и в модели OSI, данные верхних уровней инкапсулируются в пакеты нижних уровней.

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

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

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

Пример инкапсуляции можно представить следующим образом:

Рассмотрим каждые функции уровней

Прикладной уровень

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

Распространенными примерами приложений являются программы:

  • Telnet
  • HTTP
  • Протоколы электронной почты (SMTP, POP3)

Для пересылки данных другому приложению, приложение обращается к тому или иному модулю транспортного модуля.

Транспортный уровень

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

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

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

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

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

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

Сетевой (межсетевой) уровень

Основным протоколом этого уровня является протокол IP, который доставляет блоки данных (дейтаграммы) от одного IP-адреса к другому. IP-адрес является уникальным 32-х битным идентификатором компьютера, точнее его сетевого интерфейса. Данные для дейтаграммы передаются IP модулю транспортным уровнем. IP модуль добавляет к этим данным заголовок, содержащий IP-адрес отправителя и получателя, и другую служебную информацию.

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

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

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

  • Уничтожит дейтаграмму;
  • Отправить ее дальше к месту назначения, определив маршрут следования, так поступают промежуточные станции – маршрутизаторы .

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

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

Уровень доступа к среде

Функции этого уровня следующие:

  • Отображение IP-адресов в физические адреса сети. Эту функцию выполняет протокол ARP ;
  • Инкапсуляция IP-дейтаграмм в кадры для передачи по физическому каналу и извлечение дейтаграмм из кадров, при этом не требуется какого-либо контроля безошибочной передачи, поскольку в стеке TCP/IP такой контроль возложен на транспортный уровень или на само приложение. В заголовке кадров указывается точка доступа к сервису SAP, это поле содержащее код протокола;
  • Определение метода доступа к среде передачи, т.е. способа, с помощью которого компьютеры устанавливает свое право на передачу данных;
  • Определение представления данных в физической среде;
  • Пересылка и прием кадра.

Рассмотрим инкапсуляцию на примере перехвата пакета протокола HTTP с помощью сниффера wireshark, который работает на прикладном уровне протокола TCP/IP:


Помимо самого перехваченного протокола HTTP, на основании стека TCP/IP сниффер описывает каждый нижележащий уровень. HTTP инкапсулируется в TCP, протокол TCP в IPv4, IPv4 в Ethernet II.

Интернет – глобальная система взаимосвязанных компьютерных, локальных и других сетей, которые взаимодействуют друг с другом посредством стека протоколов TCP/IP (рис. 1.).

Рисунок 1 – Обобщенная схема сети Интернет

Интернет обеспечивает обмен информацией между всеми компьютерами, подключенными к нему. Тип компьютера и используемая им операционная система значения не имеют.

Основные ячейки Интернета – локальные вычислительные сети (LAN – Local Area network). Если некоторая локальная сеть непосредственно подключена к Интернету, то каждая рабочая станция этой сети также может подключаться к нему. Существуют также компьютеры, самостоятельно подключенные к Интернету. Они называются хост-компьютерами (host – хозяин).

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

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

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

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

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

Организации, соединенные друг с другом самыми скоростными линиями связи, образуют базовую часть сети, или хребет Интернета Backbon [Бэкбон]. Если поставщик подключен непосредственно к хребту, то скорость передачи информации будет максимальной.

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

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

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

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

Что такое протокол? Как ранее было сказано, протокол - это правила взаимодействия. Например, дипломатический протокол предписывает, как поступать при встрече зарубежных гостей или при проведении приема. Так же сетевой протокол предписывает правила работы компьютерам, которые подключены к сети. Стандартные протоколы заставляют разные компьютеры "говорить на одном языке". Таким образом осуществляется возможность подключения к Интернету разнотипных компьютеров, работающих под управлением различных операционных систем.

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

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

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

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

Протокол IP. Теперь рассмотрим адресный протокол - IP (Internet Protocol). Его суть состоит в том, что у каждого участника Всемирной сети должен быть свой уникальный адрес (IP-адрес). Без этого нельзя говорить о точной доставке ТСР-пакетов на нужное рабочее место. Этот адрес выражается очень просто - четырьмя числами, например: 195.38.46.11. Структуру IP-адреса мы подробнее рассмотрим позже. Она организована так, что каждый компьютер, через который проходит какой-либо TCP-пакет, может по этим четырем числам определить, кому из ближайших «соседей» надо переслать пакет, чтобы он оказался «ближе» к получателю. В результате конечного числа перебросок ТСР-пакет достигает адресата.

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

Стек протоколов TCP/IP

Стек протоколов TCP/IP - набор сетевых протоколов передачи данных, используемых в сетях, включая сеть Интернет. Название TCP/IP происходит из двух наиважнейших протоколов семейства - Transmission Control Protocol (TCP) и Internet Protocol (IP), которые были разработаны и описаны первыми в данном стандарте.

Протоколы работают друг с другом в стеке (англ. stack , стопка) - это означает, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции. Например, протокол TCP работает поверх протокола IP.

Стек протоколов TCP/IP включает в себя четыре уровня:

  • прикладной уровень (application layer),
  • транспортный уровень (transport layer),
  • сетевой уровень (internet layer),
  • канальный уровень (link layer).

Протоколы этих уровней полностью реализуют функциональные возможности модели OSI (таблица 1). На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи данных.

Таблица 1 – Сравнение стека протоколов TCP/IP и эталонной модели OSI

Прикладной уровень

На прикладном уровне (Application layer) работает большинство сетевых приложений.

Эти программы имеют свои собственные протоколы обмена информацией, например, HTTP для WWW, FTP (передача файлов), SMTP (электронная почта), SSH (безопасное соединение с удалённой машиной), DNS (преобразование символьных имён в IP-адреса) и многие другие.

В массе своей эти протоколы работают поверх TCP или UDP и привязаны к определённому порту, например:

  • HTTP на TCP-порт 80 или 8080,
  • FTP на TCP-порт 20 (для передачи данных) и 21 (для управляющих команд),
  • запросы DNS на порт UDP (реже TCP) 53,

Транспортный уровень

Протоколы транспортного уровня (Transport layer) могут решать проблему негарантированной доставки сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильную последовательность прихода данных. В стеке TCP/IP транспортные протоколы определяют, для какого именно приложения предназначены эти данные.

Протоколы автоматической маршрутизации, логически представленные на этом уровне (поскольку работают поверх IP), на самом деле являются частью протоколов сетевого уровня; например OSPF (IP идентификатор 89).

TCP (IP идентификатор 6) - «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP.

UDP (IP идентификатор 17) протокол передачи датаграмм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. В приложениях, требующих гарантированной передачи данных, используется протокол TCP.

UDP обычно используется в таких приложениях, как потоковое видео и компьютерные игры, где допускается потеря пакетов, а повторный запрос затруднён или не оправдан, либо в приложениях вида запрос-ответ (например, запросы к DNS), где создание соединения занимает больше ресурсов, чем повторная отправка.

И TCP, и UDP используют для определения протокола верхнего уровня число, называемое портом.

Сетевой уровень

Сетевой уровень (Internet layer) изначально разработан для передачи данных из одной (под)сети в другую. С развитием концепции глобальной сети в уровень были внесены дополнительные возможности по передаче из любой сети в любую сеть, независимо от протоколов нижнего уровня, а также возможность запрашивать данные от удалённой стороны, например в протоколе ICMP (используется для передачи диагностической информации IP-соединения) и IGMP (используется для управления multicast-потоками).

ICMP и IGMP расположены над IP и должны попасть на следующий - транспортный - уровень, но функционально являются протоколами сетевого уровня, и поэтому их невозможно вписать в модель OSI.

Пакеты сетевого протокола IP могут содержать код, указывающий, какой именно протокол следующего уровня нужно использовать, чтобы извлечь данные из пакета. Это число - уникальный IP-номер протокола . ICMP и IGMP имеют номера, соответственно, 1 и 2.

Канальный уровень

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

Примеры протоколов канального уровня - Ethernet, Wi-Fi, Frame Relay, Token Ring, ATM и др.

Канальный уровень иногда разделяют на 2 подуровня - LLC и MAC.

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

Инкапсуляция

Инкапсуляция – упаковка, или вложение, пакетов высокого уровня (возможно, разного протокола) в пакеты одного протокола (нижнего уровня), включая адрес.

Например, когда приложению требуется послать сообщение с помощью TCP, то производится следующая последовательность действий (рис. 2):

Рисунок 2 – Процесс инкапсуляции

  • в первую очередь, приложение заполняет специальную структуру данных, в которой указывает информацию о получателе (сетевой протокол, IP-адрес, порт TCP);
  • передаёт сообщение, его длину и структуру с информацией о получателе обработчику протокола TCP (транспортный уровень);
  • обработчик TCP формирует сегмент, в котором в качестве данных выступает сообщение, а в заголовках находится TCP-порт получателя (а также другие данные);
  • обработчик TCP передаёт сформированный сегмент обработчику IP (сетевой уровень);
  • обработчик IP рассматривает переданный TCP сегмент как данные и предваряет их своим заголовком (в котором, в частности, находится IP-адрес получателя, взятый из той же структуры данных приложения, и номер верхнего протокола;
  • полученный пакет обработчик IP передаёт на канальный уровень, который опять-таки рассматривает данный пакет как «сырые» данные;
  • обработчик канального уровня, аналогично предыдущим обработчикам, добавляет в начало свой заголовок (в котором так же указывается номер протокола верхнего уровня, в нашем случае это 0x0800(IP)) и, в большинстве случаев, добавляет конечную контрольную сумму, тем самым формируя кадр;
  • далее полученный кадр передаётся на физический уровень, который осуществляет преобразование битов в электрические или оптические сигналы и посылает их в среду передачи.

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

Похожая информация.