Перейти к содержанию
    

Хочу понять как работает адресация в сети Ethernet, сотоящая из коммутатора и компов подключённых к нему. Насколько я понял, кумутатор переадресует на основании ethernet пакета в котором есть MAC отправителя и MAC получателя. Компы друг к другу обращаются по IP который лежитcя поверх ethernet. IP тоже содержит IP отправителя и получателя. Так вот. Если мы отправляем паеткет с компа 1 на комп 2, то какой MAC адрес получателя(т.е. MAC адрес компа 2) подставляет сетевая карта компа 1? Она что делает таблицу MAC=IP, и где то её хранит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых, коммутатор никакой информации в пакетах не изменяет. Ни MAC-адрес, ни IP-адрес. Он просто транслирует пакеты в нужный порт. А вот обучается он этому, подсматривая адреса источников входящих пакетов и заполняя таблицу - (MAC-адрес источника)/(номер порта, откуда пришел пакет с таким адресом). Когда же ему надо решить, куда отправить пришедший пакет, он берет из него MAC-адрес приемника и по таблице находит номер порта. В двух словах - это все :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Она что делает таблицу MAC=IP, и где то её хранит?

Да. Только это делает не сетевая карта, а обработчик стека протоколов.

 

Смотрите в сторону ARP и RARP, это механизмы позволяющие сопоставить IP и MAC

 

Попробуйте под виндами в коммандной строке написать "arp - a" и нажать Enter

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Покажите мне где я написал что коммутатор изменяет что то? Как работает комутатор я знаю. Я спрашивал другое. Я уже частично нашёл ответ на свой вопрос http://ru.wikipedia.org/wiki/ARP, но пока не определился где именно хранится таблица.

Спасибо.

 

To sysel: спасибо.

А на ARP я вышел по этой ссылке. http://www.xakep.ru/magazine/xa/046/044/2.asp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Покажите мне где я написал что коммутатор изменяет что то?

 

Да, пардон. Как-то глаз соскочил на пару строк ниже и показалось, что "коммутатор подставляет MAC адрес компа 2".

 

А так конечно, там таблица соответствий есть. Каждый вход в таблице - это соответствие MAC/IP. И еще там есть таймаут для каждой записи (через некоторое время записи устаревают и отбрасываются).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

После того, как IP-адрес прошёл процедуру разрешения адреса, он остаётся в кеше в течение 2-х минут. Если в течение этих двух минут произошла повторная передача данных по этому адресу, то время хранения записи в кеше продлевается ещё на 2 минуты. Эта процедура может повторяться до тех пор, пока запись в кеше просуществует до 10 минут. После этого запись будет удалена из кеша и будет отправлен повторный ARP-запрос.
wici©

Да век живи век учись.

arp -a показывает текущцю таблицу.

 

Продолжу дисскусию.

Например в сети появился шлюз(роутер, маршрутизатор, как хотите...) - выход в интернет. Он имеет адрес например 192.168.0.100. В настройках сетевой карты мы прописываем - шлюз 10.10.0.324. Так вот, хотим мы например пингануть адрес в инете например 10.10.0.324.

И какой адрес получателя будет в IP пакете?

 

Нарыл интересную команду netstat -r

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В настройках сетевой карты мы прописываем - шлюз 10.10.0.324

Надо в настройках сетевой карты прописывать шлюз 192.168.0.100

 

У Вашего шлюза должен быть IP, выданный провайдером (либо указанный в договоре, либо выданный по DHCP). Пусть он будет = IPш.

Адрес Вашего компьютера 192.168.0.1

Адрес интернет сервера IPc

 

Когда Вы пингуете с компьютера сервер IPc, этому серверу идёт от шлюза в IP заголовке идёт адрес отправителя IPш.

 

Т.е. шлюз подменяет IP адреса для пакетов исходящих в интернет на IPш, а для пакетов, пришедших из интерента адрес получателя меняет с IPш на 192.168.0.1

 

Смотрите тут: http://ru.wikipedia.org/wiki/PPPoE

 

А вообще советую найти книжку по сетям ЭВМ, там все эти чудеса должны быть расписаны.

Мои знания по этим вопросам неглубокие, базируются на институтском курсе лекций.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По адресу 10.10.0.324 запрос в публичную сеть вообще скорее всего не уйдет. Зависит от дубовости роутера.

Ибо это не публичный адрес.

А вообще какой будет обратный адрес в IP пакетах принимаемых узлом на другом конце вашего коннекта предсказать невозможно если вы не знаете точной физической топологии канала связи.

 

Например в сети появился шлюз(роутер, маршрутизатор, как хотите...) - выход в интернет. Он имеет адрес например 192.168.0.100. В настройках сетевой карты мы прописываем - шлюз 10.10.0.324. Так вот, хотим мы например пингануть адрес в инете например 10.10.0.324.

И какой адрес получателя будет в IP пакете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Блин, читаю и вопрсов становится всё больше.

Короче, чего вроде понял:

Имеем ADSl модем, на котором стоит NAT + коммутатор, или коммутатор отдельно. Имеем комп воткнутый в комутатор. NAT настраиваем так что локальная сеть это 192.168.0.x Получается что запросы (ip пакеты) с этими адресами не транслируются. Делаем запрос с компа на коммутатор на ip 10.10.0.324. У комутатора нету такого MAC и отсылает на все адреса, походу и на NAT, NAT поймёт что не локалка и создаст трансляцию в INTERNET и при этом сделает, походу, подмену TCP порта в адресе отправителя, т.е. PAT

Блин :wacko:

Короче какую роль в этом играет адресс шлюза? Нафиг он нужен? И не пойму что будет происходить с ARP таблицей на локальном компе, т.к. MAC будет NAT-а или каким там боком он к комутатору подключён, а IP будут всё время разные, или нет?

Короче запутался окончательно, кто просветит?

 

...или шлюз записывается для того, что бы взять его MAC и указывать MAC получателя - NAT если пакет не относится к локалке?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вот. Если мы отправляем паеткет с компа 1 на комп 2, то какой MAC адрес получателя(т.е. MAC адрес компа 2) подставляет сетевая карта компа 1? Она что делает таблицу MAC=IP, и где то её хранит?
Простые необслуживаемые коммутаторы про IP вообще ничего не знают. Они работвют только по MAC, таблицу привязки порт-МАС хранят во внутренней памати. Если им эту пямять переполнить - то простой коммутатор будет посылать пакеты во все порты. Есть коммутаторы 3-го уровня, которые знают про IP, в частности они умеют делать VLAN'ы

 

У комутатора нету такого MAC и отсылает на все адреса, походу и на NAT, NAT поймёт
NAT не работатет на уровне MAC, он работает только с IP, поэтому никакого пререпутывания не происходит. Коммутатор, который в вашем роутере - это необслуживаетмяй коммутатор, который про NAT ничего знать не должен и этот коммутатор ничем не отличается от обычного необслуживаемого коммутатора за 300 руб

 

Короче какую роль в этом играет адресс шлюза? Нафиг он нужен? И не пойму что будет происходить с ARP таблицей на локальном компе, т.к. MAC будет NAT-а или каким там боком он к комутатору подключён, а IP будут всё время разные, или нет?

Короче запутался окончательно, кто просветит?

На шлюз отправляются все IP какеты, которые отправляются вне сегмента сети, определенного маской. МАС имеет смысл только в Ethernet, поэтому при смене транспортного протокола теряется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давайте конкретезируем понятия. NAT - скажем так не нечто физическое, а свойства нечто физического (конкретное понятие NAT я не привожу (см. wiki), а говорю образно). А нечто физическое что имеет ADSL это выход в тел. линию с одной стороны, а с другой WAN. B NAT как раз стоит между этими портами. А WAN как раз походц и имеет MAC. Покарайней мере я так понял, если нет поправте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давайте конкретезируем понятия. NAT - скажем так не нечто физическое, а свойства нечто физического (конкретное понятие NAT я не привожу (см. wiki), а говорю образно). А нечто физическое что имеет ADSL это выход в тел. линию с одной стороны, а с другой WAN. B NAT как раз стоит между этими портами. А WAN как раз походц и имеет MAC. Покарайней мере я так понял, если нет поправте.
Дабы не было путаницы, надо разделить ADSL, роутер и NAT. ADSL модем имеет два режима работы - так называемые bridge и router+NAT. Для начала возмем bridge. В этом случае модем фактически работает как преобразователь медная линия - ethernet и на его ethernet порту получается тот IP, который отдал провайдер с MAC'ом его, модема сетевого интерфейса. Далее к этому сетевому интерфейсу внутри коробочки подключен самый обычный неуправляеый коммутатор, то есть это разные устройства, которые друг про друга ничего не знают. И в таком режиме в интернет может выйти только одна машина, так как провайдер отдал вам только один внешний IP. При этом вы прекрасно можете использовать остальные порты коммутатора для работы других компов с вашми внутреними IP, они никак не будут мешать друг другу, просто машины с этими IP не будут иметь связи ни с интернетом, ни с машиной, имеющей выход в интернет. Когда включается режим router, то между ADSL и коммутатором как бы включается еще одно устройство - роутер (маршрутизатор по-нашему). Как правило реализован он на базе Linux. Этот маршрутизатор и общается с ADSL модемом напрямую через свой ethernet port #1. Его Ethernet port #2 "смотрит" на коммутатор (и имеет свой МАС) и роутер меняет IP вашей локалки (NAT) на адрес, что ADSL получил от провайдера, что и дает возможность выхода в интернет всем компам вашей локалки. То есть имеется последовательное соединение коммутатор - маршрутизатор с NAT - ADSL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По моему вы отвечаете не по существу проблемы.

 

А проблема как я понимаю в том, что человек вызвав команду netstat -r в среде Windows не увидел таблицу однозначного соответствия IP <-> MAC

Например таблица маршрутов огромная, и таблица интерфейсов здоровая, а ARP таблица может быть всего из одной записи.

 

У меня следующие объяснения этому:

1. Билли делал операционку для домохозяек, а не для сисадминов. Поэтому его среднестатистического юзера не должны волновать принципы маршрутизации и нативное представление системной информации в виндах на зачаточном уровне.

2. Таблица маршрутов рекурсивная и в конечном итоге сводится только к двум маршрутам: шлюзу и к внутреннему каналу компа.

3. ARP таблица очень оперативная, и мгновенный снимок не показывает ее реальный размер и динамику.

 

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

 

 

Дабы не было путаницы ....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем за ответы. Я как раз именно так себе и представлял. Уточню маршрутизатор(роутер) - объект, в данном случае линукс, а NAT - метод, т.е. алгоритм.

Ну а насчёт моего вопроса (зачем нужено прописывать адрес шлюза) - для получения по средством ARP запроса MAC адресса ethernet порта роутера подключённого к комутатору.?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...