Протоколы TCP/IP простым языком

Протокол в информатике: что такое, каким может быть, характеристика

Передача информации в компьютерной сети подчинена ряду правил. Они зависят от типа сведений, решаемых в сети задач, определяют условия работы оборудования, входящего в сеть. Рассмотрим, что такое протокол (стандарт) передачи данных в информатике, их виды, кратко опишем наиболее используемые.

В глобальную сеть входят миллиарды компьютеров, мобильных и иных устройств. Работают они на базе разнообразных программных и аппаратных платформ, но при обмене данными руководствуются едиными принципами – протоколами, в информатике – это базовый набор методов, принципов, соглашений, в соответствии с которыми происходит обмен информацией между узлами сети. Они задают алгоритмы обработки возникших ошибок, правила совместной эксплуатации оборудования. Надстраиваются один над иным – имеют многоуровневую структуру; следующий не выполняется, пока не завершится работа предшествующего.

Различают прикладные и базовые протоколы. Прикладные – специализированные – отвечают за передачу текста, новостей, потокового мультимедиа. Их часть может не участвовать в работе компьютера либо не поддерживаться.

Базовые – обеспечивают передачу пакетов (блоков) данных между узлами сети (компьютерами, мобильными устройствами). Яркий пример – стек TCP/IP. Разделяет пакеты на части – блоки с идентификаторами, снабжается заголовками – адреса получателя и отправителя, ID сообщения. За доставку отвечает Internet Protocol – IP. Пакеты могут передаваться по разным маршрутам с различной скоростью. Принимаются программным обеспечением и собираются в нужной последовательности.

Протокол передачи данных: что это в информатике

Что такое протоколы TCP/IP

TCP – Transfer Control Protocol. Протокол управления передачей. Он служит для обеспечения и установление надежного соединения между двумя устройствами и надежную передачу данных. При этом протокол TCP контролирует оптимальный размер передаваемого пакета данных, осуществляя новую посылку при сбое передачи.

IP – Internet Protocol. Интернет протокол или адресный протокол – основа всей архитектуры передачи данных. Протокол IP служит для доставки сетевого пакета данных по нужному адресу. При этом информация разбивается на пакеты, которые независимо передвигаются по сети до нужного адресата.

Уровневая модель TCP/IP

Выше мы уже упоминали, что модель TCP/IP разделена на уровни, как и OSI, но отличие двух моделей в количестве уровней. Документом, регламентирующим уровневую архитектуру модели и описывающий все протоколы, входящие в TCP/IP, является RFC 1122. Стандарт включает четыре уровня модели TCP/IP, хотя, например, согласно Таненбауму (Таненбаум Э., Уэзеролл Д. Т18 Компьютерные сети. 5-е изд. — СПб.: Питер, 2012. — 960 с.: ил. ISBN 978-5-459-00342-0), в модели может быть пять уровней.

Три верхних уровня — прикладной, транспортный и сетевой — присутствуют как в RFC, так и у Таненбаума и других авторов. А вот стоит ли говорить только о канальном или о канальном и физическом уровнях — нет единого мнения. В RFC они объединены, поскольку выполняют одну функцию. В статье мы придерживаемся официального интернет-стандарта RFC и не выделяем физический уровень в отдельный. Далее мы рассмотрим четыре уровня модели.

Канальный уровень (link layer)

Предназначение канального уровня — дать описание тому, как происходит обмен информацией на уровне сетевых устройств, определить, как информация будет передаваться от одного устройства к другому. Информация здесь кодируется, делится на пакеты и отправляется по нужному каналу, т.е. среде передачи.

Этот уровень также вычисляет максимальное расстояние, на которое пакеты возможно передать, частоту сигнала, задержку ответа и т.д. Все это — физические свойства среды передачи информации. На канальном уровне самым распространенным протоколом является Ethernet, но мы рассмотрим его на примере в конце статьи.

Межсетевой уровень (internet layer)

Каждая индивидуальная сеть называется локальной, глобальная сеть интернет позволяет объединить все локальные сети. За объединение локальных сетей в глобальную отвечает сетевой уровень. Он регламентирует передачу информации по множеству локальных сетей, благодаря чему открывается возможность взаимодействия разных сетей.

Межсетевое взаимодействие — это основной принцип построения интернета. Локальные сети по всему миру объединены в глобальную, а передачу данных между этими сетями осуществляют магистральные и пограничные маршрутизаторы.

