Рассмотрим, как интерпретируются поля адреса (32-битовый адрес отправителя и 32-битовый адрес получателя в предыдущей таблице). Как было упомянуто, сеть представляет собой объединение более мелких сетей (subnets). Все подсети имеют разные коды, но всем устройствам одной подсети соответствует одна и та же часть сетевого адреса. Все 32-битовые IP-адреса принято разделять на 4 класса, которым соответствует свой собственный формат.
High Bits |
Network Address |
Host Address |
Type |
0 |
7 bits |
24 bits |
Class A |
10 |
14 bits |
16 bits |
Class B |
110 |
21 bits |
8 bits |
Class C |
1110 |
0 bits |
28 bits |
Class D |
Местоположение 0 в старших 4 битах определяет класс IP-адреса. Рассмотрим старший байт. Двоичному коду 10000000—соответствует десятичное число 128, коду 11000000—192, а коду 11100000—224. При задании IP-адресов пользуются этими десятичными представлениями реальных двоичных числовых кодов. С учетом этого:
¨ Классу A соответствуют все сетевые адреса, расположенные в диапазоне: от 000.xxx до 127.xxx,
¨ Классу B соответствуют адреса, расположенные в диапазоне: от 128.xxx до 191.xxx,
¨ Классу С — от 192.xxx до 223.xxx,
¨ Классу D — от 224.xxx до 254.xxx.
¨ Класс D делит свой диапазон на 2 группы: multicast addresses и experimental networks. Адреса от 224.xxx до 239.xxx принадлежат группе multicast-адресов, адреса от 240.xxx до 255.xxx—группе эксперментальных сетей.
Всем устройствам одной подсети соответствуют адреса с некоторой общей частью. Ее принято выделять с помощью маски. Допустим, что всем устройствам какой-то одной подсети соответствует маска 255.255.0.0. Здесь верхние 2 байта (255.255) определяют общий адрес подсети. Теперь рассмотрим два сетевых адреса: 130.100.1.6 и 130.100.10.5. Четыре байта каждого из них записаны с помощью 4-х десятичных кодов.
Вопрос. Принадлежат-ли эти адреса одной подсети с маской 255.255.0.0? Ответ. Если наложить на эти адреса маску: 255.255.0.0, то есть найти логическое произведение адреса и маски, применив к ним побитовую операцию &, то мы получим одно и то же число 130.100.0.0. Этот факт означает, что исходные адреса соответствуют одной и той же подсети класса B.
Но для того, чтобы ответить на вопрос, принадлежат-ли они одной и той же (но более мелкой) подсети, надо расширить маску и применить ее к обоим адресам. Например, если задать подсеть маской 255.255.255.0, то ответ будет отрицательным, но если маска, определяющая подсеть, равна 255.255.192.0, то устройства попадают в нее (попадают в одну и ту же часть сети—subnet). Адрес 192.168.x.255 при произвольном х зарезервирован и считается адресом всех подсетей (subnet broadcast address)
Комбинация IP-адреса и номера порта определяет IP endpoint. TCP-сессия уникальным образом определяется комбинацей локального IP endpoint и удаленного IP endpoint. Одно сетевое приложение может управлять несколькими соединениями с одним и тем же local IP endpoint, но разными remote IP endpoint.
Полный пакет может иметь произвольную длину в пределах от 8 байт (64 бит) до 64 килобайт. Но физически один Ethernet-пакет не может быть более 1500 байт. Поэтому длинные IP-пакеты разбивают на фрагменты. По прибытии части одного и того же пакета собираются вместе и блок информации восстанавливается в исходном виде. Технология фрагментации использует три поля IP-пакета (см. выше таблицу IP Layer):
¨ Identification (идентификатор пакета). Все фрагменты одного пакета должны иметь один и тот же идентификатор. Код на стороне получателя использует идентификатор пакета для его восстановления.
¨ Flags (разбит-ли пакет на части).
¨ Fragment offset (расположение фрагмента в пакете).
Поле Flags (3 бита) интерпретируется, как 3 отдельных флага:
¨ Зарезервированный бит (всегда равен нулю).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.