Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Пакеты и их инкапсуляция



Система TCP/IP и Интернет

TCP/IP — это сетевая система (networking system), лежащая в основе Интернета. Сис­ тема TCP/IP не зависит ни от аппаратного обеспечения, ни от операционной системы, поэтому все устройства, использующие протоколы TCP/IP, могут обмениваться данны­ ми (“взаимодействовать”), несмотря на различия.

Система TCP/IP работает в сетях любого размера и любой топологии, независимо от того, соединены они с внешним миром или нет. В этой главе протоколы TCP/IP рассма­ триваются в политическом и техническом аспектах, связанных с Интернетом, но изоли­ рованные сети на уровне протоколов TCP/IP очень похожи друг на друга.

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

Прародительницей Интернета была сеть ARPANET, организованная в 1969 году Министерством обороны США. К концу 1980-х годов эта сеть перестала быть научно- исследовательской и наступила эра коммерческого Интернета. В настоящее время Ин­ тернет представляет собой совокупность частных сетей, принадлежащих провайдерам интернет-услуг (ISP — internet service provider) и соединяющихся в так называемых “точ­ ках обмена трафиком” (peering center).

 

Версии IPv4 и IPv6

В течение последних трех десятилетий широкое распространение получила четвертая версия протокола TCP/IP, известная также под именем IPv4. Она использует четырех­ байтовые IP-адреса. Современная версия, IPv6, расширила адресное пространство до 16 байт, а также учла опыт использования версии IPv4. В нее не были включены воз­ можности протокола IPv4, которые оказались не очень нужными. Это позволило уско­ рить работу протокола и облегчило его реализацию. Кроме того, версия IPv6 объединила системы безопасности и аутентификации в рамках одного базового протокола.

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

Разработка протокола IPv6 была в большой степени мотивирована беспокойством о том, что адресное пространство протокола IPv4 практически исчерпано. Это действи­ тельно так: прогнозы показывают, что современная система выделения адресов в про­ токоле IPv4 примерно в 2011 году испытает коллапс. (См. сайт ipv4.potaroo.net, который обновляется ежедневно.) И все же адаптация протокола IPv6 в Интернете в ближайшее время не предвидится.

Более вероятно, что организации ISP и ICANN (точнее, их филиал IANA (Internet Assigned Numbers Authority — Администрация адресного пространства Интернета)) предпримут временные меры по усилению господства протокола IPv4 в течение несколь-

3 Компания Google на конференции RIPE 57г которая проходила в октябре 2008 года, отмети­ ла, что степень внедрения версии IPv6 (не возможности ее поддержки, а реального использования) равна 0,24%. Нет ни одной страны, в которой степень внедрения версии IPv6 превысила бы 0,76%.

ких следующих лет. Мы ожидаем увеличения степени использования протокола IPv6 в Интернете, но, за исключением крупных провайдеров интернет-услуг, академических сайтов и универсальных провайдеров вроде компании Google, протокол IPv6 в ближай­ шем будущем не повлияет на работу большинства системных администраторов.

Дефицит адресов в рамках протокола IPv4 особенно остро ощущается за пределами США, поэтому там протокол IPv6 ожидает более теплый прием. В США резкому росту внедрения протокола IPv6 может способствовать потрясающее приложение: новое поко­ ление мобильных телефонов, отображающих адрес IPv6 в телефонный номер. (Системы голосовой связи через Интернет также получат выгоду от более тесного соответствия телефонных номеров и адресов IPv6.)

В книге мы сосредоточились на протоколе IPv4, поскольку именно он является основной версией протокола TCP/IP. Все, что касается версии IPv6, мы выделяем явным образом. К счастью для системных администраторов, версии IPv4 и IPv6 очень похожи. Если вы знаете протокол IPv4, то вы знаете большую часть того, что вам следует знать о протоколе IPv6. Основное различие между этими версиями заключается в том, что они используют разные схемы адресации. В версии IPv6 использовано несколько новых кон­ цепций адресации и несколько новых обозначений. Вот и все.

 

Пакеты и их инкапсуляция

Система TCP/IP располагает средствами поддержки целого ряда физических сетей и транспортных систем, включая технологии Ethernet, Token Ring, MPLS (Multiprotocol Label Switching), беспроводную технологию Ethernet, а также системы с последователь­ ными соединениями. Управление аппаратными устройствами осуществляется на каналь­ ном уровне архитектуры TCP/IP, а протоколам более высоких уровней неизвестно, как именно используются аппаратные средства.

Данные передаются по сети в виде пакетов, которые имеют максимальный размер, определяемый ограничениями канального уровня. Каждый пакет состоит из заголовка и полезного содержимого. Заголовок содержит сведения о том, откуда прибыл пакет и куда он направляется. В него могут также включаться контрольные суммы, информа­ ция, характерная для конкретного протокола, и другие инструкции, касающиеся обра­ ботки пакета. Полезное содержимое — это данные, подлежащие пересылке.

Название базового блока передачи данных зависит от уровня протокола. На каналь­ ном уровне это кадр, или фрейм, в протоколе IP — пакет, а в протоколе TCP — сегмент. Мы будем придерживаться универсального термина “пакет”.

Готовящийся к отправке пакет передается вниз по стеку протоколов, и каждый про­ токол добавляет в него собственный заголовок. Сформированный пакет одного прото­ кола становится полезным содержимым пакета, генерируемого следующим протоколом. Эта операция называется инкапсуляцией. На принимающей стороне инкапсулированные пакеты восстанавливаются в обратном порядке при прохождении вверх по стеку.

Например, датаграмма (пакет UDP), передаваемая по сети Ethernet, упакована в трех различных “конвертах”. В среде Ethernet она “вкладывается” в простой физический фрейм, заголовок которого содержит сведения об аппаратных адресах отправителя и ближайшего получателя, длине фрейма и его контрольной сумме (CRC). Полезным содержимым Ethemet-фрейма является IP-пакет. Полезное содержимое IP-пакета — это UDP-пакет, и, наконец, полезное содержимое UDP-пакета состоит из собственно дан­ ных, подлежащих передаче. Компоненты такого пакета изображены на рис. 14.2.

 

 

Заголовок Ethernet Заголовок IPv4 Заголовок UDP Данные приложения Ethernet CRC
14 байт 20 байт 8 байт 100 байт 4 байт

UDP пакет (108 байт) IPv4 пакет (128 байт)

Ethernet фрейм (146 байт)

Рис. 14.2. Стандартный сетевой пакет

 

Адресация пакетов

Подобно письмам и сообщениям электронной почты, сетевые пакеты могут достичь пункта назначения только при наличии правильного адреса. В системе TCP/IP исполь­ зуется сочетание нескольких схем адресации.

• Адреса MAC (media access control) для использования в сетевом оборудовании.

• Сетевые адреса протоколов IPv4 и IPv6 для использования в программном обе­ спечении.

• Имена компьютеров для использования пользователями.

Аппаратная адресация (MAC)

Каждый сетевой интерфейс компьютера имеет один МАС-адрес канального уров­ ня, который отличает его от других компьютеров в физической сети, а также один или несколько IP-адресов, идентифицирующих интерфейс в глобальной сети Интернета. Последнее утверждение стоит повторить: IP-адрес идентифицирует сетевые интерфейсы, а не машины. (Для пользователей это различие не имеет значения, но администраторы должны об этом знать.)

Самый нижний уровень адресации задается сетевыми аппаратными средствами. Например, Ethernet-устройствам в процессе изготовления назначаются уникальные

Шестибайтовые аппаратные адреса. Эти адреса традиционно записываются в виде ряда двухцифровых шестнадцатеричных байтов, разделенных двоеточиями, например 00:50:8D:9A:3B:DF.

Сетевые платы Token Ring также имеют шестибайтовые адреса. В некоторых сетях с двухточечным соединением (например, в РРР-сетях) аппаратные адреса вообще не нуж­ ны: адрес пункта назначения указывается непосредственно при установке соединения.

Шестибайтовый Ethernet-адрес разбивается на две части: первые три байта опреде­ ляют изготовителя устройства, а последние три — выступают в качестве уникального серийного номера, назначаемого изготовителем. Системные администраторы могут вы­ яснить марку устройства, вызывающего проблемы в сети, поискав трехбайтовый иденти­ фикатор соответствующих пакетов в таблице идентификаторов изготовителей. Текущая таблица доступна по адресу

http://www.iana.org/assignments/ethernet-numbers.

Трехбайтовые коды на самом деле представляют собой идентификаторы OUI (Orga­ nizationally Unique Identifier — уникальный идентификатор организации), присваивае­ мые организацией IEEE, поэтому их можно найти непосредственно в базе данных IEEE по адресу

http://standards.ieee.org/regauth/oui.

