Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sistema_TCP.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
603.97 Кб
Скачать

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

Система 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. Стандартный сетевой пакет

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

Подобно письмам и сообщениям электронной почты, сетевые пакеты могут достичь пункта назначения только при наличии правильного адреса. В системе 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]