Компьютерные сети. Введение

Введение

Описание работы сети на более-менее глубоком уровне займет не одну страницу. Об этом написано сотни книг, публикаций, FAQ. В этом материале я попытаюсь объяснить работу сети на уровне, который необходим для построения и настройки домашней сети. Естественно, что очень многие моменты будут просто упущены или сильно упрощены. Более-детально работа сети описана в книгах Олифера, а также в первом и втором семестрах CCNA.
Если у Вас появятся вопросы (а они у Вас обязательно появятся fellow ) - то задаем их в этом разделе форума.



Адресация в сети

Одним из ключевых элементов любой сети является схема адресации. Именно она определяет как информация от источника попадет к получателю.
Рассмотрим этот вопрос более-детально на примере университета. В университете есть много факультетов, на факультете есть несколько курсов, на курсе есть несколько групп, а группе есть десяток студентов, у каждого студента есть свое уникальное имя, по которому можно его однозначно определить. Стоит задача: один студент должен передать другому книжку, например. Если оба студента учатся в одной группе, то с этим проблем не будет, все всех знают. А вот если студенты учатся на разных факультетах, то здесь уже сложней. Запомнить как зовут каждого студента в университете, на каком факультете учится, на каком курсе, в какой группе почти не реально. Поэтому чтобы книжка попала от одного студента ко второму, первый должен знать на каком факультете, на каком курсе, в какой группе и как зовут второго студента. На таком же принципе построена работа локальной компьютерной сети.
Работу локальной сети будем рассматривать на примере наиболее-распространенной технологии Ethernet.

Примечание: технология Ethernet описывается стандартом 802.3 и соответствует 1 и 2 уровням эталонной модели OSI. Она описывает метод доступа к общей среде CSMA/CD, процедуры LLC, методы передачи данных и др. Изначально она разрабатывалась под коаксиальный кабель с полудуплексным режимом передачи данных и механизмом выявления коллизий (это когда два устройства начинают одновременно что-то передавать и информация сильно искажается). В условиях полнодуплексных сетей коллизий нет. Сейчас в основном используются стандарты 100BASE-T и 1000BASE-T (100 МБит и 1 ГБит Ethernet с использованием витой пары). Для стандарта 100BASE-T задействуются только витые 2 пары из 4, для 1000BASE-T используются все 4 пары. В качестве среды передачи может так же выступать оптоволокно. Технология Wi-Fi (802.11) очень похожа на Ethernet. Отличия сводятся к тому, что используется другая среда передачи информации, как следствие - другой метод доступа к среде CSMA/CA, а также изменен формат фрейма.

У каждого компьютера, который подключен к сети, есть два основных адреса: IP-адрес и MAC-адрес. Если вспомнить пример с студентами, то MAC-адрес будет соответствовать имени студента, а IP адрес будет указывать на каком факультете, курсе, группе учится студент и какой он по списку. Основная задача MAC-адреса - это однозначная идентификация конкретного устройства. По MAC-адресу можно однозначно идентифицировать устройство, которое подключено в сеть. MAC-адреса имеют линейную структуру, то есть по имени студента невозможно сказать где он учится, с кем он учится итд. MAC-адрес прошит в сетевую плату и его изменить невозможно (хотя существуют разные методы обхода этого ограничения winked ). MAC-адрес состоит из 48 бит, которые сгруппированы в 12 шестнадцатиразрядных чисел. Первые 6 задают производителя сетевой карты, последние 6 задают конкретное устройство.

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

В примере со студентом аналогом информации о факультете, группе, номера в списке служит IP-адрес. В отличие от MAC-адресов, IP-адреса имеют четкую иерархическую структуру. Это значит, что по IP-адресу можно точно определить на каком континенте, в какой стране, в каком населенном пункте, на какой улице и в какой квартире находится компьютер с определенным IP-адресом. Возникает вполне логичный вопрос: а зачем тогда MAC-адреса, если точно определить конкретный компьютер можно только по IP-адресу? Ответ довольно прост: очень часто IP-адреса присваиваются в сети динамически. Процесс выглядит примерно так: компьютер посылает запрос на получение IP-адрес на сервер. Но тут же возникает проблема: кому отправлять ответ? Адреса у запросившей станции нет. Вот для этого и были разработаны MAC-адреса. IP-адрес состоит из четырех восьмибитных чисел от 0 до 255. В IPv6 адрес состоит из четырех 32-битных чисел.

