Протоколы TCP/IP были разработаны в 1970-х гг. специально для применения в сети с коммутацией пакетов, создававшейся Министерством обороны США. Тогда эта сеть называлась ARPANET, теперь же — Интернет. С момента создания протоколы TCP/IP были связаны с ОС UNIX. Таким образом, они появились до персональных компьютеров эталонной модели OSI, протокола Ethernet и большинства других компонентов, которые в наши дни считаются основой компьютерных сетей. В отличие от других протоколов, отчасти выполняющих те же функции, например, IPX (Internetwork Packet Exchange) фирмы Novell, TCP/IP никогда не был продуктом определенной компании. С самого начала он представлял собой плод коллективных усилий.
При разработке TCP/IP независимость от платформы была главным руководящим принципом. Многие его компоненты существуют именно для того, чтобы средствами TCP/IP любой компьютер с сетевыми возможностями мог обмениваться данными с другим компьютером сети.
Из всех распространенных протоколов локальных сетей протоколу TCP/IP присущи наименьшее быстродействие и наибольшая сложность конфигурирования. Несмотря на это, он все же получил широкое распространение. Это объясняется следующими причинами.
§ В протоколе TCP/IP используется гибкая схема адресации, весьма удачная для маршрутизации даже в самых больших сетях. Пакеты данных можно коммутировать (перенаправлять в другую подсеть) в зависимости от адреса назначения.
§ Протокол TCP/IP поддерживается практически во всех операционных системах и на всех платформах.
§ К настоящему времени разработано и применяется огромное количество инструментов и утилит для мониторинга и управления комплектом протоколов TCP/IP.
§ Протокол TCP/IP де-факто является протоколом глобальной сети Internet. В любой системе, подключаемой к Internet, должен быть реализован протокол TCP/IP.
Поскольку в последние годы Интернет разрастается буквально взрывными темпами, набор протоколов TCP/IP (Transmission Control Protocol/Internet Protocol) используется теперь гораздо чаще других наборов протоколов.
Стандарты TCP/IP опубликованы группой IETF (Internet Engineering Task Force) в документах с общим заголовком RFC (Requests for Comments). В их число входят документы с определениями стандартов протокола на разных стадиях разработки. Кроме того, там же содержатся информационные сообщения, сведения об экспериментальных проверках.
Документ, опубликованный IETF в виде RFC и наделённый номером, никогда более не изменяется. Если IETF публикует переработанную версию RFC, ей присваивается новый номер.
Протоколы TCP/IP были разработаны задолго до эталонной модели OSI, но они также разделены на несколько уровней. Вообще, распределение сетевых функций компьютера на несколько отдельных протоколов по сравнению с созданием единого «монолитного» протокола обладает рядом преимуществ.
§ Независимость от платформы. Разделение протоколов облегчает поддержку разнообразных вычислительных платформ. Создание или модернизация протоколов для поддержки новых стандартов физического уровня или сетевых интерфейсов прикладного программирования (Application Programming Interface, API) не требуют модификаций всего стека.
§ Эффективность работы. Благодаря наличию на одном и том же уровне нескольких протоколов, приложение может выбрать из них один, наилучшим образом отвечающий поставленной задаче.
§ Одновременная разработка. Благодаря разбиению стека на уровни разработка различных протоколов может происходить одновременно, с привлечением наиболее разбирающихся в функциях данного уровня специалистов.
Модель OSI | Стек протоколов TCP/IP | |
Прикладной уровень | API – функции | Прикладной уровень |
Представительский уровень | Трансляция, преобразование данных | |
Сеансовый уровень | Регистрация, безопасность, управление диалогом | |
Транспортный уровень | Потоковая передача, контроль целостности и ошибок передачи, разрешение имён | Межузловой уровень |
Сетевой уровень | Маршрутизация, адресация, фрагментация | Межсетевой уровень |
Канальный уровень | Формирование кадров, управление доступом | Уровень доступа |
Физический уровень | Сетевые платы, кабельная система, модемы | к среде |
Протоколы TCP/IP разделены на 4 уровня (рис.).
Рис. 4.12 Сравнение модели OSI и стека протоколов Internet
§ Уровень сетевого интерфейса (Link). В набор TCP/IP входят несколько простейших протоколов сетевого уровня, например, SLIP (Serial Line Internet Protocol) и РРР (Point-to-Point Protocol). А вот спецификаций физического уровня или сложных протоколов для локальных компьютерных сетей, наподобие Ethernet и Token Ring, TCP/IP не содержит. Поэтому, несмотря на наличие в TCP/IP уровня, подобного канальному уровню OSI, чаще всего протокол, действующий на этом уровне, не входит в набор TCP/IP. Зато в него входит протокол ARP (Address Resolution Protocol), о котором можно сказать, что он (хотя бы частично) действует на канальном уровне, поскольку обслуживает межсетевой уровень, расположенный над канальным.
§ Межсетевой уровень (Internet). Эквивалентен сетевому уровню модели OSI. Главный протокол этого уровня — IP (Internet Protocol). Он предоставляет расположенному над ним транспортному уровню услуги по инкапсуляции данных, маршрутизации, адресации и фрагментации пакетов. На этом же уровне действуют еще два протокола — ICMP (Internet Control Message Protocol) и IGMP (Internet Group Message Protocol). Обратите внимание, что слово «internet» в английском названии этого уровня обозначает именно «межсетевой», а не Интернет. Не путайте два этих термина.
§ Транспортный уровень (Transport). Эквивалент одноименного уровня модели OSI. В наборе TCP/IP на этом уровне действует два протокола — TCP (Transmission Control Protocol) и UDP (User Datagram Protocol), которые выполняют операции по передаче данных, соответственно, ориентированные и не ориентированные на соединение.
§ Прикладной Уровень (Application). Протоколы TCP/IP на этом уровне бывают нескольких видов. Некоторые, например, FTP (File Transfer Protocol), сами являются приложениями, другие, например, HTTP (Hypertext Transfer Protocol), обслуживают приложения.
Протоколы TCP/IP разрабатывались для использования в Интернете и предназначены для поддержки систем на любой компьютерной платформе и с любой ОС.
Стек протоколов TCP/IP разделяется на четыре уровня: сетевого интерфейса, межсетевой, транспортный и прикладной.
Преобразование IP-адресов в аппаратные адреса, необходимые для установки связи протоколами канального уровня, осуществляется с помощью протокола ARP.
Протокол ICMP выполняет ряд функций на межсетевом уровне, в том числе рассылает сообщения об ошибках и запросы на получение информации.
Протоколы прикладного уровня не участвуют в процессе передачи данных, выполняемом нижними уровнями. В их задачу входит организация обмена сообщениями между различными программами и службами, работающими на TCP/IP - компьютерах.