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

Стек протоколов TCP IInternet Protocol TCP IP - это промышленный стандарт стека протоколов, разработанный для глобальных сетей. Стандарты TCP IP опубликованы в серии документов, названных Request for Comment RFC . Документы RFC описывают внутреннюю работу сети Internet. Некоторые RFC описывают сетевые сервисы или протоколы и их реализацию, в то время как другие обобщают условия применения.Стандарты TCP IP всегда публикуются в виде документов RFC, но не все RFC определяют стандарты. Стек был разработан по инициативе Министерства обороны США Department of Defence, DoD более 20 лет назад для связи экспериментальной сети ARPAnet с другими сателлитными сетями как набор общих протоколов для разнородной вычислительной среды. Сеть ARPA поддерживала разработчиков и исследователей в военных областях.

В сети ARPA связь между двумя компьютерами осуществлялась с использованием протокола Internet Protocol IP , который и по сей день является одним из основных в стеке TCP IP и фигурирует в названии стека.

Большой вклад в развитие стека TCP IP внес университет Беркли, реализовав протоколы стека в своей версии ОС UNIX. Широкое распространение ОС UNIX привело и к широкому распространению протокола IP и других протоколов стека.На этом же стеке работает всемирная информационная сеть Internet, чье подразделение Internet Engineering Task Force IETF вносит основной вклад в совершенствование стандартов стека, публикуемых в форме спецификаций RFC. Если в настоящее время стек TCP IP распространен в основном в сетях с ОС UNIX, то реализация его в последних версиях сетевых операционных систем для персональных компьютеров Windows NT 3.5, NetWare 4.1, Windows 95 является хорошей предпосылкой для быстрого роста числа установок стека TCP IP. Итак, лидирующая роль стека TCP IP объясняется следующими его свойствами Это наиболее завершенный стандартный и в то же время популярный стек сетевых протоколов, имеющий многолетнюю историю.

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

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

Это устойчивая масштабируемая межплатформенная среда для приложений клиент-сервер.Структура стека TCP IP. Краткая характеристика протоколовТак как стек TCP IP был разработан до появления модели взаимодействия открытых систем ISO OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека TCP II достаточно условно. Структура протоколов TCP IP приведена на рисунке 1. Протоколы TCP IP делятся на 4 уровня.

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

Разработана также специальная спецификация, определяющая использование технологии ATM в качестве транспорта канального уровня.Обычно при появлении новой технологии локальных или глобальных сетей она быстро включается в стек TCP IP за счет разработки соответствующего RFC, определяющего метод инкапсуляции пакетов IP в ее кадры. Следующий уровень уровень III - это уровень межсетевого взаимодействия, который занимается передачей пакетов с использованием различных транспортных технологий локальных сетей, территориальных сетей, линий специальной связи и т. п. В качестве основного протокола сетевого уровня в терминах модели OSI в стеке используется протокол IP, который изначально проектировался как протокол передачи пакетов в составных сетях, состоящих из большого количества локальных сетей, объединенных как локальными, так и глобальными связями.

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

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

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

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

Верхний уровень уровень 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 , определяет те элементы данных, которые управляемое устройство должно сохранять, и допустимые операции над ними.