Смекни!
smekni.com

Учебно-методическое пособие Тамбов (стр. 5 из 8)

Чего же не хватает? Да конечно же, программ. Само железо ничего делать не будет.

А какие, собственно говоря, программы нужны?

На заре сетевых технологий эти программы пользователи писали сами. (Это было что-то...) Чуть позже программы стали писать изготовители сетевого оборудования или компьютеров, иногда возникали и специализированные фирмы. Каждая разработка сильно отличалась от остальных, и все они были между собой несовместимы.

Последнее слово означает, что обмен информацией между сетями разных разработчиков был невозможен либо сильно затруднен.

В настоящий момент практически везде используется единая сетевая технология - технология, происходящая из сети Internet. Способ обмена информацией при этом называют TCP/IP.

Именно об этом и будет идти речь далее.

2.1. Адресация в Internet

Каждый компьютер в Сети Internet имеет свой уникальный номер (об исключениях - чуть позже).

Номер этот, называемый IP-номером или IP-адресом, имеет длину 4 байта.

При задании номера общепринято записывать содержимое каждого байта в десятичной форме, отдельно, разделяя байты точками.

(Те, кто знает, что такое байт, сейчас скажут, что это содержимое можно записать множеством способов, и будут правы, но есть традиция, и все к ней привыкли. Те, кто ничего не знает о байте - не обращайте внимания, запомните только конечный результат.)

IP-номер записывается как 4 числа от 0 до 255 каждое, разделенные точками, например 195.19.104.2 или 127.0.0.1

Для любой сети выделяются смежные номера в количестве, всегда равном степени 2, т.е. 4, 8, 16, 32, 64, 128, 256 и т.д., причем первый и последний из них использовать для машин нельзя (они служат для специальных целей). Конечно, далеко не всегда номера будут заняты полностью (скажем, у вас 5 машин). Ничего страшного в этом нет.

Способы указания количества номеров машин в сети весьма своеобразны. Никто это количество не пишет (традиция!), а вместо него задают так называемую "сетевую маску".

При использовании первого способа маска задается числом бит, остающимся от 4 байт после отбрасывания части, необходимой для указания номера машины внутри сети. Вы не поняли? не страшно, надо просто привыкнуть, что для сети на 4 машины маска будет /30, на 8 машин - /29, и т.д.

Второй способ еще непонятнее для неспециалиста. Берут 4 байта, заполняют нулями ту часть, которая нужна для номера машины, остальное заполняют единицами, и то, что получилось, записывают в той же форме, что и IP-номер. Например, для сети на 4 машины имеем 255.255.255.252, на 8 машин - 255.255.255.248 и т.д.

Не расстраивайтесь, если ничего не поняли. Имейте перед глазами следующую таблицу, или почитайте где-нибудь про основы двоичной арифметики

Число номеров
в сети

Маска в формате
/n

Маска в формате
хх.хх.хх.хх

4

/30

255.255.255.252

8

/29

255.255.255.248

16

/28

255.255.255.240

32

/27

255.255.255.224

64

/26

255.255.255.192

128

/25

255.255.255.128

256

/24

255.255.255.0

512

/23

255.255.254.0

1024

/22

255.255.252.0

В качестве заключения этого раздела - пример.

Если у вас сеть 195.19.126.48 с маской 255.255.255.240, это означает, что у вас 16 номеров, с 195.19.126.48 по 195.19.126.63.

2.2. Где взять IP-номера для локальной сети?

Итак, каждый компьютер в Сети Internet имеет свой уникальный номер. Но вот где его взять?

Вопрос решается легко, если школа подключается к Internet - номера даст провайдер при заключении договора на обслуживание. А если не подключается? А если провайдер жадный и номеров не дает?

Можно запросить номера в специализированной организации. Но там их дают оптом, и обязательно заинтересуются, зачем это вам, скажем, 4096 номеров, да еще и спросят, как вы в Internet ходите. В итоге, скорее всего, отошлют к провайдеру.

А можно использовать произвольные номера? Можно, но не нужно. Пока вы наружу не выходите, ничего страшного, но если пойдете, будет куча проблем.

Лучше всего использовать специальные группы номеров, официально предназначенные для внутренних нужд. Для этих номеров гарантируется, что они никогда не будут использованы для машин в Internet. Лучше всего вам подойдут номера из диапазона 192.168.0.0 - 192.168.255.255.

(Например, автор для домашней сети использует 192.168.169.0 с маской 255.255.255.0, имея тем самым сеть на 256 машин. Реальных же машин только 3: 192.168.169.1 и 192.168.169.2 автора, и 192.168.169.3, принадлежащая 10-летнему соседу. Иногда появляется 192.168.169.5 - если друзья-приятели привозят настроить свои машины. Остальные 250 номеров не используются.)

