Протокол управления передачей/Протокол Internet (TCP/IP) - это набор протоколов, который задает стандарты связи между компьютерами и содержит подробные соглашения о маршрутизации и межсетевом взаимодействии. TCP/IP широко применяется в Internet, поэтому с его помощью могут общаться пользователи из исследовательских институтов, школ, университетов, правительственных учреждений и промышленных предприятий.
TCP/IP обеспечивает связь подключенных к сети компьютеров, обычно называемых хостами. Любую сеть можно подключить к другой сети и организовать связь с ее хостами. Несмотря на то, что существуют различные сетевые технологии, многие из которых основаны на коммутации пакетов и потоковом режиме передачи, набор протокол TCP/IP обладает одним важным преимуществом: он обеспечивает аппаратную независимость.
Так как в протоколах Internet определяется только блок передачи и способ его отправки, TCP/IP не зависит от особенностей сетевого аппаратного обеспечения, позволяя организовать обмен информацией между сетями с различной технологией передачи данных. Система IP-адресов позволяет установить соединение между любыми двумя машинами сети. Кроме того, в TCP/IP также определены стандарты для многих служб связи, предназначенных для конечных пользователей.
TCP/IP обеспечивает средства, позволяющие вашему компьютеру выступать в роли хоста Internet, который может подключиться к сети и установить соединение с любым другим хостом Internet. В TCP/IP предусмотрены команды и средства, которые позволяют выполнять следующие действия:
Примечание: В TCP/IP предусмотрены только основные функции управления сетью. По сравнению с TCP/IP, Простой протокол управления сетью (SNMP) предоставляет более широкий набор команд и функций управления.
Локальные сети предназначены для обслуживания определенной группы пользователей. Например, сеть университета обычно представляет собой несколько сотен хостов различных типов, предназначенных как работы студентов, так и для проведения исследований. В то же время для компании по производству компьютеров, лаборатории которой расположены по всей стране, нужна сеть, состоящая из большого числа высокопроизводительных рабочих станций. В обоих случаях системные администраторы и программисты выбирают аппаратное обеспечение и протоколы связи исходя из стоящих перед ними задач.
Однако из-за того, что потребность в сетях постоянно изменяется, никогда нельзя говорить об окончательной конфигурации сетевой системы. В целом сети разделяются на две категории, а именно на локальные и глобальные сети. В локальных сетях (LAN) скорость передачи данных обычно выше, чем в глобальных, но размер таких сетей ограничен. Скорость передачи данных в глобальных сетях (WAN) обычно ниже, чем в LAN, но с их помощью можно установить соединение с хостом, находящимся в любой точке планеты. Для того чтобы обеспечить локальным хостам доступ в удаленную сеть, независимо от аппаратного обеспечения и конфигурации этой сети, был создан Протокол Internet.
В 1970-х и начале 1980-х годов Управление перспективных исследований и разработок (ARPA) Министерства обороны США финансировало проект по созданию набора стандартов связи между компьютерами. Эти стандарты должны были содержать соглашения о межсетевом взаимодействии, отправке и приеме информации, а также передаче данных. С тех пор стандарты ARPA стали применять многие крупные исследовательские институты, в том числе Национальный фонд поддержки науки, Министерство энергетики, Агентство по аэронавтике и исследованию космического пространства, а также их клиенты. Эти стандарты называются Протокол управления передачей/Протокол Internet.
По сравнению с предыдущими вариантами межсетевых протоколов, предоставлявшими весьма ограниченный набор возможностей, TCP/IP обеспечивает следующие преимущества:
Создатели TCP/IP стремились заполнить пробелы, оставленные предшествующими протоколами. В дальнейшем набор протоколов TCP/IP будет дополняться и изменяться вместе с изменением требований, предъявляемых к сетям.
Перед тем, как продолжить изучение TCP/IP, ознакомьтесь с основными
понятиями Internet, которые часто встречаются в этой книге:
В любой сетевой среде каждый хост должен следовать определенным правилам (называемым протоколами), которые позволяют другим хостам получать и интерпретировать отправленные им сообщения. TCP/IP поддерживает комплект протоколов, каждый из которых реализует какую-либо службу. Эти протоколы позволяют устанавливать сетевые соединения независимо от типа аппаратного обеспечения.
Комплект протоколов TCP/IP разделен на следующие группы:
Небольшие блоки данных, которые передаются через Internet, называются пакетами. Протоколы разбивают всю информацию на небольшие порции, которые называются дейтаграммами, добавляют к ним заголовки, а затем передают дейтаграммы по сети получателю. В данной книге понятие дейтаграмма будет употребляться при описании протоколов Internet, а понятие пакет - при описании протоколов физического уровня. Однако в промышленной терминологии эти термины иногда считаются синонимами.
Для того чтобы обеспечить надежность соединений, каждому хосту Internet выделяется по крайней мере один IP-адрес. Этот 32-разрядный адрес применяется протоколами для маршрутизации (пересылки) пакетов по сети TCP/IP от источника к получателю. Каждому сетевому интерфейсу в сети Internet присваивается собственный уникальный адрес. У компьютера-шлюза, соединяющего различные сети, может быть несколько IP-адресов. Пакет, который передается по сети, содержит IP-адреса компьютера-отправителя и компьютера-получателя. IP-адрес одновременно задает адрес сети и адрес локального хоста.
У каждого компьютера (или хоста) сети Internet есть по крайней мере одно имя хоста Internet. Кроме того, у хоста может быть несколько псевдонимов. В TCP/IP имена преобразуются в адреса Internet с помощью файла /etc/hosts или удаленного сервера имен.
С помощью маршрутизации информация передается от хоста-отправителя к хосту-получателю. В TCP/IP применяется два типа маршрутизации: статическая и динамическая. На хостах Internet можно определить статические маршруты до основных хостов-получателей. Если маршрут к хосту-получателю не задан в таблицах маршрутизации, то его можно определить динамически с помощью демонов маршрутизации.
Если необходимо соединить между собой две сети, это можно сделать с помощью специального компьютера, называемого шлюзом. Этот компьютер должен быть физически подключен к обеим сетям. Шлюз хранит сведения о маршрутах и адресах каждого хоста своей сети, может обменивается информацией о маршрутах с другими шлюзами с помощью демонов маршрутизации. TCP/IP доставляет информацию нужному компьютеру сети благодаря адресу, который содержится в пакете или потоке информации.
Для команд, служб и приложений в TCP/IP предусмотрено два типа доставки сообщений: доставка сообщений без установления соединения и более надежная доставка в режиме потока. Эти две транспортных службы составляют основу Internet и TCP/IP.
Протокол пользовательских дейтаграмм (UDP) в TCP/IP предназначен для доставки пакетов без установления соединения. Сразу же после отправки пакета данных по сети UDP считает этот пакет доставленным получателю. Такой тип доставки считается ненадежным, так как адрес и маршрут для каждого пакета задаются независимо.
Протокол управления передачей (TCP) предназначен для надежной доставки в режиме потока. Такой тип доставки предназначен для установления соединения между двумя приложениями на разных компьютерах. Этот тип соединения позволяет обмениваться большими потоками данных. В действительности поток состоит из отдельных пакетов, которые последовательно отправляются компьютеру-получателю.
Протокол TCP считается надежным, так как, в отличие от UDP, после получения каждого пакета получатель посылает уведомление о его приеме. TCP уведомляет отправителя, что сообщение доставлено получателю. TCP обеспечивает защиту от ошибок передачи, утери пакетов или сбоя промежуточного хоста маршрута.
Интерфейс прикладных программ (API) для сокетов предназначен для разработки программ с помощью компонентов TCP/IP. API для сокетов поддерживают три способа доставки сообщений: надежная доставка в режиме потока, доставка дейтаграмм без установления соединения и доставка с помощью сокетов.
Библиотечные процедуры протоколов (например, tcpm, tcp и udp), которые поддерживались в предыдущих выпусках операционной системы, в данном выпуске не поддерживаются. Все приложения TCP/IP должны создаваться с помощью API для сокетов.
Примечание: API для сокетов выполняет функции интерфейса прикладных программ TCP/IP.
Пользовательская команда mail, пользовательские команды обработки сообщений (MH) и команда сервера sendmail могут применять TCP/IP для передачи сообщений между системами, а основные сетевые утилиты (BNU) могут применять TCP/IP для передачи файлов и команд между системами.