Главная » Лекции » 1.11 Протоколы локальных сетей

1.11 Протоколы локальных сетей

TCP/IP

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

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

В этой лекции мы изучим некоторые наиболее часто применяемые в сетях стеки протоколов, в том числе самый распространенный на сегодня набор протоколов — стек TCP/IP.

NetBEUI

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

Соответственно, его нельзя использовать в крупных сетях, объединенных маршрутизаторами, и при работе с Интернетом. Протокол NetBEUI поставлялся в составе всех операционных систем Windows вплоть до Windows 2000, однако в последних версиях его поддержка прекращена.

IPS/SPX и NWLink

Стек протоколов IPX/SPX был разработан фирмой Novell в начале 80-х гг. для своей сетевой операционной системы NetWare. Основа стека — это протоколы IPX (Internetwork Packet eXchange) и SPX (Sequenced Packet eXchange), реализующие функции сетевого и транспортного уровней модели OSI соответственно. Как и NetBEUI, протокол IPX/SPX является небольшим (его программную поддержку легко уместить на обычной дискете 1,44 Мб вместе с DOS) и быстрым, что было особенно важно в эпоху первого поколения IBM-совместимых компьютеров с малым объемом оперативной памяти (640 Кбайт).

Кроме того, в стеке IPX/SPX поддерживается маршрутизация. Оба этих фактора, наряду с надежностью серверов на базе операционной системы Novell Netware тех лет, способствовали широкому распространению стека IPX/SPX в локальных сетях в 80-е и 90-е гг. К недостаткам этого стека протоколов следует отнести интенсивное использование широковещательных сообщений, серьезно нагружающих сеть, особенно при работе по медленным глобальным каналам. Это обстоятельство, а также то, что стек IPX/SPX при¬надлежит фирме Novell и для его реализации другим производителям сетевых операционных систем приходилось покупать лицензию, привели в итоге к вытеснению IPX/SPX общедоступным стеком TCP/IP.

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

TCP/IP

История развития стека TCP/IP (как и история Интернета) началась еще в конце 60-х гг. прошло¬го, XX века с проекта ARPANet — сети Агентства перспективных исследовательских проектов (Advanced Research Project Agency Network) Министерства обороны США.

Поскольку для военных во времена «холодной войны» была особенно важна возможность передачи данных даже в условиях атомных бомбардировок, ARPANet задумывалась как высоконадежная сеть, объединяющая военные, государственные и научные учреждения. Получившаяся в результате сеть и разработанный несколько позже (в 70-х гг.) стек протоколов TCP/IP оказались настолько удачными, что даже после прекращения финансирования проекта ARPANet Министерством обороны продолжали жить и успешно развиваться, создав основы современного Интернета.

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

Поскольку стек TCP/IP является общедоступным, его стандарты (а также просто информационные материалы) публикуются в Интернете в виде специальных документов под названием «RFC» («Request for Comments», «запрос комментариев») с последовательно возрастающим номером. К примеру, спецификация протокола IP опубликована в RFC 791, а протокола HTTP версии 1.1 — в RFC 2616. Первый документ RFC был представлен еще в апреле 1969 г., а сейчас текущие номера RFC перевалили за 4 тысячи.
Стек TCP/IP, в отличие от семиуровневой модели OSI, принято описывать в рамках четырех уровней (рис. 1).

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

