Wiki Барышева Анна

Материал из Wiki
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «= Сетевая модель OSI = '''Сетевая модель OSI''' (Open Systems Interconnection) — эталонная модель взаимодейс…»)
 
 
Строка 86: Строка 86:
  
 
== Примечания ==
 
== Примечания ==
{{примечания}}
 
 
* {{книга | автор = Таненбаум Э. | заглавие = Компьютерные сети | год = 2020 | страницы = 78-95}}
 
* {{книга | автор = Таненбаум Э. | заглавие = Компьютерные сети | год = 2020 | страницы = 78-95}}
 
* {{стандарт | автор = ISO/IEC | номер = 7498-1 | заглавие = Модель OSI | год = 1994}}
 
* {{стандарт | автор = ISO/IEC | номер = 7498-1 | заглавие = Модель OSI | год = 1994}}

Текущая версия на 11:37, 16 декабря 2025

Содержание

[править] Сетевая модель OSI

Сетевая модель OSI (Open Systems Interconnection) — эталонная модель взаимодействия открытых систем. Разработана ISO в 1984 году. Описывает семь уровней, через которые данные передаются по сети.

TOC

[править] Уровни модели

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

[править] Верхние уровни (прикладные)

  1. Прикладной уровень (Application) — интерфейс пользователя (HTTP, FTP).
  2. Уровень представления (Presentation) — шифрование, сжатие данных.
  3. Сеансовый уровень (Session) — управление сеансами связи.

[править] Нижние уровни (транспортные)

  1. Транспортный уровень (Transport) — надёжная доставка (TCP, UDP).
  2. Сетевой уровень (Network) — маршрутизация и IP-адресация.
  3. Канальный уровень (Data Link) — доступ к среде, MAC-адреса.
  4. Физический уровень (Physical) — передача битов по кабелю.

[править] Формальное описание процесса инкапсуляции

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

D_{app} \xrightarrow{+H_7} D_7 \xrightarrow{+H_6} D_6 \xrightarrow{+H_5} D_5 \xrightarrow{+H_4} D_4 \xrightarrow{+H_3} D_3 \xrightarrow{+H_2} D_2 \xrightarrow{+H_1} D_1

где:

  • D_{app} — исходные данные приложения,
  • H_i — заголовок i-го уровня,
  • D_i — данные после обработки на уровне i.

Общий размер передаваемого кадра: S_{\text{frame}} = S_{\text{data}} + \sum_{i=1}^{7} S_{H_i} + S_{\text{trailer}}

[править] Пример работы модели

Рассмотрим передачу HTTP-запроса через сеть Ethernet.

[править] Имитация инкапсуляции на Python

<syntaxhighlight lang="python"> def encapsulate_osi(data: str, protocol_headers: dict) -> dict:

   """Моделирует процесс инкапсуляции по уровням OSI."""
   packet = {"data": data}
   
   # Уровни с 7 по 1 (сверху вниз)
   levels = [
       "Прикладной (HTTP)",
       "Представления (TLS)",
       "Сеансовый (SSL)",
       "Транспортный (TCP)",
       "Сетевой (IP)",
       "Канальный (Ethernet)",
       "Физический (биты)"
   ]
   
   for level in levels:
       header = protocol_headers.get(level, "")
       packet[level] = f"{header}{packet.get('data', data)}"
   
   return packet
  1. Пример использования

if name == "main":

   http_request = "GET /index.html HTTP/1.1"
   headers = {
       "Прикладной (HTTP)": "[HTTP-Header]",
       "Транспортный (TCP)": "[TCP-Segment]",
       "Сетевой (IP)": "[IP-Packet]",
       "Канальный (Ethernet)": "[Ethernet-Frame]"
   }
   
   result = encapsulate_osi(http_request, headers)
   for level, value in result.items():
       if level != "data":
           print(f"{level}: {value[:50]}...")

</syntaxhighlight>

[править] Сравнение с моделью TCP/IP

Модель TCP/IP — практическая реализация, где уровни OSI объединены:

  • Прикладной + Представления + Сеансовый → Прикладной (TCP/IP)
  • Транспортный → Транспортный
  • Сетевой → Интернет
  • Канальный + Физический → Сетевой интерфейс

Процесс передачи данных можно представить как поток, проходящий через уровни: Данные → [Уровень 7] → Данные₇ → [Уровень 6] → Данные₆ → ... → [Уровень 1] → Биты

Где каждый уровень добавляет свой заголовок (инкапсуляция).

[править] Примечания

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты