Протокол TCP/IP

TCP/IP разработан ARPANET (Сеть перспективных исследований и разработок) по заказу министерства обороны США. Предназначен для соединения сетей с разнородным оборудованием, скажем, систем Sun с мэйнфреймами, а мэйнфреймов — с персональными компьютерами. Каждая половина имени протокола "TCP/IP" означает его ориентированность на решение собственной задачи.

Примечание:
Строго говоря, TCP/IP состоит не из двух частей - фактически это набор из нескольких протоколов. Однако аббревиатуры IP и TCP известны лучше всех, так что здесь мы и остановимся на них.

Протокол Internet (IP — Internet Protocol) работает на сетевом уровне, предоставляя различным сетям стандартный набор правил и спецификаций для межсетевой пакетной маршрутизации с помощью IP-адресов. Протокол IP позволяет устанавливать связь, как между локальными сетями, так и между отдельными компьютерами. С другой стороны, протокол управления передачей данных (TCP — Transmission Control Protocol) работает на транспортном уровне модели OSI. Он обеспечивает прием сетевой информации и трансляцию ее в форму, "понятную" сети, и таким образом организует взаимодействие процессов между двумя компьютерами или клиентами. IP можно представить себе как часть, задающую правила установления связи, а TCP – как часть, отвечающую за интерпретацию данных.
Вы можете сами оценить работу TCP/IP по тем задачам, которые он решает. Это транспортный протокол Internet, системы, соединяющей тысячи отдельных компьютеров и сетей по всей планете. Хотя TCP/IP первоначально предназначался для использования университетами и армией, он стал самым популярным протоколом и офисных приложений, так как позволяет соединять локальные сети, UNIX-машины, миникомпьютеры DEC VAX, а также и множество компьютеров иных типов.
Что происходит, если удаленный компьютер Macintosh отсылает данные на персональный компьютер главного офиса? Во-первых, средства протокола TCP обеспечивают установление связи, гарантирующей дуплексный контроль ошибок (контроль ошибок данных в обоих направлениях) между обеими платформами. Во-вторых, IP задает правила установления связи и обеспечивает соединение портов компьютеров. К этому времени в соответствии с TCP подготавливаются данные. Соответствующая программа забирает их, разделяет на меньшие части, если их объем слишком велик, и вставляет в пакет новый заголовок ("адрес пересылки"), чтобы гарантировать правильную доставку пакета. Кроме того, в пакете указывается тип содержащихся данных и их объем. Затем пакет конвертируется в стандартный зашифрованный формат и передается на персональный компьютер главного офиса. Наконец, программа, установленная на персональном компьютере и главном офисе, транслирует шифрованный пакет в собственный формат и соответствии с TCP.
Этот процесс показан на рис. 3.6.
Во многих сетях, разбросанных по всему миру, протокол ТСР/IP используется как стандартный. Это — единственное средство коммуникации, позволяющее связываться рабочим станциям всех типов — PC, Macintosh, UNIX. Кроме того, он необходим для выхода в Internet. TCP/IP работает несколько медленнее NetBEUI, однако издержки производительности компенсируются широкой поддержкой протокола. И действительно, лучше работать несколько медленнее, но иметь возможность связаться со всем миром, чем быстрее, но в пределах небольшой рабочей группы.

Требования к конфигурированию TCP/IP

Один из недостатков протокола TCP/IP состоит в трудности его установки неопытными пользователями, поскольку необходимо задать множество адресов и серверов. Как указывалось ранее, установка адресов протоколов NetBEUI и IPX/SPX не встречает затруднений. При использовании NetBEUI вы назначаете имя компьютера, а при IPX/SPX — идентификатор сети (network identifier) и позволяете системе назначить собственный идентификатор узла (node identifier), основываясь на адресе аппаратных средств сетевой платы компьютера. Однако протокол TCP/IP требует указания множества адресов, а именно:
● локальный IP-адрес;
● IP-адрес сервера DNS (Domain Name Service — служба имен домена), который транслирует легко запоминаемые человеком адреса, например, computer.
company.com, в IP-адреса;
● в сетях Windows NT, использующих имена NetBIOS для идентификации компьютеров, следует указать IP-адрес сервера WINS (Windows Internet Name Service — система присвоения имен Internet для Windows), который транслирует имена NetBIOS в IP-адреса;

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

Если вы уже хоть немного работали в Internet, вероятно, вам знакома концепция IP-адресов. Говоря упрощенно, они представляют собой 32-битовые (четырехбайтовые) числа, которые идентифицируют сетевой компьютер. По сути, это программный адрес компьютера, в отличие от аппаратного адреса, "зашитого" в сетевую плату. В двоичном формате IP-адрес выглядит примерно так:

11000000 01101010 01111110 11000001

