Протоколы компьютерных сетей
Содержание:
- Локальная сеть
- Общие сведения
- Что такое TCP/IP
- Протоколы уровня 3 Network layer (Сетевой уровень)
- Инкапсуляция данных
- Протоколы уровня 7 (Прикладной уровень)
- Модель OSI
- Основные характеристики
- Основные протоколы интернета
- Какими бывают протоколы Интернета
- Состояния сервера
- Какой протокол является базовым для сети Интернет
- Уровни сетей и модель OSI
- Активации канала PPP и его фазы
- Основные характеристики
Локальная сеть
Абонент соединяется с использованием сети LAN Ethernet и при этом отсутствуют дополнительные подключения.
Просто компьютер подсоединяется одним из двух видов кабеля:
Необходимо отметить, что этот вид подключения имеет два следующих подвида:
- Динамический – DHCP, который можно отнести к простым видам, так как у пользователя нет необходимости во вводе параметров настроек. Достаточно вставить провод в ПК и все нужные характеристики поступят в автоматическом режиме.
- Статический – IP. В этом случае IP-адрес фиксированный и нужно вручную ввести параметры сети. Настройки прописаны в контрактных документах поставщика услуг связи с клиентом. Нужно указать следующие обязательные характеристики конфигурации: IP, маску подсети, ДНС и шлюз.
В компьютере на операционной системе Windows эти параметры вводятся в «Свойствах протокола Интернета» версии 4.
В этом меню можно легко изменить характеристики в соответствии с указанными в договоре с провайдером данными.
Примечание: Нередко в этих двух подвидах применяется привязка по адресу «МАС».
Сегодня кабельный тип подключения к интернету через WAN разъем пока занимает лидирующую позицию в рейтинге популярности среди пользователей.
Главное достоинство – высокая скорость при сравнительно низких ценах на тарифы обслуживающей компании.
Провайдеры подключают клиентов в этом случае следующими способами:
а) с использованием оптоволоконного кабеля;
б) через витую пару.
Общие сведения
Сетевой протокол – это набор правил, который позволяет обмениваться данными нескольким устройствам связанным сетью. Ни одно удалённое подключение не может обойтись без работы протоколов, без них система просто не знала бы как взаимодействовать и общаться. Если обобщать, то можно сказать что это семейство стандартов, предписывающее методы общения, а также спецификации оборудования.
Для описания и деления протоколов используется семиуровневая модель OSI (Open System Interconnection — взаимодействие открытых систем, ВОС). В этой классификации описываются все формы взаимодействия необходимые для полноценной работы оборудования:
• Приложение;
• Представление;
• Сеанс;
• Транспорт;
• Сеть;
• Передача данных;
• Физическое воплощение.
Что такое TCP/IP
TCP/IP — это набор протоколов, специальных правил, которые упорядочивают и обеспечивают надежный обмен информацией среди устройств, объединенных в сеть. Это может быть локальная сетка из двух компьютеров, так и глобальная паутина.
Полностью пишется, как, Transmission Control Protocol/Internet Protocol, что в переводе означает — Протокол управления передачи/Интернета.
Позволяет взаимодействовать между собой устройствам, находящимся в разных сетях и с различными операционными системами, например, между Windows, Mac OS, Linux и т.д.
Название данного стека — набора правил сложилось из основных двух:
- Протокол IP — берет на себя задачу по адресации, определяет, где в передаваемых данных: адрес, содержимое.
- Протокол TCP — обеспечивает и контролирует надежную передачу информации и ее целостность.
Также включает в себя и другие, но так, как эти являются базовыми, закрепилось именно такое называние. Как видите, все оказалось довольно просто.
Как работает TCP/IP — принцип работы
У каждого компьютера и ноутбука в сети есть свой уникальный ip адрес. Программы, которые используются на компьютере применяют свой уникальный порт для их идентификации. Порт необходим, чтобы программы различали друг друга, т.к. только по айпи будет не понятно, какой софт запрашивает информацию и куда ее следует отправлять.
Так обмениваются между собой программы по сети:
Программа 1 — отправитель:
IP адрес: 192.168.0.32
Порт: 2054
Программа 2 — получатель:
IP адрес: 192.168.0.34
Порт: 2071
Пересылаемые данные пакета:
— — —
IP — это уникальный адрес компьютера. Порт — это идентификатор приложение установленного на нем. Связка, IP + порт называется — сокет.
Стек протоколов TCP/IP
Стек разделяется на четыре уровня, в каждом из которых свои протоколы. Все они функционируют одновременно, поэтому у каждого есть свои правила, чтобы они работали без перебоев и конфликтов.
1. Прикладной / Для приложений. Это: HTTP, SMTP, DNS, FTP и т.д. Т.е. Веб, почта, передача файлов и прочее.2. Транспортный. Это: TCP, UPD и т.д. Отвечает за связь между компьютерами и за доставку данных.3. Сетевой (межсетевой). IP, IGMP и т.д. Отвечает за адресацию.4. Канальный / Сетевые интерфейсы. Это: Ethernet, Wi-Fi, DSL.
На этом стеке и реализовано все взаимодействие пользователей в IP сетях. Также, существуют и другие стеки: OSI, IPX/SPX, IPX/SPX.
В заключение
Вот вы и узнали, что это такое, постарался объяснить все просто, для «чайников». Следующие материалы также будут посвящены технологии передачи данных в интернете.
Протоколы уровня 3 Network layer (Сетевой уровень)
3-й уровень сетевой модели OSI, предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и заторов в сети. На этом уровне работает такое сетевое устройство, как маршрутизатор.
- CLNP Сетевой протокол без установки соединения
- EGP протокол внешнего шлюза (устарел)
- EIGRP Enhanced Interior Gateway Routing Protocol
- ICMP Internet Control Message Protocol
- IGMP Internet Group Management Protocol
- IGRP Interior Gateway Routing Protocol
- IPv4 Internet Protocol version 4
- IPv6 Internet Protocol version 6
- IPsec Internet Protocol Security
- IPX Internetwork Packet Exchange
- SCCP Signalling Connection Control Part
- AppleTalk DDP
Инкапсуляция данных
Взаимодействие между одноименными уровнями модели OSI осуществляется логически с использованием правил того или иного протокола. Это взаимодействие происходит в форме передачи сообщений, которые называются блоками данных протокола (protocol data units, PDU). Каждый PDU имеет специальный формат, определенный в соответствии с функциями и требованиями конкретного протокола.
Для организации передачи данных, протокол уровня N должен передать PDU на нижележащий уровень N-1. Протокол уровня N-1 предоставит сервис вышележащему уровню N, т.е. он примет PDU протокола уровня N, который станет для него данными,обработает их и передает дальше на уровень N-2. На уровне N-1 PDU протокола уровня N будет называться блоком данных сервиса (service data unit, SDU). Чтобы обеспечить сервис, протокол уровня N-1 помещает SDU, полученный от уровня N, в поле данных своего PDU и добавляет служебную информацию (заголовки и/или концевики), необходимую протоколу для реализации своей функции. Этот процесс называется инкапсуляцией данных.
Инкапсуляция — это процесс, при котором к данным добавляется служебная информация определенного протокола (уровня) перед отправкой в сеть.
Для обозначения PDU некоторых протоколов используются специальные термины. Сегментом (segment) называется PDU протокола TCP, который работает на транспортном уровне модели OSI и стека TCP/IP. Пакетом (packet) или IP-дейтаграммой называют блок данных протокола IP, работающего на сетевом уровне модели OSI и уровня Интернет стека TCP/IP. На канальном уровне модели OSI и уровне доступа к сети стека TCP/IP PDU называются кадрами (frame).
Рассмотрим процесс инкапсуляции при передаче данных между узлами, показанный на рисунке 2.4. Когда приложение на компьютере А отправляет сообщение приложению на компьютер В, то оно передает его на уровень приложений компьютера А. Затем с уровня приложений, данные передаются на уровень представлений, который отправляет их ниже на сеансовый уровень. Сеансовый уровень пересылает данные транспортному уровню, который в свою очередь формирует сегмент путем добавления служебной информации, и передает его сетевому уровню модели OSI. Сетевой уровень принимает сегмент и добавляет свой заголовок, образуя пакет, и передает его нижележащему уровню. Канальный уровень в свою очередь создает кадр путем добавления заголовка канального уровня и концевика, затем передает его физическому уровню. На физическом уровне поток битов преобразуется в электрические, электромагнитные или оптические сигналы, которые отправляются через среду передачи компьютеру В.
Физический уровень компьютера В принимает сигналы из физической среды, извлекает из них информацию в виде потока битов. Далее из этого потока формируется кадр, который передается выше на канальный уровень. Канальный уровень принимает кадр и анализирует служебную информацию, предназначенную для него. В случае отсутствия каких-либо ошибок, канальный уровень извлекает из сообщения данные, предназначенные для вышележащего сетевого уровня, и передает их ему. Этот процесс повторяется на каждом вышележащем уровне вплоть до уровня приложений. Уровень приложений компьютера В передает информацию приложению-приемнику и процесс обмена данными завершается. Другими словами, достигнув узла-получателя, сообщение проходит через все уровни в обратном порядке (от 1-го до 7-го), последовательно преобразовываясь на каждом из них с использованием соответствующей служебной информации, пока не достигнет приложения-приемника. Этот процесс называется декапсуляцией данных.
Протоколы уровня 7 (Прикладной уровень)
- ADC — peer-to-peer-протокол обмена файлами
- AFP, Apple Filing Protocol
- BACnet, Building Automation and Control Network protocol
- BitTorrent — peer-to-peer-протокол обмена файлами
- BOOTP, Bootstrap Protocol
- DIAMETER — протокол аутентификации, авторизации и работы с аккаунтами
- DICOM содержит определение сетевого протокола
- DICT — словарный протокол
- DNS — система доменных имён
- DHCP, Dynamic Host Configuration Protocol
- ED2K — peer-to-peer-протокол обмена файлами
- FTP — протокол передачи файлов
- Finger — протокол, возвращающий информацию о пользователях на удалённом компьютере
- Gnutella — peer-to-peer-протокол скачивания файлов
- Gopher — иерархический протокол на основе гиперссылок
- HTTP, Hypertext Transfer Protocol
- IMAP, Internet Message Access Protocol
- IRC — протокол для чата
- ISUP, ISDN User Part
- XMPP — протокол мгновенного обмена сообщениями
- LDAP Lightweight Directory Access Protocol
- MIME, Multipurpose Internet Mail Extensions
- MSNP, Microsoft Notification Protocol (используется в Windows Live Messenger)
- MAP, Mobile Application Part
- NetBIOS — протокол общего пользования файлами и разрешения имен — основа обмена файлами в Windows.
- NNTP — сетевой протокол передачи новостей
- NTP — сетевой протокол времени
- NTCIP, National Transportation Communications for Intelligent Transportation System Protocol
- POP3 — почтовый протокол версии 3
- RADIUS — протокол аутентификации, авторизации и работы с аккаунтами
- Rlogin — протокол удаленного входа в UNIX
- rsync — протокол передачи файлов для резервного копирования, копирования и зеркалирования
- RTP, Real-time Transport Protocol
- RTSP, Real-time Transport Streaming Protocol
- SSH, Secure Shell
- SISNAPI, Siebel Internet Session Network API
- SIP, Session Initiation Protocol, сигнальный протокол
- SMTP, Simple Mail Transfer Protocol
- SNMP, Simple Network Management Protocol
- SOAP, Simple Object Access Protocol
- STUN, Session Traversal Utilities for NAT
- TUP, Telephone User Part
- Telnet — протокол удаленного доступа к терминалу
- TCAP, Transaction Capabilities Application Part
- TFTP, Trivial File Transfer Protocol, простой протокол передачи файлов
- WebDAV, Web Distributed Authoring and Versioning
- DSM CC Digital Storage Media Command and Control
Модель OSI
Эталонная модель OSI являет собой 7-уровневую сетевую иерархию созданную международной организацией по стандартам (ISO). Представленная модель на рис.1 имеет 2 различных модели:
- горизонтальная модель на основе протоколов, реализующую взаимодействие процессов и ПО на разных машинах
- вертикальную модель на основе услуг, реализуемых соседними уровнями друг другу на одной машине
В вертикальной — соседние уровни меняются информацией с помощью интерфейсов API. Горизонтальная модель требует общий протокол для обмена информацией на одном уровне.
Рисунок — 1
Модель OSI описывает только системные методы взаимодействия, реализуемые ОС, ПО и тд. Модель не включает методы взаимодействия конечных пользователей. В идеальных условиях приложения должны обращаться к верхнему уровню модели OSI, однако на практике многие протоколы и программы имеют методы обращения к нижним уровням.
Физический уровень
На физическом уровне данные представлены в виде электрических или оптических сигналов, соответствующие 1 и 0 бинарного потока. Параметры среды передачи определяются на физическом уровне:
- тип разъемов и кабелей
- разводка контактов в разъемах
- схема кодирования сигналов 0 и 1
Самые распространенные виды спецификаций на этом уровне:
- EIA-RS-232-C, CCITT V.24/V.28 — параметры несбалансированного последовательного интерфейса
- EIA-RS-422/449, CCITT V.10 — параметры сбалансированного последовательного интерфейса
- IEEE 802.3 — Ethernet
- IEEE 802.5 — Token ring
На физическом уровне нельзя вникнуть в смысл данных, так как она представлена в виде битов.
Канальный уровень
На этом канале реализована транспортировка и прием кадров данных. Уровень реализует запросы сетевого уровня и использует физический уровень для приема и передачи. Спецификации IEEE 802.x делят этот уровень на два подуровня управление логическим каналом (LLC) и управление доступом к среде (MAC). Самые распространенные протоколы на этом уровне:
Также на этом уровне реализуется обнаружение и исправление ошибок при передаче. На канальном уровне пакет помещается в поле данных кадра — инкапсуляция. Обнаружение ошибок возможно с помощью разных методов. К примеру реализация фиксированных границ кадра, или контрольной суммой.
Сетевой уровень
На этом уровне происходит деление пользователей сети на группы. Здесь реализуется маршрутизация пакетов на основе MAC-адресов. Сетевой уровень реализует прозрачную передачу пакетов на транспортный уровень. На этом уровне стираются границы сетей разных технологий. Маршрутизаторы работают на этом уровне. Пример работы сетевого уровня показан на рис.2 Самые частые протоколы:
Рисунок — 2
Транспортный уровень
На этом уровне потоки информации делятся на пакеты для передачи их на сетевом уровне. Самые распространенные протоколы этого уровня:
- TCP — протокол управления передачей
- NCP
- SPX
- TP4
Сеансовый уровень
На этом уровне происходит организация сеансов обмена информацией между оконечными машинами. На этом уровне идет определение активной стороны и реализуется синхронизация сеанса. На практике многие протоколы других уровней включают функцию сеансового уровня.
Уровень представления
На этом уровне происходит обмен данными между ПО на разных ОС. На этом уровне реализовано преобразование информации (кодирование, сжатие и тд) для передачи потока информации на транспортный уровень. Протоколы уровня используются и те, что используют высшие уровни модели OSI.
Прикладной уровень
Прикладной уровень реализует доступ приложения в сеть. Уровень управляет переносом файлов и управление сетью. Используемые протоколы:
- FTP/TFTP — протокол передачи файлов
- X 400 — электронная почта
- Telnet
- smtp
- CMIP — управление информацией
- SNMP — управление сетью
- NFS — сетевая файловая система
- FTAM — метод доступа для переноса файлов
- Главная
- Защита сети
Основные характеристики
PPP протокол был разработан на основе HDLC и дополнен некоторыми возможностями[какими?], которые до этого встречались только в проприетарных протоколах.
Автоматическая настройка
Link Control Protocol (LCP) обеспечивает автоматическую настройку интерфейсов на каждом конце (например, установка размера пакетов) и опционально проводит аутентификацию. Протокол LCP работает поверх PPP, то есть начальная PPP связь должна быть до работы LCP.
Другим вариантом аутентификации через PPP является Extensible Authentication Protocol (EAP).
После того, как соединение было установлено, поверх него может быть настроена дополнительная сеть. Обычно используется Internet Protocol Control Protocol (IPCP), хотя Internetwork Packet Exchange Control Protocol (IPXCP) и AppleTalk Control Protocol (ATCP) были когда-то популярны. Internet Protocol Version 6 Control Protocol (IPv6CP) получит большее распространение в будущем, когда IPv6 заменит IPv4 как основной протокол сетевого уровня.
Многопротокольная поддержка
PPP позволяет работать нескольким протоколам сетевого уровня на одном канале связи. Другими словами, внутри одного PPP-соединения могут передаваться потоки данных различных сетевых протоколов (IP, Novell IPX и т. д.), а также данные протоколов канального уровня локальной сети. Для каждого сетевого протокола используется Network Control Protocol (NCP), который его конфигурирует (согласовывает некоторые параметры протокола).
PPP NCP обеспечивает процесс создания соединения через PPP, инициирует и настраивает различные протоколы сетевого уровня такие как IP, IPX или AppleTalk.
Microsoft PPP поддерживает следующие NCP:
- Internet Protocol Control Protocol (IPCP) для настройки IP.
- Internetwork Packet Exchange Control Protocol (IPXCP) для настройки IPX.
- AppleTalk Control Protocol (ATCP) для настройки AppleTalk.
- NetBIOS Frames Control Protocol (NBFCP) для настройки NetBEUI.
Обнаружение закольцованных связей
PPP обнаруживает закольцованные связи, используя особенность, включающую magic numbers. Когда узел отправляет PPP LCP сообщения, они могут включать в себя магическое число. Если линия закольцована, узел получает сообщение LCP с его собственным магическим числом вместо получения сообщения с магическим числом клиента.
Основные протоколы интернета
Как я уже сказал. в основе работы сети лежит использование нескольких протоколов, которые работают один поверх другого. Давайте рассмотрим основные сетевые протоколы интернет, которые вам будут часто встречаться, и попытаемся понять разницу между ними.
- MAC или (Media Access Control) — это протокол низкого уровня, который используется для идентификации устройств в локальной сети. У каждого устройства, подключенного к сети есть уникальный MAC адрес, заданный производителем. В локальных сетях, а все данные выходят из локальной сети и попадают в локальную сеть перед тем, как попасть к получателю, используются физические MAC адреса для обозначения устройств. Это один из немногих протоколов уровня соединения, с которым довольно часто приходится сталкиваться.
- IP ( Internet Protocol) — расположен уровнем выше, за MAC. Он отвечает за определение IP адресов, которые будут уникальными для каждого устройства и позволяют компьютерам находить друг друга в сети. Он относится к сетевому уровню модели TCP/IP. Сети могут быть связанны друг с другом в сложные структуры, с помощью этого протокола компьютеры могут определить несколько возможных путей к целевому устройству, причем во время работы эти пути могут меняться. Есть несколько реализаций протокола, но наиболее популярной на сегодняшний день является IPv4 и IPv6.
- ICMP (Internet control message protocol) — используется для обмена сообщениями между устройствами. Это могут быть сообщения об ошибках или информационные сообщения, но он не предназначен для передачи данных. Такие пакеты используются в таких диагностических инструментах, как ping и traceroute. Этот протокол находится выше протокола IP;
- TCP (Transmission control protocol) — это еще один основной сетевой протокол, который находится на том же уровне, что и ICMP. Его задача — управление передачей данных. Сети ненадежны. Из-за большого количества путей пакеты могут приходить не в том порядке или даже теряться. TCP гарантирует, что пакеты будут приняты в правильном порядке, а также позволяет исправить ошибки передачи пакетов. Информация приводится к правильному порядку, а уже затем передается приложению. Перед передачей данных создается соединение с помощью так называемого алгоритма тройного рукопожатия. Он предусматривает отправку запроса и подтверждение открытия соединения двумя компьютерами. Множество приложений используют TCP, это SSH, WWW, FTP и многие другие.
- UDP (user datagram protocol) — это популярный протокол, похожий на TCP, который тоже работает на транспортном уровне. Отличие между ними в том, что здесь используется ненадежная передача данных. Данные не проверяются при получении, это может выглядеть плохой идеей, но во многих случаях этого вполне достаточно. Поскольку нужно отправлять меньше пакетов, UDP работает быстрее, чем TCP. Поскольку соединение устанавливать не нужно, то этот протокол может использоваться для отправки пакетов сразу на несколько машин или IP телефонии.
- HTTP (hypertext transfer protocol) — это протокол уровня приложения, который лежит в основе работы всех сайтов интернета. HTTP позволяет запрашивать определенные ресурсы у удаленной системы, например, веб страницы, и файлы;
- FTP (file transfer protocol) — это протокол передачи файлов. Он работает на уровне приложений и обеспечивает передачу файла от одного компьютера к другому. FTP — не безопасный, поэтому не рекомендуется его применять для личных данных;
- DNS (domain name system) — протокол того же уровня, используемый для преобразования понятных и легко читаемых адресов в сложные ip адреса, которые трудно запомнить и наоборот. Благодаря ему мы можем получить доступ к сайту по его доменному имени;
- SSH (secure shell) — протокол уровня приложений, реализованный для обеспечения удаленного управления системой по защищенному каналу. Многие дополнительные технологии используют этот протокол для своей работы.
Есть еще очень много других протоколов, но мы рассмотрели только сетевые протоколы, которые больше всего важны. Это даст вам общие понятия того, как работает сеть и интернет в целом.
Какими бывают протоколы Интернета
На сегодняшний день известно несколько разновидностей протоколов Интернета. Они имеют следующие обозначения:
- HTTP;
- DNS;
- ICMP;
- FTP;
- UDP;
- TCP/IP — название протокола, являющегося основным для интернет-сетей.
Обратите внимание! Различия между этими решениями кроются в уровнях назначения
И здесь можно разделить решения по нескольким веткам:
- физические уровни. Предполагают, что соединение создаётся при помощи витой пары, оптических волокон;
- ARP-уровень с драйверами устройств;
- сетевой уровень со стандартными ICMP, IP;
- транспортный уровень — UDP и TCP;
- прикладной. Сюда входят стандартные протоколы сети Интернет типа NFS, DNS, FTP, HTTP.
ISO/OSI — система стандартизации, которая используется абсолютно для всех решений. Благодаря этому не возникает сбоев у разнообразных платформ, даже если используются разные операционные системы, оборудование поставляют разные производители. Сейчас такие детали практически не имеют значения.
Обратите внимание! Для функционирования Интернета используется протокол каждого уровня
Состояния сервера
Сервер IMAP ожидает соединения от клиентов на порту TCP 143. После установления соединения сервер посылает свое приветствие клиенту, и начинается диалог, в котором клиент посылает серверу команды, а сервер сообщает о результатах их выполнения или присылает затребованную клиентом информацию. Как и сеанс POP3, сеанс IMAP делится на несколько состояний ( states ). Допустимый набор команд зависит от текущего состояния сеанса. Сеанс может находиться в одном из следующих состояний:
- Неаутентифицированное состояние
- Аутентифицированное состояние
- Выбранное состояние
- Состояние выхода
Переходы:
- Соединение без предварительной аутентификации
- Соединение с предварительной аутентификацией
- Отвергнутое соединение
- Успешная аутентификация
- Успешное выполнение команды SELECT или EXAMINE
- Команда CLOSE или неудачное завершение команды SELECT или EXAMINE
- Команда LOGOUT или потеря связи
Какой протокол является базовым для сети Интернет
TCP/IP — самый распространённый протокол, по которому в настоящее время передаётся информация. Хранение базовой передаваемой информации обеспечивается за счёт добавления к этой схеме трёх параметров:
- повторная отправка запросов, если возникла ошибка;
- идентификатор, по которому действия подтверждают механически;
- порядковый номер для определения приоритета, очереди пересылки сведений. Называться он может по-разному.
Совокупность подобных характеристик будет работать, если в основе только IP-протокол. Он проходит несколько фаз по мере своей работы:
- фаза установки соединения;
- режим передачи;
- установление разрыва, когда процесс завершён.
Уровни сетей и модель OSI
Обычно, сети обсуждаются в горизонтальной плоскости, рассматриваются протоколы сети интернет верхнего уровня и приложения. Но для установки соединений между двумя компьютерами используется множество вертикальных слоев и уровней абстракции. Это означает, что существует несколько протоколов, которые работают друг поверх друга для реализации сетевого соединения. Каждый следующий, более высокий слой абстрагирует передаваемые данные и делает их проще для восприятия следующим слоем, и в конечном итоге приложением.
Существует семь уровней или слоев работы сетей. Нижние уровни будут отличаться в зависимости от используемого вами оборудования, но данные будут передаваться одни и те же и будут иметь один и тот же вид. На другую машину данные всегда передаются на самом низком уровне. На другом компьютере, данные проходят все слои в обратном порядке. На каждом из слоев к данным добавляется своя информация, которая поможет понять что делать с этим пакетом на удаленном компьютере.
Модель OSI
Так сложилось исторически, что когда дело доходит до уровней работы сетей, используется модель OSI или Open Systems Interconnect. Она выделяет семь уровней:
- Уровень приложений — самый верхний уровень, представляет работу пользователя и приложений с сетью Пользователи просто передают данные и не задумываются о том, как они будут передаваться;
- Уровень представления — данные преобразуются в более низкоуровневый формат, чтобы быть такими, какими их ожидают получить программы;
- Уровень сессии — на этом уровне обрабатываются соединения между удаленным компьютерами, которые будут передавать данные;
- Транспортный уровень — на этом уровне организовывается надежная передача данных между компьютерами, а также проверка получения обоими устройствами;
- Сетевой уровень — используется для управления маршрутизацией данных в сети пока они не достигнут целевого узла. На этом уровне пакеты могут быть разбиты на более мелкие части, которые будут собраны получателем;
- Уровень соединения — отвечает за способ установки соединения между компьютерами и поддержания его надежности с помощью существующих физических устройств и оборудования;
- Физический уровень — отвечает за обработку данных физическими устройствами, включает в себя программное обеспечение, которое управляет соединением на физическом уровне, например, Ehternet или Wifi.
Как видите, перед тем, как данные попадут к аппаратному обеспечению им нужно пройти множество слоев.
Модель протоколов TCP/IP
Модель TCP/IP, еще известная как набор основных протоколов интернета, позволяет представить себе уровни работы сети более просто. Здесь есть только четыре уровня и они повторяют уровни OSI:
- Приложения — в этой модели уровень приложений отвечает за соединение и передачу данными между пользователям. Приложения могут быть в удаленных системах, но они работают как будто бы находятся в локальной системе;
- Транспорт — транспортный уровень отвечает за связь между процессами, здесь используются порты для определения какому приложению нужно передать данные и какой протокол использовать;
- Интернет — на этом уровне данные передаются от узла к узлу по сети интернет. Здесь известны конечные точки соединения, но не реализуется непосредственная связь. Также на этом уровне определяются IP адреса;
- Соединение — этот уровень реализует соединение на физическом уровне, что позволяет устройствам передавать между собой данные не зависимо от того, какие технологии используются.
Эта модель менее абстрактная, но мне она больше нравиться и ее проще понять, поскольку она привязана к техническим операциям, выполняемым программами. С помощью каждой из этих моделей можно предположить как на самом деле работает сеть. Фактически, есть данные, которые перед тем, как будут переданы, упаковываются с помощью нескольких протоколов, передаются через сеть через несколько узлов, а затем распаковываются в обратном порядке получателем. Конечные приложения могут и не знать что данные прошли через сеть, для них все может выглядеть как будто обмен осуществлялся на локальной машине.
Активации канала PPP и его фазы
- Link Dead. Эта фаза наступает, когда связь нарушена либо одной из сторон указали не подключаться (например, пользователь завершил модемное соединение.)
- Link Establishment Phase. В данной фазе проводится настройка Link Control. Если настройка была успешной, управление переходит в фазу аутентификации либо в фазу Network-Layer Protocol, в зависимости от того, требуется ли аутентификация.
- Authentication Phase. Данная фаза является необязательной. Она позволяет сторонам проверить друг друга перед установкой соединения. Если проверка успешна, управление переходит в фазу Network-Layer Protocol.
- Network-Layer Protocol Phase. В данной фазе вызывается NCP для желаемого протокола. Например, IPCP используется для установки IP сервисов. Передача данных по всем успешно установленным протоколам также проходит в этой фазе. Закрытие сетевых протоколов тоже включается в данную фазу.
- Link Termination Phase. Эта фаза закрывает соединение. Она вызывается в случае ошибок аутентификации, если было настолько много ошибок контрольных сумм, что обе стороны решили закрыть соединение, если соединение неожиданно оборвалось либо если пользователь отключился. Данная фаза пытается закрыть всё настолько аккуратно, насколько возможно в данных обстоятельствах.
Основные характеристики
PPP протокол был разработан на основе HDLC и дополнен некоторыми возможностями[какими?], которые до этого встречались только в проприетарных протоколах.
Автоматическая настройка
Link Control Protocol (LCP) обеспечивает автоматическую настройку интерфейсов на каждом конце (например, установка размера пакетов) и опционально проводит аутентификацию. Протокол LCP работает поверх PPP, то есть начальная PPP связь должна быть до работы LCP.
Другим вариантом аутентификации через PPP является Extensible Authentication Protocol (EAP).
После того, как соединение было установлено, поверх него может быть настроена дополнительная сеть. Обычно используется Internet Protocol Control Protocol (IPCP), хотя Internetwork Packet Exchange Control Protocol (IPXCP) и AppleTalk Control Protocol (ATCP) были когда-то популярны. Internet Protocol Version 6 Control Protocol (IPv6CP) получит большее распространение в будущем, когда IPv6 заменит IPv4 как основной протокол сетевого уровня.
Многопротокольная поддержка
PPP позволяет работать нескольким протоколам сетевого уровня на одном канале связи. Другими словами, внутри одного PPP-соединения могут передаваться потоки данных различных сетевых протоколов (IP, Novell IPX и т. д.), а также данные протоколов канального уровня локальной сети. Для каждого сетевого протокола используется Network Control Protocol (NCP), который его конфигурирует (согласовывает некоторые параметры протокола).
PPP NCP обеспечивает процесс создания соединения через PPP, инициирует и настраивает различные протоколы сетевого уровня такие как IP, IPX или AppleTalk.
Microsoft PPP поддерживает следующие NCP:
- Internet Protocol Control Protocol (IPCP) для настройки IP.
- Internetwork Packet Exchange Control Protocol (IPXCP) для настройки IPX.
- AppleTalk Control Protocol (ATCP) для настройки AppleTalk.
- NetBIOS Frames Control Protocol (NBFCP) для настройки NetBEUI.
Обнаружение закольцованных связей
PPP обнаруживает закольцованные связи, используя особенность, включающую magic numbers. Когда узел отправляет PPP LCP сообщения, они могут включать в себя магическое число. Если линия закольцована, узел получает сообщение LCP с его собственным магическим числом вместо получения сообщения с магическим числом клиента.