Примечание: IP-адреса используются для адресации на сетевом уровне модели OSI в рамках глобальных и локальных сетей.

Теперь запустим Командную строку (сделать это можно через меню Пуск или введя в окошко Выполнить команду cmd). Вводим команду ipconfig /all и нажимаем Enter

Компьютерные сети. Введение


На экран вывелась информация о сетевых подключениях. Здесь можно увидеть IP-адрес, физический адрес (он же MAC-адрес) интерфейсов. Как видим, ноутбук сейчас подключен к домашней Wi-Fi сети, а также подключен к интернету.
Как и MAC-адрес, так и IP-адрес должны быть уникальными для каждого устройства в сети, иначе она просто не будет правильно работать. В этом кроется еще одна проблема. IP-адрес состоит из 32-бит (4 числа по 8 бит), что в сумме дает около 4 миллиардов комбинаций. Возникает вполне предсказуемая проблема: а что делать, если число компьютеров, которые должны быть обьеденены в сети превысит 4 миллиарда? Одним из решений является переход с IPv4 на IPv6. Число возможных комбинаций резко увеличивается (чуть меньше за 2 в 128 степени winked ). Это один из выходов. Но и существует другой способ. Не всем компьютерам нужен доступ в интернет. Некоторые из них вполне могут обойтись и локальной сетью. Для этих целей все IP-адреса были поделены на глобальные и приватные. К приватным относятся такие диапазоны адресов:

- 10.0.0.0 - 10.255.255.255
- 172.16.0.0 - 172.31.255.255
- 192.168.0.0 - 192.168.255.255


Эти адреса использоваться ТОЛЬКО в локальных сетях. В глобальной сети интернет они не используются. Это значит, что компьютера с адресами из приватных диапазонов и интернете нет. Если есть необходимость создать небольшую домашнюю или большую и не домашнюю ЛОКАЛЬНУЮ сеть - нужно использовать адреса из приватного диапазона!

Возникает вполне логичный вопрос: а как предоставить доступ в интернет компьютерам из локальной сети? У них ведь IP-адреса из приватного диапазона, которые в интернете не используются. Вот здесь на помощь приходят NAT-сервера. Задачей NAT-сервера является преобразование внутренних приватных адресов локальной сети в глобальные адреса интернета. То есть, на таком сервере есть таблица соответствия адресов в локальной сети и глобальных адресов интернета. Например, адресу 111.111.111.110 интернета будет соответствовать 192.168.10.10, адресу 111.111.111.111 будет соответствовать адрес 192.168.10.11 итд. Если компьютеру нужно передать информацию в интернет, то он отправляет пакеты на NAT-сервер, тот меняет IP-адрес отправителя c 192.168.10.10 на 111.111.111.110 и пакетик спокойно передается в пункт назначения. Когда приходит ответ на адрес 111.111.111.110, то NAT-сервер автоматически меняет 111.111.111.110 на 192.168.10.10 и передает его в локальную сеть. Если же нужно обеспечить доступ в интернет для целой локальной сети, имея всего один глобальный IP-адрес, то используется механизм PAT, что очень напоминает по принципу действия NAT. Дело в том, что кроме IP-адреса есть еще и адрес порта, который соответствует транспортному уровню модели OSI. Адрес порта указывает для какой программы на компьютере этот пакет предназначен и что это вообще за пакет. Более-подробно о номерах портов описано в Википедии. Например, у нас есть сеть из 2 компьютеров и оба они подключены к интернету через один NAT/PAT сервер (им может быть как роутер, так и один из компьютеров). Пускай IP-адреса у компьютеров будут 192.168.0.1 и 192.168.0.2. Первый из них подключен к интернету через IP-адрес 111.111.111.111 и на нем запущен NAT/PAT-сервер. Возьмем типичную ситуацию. Оба эти компьютера одновременно занимаются серфингом в интернете. Вводит один и второй пользователь в браузере адрес www.acerfans.ru winked и оба компьютера отправляют HTTP-запрос на сервер www.acerfans.ru. В запросе обязательно указывается адрес отправителя и адрес получателя. С адресом получателя все ясно: это IP-адрес, который соответствует доменному имени www.acerfans.ru и порт 80, который соответствует протоколу HTTP. Адрес отправителя - 192.168.0.1, порт 1050 для одного компьютера и 192.168.0.2, порт 1050 для второго. Эти два запроса получает NAT/PAT-сервер, подставляет в поле адреса отправителя свой IP-адрес (111.111.111.111), а в поле номера порта для одного компьютера ставит 1050, для второго - 1051. У себя в таблице он отмечает, что порту 1050 компьютера с IP-адресом 192.168.0.1 будет соответствовать порт 1050 с IP-адресом 111.111.111.111, а второму компьютеру - порт 1051. В результате два запроса от двух компьютеров со стороны выглядят как два запроса с компьютера с IP-адресом 111.111.111.111 и номерами портов отправителя 1050 и 1051. Когда с сервера придет ответ с помощью той же таблички соответствия NAT/PAT-сервер какой пакет какому компьютеру в сети предназначался.
Другой способ предоставления пользователям локальной сети доступа в интернет заключается в использовании прокси-сервера.