В таком виде его нелегко понимать пользователям, за исключением разве что программистов (и компьютеров). Поэтому, исключительно для удобства, IP-адреса обычно записывают в формате октетов, разделенных точками. В этом формате каждый байт из 32 битов номера преобразуется и десятичное число.

192.106.126.193

Каждой сетевой плате, работающей в сети TCP/IP, присваивается уникальный IPадрес, идентифицирующий ее во всей сети, а не только в локальном сегменте.
Откуда берутся эти IP-адреса? Где узнать, какие числа следует включать в них? Ответ зависит от "области охвата" вашей сети. Если вы создаете IP-адреса для локальной сети TCP/IP, которая никогда не будет подключена к Internet, то можете назначать их до некоторой степени произвольно (достаточно помнить, что двум сетевым платам нельзя назначать одинаковый адрес). Если же вы собираетесь подключиться к Internet, необходимо получить уникальные IP-адреса, обратившись в международную организацию InterNIC.
InterNIC - единственная организация, которая уполномочена выделять IP-адреса заинтересованным фирмам и организациям. В первом приближении можно считать, что она выделяет группы IP-адресов, основываясь на размерах организаций. С этой целью InterNIC предоставляет организации конкретные числа для первого байта (первых двух, или трех байтов), а для назначения остальных адресов позволяет организации использовать оставшиеся номера по собственному усмотрению. Так, например, если вы запросили у InterNIC набор адресов Internet, вам могут предоставить набор, скажем, 192. 106. Х. Х. Это означало бы, что все ваши IP-адреса должны начинаться с префикса 192. 106, но вы можете назначить номера (вплоть до 255) по собственному усмотрению остальным двум октетам. Часть, назначенную InterNIC, называют полем сети адреса, а ту, что назначена вами, - полем узла (host portion).

Совет:
Если вас еще не испугала идея самостоятельно назначать IP-адреса каждому компьютеру вашей организации, ужаснитесь сейчас. Вам предстоит не только назначить номера, но также и создать файл, сопоставляющий имена компьютеров < IP-адресами. Этот файл должен поддерживаться и постоянно обновляться на каждом сетевом компьютере. Чтобы упростить задачу, вы можете запустить сервер DHCP (протокол динамического конфигурирования компьютера), чтобы взять IP-адреса из специального буфера, а затем использовать серверы WINS или DNS для преобразования имен в адреса. Серверы WINS работают с именами NetBIOS, a DNS - с доменными именами.

Краеугольный камень адресации Internet заключается в идентификации не собственно компьютера, а подсети, т. е. той части сети, в которую компьютер входит. Это достигается не с помощью внешнего сетевого адреса, как в адресах IPX/SPX, а с масками подсети. Маска подсети — число, которое можно "наложить" на IP-адрес. Если сетевая часть IP-адресов компьютеров совпадает с ней, значит, машины находятся в одной подсети. В противном случае, два IP-адреса относятся к разным подсетям.
Установить связь между двумя компьютерами одной подсети несложно.
О6орудование передает данные (в соответствии с требованиями протокола TCP/IP) с помощью широковещательной передачи, а компьютер, адрес которого совпадает с указанным в пакете IP, принимает данные. Если компьютеру одной подсети необходимо связаться с компьютером в другой, — запрос должен поступить на маршрутизатор, соединяющий подсети. Маршрутизатор просматривает сетевой адрес места назначения, определяет, находится ли он в данной подсети или нет, а затем направляет пакет в следующую подсеть. Затем этот маршрутизатор проверяет IP-адрес места назначения, определяет, находится ли он в данной подсети, и вслед за этим либо передает сообщение с помощью широковещательной передачи, либо снова направляет пакет в следующую подсеть. Эта процедура продолжается обнаружения нужной подсети. Задача маршрутизации весьма сложна (мы вернемся к ней в гл. 5 "Дополнительное сетевое оборудование").
Когда пакет поступает в место назначения, протокол определения адреса (ARP) преобразует IP-адрес в аппаратный адрес сетевой платы. Помимо того, протокол ARP отвечает за трансляцию адресов исходящих данных.

Куда мы двинемся дальше? Часть I - протокол IP версии 6

Internet воплотил предсказания авторов фантастических романов о создании мировой компьютерной сети. Поскольку же эта сеть работает по протоколу TCP/IP, его изменения соответственно отражают и потребности Ной глобальной сети.

Примечание:
В настоящее время используется версия 4 протокола IP. Версии 5 не существует.

В конце 1998 г. протокол IP - часть набора протоколов TCP/IP, отвечающая за маршрутизацию пакетов по сети, - начали адаптировать к изменениям типов передаваемых данных и для улучшения управления возрастающего трафика Internet. Изменения в протоколе позволяют:

● улучшить адресацию, поддерживающую более длинные (до 128 бит) адреса, а также кластерные адреса (cluster address) или групповые адреса (anycast address), идентифицирующие группы узлов сети TCP/IP;
● упростить форматы заголовков, позволяющие компенсировать влияние на сеть укрупненных пакетов IP;
● улучшить поддержку расширений и параметров, включая пробел для пустых расширений с целью облегчения изменения формата пакета (если это понадобится в дальнейшем);
● ввести метки потоков, идентифицирующих потоки пакетов, поступающих с конкретного узла;
● ввести дополнительные расширения, повышающие возможность контроля ошибок и идентификации пользователей, а также (при необходимости) защиту данных.

Подробные сведения о версии 6 протокола IP (IPv6) описаны в RFC 1883. Здесь они приведены частично, в основном, для тех, кто ни за что в жизни не желает конструировать маршрутизаторы.
Повышенная гибкость маршрутизации. Логически IP-адреса совершенно несложны: их число не превышает того, что можно "выжать" из 32 бит, т. е. всего-навсего 4 294 967 296 (около 4 миллиардов - если это вам интересно), а каждое устройство в Internet "требует" собственного IP-адреса, Если принять во внимание, что не все адреса доступны, то это число дополнительно ограничивается следующими причинами:

● Десятичное значение каждого октета 32-битового адреса не превышает 255.
● Многие адреса резервируются для целей, отличных от тех, для которых предназначены обычные IP-адреса. Например, адреса, начинающиеся с 10 в первом октете используются только локально.
● Фирмам и организациям выдают группы адресов, которыми они распоряжаются самостоятельно, независимо от того, нужны они им или нет. Например, все адреса, начинающиеся с 192. 233. х. х принадлежат фирме Novell. И даже если адрес 192.
233. 54. 5 в ней не используется, никто, кроме Novell, не сможет им воспользоваться.

Для уменьшения числа необходимых IP-адресов предпринималось несколько попыток (серверы DHCP для временного выделения адресов, CIDR и т. п. ). Однако число пользователей Internet растет, и вскоре потребуются 128-битовые адреса. Я не прорицатель, и это нравится мне точно так же, как необходимость звонить по телефонному номеру из 10 цифр, но, тем не менее, 128-битовые IP-адреса необходимы точно так же, как телефонные номера из 10 цифр - более краткие идентификаторы уже непригодны.
Для облегчения адресации пакетов группам пользователей (не обязательно подсетям или сетям) предусматривается использование групповых адресов (anycast address). Вместо отсылки пакетов индивидуально каждому члену группы, вы должны будете отсылать их кластеру, который представляет собой логическую, а не физическую группу.

Примечание:
Групповые адреса (anycast addresses) заменят широковещательные адреса (broadcast address), использование которых предусмотрено протоколом IPv4.

Метки потоков (Flow labelling). Удлинение адресов может причинить неудобства пользователям, которым придется их вводить, однако упростит идентификацию компьютеров Internet. Другая проблема Internet, вызывающая беспокойство, — трафик.
На заре своего появления Internet поддерживала небольшой трафик. Большую часть данных, передаваемых по сети, составляли файлы и сообщения электронной почты. Однако со временем характер трафика изменился. Теперь он состоит из поддержки групп новостей и досок объявлений, позволяющих посылать сообщения на всеобщее обозрение. Появились комнаты для переговоров (chat rooms) и Web. Кроме того, в настоящее время стали возможны и телефонные переговоры по Internet. Загрузка данными продолжает расти, и это вызвано ростом числа служб и пользователей — они сами по себе загружают трафик значительно больше, чем передача файлов.
Однако представьте себе на мгновение, что Internet — это множество сетей, соединенных маршрутизаторами. Маршрутизаторы рассматриваются в гл. 5 "Дополнительное сетевое оборудование". Каждый маршрутизатор отвечает за идентификацию наилучшего пути передачи данных по месту назначения. С этой целью он должен идентифицировать место назначения каждого принятого пакета, т. е. открыть и исследовать множество пакетов. Так вот, в пакете IPv6 есть поле, где можно указать конкретный поток, к которому относится пакет. Идея такова: если маршрутизатор установит, что пакет является частью потока пакетов, следующих в одно и то же место, ему фактически нет нужды определять, где находится это место, после того, как он исследует первый же пакет в проходящей группе (flow group).

Примечание:
По умолчанию маршрутизатор должен "помнить" метку потока в течение шести секунд, однако это время можно увеличить вручную.

