Россия |
Всемирная сеть Internet
Все компьютеры мира, поддерживающие протокол TCP/IP и каким-либо образом подключенные друг к другу, образуют глобальную всемирную сеть TCP/IP "Internet". Темпы роста "Internet": 100000 IP-адресов в месяц.
1. IP-адрес
Каждая машина в мире имеет свой уникальный IP-адрес.
IP-адрес - 32-битное число, которое принято записывать в смешанном 16-рично-десятичном формате, в виде 4 чисел, разделенных точками. Например:
193.124.148.73 128.8.2.1
Каждое десятичное число здесь представляет на самом деле два шестнадцатеричных разряда. Может принимать значения от 0 до 255. Допустима также шестнадцатеричная запись:
c1.7c.94.49 или 0xC17C9449 80.08.02.01 или 0x80080201
В условиях корректно сконфигурированной локальной сети, и при условии подключения ее к всемирной сети Internet, протокол TCP/IP позволяет вашей сетевой программе работать с ЛЮБЫМ компьютером в мире, как если бы он находился в вашей локальной сети.
Уникальность IP-адресов поддерживается просто. Они выдаются централизованно. Контора, которая этим занимается, называется NIC - Network Informational Center. Европейское отделение NIC расположено в Амстердаме. Она ВЫДАЕТ IP-адреса. В адрес NIC нужно послать форму-запрос установленного образца, и через некоторое время вам пришлют "пачку" IP-адресов, выделенных для вашей сети. E-mail адрес, по которому нужно послать запрос:
hostmaster@sri-nic.net
Московский узел, раздающий IP-адреса, а так же домены *.ru доступен по адресу
РосНИИРОС xSU/RU NetworkInformationalCenter ncc@ripn.net или ncc@ussr.eu.net www.ripn.net/nic/ripn-docs/
IP-сеть, подсеть
IP-сеть - "пачка" из 2**n IP-адресов, ИДУЩИХ ПОДРЯД. Самый младший - резервируется. Этот адрес называется адресом IP-сети. Например 128.8.0.0, или 193.125.149.64 . Адрес сети используется, когда требуется указать всю сеть целиком, например, когда задается маршрутизация до этой сети.
Маска сети - фактически размер сети, задает число адресов в сети. Задается либо количеством битов в маске сети (например 8бит - 256 адресов, 6 бит - 64 адреса), либо битовой маской вида
b'111...11100...00' число^^ ^^ битов
которую тоже принято записывать в десятично-побайтной записи, например:
255.255.255.192 - маска на 64 адреса 255.255.255.0 - маска на 256 адресов 255.255.0.0 - маска на 64K адресов
Broadcast адрес сети - самый старший адрес в сети. Резервируется для передачи сообщений типа "все-всем-всем" (в сети).
128.8.255.255
-
Класс A. "Огромные" сети.
Адреса этих сетей лежат в промежутке: 1 - 126. Маска сети: 255.0.0.0 Содержит до 16387064 адресов (256*256*256). Адреса хостов в этих сетях вида: 125.*.*.*
-
Класс B. "Средние" сети.
Адреса этих сетей лежат в промежутке: 128.0 - 191.255 Маска сети: 255.255.0.0 Содержит до 64516 адресов (256*256). Адреса хостов в этих сетях вида: 136.12.*.*
-
Класс C. "Маленькие" сети.
Адреса сетей лежат в интервале: 192.0.0 - 255.254.255 Маска сети: 255.255.255.0 Содержит 254 адреса. Адреса хостов в этих сетях вида: 195.136.12.*
-
Класс D. "Multicast-сети" (групповая адресация) (в стадии разработки)
Адреса сетей лежат в интервале: 224-239
- Класс E. "Экспериментальные" 240-250
Адреса 0, 127, 255 - специальные и для обычных IP не используется
Private Address Space
Если ваша сеть будет использоваться только внутри организации, и машины не будут иметь непосредственного выхода в интернет, то адреса для нее можно брать "с потолка".
В документе RFC 1597 "Address Allocation for Private Internets" March 1994:
The Internet Assigned Numbers Authority (IANA) зарезервировал три блока IP адресов для использования во внутренних сетях: 10.0.0.0 - 10.255.255.255 Класс A 172.16.0.0 - 172.31.255.255 Класс B 192.168.0.0 - 192.168.255.255 Класс C
Роутеры большинства ISP эти адреса не маршрутизируют, что добавляет им(адресам) безопасности.
2. Объявляем IP-адрес на наш ethernet'ный контроллер
Конфигурация сети на UNIX-машине обычно делается автоматически при начальной загрузке. Вкратце ее можно описать так:
Определение трех однотипных карт в Linux (1*ISA, 2*PnP):
/etc/conf.modules alias eth0 ne alias eth1 ne alias eth2 ne options ne io=0x220,irq=5
Объявляем, что наш IP-адрес 198.8.2.1 и он поднят на ethernet'ную карту по имени elx70 . В случае Motorol'ы так называется ethernet, торчащий из главной системной платы - платы с процессором.
ifconfig e1x70 198.8.2.1 up
Объявляем, что наш второй контроллер с именем m3760 (нижняя плата) имеет IP-адрес 198.8.3.1
ifconfig m3760 198.8.3.1 up
3. Маршрутизация локальной сети
Объявляем, что машины с адресами вида 198.8.2.* *=1,...,254 си- дят на нашем верхнем локальном сегменте ethernet, и разговаривать с ними надо напрямую, через верхний ethernet, соответствующий нашему адресу 198.8.2.1 - т.е. - elx70. А с машинами, имеющими адреса вида 198.8.3.* - через нижний ethernet - с адресом 198.8.3.1
route add net 198.8.2.0 198.8.2.1 netmask 255.255.255.0 0 route add net 198.8.3.0 198.8.3.1 netmask 255.255.255.0 0
Сетевые пакеты для IP-адресов, которые не лежат в нашей локаль- ной сети, переправлять на машину с сетевым адресом 198.8.2.107 - а уж она сама будет разбираться, что с ними делать, и как доставить их до конкретных адресатов.
route add default 198.8.2.107 1
Последний аргумент команды route - метрика. Ее можно интерпретировать как "расстояние" до "того" gateway'я, или "сколько пе- ресадок между gateway'ями придется сделать IP-пакету по дороге туда. Поскольку IP-адреса 198.8.2.1 и 198.8.3.1 соответствуют нашим собственный платам ethernet, то и метрика (расстояние) до них 0. 198.8.2.107 - другая машина - "расстояние до нее" 1.
Смотрим, что у нас получилось
netstat -rn # распечатать таблицу маршрутизации ping -s fedfond # "прозвонить" узлы сети ping -s fedfond-gate ping -s 198.8.2.107 netstat -i # статистика о работе сетевых интерфейсов
Настала пора объяснить, что такое lo0 и localhost. Это так называемый Loop-back интерфейс. Он имитирует сетевой интерфейс локально, не выходя за границы нашего компьютера. Loop-back интерфейсу соответствует зарезервированный за ним IP-адрес 127.0.0.1