Модель OSI - основной момент для понимания работы сети.
Наглядно как происходит передача данных от одного компьютера к другому:
Итак, есть 7 уровней
7. Физический (L1)
6. Канальный (L2)
5. Сетевой (L3)
4. Транспортный (L4)
3. Сеансовый (L5)
2. Представительский (L6)
1. Прикладной. (L7)
L1На первом L1 (прикладном уровне) - электрические сигналы выкладывают биты
L2На втором L2 (канальном) -
Рабочая единица - кадры (представим как коробочки), и сверху укладываются заголовки (как марки на коробки перед посылкой) - ложатся: (MAC-адрес) и другая доп инфа.
Этот уровень взаимодействует с L1 (физическим) и отвечает за взаимодействия между каналами.
При приемке из сети:
- биты формируются в кадры
- проверяется целостность кадра, если появилась ошибка и что-то не дошло, отправляется запрос на повторную отправку и тд
Свитчи и коммутаторы работают на этом уровне:
- с каким портом соединение (port)
- какому MAC-адрес отрубить интернете
Протоколы 2 уровня L2:
- Econet, IEEE 802.3 (Ethernet),
- ARCnet
- ARP
- Point-to-Point Protocol (PPP),
- Point-to-Point Protocol over Ethernet (PPPoE),
- IEEE 802.11 wireless LAN,
- ATM,
- Controller Area Network (CAN),
- Ethernet Automatic Protection Switching (EAPS),
- Fiber Distributed Data Interface (FDDI),
- Frame Relay,
- High-Level Data Link Control (HDLC),
- IEEE 802.2 (предоставляет функции LLC для подуровня IEEE 802 MAC),
- Link Access Procedures,
- D channel (LAPD),
- LocalTalk,
- Multiprotocol Label Switching (MPLS),
- Serial Line Internet Protocol (SLIP, устарел),
- StarLan,
- Token ring,
- Unidirectional Link Detection (UDLD),
- x.25
Обычно этот уровень обеспечивает драйвер сетевой карты.
L3На третьем L3 (сетевом): происходит основная магия, тут за дело берутся сетевые протоколы и выполняется маршрутизация.
- находится самый короткий путь доставки данных
- детектируются неполадки в сети
Рабочая единица: пакет
Визуальный пример: То есть берется наша посыльная коробка и к ней сверху приклеивается бумажка, в которой указано, что куда и как...
Пакет состоит:
- заголовок (header)
- пользовательские данные, которые передаются (или "полезная нагрузка" - payload).
На самом деле, пакеты этого уровня, упаковываются во фреймы L2 и далее отправляются через L1 по сети, согласно заголовкам, которые прописаны на L3 (тут)Протоколы L3 (вам расскажет http://saitsozdanie.ru)- IP/IPv4/IPv6 (Internet Protocol),
- IPX (Internetwork Packet Exchange,
- протокол межсетевого обмена),
- X.25 (частично этот протокол реализован на уровне 2),
- CLNP (сетевой протокол без организации соединений),
- IPsec (Internet Protocol Security).
- Протоколы маршрутизации — RIP (Routing Information Protocol),
- OSPF (Open Shortest Path First).
L4На четвертом L4 (транспортном уровне) - происходит контроль передачи данных.
На L3 - если мы пакет собрали, тот тут надо его передать и ПРОСЛЕДИТЬ.
Но разные протоколы обеспечивают СВОЙ уровень слежения за процессом передачи:
- протоколу UDP - это не особо интересно и он может потерять пару пакетов или продублировать (поэтому его могут использовать в играх или конференциях)
- а вот TCP уже следит за каждым пакетом, может распределять фреймы по пакетам, в разных порядках и тд, но до получателя ОБЯЗУЕТСЯ донести все как передано.
Протоколы L4 :
- UDP (User Datagram Protocol)
- TCP (Transmission Control Protocol)
- NBF (NetBIOS Frames protocol)
- ATP (AppleTalk Transaction Protocol),
- CUDP (Cyclic UDP),
- FCP (Fibre Channel Protocol),
- IL (IL Protocol)
- NCP (NetWare Core Protocol),
- SCTP (Stream Control Transmission Protocol),
- SPX (Sequenced Packet Exchange),
- SST (Structured Stream Transport),
- DCCP (Datagram Congestion Control Protocol)
L5На пятом L5 (сеансовом уровне) - происходит:
- разрешение соединения
- открытие/закрытие сеансов связи (сессий)
- поддержание соединения долгое время между приложениями
- обмен информацией
Протоколы L5 :
- SCP (Session Control Protocol)
- L2TP (Layer 2 Tunneling Protocol)
- NetBIOS (Network Basic Input Output System)
- ISO-SP (OSI Session Layer Protocol (X.225, ISO 8327))
- PPTP (Point-to-Point Tunneling Protocol)
- SDP (Sockets Direct Protocol)
- L2F (Layer 2 Forwarding Protocol)
- RTCP (Real-time Transport Control Protocol)
- ADSP (AppleTalk Data Stream Protocol)
- ASP (AppleTalk Session Protocol)
- H.245 (Call Control Protocol for Multimedia Communication)
- iSNS (Internet Storage Name Service)
- PAP (Password Authentication Protocol)
- RPC (Remote Procedure Call Protocol)
- SMPP (Short Message Peer-to-Peer)
- ZIP (Zone Information Protocol), ...
L6На шестом L6 (представительском уровне) происходит преобразование протоколов из одного в другой, кодирование/декодирование данных для правильного представления, обеспечивает связь между соседними уровнями.
Данные от приложений преобразуются в вид для протоколов, которые передают данные в сеть и наоборот.
Тут происходит сжатие/распаковка или шифрование/дешифрование,
Протоколы L6 :
- AFP — Apple Filing Protocol
- X.25 PAD — Packet Assembler/Disassembler Protocol
- ICA — Independent Computing Architecture
- XDR — eXternal Data Representation
- LPP — Lightweight Presentation Protocol
- NCP — NetWare Core Protocol
- NDR — Network Data Representation
L7На седьмом L7 (прикладном уровне) существуют приложения, через которые пользователь может взаимодействовать с сетью - тот же браузер.
Тут происходит:
- формирование запросов для протоколов уровня L6
- предоставление приложениям информации об ошибках
- пользователь имеет возможность передавать почту и данные (взаимодействие с сетью)
Протоколы L7 :
RDP, HTTP, SMTP, SNMP, POP3, FTP, XMPP, OSCAR, Modbus, SIP, TELNET и другие.
Лучше все смотреть на английском
Есть 2 уровня взаимодействия приложений:
- горизонтальный
- вертикальный
В горизонтальной модели двум программам требуется
общий протокол для обмена данными. В вертикальной модели соседние уровни обмениваются данными с использованием интерфейсов прикладных программ
API (Application Programming Interface).
Взаимодействие модели OSI и TCP/IP Если кому-то недостаточно смотрим еще Википедию -
https://ru.wikipedia.org/wiki/Сетевая_модель_OSI (собственно оттуда часть информации и взята)