Приоритет пакета. Иногда трафик Internet может стать настолько тяжелым, что пакет может "погибнуть". Как правило, пакеты отбрасываются без учёта их важности. Однако пакетам IPv6 можно присваивать приоритеты в соответствии с назначением.
Значения приоритетов разделены на два диапазона: 0—7 и 8—15. При перегрузке сети пакеты с низшим приоритетом (номером) в пределах данного диапазона отбрасываются в первую очередь, причем каждый диапазон рассматривается отдельно. Иными словами, пакет с приоритетом 6 не обязательно отбрасывается ранее пакета с приоритетом 8, поскольку пакет с приоритетом 6 в пределах своего диапазона имеет высший приоритет.
Значения приоритетов 0—7 используют для указания приоритета трафика, для которого источник обеспечивает контроль перегрузки (congestion control), т. е. трафик, использующий протокол высшего уровня (например, TCP) для отслеживания способности системы управлять потоком данных, при перегрузке системы прерывается. Ниже приведены значения приоритетов трафика с контролем перегрузки, предусмотренные спецификацией IPv6.

0 - трафик без приоритета.
1 - трафик - "заполнитель" ("Filler" traffic) (сетевые новости).
2 - необслуживаемая передача данных (электронная почта).
4 — обслуживаемая передача большого объема данных (FTP, NFS), 6 — интерактивный трафик (telnet, протокол дисплея).
7 — управляющий трафик Internet (маршрутизирующие протоколы, SNMP).

Примечание:
Приоритеты 3 и 5 зарезервированы на будущие категории.

Значения 8—15 используют для указания приоритета трафика, который не прерывается в ответ на перегрузку. К нему относятся пакеты речевой и видеоинформации, отсылаемые с постоянной скоростью. Они не отмечены в спецификации, но, как правило, более важная информация (скажем, слабо различимый голос) должна иметь приоритет выше, чем информация, которая при передаче имела бы превосходное качество, но малосущественна (скажем, высококачественная видеоинформация).
Поддержка крупнейших пакетов. Среди прочих расширений (extensions), предназначенных для улучшения "отклика" IPv6 на условия работы в Internet, можно отметить те, которые позволяют увеличить размер пакетов IP, т. е. нести больший объем полезных данных по сравнению с IPv4. Это весьма полезная возможность, поскольку применение крупных пакетов позволяет передать данные с помощью меньшего числа пакетов, что, в свою очередь, уменьшает задержку при маршрутизации пакетов.

Куда мы двинемся дальше? Часть II - миграция к IPv6

Как вы заметили, текущая реализация протокола IP значительно отличается от той, что маячит на горизонте. Без использования новых параметров, таких как приоритеты и управление потоками, адресация пакетов была бы значительно сложней. Если же в пакете этих установок не существует, новые возможности игнорируются. Переход на новый протокол не происходит автоматически. Не думайте, что одним прекрасным утром вы обнаружите, что все узлы вашей сети обновились до IPv6.
Задача перехода от IPv4 к IPv6 отнюдь не проста. В настоящее время открылись курсы, на которых обучают решению этой проблемы и, кроме того, можно использовать некоторые сетевые ресурсы. Лучшие из них находятся по адресу http://www.emos.be/ ccexist/etg071/gintrod.htm - INICIO.

He вдаваясь в детали, укажу четыре метода перехода сети на протокол IPv6.

● Поддержка обоих протоколов.
● Включение в один пакет адресов для обоих протоколов.
● Создание туннеля IPv6 посредством протокола IPv4.
● Трансляция заголовков с тем, чтобы узлы IPv6 могли связываться с узлами IPv4.

Примечание:
Вы не понимаете, что все это значит? Туннелирование рассматривается в гл. 6 "Общие сведения о глобальных сетях", трансляция заголовков - при обсуждении мостов в гл. 5 "Дополнительное сетевое оборудование".

Если же вы решитесь пройти весь этот путь, вам придется обновить всю сеть в следующем порядке.
1. Обновить сервер DNS для поддержки новых адресов.
2. Обновить узлы для поддержки как IPv4, так и IPv6.
3. Развернуть обновленные узлы.
4. Обновить область (сегмент сети) для полного перехода на протокол IPv6, причем оба протокола должны поддерживать только граничные маршрутизаторы.
5. Обновить маршрутизаторы для полного перехода на протокол IPv6.
6. Развернуть новые маршрутизаторы.

Итак, вы обновляете систему определения имен, а затем, работая "изнутри", распространяете IPv6 по всей сети, причем по ходу процесса обеспечиваете совместимость протоколов. 

Смотрите также

Реализация сети
Итак, наконец-то вы готовы применить (и сохранить) сделанные изменения. Если это возможно, завершите выполнение этой задачи или где-нибудь в стороне от большинства клиентов сети, или тогда, когда вс ...

Установка и конфигурирование сетевых плат
Итак, кабели проложены. Теперь можно их к чему-нибудь присоединить. Если вы не знакомы с монтажом и конфигурированием кабельной сети, продолжайте читать далее и узнайте о том, как в компьютер устан ...

Сетевые операционные системы клиент/сервер
С точки зрения пользователя, важнейшей частью сети, безусловно, являются клиенты, а не серверы. Как следует из самого слова "сервер" (обслуживающее устройство), сам смысл существования сер ...