Небольшой по объемам требуемого программного обеспечения протокол, реализующий поддержку сетевого, транспортного и сеансового уровней модели OSI. Наиболее прост в настройке (фактически ее не требует), работает эффективно и быстро в небольших и средних по размерам сетях (до 200 компьютеров). Серьезными, по современным меркам, недостатками протокола NetBEUI являются ограничения при работе в сетях с большим количеством компьютеров и, самое главное, отсутствие поддержки маршрутизации — возможности сетевой адресации и функции пересылки пакетов между сетями в нем просто не реализованы.
Соответственно, его нельзя использовать в крупных сетях, объединенных маршрутизаторами, и при работе с Интернетом.
Стек протоколов IPХ/SPXбыл разработан фирмой Novell в начале 80-х гг. для своей сетевой операционной системы NetWare.
Основа стека — это протоколы IPX (Internetwork Packet eXchange) и SPX
(Sequenced Packet eXchange), реализующие функции сетевого и транспортного уровней модели OSI соответственно.
В заголовок дейтаграммы входят адреса абонентов (отправителя и получателя) более высокого уровня, чем MAC-адреса, – это IPX-адреса для протокола IPX.
Эти адреса включают номера сети и узла, хоста (индивидуальный идентификатор абонента). При этом IPX-адреса (рис. 7) простые, имеют всего один формат.
Рис. 7. Формат IPX- адреса
Как и NetBEUI, протокол IPХ/SPXявляется небольшим и быстрым, что было особенно важно в эпоху первого поколения IВМ-совместимых компьютеров с малым объемом оперативной памяти (640 Кбайт). Кроме того, в стеке IPХ/SPXподдерживается маршрутизация. Оба этих фактора, наряду с надежностью серверов на базе операционной системы NetWare тех лет, способствовали широкому распространению стека IPХ/SPXв локальных сетях в 80-е и 90-е гг.
Прикладные программы могут обращаться непосредственно к уровню IPX, например, для посылки широковещательных сообщений, но значительно чаще работают с уровнем SPX, гарантирующим быструю и надежную доставку пакетов.
К недостаткам этого стека протоколов следует отнести интенсивное использование широковещательных сообщений, серьезно нагружающих сеть, особенно при работе по медленным глобальным каналам. Это обстоятельство, а также то, что стек IPХ/SPXпринадлежит фирме Novell и для его реализации другим производителям сетевых операционных систем приходилось покупать лицензию, привели в итоге к вытеснению IPХ/SPXобщедоступным стеком ТСР/IР.
Важную роль здесь сыграло и то, что все больше организаций в 90-е гг. стало подключаться к Интернету, в котором использовался именно стек ТСР/IР, а поддерживать в сети два стека протоколов — нет смысла.
ТСР/IР
История развития стека ТСР/IР (как и история Интернета) началась еще в конце 60-х гг. прошлого, XX века с проекта ARPANet (Advanced Research Project Agency Network) - сети Агентства перспективных исследовательских проектов Министерства обороны США.
Поскольку для военных во времена «холодной войны» была особенно важна возможность передачи данных даже в условиях атомных бомбардировок, ARPANet задумывалась как высоконадежная сеть, объединяющая военные, государственные и научные учреждения. Получившаяся в результате сеть и разработанный несколько позже (в 70-х гг.) стек протоколов ТСР/IР оказались настолько удачными, что даже после прекращения финансирования проекта Министерством обороны продолжали жить и успешно развиваться, создав основы современного Интернета.
Он изначально ориентирован на низкое качество каналов связи, на большую вероятность ошибок и разрывов связей. Этот протокол принят во всемирной компьютерной сети Интернет.
Как и протокол IPX/SPX, протокол TCP/IP также поддерживает маршрутизацию. На его основе работают протоколы высоких уровней, такие как SMTP, FTP, SNMP.
Как протокол IPX, так и протокол IP являются самыми низкоуровневыми протоколами, поэтому они непосредственно инкапсулируют свою информацию в поле данных передаваемого по сети пакета.
В IP-адрес (рис. 8) могут входить три формата (класса A, B и C), различающиеся значениями трех начальных битов.
Рис. 8. Форматы IP-адреса
Интересно, что IP-адрес не имеет никакой связи с MAC-адресами абонентов. Номер узла в нем присваивается абоненту независимо от его MAC-адреса. В качестве идентификатора станции IPX-адрес включает в себя полный MAC-адрес абонента.
Номер сети – это код, присвоенный каждой конкретной сети, то есть каждой широковещательной области общей, единой сети. Под широковещательной областью понимается часть сети, которая прозрачна для широковещательных пакетов, пропускает их беспрепятственно.
Основные преимущества стека ТСР/IР перед другими — более удобная система сетевой адресации, возможность фрагментации пакетов и очень небольшое количество широковещательных сообщений. Эти преимущества оказались решающими не только при построении глобальных сетей, объединяющих сети с разнородными архитектурами, но и при создании крупных корпоративных сетей. В результате сегодня стек ТСР/IР практически вытеснил все остальные — он используется и в небольших домашних сетях, и в глобальной сети Интернет.
Поскольку стек ТСР/IР является общедоступным, его стандарты публикуются в Интернете в виде специальных документов под названием «RFC» («Request for Comments», «запрос комментариев») с последовательно возрастающим номером. К примеру, спецификация протокола IР опубликована в RFC 791, а протокола НТТР версии 1.1 — в RFC 2616. Первый документ RFC был представлен еще в апреле 1969 г., а сейчас текущие номера RFC перевалили за 4 тысячи.
В стек протоколов TCP/IP часто включают и протоколы всех верхних уровней (рис. 9). И тогда уже можно говорить о функциональной полноте стека TCP/IP.
Рис. 9. Соотношение уровней модели OSI и стека протоколов TCP/IP
Однако, стек ТСР/IР, в отличие от семиуровневой модели OSI, принято описывать в рамках четырех уровней (рис.10)
Рис. 10.
На физическом уровне ТСР/IР поддерживает работу с основными технологиями локальных сетей — Ethernet, TokenRing, Bluetooth и т. д.
На сетевом уровне располагаются несколько протоколов:
· протокол ARP (Address Resolution Protocol) является звеном, связывающим сетевой уровень с физическим. Он отвечает за преобразование сетевых IP-адресов в аппаратные МАС-адреса;
· протокол RARP (Reverse Address Resolution Protocol) — осуществляет обратное преобразование МАС-адресов в IР-адреса (в операционных системах Windows поддержка протокола RARP не предусмотрена);
· протокол ICMP (Internet Control Message Protocol) — используется для передачи сообщений об ошибках, диагностики доступности сетевого узла и маршрута доставки пакетов (именно его используют такие популярные утилиты, как PING и TRACERT);
· протокол IGMP (Internet Group Management Protocol) — используется для управления группами компьютеров, например, при передаче в сетях потокового видео и звука, когда для снижения нагрузки на сеть пакет посылается по специальному адресу сразу нескольким компьютерам (многоадресная рассылка);
· протокол IP (Internet Protocol) — один из самых важных в стеке ТСР/IР. Как следует из его названия («IР» переводится как «межсетевой протокол»), он отвечает за доставку IР-дейтаграмм (пакеты на уровне протокола IР), обеспечивая передачу пакета из одной сети в другую.
На транспортном уровне работают два протокола:
· протокол ТСР (Transmission Control Protocol, протокол управления передачей) — основной протокол транспортного уровня. Обеспечивает установку соединения между отправителем и получателем, разбиение крупного блока информации (например, файла) на небольшие ТСР-пакеты и их гарантированную доставку получателю (в нужном порядке и без ошибок). Соответственно, протокол ТСР используется в тех приложениях, где важно обеспечить целостность при передаче данных;
· протокол UDP (User Datagram Protocol), в отличие от ТСР, не устанавливает соединения перед передачей информации и не обеспечивает надежной доставки данных, работая при этом быстрее, чем ТСР. Его используют там, где обеспечение доставки информации не особенно важно по сравнению со скоростью передачи (контроль за целостностью данных в этом случае возлагается на использующее протокол UDP приложение).
Чтобы лучше представить себе работу протоколов ТСР и UDP рассмотрим пример с отправкой почты. Пусть вам надо переслать в издательство целый роман, а в письмо разрешается вкладывать не больше нескольких страниц текста. Чтобы в такой ситуации ничего не потерять при пересылке и не перепутать при приеме рукописи в печать, вначале хорошо бы договориться с издательством о системах обозначения именно для вашего романа (есть ведь и другие авторы!) и о нумерации сообщений. Для этого нужно послать письмо, извещающее издательство о вашем намерении переслать роман, в котором указать исходящий номер вашего следующего сообщения. Издательство подтвердит получение вашего сообщения и в ответном письме сообщит вам свои исходящие и входящие номера, а вы подтвердите получение этих номеров. Таким образом, обе стороны согласуют номера сообщений, которые они позже будут ожидать друг от друга, что и означает установку связи. Дальше вам остается только разделить роман на небольшие части и посылать каждую в отдельном письме, а издательству — подтверждать получение этих частей. Ошибки работы почты (если какое-то сообщение не дойдет до издательства из-за потери или повреждения письма либо придет вне очереди) легко определить по входящим и исходящим номерам, чтобы принять соответствующие меры — заново переслать утерянную часть или собрать страницы романа в нужном порядке.
Примерно так же работает и протокол ТСР:
· устанавливает соединение между компьютерами по определенным портам;
· на компьютере-отправителе разбивает информацию на пакеты, нумерует их и с помощью протокола IР передает получателю;
· на компьютере-получателе проверяет, все ли пакеты получены, а если пакет пропущен или поврежден, запрашивает у отправителя повторную пересылку;
· после получения всех пакетов закрывает соединение, собирает пакеты в нужном порядке и передает полученные данные приложению более высокого уровня.
Протокол же UDP в этой аналогии можно сравнить с рассылкой рекламных сообщений. Никакого установления связи и подтверждения получения корреспонденции здесь нет — письма с рекламной информацией просто бросают в ваш почтовый ящик. При этом ни отправителя, ни получателя надежность доставки информации или ее целостность, вообще говоря, не особенно беспокоят.
Очевидно, почтовые отправления в обоих этих примерах являются аналогами IР-пакетов, а почтальоны выполняют функции протокола IР.
Порт в TCP или UDP — это логический канал с определенным номером (от 0 до 65536), обеспечивающий текущее взаимодействие между отправителем и получателем.
Порты позволяют компьютеру с одним IР-адресом параллельно обмениваться данными с множеством других компьютеров. Некоторые номера портов (так называемые «хорошо известные», или well-known, порты с номерами от 0 до 1024) привязаны к определенным службам и приложениям, что позволяет клиентам легко обращаться к нужным им сетевым сервисам.
Наконец, самым богатым по набору протоколов является прикладной уровень стека ТСР/IР.
Ниже в табл. приведены самые популярные протоколы, а также зарезервированные для них порты. Заметим, что, хотя для протоколов обычно резервируются одинаковые номера портов и для ТСР, и для UDР, в таблице приведены порты для наиболее часто применяемого протокола транспортного уровня (ТСР или UDР).
Протоколы прикладного уровня стека ТСР/IР
Протокол
Назначение
Номер порта
NTP
(Network Time
Protocol)
Протокол сетевого времени, используется для синхронизации системных часов компьютеров в сетях
(UDP)
DNS
(Domain Name
System, или
Service)
Служба доменных имен, используется для преобразования (разрешения) понятных людям имен компьютеров (например, имен типа www.microsoft.com) в IР-адреса
53 (ТСР и UDР)
NetBIOS name
service и WINS
(Windows Internet
Naming Service)
Служба имен NetBIOS и служба межсетевых имен Windows, используются для преобразования, используются для преобразования NetBIOS-имен компьютеров (например, имен типа SERVER) в IР-адреса
и 138
(UDP)
NetBIOS
session service
Служба сеансов NetBIOS, используется для установления сеансов между компьютерами
139 (ТСР)
LDAP
(Lightweight
Directory Access
Protocol)
Простой протокол доступа к каталогу, используется для работы с различными сетевыми каталогами (например, со службой Active Directory в доменах на основе Windows Server 2003)
389 (ТСР)
RPC
(Remote Procedure
Call)
Вызов удаленной процедуры, используется для работы со многими сетевыми службами в сетях Майкрософт
135 (ТСР)
Telnet
Протокол для обеспечения терминального доступа к удаленным компьютерам
23 (ТСР)
FTP
(File Transfer
Protocol)
Протокол передачи файлов, один из «старейших» протоколов Интернета; используется для эффективной и надежной передачи файлов между клиентом и сервером FТР
20 и 21 (ТСР)
TFTP
(Trivial File
Transfer Protocol)
Упрощенный вариант FТР, не имеет таких функций, как проверка пользователя при входе, просмотр каталогов и файлов сервера; используется только для записи и чтения файлов
69 (UDP)
Протокол
Назначение
Номер порта
Gopher
Протокол Gopher («суслик»), используется для доступа к текстовым информационным ресурсам на удаленном сервере
70 (ТСР)
HTTP
(HyperText
Transfer Protocol)
Протокол передачи гипертекста, самый популярный сегодня протокол, используемый во Всемирной паутине (World Wide Web); описывает, каким способом нужно представлять данные (текстовые, аудио-, видео- и т. д.) на веб-серверах, как к ним обращаться с помощью веб-браузера (например, программы Internet Ехрloгег) и как передавать эти данные
80 (ТСР)
NNTP
(Network News
Transfer Protocol)
Протокол передачи сетевых новостей, используется для обмена сообщениями в системах телеконференций
119 (ТСР)
SMTP
(Simple Mail
Transfer Protocol)
Простой протокол передачи почты, используется почтовыми серверами для обмена электронными сообщениями (на этапе отправки почтового сообщения его автором)
25 (ТСР)
POP3
(Post Office
Protocol)
«Протокол почтового отделения», довольно простой протокол, используемый почтовым клиентом (например, программой Outlook Express) для подключения к своему почтовому ящику на сервере и считывания сообщений (на этапе доставки почтового сообщения адресату)
110 (ТСР)
IMAP4
(Internet Message
Access Protocol)
Протокол доступа к электронным сообщениям — более функциональный, чем РОР3, клиентский протокол для доступа к почтовому серверу
143 (ТСР)
SSL
(Secure Sockets
Layer)
Протокол, обеспечивающий согласование алгоритмов и обмен ключами шифрования. Используется для защиты данных при их пересылке по сетям
(SMTP)
(POP3S)
(IMAPS)
(HTTPS)
(TCP)
Чтобы посмотреть, какие порты на вашем компьютере используются или ожидают подключения, достаточно выполнить команду NETSTAT -AN.
Несмотря на существование большого количества наборов протоколов, основным сегодня является общедоступный стек ТСР/IР. Он используется практически повсеместно, начиная с небольших домашних сетей и заканчивая крупнейшей сетью — Интернетом.