Маска подсети и IP-адреса

Маска подсети помогает маршрутизатору понять, как и куда передавать пакет. Подсетью может являться любая сеть со своими протоколами. Маршрутизатор передает пакет напрямую, если получатель находится в той же подсети, что и отправитель. Если же подсети получателя и отправителя различаются, пакет передается на второй маршрутизатор, со второго на третий и далее по цепочке, пока не достигнет получателя.

Протокол интернета — IP (Internet Protocol) используется маршрутизатором, чтобы определить, к какой подсети принадлежит получатель. Свой уникальный IP-адрес есть у каждого сетевого устройства, при этом в глобальной сети не может существовать два устройства с одинаковым IP. Он имеет два подвида, первым был принят IPv4 (IP version 4, версии 4) в 1983 году.

IPv4 предусматривает назначение каждому устройству 32-битного IP-адреса, что ограничивало максимально возможное число уникальных адресов 4 миллиардами (2 32 ). В более привычном для человека десятичном виде IPv4 выглядит как четыре блока (октета) чисел от 0 до 255, разделенных тремя точками. Первый октет IP-адреса означает его класс, классов всего 4: A, B, C, D.

Рассмотрим, например, IPv4 адрес класса С 223.135.100.7. Первые два октета 223.135 определяют класс, третий — .100 — это номер подсети, а последний означает номер сетевого оборудования. Например, если необходимо отправить информацию с компьютера номер 7 с IPv4 адресом 223.135.100.7 на компьютер номер 10 в той же подсети, то адрес компьютера получателя будет следующий: 223.135.100.10.

В связи с быстрым ростом сети интернет остро вставала необходимость увеличения числа возможных IP-адресов. В 1998 впервые был описан IPv6 (IP version 6, версии 6), который использует 128-битные адреса, и позволяет назначить уникальные адреса для 2 128 устройств. Такого количества IPv6 адресов будет достаточно, чтобы назначить уникальный адрес для каждого атома на планете.

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

Так как IPv6 адреса длинные, их разрешается сокращать по следующим правилам: ведущие нули допускается опускать, например в адресе выше :00FF: позволяется записывать как :FF:, группы нулей, идущие подряд тоже допустимо сокращать и заменять на двойное двоеточие, например, 2DAB:FFFF::01AA:00FF:DD72:2C4A. Допускается делать не больше одного подобного сокращения в адресе IPv6.

IP предназначен для определения адресата и доставки ему информации, он предоставляет услугу для вышестоящих уровней, но не гарантирует целостность доставляемой информации.

IP способен инкапсулировать другие протоколы, предоставлять место, куда они могут быть встроены. Как было сказано выше, IP — это 32 бита информации, первые 8 бит в заголовке IP — поля для указания номера инкапсулируемого протокола. Для IPv4 первые 8 бит — поле «протокол», для IPv6 — поле «следующий заголовок». Например, ICMP (межсетевой протокол управляющих сообщений) будет обозначен числом 1, а IGMP (межсетевой протокол группового управления) будет обозначен числом 2.

ICMP и IGMP

ICMP используется в качестве поддержки маршрутизаторами и другими сетевыми устройствами. Внутри сети он служит для доставки сообщений об ошибках и операционной информации, сообщающей об успехе или ошибке при связи с другим IP. Например, в ситуациях, когда необходимый сервис не может быть запрошен, или когда не был получен ответ от маршрутизатора или хоста.

ICMP никогда не вызывается сетевыми приложениями пользователя, кроме случаев диагностики сети, к примеру, пинг (ping) или traceroute (tracert). ICMP не передает данные, это отличает его от транспортных TCP и UDP, расположенных на L3, которые переносят любые данные. ICMP работает только с IP четвертой версии, с IPv6 взаимодействует ICMPv6.

Сетевые устройства объединяются в группы при помощи IGMP, используемый хостами и роутерами в IPv4 сетях. IGMP организует multicast-передачу информации, что позволяет сетям направлять информацию только хостам, запросившим ее. Это удобно для онлайн-игр или потоковой передаче мультимедиа. IGMP используется только в IPv4 сетях, в сетях IPv6 используется MLD (Multicast Listener Discovery, протокол поиска групповых слушателей), инкапсулированный в ICMPv6.

Транспортный уровень (transport layer)

Постоянные резиденты транспортного уровня — протоколы TCP и UDP, они занимаются доставкой информации.