Разумеется, отношения между производителями микросхем, компонентов и систе­ мы носят сложный характер, поэтому идентификатор изготовителя, закодированный в МАС-адресе, может ввести пользователя в заблуждение.

Теоретически, аппаратные адреса Ethernet должны назначаться на постоянной основе и оставаться неизменными. К сожалению, некоторые сетевые платы допуска­ ют программное задание аппаратных адресов. Это удобно при замене испорченных компьютеров или сетевых карт, МАС-адрес которых менять по тем или иным причи­ нам нежелательно (например, если его фильтруют все ваши коммутаторы, если ваш DHCP-сервер выдает адреса на основе МАС-адресов или МАС-адрес был использован как лицензионный ключ для программного обеспечения). Фальсифицируемые МАС- адреса могут также оказаться полезными, если вам необходимо проникнуть в беспро­ водную сеть, использующую механизм управления доступом на основе МАС-адресов. Однако, чтобы не усложнять ситуацию, мы рекомендуем сохранять уникальность МАС- адресов.

IP-адресация

На следующем, более высоком, уровне используется Интернет-адресация (чаще на­ зываемая IР-адресацией). IP-адреса глобально уникальны5 и аппаратно независимы.

Соответствие между IP-адресами и аппаратными адресами устанавливается на ка­ нальном уровне модели TCP/IP. В сетях, поддерживающих широковещательный режим (т.е. в сетях, позволяющих адресовать пакеты “всем компьютерам данного физического сегмента”), протокол ARP обеспечивает автоматическую привязку адресов без вмеша­ тельства системного администратора. В протоколе IPv6 МАС-адреса интерфейсов мож-

5 В принципе IP-адреса идентифицируют конкретный и уникальный пункт назначения. Однако в особых случаях ситуация усложняется. Механизм NAT (Network Adrresses Translation — преобразование сетевых адресов) использует IP-адреса интерфейсов для того, чтобы обработать трафик на нескольких машинах. Пространство частных IP-адресов присваивает адреса нескольким сайтам, которые могут использовать их одновременно, поскольку они не видимы в Интернете. Адресация в методе Anycast распределяет один и тот же адрес среди нескольких машин.

504 Часть II. Работа в сети

но использовать как часть IP-адресов, благодаря чему преобразование IP-адресов в ап­ паратные адреса становится практически автоматическим.

Подробнее о протоколе ARP рассказывается в разделе 14.6.

“Адресация” имен машин

Поскольку IP-адреса представляют собой длинные, на первый взгляд, случайные чис­ ла, запоминать их трудно. Операционные системы позволяют закреплять за IР-адресом одно или несколько текстовых имен, чтобы вместо 128.9.160.27 пользователь мог ввести “rfc-editor.org”. В системах UNIX и Linux это отображение можно осуществить с помощью статического файла (/etc/hosts), базы данных LDAP и, наконец, DNS (Domain Name System) — глобальной системы доменных имен. Следует помнить о том, что имя компьютера — это лишь сокращенный способ записи IP-адреса, и он относится к сете­ вому интерфейсу, а не компьютеру.

Подробнее о глобальной системе DNS рассказывается в главе 17.

Порты

IP-адреса идентифицируют сетевые интерфейсы компьютера, но они недостаточно конкретны для идентификации отдельных процессов и служб, многие из которых могут активно использоваться в сети одновременно. Протоколы TCP и UDP расширяют кон­ цепцию IP-адресов, вводя понятие порта. Порт представляет собой 16-разрядное число, добавляемое к IP-адресу и указывающее конкретный канал взаимодействия. Всем стан­ дартным службам, в частности электронной почте, FTP и HTTP, назначаются “хорошо известные” порты, которые определены в файле /etc/services.6 Для того чтобы пре­ дотвратить попытки посторонних процессов замаскироваться под стандартные службы, системы UNIX предоставляют доступ к портам с номерами до 1024 только процессам пользователя root. (Взаимодействовать с сервером через порты с небольшими номера­ ми может кто угодно; ограничение распространяется лишь на программы, прослуши­ вающие этот порт.)

Типы адресов

В протоколе IP поддерживается несколько типов адресов, некоторые из которых имеют эквиваленты на канальном уровне.

• Направленные (unicast) — адреса, которые обозначают отдельный сетевой интер­ фейс.

• Групповые (multicast) — адреса, идентифицирующие группу узлов.

• Широковещательные (broadcast) — адреса, обозначающие все узлы локальной сети.

• Альтернативные (anycast) — адреса, обозначающие любой из группы узлов.

