- What layer is TLS?
- 5 Answers 5
- Sysadminium
- Модель OSI
- 7 уровень — прикладной
- 6 уровень — представления
- 5 уровень — сеансовый
- 4 уровень — транспортный
- 3 уровень — сетевой
- 2 уровень — канальный
- 1 уровень — физический
- Итоговая картинка
- Модель TCP/IP
- 4 уровень — прикладной
- 3 уровень — транспортный
- 2 уровень — интернет (межсетевой)
- 1 уровень — сетевых интерфейсов
What layer is TLS?
TLS stands for «transport layer security». And the list of IP protocol numbers includes «TLSP» as «Transport Layer Security Protocol». These two things would leave me to believe that TLS is a transport layer protocol. However, most people seem to talk about TLS over TCP. Wikipedia lists it as an «application layer» protocol. This is further complicated by the fact that TCP doesn’t have anything like a protocol number: it just packages up raw bytes, so how do you parse out that you are getting a TLS packet, vs a packet that just starts with 0x14 — 0x18 or equivalent?
This doesn’t answer your primary question, but. TCP has ports. They’re not protocol numbers, but they often fill that role, because on most servers each net-facing service will have a dedicated port, and it knows what sort of packets to expect on that port.
5 Answers 5
The OSI model, that categorizes communication protocols into successive layers, is just that: a model. It is an attempt at pushing a physical reality into neatly defined labelled boxes. Nobody ever guaranteed that it works.
Historically, that model was built and published when the ISO was pushing for adoption of its own network protocols. They lost. The World, as a whole, preferred to use the much more simple TCP/IP. The «model» survived the death of its initial ecosystem, and many people have tried to apply it to TCP/IP. It is even commonly taught that way. However, the model does not match well TCP/IP. Some things don’t fit in the layers, and SSL/TLS is one of them.
If you look at the protocol details:
- SSL/TLS uses an underlying transport medium that provides a bidirectional stream of bytes. That would put it somewhere above layer 4.
- SSL/TLS organizes data as records, that may contain, in particular, handshake messages. Handshake messages look like layer 5. This would put SSL/TLS at layer 6 or 7.
- However, what SSL/TLS conveys is «application data», which is, in fact, a bidirectional stream of bytes. Applications that use SSL/TLS really use it as a transport protocol. They then use their own data representation and messages and semantics within that «application data». Therefore, SSL/TLS cannot be, in the OSI model, beyond layer 4.
Thus, in the OSI model, SSL/TLS must be in layer 6 or 7, and, at the same time, in layer 4 or below. The conclusion is unescapable: the OSI model does not work with SSL/TLS. TLS is not in any layer.
(This does not prevent some people from arbitrarily pushing TLS in a layer. Since it has no practical impact — this is just a model — you can conceptually declare that TLS is layer 2, 5, or 17; it won’t be proven false.)
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 уровневая модель