Более-подробно о том как настраивать общий доступ для локальной сети будет детально расписано в следующих материалах цикла



Маски подсети и шлюзы

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

Сервер - это служба (программа, если хотите), которая запущена на компьютере.

Репитер (повторитель) - это устройство, которое предназначено для усиления сигнала. Используется для увеличения дальности соединения.

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

Бридж (мост) - это устройство, которое служит для фильтрации трафика по MAC-адресам. Он разделяет домены коллизий.

Свич (коммутатор) - это по сути многопортовый мост. Основной задачей коммутатора служит создание "виртуальных" каналов между устройствами на основе MAC-адресов.

Примечание: Дело в том, что технология Ethernet изначально рассчитывалась на сети с общей средой передачи данных - коаксиальным кабелем. В такой среде часто возникают ситуации, когда два устройства одновременно передают данные. Такая ситуация называется коллизией, а компьютеры в сети, которые подвержены колизии - называются доменом коллизии. Мост и коммутатор разбивают домен коллизии на меньшие части, а вот концентратор коллизии пропускает и в результате домен коллизии увеличивается. Кроме доменов коллизий есть еще и широковещательные домены. Широковещательные рассылки и мост и коммутатор пропускают. И мост, и коммутатор работают исключительно с MAC-адресами. В каждом мосте и коммутаторе существует таблица коммутации. Она представляет по сути таблицу, где каждому порту соответствует определенный набор MAC-адресов. В каждом пакете (точней, фрейме), который пересылается по сети, указан MAC-адрес назначения и MAC-адрес отправителя. Когда такой пакет попадает на порт коммутатора, последний считывает MAC-адрес получателя. Если такого в таблице коммутации нету, то пакет рассылается на все порты, кроме того, откуда он пришел. Адрес отправителя записывается в таблицу коммутации и ему ставится в соответствие порт, на который пакет поступил. Таким образом через некоторое время в таблице коммутации моста или коммутатора будут все MAC-адреса компьютеров в сети, а также порта, к которым последние подключены. Чтобы избавится от "петель" коммутаторы используют протокол STP

Роутер (маршрутизатор) - это устройство, которое предназначено для соединения сетей, фильтрации по IP-адресам, обеспечения политик безопасности, а также многих других функций (DHCP, NAT/PAT...). Роутер работает с IP-адресами пакетов. Каждый роутер должен иметь таблице маршрутизации, где указано какой пакет куда отправлять (или не отправлять winked ) Таблица маршрутизации может заполнятся как вручную, так и с помощью протоколов маршрутизации (RIP, OSPF, IGRP, EIGRP...). В таблице маршрутизации указывается на какой интерфейс отправлять пакет, который адресован на тот или иной адрес. Именно для роутера огромное значение имеют маски подсети. К каждому интерфейсу роутера должны подключатся разные сети, иначе он может некорректно работать. Коммутатор и мост ни с IP-адресами, ни с масками подсети не работают. Для них это всего лишь данные, которые нужно передать. В этом и состоит основное отличие между маршрутизатором и коммутатором