Режим группового вещания используется, к примеру, в видеоконференциях, где одна и та же последовательность пакетов посылается всем участникам конференции. Прото­ кол IGMP (Internet Group Management Protocol — протокол управления группами узлов Интернета) отвечает за управление совокупностями узлов, идентифицируемыми как один обобщенный адресат.

6 Полный список присвоенных портов можно найти на веб-странице iana.org/assignments/port-numbers.

Глава 14. Сети TCP/IP 505

Групповые адреса в настоящее время в Интернете практически не используются. Тем не менее они были использованы в протоколе IPv6, в котором широковещательные адре­ са, по существу, представляют собой специализированную форму групповой адресации.

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

Большинство деталей механизма альтернативных адресов скрыто на уровне маршру­ тизации, а не на уровне протокола IP. Благодаря альтернативной адресации произошло реальное ослабление традиционных требований, чтобы IP-адреса однозначно иденти­ фицировали пункт назначения. С формальной точки зрения, альтернативная реализация предназначена для протокола IPv6, но аналогичный трюк можно осуществить и в про­ токоле IPv4, например, так, как это сделано для корневых серверов имен DNS.

 

IP-адреса

За исключением групповых адресов, адреса Интернета состоят из двух частей: сетевой и машинной. Сетевая часть идентифицирует логическую сеть, к которой относится адрес, а машинная — узел этой сети. В протоколе IPv4 адреса состоят из четырех байтов, а гра­ ница между сетевой и машинной частями устанавливается административно. В протоко­ ле IPv6 адреса состоят из 16 байт, а сетевая и машинная части всегда состоят из 8 байт.

В протоколе IPv4 адреса записываются в виде группы десятичных чисел (по одному на каждый байт), разделенных точками, например 209.85.171.147. Самый левый байт — старший; он всегда относится к сетевой части адреса.

Если первым байтом адреса является число 127, то оно обозначает интерфейс обрат­ ной связи (“loopback network”) — фиктивную сеть, не имеющую реального аппаратного интерфейса и состоящую из одного компьютера. Адрес 127.0.0.1 всегда ссылается на текущий компьютер. Ему соответствует символическое имя “localhost”. (Это еще одно небольшое нарушение требования уникальности IP-адресов, поскольку каждый компью­ тер интерпретирует адрес 127.0.0.1 как адрес другого компьютера, хотя этим компью­ тером является он сам.)

Адреса в протоколе IPv6 и их текстовые эквиваленты являются немного более слож­ ными. Они будут рассмотрены далее в подразделе “Адресация в протоколе IPv6”.

IP-адрес и другие параметры сетевого интерфейса задаются командой ifconfig. Она описывается в разделе 14.10.

Классы адресов в протоколе IPv4

Исторически IP-адреса группировались в классы, которые определялись на осно­ вании первых битов самого левого байта. Классы отличались распределением байтов адреса между сетевой и машинной частями. Современные маршрутизаторы используют явные маски для задания сетевой части адреса, причем компоненты адреса могут раз­ деляться не обязательно по границе байтов. Тем не менее традиционные классы все еще используются по умолчанию, если не предоставлена явная маска.

Классы А, В и С обозначают обычные IP-адреса, а классы D и Е применяются при групповой адресации и в исследовательских целях. В табл. 14.2 представлены характери­ стики каждого класса адресов. Сетевая часть адреса помечена буквой С, а машинная — буквой М.

506 Часть II. Работа в сети

Таблица 14.2. Классы IP-адресов

Класс Первый байта Формат Комментарии

А 1-126 С.М.М.М Самые первые сети или адреса, зарезервированные для Министерства обороны США

В 128-191 С.С.М.М Крупные организации, обычно с подсетями; адреса данного класса почти полностью заняты

С 192-223 С.С.С.М Небольшие организации; адреса данного класса получить легко, они выделяются целыми блоками

D 224-239 — Групповые адреса; не назначаются на постоянной основе

Е 240-255 — Экспериментальные адреса

а Значение 0 не используется в качестве первого байта обычных IP-адресов. Значение 127 зарезервировано для адресов обратной связи.

В редких случаях в состав локальной сети входит более ста компьютеров. По этой причине полезность адресов класса А или В (которые допускают наличие в одной сети, соответственно, 16777214 и 65534 узлов) весьма сомнительна. К примеру, 127 адресов класса А занимают половину доступного адресного пространства. Кто же знал, что адресное пространство протокола IPv4 станет таким ценным!

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.