7363
Комментарий:
|
7362
|
Удаления помечены так. | Добавления помечены так. |
Строка 32: | Строка 32: |
|| 10 || 1 || 1 || 1 || || 1 || PavelSutyrin || 02.07.2008 || | || 10 || 1 || 1 || 1 || || 1 || PavelSutyrin || 02.07.2008 || |
Физический и канальный уровни
Мы становились на Ethernet. Для того, чтобы посмотреть, какие сетевые интерфейсы есть в системе, можно воспользоваться командой "ip link" или просто "ip l". Как можно видеть, один интерфейс есть в Linux-машине всегда --- это loopback. Оно просто позволяет подключаться любой программе, ориентированной на работу с сетью, к этой же самой машине, это удобно. С некоторых пор интерфейсы можно переименовывать, а традиционно они называются ethX и нумеруются с 0, т.е. eth0, eth1, и т.п. Далее указан MAC и broadcast-адрес.
Родилось определение, что локальная сеть --- это множество узлов, которые видят друг друга в рамках одной среды передачи данных. А то спорят все, какая локальная, какая не локальная.
Далее поднимаемся на уровень сетевой. Тут мы должны выполнить две задачи: перенумеровать все компьютеры в интернете, чтобы отличать их друг от друга, и организовать маршрутизацию данных от одного компьютера к другому, т.к. вообще говоря, между отправителем и получателем данные могут идти по нескольким СПД.
Опять второе свйство tcp/ip (инкапсуляция). Вот мы решили передать данные, скармливаем их программе, например, ftp-клиенту, он оформляет некоторым образом их соответствии с протоколом ftp. Далее движемся вниз по уровням. В тот момент, когда возникает необходимость осуществить ftp-обмен, этот массив режется на фрагменты в соответствии с требованиями tcp. Каждый фрагмент передается вниз, на уровень tcp и заворачивается там в tcp-пакет -- к нему добавляются служебные данные, специфичные для tcp. На этом дело не останавливается. Допустим, по правилам маршрутизации нашего сетевого уровня выяснилось, что следующий компьютер --- это один из наших соседей. Тогда каждый из tcp-пакетов режется на куски того размера, который диктует нам уровень ip, и передается ему вниз, где каждый кусок заворачивается в ip-пакет, в котором содержатся еще служебные данные, характерные для ip. И снова повторяется эта операция --- разрезания и заворачивания частей в пакеты более низкого уровня, в данном случае, например, ethernet-фреймы.
Таким образом, происходит инкапсуляция пакетов от протоколов верхнего уровня в пакеты протоколов более низких уровня.
После фактической передачи происходит обратное путешествие: этот фарш восстанавливается обратно: из нескольких eth-фреймов получаем ip-пакет, узнаём, допустим, что его надо отправтиь дальше, запаковываем и отправляем обратно. И так до целевой машины, котрая из нескольких ip-пакетов соберёт tcp-пакет и обработает его на уровне tcp и, возможно выше.
В некоторых случаях может быть так, что ip-пакеты собираются до tcp, чтобы решить, что делать дальше. Это налдо всегда иметь в виду.
Главное, что известно: фактически по сети передаётся существенно больше данных, чем запланировано на верхнем уровне.
Еще про Ethernet.
Сравнение mac-адреса получателя фрейма и mac-адреса сетевого адаптера делается на аппаратном уровне, поэтому операционная система, которая общается с адаптером со своей стороны, даже не узнает, что какие-то фреймы он отбросил как чужие.
В некоторых случаях бывает полезно перевести адаптер в так называемый promiscuous (неразборчивый) режим. В этом случае карат будет принимать все пакеты, которые пробегют мимо неё, в частности, чужие. Вообще говоря, именно таким спсобом сканируют чужой траффик и выковыривают пароли... Допустим, Вы вчера посидели в аське, а завтра в аське сидит Петька. Есть, впрочем, метод выявляения таких шпионов: пишется программа, которая генерит немыслимое количество фреймов, которые предназначены никому. Обычные адаптеры их проигнорирут спокойно, а вот если в сети есть адаптер, который прослушивает весь траффик, то его характеристики заметно ухудшатся, он будет хуже отвечать на пинг, и т.п.
Сведения о ресурсах
Готовность (%) |
Продолжительность (ак. ч.) |
Подготовка (календ. ч.) |
Полный текст (раб. д.) |
Предварительные знания |
Level |
Maintainer |
Start date |
10 |
1 |
1 |
1 |
|
1 |
02.07.2008 |