Вход Регистрация

Забыли пароль?

Чужой компьютер

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

 
Введение

Описание работы сети на более-менее глубоком уровне займет не одну страницу. Об этом написано сотни книг, публикаций, 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Похожие статьи:
Комментарии
DydkaBabka Посетитель
#1 от 19 августа 2008 09:26
Статья интересная и познавательная для тех, кто вообще не знает как работает сеть.
Автору: В первом примечании есть повторенный абзац... Может быть стоит немного больше времени уделить на исправление грамматических и синтаксических ошибок...
FuzzyL Администратор
#2 от 19 августа 2008 12:00
вроде ошибочки чуть подправил winked

PS русский мне ни в школе, ни в университете не преподавали вообще.
Ноутбук: Acer Aspire 5920G / Acer TravelMate 5520G / Acer Timeline 3810T
NetStranger Посетитель
#3 от 19 августа 2008 12:06
да статейка полезная. пасибо!
Ноутбук: Aspire 5920G
sershin Посетитель
#4 от 20 августа 2008 02:47
Спасибо, очень хорошая статья. Вообще, все что на этом сайте, очень познавательно и многому узнал благодаря Вам.Еще раз спасибо автору.
Обладатель ACER 5920G. wink
Nikolai Посетитель
#5 от 27 августа 2008 00:32
Молодец!
jumpjet67 Посетитель
#6 от 31 августа 2008 10:45
Хорошая статья мне очень помогла
Ноутбук: acer aspire 4315
alex_zander6 Посетитель
#7 от 10 февраля 2009 13:43
Согласен, на это всегда интересно посмотреть
v7637 Посетитель
#8 от 28 мая 2010 20:01
Молодец! Спасибо, очень хорошая статья, мне очень помогла, особенно если я новичок в этом деле. winked
myr4ik07 Посетитель
#9 от 3 июня 2010 23:17
Автору, как писал и в письме, отличная работа, восхищаюсь, так держать!
Ноутбук: asus
YURI Посетитель
#10 от 6 октября 2010 18:16
Большое человеческое спасибо! делаеш большую работу, очень благодарен, сайт чудо!!!!!

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.