Протокол связи: передача данных
Протокол передачи данных - набор соглашений интерфейса логического уровня , которые определяют обмен данными между различными программами . Эти соглашения задают единообразный способ передачи сообщений и обработки ошибок при взаимодействии программного обеспечения разнесённой в пространстве аппаратуры , соединённой тем или иным интерфейсом.
Сигнальный протокол используется для управления соединением - например, установки, переадресации, разрыва связи. Примеры протоколов: RTSP , SIP . Для передачи данных используются такие протоколы как RTP .
Сетево́й протоко́л - набор правил и действий (очерёдности действий), позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами.
Разные протоколы зачастую описывают лишь разные стороны одного типа связи . Названия «протокол» и «стек протоколов» также указывают на программное обеспечение , которым реализуется протокол.
Наиболее известные протоколы, используемые в сети Интернет:
- HTTP (Hyper Text Transfer Protocol) - это протокол передачи
Протокол передачи данных - набор соглашений интерфейса логического уровня , которые определяют обмен данными между различными программами . Эти соглашения задают единообразный способ передачи сообщений и обработки ошибок при взаимодействии программного обеспечения разнесённой в пространстве аппаратуры , соединённой тем или иным интерфейсом.
Сигнальный протокол используется для управления соединением - например, установки, переадресации, разрыва связи. Примеры протоколов: RTSP , SIP . Для передачи данных используются такие протоколы как RTP .
Сетево́й протоко́л - набор правил и действий (очерёдности действий), позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами.
Разные протоколы зачастую описывают лишь разные стороны одного типа связи . Названия «протокол» и «стек протоколов» также указывают на программное обеспечение , которым реализуется протокол.
Наиболее известные протоколы, используемые в сети Интернет:
- HTTP (Hyper Text Transfer Protocol) - это протокол передачи гипертекста . Протокол HTTP используется при пересылке Web-страниц между компьютерами, подключенными к одной сети.
- FTP (File Transfer Protocol) - это протокол передачи файлов со специального файлового сервера на компьютер пользователя. FTP дает возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером сети. Установив связь с удаленным компьютером, пользователь может скопировать файл с удаленного компьютера на свой или скопировать файл со своего компьютера на удаленный.
- POP3 (Post Office Protocol) - это стандартный протокол почтового соединения. Серверы POP обрабатывают входящую почту, а протокол POP предназначен для обработки запросов на получение почты от клиентских почтовых программ.
Сеть Интернет, являющаяся сетью сетей и объединяющая громадное количество различных локальных, региональных и корпоративных сетей, функционирует и развивается благодаря использованию единого протокола передачи данных TCP/IP.
Протокол связи - это договоренность между двумя абонентами о том, как и в каком порядке они будут обмениваться данными. Наглядной иллюстрацией протокола связи служит попытка общения двух собеседников, разговаривающих на разных языках.
Термин TCP/IP включает название двух протоколов:
· Trапsmissiоп Control Protocol (ТСР) - транспортный протокол;
· Internet Protocol (IP) - протокол маршрутизации.
Протокол TCP/IP обеспечивает передачу информации между компьютерами сети.
Рассмотрим работу данного протокола по аналогии с передачей информации с помощью обычной почты. Для того чтобы письмо дошло по назначению, на конверте указывается адрес получателя (кому письмо) и адрес отправителя (от кого письмо).
Точно так же передаваемая по сети информация «упаковывается в конверт», на котором «пишутся» IP - aдpeca компьютеров получателя и отправителя, например, «Кому: 198.78.213.165», «От кого: 193.124.5.33».
Содержимое конверта на компьютерном языке называется IP-пакетом и представляет собой набор байтов.
В процессе пересылки обыкновенных писем они сначала доставляются на ближайшее почтовое отделение к отправителю, а затем передаются по цепочке почтовых отделений на ближайшее почтовое отделение к получателю. На промежуточных почтовых отделениях письма сортируются, т. е. определяется, на какое следующее почтовое отделение необходимо отправить то или иное письмо.
IP-пакеты на пути к компьютеру-получателю также проходят через многочисленные промежуточные серверы Интернет, на которых производится операция маршрутизации. В результате маршрутизации IP-пакеты направляются от одного сервера Интернет к другому, постепенно приближаясь к компьютеру-получателю. Чтобы действовать слаженно и быстро, компьютерам, занимающимся посылкой, приемом и маршрутизацией пакетов, необходимо следовать единым строгим правилам. Свод этих правил для Интернет и представляет собой Intemet Protocol (IP).
Интернет - протокол - Intemet Protocol (IP) - это единый свод правил, в результате которых компьютеры осуществляю быстрый прием, маршрутизацию и посылку IP-пакетов.
Теперь представим себе, что нам необходимо переслать по почте многостраничную рукопись, а почта огромные бандероли и посылки не принимает. Идея проста: если рукопись не помещается в обычный почтовый конверт, ее надо разобрать на листы и переслать их в нескольких конвертах. При этом листы рукописи необходимо обязательно пронумеровать, чтобы получатель знал, в какой последовательности эти листы соединить.
В Интернете часто случается аналогичная ситуация, когда компьютеры обмениваются многомегобайтными файлами. Если такой файл послать целиком, то он может надолго «закупорить» канал связи, сделать его недоступным для пересылки других сообщений. В таком случае на компьютере-отправителе необходимо разбить большой файл на мелкие части, пронумеровать их и транспортировать их в отдельных IP-пакетах до компьютера-получателя. На компьютере-получателе необходимо собрать из отдельных частей исходный файл. Все эти действия производятся на основании Transmission Control Protocol (ТСР), т.е. транспортного протокола.
Транспортный прокол - Transmission Control Protocol (ТСР) - позволяет накомпьютере-отправителе разбить большой файл на мелкие части, пронумеровать их и транспортировать их в отдельных IP-пакетах до компьютера-получателя. На компьютере-получателе собирает из отдельных частей исходный файл.
Интересно, что для IP-протокола, ответственного за маршрутизацию, эти пакеты совершенно никак не связаны между собой. Поэтому последний IP-пакет вполне может по пути обогнать первый IP-пакет. Может ложиться так, что даже маршруты доставки этих пакетов окажутся совершено разными. Однако протокол ТСР дождется первого IP-пакета и соберет исходный файл в правильной последовательности.
Для протокола связи характерно понятие - коррекция ошибок . Коррекция ошибок - это процесс, общая идея которого состоит в том, что передаваемый поток данных разбивается на IP-пакеты, в конце каждого из них дописывается некоторое число, называемое контрольной суммой, вычисляемое по данным IP-пакет. При приеме по полученным данным вычисляется контрольная сумма каждого принятого IP-пакеты и сравнивается с той, которую получили от отправителя. Если эти две суммы не совпадают - значит, при передачи с IP-пакетом произошел сбой. В этом случае модем вынужден запросить передачу дефектного блока. Скорость снижается. И если ошибки возникают снова, то происходит разрыв связи. Откуда возникают ошибки? При передаче данных на большое расстояние в линии связи образуются посторонние шумы и помехи, которые накладываются на полезный сигнал и мешает ему.
Немного теории. Протоколы передачи данных — это наборы соглашений (считай, стандарты), которые регулируют обмен данными между различными программами. Смысл протоколов передачи данных в том, чтобы эту самую передачу упорядочить и сделать независимой от аппаратной платформы (т.е. от какой-то одной конкретной «железяки»).
Протокол не следует путать с интерфейсом подключения и вообще с физическим уровнем (хотя такой термин и встретится нам в рассматриваемой далее модели). Протокол это уровень логический .
Сетевые протоколы
Сетевые протоколы регулируют обмен связи между двумя соединенными в сеть устройствами. Вообще, что мы в данном случае подразумеваем под сетью? Соединение компьютера и монитора это сеть? Нет, поскольку в данном случае монитор — это устройства вывода. Происходит вывод информации на экран, но не обмен ею. Соответственно, под сетью мы подразумеваем связь двух и более устройств, способных хранить и обрабатывать информацию.
Чаще всего сетевые протоколы классифицируют по модели OSI (Open Systems Interconnection Basic Reference Model). Модель состоит из семи уровней и упрощает понимание функционирования сети. Уровни располагаются вертикально друг над другом. Уровни взаимодействуют друг с другом по вертикали через интерфейсы, и могут взаимодействовать с параллельным уровнем другой системы по горизонтали с помощью протоколов. Каждый уровень может взаимодействовать только со своими соседями и с себе подобным.
Нетрудно догадаться, что прикладной уровень является самым верхним (седьмым), а физический лежит в основе основ (первый уровень).
Пойдем снизу вверх.
1. Физический уровень — на этом уровне работают хабы и ретрасляторы сигнала. Здесь осуществляется передача данных по проводам или беспроводным путём. Происходит кодировка сигнала. Осуществляется стандартизация сетевого интерфейса (пример, разъем RJ-45).
2. Канальный уровень — уровень коммутаторов, мостов и драйверов сетевых карт. Данные упаковываются во фреймы, проверяются ошибки и данные отправляются на сетевой уровень.
Протоколы: Ethernet, FDDI, PPP, PPTP, L2TP, xDSL и др.
3. Сетевой уровень — здесь определяется путь передачи данных, определяется кратчайший маршрут, происходит контроль неисправностей сетей. Это уровень маршрутизаторов.
Протоколы: IPv4, IPv6, ARP, ICMP.
4. Транспортный уровень отвечает за механизм передачи. Блоки данных разбиваются на фрагменты, избегаются потери и дублирование.
Протоколы: TCP, UDP, RDP, SPX, SCTP и др.
5. Сеансовый уровень отвечает за поддержание сеанс связи. Создание и завершение сеанса, права передачи данных и поддержание сеанса в момент неактивности приложений — всё происходит на этом уровне.
Протоколы: SSL, NetBIOS.
6. Уровень представления занимается кодированием и декодированием данных. Данные из приложения преобразуются в формат для транспортировки по сети, а пришедшие из сети в формат, понятный приложению.
Протоколы: FTP, SMTP, Telnet, NCP, ASN.1 и др.
7. Прикладной уровень — это уровень взаимодействия сети и пользователя. На этом уровне различные программы, которыми пользуется человек, получают доступ к сети.
Протоколы: , HTTPS, FTP, POP3, XMPP, DNS, SIP, Gnutella и др.
Популярные протоколы
HTTP, HTTPS — протоколы передачи гипертекста. Используется при пересылке web-страниц.
FTP — протокол передачи файлов. Используется для обмена данными между компьютерами, некоторые из них играют роль специальных хранилищ файлов — файловых серверов.
POP — протокол почтового соединения. Предназначен для обработки запросов на получение почты от пользовательских почтовых программ.
SMTP — почтовый протокол, отвечающий за правила передачи сообщений.
Telnet — протокол удаленного доступа.
TCP — сетевой протокол, отвечающий за передачу данных в сети Интернет.
Ethernet — протокол, определяющий стандарты сети на физическом и канальном уровнях.
Сетевым протоколом называется набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть компьютерами.
Фактически разные протоколы зачастую описывают лишь разные стороны одного типа связи; взятые вместе, они образуют так называемый стек протоколов. Названия «протокол» и «стек протоколов» также указывают на программное обеспечение, которым реализуется протокол.
Кто разрабатывает и стандартизирует все эти протоколы и программное обеспечение?
Новые протоколы для Интернета утверждаются IETF (Internet Engineering Task Force - Специальная комиссия инженерии Интернета), а прочие протоколы — IEEE (nstitute of Electrical and Electronics Engineers - Институт инженеров по электротехнике и радиоэлектронике) или ISO - (International Organization for Standardization - Международная организация по стандартизации). ITU-T (Международный союз электросвязи) занимается телекоммуникационными протоколами и форматами.
Наиболее распространённой системой классификации сетевых протоколов является так называемая модель OSI. В соответствии с ней протоколы делятся на 7 уровней по своему назначению — от физического (формирование и распознавание электрических или других сигналов) до прикладного (API для передачи информации приложениями):
- Прикладной уровень (Application layer). Верхний (7-й) уровень модели, обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления. Пример: HTTP, POP3, SMTP.
- Уровень представления (Presentation layer). 6-й уровень отвечает за преобразование протоколов и кодирование/декодирование данных. Запросы приложений, полученные с уровня приложений, он преобразует в формат для передачи по сети, а полученные из сети данные преобразует в формат, понятный приложениям. На уровне представления может осуществляться сжатие/распаковка или кодирование/декодирование данных, а также перенаправление запросов другому сетевому ресурсу, если они не могут быть обработаны локально.
- Сеансовый уровень (Session layer). 5-й уровень модели отвечает за поддержание сеанса связи, что позволяет приложениям взаимодействовать между собой длительное время. Сеансовый уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений. Синхронизация передачи обеспечивается помещением в поток данных контрольных точек, начиная с которых возобновляется процесс при нарушении взаимодействия.
- Транспортный уровень (Transport layer). 4-й уровень модели, предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. При этом неважно, какие данные передаются, откуда и куда, то есть он предоставляет сам механизм передачи. Блоки данных он разделяет на фрагменты, размер которых зависит от протокола, короткие объединяет в один, а длинные разбивает. Протоколы этого уровня предназначены для взаимодействия типа точка-точка. Пример: TCP, UDP
- Сетевой уровень (Network layer).3-й уровень сетевой модели OSI, предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и заторов в сети. На этом уровне работает такое сетевое устройство, как маршрутизатор.
- Уровень звена данных (Data Link layer). Часто это уровень называется канальным. Этот уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Данные, полученные с физического уровня, он упаковывает во фреймы, проверяет на целостность, если нужно исправляет ошибки и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Спецификация IEEE 802 разделяет этот уровень на 2 подуровня — MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня. На этом уровне работают коммутаторы, мосты. В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой, это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI, NDIS
- Физический уровень (Physical layer). Самый нижний уровень модели, предназначен непосредственно для передачи потока данных. Осуществляет передачу электрических или оптических сигналов в кабель или в радиоэфир и соответственно их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов. Другими словами, осуществляет интерфейс между сетевым носителем и сетевым устройством. На этом уровне работают концентраторы (хабы), повторители (ретрансляторы) сигнала и медиаконверторы. Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом.
Уровни взаимодействуют сверху вниз и снизу вверх посредством интерфейсов и могут также взаимодействовать с таким же уровнем другой системы с помощью протоколов.