TCP (протокол управления передачей) — надежный, он обеспечивает передачу информации, проверяя дошла ли она, насколько полным является объем полученной информации и т.д. TCP дает возможность двум хостам производить обмен пакетами через установку соединения. Он предоставляет услугу для приложений, повторно запрашивает потерянную информацию, устраняет дублирующие пакеты, регулируя загруженность сети. TCP гарантирует получение и сборку информации у адресата в правильном порядке.

UDP (протокол пользовательских датаграмм) — ненадежный, он занимается передачей автономных датаграмм. UDP не гарантирует, что всех датаграммы дойдут до получателя. Датаграммы уже содержат всю необходимую информацию, чтобы дойти до получателя, но они все равно могут быть потеряны или доставлены в порядке отличном от порядка при отправлении.

UDP обычно не используется, если требуется надежная передача информации. Использовать UDP имеет смысл там, где потеря части информации не будет критичной для приложения, например, в видеоиграх или потоковой передаче видео. UDP необходим, когда делать повторный запрос сложно или неоправданно по каким-то причинам.

Протоколы L3 не интерпретируют информацию, полученную с верхнего или нижних уровней, они служат только как канал передачи, но есть исключения. RSVP (Resource Reservation Protocol, протокол резервирования сетевых ресурсов) может использоваться, например, роутерами или сетевыми экранами в целях анализа трафика и принятия решений о его передаче или отклонении в зависимости от содержимого.

Прикладной уровень (application layer)

В модели TCP/IP отсутствуют дополнительные промежуточные уровни (представления и сеансовый) в отличие от OSI. Функции форматирования и представления данных делегированы библиотекам и программным интерфейсам приложений (API) — своего рода базам знаний. Когда службы или приложения обращаются к библиотеке или API, те в ответ предоставляют набор действий, необходимых для выполнения задачи и полную инструкцию, каким образом эти действия нужно выполнять.

Протоколы прикладного уровня действуют для большинства приложений, они предоставляют услуги пользователю или обмениваются данными с «коллегами» с нижних уровней по уже установленным соединениям. Здесь для большинства приложений созданы свои протоколы, например HTTP для передачи гипертекста по сети, SMTP для передачи почты, FTP для передачи файлов, протокол назначения IP-адресов DHCP и прочие.

Зачем нужен порт и что означает термин сокет

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

IP присваивается каждому компьютеру межсетевым уровнем, но обмен данными происходит не между компьютерами, а между приложениями, установленными на них. Чтобы получить доступ к тому или иному сетевому приложению недостаточно только IP, для идентификации приложений применяют порты. Комбинация IP-адреса и порта называется сокетом или гнездом (socket). Поэтому обмен информацией происходит между сокетами. Нередко слово сокет употребляют как синоним для хоста или пользователя, также сокетом называют гнездо подключения процессора.

Из привилегий у приложений на прикладном уровне можно выделить наличие собственных протоколов для обмена данными, а также фиксированный номер порта для обращения к сети. Администрация адресного пространства интернет (IANA), занимающаяся выделением диапазонов IP-адресов, отвечает еще за назначение сетевым приложениям портов.

Так почтовые приложения, которые общаются по SMTP-протоколу, прослушивают порт 25, почта через POP3 приходит на 110-й, по HTTP принимают сообщения веб-сервера — это порт 80, 21-й зарезервирован за FTP. Порт всегда записывается после IP и отделяется от него двоеточием, выглядит это, например, так: 192.168.1.1:80.

Чтобы не запоминать числовые адреса интернет-серверов была создана DNS — служба доменных имен. DNS всегда слушает на 53 порту и преобразует буквенные имена сетевых доменов в числовые IP-адреса и наоборот. Служба DNS позволяет не запоминать IP — компьютер самостоятельно посылает запрос «какой IP у selectel.ru?» на 53 порт DNS-сервера, полученного от поставщика услуг интернет.

DNS-сервер дает компьютеру ответ «IP для selectel.ru — XXX.XXX.XXX.XXX». Затем, компьютер устанавливает соединение с веб-сервером полученного IP, который слушает на порту 80 для HTTP-протокола и на порту 443 для HTTPS. В браузере порт не отображается в адресной строке, а используется по умолчанию, но, по сути, полный адрес сайта Selectel выглядит вот так: https://selectel.ru:443.

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

FTP — File Transfer Protocol