Вот мы и подошли к такому понятию как маска подсети. Маска подсети - это 32-битное число, которое указывает где в IP-адресе адрес сети, а где адрес компьютера в сети. Выглядит маска сети примерно так: 255.255.255.0 или так 255.255.192.0, или даже так: 255.240.0.0 fellow
Особенностью маски подсети является то, что если записать ее в двоичной форме, то слева будут только единички, а справа - нули. Это обязательное условие!
Вот запишем в двоичной форме приведенные выше маски:

255.255.255.0 - 11111111.11111111.11111111.00000000
255.255.192.0 - 11111111.11111111.11000000.00000000
255.240.0.0 - 11111111.11110000.00000000.00000000

Как видим, есть четкая граница между нулями и единицами. Иногда маску 255.255.255.0 обозначают просто как /24 - 24 единицы, вторая маска будет обозначатся как /18, третья в моем примере - /12. В итоге адрес записывают так 192.168.0.1 /24

Все IP-адреса делятся на 5 классов : A, B, C, D и E

A - 0.0.0.0 - 127.255.255.255
B - 128.0.0.0 - 191.255.255.255
C - 192.0.0.0 - 223.255.255.255
D - 224.0.0.0 - 239.255.255.255
E - 240.0.0.0 - 255.255.255.255

Для первых трех классов установлены маски по-умолчанию. Для А - 255.0.0.0 или /8, для В - 255.255.0.0 или /16, для С - 255.255.255.0
Использование других масок тоже разрешено winked

Примечание: иногда бывают случаи, когда использование масок по-умолчанию нерационально. Яркий пример: соединение двух роутеров. Для соединения нужно всего два IP-адреса. Чтобы избежать нерационального использования IP-адресов и были придуманы сетевые маски переменной длинны - VLSM.

Как я уже отметил, сетевая маска нужна для выделения из IP-адреса компьютера IP-адреса сети или подсети. Делается это побитовой операцией логического И между IP-адресом и маской подсети. Стоит отметить, что IP-адреса, в хостовой части которых все нули являются адресами подсетей и использовать их в качестве IP-адресов компьютеров НЕЛЬЗЯ. Например: IP-адрес 192.168.0.16 с маской 255.255.255.240
будет адресом подсети. Чтобы в этом убедится запишем в двоичной форме сам адрес, а внизу маску подсети:

11000000.10101000.00000000.00010000 - адрес (синим указана хостовая часть адреса, красным - сетевая согласно маске подсети)
11111111.11111111.11111111.11110000 - маска

Как видим, в хостовой части (последние 4 бита) у нашего адреса все нули, следовательно, он является адресом подсети и назначить его назначить его на компьютер не получится. Именно поэтому невозможно назначить компьютеру адрес 192.168.0.0.

Кроме адреса подсети есть еще и широковещательный адрес. Если компьютеру нужно отправить сообщение всем компьютерам в сети, то вместо того, чтобы отправлять сообщение каждому из них, компьютер отправляет сообщение на адрес, в хостовой части которого все единицы. Для сети 192.168.0.0 с маской 255.255.255.0 это будет адрес 192.168.0.255. Для той же сети с маской 255.255.255.240 это будет уже 192.168.0.15
Объясню почему. Запишем опять адрес в двоичной форме:

11000000.10101000.00000000.00000000 - адрес
11111111.11111111.11111111.11110000 - маска
хххххххх.хххххххх.хххххххх.хххх0000 - хостовая часть (жирным)
меняем в хостовой части все нули на единицы, чтобы получить широковещательный адрес:
11000000.10101000.00000000.00001111

и переводим полученное число в десятеричный вид. Получим адрес 192.168.0.15. Аналогично определяются и адреса подсетей.

Примечание: Широковещательные адреса и адреса подсетей нельзя указывать в качестве IP-адресов компьютеров!!!

Вот пример разбиения сети на подсети с помощью масок подсети:

Компьютерные сети. Введение


Как видим, у нас есть большая приватная сеть 10.0.0.0/8. Ее разбили на три подсети поменьше: 10.1.0.0, 10.2.0.0 и 10.3.0.0. Сеть 10.2.0.0 разбили 10.2.1.0, 10.2.2.0 и 10.2.3.0. Из этого примера четко видно, что IP-адреса имеют иерархическую структуру.

Если Вам что-нибудь не ясно в вопросах о подсетях и масках - спрашиваем в этом разделе форума

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

Вот, пожалуй, и все. Продолжение следует fellow



Если у вас после прочтения этого материала все еще остались вопросы - задаем их в ФОРУМЕ.

С уважением, автор материала - Тониевич Андрей аkа FuzzyL. Публикация данного материала разрешается исключительно со ссылкой на источник и с указанием автора.

Возникли вопросы, поправки, пожелания, предложения - пишите на мой мейл - tonik.87@mail.ru


Буду очень признателен fellow
FAQ → Похожие статьи:
#1 от 19 августа 2008 09:26 в
DydkaBabka Группа: Посетитель
Комментариев: 1
Статья интересная и познавательная для тех, кто вообще не знает как работает сеть.
Автору: В первом примечании есть повторенный абзац... Может быть стоит немного больше времени уделить на исправление грамматических и синтаксических ошибок...
#2 от 19 августа 2008 12:00 в
FuzzyL Группа: Администратор
Комментариев: 438
вроде ошибочки чуть подправил winked

PS русский мне ни в школе, ни в университете не преподавали вообще.
#3 от 19 августа 2008 12:06 в
NetStranger Группа: Посетитель
Комментариев: 4
да статейка полезная. пасибо!
#4 от 20 августа 2008 02:47 в
sershin Группа: Посетитель
Комментариев: 1
Спасибо, очень хорошая статья. Вообще, все что на этом сайте, очень познавательно и многому узнал благодаря Вам.Еще раз спасибо автору.
Обладатель ACER 5920G. wink
#5 от 27 августа 2008 00:32 в
Nikolai Группа: Посетитель
Комментариев: 11
Молодец!
#6 от 31 августа 2008 10:45 в
jumpjet67 Группа: Посетитель
Комментариев: 1
Хорошая статья мне очень помогла
#7 от 10 февраля 2009 13:43 в
alex_zander6 Группа: Посетитель
Комментариев: 1
Согласен, на это всегда интересно посмотреть
#8 от 28 мая 2010 20:01 в
v7637 Группа: Посетитель
Комментариев: 1
Молодец! Спасибо, очень хорошая статья, мне очень помогла, особенно если я новичок в этом деле. winked
#9 от 3 июня 2010 23:17 в
myr4ik07 Группа: Посетитель
Комментариев: 1
Автору, как писал и в письме, отличная работа, восхищаюсь, так держать!
#10 от 6 октября 2010 18:16 в
YURI Группа: Посетитель
Комментариев: 1
Большое человеческое спасибо! делаеш большую работу, очень благодарен, сайт чудо!!!!!
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Новые статьи Установка Windows 7
FAQ по ноутбукам
Решение проблемы с подтормаживаниями ноутбука
Установка Windows XP
Ускорение загрузки Windows
Решение проблемы с внезапными перезагрузками Acer Aspire 7750G
Разблокирование режима 802.11n на адаптерах Atheros
Чистка системы охлаждения ноутбука и замена термопасты на примере Acer Aspire 7738G
Воспроизведение HD-видео на слабых нетбуках и ноутбуках
Создание охлаждающей подставки для ноутбука
Установка второго жесткого диска в ноутбук
Руководство по разборке Acer Aspire One 721
Замена памяти и жесткого диска в нетбуке
Как сделать из старого ноутбука планшет
Восстановление работоспособности ноутбука с помощью прогрева чипов
Обзор ноутбука Acer Aspire Timeline 4410
Первый обзор ноутбука Acer Aspire 7750G
Обзор коммуникатора Acer Liquid MT Metal
Обзор нетбука Packard Bell dot SE
Разгон видеокарты ноутбука
Разгон процессора ноутбука или нетбука
Интеграция SATA драйверов в дистрибутив Windows XP c помощью MSST Integrator
Модификация системы охлаждения в Acer Aspire 5920g
BIOS. Вопросы по прошивке и восстановлению BIOS
Компьютерные сети. Балансировка интернет-трафика между приложениями