- •Типы компьютерных сетей
- •Стандартизация в компьютерных сетях
- •Сетевые топологии
- •Сетевые протоколы физического и канального уровней osi
- •Стандарт ieee 802.3 и строение сетей Ethernet
- •Контроль несущей (carrier sense)
- •Множественный доступ (Multiple Access)
- •Обнаружение коллизий (Collision Detection)
- •Спецификации физической среды Ethernet
- •Стандарт 10base5
- •Стандарт 10Base2
- •Стандарт 10BaseT
- •Физический уровень технологии Token Ring
- •Технология Fast Ethernet и 100vg-AnyLan как развитие технологии Ethernet. Физический уровень технологии Fast Ethernet.
- •Построение сегментов Fast Ethernet при использовании повторителей
- •Технология 100vg-AnyLan
- •Высокоскоростная технология Gigabit Ethernet
- •Технология fddi (Fiber Distributed Data Interface)
- •Особенности метода доступа fddi
- •Отказоустойчивость технологии fddi.
- •Объединение сетей на основе протоколов сетевого уровня
- •Принципы маршрутизации
- •Протоколы маршрутизации
- •Функции маршрутизатора
- •Уровень интерфейсов
- •Уровень сетевого протокола
- •Уровень протоколов маршрутизации
- •Многоуровневая структура стека протоколов tcp/ip
- •III. Уровень межсетевого взаимодействия
- •II. Основной (транспортный) уровень
- •I. Прикладной уровень
- •IV Уровень сетевых интерфейсов
- •Механизм гнезд и мультиплексирование соединений
- •Адресация в ip-сетях Типы адресов стека tcp/ip
- •Классы ip-адресов
- •Маршрутизация ip-пакетов без использования масок.
- •Дополнительная информация к разделу «Классы ip-адресов»
- •Адресация с использованием масок
- •Структуризация подсети с использованием масок одинаковой длины.
- •Работа модуля (протокола) ip в условиях необходимости учитывать наличие масок
- •Структуризация ip-сетей с использованием масок переменной длины
- •Маски переменной длины
- •Технология бесклассовой маршрутной маршрутизации
- •Суть технологии cidr
IV Уровень сетевых интерфейсов
Идеологическим отличием архитектуры TCP/IP от многоуровневой организации других стеков является интерпретация функций самого нижнего уровня – уровня сетевых интерфейсов. Сеть TCP/IP должна иметь средства включения в себя любой другой сети, какую бы внутреннюю технологию передачи данных эта сеть не использовала. Т.о. этот уровень нельзя определить раз и навсегда. Для каждой технологии подсети, включаемой в составную сеть, должны быть разработаны собственные интерфейсные средства. К таким интерфейсным средствам относятся протоколы инкапсуляции. Инкапсуляция – способ упаковки данных в формате одного протокола в формат другого. Например, к таким интерфейсным средствам относятся протоколы инкапсуляции IP-пакетов уровня межсетевого взаимодействия в кадры локальных сетевых технологий. Уровень сетевых интерфейсов протоколов TCP/IP не регламентируется, но он поддерживает все популярные стандарты физического и канального уровней: для локальных сетей это Ethernet, TokenRing, FDDI и т.п.; для глобальных сетей, это протоколы соединения SLIP (Serial Line Internet Protocol – протокол работы с IP по линиям последовательного доступа; этот протокол выполняет одну функцию – позволяет потоки бит, которые поступают по выделенному или коммутируемому (например, телефонному) распознать начало и конец IP-пакета; Помимо IP, другие протоколы сетевого уровня SLIP не поддерживают) и PPP (Point-to-Point Protocol – протокол канала связи с непосредственным соединением; разработан для передачи кадров информации по последовательным глобальным каналам связи в замен устаревшего SLIP). Протокол PPP стал фактическим стандартом для глобальных линий связи при соединении удаленных клиентов с серверами и для образования соединений между маршрутизаторами в корпоративных сетях. Приведем схему модулей протоколов, реализующих протоколы стека TCP/IP в узле сети базируясь на уровнях модели OSI.
На представленной схеме через ENET обозначен драйвер, непосредственно взаимодействующий с сетевой картой узла сети технологии Ethernet
Механизм гнезд и мультиплексирование соединений
Для установления соединения между двумя процессами на различных компьютерах сети требуется знать не только IP-адрес сетевого интерфейса компьютера, но и номер TCP-порта (сокет приложения, например, 80 для http), который процесс использует на данном компьютере. В соответствии с IP-адресом соединения порты образуют систему гнезд (sockets). Поэтому, гнездо всегда представляет из себя пару «IP-адрес соединения+порт». Пара гнезд (сокетов) уникально идентифицирует соединение или поток данных в IP-сетях, а порт обеспечивает независимость каждого TCP-канала на данном компьютере. Несколько процессов могут использовать один и тот же TCP-порт, но с точки зрения процесса между ними не будет разницы. Данные передаются между прикладным процессом и модулем TCP. Типичным прикладным процессом, использующим TCP является FTP. Стек взаимосвязанных протоколов в этом случае можно представить схемой: FTP / TCP / IP / ENET. При использовании протокола UDP данные передаются между прикладным процессом и модулем UDP. Например SNMP пользуется транспортными услугами UDP. Его стек протоколов выглядит так: SNMP / UDP / IP / ENET. Одно гнездо на компьютере может быть задействовано в соединениях с несколькими гнездами на уделенных компьютерах. Кроме того, одно гнездо может передавать поток данных в обоих направлениях. Т.о. механизм гнезд позволяет на одном компьютере одновременно работать нескольким приложениям и уникально идентифицировать каждый поток данных сети. Это и называется мультиплексированием соединений. Модули (протоколы) TCP, UDP и драйвер ENET являются мультиплексорами типа n*1. Действуя как мультиплексоры, они переключают несколько входов на один выход. Они также являются демультиплексорами типа 1*n, переключая один вход на один из многих выходов в соответствии со значением поля «тип» в заголовке протокольного блока данных, когда, например, Ethernet-кадр попадает в драйвер сетевого интерфейса Ethernet, он может быть направлен либо в модуль ARP, либо в модуль IP. В этом случае, значение поля «тип» в заголовке кадра как раз и укажет, куда должен быть направлен Ethernet-кадр. Если IP-пакет попадает в модуль IP, то содержащиеся в нем данные могут быть переданы либо модулю TCP, либо модулю UDP, что определяется полем «протокол» в заголовке IP-пакета. Если TCP-сообщение попадает в модуль TCP, то выбор прикладной программы, которой должно быть передано сообщение, осуществляется на основе значения поля «порт» в заголовке TCP-сообщения. Представим схемой инкапсуляцию протоколов верхнего уровня в протоколы стека TCP/IP.
Мультиплексирование данных в обратную сторону осуществляется просто, поскольку из каждого модуля (протокола) существует только один путь вниз. Каждый протокольный модуль добавляет к блоку передаваемых данных свой заголовок, на основании которого компьютер, принявший этот блок данных (на канальном уровне это фрейм, в поле данных которого находится IP-пакет) выполняет демультиплексирование.
Назначение портов приложением на каждом компьютере происходит независимо друг от друга. Протокол TCP может самостоятельно выбирать порт, с которым будет работать приложение или приложение укажет, с каким портом на данном компьютере оно будет работать. Как правило, часто используемые приложения – сервисы, используют одни и те же номера портов, которые стали общеизвестны, например, такие протоколы прикладного уровня (уровня приложений) как HTTP, FTP и др. В этом случае, чтобы обратиться к данному процессу, необходимо указывать только адрес машины. Например, для веб-браузера это порт №80. Это наиболее распространенный порт.