Протокол передачи файлов. Его использовали ещё в 1971 году — задолго до появления протокола IP. На текущий момент этим протоколом пользуются при удалённом доступе к хостингам. FTP является надёжным протоколом, поэтому гарантирует передачу данных.

Этот протокол работает по принципу клиент-серверной архитектуры. Пользователь проходит аутентификацию (хотя в отдельных случаях может подключаться анонимно) и получает доступ к файловой системе сервера.

Это не только система доменных имён (Domain Name System), но и протокол, без которого эта система не смогла бы работать. Он позволяет клиентским компьютерам запрашивать у DNS-сервера IP-адрес какого-либо сайта, а также помогает обмениваться базами данных между серверами DNS. В работе этого протокола также используются TCP и UDP.

Что такое DNS? Введение в систему доменных имён

Преобразование IP-адресов в символьные адреса

Технология активно используется для назначения буквенно-цифровых названий веб-ресурсов. При вводе домена в адресной строке браузера сначала происходит обращение к специальному серверу DNS. Он всегда прослушивает порт 53 у всех компьютеров, которые подключены к интернету, и по запросу преобразует введенное название в стандартный IP-адрес.

После определения точного местонахождения файлов сайта включается обычная схема работы – от прикладного уровня с кодированием данных до обращения к физическому оборудованию на уровне сетевых интерфейсов. Процесс называется инкапсуляцией информации. На принимающей стороне происходит обратная процедура – декапсуляция.

О средствах настройки, проверки

В операционной системе Windows настройка протокола становится одной из самых простых операций. Достаточно зайти в меню с параметрами Сети, где выбирается соответствующий пункт. Раньше решение вопроса было более простым. Сейчас пользователи выбирают между двумя вариантами подключения:

Обратите внимание! iPv4 — вариант стандартной настройки для большинства ситуаций. IPv6 — новая версия протокола, которая до сих пор остаётся невостребованной.

Доступ к состоянию сети с помощью системного трея помогут провести проверку в случае необходимости. Значок на панели сообщит пользователю о том, доступна сеть или нет. Определение текущего статуса не доставляет проблем.

Задание 2 (скринкаст). Перевод чисел из двоичной системы в десятичную и наоборот

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

101101102 = (1•2 7 )+(0•2 6 )+(1•2 5 )+(1•2 4 )+(0•2 3 )+(1•2 2 )+(1•2 1 )+(0•2 0 ) = 128+32+16+4+2 = 18210 Но, удобнее это делать на Windows -калькуляторе. Выполните в Windows -7 команду Пуск-Программы-Стандартные-Калькулятор, потом Вид-Программист ( рис. 6.4 и 5).

Назначения других протоколов

Работа интернета — это совместное использование множества протоколов. Чтобы понять, по какому протоколу осуществляется передача файлов в сети интернет, необходимо ознакомиться с кратким списком инструментов для глобальной сети:

  • MAC (Media Access Control) — необходим для идентификации устройств в локальной сети, получая от каждого из них уникальный MAC-адрес, который есть у каждого компьютера, телефона;
  • ICMP (Internet Control Message Protocol) — благодаря нему устройства могут обмениваться друг с другом информационными сообщениями и ошибками, используется для диагностики, данные не передает;
  • TCP (Transmission Control Protocol) — работает аналогично ICMP, но передает именно данные, отличается высокой надежностью, несмотря на большое количество доступных путей, ведь после передачи информации она приводится к правильному порядку, только после этого отправляется в приложение;
  • UDP (User Datagram Protocol) — похож на TCP, также является частью транспортного уровня, но предусматривает ненадежную передачу данных, при которой может быть потеряна часть данных, но отличается высокой скорость работы;
  • HTTP (Hypertext Transfer Protocol) — запрашивает определенные ресурсы у удаленной системы, после чего формирует код в текст, понятный человеку, стандартный протокол сети интернет , обязательный на всех сайтах в интернете;
  • FTP (File Transfer Protocol) — используется для передачи данных, работает с приложениями, отличается низкой безопасностью, поэтому не применяется для передачи важной личной информации;
  • DNS (Domain Name System) — преобразует IP-адреса в простые для человеческого понимания доменные имена и наоборот, за счет чего можно ввести в поисковую строку адрес сайта и перейти на желаемую страницу;
  • SSH (Secure Shell) — обеспечивает удаленное управление системой с использование защищенного канала.

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

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector