Сумасшедший Арлекин
А это потому, что люди склонны находить в книгах именно то, что они в них ищут, — такова человеческая натура.
У меня такое впечатление, что не только у нас в стране было модно
теоретизировать от забора и до обеда. Open System Interconnection
reference model как раз является примером такого теоретизирования.
Появилось это чудо довольно давно, ещё в 1978 году. Я помню времена
(1985), когда преподаватели со светом в глазах и верой в продажную
девку империализма задвигали OSIшную модель, переведённую (с трудом)
на русский язык. Хотя в
эту дребедень уже тогда верилось примерно также, как в лекции по
программированию на трёхадресных машинах (были такие по телевизору).
Сейчас народ к OSI'шной модели привык - как к ещё одному крику со
стороны оксивленных маркетоидов и систёмных дезынтегратов: "наши
сетевые решения полностью соответствует модели OSI международного
стандарта ISO, а также всем другим стандартам открытых систем" :-)
Такая реклама радует даже более, чем вутопреслый "интерфейс стык С2"
который
был на 2% уже, а в остальном соответствовал. Обычно эти слова ровным
счётом ничего не значат.
Реально идея стандартизации такова, что за каждый уровень отвечает свой
комитет/люди/кусок работы/фирмы etc. Что уже в то время смотрелось как
порождение бюрократов и акт вандализма так как пользователю нужно
было, чтобы работало, а не чтобы он знал "где не работает". С одной
стороны уже тогда сужествовали вполне пригодные для работы системы на
базе TCP/IP и IPX/SPX (к последнему novell таки притянул за уши OSI
модель - смотри красные книжки - довольно смешно воспринимается), с
другой стороны
верхние уровни (6 и 7) были практически ничем не прикрыты и уже
становилось ясно, что разделение получилось достаточно условное и
хлипкое.
Начнём рассмотрение OSI модели с младшего уровня:
level 1 - Physical layer Это физический уровень передачи данных.
Например это железка, которая торчит в компьютере, кабель к ней
привинченный, мужик с тестером, который обрывы ищет, девочка с
дискеткой, которая мегабайты переносит когда мужика нет - то есть это
абстрагированная среда передачи данных.
level 2 - Data link layer Этот уровень соответствует принятому для
физической среды протоколу передачи данных. Например: для Ethernet это
пакеты с MAC адресами; для девочкм с дискетой - дискеты; для модема -
V34 или V21; для кого то другого - кадры, блоки, пакеты - то есть то,
что обслуживается аппаратурой и имеет свойственный ей размер.
level 3 - Network layer Этот уровень занимается передачей пакетов,
сборкой, разборкой, маршрутизацией, сбором статистики, запретами.
Здесь уже появляются логические адреса - например IP адреса для
TCP/IP, номера телефонов для dial-upных модемов, или, к примеру, номер
кабинета для девочкм с дискетой.
level 4 - Transport layer Обеспечивает надёжную связь, коррекцию
ошибок. Если пакет пришёл в двух экземплярах, то второй надо выкинуть.
Если долго не приходит - то переспросить. Если контрольная сумма не
совпала, то ... плохо. Для IP это делает TCP, для модема - v42 или
MNP4. У девочки этот уровень обычно отсутствует.
level 5 - Session layer Обеспечивает сессию между машинами. Вы послали
пакет. На другой машине дёрнулось какое то запускалово, которое начало
разбираться с Вами. Или не начало, потому как Вы недостойны. У Вас
может быть несколько потоков данных - их нужно разложить из общей
кучи. Вас могут попросить зарегистрироваться, Вы можете попросить
что-нибудь запустить.
level 6 - Presentation layer Обеспечивает перекодировку, криптографию,
компрессию данных. При необходимости байты перемещает местами. Для
модема это MNP5 или [v42]bis. Для девочки с дискетой - переводчик,
распечатчик на бумажку или машинистка под диктовку
набирающая текст. Этот уровень предоставляет прикладной программе
простой, понятный, удобный и быстрый интерфейс, который совершенно
стандартен и все его и только его используют.
level 7 - Application layer Это самый главный и туманный уровень. В
него вынесено всё, что не запихнули в предыдущие. Здесь находятся
прикладные программы. Они обеспечивают пользовательский интерфейс -
так как всё остальное уже сделано :-) Любая программа идеально
переносима от одной системы к другой по крайней мере в области сетевой
поддержки. С точностью до перекомпиляции. Это как секретарша, которая
сама разбирается
в существе дел и вечером доводит итоги до начальника, осуществляя
таким образом этот самый интерфейс. Начальник отдаёт должные команды -
и далее может расслабиться и отдохнуть. Вот вкратце теория. Если
применять её к реальной жизни, то всё как бы не совсем так :-)
Обычно зоны разделения ответственности следующие:
1. Физический уровень - железо, кабеля, телефонисты, etc. Этот уровень
должен Вас довести до уровня разъёма, на котором "хорошо". То есть Вы
в него можете воткнуться и увидеть, что сопритивление линии
правильное, carrier есть, мусора нет, лампочкм подмигивают. Наверное
сюда же стоит отнести драйвер, обслуживающий это устройство.
2. Протокол. Здесь Вы выбираете, что Вы изволите. TCP/IP или IPX/SPX, ppp с
причандалами или slip, hdlc или frame relay. Протоколы можно
нагромоздить друг на друга в более-менее произвольном порядке и даже
добиться того, чтобы пакеты ходили. Собственно этот уровень можно
считать пройденным, когда пакеты не только уходят от Вас, но и ответы
приходят к Вам.
3. Сетевая операционная система. Как работает это хозяёство обычно
полностью не представляют даже разработчики :-) Цель проста: снизу
протокол передачи данных, сверху пользовательские программы, нужно
чтобы всё работало. Итог ясен: работает не всё. Если человек в
молодости написал хороший кусок такой системы, то остаток жизни он
рискует провести за её support'ом. Пока система не деморализуется, а
человек вознесётся и его начнут
забывать информировать об ошибках/патчах в его же прогамме :-)
Сюда следует отнести множество невидимых пользователю демонов, живущих
своей тихой жизнью, интерфейсы типа сокетов, stream'ов (интересно,
рука поднялась написать по русски socket, а вот на "стрим" не
поднимается), труд администраторов сети, без которых оно почему-то
работает "не совсем так"
4. Программы для пользователя. Пользовательский интерфейс крайне широк
- сами знаете. Он базируется на стандартных функциях, предоставляемых
третьим уровнем и в результате электричество смотрит Вам в лицо".
Enjoy!
> Mr. Andrew L.Davydov
> Network Manager - UniForum Member
--
Игорь Николаев

@темы: – Знакомься – это Бокуто, мой бро. Забудь про слово «логично», оно тебе больше не понадобится., «На самом деле жизнь - это битва не между хорошим и плохим, а между плохим и наихудшим», все о том же гудят провода, Все того же ждут самолеты, всякое