Специальные IP-адреса
Существует ряд IP-адресов, которые не могут быть использованы как стандартные IP-адреса, так как они зарезервированы для специальных целей. Например:
- 10.*.*.* (сеть класса A), 192.168.*.* (набор сетей класса C) – зарезервированы для создания локальной сети.
- 127.*.*.* (сеть класса А) – зарезервирована для локального компьютера, т.о. 127.0.0.1 – это IP адрес, через который компьютер может "разговаривать" сам с собой (при помощи loopback interface), так же как и с другими компьютерами. Это было придумано для того, чтобы можно было не различать две ситуации: когда сервер находится на чужом компьютере, и когда он находится на родном компьютере. То есть запрос идет на прямую по адресу 127.0.0.1. В противном случае пришлось бы прописать одну и туже часть кода дважды.
Программа ifconfig
При запуске программы ifconfig
, выдается таблица, в которой прописаны интерфейсы, имеющиеся на данной машине (пока мы расмотрим по одной строке из описания каждого интерфейса).
$ /sbin/ifconfig eth0 inet addr:192.168.5.118 Bcast:192.168.5.255 Mask:255.255.255.0 lo inet addr:127.0.0.1 Mask:255.0.0.0
Network mask – маска IP-адресов машин, которые лежат в данной локальной сети. Маска представлят из себя двоичное число, в котором первые несколько бит единицы, а все остальные – нули. Пусть маска содержит n единиц. Это означает, что в данной локальной сети находятся машины, у которых первые n бит IP-адреса совпадают с первыми n битами IP-адреса данного компьютера.
Пример
первый байт | второй байт | третий байт | четвёртый байт | |
IP address | 11000000 (192) |
10110000 (176) |
10101010 (170) |
11110000 (240) |
Network mask | 11111111 (255) |
11111111 (255) |
11111111 (255) |
11000000 (192) |
IP-адреса, соответcтвующие данной маске |
11000000 (192) |
10110000 (176) |
10101010 (170) |
11****** (192—255) |
Данной маске соответcтвуют следующие адреса: 11000000, 10110000, 10101010, 11****** (от 192.176.170.192 до 192.176.170.255).
Маршрутизация и программа route
Программа route
выдает таблицу маршрутизации. В таблице написано куда будут посланы пакеты, отправленные на определенные IP-адреса.
$ /sbin/route -ne Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 194.85.238.0 0.0.0.0 255.255.255.128 U 40 0 0 eth0 192.168.5.0 0.0.0.0 255.255.255.0 U 40 0 0 eth1 0.0.0.0 194.85.238.1 0.0.0.0 UG 40 0 0 eth0
Это означает, что все запросы, отправленные на адреса, совпадающие по маске 255.255.255.128 с адресом 194.85.238.0 (то есть, на адреса от 194.85.238.0 до 194.85.238.127), отправляются в локальную сеть напрямую через интерфейс eth0. Аналогично, запросы, отправленные на адреса, совпадающие по маске 255.255.255.0 с адресом 192.168.5.0, отправляются в локальную сеть напрямую через интерфейс eth1. Все остальные запросы отправляются на машину с IP-адресом 194.85.238.1, откуда они будут отправлены далее. Машина, которая пересылает пакеты, называется gateway.