Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Протоколы мережевого та транспортного рівнів

Протокол сетевого уровня чаще всего разрабатывается и используется в паре с соответствующими протоколами транспортного, а иногда и прикладного уровня, образуя стек протоколов. В качестве примера можно привести следующие протоколы: IPX/SPX, NetBIOS/SMB, TCP/IP.

Стек протоколов IPX/SPX

Был разработан фирмой Novell для сетевой ОС NetWare, оптимизирован для использования в небольших локальных сетях, однако не удобен для глобальных сетей. Он включает в себя протоколы IPX, SPX, SAP, NCP.

Рис. 3.5. Распределение протоколов по уровням

Протокол IPX (Internetwork Packet Exchange —межсетевой обмен пакетами) - протокол сетевого уровня, который поддерживает обмен пакетами (датаграммами) без установления канала связи и гарантии доставки пакета. Протокол IPX также отвечает за адресацию в сетях Net Ware. Адрес имеет формат: номер сети (задается администратором сети), адрес сетевой карты (определяется автоматически), номер сокета (идентифицирует приложение, пославшее пакет). Протокол IPX - аналог протокола IP из стека TCP/IP. Протокол IPX самый быстрый и экономит память, однако не дает гарантии доставки сообщения. За восстановлением утерянных или испорченных пакетов должен следить сам программист. Использование протокола SPX избавляет программиста от этой необходимости.

Протокол SPX (Sequenced Packet Exchange — последовательный обмен пакетами) — протокол транспортного уровня, который поддерживает установление логического канала связи между компьютерами для обмена данными, коррекцию ошибок и, при необходимости, повторную передачу пакетов (аналог протокола TCP из стека TCP/IP).

Прикладной уровень стека IPX/SPX составляют два протокола: NCP и SAP. Протокол NCP (NetWare Core Protocol — протокол ядра NetWare) поддерживает все основные службы операционной системы Novell NetWare — файловую службу, службу печати и т. д. Протокол SAP (Service Advertising Protocol -протокол объявлений о сервисах) выполняет вспомогательную роль. С помощью протокола SAP каждый компьютер, который готов предоставить какую-либо службу для клиентов сети, объявляет об этом широковещательно по сети, указывая в SAP-пакетах тип службы (например, файловая), а также свой сетевой адрес. Наличие протокола SAP позволяет резко уменьшить административные работы по конфигурированию клиентского программного обеспечения, так как всю необходимую информацию для работы клиенты узнают из объявлений SAP.

Протоколы RIP (Routing Information Protocol) и NLSP (NetWare Link Service Protocol) отвечают за управление маршрутизацией (выбор маршрута доставки) пакетов. Протокол RIP реализован также и в стеке протоколов TCP/IP, а протокол NLSP аналогичен протоколу OSPF сетей TCP/IP.

Стек протоколов NetBIOS / SMB

Применяется фирмой Microsoft в своих сетевых ОС. В частности сетевое окружение работает при помощи этого стека протоколов. NetBIOS включает в себя протоколы сетевого и транспортного уровня. Обеспечивает поддержку имен: каждая из рабочих станций в ЛВС может иметь одно или несколько имен (эти имена хранятся NetBIOS в таблице, в формате адрес сетевого адаптера - имя NetBIOS). Обеспечивает как обмен датаграммами, без установления канала связи и гарантии доставки сообщений, так и передачу пакетов с установление логического канала связи между компьютерами с коррекцией ошибок и повторной передачей пакетов при необходимости.

Стек протоколов ТСР/IР

Протокол ТСР/IР (Transmission Control Protocol/Internet Protocol - протокол контроля передачи данных / протокол передачи данных между сетями, Internet) разрабатывался Министерством Обороны США для глобальной сети ARPANET, и впоследствии стал основным протоколом, применяющимся в Internet. В состав стека протоколов ТСР/IР входят протоколы: IP и ICMP — сетевой уровень, TCP и UDP — транспортный уровень.

Протокол IP (ICMP)

Протокол IP отвечает за адресацию в сети и доставку пакетов между компьютерами сети, без установления соединения и гарантий доставки пакета. При использовании протокола IP, каждый компьютер в рамках сети должен иметь уникальный IP — адрес, представляющий собой 32-битное число. Для удобства чтения, IP адрес разбивают на четыре 8 битовых числа, называемых октетами, например 149.76.12.4. В локальной сети, которая не подключена к Internet или другим сетям, Вы можете назначать IP-адреса произвольно (главное, чтобы они не совпадали). Однако в Internet, IP-адреса выделяются централизовано, организацией InterNIC. InterNIC выдает адреса не на каждый отдельный компьютер, а в целом на локальную сеть.

В IP-адресе выделяют две части: сетевую часть (адрес локальной сети) и адрес компьютера в сети. Сетевая часть адреса может иметь переменную длину, которая зависит от класса IP-адреса и маски подсети. Выделяют следующие классы IP-адресов:

Класс А: включает сети с адресами от 1.0.0.0 до 127.0.0.0. Сетевой номер содержится в первом октете (1-127), что предусматривает 126 сетей по 1.6 миллионов компьютеров в каждой. Стандартная маска подсети для адреса класса имеет вид 255.0.0.0.

Класс В: Включает сети с адресами от 128.0.0.0 до 191.255.0.0. Сетевой номер находится в первых двух октетах (128.0 - 191.255), что предусматривает 16320 сетей с 65024 компьютерами в каждой. Стандартная маска подсети для адреса класса имеет вид 255.255.0.0.

Класс С: Включает сети с адресами от 192.0.0.0 до 223.255.255.0. Сетевой номер содержится в первых трех октетах (192.0.0 - 223.255.255). Это предполагает почти 2 миллиона сетей по 254 компьютеров в каждой. Стандартная маска подсети для адреса класса имеет вид 255.255.255.0.

Класс D: Включает адреса от 224.0.0.0 до 239.255.255.0. Эти адреса являются групповыми (multicast). Если нескольким компьютерам в сети назначен один и тот же групповой адрес, то пакет, адресованный на этот адрес, получат все компьютеры. Такие адреса в локальных сетях используются редко и зарезервированы для того времени, когда технические возможности сети Internet позволят организовывать теле- и радиовещание на группы компьютеров.

Классы Е и F: Адреса попадающие в диапазон от 240.0.0.0 до 254.0.0.0 являются или экспериментальным, или сохранены для будущего использования и не определяют какую-либо сеть.

Помимо адресов из классов A, B, C, D, E, F существует также несколько зарезервированных адресов. IP-адрес, в котором все биты октеты адреса компьютера равны 0 относится ко всей сети, а где все биты октеты адреса компьютера равны 1 назван широковещательным (broadcast) адресом. Он относится к каждому компьютеру сети. Таким образом, 149.76.255.255 - не существующий адрес компьютера, который относится ко всем компьютерам из сети 149.76.0.0.

Имеются еще два зарезервированных IP-адреса, 0.0.0.0 и 127.0.0.0. Первый назван путь пакетов по умолчанию (default route), второй - кольцевым (loopback) адресом или ссылкой на самого себя. В несуществующей сети 127.0.0.0, адрес 127.0.0.1 будет назначен специальному интерфейсу, который действует подобно закрытому кругообороту. Любой IP пакет переданный на этот адрес будет возвращен на этот же компьютер так, как если бы пакет пришел откуда-то из сети. Это позволяет тестировать сетевое программное обеспечение без использования реальной сети.

Также имеется ряд серых IP-адресов, которые зарезервированы для использования только в локальных сетях. Пакеты с серыми адресами не передаются маршрутизаторами Internet. К таким адресам относятся:

- Сеть класса А 10.0.0.0

- Сеть класса В от 172.16.0.0 до 172.31.0.0

- Сеть класса С от 192.168.0.0 до 192.168.255.0

Кроме адресации компьютеров в сети, протокол IP также отвечает за маршрутизацию (выбор маршрута доставки) пакетов данных в сетях с произвольной топологией. Маршрутизация происходит на основании специальных таблиц маршрутизации, либо программно (сетевой операционной системой), либо при помощи специальных сетевых устройств - маршрутизаторов. Рассмотрим, как происходит доставка пакета по протоколу IP. В процессе рассмотрения будет частично затронут и протокол ARP (Address Resolution Protocol), позволяющий преобразовывать IP-адреса (сетевой уровень) в 6 байтные МАС-адреса сетевых карт Ethernet (канальный уровень):

1. Сеть состоит из отдельных сегментов (подсетей), которые соединены между собой либо маршрутизаторами, либо обычными компьютерами, на которых функции маршрутизации выполняются операционной системой. Такие компьютеры имеют несколько сетевых карт, каждая из которых имеет свой адрес в соответствующей подсети и являются шлюзами (gateway) из одной подсети в другую. Шлюзом называется любое сетевое оборудование с несколькими сетевыми интерфейсами и осуществляющее продвижение пакетов между сетями на уровне протоколов сетевого уровня.

2. Адресация в сетях идет по протоколу IP, поэтому компьютер-отправитель знает IP-адрес получателя. Но для доставки пакета на аппаратном уровне необходимо знать Ethernet-адрес сетевой карты получателя. Для этого по протоколу ARP посылается широковещательное сообщение всем компьютерам в данном сегменте сети. Все компьютеры получают его, но только компьютер с указанным IP-адресом «отзывается» и сообщает Ethernet-адрес своей сетевой карты. Компьютер отправитель кэширует ответ в своей памяти и в дальнейшем (пока кэш не будет очищен) будет направлять пакеты по этому Etehrnet-адресу. Таким образом, доставка в рамках одного сегмента сети происходит напрямую.

3. Однако компьютер-получатель может и не находиться в одном сегменте с отправителем (что видно по маске подсети). В таком случае, сообщение будет послано на маршрутизатор (IP-адрес маршрутизатора (шлюза) устанавливается вручную при настройке сети), который, получив широковещательный ARP- запрос, сообщит компьютеру-адресату свой Ethernet-адрес и дальнейшая связь будет идти через маршрутизатор. Маршрутизатор анализирует свои таблицы маршрутизации, и на основании их принимает решение о маршруте доставки пакета. Таблицы маршрутизации частично составляются вручную администратором сети, а частично динамически обновляются, на основании данных соседних маршрутизаторов, по протоколам RIP, OSPF, NLSP, BGP и др.

Протоколы TCP и UDP

Протоколы транспортного уровня в стеке TCP/IP представлены двумя протоколами: TCP и UDP. Протокол TCP позволяет устанавливать виртуальный канал передачи данных между компьютерами. Канал устанавливается следующим образом:

1. Компьютер А посылает компьютеру В пакет, с установленным флагом SYN (синхронизация) и случайным числом (а)

=> SYN(a).

2. Компьютер В отвечает пакетом, с установленными флагами АСК (подтверждение), с параметром (а+1), и установленным флагом SYN и своим случайным числом (b).

<=АСК(а+1), SYN(b)

3. Компьютер А завершает процесс установление канала пакетом, с флагами АСК(а+1), АСК (b+1).

=> АСК (а+1), АСК (b+1)

После установления канала программа может направлять в него данные непрерывным потоком как на стандартное устройство ввода-вывода. Протокол TCP сам разобьет данные на пакеты, с помощью алгоритма скользящего окна обеспечит подтверждение факта получения пакетов принимающей стороной и повторную передачу пакетов, если в этом будет необходимость. Кроме того, в протоколе TCP реализованы достаточно сложные механизмы регулирования загрузки сети и устранения заторов в сети. Протокол UDP более быстр, чем протокол TCP, однако менее надежен. Данные передаются без установления виртуального канала, в предположении, что принимающая сторона ждет данные. Программа должна сама позаботиться о разбитии передаваемых данных на пакеты, протокол не содержит средств подтверждения факта доставки сообщения и средств коррекции ошибок - все эти задачи должна решать программа.

При рассмотрении протоколов транспортного уровня необходимо остановиться на понятиях порт и сокет. Порт в протоколах транспортного уровня — это не физически существующий порт ввода-вывода (как, например, последовательный порт СОМ1), а виртуальный порт, который программно изолирует данные передаваемые по одному порту, от данных передаваемых по другому порту. Порты нумеруют от 0 до 65535. Существуют общеизвестные порты (well known ports), каждый из которых традиционно связан с тем или иным видом сетевого приложения. Например, стандартным портом для Web-сервера является порт 80. Большинство общеизвестных портов имеют номера меньше 1024. Это связано с тем, что в ОС Unix порты с номерами меньше 1024 доступны только приложениям с привилегиями суперпользователя root (администратор), поэтому пользователь без этих привилегий не сможет запустить собственный Web-сервер, который подменит на 80 порту настоящий Web-сервер. Порты TCP и порты UDP не зависят друг от друга. Порт 80 TCP может быть занят одним сетевым приложением, а 80 порт UDP — другим приложением.

Сокет (socket) — это описатель сетевого соединения между двумя сетевыми приложениями, которое включает в себя:

IP-адрес и номер порта локальной машины,

IP-адрес и номер порта удаленной машины.

Сокет однозначно описывает сетевое соединение. У двух различных соединений хотя бы один из приведенных выше параметров должен отличаться. Например, к 80 порту сервера могут одновременно подключиться два приложения, работающие с различных портов на клиентской машине.

<== предыдущая лекция | следующая лекция ==>
Протоколи канального рівня | Протоколи прикладного рівня
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 309; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.024 сек.