Давайте, я тоже попробую, поскольку сетевик-девелопер на данный момент. Объяснять буду используя терминологию OSI, Unix, форточек. Небольшое введение.
Принята 7-и уровневая модель. Каждый уровень общается с другим, но не перескакивает. Таким Образом, пользователь уровня работает только с этим уровнем и полностью экранирован от нижних уровней.
Вот название уровней на анлийском (нумеруют их, обычно сверху вниз, показывая тем самым, что более высокий номер соответсвует более высокому логическому положению):
7. Application.
6. Presentation.
5. Session.
4. Transport.
3. Network.
2. Data Link.
1. Physical.
Теперь маленькие объяснения про каждый уровень. Только надо помнить, что это все очень упрощенно - кому интересно, могу порекомендовать список литературы и интернетовских источников.
1. Физический уровень - это определение физической среды и электрических параметров. Если говорим про Ethernet - то это напряжение в проводах, токи, сама среда, тп.
2. Звено даныых - грубо говоря, это определение последовательности электрических сигналов, временных взаимоотношений и тп. Уровни 1 и 2 реализуются на сетевых карточках.
3. Сетевой - этот уровень отвечает за доставку пакетов и их маршрутизацию.
4. Транспортный - обеспечение надежности доставки. Скажем всем известный IP является сетевым протоколом (уровня 3) и он ненадежен. TCP протокол более высокого уровня - надстройка над IP. Так IP позволяет связаться с машиной, но не с конкретным приложением, а TCP и UDP имеют понятие порта, который открывается/создается приложением. Вообще, когда говорят о TCP/IP, то имеют ввиду все семейство протоколов - их там дофига - уже более сотни, я думаю. Итак TCP - надежный, а UDP - как и IP - нет, хотя UDP находится на уровне TCP. Вообще TCP/IP не ложиться на OSI модель полностью. Но последняя является хорошей абстракцией для понимания.
5. Сессий - этот уровень обеспечивает понятие сессии - начала, конца, таймаут, тп. Телнет, http - хорошие примеры. Хотя http имеет признаки уровня 6.
6. Представления данных - на разных машинах данные представляются по разному, так этот уровень должен заботиться о том, чтобы уровень 7 об этом не думал.
7. Приложений - хорошо писать апликуху не задумываясь про мелочи на уровнях ниже - например, пишем что-то для баз данный. Открываем базу, исполняем SQL операторы - никого не волнует, если БД на вашем компьютере или где-то в сети.
Вот, вы купили карчтоку сетевую - у вас уровни 1 и 2 есть. А карточке прилагается драйвер. Это уровень 3 - по терминологии форточек NDIS драйвер (тот коротый с MAC level читает и передает наверх). А у операционки уже есть TCP/IP стек (почему стек - потому что это целое семейство протоколов надстроенных друг над другом). Таким образом налицо преимущество многоуровневого подхода - сменили карточку и драйвер, а никто из приложений и ничего не заметил.
Каждый уровень вкладывает данные верхнего уровня в пакеты своего. Т.е. налицо некоторые издержки на дополнительные поля.
a_valery>Ром, прочел я вот это твое: Это как раз оказался Slapper, который через дыру в OpenSSL взламывает компьютер жертвы и организует P2P-сеть, которая потом и используется для рапределённой DDoS-атаки. [ слишком длинный топик - автонарезка ]