Сетевое программирование в .NET. Расшифровка IP-адреса (IP address specification). Обеспечение надежности доставки пакетов, страница 2

Address

Description

01-80-C2-00-00-00

Spanning tree (for bridges)

09-00-09-00-00-01

HP Probe

09-00-2B-00-00-03

DEC Lanbridge Traffic Monitor (LTM)

09-00-2B-00-00-04

DEC MAP End System Hello

09-00-2B-00-00-05

DEC MAP Intermediate System Hello

09-00-2B-00-00-06

DEC CSMA/CD Encryption

09-00-2B-00-00-07

DEC NetBios Emulator

09-00-2B-00-00-0F

DEC Local Area Transport (LAT)

09-00-2B-00-00-1x

DEC Experimental

09-00-7C-02-00-05

Vitalink diagnostics

09-00-7C-05-00-01

Vitalink gateway

Теперь рассмотрим 2-байтовый идентификатор протокола следующего уровня. Здесь также существуют стандартные идентификаторы, определенные в документах IANA. Мы будем рассматривать только один тип протокола. Это—протокол IP с идентификатором 0800, но вот пример некоторых из них.

Value

Protocol

0800

IP

0806

ARP

0BAD

Banyan VINES

8005

HP Probe

8035

Reverse ARP

809B

AppleTalk

80D5

IBM SNA

8137

Novell

8138

Novell

814C

Raw SNMP

86DD

IPv6

876B

TCP/IP compression

Слой IP-заголовка

Следующий слой в иерархии протоколов IP-пакета имеет достаточно сложный формат и определяет множество параметров пакета данных. Он имеет переменную длину, но формат 20-ти байт определен, как показано ниже.

Field

Bits

Description

Version

4

Версия формата заголовка (IP header). Мы рассматриваем версию 4

Header Length

4

Размер заголовка IP-пакета (octets)

Type of Service

8

Запрашиваемый пакетом класс обслуживания (Quality of Service—QoS)

Total Length

16

Длина всего IP-пакета (octets)

Identification

16

Идентификатор пакета (ID value)

Flags

3

Флаг, указывающий разбит-ли пакет на части (fragmented)

Fragment offset

13

Расположение фрагмента в пакете

Time to Live (TTL)

8

Максимальное время жизни пакета в сети

Protocol

8

Тип протокола следующего уровня

Header Checksum

16

Контрольная сумма IP-заголовка

Source Address

32

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

Destination Address

32

Адрес получателя

Options

variable

Поля по выбору (Optional fields). Они определяют другие параметры пакета

Рассмотрим некоторые, наиболее важные поля IP-слоя. Хотя рассмотренные Ethernet-адреса уже позволяют уникально идентифицировать устройства в локальной (LAN) сети, они не годятся для идентификации удаленных устройств. Например, информация в Ethernet-адресе не позволяет определить часть сети, которой он принадлежит. Схема адресации, применяемая в протоколе IP, использует части 32-битного адреса (см. в таблице Адрес отправителя и Адрес получателя) для уточнения параметров адреса. IP-адрес разбит на три части:

¨  Верхние биты идентифицируют схему,

¨  Адрес подсети (сети в рамках общей сети).

¨  Адрес устройства в рамках подсети.

Цепочка верхних битов обрывается нулем и может иметь длину от 1 до 4 бит. Она определяет схему (формат остальных бит 32-битового адреса). Вторая часть адреса уникально идентифицирует подсеть (subnet). Она используется маршрутизаторами (routers) для определения оптимального маршрута. Третья часть уникальным образом идентифицирует узел (устройство) в рамках выбранной части сети (подсети). IP-адрес представлен так, чтобы по его виду можно было определить к какому из 4-х классов он принадлежит.