Рис.1 Основные протоколы стека TCP/IP

  • На физическом уровне TCP/IP поддерживает работу с основными технологиями локальных сетей — Ethernet, Token Ring, Wi-Fi, Bluetooth и т. д.
  • На сетевом уровне располагаются несколько протоколов:
    • протокол ARP (Address Resolution Protocol) является звеном, связывающим сетевой уровень с физическим. Он отвечает за преобразование сетевых IP-адресов в аппаратные МАС-адреса;
    • протокол RARP (Reverse Address Resolution Protocol) — осуществляет обратное преобразование МАС-адресов в IP-адреса (в операционных системах Windows поддержка протокола RARP не предусмотрена);
    • протокол ICMP (Internet Control Message Protocol) — используется для передачи сообщений об ошибках, диагностики доступности сетевого узла и маршрута доставки пакетов (именно его используют такие популярные утилиты, как PING и TRACERT);
    • протокол IGMP (Internet Group Management Protocol) — используется для управления группами компьютеров, например, при передаче в сетях потокового видео и звука, когда для снижения нагрузки на сеть пакет посылается по специальному адресу сразу нескольким компьютерам (многоадресная рассылка);
    • протокол IP (Internet Protocol) — один из самых важных в стеке TCP/IP. Как следует из его названия («IР» переводится как «межсетевой протокол»), он отвечает за доставку IP-дейтаграмм (так правильно называются пакеты на уровне протокола IP), обеспечивая передачу пакета из одной сети в другую. О том, как это происходит, будет подробно рассказано далее.
  • На транспортном уровне работают два протокола:
    • протокол TCP (Transmission Control Protocol, протокол управления передачей) — основной протокол транспортного уровня. Обеспечивает установку соединения между отправителем и получателем, разбиение крупного блока информации (например, файла) на небольшие TCP-пакеты и их гарантированную доставку получателю (в нужном порядке и без ошибок). Соответственно, протокол TCP используется в тех приложениях, где важно обеспечить целостность при передаче данных;
    • протокол UDP (User Datagram Protocol), в отличие от TCP, не устанавливает соединения перед передачей информации и не обеспечивает надежной доставки данных, работая при этом быстрее, чем TCP. Его используют там, где обеспечение доставки информации не особенно важно по сравнению со скоростью передачи (контроль за целостностью данных в этом случае возлагается на использующее протокол UDP приложение).

Чтобы лучше представить себе работу протоколов TCP и UDP, рассмотрим аналогию с почтой. Пусть вам надо переслать в издательство целый роман, а в письмо разрешается вкладывать не больше нескольких страниц текста. Чтобы в такой ситуации ничего не потерять при пересылке и не перепутать при приеме рукописи в печать, вначале хорошо бы договориться с издательством о системах обозначения именно для вашего романа (есть ведь и другие авторы!) и о нумерации сообщений. Для этого нужно послать письмо, извещающее издательство о вашем намерении переслать роман, в котором указать исходящий номер вашего следующего сообщения. Издательство подтвердит получение вашего сообщения и в ответном письме сообщит вам свои исходящие и входящие номера, а вы подтвердите получение этих номеров. Таким образом, обе стороны согласуют номера сообщений, которые они позже будут ожидать друг от друга, что и означает установку связи. Дальше вам остается только разделить роман на небольшие части и посылать каждую в отдельном письме, а издательству — подтверждать получение этих частей. Ошибки работы почты (если какое-то сообщение не дойдет до издательства из-за потери или повреждения письма либо придет вне очереди) легко определить по входящим и исходящим номерам, чтобы принять соответствующие меры — заново переслать утерянную часть или собрать страницы романа в нужном порядке.

Примерно также работает и протокол TCP:

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

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

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

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

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

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

Заметим, что, хотя для протоколов обычно резервируются одинаковые номера портов и для TCP, и для UDP, в таблице приведены порты для наиболее часто применяемого протокола транспортного уровня (TCP или UDP).

Несмотря на существование большого количества наборов протоколов, основным сегодня является общедоступный стек TCP/IP. Он используется практически повсеместно, начиная с небольших домашних сетей и заканчивая крупнейшей сетью — Интернетом

Протоколы прикладного уровня стека TCP/IP

Табл. 1 Протоколы прикладного уровня стека TCP/IP

Протоколы прикладного уровня стека TCP/IP

Табл. 2 Протоколы прикладного уровня стека TCP/IP

Протоколы прикладного уровня стека TCP/IP

Табл 3. Протоколы прикладного уровня стека TCP/IP

Вопросы для повторения
1. Что такое набор (стек) протоколов? В чем смысл термина «стек»?
2. Какие наборы протоколов вы знаете? Чем они различаются?
3. Какой стек протоколов сегодня наиболее популя рен? Почему?
4. Какие уровни модели OSI поддерживаются в сте ке протоколов TCP/IP?
5. В чем сходство и различие между протоколами TCP и UDP? Когда какой из этих протоколов ре комендуется использовать?
6. Перечислите известые вам протоколы прикладно го уровня в стеке TCP/IP. Для чего предназначен каждый из них?
7. Что такое «порт» в TCP/IP? Для чего нужны порты?
8. Какой из транспортных протоколов стека TCP/IP вы бы использовали:
• для пересылки по сети Интернет архивных файлов ?
• для реализации IP-телефонии (передачи голосовых сообщений в реальном времени) между пользователями двух мобильных компьютеров (КПК), соединенных по беспроводному каналу Wi-Fi?
9. Выясните, какие протоколы установлены на ваших ПК.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *