
- •Кафедра атпп
- •Введение.
- •Технологический раздел
- •Исходные материалы
- •Технологии используемые в данном проекте
- •Протокол nmea 0183
- •Устройство трекера
- •Стек протоколов tcp/ip
- •Модуль связи gsm/gprs Sim900d
- •Приёмник местоположения gps Quectel l10
- •Микроконтроллер stm32f100c4t6.
- •Среда создания программного обеспечения микроконтроллера stm32f100 CooCox CoIde.
- •Отладочное устройство stm32f4 Discovery
- •Импульсный стабилизатор напряжения на lm2596t-3.3 с
-
Стек протоколов tcp/ip
Передача данных между всеми компонентами системы осуществляется по стеку протоколов TCP/IP.
Стек протоколов TCP/IP состоит из нескольких уровней:
Канальный уровень. Организует данные в кадры. Каждый кадр имеет заголовок, содержащий адрес и управляющую информацию, а завершающая секция кадра используется для определения ошибок. Заголовки кадров содержат физические адреса (MAC) источника и назначения, которые идентифицируют передающую и принимающую интерфейсные карты локальной сети (сетевые адаптеры).
Вызов соединения (связи) в локальной сети, т.е. создание некоторой линии между конечными точками передачи данных описываются протоколами уровня связи данных.
Кроме того, канальный уровень имеет дело с физическими носителями, разъемами и сигналами для представления логических нулей и единиц. Например, адаптеры сетевого интерфейса Ethernet и соединяющие их кабели реализуют функции канального уровня.
Сетевой уровень. Функции сетевого уровня выполняет протокол IP, который осуществляет, маршрутизацию данных между системами. Данные пересылаются в элементах, называемых датаграммами.
Датаграмма имеет заголовок IP, содержащий информацию об адресации для третьего уровня. Маршрутизатор проверяет адрес назначения для пересылки датаграммы в нужное место. Сетевой уровень не гарантирует тот же порядок получения датаграмм, как при их отправке.
Транспортный уровень (TCP). Протокол TCP выполняет функции транспортного уровня и обеспечивает надежную службу пересылки данных для приложений. Уровень IP не гарантирует правильной доставки дейтаграмм, поэтому TCP/IP встроен специальный механизм, гарантирующий пересылку данных без ошибок и пропусков и в той последовательности, в которой они были отправлены. TCP приходится следить за истекшими интервалами ожидания и заниматься повторной передачей пакетов, восстанавливать сообщения из прибывших не в том порядке дейтаграмм.
TCP отсылает сегменты в IP, в котором производится маршрутизация данных в заданное место. На другой стороне соединения TCP предполагает получение тех же сегментов данных от IP, определяет приложение, которому направлены эти данные, и передает их приложению в том порядке, в котором они были отправлены.
Кроме того, TCP осуществляет управление потоком, чтобы быстрый отправитель не завалил информацией медленного получателя.
Последним уровнем TCP/IP является Прикладной уровень. Имеются множество стандартных протоколов такие как FTP (протокол передачи файлов), SMTP (протокол передачи почты), HTTP (протокол передачи гипертекста) и т.д. Но в данной работе для обмена данными между сервером, клиентом и трекером будет реализован свой прикладной протокол.
Рисунок 8. Инкапсуляция и демультиплексирование данных
1. Данные из программы отправителя делятся на части на уровне протокола TCP, к ним добавляется заголовок TCP содержащий данные необходимые для последующего восстановления передаваемого сообщения, образуется TCP сегмент.
2. На сетевом уровне сегменты TCP укладываются в IP датаграммы (1 сегмент в 1 датаграмму). К сегменту TCP добавляется заголовок IP, содержащий адреса отправителя и получателя в формате IP-адреса, образуется IP датаграмма.
3. На канальном уровне к IP датаграмме добавляется заголовок кадра, содержащий физические адреса (MAC) передающей и принимающей сетевой карты, образуются кадры.
4. Полученные кадры преобразуются сетевой картой отправителя в физические сигналы, передаваемые по среде передачи данных.
5. Принимающая сетевая карта преобразуется физические сигналы обратно в кадры и передаёт их на сетевой уровень.
6. Сетевой уровень преобразует кадры в IP датаграммы и передаёт их на транспортный уровень.
7. Транспортный уровень преобразует IP датаграммы в TCP сегменты и передаёт их в программу получатель на прикладной уровень, образуется входной поток байтов.