С автором все понятно - в Internet он выходит. А вот зачем такие IP-номера в сети, которая туда не пойдет? А на всякий случай - вдруг все-таки Internet будет. И уж всегда надо иметь в виду, что смена номеров даже в небольшой сети довольно трудоемка, несмотря на кажущуюся простоту...

2.3. Обмен пакетами в локальной сети

Рассмотрим в качестве примера простейшую сеть, приведенную на рисунке.

Пусть для определенности машины имеют номера, приведенные в таблице:


машины

MAC-адрес

IP-номер

1

11-22-33-44-55-61 192.168.169.1

2

11-22-33-44-55-62 192.168.169.2

3

11-22-33-44-55-63 192.168.169.3

4

11-22-33-44-55-64 192.168.169.4

Чего не хватает? Конечно, сетевой маски. Пусть она будет 255.255.255.248, т.е. сеть рассчитана на 8 машин, хотя в наличии только 4.

Включаем машины, и садимся за первую. Пусть для определенности нам нужен обмен информацией с машиной 2.

Все программы установлены и настроены. Но они еще не знают MAC-адресов соседей (понятно, что на каждой машине свой-то адрес известен).

Как же узнают MAC-адреса? Для этого используется так называемый "протокол ARP" (Address Resolution Protocol).

Наш компьютер 1, как и все остальные, хранит в памяти таблицу ARP. Таблица эта очень похожа на приведенную выше, вот только строки в ней пока пустые.

MAC-адрес IP-номер

Вначале компьютер 1 формирует ARP-пакет, т.е. порцию информации для передачи по Ethernet, следующего вида:

Куда:
От кого:
ff-ff-ff-ff-ff-ff-ff
11-22-33-44-55-61
Содержимое: Это ARP-запрос. Здесь компьютер с IP-номером 192.168.169.1. Компьютер с IP-номером 192.168.169.2, отзовись.

(Здесь и далее голубым цветом выделен Ethernet-заголовок (вспомните, это что-то вроде надписи на конверте), а зеленым - содержимое Ethernet-пакета.)

Конечно, передается не текст, как на рисунке, а специальным образом закодированная информация. Причем способ кодирования стандартизован, чтобы программы любого разработчика понимали друг друга.

По поводу адреса "куда": мы помним, что ff-ff-ff-ff-ff-ff-ff означает, что пакет предназначен всем. В результате компьютеры 2, 3 и 4 этот пакет получат, и каждый его проанализирует. 3 и 4 ничего делать не должны - IP-номер не их, а вот компьютер 2 должен ответить:

Куда:
От кого:
11-22-33-44-55-61
11-22-33-44-55-62
Содержимое: Это ARP-ответ. Здесь компьютер с IP-номером 192.168.169.2. Отвечаю компьютеру 192.168.169.1

Ответ получит только компьютер 1 - ведь в Ethernet-заголовке его MAC-адрес. Теперь он знает MAC-адрес компьютера 2 из заголовка пакета, и имеет возможность заполнить строку в таблице ARP:

MAC-адрес IP-номер
192.168.169.2 11-22-33-44-55-62

Понятно, что и у компьютера 2 будет заполнена строчка в таблице ARP - ведь он знает о компьютере 1.

И вот наступил счастливый момент: компьютеры 1 и 2 могут обмениваться информацией.

Компьютер 1 посылает данные:

Куда:
От кого:
11-22-33-44-55-62
11-22-33-44-55-61
Содержимое: Это IP-пакет. Компьютер с IP-номером 192.168.169.1 посылает данные компьютеру с IP-номером 192.168.169.2.
* * * --- сами данные --- * * *

Обратите внимание, что помимо полезной информации, внутри Ethernet-пакета содержится информация об IP-номерах отправителя и получателя. В действительности, помимо номеров, там находятся дополнительные данные, и имеет смысл говорить об IP-заголовке. Если продолжить аналогию с конвертом, можно говорить, что открыв Ethernet-конверт, мы видим вложенный в него внутренний IP-конверт с адресами отправителя и получателя, а уж внутри находится полезная информация.

А целесообразно ли это? Стоит ли так усложнять обмен данными? Однозначный ответ - "да", и об этом речь - в следующей главе.

Здесь же отметим, что в процессе работы таблицы ARP на всех машинах постепенно заполняются. Их содержимое можно посмотреть в любой момент, выдав команду

arp -a

Автор не берется утверждать, что именно так смотрят таблицу arp абсолютно во всех операционных системах, но во всех, виденных автором, это так. Для MS Windows любой версии - от 95 до XP - команду можно выдать, нажав "пуск", затем выбрав "выполнить", а затем напечатав команду. Однако увидеть результаты сложнее - окно после выполнения команды обычно немедленно закрывается, поэтому лучше выдавать команду в окне DOS или из какой-нибудь оболочки вроде FAR.

Вот какой ответ получил автор на эту команду в момент написания данной главы: