125
вой адрес (multicast) — указывает на группу хостов, принадлежащей к группе адресации.
Классы сетей
Интернет-адреса распределяются организацией InterNIC по классам (см. рис. 6.11). Наиболее распространены классы A, B и C. Классы D и E существуют, но обычно не используются конечными пользователями. Каждый из классов адресов имеет свою маску подсети по умолчанию. Определить класс IP-адреса можно по его первому октету:
Сети класса A имеют в первом октете значение от 0 до 127, что позволяет адресовать 27 – 1 = 127 сетей и 16 777 216 узлов:
0 |
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
Network ID |
|
|
|
|
|
|
|
|
|
|
|
|
Host ID |
||||||||||||
IP-адреса:0.0.0.1 — 126.255.255.254
Subnet Mask: 255.0.0.0
Broadcast IP:0-126.х.х.255
Сети класса B имеют в первом октете значение от 128 до
191.Что определяет 14 бит для адреса сети и позволяет задавать адреса 214 = 16 384 сетей и 65 535 хостов:
1 |
0 |
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Network ID |
|
|
|
|
|
|
|
Host ID |
|||||||||||||||||||||
|
|
IP-адреса:128.0.0.0 — 191.255.255.254 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
Subnet Mask: 255.255.0.0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
Broadcast IP:128-191.х.255.255 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
Сети класса C имеют в первом октете значение от 192 до |
|||||||||||||||||||||||||||||||
223. В адресе сети класса C 21 бит отводится под адрес сети и 8 бит — под адрес хоста. Сетей этого класса может быть 221 = = 2 097 152, а узлов — всего 254:
1 |
1 |
0 |
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Network ID |
|
|
|
|
|
|
|
|
|
|
|
|
Host ID |
||||||||||||
IP-адреса:192.0.0.0 — 223.255.255.254 Subnet Mask: 255.255.255.0
Broadcast IP:191-223.255.255.255
Сети класса D (224.0.0.0 — 239.255.255.255) планирова-
лось использовать для групповой адресации, они практически не используются, и имеют специфический формат:
|
|
|
|
|
|
|
|
126 |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
. |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Group ID идентификатор группы (multicast)
Сети класса E (240.0.0.0 — 247.255.255.255) зарезервиро-
ваны и нигде не используются.
Маска подсети
Следующий элемент, необходимый для работы протокола
TCP/IP, — это маска подсети (subnet mask). Протокол TCP/IP
использует маску подсети, чтобы определить, в какой сети находится узел: в локальной подсети или удаленной сети.
Впротоколе TCP/IP части IP-адреса, используемые в качестве адреса сети и узла, не зафиксированы, следовательно, указанные выше адреса сети и узла невозможно определить без наличия дополнительных сведений. IP-адрес 192.168.123.132, например, разделяется на следующие две части: 192.168.123.0 — адрес сети. 0.0.0.132 — адрес узла при помощи маски подсети 255.255.255.0. Чтобы понять использование масок подсетей для распознавания узлов, сетей и подсетей достаточно представить маску в двоичном обозначении:
11111111.11111111.11111111.00000000.
При помощи маски подсети, можно выделить в IP-адресе составляющие сети и узла. Первые 24 разряда (число единиц в маске подсети) распознаются как адрес сети, а последние 8 разрядов (число оставшихся нолей в маске подсети) — адрес узла:
11000000.10101000.01111011.10000100 — IP-адрес (192.168.123.132) 11111111.11111111.11111111.00000000 — маска подсети (255.255.255.0)11000000.10101000.01111011.00000000 — адрес сети (192.168.123.0) 00000000.00000000.00000000.10000100 — адрес узла (000.000.000.132)
Когда пакет с конечным адресом 192.168.123.132 доставляется в сеть 192.168.123.0 (из локальной подсети или удаленной сети), компьютер получит его из сети и обработает.
Внекоторых случаях значения маски подсети того или иного класса по умолчанию не соответствует потребностям организации из-за физической топологии сети или потому, что количество сетей (или узлов) не соответствует ограничениям маски под-
127
сети. Этого неудобства можно избежать, разделяя сети на подсети (subnet) с помощью масок подсети.
Для упрощения записи маски подсети применяется префикс сети, показывающий, сколько бит в IP-адресе отводится под Network ID, следующие записи эквивалентны:
192.168.123.132 (255.255.255.0) и 192.168.123.132 /24.
Подсети
TCP/IP-сеть класса A, B или C может еще быть разбита на подсети системным администратором. Для этого можно «занять» несколько разрядов, из адреса узла и использовать их для адреации подсети в адресе.
Например, использование маски подсети 255.255.255.192 (то же самое, что и 1111111.11111111.1111111.11000000) преобразу-
ет сеть 192.168.123.0 в четыре сети:
1)сеть 192.168.123.0,сузламииздиапазона192.168.123.1—62;
2)сеть 192.168.123.64, с узлами 192.168.123.65 — 126;
3)сеть 192.168.123.128, с узлами 192.168.123.129 — 190 и
4)сеть 192.168.123.192, с узлами 192.168.123.193 — 254.
Первые две цифры последнего октета становятся адресами
сети, поэтому появляются дополнительные сети, в которых последние 6 двоичных цифр можно использовать в качестве адресов узлов. Маска подсети 255.255.255.192 позволяет создать четыре сети с 62-мя узлами в каждой.
Двоичные адреса узлов с одними только единицами и нолями недействительны, поэтому нельзя использовать адреса со следующими числами в последнем октете: 0, 63, 64, 127, 128, 191, 192, или 255.
Основные шлюзы
Связь между узлами из различных TCP/IP сетей осуществляется через маршрутизатор. С точки зрения TCP/IP маршрутизатор, указанный на узле, связывающем подсеть узла с другими сетями, называется основным шлюзом. Протокол TCP/IP определяет, отправлять или нет пакеты данных на основной шлюз, чтобы связаться с другим хостом в сети.
При попытке установления связи между узлом и другим устройством с помощью протокола TCP/IP узел сопоставляет
128
маску подсети и IP-адрес назначения (из передаваемого пакета) с маской подсети и своим собственным IP-адресом. В результате этого сопоставления компьютер узнает, для локального или для удаленного узла предназначен данный пакет.
Если в результате этого процесса назначением является локальный узел, то компьютер просто отправляет пакет в локальную подсеть. Если в результате сопоставления выясняется, что назначением является удаленный узел, компьютер направляет пакет на основной шлюз, определенный в свойствах TCP/IP. Таким образом, именно маршрутизатор отвечает за отправку пакета в правильную подсеть.
IP маршрутизация
IP маршрутизация это довольно простой процесс, особенно с точки зрения хоста. Если пункт назначения напрямую подключен к хосту (например канал точка-точка) или хост включен между несколькими сетями (Ethernet или Token ring), IP дейтаграмма направляется непосредственно в пункт назначения, иначе хост посылает дейтаграмму на маршрутизатор по умолчанию, тем самым предоставляя маршрутизатору решать как доставить дейтаграмму в пункт назначения. Эту простую схему реализуют практически все хосты.
Большинство многопользовательских систем в настоящее время могут быть сконфигурированы таким образом, чтобы выступать в роли маршрутизатора (например, рабочая станция с несколькими сетевыми адаптерами — с несколькими сетевыми интерфейсами). Существует возможность указать простой алгоритм маршрутизации, который будет использоваться как хостом, так и маршрутизатором. Основная и фундаментальная разница между хостом и маршрутизатором заключается в том, что хост никогда не перенаправляет дейтаграммы с одного своего интерфейса на другой, тогда как маршрутизатор перенаправляет.
В соответствии с общей схемой, IP может получать дейтаграммы от собственных уровней TCP, UDP, ICMP и IGMP (это дейтаграммы, формирующиеся здесь же), которые необходимо отправить, однако дейтаграммы могут быть приняты с какоголибо сетевого интерфейса (эти дейтаграммы должны быть перенаправлены). IP уровень имеет в памяти таблицу маршрутизации,
129
которую он просматривает каждый раз при получении дейтаграммы, которую необходимо перенаправить. Когда дейтаграмма принята с сетевого интерфейса, IP, во-первых, проверяет, не принадлежит ли ему указанный IP адрес назначения или не является ли этот IP адрес широковещательным. Если это так, то дейтаграмма доставляется в модуль протокола, указанный в поле протокола в IP заголовке. Если дейтаграмма не предназначается для этого IP уровня, если IP уровень был сконфигурирован для того чтобы работать как маршрутизатор, пакет перенаправляется (в этом случае дейтаграмма обрабатывается как исходящая, что будет описано ниже), иначе дейтаграмма уничтожается.
Каждый пункт таблицы маршрутизации содержит следующую информацию:
IP адрес назначения. Это может быть как полный адрес хоста (host address) или адрес сети (network address), что указыва-
ется в поле флагов. Адрес хоста имеет ненулевое значение идентификатора хоста и указывает на один конкретный хост, тогда как адрес сети имеет идентификатор хоста, установленный в 0, и указывает на все хосты, включенные в определенную сеть
(Ethernet, Token ring).
IP адрес маршрутизатора следующей пересылки (next-hop router), или, иначе говоря, IP адрес непосредственно подключенной сети. Маршрутизатор следующей пересылки принадлежит одной из непосредственно подключенных сетей, в которую мы можем отправить дейтаграммы для их доставки. Маршрутизатор следующей пересылки это не конечный пункт назначения, однако он принимает дейтаграммы, которые мы посылаем, и перенаправляет их в направлении конечного пункта.
Флаги. Один флаг указывает, является ли IP адрес пункта назначения, адресом сети или адресом хоста. Другой флаг указывает на то, является ли маршрутизатор следующей пересылки действительно маршрутизатором или это непосредственно подключенный интерфейс.
Указание на то, на какой сетевой интерфейс должны быть переданы дейтаграммы для передачи.
IP маршрутизация осуществляется по принципу пересылка- за-пересылкой. Как видно из таблицы маршрутизации, IP не знает полный маршрут к пункту назначения (за исключением тех пунк-