- Sysadminium
- Модель OSI
- 7 уровень — прикладной
- 6 уровень — представления
- 5 уровень — сеансовый
- 4 уровень — транспортный
- 3 уровень — сетевой
- 2 уровень — канальный
- 1 уровень — физический
- Итоговая картинка
- Модель TCP/IP
- 4 уровень — прикладной
- 3 уровень — транспортный
- 2 уровень — интернет (межсетевой)
- 1 уровень — сетевых интерфейсов
- Что такое TCP/IP и как работает этот протокол
- Что такое TCP/IP
- Уровни модели TCP/IP
- Канальный (сетевой интерфейс)
- Межсетевой (Internet Layer)
- Транспортный уровень (Transport Layer)
- Прикладной уровень (Application Layer)
- Порты и сокеты – что это и зачем они нужны
- Преобразование IP-адресов в символьные адреса
Sysadminium
В этой статье вы познакомитесь с сетевыми моделями OSI и TCP/IP. OSI — это 7 уровневая модель. А TCP/IP — 4 уровневая модель.
Модель OSI
OSI (Open System Interconnection) — это эталонная модель сетевых взаимодействий. Эта модель весь процесс передачи данных делит на 7 частей, другими словами на 7 уровней. Каждый уровень отвечает за определённые задачи, но не говорит, как эти задачи решать. Это позволяет разработчикам создавать новые протоколы или технологии, которые работают на определённом уровне (решают определённые задачи) и не задумываться о других задачах. Другие задачи решаются на других уровнях, на которых работают другие протоколы и технологии.
Например, при разработке определённого протокола, нужно подумать о 2 вещах:
- О работе самого протокола (что этот протокол будет делать и какие задачи решать).
- О взаимодействии с более низким и более высоким уровнем. То есть как данные должны переходить с уровня на уровень, вверх или вниз.
Вот так выглядит эта модель:
Данные, переходя с верхнего уровня на нижний, обрабатываются и к ним добавляется служебная информация. Процесс добавления служебной информации более низкого уровня называется — инкапсуляция.
Обратный процесс, когда данные переходят на более высокий уровень, при этом служебные данные более низкого уровня отбрасываются называется — декапсуляция.
Дальше пробежимся по каждому уровню, сверху вниз.
7 уровень — прикладной
Это самый высокий уровень. На нём работают пользовательские приложения, установленные на компьютере, сервере или телефоне. Здесь работают, например: клиент электронной почты и почтовый сервер, программный телефон и сервер ip-телефонии, браузер и web-сервер.
Протоколы этого уровня: DNS, HTTP, POP3, IMAP, SMTP, SIP, FTP, CIFS, NFS, DHCP и подобные.
Передающиеся данные на этом уровне называются сообщениями.
6 уровень — представления
На этом уровне происходит преобразование данных. Например шифрование или сжатие. Данные должны быть представлены в определённом виде, чтобы принимающее их приложение смогло эти данные обработать.
Здесь, теоретически, данные могут преобразовываться в разные форматы, например GIF или MP4. Или данные могут быть зашифрованы и расшифрованы.
На этом уровне работают протоколы: SSL и TLS.
5 уровень — сеансовый
Этот уровень отвечает за создание и уничтожение сеансов связи. Чтобы сеанс установился и поддерживался, на этом же уровне работает согласование кодеков.
4 уровень — транспортный
Этот уровень обеспечивает передачу данных по сети. То есть данные ещё не передаются физически, но уже происходит договорённость, как данные будут передаваться.
Здесь работают два протокола TCP и UDP. Эти протоколы применяются для разного типа трафика. Если трафик чувствителен к потерям, то используют TCP, который гарантирует доставку данных. А если трафику нужна более быстрая передача данных и можно пожертвовать потерями данных, то используют UDP.
На этом уровне сообщение делится на сегменты (если выбран протокол TCP) или на дейтаграммы (если выбран протокол UDP). В качестве служебной информации к каждому сегменту или дейтаграмме добавляется сетевой порт источника и назначения. Такие порты прослушивают процессы на хостах (компьютерах, серверах или телефонах).
3 уровень — сетевой
Этот уровень тоже отвечает за передачу данных. Но в отличии от транспортного уровня, где происходит выбор надёжности или скорости отправки данных. Задача этого уровня — ip-адресация и маршрутизация.
На этом уровне пришедший сверху сегмент или дейтаграмма делится на пакеты. А в качестве служебной информации к каждому пакету добавляется ip-адреса отправителя и получателя.
IP-адрес — это сетевой адрес устройства в Интернете.
Именно на этом уровне происходит маршрутизация пакетов, поэтому здесь расположились протоколы маршрутизации: BGP, OSPF, RIP, EIGRP.
Также на этом уровне работает протокол: ICMP, именно с его помощью работает утилита PING.
Ну и конечно же здесь работает протокол IP, который вводит ip-адреса.
А главное устройство, работающее на этом уровне — Маршрутизатор (Router).
2 уровень — канальный
Этот уровень разбивает пакеты, пришедшие с сетевого уровня на кадры (Frame). В качестве дополнительной информации каждому кадру назначаются физические адреса (mac-адреса) отправителя и получателя.
MAC-адрес — это физический адрес устройства в одном широковещательном домене.
Помимо физической адресации, этот уровень отвечает за обнаружение и исправление ошибок. То есть каждый кадр проверяется на ошибки и происходит попытка исправления ошибок разными способами (а иногда и не происходит).
На этом уровне работают коммутаторы (Switch) и мосты (Bridge). Эти устройства передают кадры определённому получателю а не всем.
На этом уровне работают протоколы: CDP, PPP, MPLS. Также здесь обитает технология Ethernet, которая занимает этот уровень и более низкий уровень.
1 уровень — физический
Это самый нижний уровень модели OSI. На этом уровне происходит разбивка кадров на биты. Затем биты кодируются в сигналы, а сигналы передаются по среде передачи. По проводам можно передавать сигналы с помощью электрического тока или света. Или можно передавать сигналы с помощью радио-волн.
Среди технологий, работающих на этом уровне, можно выделить Ethernet. Он описывает, как сигналы должны кодироваться, передаваться по проводам и так далее. Ещё на этом уровне работают: Bluetooth и Wi-Fi.
Сетевые устройства, которые здесь работают, это: концентраторы (Hub) и повторители (Repeater). Эти устройства работают с сигналами не вникая в логику передачи. Так как здесь нет никаких адресов, то сигнал просто передаётся с одного порта на другой.
Итоговая картинка
В итоге все полученные знания выше можно представить на следующем рисунке:
Модель TCP/IP
Эталонная модель сетевых взаимодействий OSI — это теоретическая модель, которая хорошо описывает, как сетевые устройства должны общаться друг с другом. Но на практике, разрабатывая сетевые протоколы, вместо OSI используют другую модель сетевых взаимодействий — TCP/IP.
Помимо модели сетевых взаимодействий TCP/IP есть стек протоколов TCP/IP. В этот стек входит множество сетевых протоколов, которые хорошо встраиваются в одноименную модель.
Модель TCP/IP делит процесс передачи данных на 4 уровня вместо 7 уровней OSI:
4 уровень — прикладной
Прикладной уровень в модели TCP/IP является самым верхним. Здесь работают приложения, установленные на компьютере, телефоне или сервере. Но в отличии от модели OSI здесь же происходит согласование данных (шифрование, сжатие, выбор формата данных и выбор кодеков) и установка сеансов связи.
Например, здесь работают протоколы SIP, DHCP, HTTP и подобные.
3 уровень — транспортный
Этот уровень не отличается от транспортного уровня в модели OSI. Здесь также работают 2 протокола: TCP и UDP. А в качестве служебной информации выступают сетевые порты.
2 уровень — интернет (межсетевой)
Интернет состоит из множества локальных сетей, объединённых между собой маршрутизаторами.
Этот уровень не отличается от сетевого уровня модели OSI. Здесь реализуется ip-адресация и маршрутизация, за счет введения ip-адресов.
1 уровень — сетевых интерфейсов
Этот уровень вобрал в себя физический и канальный уровни модели OSI. Это аппаратный уровень, на котором работают сетевые карты, коммутаторы, повторители, концентраторы.
Также на этом уровне находятся среды передачи информации, провода, радиоволны. Но не просто среды, а технологии, которые эти среды используют: Ethernet, Wi-Fi, DSL, Bluetooth.
Также на этом уроне можно обнаруживать или исправлять ошибки, возникшие при передаче данных.
В этой статье вы познакомитесь с сетевыми моделями OSI и TCP/IP. OSI — это 7 уровневая модель. А TCP/IP — 4 уровневая модель
Что такое TCP/IP и как работает этот протокол
Протокол TCP/IP – это целая сетевая модель, описывающая способ передачи данных в цифровом виде. На правилах, включенных в нее, базируется работа интернета и локальных сетей независимо от их назначения и структуры.
Что такое TCP/IP
Произошло наименование протокола от сокращения двух английских понятий – Transmission Control Protocol и Internet Protocol. Набор правил, входящий в него, позволяет обрабатывать как сквозную передачу данных, так и другие детали этого механизма. Сюда входит формирование пакетов, способ их отправки, получения, маршрутизации, распаковки для передачи программному обеспечению.
Стек протоколов TCP/IP был создан в 1972 году на базе NCP (Network Control Protocol), в январе 1983 года он стал официальным стандартом для всего интернета. Техническая спецификация уровней взаимодействия описана в документе RFC 1122.
В составе стека есть и другие известные протоколы передачи данных – UDP, FTP, ICMP, IGMP, SMTP. Они представляют собой частные случаи применения технологии: например, у SMTP единственное предназначение заключается в отправке электронных писем.
Уровни модели TCP/IP
Протокол TCP/IP основан на OSI и так же, как предшественник, имеет несколько уровней, которые и составляют его архитектуру. Всего выделяют 4 уровня – канальный (интерфейсный), межсетевой, транспортный и прикладной.
Канальный (сетевой интерфейс)
Аппаратный уровень обеспечивает взаимодействие сетевого оборудования Ethernet и Wi-Fi. Он соответствует физическому из предыдущего стандарта OSI. Здесь задача состоит в кодировании информации, ее делению на пакеты и отправке по нужному каналу. Также измеряются параметры сигнала вроде задержки ответа и расстояния между хостами.
Межсетевой (Internet Layer)
Интернет состоит из множества локальных сетей, объединенных между собой как раз за счет протокола связи TCP/IP. Межсетевой уровень регламентирует взаимодействие между отдельными подсетями. Маршрутизация осуществляется путем обращения к определенному IP-адресу с использованием маски.
Если хосты находятся в одной подсети, маркируемой одной маской, данные передаются напрямую. В противном случае информация «путешествует» по целой цепочке промежуточных звеньев, пока не достигнет нужной точки. Назначение IP-адреса проводится по стандарту IPv4 или IPv6 (они не совместимы между собой).
Транспортный уровень (Transport Layer)
Следующий уровень отвечает за контроль доставки, чтобы не возникало дублей пакетов данных. В случае обнаружения потерь или ошибок информация запрашивается повторно. Такой подход дает возможность полностью автоматизировать процессы независимо от скорости и качества связи между отдельными участками интернета или внутри конкретной подсети.
Протокол TCP отличается большей достоверностью передачи данных по сравнению с тем же UDP, который подходит только для передачи потокового видео и игровой графики. Там некритичны потери части пакетов, чего нельзя сказать о копировании программных файлов и документов. На этом уровне данные не интерпретируются.
Прикладной уровень (Application Layer)
Здесь объединены 3 уровня модели OSI – сеансовый, представления и прикладной. На него ложатся задачи по поддержанию сеанса связи, преобразованию данных, взаимодействию с пользователем и сетью. На этом уровне применяются стандарты интерфейса API, позволяющего передавать команды на выполнение определенных задач.
Возможно и использование «производных» протоколов. Например, для открытия сайтов используется HTTPS, при отправке электронной почты – SMTP, для назначения IP-адресов – DHCP. Такой подход упрощает программирование, снижает нагрузку на сеть, увеличивает скорость обработки команд и передачи данных.
Порты и сокеты – что это и зачем они нужны
Процессы, работающие на прикладном уровне, «общаются» с транспортным, но они видны ему как «черные ящики» с зашифрованной информацией. Зато он понимает, на какой IP-адрес адресованы данные и через какой порт надо их принимать. Этого достаточно для точного распределения пакетов по сети независимо от месторасположения хостов. Порты с 0 до 1023 зарезервированы операционными системами, остальные, в диапазоне от 1024 до 49151, условно свободны и могут использоваться сторонними приложениями.
Комбинация IP-адреса и порта называется сокетом и используется при идентификации компьютера. Если первый критерий уникален для каждого хоста, второй обычно фиксирован для определенного типа приложений. Так, получение электронной почты проходит через 110 порт, передача данных по протоколу FTP – по 21, открытие сайтов – по 80.
Преобразование IP-адресов в символьные адреса
Технология активно используется для назначения буквенно-цифровых названий веб-ресурсов. При вводе домена в адресной строке браузера сначала происходит обращение к специальному серверу DNS. Он всегда прослушивает порт 53 у всех компьютеров, которые подключены к интернету, и по запросу преобразует введенное название в стандартный IP-адрес.
После определения точного местонахождения файлов сайта включается обычная схема работы – от прикладного уровня с кодированием данных до обращения к физическому оборудованию на уровне сетевых интерфейсов. Процесс называется инкапсуляцией информации. На принимающей стороне происходит обратная процедура – декапсуляция.